crossnote 0.8.6 → 0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/out/cjs/index.cjs +90 -90
- package/out/esm/index.mjs +53 -53
- package/out/types/src/lib/block-attributes/types.d.ts +2 -0
- package/out/types/src/lib/block-info/index.d.ts +2 -2
- package/out/types/src/notebook/types.d.ts +3 -1
- package/out/types/src/render-enhancers/embedded-local-images.d.ts +2 -2
- package/out/types/src/render-enhancers/embedded-svgs.d.ts +2 -2
- package/out/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- /package/out/types/src/lib/block-info/{normalizeBlockInfo.d.ts → normalize-block-info.d.ts} +0 -0
- /package/out/types/src/lib/block-info/{parseBlockInfo.d.ts → parse-block-info.d.ts} +0 -0
package/out/esm/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Zn=Object.create;var Nt=Object.defineProperty;var Xn=Object.getOwnPropertyDescriptor;var Jn=Object.getOwnPropertyNames;var Qn=Object.getPrototypeOf,ea=Object.prototype.hasOwnProperty;var ta=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var na=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Jn(t))!ea.call(e,r)&&r!==n&&Nt(e,r,{get:()=>t[r],enumerable:!(a=Xn(t,r))||a.enumerable});return e};var aa=(e,t,n)=>(n=e!=null?Zn(Qn(e)):{},na(t||!e||!e.__esModule?Nt(n,"default",{value:e,enumerable:!0}):n,e));var jn=ta((xs,qe)=>{var _r=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},i=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function u(m){return m instanceof o?new o(m.type,u(m.content),m.alias):Array.isArray(m)?m.map(u):m.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(u){return Object.prototype.toString.call(u).slice(8,-1)},objId:function(u){return u.__id||Object.defineProperty(u,"__id",{value:++n}),u.__id},clone:function u(m,b){var E,S;switch(b=b||{},r.util.type(m)){case"Object":if(S=r.util.objId(m),b[S])return b[S];for(var _ in E={},b[S]=E,m)m.hasOwnProperty(_)&&(E[_]=u(m[_],b));return E;case"Array":return S=r.util.objId(m),b[S]?b[S]:(E=[],b[S]=E,m.forEach(function(A,k){E[k]=u(A,b)}),E);default:return m}},getLanguage:function(u){for(;u;){var m=t.exec(u.className);if(m)return m[1].toLowerCase();u=u.parentElement}return"none"},setLanguage:function(u,m){u.className=u.className.replace(RegExp(t,"gi"),""),u.classList.add("language-"+m)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(E){var u=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(E.stack)||[])[1];if(u){var m=document.getElementsByTagName("script");for(var b in m)if(m[b].src==u)return m[b]}return null}},isActive:function(u,m,b){for(var E="no-"+m;u;){var S=u.classList;if(S.contains(m))return!0;if(S.contains(E))return!1;u=u.parentElement}return!!b}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(u,m){var b=r.util.clone(r.languages[u]);for(var E in m)b[E]=m[E];return b},insertBefore:function(u,m,b,E){var S=(E=E||r.languages)[u],_={};for(var A in S)if(S.hasOwnProperty(A)){if(A==m)for(var k in b)b.hasOwnProperty(k)&&(_[k]=b[k]);b.hasOwnProperty(A)||(_[A]=S[A])}var T=E[u];return E[u]=_,r.languages.DFS(r.languages,function(y,w){w===T&&y!=u&&(this[y]=_)}),_},DFS:function u(m,b,E,S){S=S||{};var _=r.util.objId;for(var A in m)if(m.hasOwnProperty(A)){b.call(m,A,m[A],E||A);var k=m[A],T=r.util.type(k);T!=="Object"||S[_(k)]?T!=="Array"||S[_(k)]||(S[_(k)]=!0,u(k,b,A,S)):(S[_(k)]=!0,u(k,b,null,S))}}},plugins:{},highlightAll:function(u,m){r.highlightAllUnder(document,u,m)},highlightAllUnder:function(u,m,b){var E={callback:b,container:u,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",E),E.elements=Array.prototype.slice.apply(E.container.querySelectorAll(E.selector)),r.hooks.run("before-all-elements-highlight",E);for(var S,_=0;S=E.elements[_++];)r.highlightElement(S,m===!0,E.callback)},highlightElement:function(u,m,b){var E=r.util.getLanguage(u),S=r.languages[E];r.util.setLanguage(u,E);var _=u.parentElement;_&&_.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(_,E);var A={element:u,language:E,grammar:S,code:u.textContent};function k(y){A.highlightedCode=y,r.hooks.run("before-insert",A),A.element.innerHTML=A.highlightedCode,r.hooks.run("after-highlight",A),r.hooks.run("complete",A),b&&b.call(A.element)}if(r.hooks.run("before-sanity-check",A),(_=A.element.parentElement)&&_.nodeName.toLowerCase()==="pre"&&!_.hasAttribute("tabindex")&&_.setAttribute("tabindex","0"),!A.code)return r.hooks.run("complete",A),void(b&&b.call(A.element));if(r.hooks.run("before-highlight",A),A.grammar)if(m&&e.Worker){var T=new Worker(r.filename);T.onmessage=function(y){k(y.data)},T.postMessage(JSON.stringify({language:A.language,code:A.code,immediateClose:!0}))}else k(r.highlight(A.code,A.grammar,A.language));else k(r.util.encode(A.code))},highlight:function(u,m,b){var E={code:u,grammar:m,language:b};if(r.hooks.run("before-tokenize",E),!E.grammar)throw new Error('The language "'+E.language+'" has no grammar.');return E.tokens=r.tokenize(E.code,E.grammar),r.hooks.run("after-tokenize",E),o.stringify(r.util.encode(E.tokens),E.language)},tokenize:function(u,m){var b=m.rest;if(b){for(var E in b)m[E]=b[E];delete m.rest}var S=new d;return c(S,S.head,u),l(u,S,m,S.head,0),function(_){for(var A=[],k=_.head.next;k!==_.tail;)A.push(k.value),k=k.next;return A}(S)},hooks:{all:{},add:function(u,m){var b=r.hooks.all;b[u]=b[u]||[],b[u].push(m)},run:function(u,m){var b=r.hooks.all[u];if(b&&b.length)for(var E,S=0;E=b[S++];)E(m)}},Token:o};function o(u,m,b,E){this.type=u,this.content=m,this.alias=b,this.length=0|(E||"").length}function s(u,m,b,E){u.lastIndex=m;var S=u.exec(b);if(S&&E&&S[1]){var _=S[1].length;S.index+=_,S[0]=S[0].slice(_)}return S}function l(u,m,b,E,S,_){for(var A in b)if(b.hasOwnProperty(A)&&b[A]){var k=b[A];k=Array.isArray(k)?k:[k];for(var T=0;T<k.length;++T){if(_&&_.cause==A+","+T)return;var y=k[T],w=y.inside,N=!!y.lookbehind,C=!!y.greedy,v=y.alias;if(C&&!y.pattern.global){var O=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,O+"g")}for(var $=y.pattern||y,U=E.next,B=S;U!==m.tail&&!(_&&B>=_.reach);B+=U.value.length,U=U.next){var x=U.value;if(m.length>u.length)return;if(!(x instanceof o)){var G,I=1;if(C){if(!(G=s($,B,u,N))||G.index>=u.length)break;var H=G.index,z=G.index+G[0].length,L=B;for(L+=U.value.length;H>=L;)L+=(U=U.next).value.length;if(B=L-=U.value.length,U.value instanceof o)continue;for(var P=U;P!==m.tail&&(L<z||typeof P.value=="string");P=P.next)I++,L+=P.value.length;I--,x=u.slice(B,L),G.index-=B}else if(!(G=s($,0,x,N)))continue;H=G.index;var D=G[0],M=x.slice(0,H),V=x.slice(H+D.length),he=B+x.length;_&&he>_.reach&&(_.reach=he);var Ae=U.prev;if(M&&(Ae=c(m,Ae,M),B+=M.length),p(m,Ae,I),U=c(m,Ae,new o(A,w?r.tokenize(D,w):D,v,D)),V&&c(m,U,V),I>1){var Je={cause:A+","+T,reach:he};l(u,m,b,U.prev,B,Je),_&&Je.reach>_.reach&&(_.reach=Je.reach)}}}}}}function d(){var u={value:null,prev:null,next:null},m={value:null,prev:u,next:null};u.next=m,this.head=u,this.tail=m,this.length=0}function c(u,m,b){var E=m.next,S={value:b,prev:m,next:E};return m.next=S,E.prev=S,u.length++,S}function p(u,m,b){for(var E=m.next,S=0;S<b&&E!==u.tail;S++)E=E.next;m.next=E,E.prev=m,u.length-=S}if(e.Prism=r,o.stringify=function u(m,b){if(typeof m=="string")return m;if(Array.isArray(m)){var E="";return m.forEach(function(T){E+=u(T,b)}),E}var S={type:m.type,content:u(m.content,b),tag:"span",classes:["token",m.type],attributes:{},language:b},_=m.alias;_&&(Array.isArray(_)?Array.prototype.push.apply(S.classes,_):S.classes.push(_)),r.hooks.run("wrap",S);var A="";for(var k in S.attributes)A+=" "+k+'="'+(S.attributes[k]||"").replace(/"/g,""")+'"';return"<"+S.tag+' class="'+S.classes.join(" ")+'"'+A+">"+S.content+"</"+S.tag+">"},!e.document)return e.addEventListener&&(r.disableWorkerMessageHandler||e.addEventListener("message",function(u){var m=JSON.parse(u.data),b=m.language,E=m.code,S=m.immediateClose;e.postMessage(r.highlight(E,r.languages[b],b)),S&&e.close()},!1)),r;var g=r.util.currentScript();function f(){r.manual||r.highlightAll()}if(g&&(r.filename=g.src,g.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var h=document.readyState;h==="loading"||h==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return r}(_r);typeof qe<"u"&&qe.exports&&(qe.exports=i),typeof global<"u"&&(global.Prism=i);i.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var r={};r[e]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\\r
|
|
1
|
+
var Xn=Object.create;var Ct=Object.defineProperty;var Jn=Object.getOwnPropertyDescriptor;var Qn=Object.getOwnPropertyNames;var ea=Object.getPrototypeOf,ta=Object.prototype.hasOwnProperty;var na=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var aa=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Qn(t))!ta.call(e,r)&&r!==n&&Ct(e,r,{get:()=>t[r],enumerable:!(a=Jn(t,r))||a.enumerable});return e};var ra=(e,t,n)=>(n=e!=null?Xn(ea(e)):{},aa(t||!e||!e.__esModule?Ct(n,"default",{value:e,enumerable:!0}):n,e));var Wn=na((Cs,qe)=>{var _r=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},i=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function u(m){return m instanceof o?new o(m.type,u(m.content),m.alias):Array.isArray(m)?m.map(u):m.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(u){return Object.prototype.toString.call(u).slice(8,-1)},objId:function(u){return u.__id||Object.defineProperty(u,"__id",{value:++n}),u.__id},clone:function u(m,b){var E,S;switch(b=b||{},r.util.type(m)){case"Object":if(S=r.util.objId(m),b[S])return b[S];for(var _ in E={},b[S]=E,m)m.hasOwnProperty(_)&&(E[_]=u(m[_],b));return E;case"Array":return S=r.util.objId(m),b[S]?b[S]:(E=[],b[S]=E,m.forEach(function(A,k){E[k]=u(A,b)}),E);default:return m}},getLanguage:function(u){for(;u;){var m=t.exec(u.className);if(m)return m[1].toLowerCase();u=u.parentElement}return"none"},setLanguage:function(u,m){u.className=u.className.replace(RegExp(t,"gi"),""),u.classList.add("language-"+m)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(E){var u=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(E.stack)||[])[1];if(u){var m=document.getElementsByTagName("script");for(var b in m)if(m[b].src==u)return m[b]}return null}},isActive:function(u,m,b){for(var E="no-"+m;u;){var S=u.classList;if(S.contains(m))return!0;if(S.contains(E))return!1;u=u.parentElement}return!!b}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(u,m){var b=r.util.clone(r.languages[u]);for(var E in m)b[E]=m[E];return b},insertBefore:function(u,m,b,E){var S=(E=E||r.languages)[u],_={};for(var A in S)if(S.hasOwnProperty(A)){if(A==m)for(var k in b)b.hasOwnProperty(k)&&(_[k]=b[k]);b.hasOwnProperty(A)||(_[A]=S[A])}var T=E[u];return E[u]=_,r.languages.DFS(r.languages,function(y,w){w===T&&y!=u&&(this[y]=_)}),_},DFS:function u(m,b,E,S){S=S||{};var _=r.util.objId;for(var A in m)if(m.hasOwnProperty(A)){b.call(m,A,m[A],E||A);var k=m[A],T=r.util.type(k);T!=="Object"||S[_(k)]?T!=="Array"||S[_(k)]||(S[_(k)]=!0,u(k,b,A,S)):(S[_(k)]=!0,u(k,b,null,S))}}},plugins:{},highlightAll:function(u,m){r.highlightAllUnder(document,u,m)},highlightAllUnder:function(u,m,b){var E={callback:b,container:u,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",E),E.elements=Array.prototype.slice.apply(E.container.querySelectorAll(E.selector)),r.hooks.run("before-all-elements-highlight",E);for(var S,_=0;S=E.elements[_++];)r.highlightElement(S,m===!0,E.callback)},highlightElement:function(u,m,b){var E=r.util.getLanguage(u),S=r.languages[E];r.util.setLanguage(u,E);var _=u.parentElement;_&&_.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(_,E);var A={element:u,language:E,grammar:S,code:u.textContent};function k(y){A.highlightedCode=y,r.hooks.run("before-insert",A),A.element.innerHTML=A.highlightedCode,r.hooks.run("after-highlight",A),r.hooks.run("complete",A),b&&b.call(A.element)}if(r.hooks.run("before-sanity-check",A),(_=A.element.parentElement)&&_.nodeName.toLowerCase()==="pre"&&!_.hasAttribute("tabindex")&&_.setAttribute("tabindex","0"),!A.code)return r.hooks.run("complete",A),void(b&&b.call(A.element));if(r.hooks.run("before-highlight",A),A.grammar)if(m&&e.Worker){var T=new Worker(r.filename);T.onmessage=function(y){k(y.data)},T.postMessage(JSON.stringify({language:A.language,code:A.code,immediateClose:!0}))}else k(r.highlight(A.code,A.grammar,A.language));else k(r.util.encode(A.code))},highlight:function(u,m,b){var E={code:u,grammar:m,language:b};if(r.hooks.run("before-tokenize",E),!E.grammar)throw new Error('The language "'+E.language+'" has no grammar.');return E.tokens=r.tokenize(E.code,E.grammar),r.hooks.run("after-tokenize",E),o.stringify(r.util.encode(E.tokens),E.language)},tokenize:function(u,m){var b=m.rest;if(b){for(var E in b)m[E]=b[E];delete m.rest}var S=new d;return c(S,S.head,u),l(u,S,m,S.head,0),function(_){for(var A=[],k=_.head.next;k!==_.tail;)A.push(k.value),k=k.next;return A}(S)},hooks:{all:{},add:function(u,m){var b=r.hooks.all;b[u]=b[u]||[],b[u].push(m)},run:function(u,m){var b=r.hooks.all[u];if(b&&b.length)for(var E,S=0;E=b[S++];)E(m)}},Token:o};function o(u,m,b,E){this.type=u,this.content=m,this.alias=b,this.length=0|(E||"").length}function s(u,m,b,E){u.lastIndex=m;var S=u.exec(b);if(S&&E&&S[1]){var _=S[1].length;S.index+=_,S[0]=S[0].slice(_)}return S}function l(u,m,b,E,S,_){for(var A in b)if(b.hasOwnProperty(A)&&b[A]){var k=b[A];k=Array.isArray(k)?k:[k];for(var T=0;T<k.length;++T){if(_&&_.cause==A+","+T)return;var y=k[T],w=y.inside,N=!!y.lookbehind,C=!!y.greedy,v=y.alias;if(C&&!y.pattern.global){var O=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,O+"g")}for(var $=y.pattern||y,U=E.next,B=S;U!==m.tail&&!(_&&B>=_.reach);B+=U.value.length,U=U.next){var x=U.value;if(m.length>u.length)return;if(!(x instanceof o)){var G,I=1;if(C){if(!(G=s($,B,u,N))||G.index>=u.length)break;var H=G.index,z=G.index+G[0].length,L=B;for(L+=U.value.length;H>=L;)L+=(U=U.next).value.length;if(B=L-=U.value.length,U.value instanceof o)continue;for(var P=U;P!==m.tail&&(L<z||typeof P.value=="string");P=P.next)I++,L+=P.value.length;I--,x=u.slice(B,L),G.index-=B}else if(!(G=s($,0,x,N)))continue;H=G.index;var D=G[0],M=x.slice(0,H),V=x.slice(H+D.length),he=B+x.length;_&&he>_.reach&&(_.reach=he);var Ae=U.prev;if(M&&(Ae=c(m,Ae,M),B+=M.length),p(m,Ae,I),U=c(m,Ae,new o(A,w?r.tokenize(D,w):D,v,D)),V&&c(m,U,V),I>1){var Je={cause:A+","+T,reach:he};l(u,m,b,U.prev,B,Je),_&&Je.reach>_.reach&&(_.reach=Je.reach)}}}}}}function d(){var u={value:null,prev:null,next:null},m={value:null,prev:u,next:null};u.next=m,this.head=u,this.tail=m,this.length=0}function c(u,m,b){var E=m.next,S={value:b,prev:m,next:E};return m.next=S,E.prev=S,u.length++,S}function p(u,m,b){for(var E=m.next,S=0;S<b&&E!==u.tail;S++)E=E.next;m.next=E,E.prev=m,u.length-=S}if(e.Prism=r,o.stringify=function u(m,b){if(typeof m=="string")return m;if(Array.isArray(m)){var E="";return m.forEach(function(T){E+=u(T,b)}),E}var S={type:m.type,content:u(m.content,b),tag:"span",classes:["token",m.type],attributes:{},language:b},_=m.alias;_&&(Array.isArray(_)?Array.prototype.push.apply(S.classes,_):S.classes.push(_)),r.hooks.run("wrap",S);var A="";for(var k in S.attributes)A+=" "+k+'="'+(S.attributes[k]||"").replace(/"/g,""")+'"';return"<"+S.tag+' class="'+S.classes.join(" ")+'"'+A+">"+S.content+"</"+S.tag+">"},!e.document)return e.addEventListener&&(r.disableWorkerMessageHandler||e.addEventListener("message",function(u){var m=JSON.parse(u.data),b=m.language,E=m.code,S=m.immediateClose;e.postMessage(r.highlight(E,r.languages[b],b)),S&&e.close()},!1)),r;var g=r.util.currentScript();function f(){r.manual||r.highlightAll()}if(g&&(r.filename=g.src,g.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var h=document.readyState;h==="loading"||h==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return r}(_r);typeof qe<"u"&&qe.exports&&(qe.exports=i),typeof global<"u"&&(global.Prism=i);i.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var r={};r[e]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\\r
|
|
2
2
|
()"']|\\\\[^])*)\\)`,"i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(i);i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r
|
|
3
3
|
]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r
|
|
4
4
|
])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r
|
|
@@ -88,7 +88,7 @@ var Zn=Object.create;var Nt=Object.defineProperty;var Xn=Object.getOwnPropertyDe
|
|
|
88
88
|
]|\\\\(?:\r
|
|
89
89
|
|[^]))*")*\\}`;e.languages.tremor["interpolated-string"]={pattern:RegExp('(^|[^\\\\])(?:"""(?:[^"\\\\#]|\\\\[^]|"(?!"")|#(?!\\{)|'+t+`)*"""|"(?:[^"\\\\\r
|
|
90
90
|
#]|\\\\(?:\r
|
|
91
|
-
|[^])|#(?!\\{)|`+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor})(i);i.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},i.hooks.add("before-tokenize",function(e){e.language==="twig"&&i.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),i.hooks.add("after-tokenize",function(e){i.languages["markup-templating"].tokenizePlaceholders(e,"twig")});(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(i);i.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},i.languages.uc=i.languages.uscript=i.languages.unrealscript;i.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/};i.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},i.languages.url=i.languages.uri;(function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})})(i);i.languages.vala=i.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),i.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:i.languages.vala}},string:/[\s\S]+/}}}),i.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}});(function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity})(i);i.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};i.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/};i.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/};i.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},i.languages.vb=i.languages["visual-basic"],i.languages.vba=i.languages["visual-basic"];i.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/};i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};(function(e){var t="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",n="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+t+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",a={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\bcallback\\s+"+t+"\\s*=\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\btypedef\\b\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+t),lookbehind:!0},{pattern:RegExp("(:\\s*)"+t),lookbehind:!0},RegExp(t+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+t),lookbehind:!0},{pattern:RegExp(n+"(?=\\s*(?:\\.{3}\\s*)?"+t+"\\s*[(),;=])"),inside:a}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])r!=="class-name"&&(a[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]})(i);i.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/};i.languages.wiki=i.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:i.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),i.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:i.languages.markup.tag.inside}}}});i.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.mathematica=i.languages.wolfram,i.languages.wl=i.languages.wolfram,i.languages.nb=i.languages.wolfram;i.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},i.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:i.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}};(function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora})(i);(function(e){function t(o,s){e.languages[o]&&e.languages.insertBefore(o,"comment",{"doc-comment":s})}var n=e.languages.markup.tag,a={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},r={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",a),t("fsharp",a),t("vbnet",r)})(i);i.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/};(function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(a){return typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(t).join("")},n=function(a){for(var r=[],o=0;o<a.length;o++){var s=a[o],l=!1;if(typeof s!="string"&&(s.type==="tag"&&s.content[0]&&s.content[0].type==="tag"?s.content[0].content[0].content==="</"?r.length>0&&r[r.length-1].tagName===t(s.content[0].content[1])&&r.pop():s.content[s.content.length-1].content==="/>"||r.push({tagName:t(s.content[0].content[1]),openedBraces:0}):!(r.length>0&&s.type==="punctuation"&&s.content==="{")||a[o+1]&&a[o+1].type==="punctuation"&&a[o+1].content==="{"||a[o-1]&&a[o-1].type==="plain-text"&&a[o-1].content==="{"?r.length>0&&r[r.length-1].openedBraces>0&&s.type==="punctuation"&&s.content==="}"?r[r.length-1].openedBraces--:s.type!=="comment"&&(l=!0):r[r.length-1].openedBraces++),(l||typeof s=="string")&&r.length>0&&r[r.length-1].openedBraces===0){var d=t(s);o<a.length-1&&(typeof a[o+1]=="string"||a[o+1].type==="plain-text")&&(d+=t(a[o+1]),a.splice(o+1,1)),o>0&&(typeof a[o-1]=="string"||a[o-1].type==="plain-text")&&(d=t(a[o-1])+d,a.splice(o-1,1),o--),/^\s+$/.test(d)?a[o]=d:a[o]=new e.Token("plain-text",d,null,d)}s.content&&typeof s.content!="string"&&n(s.content)}};e.hooks.add("after-tokenize",function(a){a.language==="xquery"&&n(a.tokens)})})(i);i.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/};(function(e){function t(s){return function(){return s}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+n.source+")(?!\\d)\\w+\\b",r="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",o="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(/<ALIGN>/g,t(r))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))".replace(/<ID>/g,t(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)".replace(/<TYPE>/g,t(o)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)".replace(/<TYPE>/g,t(o)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(s){s.inside===null&&(s.inside=e.languages.zig)})})(i)});import*as de from"child_process";import*as xt from"path";import da from"sval";import*as _e from"temp";import*as ce from"vm";import*as Lt from"yaml";import*as oe from"fs";import*as Ct from"path";import*as Qe from"request";var ra=process.env.IMGUR_API_URL||"https://api.imgur.com/3/",ia=process.env.IMGUR_CLIENT_ID||"f0ea04148a54268";async function Ot(e,t,n){let a;e.lastIndexOf(".")?a=e.slice(0,e.lastIndexOf(".")):a=e;let r=``;if(!n)return;let o;try{o=oe.readFileSync(n,{encoding:"utf-8"})}catch{o=""}o=`
|
|
91
|
+
|[^])|#(?!\\{)|`+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor})(i);i.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},i.hooks.add("before-tokenize",function(e){e.language==="twig"&&i.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),i.hooks.add("after-tokenize",function(e){i.languages["markup-templating"].tokenizePlaceholders(e,"twig")});(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(i);i.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},i.languages.uc=i.languages.uscript=i.languages.unrealscript;i.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/};i.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},i.languages.url=i.languages.uri;(function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})})(i);i.languages.vala=i.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),i.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:i.languages.vala}},string:/[\s\S]+/}}}),i.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}});(function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity})(i);i.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};i.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/};i.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/};i.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},i.languages.vb=i.languages["visual-basic"],i.languages.vba=i.languages["visual-basic"];i.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/};i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};(function(e){var t="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",n="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+t+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",a={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\bcallback\\s+"+t+"\\s*=\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\btypedef\\b\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+t),lookbehind:!0},{pattern:RegExp("(:\\s*)"+t),lookbehind:!0},RegExp(t+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+t),lookbehind:!0},{pattern:RegExp(n+"(?=\\s*(?:\\.{3}\\s*)?"+t+"\\s*[(),;=])"),inside:a}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])r!=="class-name"&&(a[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]})(i);i.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/};i.languages.wiki=i.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:i.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),i.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:i.languages.markup.tag.inside}}}});i.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.mathematica=i.languages.wolfram,i.languages.wl=i.languages.wolfram,i.languages.nb=i.languages.wolfram;i.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},i.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:i.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}};(function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora})(i);(function(e){function t(o,s){e.languages[o]&&e.languages.insertBefore(o,"comment",{"doc-comment":s})}var n=e.languages.markup.tag,a={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},r={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",a),t("fsharp",a),t("vbnet",r)})(i);i.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/};(function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(a){return typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(t).join("")},n=function(a){for(var r=[],o=0;o<a.length;o++){var s=a[o],l=!1;if(typeof s!="string"&&(s.type==="tag"&&s.content[0]&&s.content[0].type==="tag"?s.content[0].content[0].content==="</"?r.length>0&&r[r.length-1].tagName===t(s.content[0].content[1])&&r.pop():s.content[s.content.length-1].content==="/>"||r.push({tagName:t(s.content[0].content[1]),openedBraces:0}):!(r.length>0&&s.type==="punctuation"&&s.content==="{")||a[o+1]&&a[o+1].type==="punctuation"&&a[o+1].content==="{"||a[o-1]&&a[o-1].type==="plain-text"&&a[o-1].content==="{"?r.length>0&&r[r.length-1].openedBraces>0&&s.type==="punctuation"&&s.content==="}"?r[r.length-1].openedBraces--:s.type!=="comment"&&(l=!0):r[r.length-1].openedBraces++),(l||typeof s=="string")&&r.length>0&&r[r.length-1].openedBraces===0){var d=t(s);o<a.length-1&&(typeof a[o+1]=="string"||a[o+1].type==="plain-text")&&(d+=t(a[o+1]),a.splice(o+1,1)),o>0&&(typeof a[o-1]=="string"||a[o-1].type==="plain-text")&&(d=t(a[o-1])+d,a.splice(o-1,1),o--),/^\s+$/.test(d)?a[o]=d:a[o]=new e.Token("plain-text",d,null,d)}s.content&&typeof s.content!="string"&&n(s.content)}};e.hooks.add("after-tokenize",function(a){a.language==="xquery"&&n(a.tokens)})})(i);i.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/};(function(e){function t(s){return function(){return s}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+n.source+")(?!\\d)\\w+\\b",r="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",o="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(/<ALIGN>/g,t(r))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))".replace(/<ID>/g,t(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)".replace(/<TYPE>/g,t(o)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)".replace(/<TYPE>/g,t(o)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(s){s.inside===null&&(s.inside=e.languages.zig)})})(i)});import*as de from"child_process";import*as Lt from"path";import ca from"sval";import*as _e from"temp";import*as ce from"vm";import*as Dt from"yaml";import*as oe from"fs";import*as Ot from"path";import*as Qe from"request";var ia=process.env.IMGUR_API_URL||"https://api.imgur.com/3/",oa=process.env.IMGUR_CLIENT_ID||"f0ea04148a54268";async function xt(e,t,n){let a;e.lastIndexOf(".")?a=e.slice(0,e.lastIndexOf(".")):a=e;let r=``;if(!n)return;let o;try{o=oe.readFileSync(n,{encoding:"utf-8"})}catch{o=""}o=`
|
|
92
92
|
${r}
|
|
93
93
|
|
|
94
94
|
\`${r}\`
|
|
@@ -97,12 +97,12 @@ ${new Date().toString()}
|
|
|
97
97
|
|
|
98
98
|
---
|
|
99
99
|
|
|
100
|
-
`+o,oe.writeFileSync(n,o,{encoding:"utf-8"})}function
|
|
100
|
+
`+o,oe.writeFileSync(n,o,{encoding:"utf-8"})}function sa(e){return new Promise((t,n)=>{let a={Authorization:`Client-ID ${oa}`};Qe.post({url:`${ia}image`,encoding:"utf8",formData:{image:oe.createReadStream(e)},json:!0,headers:a},(r,o,s)=>{if(r)return n(r);if(s.success){let l=s.data.link;return xt(e,l),t(l)}else return t(s.data.error.message)})})}function la(e){return new Promise((t,n)=>{let a={authority:"sm.ms","user-agent":"crossnote",referer:""};Qe.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:oe.createReadStream(e)},headers:a},(r,o,s)=>{try{if(s=JSON.parse(s),r)return n("Failed to upload image");if(s.code==="error")return n(s.msg);{let l=s.data.url;return xt(e,l),t(l)}}catch{return n("Failed to connect to sm.ms host")}})})}function da(e,t,n,a,r){return new Promise((o,s)=>{if(!t)return s("Error: Qiniu AccessKey is missing");if(!n)return s("Error: Qiniu SecretKey is missing");if(!a)return s("Error: Qiniu Bucket is missing");if(!r)return s("Error: Qiniu Domain is missing");import("qiniu").then(l=>{let d=new l.auth.digest.Mac(t,n),p=new l.rs.PutPolicy({scope:a}).uploadToken(d),g=new l.conf.Config,f=Ot.basename(e),h=new l.form_up.FormUploader(g),u=new l.form_up.PutExtra;return h.putFile(p,f,e,u,(m,b,E)=>{if(m)return s(m.message);if(E.statusCode===200){let _=new l.rs.BucketManager(d,g).publicDownloadUrl(r,f);return o(_)}else return s(E.error)})}).catch(l=>s(l))})}function et(e,{method:t="imgur",qiniu:n={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return t==="imgur"?sa(e):t==="qiniu"?da(e,n.AccessKey,n.SecretKey,n.Bucket,n.Domain):la(e)}_e.track();function J(e){return new Promise((t,n)=>{_e.open(e,(a,r)=>a?n(a.toString()):t(r))})}function se(e){if(process.platform==="win32")return e.match(/^[a-zA-Z]:\\/)&&(e="file:///"+e),e.startsWith("file:///")?de.execFile("explorer.exe",[e]):de.exec(`start ${e}`);process.platform==="darwin"?de.execFile("open",[e]):de.execFile("xdg-open",[e])}function Re(e=""){e.startsWith("---")&&(e=e.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return Dt.parse(e)}catch{return{}}}var Pt=(()=>typeof __dirname<"u"?Lt.resolve(__dirname,"../"):"")();function Mt(e){Pt=e}function F(){return Pt}var tt=null;function Ft(e){tt=e}function j(e,t){return tt&&t?tt(e,t):(e.startsWith("file://")||(e="file:///"+e),e=e.replace(/^file:\/+/,"file:///"),e)}function Q(e){let t=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return e.replace(t,(n,a,r)=>(a&&(r=r.replace(/^file\/+/,"")),process.platform!=="win32"&&!r.startsWith("/")?"/"+r:r))}function Ut(e){let t=globalThis.eval;try{return globalThis.eval=n=>ce.runInThisContext(n),e()}finally{globalThis.eval=t}}function Bt(e){let t=globalThis.Function;try{return globalThis.Function=nt,e()}finally{globalThis.Function=t}}async function $t(e){let t=globalThis.Function,n=globalThis.eval;try{return globalThis.Function=nt,globalThis.eval=a=>ce.runInThisContext(a),await e()}finally{globalThis.eval=n,globalThis.Function=t}}var Ee=e=>e.attributes.cmd===!0?e.language:e.attributes.cmd;function nt(...e){let t="",n=[];if(e.length){t=e[e.length-1];for(let r=0;r<e.length-1;r++)n.push(e[r])}let a=[];for(let r=0,o=n.length;r<o;r++){let s=n[r];typeof s=="string"&&(s=s.split(/\s*,\s*/)),a.push.apply(a,s)}return ce.runInThisContext(`
|
|
101
101
|
(function(${a.join(", ")}) {
|
|
102
102
|
${t}
|
|
103
103
|
})
|
|
104
|
-
`)}nt.prototype=globalThis.Function.prototype;function
|
|
105
|
-
`),array:d}}function
|
|
104
|
+
`)}nt.prototype=globalThis.Function.prototype;function at(){return process.env.IS_VSCODE_WEB_EXTENSION==="true"}function rt(e){if(e=e.trim().replace(/[;,]+$/,""),at()){let t=new ca({sandBox:!0,ecmaVer:2019});return t.run(`exports.result = (${e})`),t.exports.result}else{let t={};return ce.runInNewContext(`result = (${e})`,t),t.result}}import*as ie from"cheerio";import{execFile as Gr}from"child_process";import{copy as qn}from"copy-anything";import Yn from"crypto-js";import*as Y from"fs";import{escape as Xe}from"html-escaper";import*as R from"path";import zr from"request";import*as Zn from"yaml";import{execFile as pa}from"child_process";import{mkdirp as ua}from"mkdirp";import*as ve from"path";function ga(e={},t){let n=e.title||"No Title";t.push("--title",n),e.authors&&t.push("--authors",e.authors),e.cover&&t.push("--cover",e.cover),e.comment&&t.push("--comments",e.comments),e.publisher&&t.push("--publisher",e.publisher),e["book-producer"]&&t.push("--book-producer",e["book-producer"]),e.pubdate&&t.push("--pubdate",e.pubdate),e.language&&t.push("--language",e.language),e.isbn&&t.push("--isbn",e.isbn),e.tags&&t.push("--tags",e.tags),e.series&&t.push("--series",e.series),e.rating&&t.push("--rating",e.rating)}function ma(e={},t){e.asciiize&&t.push("--asciiize"),e["base-font-size"]&&t.push("--base-font-size="+e["base-font-size"]),e["disable-font-rescaling"]&&t.push("--disable-font-rescaling"),e["line-height"]&&t.push("--line-height="+e["line-height"]);let n=72,a=72,r=72,o=72;if(e.margin){let s=e.margin;s instanceof Array?s.length===1?(n=s[0],r=s[0],o=s[0],a=s[0]):s.length===2?(n=s[0],r=s[0],o=s[1],a=s[1]):s.length===4&&(n=s[0],a=s[1],r=s[2],o=s[3]):typeof s=="number"&&(n=s,r=s,o=s,a=s)}else e["margin-top"]&&(n=e["margin-top"]),e["margin-right"]&&(a=e["margin-right"]),e["margin-bottom"]&&(r=e["margin-bottom"]),e["margin-left"]&&(o=e["margin-left"]);t.push("--margin-top="+n),t.push("--margin-bottom="+r),t.push("--margin-left="+o),t.push("--margin-right="+a)}function fa(e={},t){e["no-default-epub-cover"]&&t.push("--no-default-epub-cover"),e["no-svg-cover"]&&t.push("--no-svg-cover"),e["pretty-print"]&&t.push("--pretty-print")}function ba(e={},t){e["paper-size"]&&t.push("--paper-size",e["paper-size"]),e["default-font-size"]&&t.push("--pdf-default-font-size="+e["default-font-size"]),e["header-template"]&&t.push("--pdf-header-template",e["header-template"]),e["footer-template"]&&t.push("--pdf-footer-template",e["footer-template"]),e["page-numbers"]&&t.push("--pdf-page-numbers"),e["pretty-print"]&&t.push("--pretty-print")}function Gt(e,t,n={}){return new Promise((a,r)=>{let o=[e,t,"--level1-toc","//*[@ebook-toc-level-1]/@heading","--level2-toc","//*[@ebook-toc-level-2]/@heading","--level3-toc","//*[@ebook-toc-level-3]/@heading","--no-chapters-in-toc"];ga(n,o),ma(n,o);let s=ve.extname(t).slice(1);s==="epub"?fa(n.epub,o):s==="pdf"&&ba(n.pdf,o),(n.args||[]).forEach(d=>{o.push(d)}),ua(ve.dirname(t)).then(()=>{pa("ebook-convert",o,d=>d?r(d.toString()):a())}).catch(d=>{if(d)return r(d)})})}import*as An from"fs";import{escape as wn}from"html-escaper";import{mkdirp as Ya}from"mkdirp";import*as ne from"path";import ha from"md5";var Ea=e=>ha(e).toString(),K=Ea;import Sa from"uslug";var ee=class{constructor(){this.table={}}generateId(t){let n=(r,o)=>{let s=o.replace(/[!"#$%&'()*+,./:;<=>?@[\\]^`{|}~]/g,"").replace(/^\s/,"").replace(/\s$/,"").replace(/`/g,"~");return(o.match(/^\s+$/)?"~":s)+(r.endsWith(" ")&&!s.endsWith("~")?"~":"")};t=t.trim().replace(/~|。/g,"").replace(/``(.+?)``\s?/g,n).replace(/`(.*?)`\s?/g,n);let a=Sa(t.replace(/\s/g,"~")).replace(/~/g,"-");return this.table[a]>=0?(this.table[a]=this.table[a]+1,a+="-"+this.table[a]):this.table[a]=0,a}};function ya(e,t){let n="";for(let a=0;a<t;a++)n+=e;return n}function zt(e){let t="",n=0,a=/!?\[([^\]]*)\]\(([^)]*)\)|<([^>]*)>([^<]*)<\/([^>]*)>|\[\^([^\]]*)\]/g,r=null;for(;r=a.exec(e);)t+=e.slice(n,r.index),n=r.index+r[0].length,r[0][0]==="<"?t+=r[4]:r[0][0]==="["&&r[0][1]==="^"?t+="":r[0][0]!=="!"?t+=r[1]:t+=r[0];return t+=e.slice(n,e.length),t}function pe(e,t){let n=new ee;if(!e)return{content:"",array:[]};let a=t.ordered,r=t.depthFrom||1,o=t.depthTo||6,s=t.tab||" ",l=t.ignoreLink||!1;if(a&&(s=" "),e=e.filter(g=>g.level>=r&&g.level<=o),!e.length)return{content:"",array:[]};let d=[],c=e[0].level;for(let g of e)g.level<c&&(c=g.level);let p=[];for(let g of e){let f=g.content.trim(),h=g.level,u=g.id||n.generateId(f),m=h-c,b="1";a&&(m>=p.length?p.push(1):m===p.length-1?p[p.length-1]++:(p=p.slice(0,m+1),p.length&&p[p.length-1]++),b=p[p.length-1].toString());let E=`${ya(s,m)}${a?`${b}.`:"-"} ${l?zt(f):`[${zt(f)}](#${u})`}`;d.push(E)}return{content:d.join(`
|
|
105
|
+
`),array:d}}function Ht(e,t,n){if(!e.length)return"";let a=new ee,r=n.depthFrom||1,o=n.depthTo||6;e=e.filter(p=>p.level>=r&&p.level<=o),e=e.map((p,g)=>(p.offset=g,p));let s="",l=e[0].level;for(let p=0;p<e.length;p++)e[p].level<l&&(l=e[p].level);let d=(p,g,f)=>{let h=[];for(let u=f;u<p.length;u++){let m=p[u];if(m.level===g)h.push(m);else{if(m.level<g)break;continue}}return h},c=(p,g)=>{let u="";for(let m=0;m<g.length;m++){let b=g[m];if(b.offset===void 0)continue;let E=d(p,b.level+1,b.offset+1),S=`padding-left:${b.level===l?0:24}px;`,_="padding:0;",A=t(b.content),k=b.id||a.generateId(b.content);E.length?u+=`<details style="${_};${S}" open>
|
|
106
106
|
<summary class="md-toc-link-wrapper">
|
|
107
107
|
<a href="#${k}" class="md-toc-link">${A}</a>
|
|
108
108
|
</summary>
|
|
@@ -120,27 +120,27 @@ ${new Date().toString()}
|
|
|
120
120
|
<div class="md-toc">
|
|
121
121
|
${c(e,d(e,l,0))}
|
|
122
122
|
</div>
|
|
123
|
-
`,s}import*as
|
|
124
|
-
`}}),s(u)})})})}var
|
|
123
|
+
`,s}import*as en from"fs/promises";import*as tn from"less";import*as nn from"papaparse";import*as Z from"path";import an from"request";import*as rn from"temp";import{snakeCase as Ta}from"snake-case";var jt=e=>{if(typeof e!="object")return{};let t=!1,n={...e};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let r=Ta(a);r!==a&&(n[r]=n[a],delete n[a],t=!0)}return t?n:e};var Wt=e=>e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:isNaN(e)?e:parseFloat(e),Vt=(e,t)=>{if(e[t]!=="(")return;let n=1,a=t+1;for(;a<e.length&&(e[a]==="("?n+=1:e[a]===")"&&(n-=1),a+=1,n!==0););return[e.substring(t,a),a,"stringWithBrackets"]},qt=(e,t)=>{let n=e[t];if(!"'\"`".includes(n))return;let a=t+1,r=[];for(;a<e.length;){if(e[a]==="\\"){a+1<e.length&&r.push(e[a+1]),a+=2;continue}if(e[a]===n){a+=1;break}r.push(e[a]),a+=1}return[r.join(""),a,"stringInQuotes"]},ka=/^[^,;=\s]$/,Yt=(e,t)=>{let n=t,a=0;for(;n<e.length;){let r=e[n];if(!ka.test(r)||(r==="["?a+=1:r==="]"&&(a-=1),a<0))break;n+=1}if(n!==t)return[e.substring(t,n),n,"word"]},Kt=(e,t)=>{if(e[t]!=="[")return;let n=[],a=t+1;for(;a<e.length;){if(e[a]==="]"){a+=1;break}let o=Kt(e,a)||Vt(e,a)||qt(e,a)||Yt(e,a);if(o){let[s,l,d]=o,c=d==="word"?Wt(s):s;a=l,n.push(c)}else a+=1}return[n,a,"array"]},te=e=>{let t=(e||"").trim();t[0]==="{"&&t[t.length-1]==="}"&&(t=t.slice(1,-1));let n={},a,r=0;for(;r<t.length;){let o=Kt(t,r)||Vt(t,r)||qt(t,r)||Yt(t,r);if(o){let s=typeof a=="string",[l,d,c]=o,p=c==="word"&&s?Wt(l):l;if(r=d,s)n[a]=p,a=void 0;else if(t[r]==="=")a=p;else{let g=p[0],f;switch(g){case".":f="class";break;case"#":f="id";break}if(f){let h=p.substring(1);if(h.length){let u=n[f];n[f]=typeof u>"u"?h:`${u} ${h}`}}else typeof p=="string"&&(n[p]=!0)}}else r+=1}return n};var Zt=e=>{let t=["["];return e.forEach((n,a)=>{n instanceof Array?t.push(Zt(n)):t.push(JSON.stringify(n)),a+1!==e.length&&t.push(", ")}),t.push("]"),t.join("")},q=(e={},t=!1)=>{let n=[];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){n.push(" "),n.push(`${a}=`);let r=e[a];r instanceof Array?n.push(Zt(r)):n.push(JSON.stringify(r))}return n.shift(),t&&(n.unshift("{"),n.push("}")),n.join("")};import{spawn as wa}from"child_process";import*as Xt from"fs";import*as Se from"path";import*as Jt from"temp";var it;function Ne(e,{svgDirectoryPath:t,markdownDirectoryPath:n,svgZoom:a,svgWidth:r,svgHeight:o}){return new Promise((s,l)=>{t||(it||(it=Jt.mkdirSync("crossnote_pdf")),t=it);let d=K(e)+"_",c=wa("pdf2svg",[`"${e}"`,`"${Se.resolve(t??"/tmp/crossnote_pdf",d+"%d.svg")}"`,"all"],{shell:!0}),p=[];c.stdout.on("data",f=>{p.push(f)});let g=[];c.stderr.on("data",f=>{g.push(f)}),c.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),c.on("close",()=>{if(g.length)return l(Buffer.concat(g).toString());Xt.readdir(t??"",(f,h)=>{if(f)return l(f.toString());h=h.sort((b,E)=>{let S=parseInt((b.match(/_(\d+)\.svg$/)??[])[1],10),_=parseInt((E.match(/_(\d+)\.svg$/)??[])[1],10);return S-_});let u="",m=Math.random();return h.forEach(b=>{if(b.match(new RegExp(`^${d}(\\d+).svg`))){let S=Se.relative(n,Se.resolve(t??"",b));S=S.replace(/\.\.\\/g,"../").replace(/\\/g,"/"),a||r||o?u+=`<img src="${S}" ${r?`width="${r}"`:""} ${o?`height="${o}"`:""} ${a?`style="zoom:${a};"`:""}>`:u+=`
|
|
124
|
+
`}}),s(u)})})})}var ot=(s=>(s[s.pagebreak=0]="pagebreak",s[s.newpage=1]="newpage",s[s.toc=2]="toc",s[s.tocstop=3]="tocstop",s[s.slide=4]="slide",s[s[".slide"]=5]=".slide",s[s[".slide:"]=6]=".slide:",s[s.ebook=7]="ebook",s[s["toc-bracket"]=8]="toc-bracket",s))(ot||{});var st={vhd:"vhdl",erl:"erlang",dot:"dot",gv:"dot",viz:"dot"},Aa={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1};function _a(e){let t=`
|
|
125
125
|
`;return e.forEach((n,a)=>{let r=0;for(t+="|";r<n.length;)t+=n[r]+"|",r+=1;if(t+=`
|
|
126
126
|
`,a===0){for(t+="|",r=0;r<n.length;)t+="---|",r+=1;t+=`
|
|
127
127
|
`}}),t+=" ",t}function ye(e){return`
|
|
128
128
|
|
|
129
129
|
<p data-line="${e}" class="sync-line" style="margin:0;"></p>
|
|
130
130
|
|
|
131
|
-
`}var
|
|
131
|
+
`}var lt=null;function Ra(e){return new Promise((t,n)=>{if(!e.match(/^https?:\/\//))return t(e);lt||(lt=rn.mkdirSync("crossnote_downloads")),an.get({url:e,encoding:"binary"},async(a,r,o)=>{if(a)return n(a);{let s=Z.resolve(lt??"/tmp/crossnote_downloads",K(e))+Z.extname(e);return await en.writeFile(s,o,"binary"),s}})})}async function Ia(e,{fileDirectoryPath:t,imageDirectoryPath:n,notebook:a},r={}){if(r[e])return r[e];if(e.endsWith(".less")){let o=await a.fs.readFile(e);return await new Promise((s,l)=>{tn.render(o,{paths:[Z.dirname(e)]},(d,c)=>d?l(d):s(c?.css||""))})}else if(e.endsWith(".pdf")){let o=await Ra(e);return await Ne(o,{markdownDirectoryPath:t,svgDirectoryPath:n})}else return e.match(/^https?:\/\//)?(e.startsWith("https://github.com/")&&(e=e.replace("https://github.com/","https://raw.githubusercontent.com/").replace("/blob/","/")),await new Promise((o,s)=>{an(e,(l,d,c)=>{l?s(l):o(c.toString())})})):await a.fs.readFile(e)}async function le(e,{fileDirectoryPath:t="",projectDirectoryPath:n="",filesCache:a={},useRelativeFilePath:r=!1,forPreview:o=!1,forMarkdownExport:s=!1,protocolsWhiteListRegExp:l=null,notSourceFile:d=!1,imageDirectoryPath:c="",headingIdGenerator:p=new ee,notebook:g}){let f=null,h=0,u=[],m=[],b=[],E=!1,S="";async function _(k,T=0){let y="";for(;k<e.length;){if(e[k]===`
|
|
132
132
|
`){k=k+1,T=T+1,y=y+`
|
|
133
133
|
`;continue}let w=e.indexOf(`
|
|
134
134
|
`,k);w<0&&(w=e.length);let N=e.substring(k,w),C=!!f,v=(N.match(/^[`]{3,}/)||[])[0];if(v){!C&&o&&(y+=ye(T));let x=!!N.match(/"?cmd"?\s*[:=\s}]/);!C&&!d&&x&&(N=N.replace("{",`{code_chunk_offset=${h}, `),h++),C?f!==null&&v.length>=f.length&&(f=null):f=v,k=w+1,T=T+1,y=y+N+`
|
|
135
135
|
`;continue}if(C){k=w+1,T=T+1,y=y+N+`
|
|
136
136
|
`;continue}let O,$,U;if(N.match(/^(!\[|@import)/)&&e[k-1]===`
|
|
137
137
|
`&&e[k-2]===`
|
|
138
|
-
`)o&&(y+=ye(T));else if(O=N.match(/^(#{1,7}).*/)){o&&(y+=ye(T));let x;x=N.replace(O[1],"");let G=O[1],I=G.length,H=x.match(/(\s+\{|^\{)(.+?)\}(\s*)$/),z="",L="",P=!1,D;if(H){x=x.replace(H[0],"");try{D=te(H[0]),z=D.class,L=D.id,P=D.ignore,delete D.class,delete D.id,delete D.ignore}catch{x="OptionsError: "+H[1],P=!0}}if(L||(L=p.generateId(x),g.config.usePandocParser&&(L=L.replace(/^[\d-]+/,""),L||(L="section"))),P||b.push({content:x,level:I,id:L}),g.config.usePandocParser){let M="{";if(L&&(M+=`#${L} `),z&&(M+="."+z.replace(/\s+/g," .")+" "),D)for(let V in D)typeof D[V]=="number"?M+=" "+V+"="+D[V]:M+=" "+V+'="'+D[V]+'"';M+="}",k=w+1,T=T+1,y=y+`${G} ${x} ${M}
|
|
138
|
+
`)o&&(y+=ye(T));else if(O=N.match(/^(#{1,7}).*/)){o&&(y+=ye(T));let x;x=N.replace(O[1],"");let G=O[1],I=G.length,H=x.match(/(\s+\{|^\{)(.+?)\}(\s*)$/),z="",L="",P=!1,D={};if(H){x=x.replace(H[0],"");try{D=te(H[0]),z=D.class??"",L=D.id??"",P=D.ignore,delete D.class,delete D.id,delete D.ignore}catch{x="OptionsError: "+H[1],P=!0}}if(L||(L=p.generateId(x),g.config.usePandocParser&&(L=L.replace(/^[\d-]+/,""),L||(L="section"))),P||b.push({content:x,level:I,id:L}),g.config.usePandocParser){let M="{";if(L&&(M+=`#${L} `),z&&(M+="."+z.replace(/\s+/g," .")+" "),D)for(let V in D)typeof D[V]=="number"?M+=" "+V+"="+D[V]:M+=" "+V+'="'+D[V]+'"';M+="}",k=w+1,T=T+1,y=y+`${G} ${x} ${M}
|
|
139
139
|
`;continue}else{s?N=`${G} ${x}`:N=`${G} ${x}
|
|
140
140
|
<p class="crossnote-header ${z}" id="${L}"></p>`,k=w+1,T=T+1,y=y+N+`
|
|
141
141
|
|
|
142
142
|
`;continue}}else if(N.match(/^<!--/)){o&&(y+=ye(T));let x=e.indexOf("-->",k+4);if(x<0){k=e.length,T=T+1,y=y+`
|
|
143
|
-
`;continue}else x+=3;let G=N.match(/^<!--\s+([^\s]+)/);if(G){let I=G[1];if(I==="@import"){let H=N.lastIndexOf("-->");H>0&&(N=N.slice(4,H).trim())}else if(I in
|
|
143
|
+
`;continue}else x+=3;let G=N.match(/^<!--\s+([^\s]+)/);if(G){let I=G[1];if(I==="@import"){let H=N.lastIndexOf("-->");H>0&&(N=N.slice(4,H).trim())}else if(I in ot){let H=e.slice(k+4,x-3).trim(),z=H.match(/\n/g),L=z?z.length:0,P=H.match(/^([^\s]+?)\s([\s\S]+)$/),D={};if(P&&P[2]&&(D=te(P[2])),D.lineNo=T,I==="pagebreak"||I==="newpage"){k=x,T=T+L,y=y+`<div class="pagebreak"> </div>
|
|
144
144
|
`;continue}else if(I.match(/^\.?slide:?$/))if(u.push(D),s){k=x,T=T+L,y=y+`<!-- ${H} -->
|
|
145
145
|
`;continue}else{k=x,T=T+L,y=y+`
|
|
146
146
|
[CROSSNOTESLIDE]
|
|
@@ -155,13 +155,13 @@ ${c(e,d(e,l,0))}
|
|
|
155
155
|
`;continue}else if(x==="[TOC]"){I||(I={depth_from:1,depth_to:6,ordered_list:!0}),I.cmd="toc",I.hide=!0,I.run_on_save=!0,I.modify_source=!0,d||(I.code_chunk_offset=h,h++);let D=`\`\`\`text ${q(I)}
|
|
156
156
|
\`\`\` `;k=w+1,T=T+1,y=y+D+`
|
|
157
157
|
`;continue}else try{let D=await Ia(z,{fileDirectoryPath:t,imageDirectoryPath:c,notebook:g},a);if(a[z]=D,I&&(I.line_begin||I.line_end)){let M=D.split(/\n/);D=M.slice(parseInt(I.line_begin,10)||0,parseInt(I.line_end,10)||M.length).join(`
|
|
158
|
-
`)}if(I&&I.code_block){let M=L.slice(1,L.length);P=`\`\`\`${I.as||
|
|
158
|
+
`)}if(I&&I.code_block){let M=L.slice(1,L.length);P=`\`\`\`${I.as||st[M]||M} ${q(I)}
|
|
159
159
|
${D}
|
|
160
|
-
\`\`\` `}else if(I&&I.cmd){I.id||(I.id=K(z)),d||(I.code_chunk_offset=h,h++);let M=L.slice(1,L.length);P=`\`\`\`${I.as||
|
|
160
|
+
\`\`\` `}else if(I&&I.cmd){I.id||(I.id=K(z)),d||(I.code_chunk_offset=h,h++);let M=L.slice(1,L.length);P=`\`\`\`${I.as||st[M]||M} ${q(I)}
|
|
161
161
|
${D}
|
|
162
162
|
\`\`\` `}else if([".md",".markdown",".mmark"].indexOf(L)>=0){g.config.parserConfig.onWillTransformMarkdown&&(D=await g.config.parserConfig.onWillTransformMarkdown(D));let M,V;({outputString:M,headings:V}=await le(D,{fileDirectoryPath:Z.dirname(z),projectDirectoryPath:n,filesCache:a,useRelativeFilePath:!1,forPreview:!1,forMarkdownExport:s,protocolsWhiteListRegExp:l,notSourceFile:!0,imageDirectoryPath:c,notebook:g,headingIdGenerator:p})),g.config.parserConfig&&(M=await g.config.parserConfig.onDidTransformMarkdown(M)),M=`
|
|
163
163
|
`+M+" ",b=b.concat(V),k=w+1,T=T+1,y=y+M+`
|
|
164
|
-
`;continue}else if(L===".html")P="<div>"+D+"</div> ";else if(L===".csv"){let M=
|
|
164
|
+
`;continue}else if(L===".html")P="<div>"+D+"</div> ";else if(L===".csv"){let M=nn.parse(D.trim());M.errors.length?P=`<pre>${M.errors[0]}</pre> `:P=_a(M.data)}else if(L===".css"||L===".js"){if(o)P="";else{let M;l&&x.match(l)?M=x:r?M=Z.relative(t,z):M="file:///"+z,L===".js"?P=`<script type="text/javascript" src="${M}"></script>`:P=`<link rel="stylesheet" href="${M}">`}m.push(x)}else if(L===".less")P=`<style>${D}</style>`;else if(L===".pdf")if(I&&I.page_no){let M=D.split(`
|
|
165
165
|
`),V=parseInt(I.page_no,10)-1;V<0&&(V=0),P=M[V]||""}else if(I&&(I.page_begin||I.page_end)){let M=D.split(`
|
|
166
166
|
`),V=parseInt(I.page_begin,10)-1||0,he=I.page_end||M.length-1;V<0&&(V=0),P=M.slice(V,he).join(`
|
|
167
167
|
`)||""}else P=D;else if(L===".dot"||L===".gv"||L===".viz"||L===".graphviz")P=`\`\`\`dot ${q(I,!0)}
|
|
@@ -171,13 +171,13 @@ ${D}
|
|
|
171
171
|
\`\`\` `;else if(L===".plantuml"||L===".puml")P=`\`\`\`puml ${q(I,!0)}
|
|
172
172
|
' @crossnote_file_directory_path:${Z.dirname(z)}
|
|
173
173
|
${D}
|
|
174
|
-
\`\`\` `;else{let M=null;if(I&&(M=I.as),I&&I.code_block===!1)P=D;else{let V=L.slice(1,L.length);P=`\`\`\`${M||
|
|
174
|
+
\`\`\` `;else{let M=null;if(I&&(M=I.as),I&&I.code_block===!1)P=D;else{let V=L.slice(1,L.length);P=`\`\`\`${M||st[V]||V} ${I?q(I):""}
|
|
175
175
|
${D}
|
|
176
176
|
\`\`\` `}}k=w+1,T=T+1,y=y+P+`
|
|
177
177
|
`;continue}catch(D){P=`<pre>${D.toString()}</pre> `,k=w+1,T=T+1,y=y+P+`
|
|
178
178
|
`;continue}}else{k=w+1,T=T+1,y=y+N+`
|
|
179
179
|
`;continue}}return{outputString:y,slideConfigs:u,tocBracketEnabled:E,JSAndCssFiles:m,headings:b,frontMatterString:S}}let A=0;return e.startsWith("---")&&(A=e.indexOf(`
|
|
180
|
-
---`))>0?(S=e.slice(0,A+4),await _(S.length,(S.match(/\n/g)??[]).length)):await _(0,0)}import*as
|
|
180
|
+
---`))>0?(S=e.slice(0,A+4),await _(S.length,(S.match(/\n/g)??[]).length)):await _(0,0)}import*as kn from"cheerio";import*as re from"path";import{spawn as Ca}from"child_process";import*as ct from"fs/promises";import{unlink as dt}from"fs/promises";import*as pt from"path";import*as xe from"vm";import{spawn as va}from"child_process";import*as Oe from"fs";import*as ae from"path";function Ce(e){let t=ae.dirname(e),n=ae.extname(e),a=ae.basename(e).replace(new RegExp(n+"$"),"");Oe.readdir(t,(r,o)=>{r||o.forEach(s=>{s.startsWith(a)&&!s.match(/\.(la)?tex/)&&Oe.unlink(ae.resolve(t,s),()=>{})})})}function on(e,{latexEngine:t="pdflatex",svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:o,svgHeight:s}){return new Promise((l,d)=>{let c=va(t,[`"${e}"`],{cwd:ae.dirname(e),shell:!0}),p=[];c.stdout.on("data",f=>{p.push(f)});let g=[];c.stderr.on("data",f=>{g.push(f)}),c.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),c.on("close",()=>{if(g.length)return Ce(e),d(Buffer.concat(g).toString());{let f=Buffer.concat(p).toString();if(f.indexOf("LaTeX Error")>=0)return Ce(e),d(f);let h=e.replace(/\.(la)?tex$/,".pdf");Ne(h,{svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:o,svgHeight:s}).then(u=>(Ce(e),l(u))).catch(u=>(Ce(e),d(u)))}}),c.stdin.end()})}async function ut(e,t,n){let a=n.latex_engine||"pdflatex",r=n.latex_svg_dir,o=n.latex_zoom,s=n.latex_width,l=n.latex_height,d=pt.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk.tex");await ct.writeFile(d,e);try{let c=await on(d,{latexEngine:a,markdownDirectoryPath:t,svgDirectoryPath:r,svgZoom:o,svgWidth:s,svgHeight:l});return await dt(d),c}catch(c){throw await dt(d),c}}async function Oa(e,t){let n=new xe.Script(`((${e})())`),a=xe.createContext(t.context||{});return n.runInContext(a)}async function sn(e,t,n,a,r="pdflatex"){let o=a.args||[];typeof o=="string"&&(o=[o]);let s=La(n),l=pt.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk"+s);if(e=e.replace(/\u00A0/g," "),n.match(/(la)?tex/)||n==="pdflatex"){let c={...a,latex_engine:a.latex_engine||r};return ut(e,t,c)}if(n==="node.vm")return Oa(e,a);n.match(/python/)&&(a.matplotlib||a.mpl)&&(e=`
|
|
181
181
|
# -*- coding: utf-8 -*-
|
|
182
182
|
# modify default matplotlib pyplot show function
|
|
183
183
|
try:
|
|
@@ -201,8 +201,8 @@ try:
|
|
|
201
201
|
mpld3.display = new_mpld3_show
|
|
202
202
|
except Exception:
|
|
203
203
|
pass
|
|
204
|
-
`+e),await
|
|
205
|
-
`)})}startTask(){this.task=Pa("java",["-Djava.awt.headless=true","-Dfile.encoding=UTF-8","-Dplantuml.include.path="+[this.fileDirectoryPath].join(
|
|
204
|
+
`+e),await ct.writeFile(l,e);let d=!1;return o=o.map(c=>c==="$input_file"?(d=!0,l):c),!d&&!a.stdin&&o.push(l),await new Promise(c=>{let p=Ca(n,o,{cwd:t});a.stdin&&p.stdin.write(e),p.stdin.end();let g=[];p.stdout.on("data",f=>{g.push(f)}),p.stderr.on("data",f=>{g.push(f)}),p.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),p.on("close",async()=>{await dt(l);let f=Buffer.concat(g).toString();c(f)})})}var xa={go:".go",javascript:".js",python:".py",typescript:".ts",node:".js","ts-node":".ts"};function La(e){return xa[e]||`.${e}`}import{spawn as Pa}from"child_process";import{existsSync as Ma}from"fs";import*as pn from"path";import ln from"cross-fetch";import Da from"plantuml-encoder";var Te=class{constructor(t){this.serverURL=t}generateSVG(t){if(this.serverURL.match(/^https?:\/\/(www\.)?plantuml\.com\/plantuml/)){let n=Da.encode(t);return ln(`http://www.plantuml.com/plantuml/svg/${n}`).then(a=>a.text())}else return ln(this.serverURL,{method:"POST",body:t,headers:{"Content-Type":"text/plain; charset=utf-8"}}).then(n=>n.text())}};var ke={},dn={},cn={},gt=class{constructor(t,n){this.plantumlJarPath=t,this.fileDirectoryPath=n,this.chunks=dn[this.fileDirectoryPath]||"",this.callbacks=cn[this.fileDirectoryPath]||[],this.task=null,this.startTask()}generateSVG(t){return new Promise(n=>{this.callbacks.push(n),this.task?.stdin.write(t+`
|
|
205
|
+
`)})}startTask(){this.task=Pa("java",["-Djava.awt.headless=true","-Dfile.encoding=UTF-8","-Dplantuml.include.path="+[this.fileDirectoryPath].join(pn.delimiter),"-jar",this.plantumlJarPath,"-pipe","-tsvg","-charset","UTF-8"]),this.task.stdout.on("data",t=>{let n=t.toString();this.chunks+=n,this.chunks.trimRight().endsWith("</svg>")&&(this.chunks.match(/<svg/g)??[]).length===(this.chunks.match(/<\/svg>/g)??[]).length&&(n=this.chunks,this.chunks="",n.split("<?xml ").forEach(r=>{if(r.length){let o=this.callbacks.shift();o&&o(r.startsWith("<")?r:"<?xml "+r)}}))}),this.task.on("error",t=>{this.callbacks.forEach(n=>n(JSON.stringify(t))),this.closeSelf()}),this.task.on("exit",()=>this.closeSelf())}closeSelf(){ke[this.fileDirectoryPath]=null,dn[this.fileDirectoryPath]=this.chunks,cn[this.fileDirectoryPath]=this.callbacks}};async function Le({content:e,fileDirectoryPath:t,serverURL:n,plantumlJarPath:a}){e=e.trim();let r=e.match(/^'\s@crossnote_file_directory_path:(.+)$/m);r&&(t=r[1]);let o=e.match(/^@start(.+?)\s+/m);if(o?e.match(new RegExp(`^\\@end${o[1]}`,"m"))||(e=`@startuml
|
|
206
206
|
@enduml`):e=`@startuml
|
|
207
207
|
${e}
|
|
208
208
|
@enduml`,!ke[t])if(n)ke[t]=new Te(n);else{if(!Ma(a))throw new Error(`plantuml.jar file not found: "${a}"
|
|
@@ -214,20 +214,20 @@ If you are using VSCode, then please set the setting "markdown-preview-enhanced.
|
|
|
214
214
|
|
|
215
215
|
If you don't want to use plantuml.jar, then you can use the online plantuml server
|
|
216
216
|
by setting the setting "markdown-preview-enhanced.plantumlServer" to the URL of the online plantuml server, for example: https://kroki.io/plantuml/svg/
|
|
217
|
-
`);ke[t]=new
|
|
217
|
+
`);ke[t]=new gt(a,t)}return await ke[t]?.generateSVG(e)??""}import*as De from"vega";import{loader as Ua}from"vega-loader";import*as un from"yaml";async function Ba(e,t){let n=`<?xml version="1.0" encoding="utf-8"?>
|
|
218
218
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
219
|
-
`;t&&t[t.length-1]!=="/"&&(t+="/");async function a(){let r=new De.View(De.parse(e),{loader:Ua({baseURL:t}),renderer:"none"}).initialize();return n+await r.toSVG()}return await
|
|
219
|
+
`;t&&t[t.length-1]!=="/"&&(t+="/");async function a(){let r=new De.View(De.parse(e),{loader:Ua({baseURL:t}),renderer:"none"}).initialize();return n+await r.toSVG()}return await $t(a)}async function ue(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=un.parse(e):n=JSON.parse(e),Ba(n,t)}import*as mn from"vega-lite";import*as fn from"yaml";async function Pe(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=fn.parse(e):n=JSON.parse(e),Ut(()=>Bt(()=>ue(JSON.stringify(mn.compile(n).spec),t)))}import{instance as Ga}from"@viz-js/viz";var Me=null;async function Fe(e,t){try{return Me||(Me=await Ga()),await Me.renderString(e,{format:"svg",...t})}catch(n){throw Me=null,n}}import{execFileSync as za}from"child_process";import*as bn from"fs";import Ha from"imagemagick-cli";async function hn(e,t,n=""){let a=await J({prefix:"crossnote-svg",suffix:".svg"});bn.writeFileSync(a.fd,e);let r=[a.path,t];try{n&&n.length?await za(n,r):await Ha.exec(`convert ${r.join(" ")}`)}catch(o){throw new Error(`imagemagick-cli failure
|
|
220
220
|
`+o.toString()+`
|
|
221
221
|
|
|
222
|
-
Please make sure you have ImageMagick installed.`)}return t}import{execFileSync as ja}from"child_process";import*as
|
|
222
|
+
Please make sure you have ImageMagick installed.`)}return t}import{execFileSync as ja}from"child_process";import*as En from"fs";async function Sn(e,t,n,a){let r=await J({prefix:"crossnote-mermaid",suffix:".mmd"});En.writeFileSync(r.fd,e),a||(a="null");try{return ja("npx",["-p","@mermaid-js/mermaid-cli","mmdc","--theme",a,"--input",r.path,"--output",t],{shell:!0,cwd:n}),t}catch(o){throw new Error(`mermaid CLI is required to be installed.
|
|
223
223
|
Check https://github.com/mermaid-js/mermaid-cli for more information.
|
|
224
224
|
|
|
225
|
-
`+o.toString())}}import{execFileSync as Va}from"child_process";import*as
|
|
225
|
+
`+o.toString())}}import{execFileSync as Va}from"child_process";import*as yn from"fs";async function Tn(e,t){let n=await J({prefix:"crossnote-wavedrom",suffix:".js"});await yn.writeFileSync(n.fd,e);try{return(await Va("npx",["wavedrom-cli","-i",n.path],{shell:!0,cwd:t})).toString("utf-8")}catch(a){throw new Error(`wavedrom CLI is required to be installed.
|
|
226
226
|
Check http://github.com/wavedrom/cli for more information.
|
|
227
227
|
|
|
228
228
|
`+a.toString())}}async function Ue(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:a,imageFilePrefix:r,useRelativeFilePath:o,codeChunksData:s,graphsCache:l,addOptionsStr:d,notebook:c}){let p=e.split(`
|
|
229
229
|
`),g=[],f=0;for(;f<p.length;){let A=p[f],k=A.trim();if(k.match(/^```(.+)"?cmd"?[:=]/)||k.match(/^```(puml|plantuml|dot|viz|mermaid|vega|vega-lite|wavedrom)/)){let T=(A.match(/^\s*/)??[]).length,y=f+1,w="";for(;y<p.length;){if(p[y].trim()==="```"&&(p[y].match(/^\s*/)??[]).length===T){let N={},C="",v=k.match(/\{(.+)\}$/);if(v)try{N=te(v[0]),C=v[1]}catch{N={}}g.push({start:f,end:y,content:w,options:N,optionsStr:C}),f=y;break}w+=p[y]+`
|
|
230
|
-
`,y+=1}}else if(k.match(/^```\S/)){let T=A.indexOf(" ",A.indexOf("```"));T>0&&(p[f]=A.slice(0,T))}else k||(p[f]=" ");f+=1}r||(r=Math.random().toString(36).substr(2,9)+"_"),r=r.replace(/[/&]/g,"_ss_"),r=encodeURIComponent(r);let h=0,u=[],m=[],b=null;for(let A in s)if(!s[A].prev){b=s[A];break}function E(A,k,T){let y=k;for(;y<=T;)A[y]="",y+=1}async function S(A="",k,T,y,w,N,C,v){A||(A=r+h+".png");let O=re.resolve(a,A);await
|
|
230
|
+
`,y+=1}}else if(k.match(/^```\S/)){let T=A.indexOf(" ",A.indexOf("```"));T>0&&(p[f]=A.slice(0,T))}else k||(p[f]=" ");f+=1}r||(r=Math.random().toString(36).substr(2,9)+"_"),r=r.replace(/[/&]/g,"_ss_"),r=encodeURIComponent(r);let h=0,u=[],m=[],b=null;for(let A in s)if(!s[A].prev){b=s[A];break}function E(A,k,T){let y=k;for(;y<=T;)A[y]="",y+=1}async function S(A="",k,T,y,w,N,C,v){A||(A=r+h+".png");let O=re.resolve(a,A);await hn(k,O,c.config.imageMagickPath);let $;if(o?$=re.relative(t,O)+"?"+Math.random():$="/"+re.relative(n,O)+"?"+Math.random(),$=$.replace(/\\/g,"/"),h++,N){E(T,y,w);let U=C;U==null&&(U="");let B="";d&&(B=`{${v}}`),T[w]+=`
|
|
231
231
|
${B} `}return m.push(O),$}for(let A of g){let{start:k,end:T,content:y,options:w,optionsStr:N}=A,C=p[k].trim().slice(3).trim();if(!w.code_block){if(C.match(/^(puml|plantuml)/))try{let v=K(N+y),O=l[v];O||(O=await Le({content:y,fileDirectoryPath:t,plantumlJarPath:c.config.plantumlJarPath,serverURL:c.config.plantumlServer})),await S(w.filename,O,p,k,T,!0,w.alt,N)}catch(v){E(p,k,T),p[T]+=`
|
|
232
232
|
\`\`\`
|
|
233
233
|
${v}
|
|
@@ -244,38 +244,38 @@ ${v}
|
|
|
244
244
|
\`\`\`
|
|
245
245
|
${v}
|
|
246
246
|
\`\`\`
|
|
247
|
-
`}else if(C.match(/^mermaid/))try{let v=w.filename;v||(v=r+h+".png");let O=re.resolve(a,v);h++,await
|
|
247
|
+
`}else if(C.match(/^mermaid/))try{let v=w.filename;v||(v=r+h+".png");let O=re.resolve(a,v);h++,await Sn(y,O,n,c.config.mermaidTheme);let $;o?$=re.relative(t,O)+"?"+Math.random():$="/"+re.relative(n,O)+"?"+Math.random(),E(p,k,T);let U=w.alt;U==null&&(U="");let B="";d&&(B=`{${N}}`),p[T]+=`
|
|
248
248
|
})${B} `,m.push(O)}catch(v){E(p,k,T),p[T]+=`
|
|
249
249
|
\`\`\`
|
|
250
250
|
${v}
|
|
251
251
|
\`\`\`
|
|
252
|
-
`}else if(C.match(/^wavedrom/))try{let v=K(N+y),O=l[v];O||(O=await
|
|
252
|
+
`}else if(C.match(/^wavedrom/))try{let v=K(N+y),O=l[v];O||(O=await Tn(y,n)),await S(w.filename,O,p,k,T,!0,w.alt,N)}catch(v){E(p,k,T),p[T]+=`
|
|
253
253
|
\`\`\`
|
|
254
254
|
${v}
|
|
255
255
|
\`\`\`
|
|
256
|
-
`}else if(b){if(b.normalizedInfo.attributes.hide)E(p,k,T);else{let v=p[k],O=v.indexOf(" ",v.indexOf("```"));p[k]=v.slice(0,O)}if(b.result){let v=b.result,O=b.normalizedInfo.attributes;if(O.output==="html"||O.matplotlib){let $=
|
|
257
|
-
`)}else(Ee(b.normalizedInfo)||"").match(/^(la)?tex$/)?v=await
|
|
256
|
+
`}else if(b){if(b.normalizedInfo.attributes.hide)E(p,k,T);else{let v=p[k],O=v.indexOf(" ",v.indexOf("```"));p[k]=v.slice(0,O)}if(b.result){let v=b.result,O=b.normalizedInfo.attributes;if(O.output==="html"||O.matplotlib){let $=kn.load(b.result);$("svg").length===1&&(v=`,p,k,T,!1,w.alt,N)).replace(/\\/g,"/")})
|
|
257
|
+
`)}else(Ee(b.normalizedInfo)||"").match(/^(la)?tex$/)?v=await ut(y,t,Object.assign({},O,{latex_svg_dir:a})):b.normalizedInfo.attributes.output==="markdown"?v=b.plainResult:(!O.output||O.output==="text")&&(v=`
|
|
258
258
|
\`\`\`
|
|
259
259
|
${b.plainResult}\`\`\`
|
|
260
260
|
`);p[T]+=`
|
|
261
261
|
`+v}b.next?b=s[b.next]:b=null}}}return await Promise.all(u),{outputString:p.filter(A=>A).join(`
|
|
262
|
-
`),imagePaths:m}}function Ka(e,{mathInlineDelimiters:t,mathBlockDelimiters:n,mathRenderingOnlineService:a}){let r=e.replace(/\\\$/g,"#slash_dollarsign#"),o=t,s=n,l="(?:"+o.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",d="(?:"+o.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",c="(?:"+s.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",p="(?:"+s.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")";return r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${c}([\\s\\S]+?)${p})`,"g"),(g,f,h)=>{if(f)return f;let u=h;return u=u.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),u=
|
|
263
|
-
`}),r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${l}([\\s\\S]+?)${d})`,"g"),(g,f,h)=>{if(f)return f;let u=h;return u=u.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),u=
|
|
262
|
+
`),imagePaths:m}}function Ka(e,{mathInlineDelimiters:t,mathBlockDelimiters:n,mathRenderingOnlineService:a}){let r=e.replace(/\\\$/g,"#slash_dollarsign#"),o=t,s=n,l="(?:"+o.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",d="(?:"+o.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",c="(?:"+s.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",p="(?:"+s.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")";return r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${c}([\\s\\S]+?)${p})`,"g"),(g,f,h)=>{if(f)return f;let u=h;return u=u.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),u=wn(u),`<p align="center"><img src="${a}?${u.trim().replace(/ /g,"%20")}"/></p>
|
|
263
|
+
`}),r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${l}([\\s\\S]+?)${d})`,"g"),(g,f,h)=>{if(f)return f;let u=h;return u=u.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),u=wn(u),`<img src="${a}?${u.trim().replace(/ /g,"%20")}"/>`}),r=r.replace(/#slash_dollarsign#/g,"\\$"),r}function Za(e,t,n,a,r){function o(d){return d.match(r)||(a?d.startsWith("/")&&(d=ne.relative(t,ne.resolve(n,"."+d))):d.startsWith("/")||(d="/"+ne.relative(n,ne.resolve(t,d)))),d.replace(/\\/g,"/")}let s=!1,l=e.split(`
|
|
264
264
|
`);return l=l.map(d=>{if(d.match(/^\s*```/))return s=!s,d;if(s)return d;{let c=/(!?\[.*?]\()([^)|^'|^"]*)(.*?\))/gi;return d=d.replace(c,(p,g,f,h)=>f[0]==="<"?(f=f.slice(1,f.length-1),g+"<"+o(f.trim())+"> "+h):g+o(f.trim())+" "+h),c=/(<[img|a|iframe].*?[src|href]=['"])(.+?)(['"].*?>)/gi,d=d.replace(c,(p,g,f,h)=>g+o(f)+h),d}}),l.join(`
|
|
265
|
-
`)}async function
|
|
265
|
+
`)}async function _n(e,{projectDirectoryPath:t,fileDirectoryPath:n,protocolsWhiteListRegExp:a,filesCache:r,codeChunksData:o,graphsCache:s,notebook:l},d){if(!d.path)throw new Error("{path} has to be specified");if(!d.image_dir)throw new Error("{image_dir} has to be specified");let c;d.path[0]==="/"?c=ne.resolve(t,"."+d.path):c=ne.resolve(n,d.path);for(let u in r)u.endsWith(".pdf")&&delete r[u];let p;d.image_dir[0]==="/"?p=ne.resolve(t,"."+d.image_dir):p=ne.resolve(n,d.image_dir);let g=!d.absolute_image_path;l.config.parserConfig.onWillTransformMarkdown&&(e=await l.config.parserConfig.onWillTransformMarkdown(e));let f=await le(e,{fileDirectoryPath:n,projectDirectoryPath:t,useRelativeFilePath:g,filesCache:r,forPreview:!1,forMarkdownExport:!0,protocolsWhiteListRegExp:a,imageDirectoryPath:p,notebook:l});if(e=f.outputString,l.config.parserConfig.onDidTransformMarkdown&&(e=await l.config.parserConfig.onDidTransformMarkdown(e)),f.tocBracketEnabled){let u=f.headings,{content:m}=pe(u,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
|
|
266
266
|
|
|
267
267
|
`+m+`
|
|
268
268
|
|
|
269
|
-
`)}return e=Za(e,n,t,g,a),e=l.config.mathRenderingOption!=="None"?Ka(e,{mathInlineDelimiters:l.config.mathInlineDelimiters,mathBlockDelimiters:l.config.mathBlockDelimiters,mathRenderingOnlineService:l.config.mathRenderingOnlineService}):e,await new Promise((u,m)=>{Ya(p).then(()=>{Ue(e,{fileDirectoryPath:n,projectDirectoryPath:t,imageDirectoryPath:p,imageFilePrefix:K(c),useRelativeFilePath:g,codeChunksData:o,graphsCache:s,addOptionsStr:!1,notebook:l}).then(({outputString:b})=>{b=f.frontMatterString+b,
|
|
269
|
+
`)}return e=Za(e,n,t,g,a),e=l.config.mathRenderingOption!=="None"?Ka(e,{mathInlineDelimiters:l.config.mathInlineDelimiters,mathBlockDelimiters:l.config.mathBlockDelimiters,mathRenderingOnlineService:l.config.mathRenderingOnlineService}):e,await new Promise((u,m)=>{Ya(p).then(()=>{Ue(e,{fileDirectoryPath:n,projectDirectoryPath:t,imageDirectoryPath:p,imageFilePrefix:K(c),useRelativeFilePath:g,codeChunksData:o,graphsCache:s,addOptionsStr:!1,notebook:l}).then(({outputString:b})=>{b=f.frontMatterString+b,An.writeFile(c,b,{encoding:"utf-8"},E=>E?m(E.toString()):u(c))})}).catch(b=>{if(b)return m(b.toString())})})}import{execFile as Xa}from"child_process";import*as In from"fs";import*as mt from"mkdirp";import*as X from"path";import*as vn from"yaml";function Rn(e){return e==="pdf_document"||e==="beamer_presentation"?"pdf":e==="word_document"?"docx":e==="rtf_document"?"rtf":e==="custom_document"?"*":null}function Ja(e,t,n="pdflatex"){if(e.toc&&t.push("--toc"),e.toc_depth&&t.push("--toc-depth="+e.toc_depth),e.highlight&&(e.highlight==="default"&&(e.highlight="pygments"),t.push("--highlight-style="+e.highlight)),e.reference_docx&&t.push("--reference-docx="+e.reference_docx),e.reference_doc&&t.push("--reference-doc="+e.reference_doc),e.highlight===null&&t.push("--no-highlight"),e.citation_package&&(e.citation_package==="natbib"?t.push("--natbib"):e.citation_package==="biblatex"&&t.push("--biblatex")),e.number_sections&&t.push("--number-sections"),e.incremental&&t.push("--incremental"),e.slide_level&&t.push("--slide-level="+e.slide_level),e.theme&&t.push("-V","theme:"+e.theme),e.colortheme&&t.push("-V","colortheme:"+e.colortheme),e.fonttheme&&t.push("-V","fonttheme:"+e.fonttheme),e.latex_engine?t.push("--pdf-engine="+e.latex_engine):e.pdf_engine?t.push("--pdf-engine="+e.pdf_engine):t.push("--pdf-engine="+n),e.includes&&typeof e.includes=="object"){let a=e.includes,r=(o,s)=>{typeof s=="string"?t.push(o+s):s.constructor===Array?s.forEach(l=>t.push(o+l)):t.push(o+s)};a.in_header&&r("--include-in-header=",a.in_header),a.before_body&&r("--include-before-body=",a.before_body),a.after_body&&r("--include-after-body=",a.after_body)}e.template&&t.push("--template="+e.template),e.pandoc_args&&e.pandoc_args.forEach(a=>t.push(a))}function Qa(e,t){let n=X.resolve(e,"_output.yaml"),a="";try{a=In.readFileSync(n,{encoding:"utf-8"})}catch{return Object.assign({},t)}let r={};if(a&&(r=Re(a)),t.output)if(typeof t.output=="string"&&r[t.output]){let o=t.output;t.output={},t.output[o]=r[o]}else{let o=Object.keys(t.output)[0];r[o]&&(t.output[o]=Object.assign({},r[o],t.output[o]))}return Object.assign({},r,t)}function er(e,t,n){function a(s){return s.startsWith("/")?X.relative(t,X.resolve(n,"."+s)):s}let r=!1,o=e.split(`
|
|
270
270
|
`);return o=o.map(s=>{if(s.match(/^\s*```/))return r=!r,s;if(r)return s;{let l=/(!?\[.*?]\()([^)|^'|^"]*)(.*?\))/gi;return s=s.replace(l,(d,c,p,g)=>p[0]==="<"?(p=p.slice(1,p.length-1),c+"<"+a(p.trim())+"> "+g):c+a(p.trim())+" "+g),l=/(<[img|a|iframe].*?[src|href]=['"])(.+?)(['"].*?>)/gi,s=s.replace(l,(d,c,p,g)=>c+a(p)+g),s}}),o.join(`
|
|
271
|
-
`)}async function
|
|
272
|
-
`+
|
|
271
|
+
`)}async function Nn(e,{fileDirectoryPath:t,projectDirectoryPath:n,sourceFilePath:a,filesCache:r,protocolsWhiteListRegExp:o,codeChunksData:s,graphsCache:l,notebook:d},c={}){c=Qa(t,c);let p=["-f",d.config.pandocMarkdownFlavor.replace(/-raw_tex/,"")],g=null,f=null,h=null;if(c.output)typeof c.output=="string"?(h=c.output,g=Rn(h)):(h=Object.keys(c.output)[0],g=Rn(h),f=c.output[h]);else throw new Error("Output format needs to be specified.");if(g===null)throw new Error("Invalid document type.");if(h==="custom_document"&&(!f||!f.path))throw new Error("custom_document requires path to be defined.");h==="beamer_presentation"&&p.push("-t","beamer");let u;if(f&&f.path){if(u=f.path,u.startsWith("/")?u=X.resolve(n,"."+u):u=X.resolve(t,u),h!=="custom_document"&&X.extname(u)!=="."+g)throw new Error("Invalid extension for "+h+". Extension ."+g+" is required, but "+X.extname(u)+" was provided.");p.push("-o",u)}else u=a,u=u.slice(0,u.length-X.extname(u).length)+"."+g,p.push("-o",u);Ja(f||{},p,d.config.latexEngine),d.config.parserConfig.onWillTransformMarkdown&&(e=await d.config.parserConfig.onWillTransformMarkdown(e));let m=await le(e,{fileDirectoryPath:t,projectDirectoryPath:n,useRelativeFilePath:!0,filesCache:r,protocolsWhiteListRegExp:o,forPreview:!1,notebook:d});if(e=m.outputString,d.config.parserConfig.onDidTransformMarkdown&&(e=await d.config.parserConfig.onDidTransformMarkdown(e)),e=`---
|
|
272
|
+
`+vn.stringify(c)+`---
|
|
273
273
|
`+e,m.tocBracketEnabled){let A=m.headings,{content:k}=pe(A,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
|
|
274
274
|
|
|
275
275
|
`+k+`
|
|
276
276
|
|
|
277
|
-
`)}e=er(e,t,n),p.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(c.bibliography||c.references)&&p.push("--citeproc");let S=d.config.imageFolderPath;S[0]==="/"?S=X.resolve(n,"."+S):S=X.resolve(t,S),await
|
|
278
|
-
`:"";return`<pre data-role="codeBlock" data-info="${Ge(r)}" data-parsed-info="${Ge(JSON.stringify(o))}" data-normalized-info="${Ge(JSON.stringify(s))}">${l}</pre>${d}`}};var xn=(e,t)=>{e.inline.ruler.before("strikethrough","critic-markup",(n,a)=>{if(!t.config.enableCriticMarkupSyntax)return!1;let{src:o,pos:s}=n;if(o[s]==="{"&&(o[s+1]==="-"&&o[s+2]==="-"||o[s+1]==="+"&&o[s+2]==="+"||o[s+1]==="~"&&o[s+2]==="~"||o[s+1]==="="&&o[s+2]==="="||o[s+1]===">"&&o[s+2]===">")){let l=o.slice(s+1,s+3),d=l[0]===">"?"<<}":`${l}}`,c=s+3,p=-1,g=null;for(;c<o.length;){if(o.startsWith(d,c)){p=c;break}c+=1}if(p>=0)g=o.slice(s+3,p);else return!1;if(g&&!a){let f=n.push("critic-markup","",0);return f.content=g,f.tag=l,n.pos=p+d.length,!0}else return!1}else return!1}),e.renderer.rules["critic-markup"]=(n,a)=>{let r=n[a],o=r.tag,s=r.content;if(o==="--")return`<del>${s}</del>`;if(o==="++")return`<ins>${s}</ins>`;if(o==="==")return`<mark>${s}</mark>`;if(o===">>")return`<span style="display:none">${s}</span>`;{let l=s.split("~>");return l.length===2?`<del>${l[0]}</del><ins>${l[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};import ar from"markdown-it-emoji";import rr from"markdown-it-emoji/lib/data/full.json";var ir=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"],Ln={};ir.forEach(e=>{Ln[e]=""});var Dn=(e,t)=>{e.use(ar,{defs:{...rr,...Ln}}),e.renderer.rules.emoji=(n,a)=>{let r=n[a];if(t.config.enableEmojiSyntax){let o=r.markup;return o.match("fa-")?`<i class="fa ${o}" aria-hidden="true"></i>`:r.content}else return`:${r.markup}:`}};import or from"markdown-it-html5-embed";var sr=e=>({html5embed:{useImageSyntax:e.config.HTML5EmbedUseImageSyntax,useLinkSyntax:e.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:e.config.HTML5EmbedIsAllowedHttp,attributes:{audio:e.config.HTML5EmbedAudioAttributes,video:e.config.HTML5EmbedVideoAttributes}}}),Pn=(e,t)=>{t.config.enableHTML5Embed&&e.use(or,sr(t))};import{escape as lr}from"html-escaper";import dr from"katex";import"katex/contrib/mhchem";var ze=({content:e,openTag:t,closeTag:n,displayMode:a=!1,renderingOption:r,katexConfig:o})=>{if(!e)return"";if(r==="KaTeX")try{return dr.renderToString(e,Object.assign({},o,{displayMode:a}))}catch(s){return`<span style="color: #ee7f49; font-weight: 500;">${s.toString()}</span>`}else if(r==="MathJax"){let s=(t+e+n).replace(/\n/g," "),l=a?"div":"span";return`<${l} class="mathjax-exps">${lr(s)}</${l}>`}else return""};var Mn=(e,t)=>{e.inline.ruler.before("escape","math",(n,a)=>{if(t.config.mathRenderingOption==="None")return!1;let r=null,o=null,s=!0,{mathBlockDelimiters:l,mathInlineDelimiters:d}=t.config;for(let f of l)if(n.src.startsWith(f[0],n.pos)){[r,o]=f;break}if(!r){for(let f of d)if(n.src.startsWith(f[0],n.pos)){[r,o]=f,s=!1;break}}if(!r||!o)return!1;let c=null,p=-1,g=n.pos+r.length;for(;g<n.src.length;){if(o&&n.src.startsWith(o,g)){p=g;break}else n.src[g]==="\\"&&(g+=1);g+=1}if(p>=0)c=n.src.slice(n.pos+r.length,p);else return!1;if(c&&!a){let f=n.push("math","",0);return f.content=c.trim(),f.meta=f.meta||{},f.meta.openTag=r,f.meta.closeTag=o,f.meta.displayMode=s,n.pos+=c.length+r.length+o.length,!0}else return!1}),e.renderer.rules.math=(n,a)=>{let r=n[a].content??"";return ze({content:r,openTag:n[a].meta.openTag,closeTag:n[a].meta.closeTag,renderingOption:t.config.mathRenderingOption,displayMode:n[a].meta.displayMode,katexConfig:t.config.katexConfig})}};var Fn=(e,t)=>{e.inline.ruler.before("autolink","wikilink",(n,a)=>{if(!t.config.enableWikiLinkSyntax||!n.src.startsWith("[[",n.pos))return!1;let r=null,o="]]",s=-1,l=n.pos+o.length;for(;l<n.src.length;){if(n.src[l]==="\\")l+=1;else if(n.src.startsWith(o,l)){s=l;break}l+=1}if(s>=0)r=n.src.slice(n.pos+o.length,s);else return!1;if(r&&!a){let d=n.push("wikilink","a",0);return d.content=r,n.pos+=r.length+2*o.length,!0}else return!1}),e.renderer.rules.wikilink=(n,a)=>{let{content:r}=n[a];if(!r)return"";let o=r.split("|"),s,l;if(o.length===1){l=o[0].trim();let d=t.config.parserConfig.processWikiLink({text:l,link:void 0});l=d.text,s=d.link}else if(t.config.useGitHubStylePipedLink){let d=t.config.parserConfig.processWikiLink({text:o[0].trim(),link:o[1].trim()});l=d.text,s=d.link}else{let d=t.config.parserConfig.processWikiLink({text:o[1].trim(),link:o[0].trim()});l=d.text,s=d.link}return`<a href="${s}">${l}</a>`}};import*as He from"fs";import*as Bn from"less";import*as me from"path";var Un=typeof window>"u";function mt(){return{startOnLoad:!1}}function ft(){return{tex:{},options:{},loader:{}}}function bt(){return{macros:{}}}function ht(){return{onWillParseMarkdown:async function(e){return e},onDidParseMarkdown:async function(e){return e},onWillTransformMarkdown:async function(e){return e},onDidTransformMarkdown:async function(e){return e},processWikiLink:function({text:e,link:t}){return{text:e,link:t||(e.endsWith(".md")?e:`${e}.md`)}}}}function ge(){return{globalCss:"",mermaidConfig:mt(),mathjaxConfig:ft(),katexConfig:bt(),parserConfig:ht(),usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1}}async function Et(e,t,n=!1){let a=ge(),r={globalCss:a.globalCss,mermaidConfig:a.mermaidConfig,mathjaxConfig:a.mathjaxConfig,katexConfig:a.katexConfig,parserConfig:a.parserConfig};return n&&await t.mkdir(e),await t.exists(e)&&(r.globalCss=await cr(e,t),r.parserConfig=await ur(e,t),r={...r,...await pr(e,t)}),r}async function cr(e,t){let n=me.join(e,"./style.less"),a;try{a=await t.readFile(n)}catch{a=`
|
|
277
|
+
`)}e=er(e,t,n),p.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(c.bibliography||c.references)&&p.push("--citeproc");let S=d.config.imageFolderPath;S[0]==="/"?S=X.resolve(n,"."+S):S=X.resolve(t,S),await mt.sync(S);let{outputString:_}=await Ue(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:S,imageFilePrefix:K(u),useRelativeFilePath:!0,codeChunksData:s,graphsCache:l,addOptionsStr:!0,notebook:d});return await mt.sync(X.dirname(u)),await new Promise((A,k)=>{Xa(d.config.pandocPath,p,{cwd:t},y=>y?k(y.toString()):A(u)).stdin?.end(_)})}import{execFile as tr}from"child_process";function Cn(e,t){return new Promise((n,a)=>{tr("prince",[e,"--javascript","-o",t],r=>{if(r){let o=r.toString();return r.message.indexOf("spawn prince ENOENT")>=0&&(o='"princexml" is required to be installed.'),a(o)}return n()})})}var nr=e=>typeof e=="string"?e.trim().toLowerCase():"",Be=e=>{let t=jt(e.attributes),n=nr(e.language);return t!==e.attributes||n!==e.language?{language:n,attributes:t}:e};var $e=(e="")=>{let t,n,a,r=e.trim(),o=r.indexOf("{")!==-1?r.match(/^([^\s{]*)\s*\{(.*?)\}/):r.match(/^([^\s]+)\s+(.+?)$/);if(o?(o[1].length&&(t=o[1]),n=o[2]):(t=r,n=""),n)try{a=te(n)}catch{a={}}else a={};let s=a.class?a.class.split(/\s+/):[];return t||(t=s[0]||"text"),s.includes(t)||(a.class=[t,...s].join(" ")),{language:t,attributes:a}};import{Mutex as fr}from"async-mutex";import br from"markdown-it";import hr from"markdown-it-abbr";import Er from"markdown-it-deflist";import Sr from"markdown-it-footnote";import yr from"markdown-it-mark";import Tr from"markdown-it-sub";import kr from"markdown-it-sup";import*as W from"path";var On=e=>{let a=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function r(){e.block.ruler.after("fence","admonition",s,{alt:[]}),e.renderer.rules.admonition_open=o,e.renderer.rules.admonition_title_open=o,e.renderer.rules.admonition_title_close=o,e.renderer.rules.admonition_close=o}function o(l,d,c,p,g){let f=l[d];return f.type==="admonition_open"?l[d].attrPush(["class","admonition "+f.info]):f.type==="admonition_title_open"&&l[d].attrPush(["class","admonition-title"]),g.renderToken(l,d,c)}function s(l,d,c,p){if(l.tShift[d]-l.blkIndent>=4)return!1;let g=l.bMarks[d]+l.tShift[d],f=l.eMarks[d],h=l.src.charCodeAt(g);if(h!==33)return!1;let u=g;if(g=l.skipChars(g,h),g-u<3)return!1;let b=l.src.slice(u,g),E="",S="",_=l.src.slice(g,f).trim().split(" ");if(E=(_.shift()??"").toLowerCase(),S=_.join(" "),a.indexOf(E)<0&&(E="note"),S||(S=E.substr(0,1).toUpperCase()+E.substr(1,E.length-1)),p)return!0;let A=l.parentType,k=l.lineMax,T=l.blkIndent;l.blkIndent+=4;let y=d;for(;y++,!(y>=c||(g=u=l.bMarks[y]+l.tShift[y],f=l.eMarks[y],g<f&&l.sCount[y]<l.blkIndent)););l.parentType="admonition",l.lineMax=y;let w=l.push("admonition_open","div",1);return w.markup=b,w.block=!0,w.info=E,w.map=[d,d+1],S!=='""'&&(w=l.push("admonition_title_open","p",1),w.markup=b+" "+E,w.map=[d,d+1],w=l.push("inline","",0),w.content=S,w.map=[d,d+1],w.children=[],w=l.push("admonition_title_close","p",-1),w.markup=b+" "+E),l.md.block.tokenize(l,d+1,y),w=l.push("admonition_close","div",-1),w.markup=b,w.map=[d,y],w.block=!0,l.parentType=A,l.lineMax=k,l.line=y,l.blkIndent=T,!0}r()};import{escape as Ge}from"html-escaper";var xn=e=>{e.renderer.rules.fence=(t,n)=>{let a=t[n],r=a.info.trim(),o=$e(r),s=Be(o),l=Ge(a.content),d=n<t.length&&t[n].type==="list_item_close"?`
|
|
278
|
+
`:"";return`<pre data-role="codeBlock" data-info="${Ge(r)}" data-parsed-info="${Ge(JSON.stringify(o))}" data-normalized-info="${Ge(JSON.stringify(s))}">${l}</pre>${d}`}};var Ln=(e,t)=>{e.inline.ruler.before("strikethrough","critic-markup",(n,a)=>{if(!t.config.enableCriticMarkupSyntax)return!1;let{src:o,pos:s}=n;if(o[s]==="{"&&(o[s+1]==="-"&&o[s+2]==="-"||o[s+1]==="+"&&o[s+2]==="+"||o[s+1]==="~"&&o[s+2]==="~"||o[s+1]==="="&&o[s+2]==="="||o[s+1]===">"&&o[s+2]===">")){let l=o.slice(s+1,s+3),d=l[0]===">"?"<<}":`${l}}`,c=s+3,p=-1,g=null;for(;c<o.length;){if(o.startsWith(d,c)){p=c;break}c+=1}if(p>=0)g=o.slice(s+3,p);else return!1;if(g&&!a){let f=n.push("critic-markup","",0);return f.content=g,f.tag=l,n.pos=p+d.length,!0}else return!1}else return!1}),e.renderer.rules["critic-markup"]=(n,a)=>{let r=n[a],o=r.tag,s=r.content;if(o==="--")return`<del>${s}</del>`;if(o==="++")return`<ins>${s}</ins>`;if(o==="==")return`<mark>${s}</mark>`;if(o===">>")return`<span style="display:none">${s}</span>`;{let l=s.split("~>");return l.length===2?`<del>${l[0]}</del><ins>${l[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};import ar from"markdown-it-emoji";import rr from"markdown-it-emoji/lib/data/full.json";var ir=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"],Dn={};ir.forEach(e=>{Dn[e]=""});var Pn=(e,t)=>{e.use(ar,{defs:{...rr,...Dn}}),e.renderer.rules.emoji=(n,a)=>{let r=n[a];if(t.config.enableEmojiSyntax){let o=r.markup;return o.match("fa-")?`<i class="fa ${o}" aria-hidden="true"></i>`:r.content}else return`:${r.markup}:`}};import or from"markdown-it-html5-embed";var sr=e=>({html5embed:{useImageSyntax:e.config.HTML5EmbedUseImageSyntax,useLinkSyntax:e.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:e.config.HTML5EmbedIsAllowedHttp,attributes:{audio:e.config.HTML5EmbedAudioAttributes,video:e.config.HTML5EmbedVideoAttributes}}}),Mn=(e,t)=>{t.config.enableHTML5Embed&&e.use(or,sr(t))};import{escape as lr}from"html-escaper";import dr from"katex";import"katex/contrib/mhchem";var ze=({content:e,openTag:t,closeTag:n,displayMode:a=!1,renderingOption:r,katexConfig:o})=>{if(!e)return"";if(r==="KaTeX")try{return dr.renderToString(e,Object.assign({},o,{displayMode:a}))}catch(s){return`<span style="color: #ee7f49; font-weight: 500;">${s.toString()}</span>`}else if(r==="MathJax"){let s=(t+e+n).replace(/\n/g," "),l=a?"div":"span";return`<${l} class="mathjax-exps">${lr(s)}</${l}>`}else return""};var Fn=(e,t)=>{e.inline.ruler.before("escape","math",(n,a)=>{if(t.config.mathRenderingOption==="None")return!1;let r=null,o=null,s=!0,{mathBlockDelimiters:l,mathInlineDelimiters:d}=t.config;for(let f of l)if(n.src.startsWith(f[0],n.pos)){[r,o]=f;break}if(!r){for(let f of d)if(n.src.startsWith(f[0],n.pos)){[r,o]=f,s=!1;break}}if(!r||!o)return!1;let c=null,p=-1,g=n.pos+r.length;for(;g<n.src.length;){if(o&&n.src.startsWith(o,g)){p=g;break}else n.src[g]==="\\"&&(g+=1);g+=1}if(p>=0)c=n.src.slice(n.pos+r.length,p);else return!1;if(c&&!a){let f=n.push("math","",0);return f.content=c.trim(),f.meta=f.meta||{},f.meta.openTag=r,f.meta.closeTag=o,f.meta.displayMode=s,n.pos+=c.length+r.length+o.length,!0}else return!1}),e.renderer.rules.math=(n,a)=>{let r=n[a].content??"";return ze({content:r,openTag:n[a].meta.openTag,closeTag:n[a].meta.closeTag,renderingOption:t.config.mathRenderingOption,displayMode:n[a].meta.displayMode,katexConfig:t.config.katexConfig})}};var Un=(e,t)=>{e.inline.ruler.before("autolink","wikilink",(n,a)=>{if(!t.config.enableWikiLinkSyntax||!n.src.startsWith("[[",n.pos))return!1;let r=null,o="]]",s=-1,l=n.pos+o.length;for(;l<n.src.length;){if(n.src[l]==="\\")l+=1;else if(n.src.startsWith(o,l)){s=l;break}l+=1}if(s>=0)r=n.src.slice(n.pos+o.length,s);else return!1;if(r&&!a){let d=n.push("wikilink","a",0);return d.content=r,n.pos+=r.length+2*o.length,!0}else return!1}),e.renderer.rules.wikilink=(n,a)=>{let{content:r}=n[a];if(!r)return"";let o=r.split("|"),s,l;if(o.length===1){l=o[0].trim();let d=t.config.parserConfig.processWikiLink({text:l,link:void 0});l=d.text,s=d.link}else if(t.config.useGitHubStylePipedLink){let d=t.config.parserConfig.processWikiLink({text:o[0].trim(),link:o[1].trim()});l=d.text,s=d.link}else{let d=t.config.parserConfig.processWikiLink({text:o[1].trim(),link:o[0].trim()});l=d.text,s=d.link}return`<a href="${s}">${l}</a>`}};import*as He from"fs";import*as $n from"less";import*as me from"path";var Bn=typeof window>"u";function ft(){return{startOnLoad:!1}}function bt(){return{tex:{},options:{},loader:{}}}function ht(){return{macros:{}}}function Et(){return{onWillParseMarkdown:async function(e){return e},onDidParseMarkdown:async function(e){return e},onWillTransformMarkdown:async function(e){return e},onDidTransformMarkdown:async function(e){return e},processWikiLink:function({text:e,link:t}){return{text:e,link:t||(e.endsWith(".md")?e:`${e}.md`)}}}}function ge(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",mermaidConfig:ft(),mathjaxConfig:bt(),katexConfig:ht(),parserConfig:Et(),usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1}}async function St(e,t,n=!1){let a=ge(),r={globalCss:a.globalCss,mermaidConfig:a.mermaidConfig,mathjaxConfig:a.mathjaxConfig,katexConfig:a.katexConfig,parserConfig:a.parserConfig};return n&&await t.mkdir(e),await t.exists(e)&&(r.globalCss=await cr(e,t),r.parserConfig=await ur(e,t),r={...r,...await pr(e,t)}),r}async function cr(e,t){let n=me.join(e,"./style.less"),a;try{a=await t.readFile(n)}catch{a=`
|
|
279
279
|
/* Please visit the URL below for more information: */
|
|
280
280
|
/* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
|
|
281
281
|
|
|
@@ -287,13 +287,13 @@ ${b.plainResult}\`\`\`
|
|
|
287
287
|
content: "Failed to compile \`style.less\`. ${s}" !important;
|
|
288
288
|
padding: 2em !important;
|
|
289
289
|
}
|
|
290
|
-
.crossnote.crossnote { display: none !important; }
|
|
290
|
+
.crossnote.crossnote { display: none !important; }`;$n.render(a,{paths:[me.dirname(n)]},(s,l)=>r(s?o(s):l?.css||""))})}async function pr(e,t){let n=me.join(e,"./config.js"),a=async()=>{let r=ht(),o=bt(),s=ft();return await t.writeFile(n,`({
|
|
291
291
|
katexConfig: ${JSON.stringify(r,null,2)},
|
|
292
292
|
|
|
293
293
|
mathjaxConfig: ${JSON.stringify(o,null,2)},
|
|
294
294
|
|
|
295
295
|
mermaidConfig: ${JSON.stringify(s,null,2)},
|
|
296
|
-
})`),{katexConfig:r,mathjaxConfig:o,mermaidConfig:s}};if(await t.exists(n))try{let r=await t.readFile(n),o=
|
|
296
|
+
})`),{katexConfig:r,mathjaxConfig:o,mermaidConfig:s}};if(await t.exists(n))try{let r=await t.readFile(n),o=rt(r);return Object.keys(o??{}).length===0?await a():o}catch(r){return console.error(r),{}}else return a()}async function ur(e,t){let n=Et(),a=me.join(e,"./parser.js");if(await t.exists(a))try{let r=await t.readFile(a),o=rt(r);return{...n,...o??{}}}catch(r){return console.error(r),n}else return await t.writeFile(a,`({
|
|
297
297
|
onWillParseMarkdown: async function(markdown) {
|
|
298
298
|
return markdown;
|
|
299
299
|
},
|
|
@@ -316,21 +316,21 @@ ${b.plainResult}\`\`\`
|
|
|
316
316
|
link: link ? link : text.endsWith('.md') ? text : \`\${text}.md\`,
|
|
317
317
|
};
|
|
318
318
|
}
|
|
319
|
-
})`),n}function
|
|
319
|
+
})`),n}function yt(){let e=He.promises;return{readFile:async(t,n="utf-8")=>(await e.readFile(t,n)).toString(),writeFile:async(t,n,a="utf8")=>await e.writeFile(t,n,a),mkdir:async t=>{await e.mkdir(t,{recursive:!0})},exists:async t=>He.existsSync(t),stat:async t=>await e.stat(t),readdir:async t=>await e.readdir(t),unlink:async t=>await e.unlink(t)}}import*as je from"yaml";function Tt(e){let t=0,n={};if(e.startsWith("---")&&(t=e.indexOf(`
|
|
320
320
|
---`))>0){let a=e.slice(3,t);try{n=je.parse(a)}catch{n={}}e=e.slice(t+4).replace(/^[ \t]*\n/,"")}return{data:n,content:e}}function We(e,t){t=t||{};let n=je.stringify(t).trim();return n==="{}"||!n?e:`---
|
|
321
321
|
${n}
|
|
322
322
|
---
|
|
323
|
-
${e}`}var we=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t in this.map||(this.map[t]={[n]:[]});return}if(a)if(t in this.map){let r=this.map[t];n in r?r[n].push(a):r[n]=[a]}else this.map[t]={[n]:[a]}}deleteReferences(t,n){if(t===n){delete this.map[t];return}t in this.map&&n in this.map[t]&&(delete this.map[t][n],Object.keys(this.map[t]).length===0&&delete this.map[t])}hasRelation(t,n){return t in this.map&&n in this.map[t]||n in this.map&&t in this.map[n]||t===n}getReferences(t,n){return t in this.map&&n in this.map[t]?this.map[t][n]:[]}noteHasReferences(t){return t in this.map}getReferredByNotesCount(t){if(t in this.map){let n=Object.keys(this.map[t]).length;return t in this.map[t]&&(n-=1),n}else return 0}};import gr from"minisearch";function mr(e,t="-"){return e.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,t)}var fe=class{constructor(){this.miniSearch=new gr({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(t,n)=>n==="aliases"?t.aliases.join("|"):t[n],tokenize:t=>mr(t," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(t,n,a=[]){if(!(t in this._cache)){let r={id:t+"#"+n,filePath:t,title:n,aliases:a};this.miniSearch.add(r),this._cache[t]=r}}remove(t){if(t in this._cache){let n=this._cache[t];n&&this.miniSearch.remove(n),delete this._cache[t]}}search(t,n){return this.miniSearch.search(t,n)}addAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.concat(n)))}deleteAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.filter(r=>r!==n)))}};var wr={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0}
|
|
323
|
+
${e}`}var we=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t in this.map||(this.map[t]={[n]:[]});return}if(a)if(t in this.map){let r=this.map[t];n in r?r[n].push(a):r[n]=[a]}else this.map[t]={[n]:[a]}}deleteReferences(t,n){if(t===n){delete this.map[t];return}t in this.map&&n in this.map[t]&&(delete this.map[t][n],Object.keys(this.map[t]).length===0&&delete this.map[t])}hasRelation(t,n){return t in this.map&&n in this.map[t]||n in this.map&&t in this.map[n]||t===n}getReferences(t,n){return t in this.map&&n in this.map[t]?this.map[t][n]:[]}noteHasReferences(t){return t in this.map}getReferredByNotesCount(t){if(t in this.map){let n=Object.keys(this.map[t]).length;return t in this.map[t]&&(n-=1),n}else return 0}};import gr from"minisearch";function mr(e,t="-"){return e.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,t)}var fe=class{constructor(){this.miniSearch=new gr({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(t,n)=>n==="aliases"?t.aliases.join("|"):t[n],tokenize:t=>mr(t," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(t,n,a=[]){if(!(t in this._cache)){let r={id:t+"#"+n,filePath:t,title:n,aliases:a};this.miniSearch.add(r),this._cache[t]=r}}remove(t){if(t in this._cache){let n=this._cache[t];n&&this.miniSearch.remove(n),delete this._cache[t]}}search(t,n){return this.miniSearch.search(t,n)}addAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.concat(n)))}deleteAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.filter(r=>r!==n)))}};var wr={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0},Gn=class e{constructor(){this.notes={};this.hasLoadedNotes=!1;this.referenceMap=new we;this.refreshNotesIfNotLoadedMutex=new fr;this.search=new fe;this.markdownEngines={}}async init({notebookPath:t,config:n={},fs:a}){if(!W.isAbsolute(t))throw new Error("`notebookDirectoryPath` must be an absolute path");this.notebookPath=t,this.initFs(a),await this.initConfig(n),this.initMarkdownIt(),this.updateConfig({})}static async init(t){let n=new e;return await n.init(t),n}async initConfig(t){let n=await St(W.join(this.notebookPath,"./.crossnote"),this.fs);this.config={...ge(),...n,...t}}initMarkdownIt(){this.md=new br(wr),this.md.use(Sr),this.md.use(Tr),this.md.use(kr),this.md.use(Er),this.md.use(hr),this.md.use(yr),xn(this.md),Ln(this.md,this),Pn(this.md,this),Mn(this.md,this),Fn(this.md,this),Un(this.md,this),On(this.md)}initFs(t){if(t)this.fs=t;else if(Bn)this.fs=yt();else throw new Error("`fs` is required")}updateConfig(t){this.config={...this.config,...t},this.interpolateConfig(),this.md.set({typographer:!!this.config.enableTypographer,breaks:!!this.config.breakOnSingleNewLine,linkify:!!this.config.enableLinkify})}interpolateConfig(){let t=/\${\s*(\w+?)\s*}/g,n={projectDir:this.notebookPath,workspaceFolder:this.notebookPath};this.config.imageFolderPath=this.config.imageFolderPath?.replace(t,(a,r)=>n[r]||a),this.config.imageMagickPath=this.config.imageMagickPath?.replace(t,(a,r)=>n[r]||a),this.config.chromePath=this.config.chromePath?.replace(t,(a,r)=>n[r]||a),this.config.plantumlJarPath=this.config.plantumlJarPath?.replace(t,(a,r)=>n[r]||a)}async getBacklinkedNotes(t){if(t=this.resolveNoteRelativePath(t),t in this.referenceMap.map){let n=this.referenceMap.map[t],a={};for(let r in n){if(r===t)continue;let o=await this.getNote(r);o&&(a[r]=o)}return a}else return{}}async getReferences(t,n){return this.referenceMap.getReferences(this.resolveNoteRelativePath(t),this.resolveNoteRelativePath(n))}async processNoteMentionsAndMentionedBy(t){let n=await this.getNote(t);if(!n)return;let a=this.md.parse(n.markdown,{}),r=c=>(c.endsWith(".md")||(c=c+".md"),c.startsWith("/")?W.relative(this.notebookPath,W.join(this.notebookPath,"."+c)):W.relative(this.notebookPath,W.join(W.dirname(W.join(this.notebookPath,n.filePath)),c))),o=(c,p,g,f)=>{for(let h=0;h<c.length;h++){let u=c[h];if(u.type==="wikilink"){let m=u.content.split("|"),b,E;if(this.config.useGitHubStylePipedLink?(b=m[0].trim(),E=(m.length>1?m[1]:m[0]).trim()):(b=(m.length>1?m[1]:m[0]).trim(),E=m[0].trim()),E.match(/https?:\/\//))continue;g.push({elementId:u.attrGet("id")||"",text:b,link:r(E),parentToken:p,token:u})}else if(u.type==="tag"){let m=u.content.trim(),b=u.content.trim();g.push({elementId:u.attrGet("id")||"",text:m,link:r(b),parentToken:p,token:u})}else if(u.type==="link_open"&&c[h+1]&&c[h+1].type==="text"){if(u.attrs?.length&&u.attrs[0][0]==="href"){let m=decodeURI(u.attrs[0][1]),b=c[h+1].content.trim();if(m.match(/https?:\/\//)||!b.length||!m.endsWith(".md"))continue;g.push({elementId:u.attrGet("id")||"",text:b,link:r(m),parentToken:p,token:u})}}else u.children&&u.children.length&&o(u.children,u,g,f+1)}return g},s=o(a,null,[],0),l=new Set,d=n.mentions;for(let c in d)this.referenceMap.deleteReferences(c,n.filePath);for(let c=0;c<s.length;c++){let{link:p}=s[c];l[p]=!0,this.referenceMap.addReference(p,n.filePath,s[c])}this.referenceMap.addReference(n.filePath,n.filePath,void 0),n.mentions=l}async getNote(t,n=!1){if(t=this.resolveNoteRelativePath(t),!n&&t in this.notes)return this.notes[t];let a=this.resolveNoteAbsolutePath(t),r;try{r=await this.fs.stat(a)}catch{return null}if(r.isFile()&&this.config.markdownFileExtensions.includes(W.extname(t))){let o=await this.fs.readFile(a),s={createdAt:new Date(r.ctimeMs),modifiedAt:new Date(r.mtimeMs),aliases:[]};try{let p=Tt(o),g=Object.assign({},p.data);if(p.data.created&&(s.createdAt=new Date(p.data.created),delete g.created),p.data.modified&&(s.modifiedAt=new Date(p.data.modified),delete g.modified),p.data.pinned&&(s.pinned=p.data.pinned,delete g.pinned),p.data.favorited&&(s.favorited=p.data.favorited,delete g.favorited),p.data.icon&&(s.icon=p.data.icon,delete g.icon),p.data.aliases){let f=p.data.aliases||[];typeof f=="string"?s.aliases=f.split(",").map(h=>h.trim()):s.aliases=f,delete g.aliases}o=We(p.content,g)}catch{o=`Please fix front-matter. (\u{1F448} Don't forget to delete this line)
|
|
324
324
|
|
|
325
|
-
`+o}let l=new Set,d=this.notes[t];d&&(l=d.mentions);let c={notebookPath:this.notebookPath,filePath:W.relative(this.notebookPath,a),title:W.basename(a).replace(/\.md$/,""),markdown:o,config:s,mentions:l};return n&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases),await this.processNoteMentionsAndMentionedBy(c.filePath)),c}else return null}async refreshNotesIfNotLoaded({dir:t="./",includeSubdirectories:n=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:t,includeSubdirectories:n,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:t="./",includeSubdirectories:n=!1,refreshRelations:a=!0}){a&&(this.notes={},this.referenceMap=new we,this.search=new fe);let r=[];try{r=await this.fs.readdir(W.resolve(this.notebookPath,t))}catch(s){console.error(s),r=[]}let o=[];for(let s=0;s<r.length;s++){let l=r[s];if(l.match(/^(node_modules|\.git)$/))continue;let d=W.resolve(this.notebookPath,t,l),c=await this.getNote(W.relative(this.notebookPath,d));c&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases));let p;try{p=await this.fs.stat(d)}catch(g){console.error(g)}p&&p.isDirectory()&&n&&o.push(this.refreshNotes({dir:W.relative(this.notebookPath,d),includeSubdirectories:n,refreshRelations:!1}))}if(await Promise.all(o),a)for(let s in this.notes)await this.processNoteMentionsAndMentionedBy(s);return this.notes}async writeNote(t,n,a){let r=n;try{let s=
|
|
325
|
+
`+o}let l=new Set,d=this.notes[t];d&&(l=d.mentions);let c={notebookPath:this.notebookPath,filePath:W.relative(this.notebookPath,a),title:W.basename(a).replace(/\.md$/,""),markdown:o,config:s,mentions:l};return n&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases),await this.processNoteMentionsAndMentionedBy(c.filePath)),c}else return null}async refreshNotesIfNotLoaded({dir:t="./",includeSubdirectories:n=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:t,includeSubdirectories:n,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:t="./",includeSubdirectories:n=!1,refreshRelations:a=!0}){a&&(this.notes={},this.referenceMap=new we,this.search=new fe);let r=[];try{r=await this.fs.readdir(W.resolve(this.notebookPath,t))}catch(s){console.error(s),r=[]}let o=[];for(let s=0;s<r.length;s++){let l=r[s];if(l.match(/^(node_modules|\.git)$/))continue;let d=W.resolve(this.notebookPath,t,l),c=await this.getNote(W.relative(this.notebookPath,d));c&&(this.notes[c.filePath]=c,this.search.add(c.filePath,c.title,c.config.aliases));let p;try{p=await this.fs.stat(d)}catch(g){console.error(g)}p&&p.isDirectory()&&n&&o.push(this.refreshNotes({dir:W.relative(this.notebookPath,d),includeSubdirectories:n,refreshRelations:!1}))}if(await Promise.all(o),a)for(let s in this.notes)await this.processNoteMentionsAndMentionedBy(s);return this.notes}async writeNote(t,n,a){let r=n;try{let s=Tt(n),l=Object.assign(s.data||{},a),d=l.aliases;(!d||!d.length)&&delete l.aliases,n=s.content,n=We(n,l)}catch{n=We(n,a)}await this.fs.writeFile(this.resolveNoteAbsolutePath(t),n);let o=await this.getNote(t,!0);return o&&(o.markdown=r),o}async removeNoteRelations(t){let n=await this.getNote(t);if(!n)return;let a=n.mentions;for(let r in a)this.referenceMap.deleteReferences(r,n.filePath);delete this.notes[n.filePath]}async deleteNote(t){let n=this.resolveNoteAbsolutePath(t);await this.fs.exists(n)&&(await this.fs.unlink(n),await this.removeNoteRelations(t),this.search.remove(t))}async duplicateNote(t){let n=await this.getNote(t);if(!n)return;let a=n.config;a.createdAt=new Date,a.modifiedAt=new Date;let r=t.replace(/\.md$/,".copy.md");return await this.writeNote(r,n.markdown,a),await this.getNote(r,!0)}resolveNoteAbsolutePath(t){return W.isAbsolute(t)?t:W.resolve(this.notebookPath,t)}resolveNoteRelativePath(t){return W.isAbsolute(t)?W.relative(this.notebookPath,t):t}getNoteMarkdownEngine(t){return t=this.resolveNoteRelativePath(t),t in this.markdownEngines||(this.markdownEngines[t]=new Ve({notebook:this,filePath:this.resolveNoteAbsolutePath(t)})),this.markdownEngines[t]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let t in this.markdownEngines)this.markdownEngines[t].clearCaches()}};import{escape as Rr}from"html-escaper";var Ar={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function zn(e){return e=e.toLowerCase(),Ar[e]||e}function Hn(e){e.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function jn(e){e.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var be=ra(Wn());be.default.hooks.add("wrap",e=>{e.type==="keyword"&&e.classes.push(`keyword-${e.content}`)});jn(be.default);Hn(be.default);async function kt(e){e("pre>code").each((t,n)=>{let a=e(n),r=a.text(),o=a.parent();a.replaceWith(Rr(r)),o.addClass("language-text")}),e('[data-role="codeBlock"]').each((t,n)=>{let a=e(n);if(a.data("hiddenByEnhancer")||a.data("normalizedInfo").attributes.hide===!0){a.remove();return}let o=a.text(),s=a.data("normalizedInfo"),l=Ir(zn(s.language),o);try{let d=be.default.highlight(o,be.default.languages[l],l);a.html(d)}catch{a.empty().append(e("<code></code>").text(o))}a.addClass(`language-${l}`),s.attributes.class&&(a.addClass(s.attributes.class),vr(a,o)),s.attributes.highlight&&Nr(a,o,s.attributes.highlight),a.removeAttr("data-parsed-info"),a.removeAttr("data-normalized-info")})}function Ir(e,t){return e==="vega"||e==="vega-lite"?(t.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":e}function vr(e,t){if(e.hasClass("numberLines")&&(e.addClass("line-numbers"),e.removeClass("numberLines")),e.hasClass("line-numbers")){if(!t.trim().length)return;let n=t.match(/\n(?!$)/g),a=n?n.length+1:1,r="";for(let o=0;o<a;o++)r+="<span></span>";e.append(`<span aria-hidden="true" class="line-numbers-rows">${r}</span>`)}}function Nr(e,t,n){if(!t.trim().length)return;typeof n=="number"?n=[n.toString()]:typeof n=="string"&&(n=n.split(","));let a=t.match(/\n(?!$)/g),r=a?a.length+1:1,o=[];n.forEach(s=>{if(s=s.toString(),s.indexOf("-")>0){let[l,d]=s.split("-").map(g=>parseInt(g,10));if(isNaN(l)||isNaN(d)||l<0||d<0||(l>d&&([l,d]=[d,l]),d>r))return;let c="";for(let g=l;g<=d;g++)c+=`
|
|
326
326
|
`;let p="";for(let g=0;g<l-1;g++)p+=`
|
|
327
327
|
`;o.push(`<div class="line-highlight-wrapper">${p}<div aria-hidden="true" class="line-highlight" data-range="${l}-${d}" data-start="${l}" data-end="${d}">${c}</div></div>`)}else{let l="",d=parseInt(s,10);if(isNaN(d)||d<0||d>r)return;for(let c=0;c<d-1;c++)l+=`
|
|
328
328
|
`;o.push(`<div class="line-highlight-wrapper">${l}<div aria-hidden="true" class="line-highlight" data-range="${s}" data-start="${s}">
|
|
329
|
-
</div></div>`)}}),e.append(o.join("")),e.attr("data-line",n.join(","))}import{
|
|
330
|
-
`),u=Ee(p.normalizedInfo);p.running=!0;let m,b="text",E=p.normalizedInfo.attributes.modify_source;try{let S=p.normalizedInfo.attributes;if(u==="toc")m=pe(a,{ordered:S.ordered_list,depthFrom:S.depth_from,depthTo:S.depth_to,tab:S.tab||" ",ignoreLink:S.ignore_link}).content,b="markdown",E=!0;else{if(!r)return"";m=await
|
|
329
|
+
</div></div>`)}}),e.append(o.join("")),e.attr("data-line",n.join(","))}import{extname as Cr}from"path";async function Ye(e,t,n){let a=[];e("img").each((r,o)=>{let s=e(o),l=n(s.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=Q(l),l=l.replace(/\?(\.|\d)+$/,"");let c=Cr(l).slice(1);if(c==="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(s.attr("src",`data:image/${c};charset=utf-8;base64,${g}`),p(g))).catch(()=>p(null))}))}}),await Promise.all(a)}import{extname as Or}from"path";async function wt(e,t,n){let a=[];e("img").each((r,o)=>{let s=e(o),l=n(s.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=Q(l),l=l.replace(/\?(\.|\d)+$/,""),Or(l).slice(1)!=="svg")return;a.push(new Promise(p=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(s.attr("src",`data:image/svg+xml;charset=utf-8;base64,${g}`),p(g))).catch(()=>p(null))}))}}),await Promise.all(a)}async function At(e){let t=[],n=[],a=[];e("table").each((r,o)=>{let s=e(o),l=null;s.children().each((d,c)=>{e(c).children().each((g,f)=>{let h=e(f);h.children().each((u,m)=>{let b=e(m),E=b.text();if(E.length){if(E.trim()==="^"&&l){let S=e(l.children()[u]);S.length&&t.push([S,b])}else if(E.trim()===">"){let S=b.next();S.length&&n.push([b,S])}}else{let S=b.prev();S.length&&a.push([S,b])}}),l=h})})});for(let r=t.length-1;r>=0;r--){let[o,s]=t[r],l=(parseInt(o.attr("rowspan"),10)||1)+(parseInt(s.attr("rowspan"),10)||1);o.attr("rowspan",l.toString()),s.remove()}for(let r=0;r<n.length;r++){let[o,s]=n[r],l=(parseInt(o.attr("colspan"),10)||1)+(parseInt(s.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}for(let r=a.length-1;r>=0;r--){let[o,s]=a[r],l=(parseInt(o.attr("colspan"),10)||1)+(parseInt(s.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}}import{escape as xr}from"html-escaper";async function _t(e,t,n,a){let r=[],o=[];e('[data-role="codeBlock"]').each((s,l)=>{let d=e(l);if(d.data("executor"))return;let c=d.data("normalizedInfo");c.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(Lr(d,c,e,t,o,n,a)))}),await Promise.all(r)}async function Lr(e,t,n,a,r,o,s){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,c=Ee(t),p=["js","javascript"].indexOf(c)!==-1,g=n('<div class="code-chunk"></div>');g.attr("data-id",d),g.attr("data-cmd",c),p&&g.attr("data-code",l),e.replaceWith(g);let f=n('<div class="input-div"/>');f.append(e),g.append(f);let h=a[d],u=r.length?r[r.length-1].id:"";h?(h.code=l,h.normalizedInfo=t,h.prev=u):(h={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:u,next:null},a[d]=h),u&&a[u]&&(a[u].next=d),r.push(h),o.triggeredBySave&&t.attributes.run_on_save&&await Ke(d,a,s);let m=h.result;!m&&h.normalizedInfo.attributes.element&&(m=h.normalizedInfo.attributes.element,h.result=m),h.running&&g.addClass("running");let b='<div class="status">running...</div>',E='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',S=`<div class="output-div">${m}</div>`;!o.isForPreview&&p&&(S+=`<script>${l}</script>`,m=h.normalizedInfo.attributes.element||""),f.append(E),f.append(b),t.attributes.output_first===!0?g.prepend(S):g.append(S)}async function Ke(e,t,n){let{headings:a,enableScriptExecution:r,filePath:o,fileDirectoryPath:s,latexEngine:l,modifySource:d,parseMD:c}=n,p=t[e];if(!p||p.running)return"";let g=[p.code],f=p;for(;f.normalizedInfo.attributes.continue;){let S=f.normalizedInfo.attributes.continue;if(S===!0&&(S=f.prev),f=t[S],!f)break;g.unshift(f.code)}let h=g.join(`
|
|
330
|
+
`),u=Ee(p.normalizedInfo);p.running=!0;let m,b="text",E=p.normalizedInfo.attributes.modify_source;try{let S=p.normalizedInfo.attributes;if(u==="toc")m=pe(a,{ordered:S.ordered_list,depthFrom:S.depth_from,depthTo:S.depth_to,tab:S.tab||" ",ignoreLink:S.ignore_link}).content,b="markdown",E=!0;else{if(!r)return"";m=await sn(h,s,u,p.normalizedInfo.attributes,l)}if(p.plainResult=m,E&&"code_chunk_offset"in p.normalizedInfo.attributes)return p.result="",d(p,m,o);if(u.match(/(la)?tex/)||u==="pdflatex"||u.match(/python/)&&(S.matplotlib||S.mpl)?b="markdown":p.normalizedInfo.attributes.output&&(b=p.normalizedInfo.attributes.output),!m)m="";else if(b!=="html")if(b==="png")m=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(m).toString("base64")}">`;else if(b==="markdown"){let{html:_}=await c(m,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});m=_}else b==="none"?m="":m=`<pre class="language-text">${xr(m)}</pre>`}catch(S){m=`<pre class="language-text">${S}</pre>`}return p.result=m,p.running=!1,m}async function Rt(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(Ke(a,e,t));return Promise.all(n)}import Dr from"cross-fetch";import{escape as Pr}from"html-escaper";import*as Vn from"yaml";var Ze=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},Mr=["mermaid","puml","plantuml","wavedrom","graphviz","viz","dot","vega","vega-lite"];async function It({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:o,kirokiServer:s}){let l=[];e('[data-role="codeBlock"]').each((d,c)=>{let p=e(c);if(p.data("executor"))return;let g=p.data("normalizedInfo"),f=!!g.attributes.kroki;g.attributes.literate===!1||g.attributes.cmd===!1||Mr.indexOf(g.language)===-1&&!f||(p.data("executor","fenced-diagrams"),g.attributes.literate!==!1&&l.push(Fr({$container:p,normalizedInfo:g,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:o,isKroki:f,kirokiServer:s})))}),await Promise.all(l)}async function Fr({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:o,plantumlJarPath:s,isKroki:l,kirokiServer:d}){let c=null,p=e.text(),g=K(JSON.stringify(t)+p),f=a[g];if(l)if(f)c=f;else{let h=d||"https://kroki.io",u=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let b=await(await Dr(`${h}/${u}/${t.attributes.output??"svg"}`,{method:"POST",body:p,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();c=`<div ${q(Ze(t.attributes,t.language))}>${b}</div>`,a[g]=c}catch(m){c=`<pre class="language-text">${m}</pre>`}}else try{switch(t.language){case"mermaid":{c=`<div ${q(Ze(t.attributes,t.language))}>${Pr(p)}</div>`;break}case"wavedrom":{c=`<div ${q(Ze(t.attributes,t.language))}><script type="WaveDrom">${p}</script></div>`;break}case"puml":case"plantuml":{let h=f;h||(h=await Le({content:p,fileDirectoryPath:r,serverURL:o,plantumlJarPath:s}),a[g]=h),c=`<p ${q(t.attributes)}>${h}</p>`;break}case"graphviz":case"viz":case"dot":{let h=f;if(!h){let u=t.attributes.engine||"dot";h=await Fe(p,{engine:u}),a[g]=h}c=`<p ${q(t.attributes)}>${h}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let h=p.trim(),u;h[0]!=="{"?u=Vn.parse(h):u=JSON.parse(h),c=Ur(JSON.stringify(u).replace("<","<"),t.attributes,t.language)}else{let h=f;h||(h=await(t.language==="vega"?ue:Pe)(p,r),a[g]=h),c=`<p ${q(t.attributes)}>${h}</p>`}break}}}catch(h){c=n(`<pre class="language-text">${h.toString()}</pre>`)}c!==null&&(t.attributes.output_first===!0?e.before(c):e.after(c)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var Ur=(e,t,n)=>`<p ${q(Ze(t,n))}><span style="display: none">${e}</span></p>`;var Br=["math"];async function vt(e,t,n,a){return e('[data-role="codeBlock"]').each((r,o)=>{let s=e(o);if(s.data("executor"))return;let l=s.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||Br.indexOf(l.language)===-1||(s.data("executor","math"),l.attributes.literate===!1))return;let d=s.text(),c=$r(d,l,t,n,a);l.attributes.output_first===!0?s.before(c):s.after(c),l.attributes.hide!==!1&&s.data("hiddenByEnhancer",!0)}),e}var $r=(e,t,n,a,r)=>{let o=null;try{let s=ze({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});o=`<p ${q(t.attributes)}>${s}</p>`}catch(s){o=`<pre class="language-text">${s.toString()}</pre>`}return o};async function Nt(e,t,n,a){e("img, a").each((r,o)=>{let s="src";o.name==="a"&&(s="href");let l=e(o),d=l.attr(s);if(t.isForPreview&&o.name!=="a"&&l.parent().prev().hasClass("sync-line")){let c=parseInt(l.parent().prev().attr("data-line"),10);c&&l.parent().after(`<p data-line="${c+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(s,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,o)=>{let s=o.attribs.class,l=o.attribs.id,d=e(o),c=d.prev();c.addClass(s),c.attr("id",encodeURIComponent(l)),d.remove()})}var Kn=[{key:"vega-embed",version:"6.22.2"}],Ve=class e{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??ge().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Yn.AES.decrypt(n,"crossnote").toString(Yn.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/jquery/jquery.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/jquery-contextmenu/jquery.ui.position.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/jquery-contextmenu/jquery.contextMenu.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/jquery-modal/jquery.modal.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
|
|
331
331
|
import zenuml from 'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
|
|
332
332
|
await mermaid.registerExternalDiagrams([zenuml]);
|
|
333
|
-
</script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/wavedrom/default.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/wavedrom/wavedrom.min.js"),a)}" charset="UTF-8"></script>`,this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let o=
|
|
333
|
+
</script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/wavedrom/default.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${j(R.resolve(F(),"./dependencies/wavedrom/wavedrom.min.js"),a)}" charset="UTF-8"></script>`,this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let o=qn({...this.notebook.config.mathjaxConfig});o.tex=o.tex||{},o.tex.inlineMath=this.notebook.config.mathInlineDelimiters,o.tex.displayMath=this.notebook.config.mathBlockDelimiters,o.startup=o.startup||{},o.startup.typeset=!1,o.startup.elements=[".hidden-preview"],r+=`<script type="text/javascript"> window.MathJax = (${JSON.stringify(o)}); </script>`,r+=`<script type="text/javascript" async src="${this.notebook.config.mathjaxV3ScriptSrc}" charset="UTF-8"></script>`}if(t){r+=`<script src='${j(R.resolve(F(),"./dependencies/reveal/lib/js/head.min.js"),a)}'></script>`,r+=`<script src='${j(R.resolve(F(),"./dependencies/reveal/js/reveal.js"),a)}'></script>`;let o=n.presentation||{};typeof o!="object"&&(o={});let s=o.dependencies||[];s instanceof Array||(s=[]),o.dependencies=s,r+=`
|
|
334
334
|
<script>
|
|
335
335
|
Reveal.initialize(${JSON.stringify({margin:.1,...o})})
|
|
336
336
|
</script>
|
|
@@ -363,7 +363,7 @@ if (typeof(window['Reveal']) !== 'undefined') {
|
|
|
363
363
|
}
|
|
364
364
|
</script>`,t&&(r+=`<script>
|
|
365
365
|
WaveDrom.ProcessAll()
|
|
366
|
-
</script>`),
|
|
366
|
+
</script>`),Kn.forEach(({key:o})=>{r+=`<script src="${j(R.resolve(F(),`./dependencies/${o}/${o}.min.js`),a)}" charset="UTF-8"></script>`}),t&&(r+=`<script>
|
|
367
367
|
var vegaEls = document.querySelectorAll('.vega, .vega-lite');
|
|
368
368
|
function reportVegaError(el, error) {
|
|
369
369
|
el.innerHTML = '<pre class="language-text">' + error.toString() + '</pre>'
|
|
@@ -442,7 +442,7 @@ if (typeof(window['Reveal']) !== 'undefined') {
|
|
|
442
442
|
${this.generateScriptsForPreview(u,g,d)}
|
|
443
443
|
${r}
|
|
444
444
|
<script src="${a}"></script>
|
|
445
|
-
</html>`}async generateHTMLTemplateForExport(t,n={},a){let r=n.id||"",o=n.class||[];typeof o=="string"&&(o=[o]),o=o.join(" ");let s="";if(this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let C=
|
|
445
|
+
</html>`}async generateHTMLTemplateForExport(t,n={},a){let r=n.id||"",o=n.class||[];typeof o=="string"&&(o=[o]),o=o.join(" ");let s="";if(this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let C=qn({...this.notebook.config.mathjaxConfig});C.tex=C.tex||{},C.tex.inlineMath=this.notebook.config.mathInlineDelimiters,C.tex.displayMath=this.notebook.config.mathBlockDelimiters,a.offline?s=`
|
|
446
446
|
<script type="text/javascript">
|
|
447
447
|
window.MathJax = (${JSON.stringify(C)});
|
|
448
448
|
</script>
|
|
@@ -487,7 +487,7 @@ if (typeof(window['Reveal']) !== 'undefined') {
|
|
|
487
487
|
nodes: document.querySelectorAll('.mermaid')
|
|
488
488
|
})
|
|
489
489
|
}
|
|
490
|
-
</script>`);let p="",g="";t.indexOf(' class="wavedrom')>=0&&(a.offline?(p+=`<script type="text/javascript" src="file:///${R.resolve(F(),"./dependencies/wavedrom/default.js")}" charset="UTF-8"></script>`,p+=`<script type="text/javascript" src="file:///${R.resolve(F(),"./dependencies/wavedrom/wavedrom.min.js")}" charset="UTF-8"></script>`):(p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/skins/default.js"></script>',p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/wavedrom.min.js"></script>'),g="<script>WaveDrom.ProcessAll()</script>");let f="",h="";(t.indexOf(' class="vega')>=0||t.indexOf(' class="vega-lite')>=0)&&(
|
|
490
|
+
</script>`);let p="",g="";t.indexOf(' class="wavedrom')>=0&&(a.offline?(p+=`<script type="text/javascript" src="file:///${R.resolve(F(),"./dependencies/wavedrom/default.js")}" charset="UTF-8"></script>`,p+=`<script type="text/javascript" src="file:///${R.resolve(F(),"./dependencies/wavedrom/wavedrom.min.js")}" charset="UTF-8"></script>`):(p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/skins/default.js"></script>',p+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/wavedrom.min.js"></script>'),g="<script>WaveDrom.ProcessAll()</script>");let f="",h="";(t.indexOf(' class="vega')>=0||t.indexOf(' class="vega-lite')>=0)&&(Kn.forEach(({key:C,version:v})=>{f+=a.offline?`<script type="text/javascript" src="file:///${R.resolve(F(),`./dependencies/${C}/${C}.min.js`)}" charset="UTF-8"></script>`:`<script type="text/javascript" src="https://${this.notebook.config.jsdelivrCdnHost}/npm/${C}@${v}/build/${C}.js"></script>`}),h+=`<script>
|
|
491
491
|
var vegaEls = document.querySelectorAll('.vega, .vega-lite');
|
|
492
492
|
function reportVegaError(el, error) {
|
|
493
493
|
el.innerHTML = '<pre class="language-text">' + error.toString() + '</pre>'
|
|
@@ -562,7 +562,7 @@ sidebarTOCBtn.addEventListener('click', function(event) {
|
|
|
562
562
|
${h}
|
|
563
563
|
${T}
|
|
564
564
|
</html>
|
|
565
|
-
`,a.embedLocalImages||a.embedSVG){let C=ie.load(t);a.embedLocalImages&&await Ye(C,this.notebook
|
|
565
|
+
`,a.embedLocalImages||a.embedSVG){let C=ie.load(t);a.embedLocalImages&&await Ye(C,this.notebook,this.resolveFilePath.bind(this)),a.embedSVG&&await wt(C,this.notebook,this.resolveFilePath.bind(this)),t=C.html()}return t.trim()}async openInBrowser({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath),a,r;({html:a,yamlConfig:r}=await this.parseMD(n,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t})),a=await this.generateHTMLTemplateForExport(a,r,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let o=await J({prefix:"crossnote",suffix:".html"});Y.writeFileSync(o.fd,a),se(o.path)}async htmlExport({offline:t=!1,runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r,o;({html:r,yamlConfig:o}=await this.parseMD(a,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let s=o.html||{};"offline"in s&&(t=s.offline);let l=s.embed_local_images,d=!0;"embed_svg"in s&&(d=s.embed_svg);let c=this.filePath,p=R.extname(c);if(c=c.replace(new RegExp(p+"$"),".html"),r=await this.generateHTMLTemplateForExport(r,o,{isForPrint:!1,isForPrince:!1,embedLocalImages:l,offline:t,embedSVG:d}),!t&&r.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let g=R.resolve(R.dirname(c),"revealjs_deps");Y.existsSync(g)||Y.mkdirSync(g),Y.createReadStream(R.resolve(F(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(Y.createWriteStream(R.resolve(g,"notes.js"))),Y.createReadStream(R.resolve(F(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(Y.createWriteStream(R.resolve(g,"notes.html")))}return await this.fs.writeFile(c,r),c}async chromeExport({fileType:t="pdf",runAllCodeChunks:n=!1,openFileAfterGeneration:a=!1}){let r=await this.fs.readFile(this.filePath),o,s;({html:o,yamlConfig:s}=await this.parseMD(r,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t),o=await this.generateHTMLTemplateForExport(o,s,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let c="";try{if(c=this.notebook.config.chromePath,!c){let E=(await import("chrome-paths")).default;c=E.chrome||E.chromeCanary||E.chromium}}catch{c=""}if(!c)throw new Error("Chrome executable path is not set.");let g=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:c,headless:!0}),f=await J({prefix:"crossnote",suffix:".html"});Y.writeFileSync(f.fd,o);let h=await g.newPage(),u="file:///"+f.path+(s.isPresentationMode?"?print-pdf":"");await h.goto(u);let m={path:l,...s.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...s.chrome||s.puppeteer||{}},b=0;return s.chrome&&s.chrome.timeout?b=s.chrome.timeout:s.puppeteer&&s.puppeteer.timeout&&(b=s.puppeteer.timeout),b&&typeof b=="number"?await h.waitForTimeout(b):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await h.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),t==="pdf"?await h.pdf(m):(m.fullPage=!0,await h.screenshot(m)),g.close(),a&&se(l),l}async princeExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath),r,o;({html:r,yamlConfig:o}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t}));let s=this.filePath,l=R.extname(s);s=s.replace(new RegExp(l+"$"),".pdf"),r=await this.generateHTMLTemplateForExport(r,o,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let d=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(d.fd,r),o.isPresentationMode?"file:///"+d.path+"?print-pdf":(await Cn(d.path,s),n&&se(s),s)}async eBookDownloadImages(t,n){let a=[];(R.extname(n)===".epub"||R.extname("dest")===".mobi")&&t("img").each((o,s)=>{let l=t(s);(l.attr("src")||"").match(/^https?:\/\//)&&a.push(l)});let r=a.map(o=>new Promise(s=>{let l=o.attr("src"),d=Math.random().toString(36).substr(2,9)+"_"+R.basename(l);d=R.resolve(this.fileDirectoryPath,d),zr(l).pipe(Y.createWriteStream(d)).on("finish",()=>(o.attr("src","file:///"+d),s(d)))}));return Promise.all(r)}async eBookExport({fileType:t="epub",runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r=t==="pdf",o,s;({html:o,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n,emojiToSvg:r}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t.toLowerCase());let c=s.ebook||{};if(!c)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(c.cover){let w=c.cover;c.cover=Q(this.resolveFilePath(w,!1))}let p=ie.load(`<div>${o}</div>`),g=[],f=new ee,h=p("div > ul").last();if(h.length){if(c.include_toc===!1){let w=h.prev();w.length&&w[0].name.match(/^h\d$/i)&&w.remove()}p("h1, h2, h3, h4, h5, h6").each((w,N)=>{let C=p(N),v=parseInt(C[0].name.slice(1),10)-1;C.attr("ebook-toc-level-"+(v+1),""),C.attr("heading",C.html())}),u(h,0),c.include_toc===!1&&h.remove()}function u(w,N){w.children("li").each((C,v)=>{let O=p(v),$=O.children("a").first();if(!$.length){O.children().length>=1&&u(O.children().last(),N+1);return}let U=decodeURIComponent($.attr("href")),B=$.html()??"",x=f.generateId("ebook-heading-"+B);g.push({level:N,filePath:U,heading:B,id:x}),$.attr("href","#"+x),O.children().length>1&&u(O.children().last(),N+1)})}let m=g.map(({heading:w,id:N,level:C,filePath:v},O)=>new Promise(($,U)=>{if(v=Q(v),v.match(/^https?:\/\//))return $({heading:w,id:N,level:C,filePath:v,html:"",offset:O});Y.readFile(v,{encoding:"utf-8"},(B,x)=>{if(B)return U(B.toString());let G=R.dirname(this.filePath);x=x.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(I,H,z)=>{let L=R.resolve(R.dirname(v),z),P=R.relative(G,L);return H+P}),this.parseMD(x,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:r,fileDirectoryPath:R.dirname(v)}).then(({html:I})=>$({heading:w,id:N,level:C,filePath:v,html:I,offset:O}))})})),b=p.html().replace(/^<div>(.+)<\/div>$/,"$1"),E=await Promise.all(m);E=E.sort((w,N)=>w.offset-N.offset),E.forEach(({heading:w,id:N,level:C,html:v})=>{let O=ie.load(`<div>${v}</div>`);O("a").each(($,U)=>{let B=O(U),x=B.attr("href");x.startsWith("file://")&&E.forEach(G=>{G.filePath===Q(x)&&B.attr("href","#"+G.id)})}),b+=`<div id="${N}" ebook-toc-level-${C+1} heading="${w}">${O.html()}</div>`}),p=ie.load(b);let S=await this.eBookDownloadImages(p,l);if(R.extname(l)===".html"){if(c.cover){let w=c.cover[0]==="/"?"file:///"+c.cover:c.cover;p(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${w}">`)}await Ye(p,this.notebook,this.resolveFilePath.bind(this))}b=p.html();let _=c.title||"no title",A="";b.indexOf('class="katex"')>0&&(R.extname(l)===".html"&&c.html&&c.html.cdn?A=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.8/dist/katex.min.css">`:A=`<link rel="stylesheet" href="file:///${R.resolve(F(),"./dependencies/katex/katex.min.css")}">`);let k="";try{k=(await Promise.all([await this.fs.readFile(R.resolve(F(),"./styles/style-template.css")),await this.fs.readFile(R.resolve(F(),`./styles/prism_theme/${e.AutoPrismThemeMap[c.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(R.resolve(F(),"./styles/twemoji.css")),await this.fs.readFile(R.resolve(F(),`./styles/preview_theme/${c.theme||this.notebook.config.previewTheme}`)),b.indexOf("admonition")>0?await this.fs.readFile(R.resolve(F(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{k=""}let T="";try{T=this.notebook.config.globalCss}catch{}if(o=`
|
|
566
566
|
<!DOCTYPE html>
|
|
567
567
|
<html>
|
|
568
568
|
<head>
|
|
@@ -581,11 +581,11 @@ sidebarTOCBtn.addEventListener('click', function(event) {
|
|
|
581
581
|
</div>
|
|
582
582
|
</body>
|
|
583
583
|
</html>
|
|
584
|
-
`,R.extname(l)===".html")return await this.fs.writeFile(l,o),l;function y(){S.forEach(w=>{Y.unlink(w,()=>{})})}try{let w=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(w.fd,o),await
|
|
585
|
-
---`);if(s>0){let l=a.slice(0,s+4);r=this.processFrontMatter(l,!1).data}}let o=await
|
|
584
|
+
`,R.extname(l)===".html")return await this.fs.writeFile(l,o),l;function y(){S.forEach(w=>{Y.unlink(w,()=>{})})}try{let w=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(w.fd,o),await Gt(w.path,l,c),y(),l}catch(w){throw y(),w}}async pandocExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath);this.notebook.config.parserConfig.onWillParseMarkdown&&(a=await this.notebook.config.parserConfig.onWillParseMarkdown(a)),t&&await this.parseMD(a,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let r={};if(a.startsWith("---")){let s=a.indexOf(`
|
|
585
|
+
---`);if(s>0){let l=a.slice(0,s+4);r=this.processFrontMatter(l,!1).data}}let o=await Nn(a,{fileDirectoryPath:this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath,sourceFilePath:this.filePath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r);return n&&se(o),o}async markdownExport({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath);t&&await this.parseMD(n,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let a={};if(n.startsWith("---")){let o=n.indexOf(`
|
|
586
586
|
---`);if(o>0){let s=n.slice(0,o+4);n=n.replace(s,""),a=this.processFrontMatter(s,!1).data}}let r={};return a.markdown&&(r={...a.markdown}),r.image_dir||(r.image_dir=this.notebook.config.imageFolderPath),r.path||(this.filePath.match(/\.src\./)?r.path=this.filePath.replace(/\.src\./,"."):r.path=this.filePath.replace(new RegExp(R.extname(this.filePath)),"_"+R.extname(this.filePath)),r.path=R.basename(r.path)),(r.ignore_from_front_matter||!("ignore_from_front_matter"in r))&&delete a.markdown,a.export_on_save&&delete a.export_on_save,Object.keys(a).length&&(n=`---
|
|
587
|
-
`+
|
|
588
|
-
`+n),await
|
|
587
|
+
`+Zn.stringify(a)+`---
|
|
588
|
+
`+n),await _n(n,{projectDirectoryPath:this.projectDirectoryPath,fileDirectoryPath:this.fileDirectoryPath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r)}exportOnSave(t){let n=at();for(let a in t)if(a==="html")this.htmlExport({});else if(!n&&a==="prince")this.princeExport({openFileAfterGeneration:!1});else if(!n&&a==="puppeteer"||a==="chrome"){let r=t[a],o=this.chromeExport;o=o.bind(this),r===!0?o({fileType:"pdf",openFileAfterGeneration:!1}):typeof r=="string"?o({fileType:r,openFileAfterGeneration:!1}):r instanceof Array&&r.forEach(s=>{o({fileType:s,openFileAfterGeneration:!1})})}else if(!n&&a==="pandoc")this.pandocExport({openFileAfterGeneration:!1});else if(!n&&a==="ebook"){let r=t[a];r===!0?this.eBookExport({fileType:"epub"}):typeof r=="string"?this.eBookExport({fileType:r}):r instanceof Array&&r.forEach(o=>{this.eBookExport({fileType:o})})}}resolveFilePath(t="",n,a=""){return t.match(this.protocolsWhiteListRegExp)||t.startsWith("data:image/")||t[0]==="#"?t:t[0]==="/"?n?R.relative(a||this.fileDirectoryPath,R.resolve(this.projectDirectoryPath,"."+t)):j(R.resolve(this.projectDirectoryPath,"."+t),this.vscodePreviewPanel):n?t:j(R.resolve(a||this.fileDirectoryPath,t),this.vscodePreviewPanel)}clearCaches(){this.filesCache={},this.codeChunksData={},this.graphsCache={}}frontMatterToTable(t){if(t instanceof Array){let n="<tbody><tr>";return t.forEach(a=>n+=`<td>${this.frontMatterToTable(a)}</td>`),n+="</tr></tbody>",`<table>${n}</table>`}else if(typeof t=="object"){let n="<thead><tr>",a="<tbody><tr>";for(let r in t)t.hasOwnProperty(r)&&(n+=`<th>${r}</th>`,a+=`<td>${this.frontMatterToTable(t[r])}</td>`);return n+="</tr></thead>",a+="</tr></tbody>",`<table>${n}${a}</table>`}else return t}processFrontMatter(t,n=!1){if(t){let a=Re(t);if(this.notebook.config.usePandocParser)return{content:t,table:"",data:a||{}};if(n||(this.notebook.config.frontMatterRenderingOption??"")[0]==="n")return{content:"",table:"",data:a};if((this.notebook.config.frontMatterRenderingOption??"")[0]==="t"){let r;return typeof a=="object"?r=this.frontMatterToTable(a):r="<pre>Failed to parse YAML.</pre>",{content:"",table:r,data:a}}else return{content:t.replace(/^---/,"```yaml").replace(/\n---$/,"\n```\n"),table:"",data:a}}else return{content:t,table:"",data:{}}}parseSlides(t,n,a){let r=t.split("<p>[CROSSNOTESLIDE]</p>"),o=r[0];r=r.slice(1);let s="",l=0,d=-1,c=0;for(;l<r.length;){let g=r[l],f=n[l];"data-background-image"in f&&(f["data-background-image"]=this.resolveFilePath(f["data-background-image"],a)),"data-background-video"in f&&(f["data-background-video"]=this.resolveFilePath(f["data-background-video"],a)),"data-background-iframe"in f&&(f["data-background-iframe"]=this.resolveFilePath(f["data-background-iframe"],a));let h=q(f,!1),u=f.class||"",m=f.id?`id="${f.id}"`:"";f.vertical?c+=1:(d+=1,l>0&&n[l-1].vertical&&(s+="</section>",c=0),l<r.length-1&&n[l+1].vertical&&(s+="<section>")),s+=`<section ${h} ${m} class="slide ${u}" data-line="${f.lineNo}" data-h="${d}" data-v="${c}">${g}</section>`,l+=1}l>0&&n[l-1].vertical&&(s+="</section>");let p=ie.load(s);return p("li").each((g,f)=>{let h=p(f),m=(h.html()??"").trim().split(`
|
|
589
589
|
`)[0].match(/<!--(.+?)-->/);if(m){let b=m[1].replace(/\.element:/,"").trim(),E=te(b);for(let S in E)E.hasOwnProperty(S)&&h.attr(S,E[S])}}),`
|
|
590
590
|
<div style="display:none;">${o}</div>
|
|
591
591
|
<div class="reveal">
|
|
@@ -598,8 +598,8 @@ sidebarTOCBtn.addEventListener('click', function(event) {
|
|
|
598
598
|
`}else g[1].length===d?r+=`${g[1]}\`\`\`
|
|
599
599
|
`:(l=!l,r+=p+`
|
|
600
600
|
`);s+=1;continue}p.match(/^\[toc\]/i)&&!l&&(p="[CROSSNOTETOC]"),r+=p+`
|
|
601
|
-
`,s+=1}let c=this.notebook.config.pandocPath;return await new Promise((p,g)=>{try{
|
|
602
|
-
Check "http://pandoc.org/installing.html" website.`),g(h)}})}async parseMD(t,n){t||(t=await this.fs.readFile(this.filePath)),this.vscodePreviewPanel=n.vscodePreviewPanel,this.notebook.config.parserConfig.onWillParseMarkdown&&(t=await this.notebook.config.parserConfig.onWillParseMarkdown(t)),this.notebook.config.parserConfig.onWillTransformMarkdown&&(t=await this.notebook.config.parserConfig.onWillTransformMarkdown(t));let a,r,o,s,l,d;({outputString:a,slideConfigs:r,tocBracketEnabled:o,JSAndCssFiles:s,headings:l,frontMatterString:d}=await le(t,{fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath,forPreview:n.isForPreview,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,useRelativeFilePath:n.useRelativeFilePath,filesCache:this.filesCache,notebook:this.notebook})),this.notebook.config.parserConfig.onDidTransformMarkdown&&(a=await this.notebook.config.parserConfig.onDidTransformMarkdown(a));let c=this.processFrontMatter(d,n.hideFrontMatter),p=c.table,g=c.data||{};typeof g!="object"&&(g={}),a=c.content+a;let f;if(this.notebook.config.usePandocParser)try{let S=g.pandoc_args||[];S instanceof Array||(S=[]),S.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(g.bibliography||g.references)&&S.push("--citeproc"),S=this.notebook.config.pandocArguments.concat(S),f=await this.pandocRender(a,S)}catch(S){f=`<pre>${S}</pre>`}else f=this.notebook.md.render(a);let h=g.toc||{},u=h.depth_from||1,m=h.depth_to||6,b=h.ordered;this.tocHTML=
|
|
601
|
+
`,s+=1}let c=this.notebook.config.pandocPath;return await new Promise((p,g)=>{try{Gr(c,n,{cwd:this.fileDirectoryPath,maxBuffer:1/0},(h,u,m)=>h?g(h):p(m?"<pre>"+m+"</pre>"+u:u)).stdin?.end(r,"utf-8")}catch(f){let h=f.toString();return h.indexOf("Error: write EPIPE")>=0&&(h=`"pandoc" is required to be installed.
|
|
602
|
+
Check "http://pandoc.org/installing.html" website.`),g(h)}})}async parseMD(t,n){t||(t=await this.fs.readFile(this.filePath)),this.vscodePreviewPanel=n.vscodePreviewPanel,this.notebook.config.parserConfig.onWillParseMarkdown&&(t=await this.notebook.config.parserConfig.onWillParseMarkdown(t)),this.notebook.config.parserConfig.onWillTransformMarkdown&&(t=await this.notebook.config.parserConfig.onWillTransformMarkdown(t));let a,r,o,s,l,d;({outputString:a,slideConfigs:r,tocBracketEnabled:o,JSAndCssFiles:s,headings:l,frontMatterString:d}=await le(t,{fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath,forPreview:n.isForPreview,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,useRelativeFilePath:n.useRelativeFilePath,filesCache:this.filesCache,notebook:this.notebook})),this.notebook.config.parserConfig.onDidTransformMarkdown&&(a=await this.notebook.config.parserConfig.onDidTransformMarkdown(a));let c=this.processFrontMatter(d,n.hideFrontMatter),p=c.table,g=c.data||{};typeof g!="object"&&(g={}),a=c.content+a;let f;if(this.notebook.config.usePandocParser)try{let S=g.pandoc_args||[];S instanceof Array||(S=[]),S.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(g.bibliography||g.references)&&S.push("--citeproc"),S=this.notebook.config.pandocArguments.concat(S),f=await this.pandocRender(a,S)}catch(S){f=`<pre>${S}</pre>`}else f=this.notebook.md.render(a);let h=g.toc||{},u=h.depth_from||1,m=h.depth_to||6,b=h.ordered;this.tocHTML=Ht(l,this.notebook.md.render.bind(this.notebook.md),{ordered:b,depthFrom:u,depthTo:m,tab:" "}),this.headings=l,o&&(f=f.replace(/^\s*<p>\[CROSSNOTETOC\]<\/p>\s*/gm,this.tocHTML));let E=ie.load(f);return await vt(E,this.notebook.config.mathRenderingOption,this.notebook.config.mathBlockDelimiters,this.notebook.config.katexConfig),await It({$:E,graphsCache:this.graphsCache,fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,imageDirectoryPath:Q(this.resolveFilePath(this.notebook.config.imageFolderPath,!1)),plantumlServer:this.notebook.config.plantumlServer,plantumlJarPath:this.notebook.config.plantumlJarPath,kirokiServer:this.notebook.config.krokiServer}),await _t(E,this.codeChunksData,n,this.generateRunOptions()),await kt(E),await Nt(E,n,this.resolveFilePath.bind(this),this.notebook.config.usePandocParser),this.notebook.config.enableExtendedTableSyntax&&await At(E),f=p+E("head").html()+E("body").html(),r.length&&(f=this.parseSlides(f,r,n.useRelativeFilePath),g&&(g.isPresentationMode=!0)),this.notebook.config.parserConfig.onDidParseMarkdown&&(f=await this.notebook.config.parserConfig.onDidParseMarkdown(f)),n.runAllCodeChunks?(await Rt(this.codeChunksData,this.generateRunOptions()),n.runAllCodeChunks=!1,this.parseMD(t,n)):(n.isForPreview&&(this.isPreviewInPresentationMode=!!r.length),n.triggeredBySave&&g.export_on_save&&this.exportOnSave(g.export_on_save),this.notebook.config.enableScriptExecution||(s=[]),{html:f,markdown:t,tocHTML:this.tocHTML,yamlConfig:g,JSAndCssFiles:s})}runCodeChunks(){return Rt(this.codeChunksData,this.generateRunOptions())}runCodeChunk(t){return Ke(t,this.codeChunksData,this.generateRunOptions())}async modifySource(t,n,a){let r=()=>(t.running=!1,n),o=await this.notebook.fs.readFile(a);if(!o)return r();let s=async(g,f)=>{let h=f.length,u=0;for(let m=g+1;m<g+6&&m<h;m++)if(f[m].startsWith("<!-- code_chunk_output -->")){u=m;break}if(u){let m=u+1;for(;m<h&&!f[m].startsWith("<!-- /code_chunk_output -->");)m+=1;let b="";for(let S=u+2;S<m-1;S++)b+=f[S]+`
|
|
603
603
|
`;if(b===n+`
|
|
604
604
|
`)return"";let E=[...f.slice(0,u+2),n,...f.slice(m-1)];return await this.notebook.fs.writeFile(a,E.join(`
|
|
605
605
|
`)),""}else{let m=[...f.slice(0,g+1),`
|
|
@@ -610,4 +610,4 @@ ${n}
|
|
|
610
610
|
<!-- /code_chunk_output -->
|
|
611
611
|
`,...f.slice(g+1)];return await this.notebook.fs.writeFile(a,m.join(`
|
|
612
612
|
`)),""}},l=o.split(`
|
|
613
|
-
`)||[],d=l.length,c=0,p=t.normalizedInfo.attributes.code_chunk_offset;for(let g=0;g<d;g++){let f=l[g];if(f.match(/^```(.+)"?cmd"?\s*[=\s}]/))if(c===p){for(g=g+1;g<d&&!l[g].match(/^```\s*/);)g+=1;await s(g,l);break}else c++;else if(f.match(/@import\s+(.+)"?cmd"?\s*[=\s}]/))if(c===p){await s(g,l);break}else c++}return r()}generateRunOptions(){return{enableScriptExecution:this.notebook.config.enableScriptExecution,fileDirectoryPath:this.fileDirectoryPath,filePath:this.filePath,imageFolderPath:this.notebook.config.imageFolderPath,latexEngine:this.notebook.config.latexEngine,modifySource:this.modifySource.bind(this),parseMD:this.parseMD.bind(this),headings:this.headings}}};var
|
|
613
|
+
`)||[],d=l.length,c=0,p=t.normalizedInfo.attributes.code_chunk_offset;for(let g=0;g<d;g++){let f=l[g];if(f.match(/^```(.+)"?cmd"?\s*[=\s}]/))if(c===p){for(g=g+1;g<d&&!l[g].match(/^```\s*/);)g+=1;await s(g,l);break}else c++;else if(f.match(/@import\s+(.+)"?cmd"?\s*[=\s}]/))if(c===p){await s(g,l);break}else c++}return r()}generateRunOptions(){return{enableScriptExecution:this.notebook.config.enableScriptExecution,fileDirectoryPath:this.fileDirectoryPath,filePath:this.filePath,imageFolderPath:this.notebook.config.imageFolderPath,latexEngine:this.notebook.config.latexEngine,modifySource:this.modifySource.bind(this),parseMD:this.parseMD.bind(this),headings:this.headings}}};var Gl={addFileProtocol:j,getCrossnoteBuildDirectory:F,openFile:se,setCrossnoteBuildDirectory:Mt,useExternalAddFileProtocolFunction:Ft,uploadImage:et};export{Bn as IS_NODE,Ve as MarkdownEngine,Gn as Notebook,ht as getDefaultKatexConfig,bt as getDefaultMathjaxConfig,ft as getDefaultMermaidConfig,ge as getDefaultNotebookConfig,Et as getDefaultParserConfig,St as loadConfigsInDirectory,Gl as utility,yt as wrapNodeFSAsApi};
|