v-code-diff 1.7.0 → 1.7.1
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/dist/v2/index.cjs.js +1 -1
- package/dist/v2/index.es.js +1 -1
- package/dist/v2/index.umd.js +1 -1
- package/dist/v2.7/index.cjs.js +1 -1
- package/dist/v2.7/index.es.js +1 -1
- package/dist/v2.7/index.umd.js +1 -1
- package/dist/v3/index.cjs.js +1 -1
- package/dist/v3/index.es.js +1 -1
- package/dist/v3/index.umd.js +1 -1
- package/package.json +1 -1
- package/src/utils.ts +1 -1
package/dist/v2.7/index.cjs.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
`),s=0,a=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;s<i.length;){var l=i[s].match(a);if(!l)throw new Error("Invalid patch string: "+i[s]);var c=new e.patch_obj;for(r.push(c),c.start1=parseInt(l[1],10),l[2]===""?(c.start1--,c.length1=1):l[2]=="0"?c.length1=0:(c.start1--,c.length1=parseInt(l[2],10)),c.start2=parseInt(l[3],10),l[4]===""?(c.start2--,c.length2=1):l[4]=="0"?c.length2=0:(c.start2--,c.length2=parseInt(l[4],10)),s++;s<i.length;){var f=i[s].charAt(0);try{var h=decodeURI(i[s].substring(1))}catch(d){throw new Error("Illegal escape in patch_fromText: "+h)}if(f=="-")c.diffs.push(new e.Diff(o,h));else if(f=="+")c.diffs.push(new e.Diff(u,h));else if(f==" ")c.diffs.push(new e.Diff(g,h));else{if(f=="@")break;if(f!=="")throw new Error('Invalid patch mode "'+f+'" in: '+h)}s++}}return r},e.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},e.patch_obj.prototype.toString=function(){var t,r;this.length1===0?t=this.start1+",0":this.length1==1?t=this.start1+1:t=this.start1+1+","+this.length1,this.length2===0?r=this.start2+",0":this.length2==1?r=this.start2+1:r=this.start2+1+","+this.length2;for(var i=["@@ -"+t+" +"+r+` @@
|
|
5
5
|
`],s,a=0;a<this.diffs.length;a++){switch(this.diffs[a][0]){case u:s="+";break;case o:s="-";break;case g:s=" ";break}i[a+1]=s+encodeURI(this.diffs[a][1])+`
|
|
6
6
|
`}return i.join("").replace(/%20/g," ")},n.exports=e,n.exports.diff_match_patch=e,n.exports.DIFF_DELETE=o,n.exports.DIFF_INSERT=u,n.exports.DIFF_EQUAL=g})(tn);var Re=tn.exports,ke={exports:{}};function Be(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(function(e){var o=n[e];typeof o=="object"&&!Object.isFrozen(o)&&Be(o)}),n}ke.exports=Be;ke.exports.default=Be;class Qe{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function rn(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function re(n,...e){const o=Object.create(null);for(const u in n)o[u]=n[u];return e.forEach(function(u){for(const g in u)o[g]=u[g]}),o}const Pn="</span>",Ve=n=>!!n.scope||n.sublanguage&&n.language,xn=(n,{prefix:e})=>{if(n.includes(".")){const o=n.split(".");return[`${e}${o.shift()}`,...o.map((u,g)=>`${u}${"_".repeat(g+1)}`)].join(" ")}return`${e}${n}`};class Hn{constructor(e,o){this.buffer="",this.classPrefix=o.classPrefix,e.walk(this)}addText(e){this.buffer+=rn(e)}openNode(e){if(!Ve(e))return;let o="";e.sublanguage?o=`language-${e.language}`:o=xn(e.scope,{prefix:this.classPrefix}),this.span(o)}closeNode(e){Ve(e)&&(this.buffer+=Pn)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const Ze=(n={})=>{const e={children:[]};return Object.assign(e,n),e};class $e{constructor(){this.rootNode=Ze(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const o=Ze({scope:e});this.add(o),this.stack.push(o)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,o){return typeof o=="string"?e.addText(o):o.children&&(e.openNode(o),o.children.forEach(u=>this._walk(e,u)),e.closeNode(o)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(o=>typeof o=="string")?e.children=[e.children.join("")]:e.children.forEach(o=>{$e._collapse(o)}))}}class Fn extends $e{constructor(e){super(),this.options=e}addKeyword(e,o){e!==""&&(this.openNode(o),this.addText(e),this.closeNode())}addText(e){e!==""&&this.add(e)}addSublanguage(e,o){const u=e.root;u.sublanguage=!0,u.language=o,this.add(u)}toHTML(){return new Hn(this,this.options).value()}finalize(){return!0}}function fe(n){return n?typeof n=="string"?n:n.source:null}function sn(n){return ae("(?=",n,")")}function zn(n){return ae("(?:",n,")*")}function Gn(n){return ae("(?:",n,")?")}function ae(...n){return n.map(o=>fe(o)).join("")}function Kn(n){const e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function Ue(...n){return"("+(Kn(n).capture?"":"?:")+n.map(u=>fe(u)).join("|")+")"}function an(n){return new RegExp(n.toString()+"|").exec("").length-1}function Wn(n,e){const o=n&&n.exec(e);return o&&o.index===0}const Qn=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Pe(n,{joinWith:e}){let o=0;return n.map(u=>{o+=1;const g=o;let t=fe(u),r="";for(;t.length>0;){const i=Qn.exec(t);if(!i){r+=t;break}r+=t.substring(0,i.index),t=t.substring(i.index+i[0].length),i[0][0]==="\\"&&i[1]?r+="\\"+String(Number(i[1])+g):(r+=i[0],i[0]==="("&&o++)}return r}).map(u=>`(${u})`).join(e)}const Vn=/\b\B/,on="[a-zA-Z]\\w*",xe="[a-zA-Z_]\\w*",ln="\\b\\d+(\\.\\d+)?",cn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",un="\\b(0b[01]+)",Zn="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Yn=(n={})=>{const e=/^#![ ]*\//;return n.binary&&(n.begin=ae(e,/.*\b/,n.binary,/\b.*/)),re({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(o,u)=>{o.index!==0&&u.ignoreMatch()}},n)},ge={begin:"\\\\[\\s\\S]",relevance:0},Xn={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ge]},jn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ge]},Jn={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Ae=function(n,e,o={}){const u=re({scope:"comment",begin:n,end:e,contains:[]},o);u.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const g=Ue("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return u.contains.push({begin:ae(/[ ]+/,"(",g,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),u},qn=Ae("//","$"),et=Ae("/\\*","\\*/"),nt=Ae("#","$"),tt={scope:"number",begin:ln,relevance:0},rt={scope:"number",begin:cn,relevance:0},it={scope:"number",begin:un,relevance:0},st={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[ge,{begin:/\[/,end:/\]/,relevance:0,contains:[ge]}]}]},at={scope:"title",begin:on,relevance:0},ot={scope:"title",begin:xe,relevance:0},lt={begin:"\\.\\s*"+xe,relevance:0},ct=function(n){return Object.assign(n,{"on:begin":(e,o)=>{o.data._beginMatch=e[1]},"on:end":(e,o)=>{o.data._beginMatch!==e[1]&&o.ignoreMatch()}})};var Ee=Object.freeze({__proto__:null,MATCH_NOTHING_RE:Vn,IDENT_RE:on,UNDERSCORE_IDENT_RE:xe,NUMBER_RE:ln,C_NUMBER_RE:cn,BINARY_NUMBER_RE:un,RE_STARTERS_RE:Zn,SHEBANG:Yn,BACKSLASH_ESCAPE:ge,APOS_STRING_MODE:Xn,QUOTE_STRING_MODE:jn,PHRASAL_WORDS_MODE:Jn,COMMENT:Ae,C_LINE_COMMENT_MODE:qn,C_BLOCK_COMMENT_MODE:et,HASH_COMMENT_MODE:nt,NUMBER_MODE:tt,C_NUMBER_MODE:rt,BINARY_NUMBER_MODE:it,REGEXP_MODE:st,TITLE_MODE:at,UNDERSCORE_TITLE_MODE:ot,METHOD_GUARD:lt,END_SAME_AS_BEGIN:ct});function ut(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function ft(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function gt(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=ut,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function ht(n,e){Array.isArray(n.illegal)&&(n.illegal=Ue(...n.illegal))}function dt(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function pt(n,e){n.relevance===void 0&&(n.relevance=1)}const _t=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");const o=Object.assign({},n);Object.keys(n).forEach(u=>{delete n[u]}),n.keywords=o.keywords,n.begin=ae(o.beforeMatch,sn(o.begin)),n.starts={relevance:0,contains:[Object.assign(o,{endsParent:!0})]},n.relevance=0,delete o.beforeMatch},bt=["of","and","for","in","not","or","if","then","parent","list","value"],vt="keyword";function fn(n,e,o=vt){const u=Object.create(null);return typeof n=="string"?g(o,n.split(" ")):Array.isArray(n)?g(o,n):Object.keys(n).forEach(function(t){Object.assign(u,fn(n[t],e,t))}),u;function g(t,r){e&&(r=r.map(i=>i.toLowerCase())),r.forEach(function(i){const s=i.split("|");u[s[0]]=[t,Et(s[0],s[1])]})}}function Et(n,e){return e?Number(e):mt(n)?0:1}function mt(n){return bt.includes(n.toLowerCase())}const Ye={},se=n=>{console.error(n)},Xe=(n,...e)=>{console.log(`WARN: ${n}`,...e)},oe=(n,e)=>{Ye[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),Ye[`${n}/${e}`]=!0)},Ne=new Error;function gn(n,e,{key:o}){let u=0;const g=n[o],t={},r={};for(let i=1;i<=e.length;i++)r[i+u]=g[i],t[i+u]=!0,u+=an(e[i-1]);n[o]=r,n[o]._emit=t,n[o]._multi=!0}function yt(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw se("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ne;if(typeof n.beginScope!="object"||n.beginScope===null)throw se("beginScope must be object"),Ne;gn(n,n.begin,{key:"beginScope"}),n.begin=Pe(n.begin,{joinWith:""})}}function wt(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw se("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ne;if(typeof n.endScope!="object"||n.endScope===null)throw se("endScope must be object"),Ne;gn(n,n.end,{key:"endScope"}),n.end=Pe(n.end,{joinWith:""})}}function Nt(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function Mt(n){Nt(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),yt(n),wt(n)}function At(n){function e(r,i){return new RegExp(fe(r),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(i?"g":""))}class o{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=an(i)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const i=this.regexes.map(s=>s[1]);this.matcherRe=e(Pe(i,{joinWith:"|"}),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(i);if(!s)return null;const a=s.findIndex((c,f)=>f>0&&c!==void 0),l=this.matchIndexes[a];return s.splice(0,a),Object.assign(s,l)}}class u{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];const s=new o;return this.rules.slice(i).forEach(([a,l])=>s.addRule(a,l)),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),s.type==="begin"&&this.count++}exec(i){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let a=s.exec(i);if(this.resumingScanAtSamePosition()&&!(a&&a.index===this.lastIndex)){const l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,a=l.exec(i)}return a&&(this.regexIndex+=a.position+1,this.regexIndex===this.count&&this.considerAll()),a}}function g(r){const i=new u;return r.contains.forEach(s=>i.addRule(s.begin,{rule:s,type:"begin"})),r.terminatorEnd&&i.addRule(r.terminatorEnd,{type:"end"}),r.illegal&&i.addRule(r.illegal,{type:"illegal"}),i}function t(r,i){const s=r;if(r.isCompiled)return s;[ft,dt,Mt,_t].forEach(l=>l(r,i)),n.compilerExtensions.forEach(l=>l(r,i)),r.__beforeBegin=null,[gt,ht,pt].forEach(l=>l(r,i)),r.isCompiled=!0;let a=null;return typeof r.keywords=="object"&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),a=r.keywords.$pattern,delete r.keywords.$pattern),a=a||/\w+/,r.keywords&&(r.keywords=fn(r.keywords,n.case_insensitive)),s.keywordPatternRe=e(a,!0),i&&(r.begin||(r.begin=/\B|\b/),s.beginRe=e(s.begin),!r.end&&!r.endsWithParent&&(r.end=/\B|\b/),r.end&&(s.endRe=e(s.end)),s.terminatorEnd=fe(s.end)||"",r.endsWithParent&&i.terminatorEnd&&(s.terminatorEnd+=(r.end?"|":"")+i.terminatorEnd)),r.illegal&&(s.illegalRe=e(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(function(l){return Tt(l==="self"?r:l)})),r.contains.forEach(function(l){t(l,s)}),r.starts&&t(r.starts,i),s.matcher=g(s),s}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=re(n.classNameAliases||{}),t(n)}function hn(n){return n?n.endsWithParent||hn(n.starts):!1}function Tt(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return re(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:hn(n)?re(n,{starts:n.starts?re(n.starts):null}):Object.isFrozen(n)?re(n):n}var Dt="11.7.0";class St extends Error{constructor(e,o){super(e),this.name="HTMLInjectionError",this.html=o}}const Ce=rn,je=re,Je=Symbol("nomatch"),Rt=7,Ct=function(n){const e=Object.create(null),o=Object.create(null),u=[];let g=!0;const t="Could not find the language '{}', did you forget to load/include a language module?",r={disableAutodetect:!0,name:"Plain text",contains:[]};let i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Fn};function s(b){return i.noHighlightRe.test(b)}function a(b){let N=b.className+" ";N+=b.parentNode?b.parentNode.className:"";const L=i.languageDetectRe.exec(N);if(L){const k=R(L[1]);return k||(Xe(t.replace("{}",L[1])),Xe("Falling back to no-highlight mode for this block.",b)),k?L[1]:"no-highlight"}return N.split(/\s+/).find(k=>s(k)||R(k))}function l(b,N,L){let k="",x="";typeof N=="object"?(k=b,L=N.ignoreIllegals,x=N.language):(oe("10.7.0","highlight(lang, code, ...args) has been deprecated."),oe("10.7.0",`Please use highlight(code, options) instead.
|
|
7
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),x=b,k=N),L===void 0&&(L=!0);const W={code:k,language:x};G("before:highlight",W);const X=W.result?W.result:c(W.language,W.code,L);return X.code=W.code,G("after:highlight",X),X}function c(b,N,L,k){const x=Object.create(null);function W(y,A){return y.keywords[A]}function X(){if(!C.keywords){z.addText(P);return}let y=0;C.keywordPatternRe.lastIndex=0;let A=C.keywordPatternRe.exec(P),O="";for(;A;){O+=P.substring(y,A.index);const B=te.case_insensitive?A[0].toLowerCase():A[0],K=W(C,B);if(K){const[j,Tn]=K;if(z.addText(O),O="",x[B]=(x[B]||0)+1,x[B]<=Rt&&(ve+=Tn),j.startsWith("_"))O+=A[0];else{const Dn=te.classNameAliases[j]||j;z.addKeyword(A[0],Dn)}}else O+=A[0];y=C.keywordPatternRe.lastIndex,A=C.keywordPatternRe.exec(P)}O+=P.substring(y),z.addText(O)}function _e(){if(P==="")return;let y=null;if(typeof C.subLanguage=="string"){if(!e[C.subLanguage]){z.addText(P);return}y=c(C.subLanguage,P,!0,Ge[C.subLanguage]),Ge[C.subLanguage]=y._top}else y=h(P,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(ve+=y.relevance),z.addSublanguage(y._emitter,y.language)}function Q(){C.subLanguage!=null?_e():X(),P=""}function ne(y,A){let O=1;const B=A.length-1;for(;O<=B;){if(!y._emit[O]){O++;continue}const K=te.classNameAliases[y[O]]||y[O],j=A[O];K?z.addKeyword(j,K):(P=j,X(),P=""),O++}}function He(y,A){return y.scope&&typeof y.scope=="string"&&z.openNode(te.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(z.addKeyword(P,te.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),P=""):y.beginScope._multi&&(ne(y.beginScope,A),P="")),C=Object.create(y,{parent:{value:C}}),C}function Fe(y,A,O){let B=Wn(y.endRe,O);if(B){if(y["on:end"]){const K=new Qe(y);y["on:end"](A,K),K.isMatchIgnored&&(B=!1)}if(B){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return Fe(y.parent,A,O)}function yn(y){return C.matcher.regexIndex===0?(P+=y[0],1):(Se=!0,0)}function wn(y){const A=y[0],O=y.rule,B=new Qe(O),K=[O.__beforeBegin,O["on:begin"]];for(const j of K)if(j&&(j(y,B),B.isMatchIgnored))return yn(A);return O.skip?P+=A:(O.excludeBegin&&(P+=A),Q(),!O.returnBegin&&!O.excludeBegin&&(P=A)),He(O,y),O.returnBegin?0:A.length}function Nn(y){const A=y[0],O=N.substring(y.index),B=Fe(C,y,O);if(!B)return Je;const K=C;C.endScope&&C.endScope._wrap?(Q(),z.addKeyword(A,C.endScope._wrap)):C.endScope&&C.endScope._multi?(Q(),ne(C.endScope,y)):K.skip?P+=A:(K.returnEnd||K.excludeEnd||(P+=A),Q(),K.excludeEnd&&(P=A));do C.scope&&z.closeNode(),!C.skip&&!C.subLanguage&&(ve+=C.relevance),C=C.parent;while(C!==B.parent);return B.starts&&He(B.starts,y),K.returnEnd?0:A.length}function Mn(){const y=[];for(let A=C;A!==te;A=A.parent)A.scope&&y.unshift(A.scope);y.forEach(A=>z.openNode(A))}let be={};function ze(y,A){const O=A&&A[0];if(P+=y,O==null)return Q(),0;if(be.type==="begin"&&A.type==="end"&&be.index===A.index&&O===""){if(P+=N.slice(A.index,A.index+1),!g){const B=new Error(`0 width match regex (${b})`);throw B.languageName=b,B.badRule=be.rule,B}return 1}if(be=A,A.type==="begin")return wn(A);if(A.type==="illegal"&&!L){const B=new Error('Illegal lexeme "'+O+'" for mode "'+(C.scope||"<unnamed>")+'"');throw B.mode=C,B}else if(A.type==="end"){const B=Nn(A);if(B!==Je)return B}if(A.type==="illegal"&&O==="")return 1;if(De>1e5&&De>A.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P+=O,O.length}const te=R(b);if(!te)throw se(t.replace("{}",b)),new Error('Unknown language: "'+b+'"');const An=At(te);let Te="",C=k||An;const Ge={},z=new i.__emitter(i);Mn();let P="",ve=0,ie=0,De=0,Se=!1;try{for(C.matcher.considerAll();;){De++,Se?Se=!1:C.matcher.considerAll(),C.matcher.lastIndex=ie;const y=C.matcher.exec(N);if(!y)break;const A=N.substring(ie,y.index),O=ze(A,y);ie=y.index+O}return ze(N.substring(ie)),z.closeAllNodes(),z.finalize(),Te=z.toHTML(),{language:b,value:Te,relevance:ve,illegal:!1,_emitter:z,_top:C}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:b,value:Ce(N),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:ie,context:N.slice(ie-100,ie+100),mode:y.mode,resultSoFar:Te},_emitter:z};if(g)return{language:b,value:Ce(N),illegal:!1,relevance:0,errorRaised:y,_emitter:z,_top:C};throw y}}function f(b){const N={value:Ce(b),illegal:!1,relevance:0,_top:r,_emitter:new i.__emitter(i)};return N._emitter.addText(b),N}function h(b,N){N=N||i.languages||Object.keys(e);const L=f(b),k=N.filter(R).filter(U).map(Q=>c(Q,b,!1));k.unshift(L);const x=k.sort((Q,ne)=>{if(Q.relevance!==ne.relevance)return ne.relevance-Q.relevance;if(Q.language&&ne.language){if(R(Q.language).supersetOf===ne.language)return 1;if(R(ne.language).supersetOf===Q.language)return-1}return 0}),[W,X]=x,_e=W;return _e.secondBest=X,_e}function d(b,N,L){const k=N&&o[N]||L;b.classList.add("hljs"),b.classList.add(`language-${k}`)}function p(b){let N=null;const L=a(b);if(s(L))return;if(G("before:highlightElement",{el:b,language:L}),b.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(b)),i.throwUnescapedHTML))throw new St("One of your code blocks includes unescaped HTML.",b.innerHTML);N=b;const k=N.textContent,x=L?l(k,{language:L,ignoreIllegals:!0}):h(k);b.innerHTML=x.value,d(b,L,x.language),b.result={language:x.language,re:x.relevance,relevance:x.relevance},x.secondBest&&(b.secondBest={language:x.secondBest.language,relevance:x.secondBest.relevance}),G("after:highlightElement",{el:b,result:x,text:k})}function _(b){i=je(i,b)}const v=()=>{m(),oe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){m(),oe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function m(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(i.cssSelector).forEach(p)}function T(){w&&m()}typeof window!="undefined"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",T,!1);function D(b,N){let L=null;try{L=N(n)}catch(k){if(se("Language definition for '{}' could not be registered.".replace("{}",b)),g)se(k);else throw k;L=r}L.name||(L.name=b),e[b]=L,L.rawDefinition=N.bind(null,n),L.aliases&&H(L.aliases,{languageName:b})}function M(b){delete e[b];for(const N of Object.keys(o))o[N]===b&&delete o[N]}function I(){return Object.keys(e)}function R(b){return b=(b||"").toLowerCase(),e[b]||e[o[b]]}function H(b,{languageName:N}){typeof b=="string"&&(b=[b]),b.forEach(L=>{o[L.toLowerCase()]=N})}function U(b){const N=R(b);return N&&!N.disableAutodetect}function $(b){b["before:highlightBlock"]&&!b["before:highlightElement"]&&(b["before:highlightElement"]=N=>{b["before:highlightBlock"](Object.assign({block:N.el},N))}),b["after:highlightBlock"]&&!b["after:highlightElement"]&&(b["after:highlightElement"]=N=>{b["after:highlightBlock"](Object.assign({block:N.el},N))})}function F(b){$(b),u.push(b)}function G(b,N){const L=b;u.forEach(function(k){k[L]&&k[L](N)})}function pe(b){return oe("10.7.0","highlightBlock will be removed entirely in v12.0"),oe("10.7.0","Please use highlightElement now."),p(b)}Object.assign(n,{highlight:l,highlightAuto:h,highlightAll:m,highlightElement:p,highlightBlock:pe,configure:_,initHighlighting:v,initHighlightingOnLoad:E,registerLanguage:D,unregisterLanguage:M,listLanguages:I,getLanguage:R,registerAliases:H,autoDetection:U,inherit:je,addPlugin:F}),n.debugMode=function(){g=!1},n.safeMode=function(){g=!0},n.versionString=Dt,n.regex={concat:ae,lookahead:sn,either:Ue,optional:Gn,anyNumberOfTimes:zn};for(const b in Ee)typeof Ee[b]=="object"&&ke.exports(Ee[b]);return Object.assign(n,Ee),n};var he=Ct({}),Lt=he;he.HighlightJS=he;he.default=he;const Y=Un(Lt);function Ot(n){const e=n.regex,o=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),u=/[\p{L}0-9._:-]+/u,g={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=n.inherit(t,{begin:/\(/,end:/\)/}),i=n.inherit(n.APOS_STRING_MODE,{className:"string"}),s=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),a={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[g]},{begin:/'/,end:/'/,contains:[g]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[t,s,i,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[t,r,s,i]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},g,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[a],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[a],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(o,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:a}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const qe="[A-Za-z$_][0-9A-Za-z$_]*",It=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],kt=["true","false","null","undefined","NaN","Infinity"],dn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],pn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],_n=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Bt=["arguments","this","super","console","window","document","localStorage","module","global"],$t=[].concat(_n,dn,pn);function Ut(n){const e=n.regex,o=(N,{after:L})=>{const k="</"+N[0].slice(1);return N.input.indexOf(k,L)!==-1},u=qe,g={begin:"<>",end:"</>"},t=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,L)=>{const k=N[0].length+N.index,x=N.input[k];if(x==="<"||x===","){L.ignoreMatch();return}x===">"&&(o(N,{after:k})||L.ignoreMatch());let W;const X=N.input.substring(k);if(W=X.match(/^\s*=/)){L.ignoreMatch();return}if((W=X.match(/^\s+extends\s+/))&&W.index===0){L.ignoreMatch();return}}},i={$pattern:qe,keyword:It,literal:kt,built_in:$t,"variable.language":Bt},s="[0-9](_?[0-9])*",a=`\\.(${s})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",c={className:"number",variants:[{begin:`(\\b(${l})((${a})|\\.)?|(${a}))[eE][+-]?(${s})\\b`},{begin:`\\b(${l})\\b((${a})\\b|\\.)?|(${a})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:i,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},d={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"css"}},p={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,f]},v={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:u+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},E=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,{match:/\$\d+/},c];f.contains=E.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(E)});const w=[].concat(v,f.contains),m=w.concat([{begin:/\(/,end:/\)/,keywords:i,contains:["self"].concat(w)}]),T={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m},D={variants:[{match:[/class/,/\s+/,u,/\s+/,/extends/,/\s+/,e.concat(u,"(",e.concat(/\./,u),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,u],scope:{1:"keyword",3:"title.class"}}]},M={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...dn,...pn]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,u,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[T],illegal:/%/},H={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function U(N){return e.concat("(?!",N.join("|"),")")}const $={match:e.concat(/\b/,U([..._n,"super","import"]),u,e.lookahead(/\(/)),className:"title.function",relevance:0},F={begin:e.concat(/\./,e.lookahead(e.concat(u,/(?![0-9A-Za-z$_(])/))),end:u,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},G={match:[/get|set/,/\s+/,u,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},T]},pe="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",b={match:[/const|var|let/,/\s+/,u,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(pe)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[T]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:m,CLASS_REFERENCE:M},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,v,{match:/\$\d+/},c,M,{className:"attr",begin:u+e.lookahead(":"),relevance:0},b,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,n.REGEXP_MODE,{className:"function",begin:pe,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:t},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[T,n.inherit(n.TITLE_MODE,{begin:u,className:"title.function"})]},{match:/\.\.\./,relevance:0},F,{match:"\\$"+u,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[T]},$,H,D,G,{match:/\$[(.]/}]}}function Pt(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},u=["true","false","null"],g={scope:"literal",beginKeywords:u.join(" ")};return{name:"JSON",keywords:{literal:u},contains:[e,o,n.QUOTE_STRING_MODE,g,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function xt(n){const e="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",u={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},g={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},t={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,g]},r=n.inherit(t,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),i="[0-9]{4}(-[0-9][0-9]){0,2}",s="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",a="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",c={className:"number",begin:"\\b"+i+s+a+l+"\\b"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},h={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},d={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},p=[u,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},c,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},h,d,t],_=[...p];return _.pop(),_.push(r),f.contains=_,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:p}}function Ht(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Ft(n){const e=n.regex,o=/[\p{XID_Start}_]\p{XID_Continue}*/u,u=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:u,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},s={className:"meta",begin:/^(>>>|\.\.\.) /},a={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},l={begin:/\{\{/,relevance:0},c={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,a]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",h=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,d=`\\b|${u.join("|")}`,p={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${h}))[eE][+-]?(${f})[jJ]?(?=${d})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${f})[jJ](?=${d})`}]},_={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",s,p,c,n.HASH_COMMENT_MODE]}]};return a.contains=[c,p,s],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|->|\?)|=>/,contains:[s,p,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},c,_,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[p,v,c]}]}}var le="[0-9](_*[0-9])*",me=`\\.(${le})`,ye="[0-9a-fA-F](_*[0-9a-fA-F])*",en={className:"number",variants:[{begin:`(\\b(${le})((${me})|\\.)?|(${me}))[eE][+-]?(${le})[fFdD]?\\b`},{begin:`\\b(${le})((${me})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${me})[fFdD]?\\b`},{begin:`\\b(${le})[fFdD]\\b`},{begin:`\\b0[xX]((${ye})\\.?|(${ye})?\\.(${ye}))[pP][+-]?(${le})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ye})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function bn(n,e,o){return o===-1?"":n.replace(e,u=>bn(n,e,o-1))}function zt(n){const e=n.regex,o="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",u=o+bn("(?:<"+o+"~~~(?:\\s*,\\s*"+o+"~~~)*>)?",/~~~/g,2),s={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},a={className:"meta",begin:"@"+o,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:s,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,o],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,o),/\s+/,o,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,o],className:{1:"keyword",3:"title.class"},contains:[l,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+u+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:s,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[a,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,en,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},en,a]}}function Gt(n){const e=n.regex,o={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const g={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},t={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,o,g]};g.contains.push(r);const i={className:"",begin:/\\"/},s={className:"string",begin:/'/,end:/'/},a={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,o]},l=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],c=n.SHEBANG({binary:`(${l.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],d=["true","false"],p={match:/(\/[a-z._-]+)+/},_=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],v=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],E=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],w=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:h,literal:d,built_in:[..._,...v,"set","shopt",...E,...w]},contains:[c,n.SHEBANG(),f,a,n.HASH_COMMENT_MODE,t,p,r,i,s,o]}}function Kt(n){const e=n.regex,o=n.COMMENT("--","$"),u={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},g={begin:/"/,end:/"/,contains:[{begin:/""/}]},t=["true","false","unknown"],r=["double precision","large object","with timezone","without timezone"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["add","asc","collation","desc","final","first","last","view"],a=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],l=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],c=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=l,d=[...a,...s].filter(w=>!l.includes(w)),p={className:"variable",begin:/@[a-z0-9]+/},_={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={begin:e.concat(/\b/,e.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function E(w,{exceptions:m,when:T}={}){const D=T;return m=m||[],w.map(M=>M.match(/\|\d+$/)||m.includes(M)?M:D(M)?`${M}|0`:M)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:E(d,{when:w=>w.length<3}),literal:t,type:i,built_in:c},contains:[{begin:e.either(...f),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:d.concat(f),literal:t,type:i}},{className:"type",begin:e.either(...r)},v,p,u,g,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,o,_]}}Y.registerLanguage("xml",Ot);Y.registerLanguage("javascript",Ut);Y.registerLanguage("json",Pt);Y.registerLanguage("yaml",xt);Y.registerLanguage("plaintext",Ht);Y.registerLanguage("python",Ft);Y.registerLanguage("java",zt);Y.registerLanguage("bash",Gt);Y.registerLanguage("sql",Kt);var S=(n=>(n.EQUAL="equal",n.DELETE="removed",n.ADD="added",n.EMPTY="empty",n))(S||{});const J="<code-diff-modified>",q="</code-diff-modified>",Wt=J.replace("<","<").replace(">",">"),Qt=q.replace("<","<").replace(">",">");function ce(n){return n===void 0?S.EQUAL:n.added?S.ADD:n.removed?S.DELETE:S.EQUAL}function Me(n,e,o="word"){return typeof n=="undefined"?e:typeof e=="undefined"?n:(o==="char"?Ln:In)(n,e).filter(g=>ce(g)!==S.DELETE).map(g=>ce(g)===S.ADD?`${J}${g.value}${q}`:g.value).join("")}function vn(n,e){const o=new Re.diff_match_patch,u=o.diff_linesToChars_(n,e),g=u.chars1,t=u.chars2,r=u.lineArray,i=o.diff_main(g,t,!1);return o.diff_charsToLines_(i,r),i.map(s=>{const[a,l]=s;return{count:l.trim().split(`
|
|
7
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),x=b,k=N),L===void 0&&(L=!0);const W={code:k,language:x};G("before:highlight",W);const X=W.result?W.result:c(W.language,W.code,L);return X.code=W.code,G("after:highlight",X),X}function c(b,N,L,k){const x=Object.create(null);function W(y,A){return y.keywords[A]}function X(){if(!C.keywords){z.addText(P);return}let y=0;C.keywordPatternRe.lastIndex=0;let A=C.keywordPatternRe.exec(P),O="";for(;A;){O+=P.substring(y,A.index);const B=te.case_insensitive?A[0].toLowerCase():A[0],K=W(C,B);if(K){const[j,Tn]=K;if(z.addText(O),O="",x[B]=(x[B]||0)+1,x[B]<=Rt&&(ve+=Tn),j.startsWith("_"))O+=A[0];else{const Dn=te.classNameAliases[j]||j;z.addKeyword(A[0],Dn)}}else O+=A[0];y=C.keywordPatternRe.lastIndex,A=C.keywordPatternRe.exec(P)}O+=P.substring(y),z.addText(O)}function _e(){if(P==="")return;let y=null;if(typeof C.subLanguage=="string"){if(!e[C.subLanguage]){z.addText(P);return}y=c(C.subLanguage,P,!0,Ge[C.subLanguage]),Ge[C.subLanguage]=y._top}else y=h(P,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(ve+=y.relevance),z.addSublanguage(y._emitter,y.language)}function Q(){C.subLanguage!=null?_e():X(),P=""}function ne(y,A){let O=1;const B=A.length-1;for(;O<=B;){if(!y._emit[O]){O++;continue}const K=te.classNameAliases[y[O]]||y[O],j=A[O];K?z.addKeyword(j,K):(P=j,X(),P=""),O++}}function He(y,A){return y.scope&&typeof y.scope=="string"&&z.openNode(te.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(z.addKeyword(P,te.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),P=""):y.beginScope._multi&&(ne(y.beginScope,A),P="")),C=Object.create(y,{parent:{value:C}}),C}function Fe(y,A,O){let B=Wn(y.endRe,O);if(B){if(y["on:end"]){const K=new Qe(y);y["on:end"](A,K),K.isMatchIgnored&&(B=!1)}if(B){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return Fe(y.parent,A,O)}function yn(y){return C.matcher.regexIndex===0?(P+=y[0],1):(Se=!0,0)}function wn(y){const A=y[0],O=y.rule,B=new Qe(O),K=[O.__beforeBegin,O["on:begin"]];for(const j of K)if(j&&(j(y,B),B.isMatchIgnored))return yn(A);return O.skip?P+=A:(O.excludeBegin&&(P+=A),Q(),!O.returnBegin&&!O.excludeBegin&&(P=A)),He(O,y),O.returnBegin?0:A.length}function Nn(y){const A=y[0],O=N.substring(y.index),B=Fe(C,y,O);if(!B)return Je;const K=C;C.endScope&&C.endScope._wrap?(Q(),z.addKeyword(A,C.endScope._wrap)):C.endScope&&C.endScope._multi?(Q(),ne(C.endScope,y)):K.skip?P+=A:(K.returnEnd||K.excludeEnd||(P+=A),Q(),K.excludeEnd&&(P=A));do C.scope&&z.closeNode(),!C.skip&&!C.subLanguage&&(ve+=C.relevance),C=C.parent;while(C!==B.parent);return B.starts&&He(B.starts,y),K.returnEnd?0:A.length}function Mn(){const y=[];for(let A=C;A!==te;A=A.parent)A.scope&&y.unshift(A.scope);y.forEach(A=>z.openNode(A))}let be={};function ze(y,A){const O=A&&A[0];if(P+=y,O==null)return Q(),0;if(be.type==="begin"&&A.type==="end"&&be.index===A.index&&O===""){if(P+=N.slice(A.index,A.index+1),!g){const B=new Error(`0 width match regex (${b})`);throw B.languageName=b,B.badRule=be.rule,B}return 1}if(be=A,A.type==="begin")return wn(A);if(A.type==="illegal"&&!L){const B=new Error('Illegal lexeme "'+O+'" for mode "'+(C.scope||"<unnamed>")+'"');throw B.mode=C,B}else if(A.type==="end"){const B=Nn(A);if(B!==Je)return B}if(A.type==="illegal"&&O==="")return 1;if(De>1e5&&De>A.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P+=O,O.length}const te=R(b);if(!te)throw se(t.replace("{}",b)),new Error('Unknown language: "'+b+'"');const An=At(te);let Te="",C=k||An;const Ge={},z=new i.__emitter(i);Mn();let P="",ve=0,ie=0,De=0,Se=!1;try{for(C.matcher.considerAll();;){De++,Se?Se=!1:C.matcher.considerAll(),C.matcher.lastIndex=ie;const y=C.matcher.exec(N);if(!y)break;const A=N.substring(ie,y.index),O=ze(A,y);ie=y.index+O}return ze(N.substring(ie)),z.closeAllNodes(),z.finalize(),Te=z.toHTML(),{language:b,value:Te,relevance:ve,illegal:!1,_emitter:z,_top:C}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:b,value:Ce(N),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:ie,context:N.slice(ie-100,ie+100),mode:y.mode,resultSoFar:Te},_emitter:z};if(g)return{language:b,value:Ce(N),illegal:!1,relevance:0,errorRaised:y,_emitter:z,_top:C};throw y}}function f(b){const N={value:Ce(b),illegal:!1,relevance:0,_top:r,_emitter:new i.__emitter(i)};return N._emitter.addText(b),N}function h(b,N){N=N||i.languages||Object.keys(e);const L=f(b),k=N.filter(R).filter(U).map(Q=>c(Q,b,!1));k.unshift(L);const x=k.sort((Q,ne)=>{if(Q.relevance!==ne.relevance)return ne.relevance-Q.relevance;if(Q.language&&ne.language){if(R(Q.language).supersetOf===ne.language)return 1;if(R(ne.language).supersetOf===Q.language)return-1}return 0}),[W,X]=x,_e=W;return _e.secondBest=X,_e}function d(b,N,L){const k=N&&o[N]||L;b.classList.add("hljs"),b.classList.add(`language-${k}`)}function p(b){let N=null;const L=a(b);if(s(L))return;if(G("before:highlightElement",{el:b,language:L}),b.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(b)),i.throwUnescapedHTML))throw new St("One of your code blocks includes unescaped HTML.",b.innerHTML);N=b;const k=N.textContent,x=L?l(k,{language:L,ignoreIllegals:!0}):h(k);b.innerHTML=x.value,d(b,L,x.language),b.result={language:x.language,re:x.relevance,relevance:x.relevance},x.secondBest&&(b.secondBest={language:x.secondBest.language,relevance:x.secondBest.relevance}),G("after:highlightElement",{el:b,result:x,text:k})}function _(b){i=je(i,b)}const v=()=>{m(),oe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){m(),oe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function m(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(i.cssSelector).forEach(p)}function T(){w&&m()}typeof window!="undefined"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",T,!1);function D(b,N){let L=null;try{L=N(n)}catch(k){if(se("Language definition for '{}' could not be registered.".replace("{}",b)),g)se(k);else throw k;L=r}L.name||(L.name=b),e[b]=L,L.rawDefinition=N.bind(null,n),L.aliases&&H(L.aliases,{languageName:b})}function M(b){delete e[b];for(const N of Object.keys(o))o[N]===b&&delete o[N]}function I(){return Object.keys(e)}function R(b){return b=(b||"").toLowerCase(),e[b]||e[o[b]]}function H(b,{languageName:N}){typeof b=="string"&&(b=[b]),b.forEach(L=>{o[L.toLowerCase()]=N})}function U(b){const N=R(b);return N&&!N.disableAutodetect}function $(b){b["before:highlightBlock"]&&!b["before:highlightElement"]&&(b["before:highlightElement"]=N=>{b["before:highlightBlock"](Object.assign({block:N.el},N))}),b["after:highlightBlock"]&&!b["after:highlightElement"]&&(b["after:highlightElement"]=N=>{b["after:highlightBlock"](Object.assign({block:N.el},N))})}function F(b){$(b),u.push(b)}function G(b,N){const L=b;u.forEach(function(k){k[L]&&k[L](N)})}function pe(b){return oe("10.7.0","highlightBlock will be removed entirely in v12.0"),oe("10.7.0","Please use highlightElement now."),p(b)}Object.assign(n,{highlight:l,highlightAuto:h,highlightAll:m,highlightElement:p,highlightBlock:pe,configure:_,initHighlighting:v,initHighlightingOnLoad:E,registerLanguage:D,unregisterLanguage:M,listLanguages:I,getLanguage:R,registerAliases:H,autoDetection:U,inherit:je,addPlugin:F}),n.debugMode=function(){g=!1},n.safeMode=function(){g=!0},n.versionString=Dt,n.regex={concat:ae,lookahead:sn,either:Ue,optional:Gn,anyNumberOfTimes:zn};for(const b in Ee)typeof Ee[b]=="object"&&ke.exports(Ee[b]);return Object.assign(n,Ee),n};var he=Ct({}),Lt=he;he.HighlightJS=he;he.default=he;const Y=Un(Lt);function Ot(n){const e=n.regex,o=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),u=/[\p{L}0-9._:-]+/u,g={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=n.inherit(t,{begin:/\(/,end:/\)/}),i=n.inherit(n.APOS_STRING_MODE,{className:"string"}),s=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),a={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[g]},{begin:/'/,end:/'/,contains:[g]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[t,s,i,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[t,r,s,i]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},g,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[a],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[a],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(o,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:a}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const qe="[A-Za-z$_][0-9A-Za-z$_]*",It=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],kt=["true","false","null","undefined","NaN","Infinity"],dn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],pn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],_n=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Bt=["arguments","this","super","console","window","document","localStorage","module","global"],$t=[].concat(_n,dn,pn);function Ut(n){const e=n.regex,o=(N,{after:L})=>{const k="</"+N[0].slice(1);return N.input.indexOf(k,L)!==-1},u=qe,g={begin:"<>",end:"</>"},t=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,L)=>{const k=N[0].length+N.index,x=N.input[k];if(x==="<"||x===","){L.ignoreMatch();return}x===">"&&(o(N,{after:k})||L.ignoreMatch());let W;const X=N.input.substring(k);if(W=X.match(/^\s*=/)){L.ignoreMatch();return}if((W=X.match(/^\s+extends\s+/))&&W.index===0){L.ignoreMatch();return}}},i={$pattern:qe,keyword:It,literal:kt,built_in:$t,"variable.language":Bt},s="[0-9](_?[0-9])*",a=`\\.(${s})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",c={className:"number",variants:[{begin:`(\\b(${l})((${a})|\\.)?|(${a}))[eE][+-]?(${s})\\b`},{begin:`\\b(${l})\\b((${a})\\b|\\.)?|(${a})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:i,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},d={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"css"}},p={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,f]},v={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:u+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},E=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,{match:/\$\d+/},c];f.contains=E.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(E)});const w=[].concat(v,f.contains),m=w.concat([{begin:/\(/,end:/\)/,keywords:i,contains:["self"].concat(w)}]),T={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m},D={variants:[{match:[/class/,/\s+/,u,/\s+/,/extends/,/\s+/,e.concat(u,"(",e.concat(/\./,u),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,u],scope:{1:"keyword",3:"title.class"}}]},M={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...dn,...pn]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,u,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[T],illegal:/%/},H={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function U(N){return e.concat("(?!",N.join("|"),")")}const $={match:e.concat(/\b/,U([..._n,"super","import"]),u,e.lookahead(/\(/)),className:"title.function",relevance:0},F={begin:e.concat(/\./,e.lookahead(e.concat(u,/(?![0-9A-Za-z$_(])/))),end:u,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},G={match:[/get|set/,/\s+/,u,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},T]},pe="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",b={match:[/const|var|let/,/\s+/,u,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(pe)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[T]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:m,CLASS_REFERENCE:M},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,v,{match:/\$\d+/},c,M,{className:"attr",begin:u+e.lookahead(":"),relevance:0},b,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,n.REGEXP_MODE,{className:"function",begin:pe,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:t},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[T,n.inherit(n.TITLE_MODE,{begin:u,className:"title.function"})]},{match:/\.\.\./,relevance:0},F,{match:"\\$"+u,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[T]},$,H,D,G,{match:/\$[(.]/}]}}function Pt(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},u=["true","false","null"],g={scope:"literal",beginKeywords:u.join(" ")};return{name:"JSON",keywords:{literal:u},contains:[e,o,n.QUOTE_STRING_MODE,g,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function xt(n){const e="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",u={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},g={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},t={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,g]},r=n.inherit(t,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),i="[0-9]{4}(-[0-9][0-9]){0,2}",s="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",a="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",c={className:"number",begin:"\\b"+i+s+a+l+"\\b"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},h={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},d={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},p=[u,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},c,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},h,d,t],_=[...p];return _.pop(),_.push(r),f.contains=_,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:p}}function Ht(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Ft(n){const e=n.regex,o=/[\p{XID_Start}_]\p{XID_Continue}*/u,u=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:u,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},s={className:"meta",begin:/^(>>>|\.\.\.) /},a={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},l={begin:/\{\{/,relevance:0},c={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,a]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",h=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,d=`\\b|${u.join("|")}`,p={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${h}))[eE][+-]?(${f})[jJ]?(?=${d})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${f})[jJ](?=${d})`}]},_={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",s,p,c,n.HASH_COMMENT_MODE]}]};return a.contains=[c,p,s],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|->|\?)|=>/,contains:[s,p,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},c,_,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[p,v,c]}]}}var le="[0-9](_*[0-9])*",me=`\\.(${le})`,ye="[0-9a-fA-F](_*[0-9a-fA-F])*",en={className:"number",variants:[{begin:`(\\b(${le})((${me})|\\.)?|(${me}))[eE][+-]?(${le})[fFdD]?\\b`},{begin:`\\b(${le})((${me})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${me})[fFdD]?\\b`},{begin:`\\b(${le})[fFdD]\\b`},{begin:`\\b0[xX]((${ye})\\.?|(${ye})?\\.(${ye}))[pP][+-]?(${le})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ye})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function bn(n,e,o){return o===-1?"":n.replace(e,u=>bn(n,e,o-1))}function zt(n){const e=n.regex,o="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",u=o+bn("(?:<"+o+"~~~(?:\\s*,\\s*"+o+"~~~)*>)?",/~~~/g,2),s={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},a={className:"meta",begin:"@"+o,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:s,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,o],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,o),/\s+/,o,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,o],className:{1:"keyword",3:"title.class"},contains:[l,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+u+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:s,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[a,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,en,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},en,a]}}function Gt(n){const e=n.regex,o={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const g={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},t={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,o,g]};g.contains.push(r);const i={className:"",begin:/\\"/},s={className:"string",begin:/'/,end:/'/},a={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,o]},l=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],c=n.SHEBANG({binary:`(${l.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],d=["true","false"],p={match:/(\/[a-z._-]+)+/},_=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],v=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],E=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],w=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:h,literal:d,built_in:[..._,...v,"set","shopt",...E,...w]},contains:[c,n.SHEBANG(),f,a,n.HASH_COMMENT_MODE,t,p,r,i,s,o]}}function Kt(n){const e=n.regex,o=n.COMMENT("--","$"),u={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},g={begin:/"/,end:/"/,contains:[{begin:/""/}]},t=["true","false","unknown"],r=["double precision","large object","with timezone","without timezone"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["add","asc","collation","desc","final","first","last","view"],a=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],l=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],c=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=l,d=[...a,...s].filter(w=>!l.includes(w)),p={className:"variable",begin:/@[a-z0-9]+/},_={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={begin:e.concat(/\b/,e.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function E(w,{exceptions:m,when:T}={}){const D=T;return m=m||[],w.map(M=>M.match(/\|\d+$/)||m.includes(M)?M:D(M)?`${M}|0`:M)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:E(d,{when:w=>w.length<3}),literal:t,type:i,built_in:c},contains:[{begin:e.either(...f),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:d.concat(f),literal:t,type:i}},{className:"type",begin:e.either(...r)},v,p,u,g,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,o,_]}}Y.registerLanguage("xml",Ot);Y.registerLanguage("javascript",Ut);Y.registerLanguage("json",Pt);Y.registerLanguage("yaml",xt);Y.registerLanguage("plaintext",Ht);Y.registerLanguage("python",Ft);Y.registerLanguage("java",zt);Y.registerLanguage("bash",Gt);Y.registerLanguage("sql",Kt);var S=(n=>(n.EQUAL="equal",n.DELETE="removed",n.ADD="added",n.EMPTY="empty",n))(S||{});const J="<code-diff-modified>",q="</code-diff-modified>",Wt=J.replace("<","<").replace(">",">"),Qt=q.replace("<","<").replace(">",">");function ce(n){return n===void 0?S.EQUAL:n.added?S.ADD:n.removed?S.DELETE:S.EQUAL}function Me(n,e,o="word"){return typeof n=="undefined"?e:typeof e=="undefined"?n:(o==="char"?Ln:In)(n,e).filter(g=>ce(g)!==S.DELETE).map(g=>ce(g)===S.ADD?`${J}${g.value}${q}`:g.value).join("")}function vn(n,e){const o=new Re.diff_match_patch,u=o.diff_linesToChars_(n,e),g=u.chars1,t=u.chars2,r=u.lineArray,i=o.diff_main(g,t,!1);return o.diff_charsToLines_(i,r),i.map(s=>{const[a,l]=s;return{count:l.replace(/\n$/,"").split(`
|
|
8
8
|
`).length,value:l,removed:a===Re.DIFF_DELETE,added:a===Re.DIFF_INSERT}})}function Z(n,e){if(!e.match(new RegExp(`(${J}|${q})`,"g")))return Y.highlight(e,{language:n}).value;let u=e;const g=e.replace(new RegExp(`(${J}|${q})`,"g"),""),t=document.createElement("div");t.innerHTML=Y.highlight(g,{language:n}).value;let r=!1;const i=s=>{s.childNodes.forEach(a=>{if(a.nodeType===Node.ELEMENT_NODE&&i(a),a.nodeType===Node.TEXT_NODE){if(!a.textContent)return;let l=a.textContent,c="";for(r&&(c=c+J);l.length;){if(u.startsWith(J)){u=u.slice(J.length),c=c+J,r=!0;continue}if(u.startsWith(q)){u=u.slice(q.length),c=c+q,r=!1;continue}const f=u.match(new RegExp(`(${J}|${q})`)),h=f&&f.index?f.index:u.length,d=Math.min(h,l.length);c=c+u.substring(0,d),u=u.slice(d),l=l.slice(d)}r&&(c=c+q),a.textContent=c}})};return i(t),t.innerHTML.replace(new RegExp(Wt,"g"),'<span class="x">').replace(new RegExp(Qt,"g"),"</span>")}function En(n){const e=(g,t)=>(g.match(new RegExp(t,"g"))||[]).length;let o=0,u=0;for(const g of n)g.added&&(o+=e(g.value.trim(),`
|
|
9
9
|
`)+1),g.removed&&(u+=e(g.value.trim(),`
|
|
10
10
|
`)+1);return{additionsNum:o,deletionsNum:u}}function Vt(n,e,o="plaintext",u="word",g=10){const t=()=>({type:S.EMPTY}),r=(p,_,v)=>({type:p,num:_,code:v}),i=vn(n,e);let s=0,a=0,l=!1;const c=[],f={changes:c,collector:[],stat:En(i)};for(let p=0;p<i.length;p++){if(l){l=!1;continue}const[_,v]=[i[p],i[p+1]],[E,w]=[ce(_),ce(v)],m=_.value.replace(/\n$/,"").split(`
|
package/dist/v2.7/index.es.js
CHANGED
|
@@ -4595,7 +4595,7 @@ function En(n, e) {
|
|
|
4595
4595
|
return o.diff_charsToLines_(i, r), i.map((s) => {
|
|
4596
4596
|
const [a, l] = s;
|
|
4597
4597
|
return {
|
|
4598
|
-
count: l.
|
|
4598
|
+
count: l.replace(/\n$/, "").split(`
|
|
4599
4599
|
`).length,
|
|
4600
4600
|
value: l,
|
|
4601
4601
|
removed: a === Le.DIFF_DELETE,
|
package/dist/v2.7/index.umd.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
`),s=0,a=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;s<i.length;){var l=i[s].match(a);if(!l)throw new Error("Invalid patch string: "+i[s]);var c=new e.patch_obj;for(r.push(c),c.start1=parseInt(l[1],10),l[2]===""?(c.start1--,c.length1=1):l[2]=="0"?c.length1=0:(c.start1--,c.length1=parseInt(l[2],10)),c.start2=parseInt(l[3],10),l[4]===""?(c.start2--,c.length2=1):l[4]=="0"?c.length2=0:(c.start2--,c.length2=parseInt(l[4],10)),s++;s<i.length;){var f=i[s].charAt(0);try{var h=decodeURI(i[s].substring(1))}catch(d){throw new Error("Illegal escape in patch_fromText: "+h)}if(f=="-")c.diffs.push(new e.Diff(o,h));else if(f=="+")c.diffs.push(new e.Diff(u,h));else if(f==" ")c.diffs.push(new e.Diff(g,h));else{if(f=="@")break;if(f!=="")throw new Error('Invalid patch mode "'+f+'" in: '+h)}s++}}return r},e.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},e.patch_obj.prototype.toString=function(){var t,r;this.length1===0?t=this.start1+",0":this.length1==1?t=this.start1+1:t=this.start1+1+","+this.length1,this.length2===0?r=this.start2+",0":this.length2==1?r=this.start2+1:r=this.start2+1+","+this.length2;for(var i=["@@ -"+t+" +"+r+` @@
|
|
5
5
|
`],s,a=0;a<this.diffs.length;a++){switch(this.diffs[a][0]){case u:s="+";break;case o:s="-";break;case g:s=" ";break}i[a+1]=s+encodeURI(this.diffs[a][1])+`
|
|
6
6
|
`}return i.join("").replace(/%20/g," ")},n.exports=e,n.exports.diff_match_patch=e,n.exports.DIFF_DELETE=o,n.exports.DIFF_INSERT=u,n.exports.DIFF_EQUAL=g})(Ge);var Re=Ge.exports,Le={exports:{}};function Ce(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(function(e){var o=n[e];typeof o=="object"&&!Object.isFrozen(o)&&Ce(o)}),n}Le.exports=Ce,Le.exports.default=Ce;class Ke{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function We(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function ne(n,...e){const o=Object.create(null);for(const u in n)o[u]=n[u];return e.forEach(function(u){for(const g in u)o[g]=u[g]}),o}const Ln="</span>",Qe=n=>!!n.scope||n.sublanguage&&n.language,Cn=(n,{prefix:e})=>{if(n.includes(".")){const o=n.split(".");return[`${e}${o.shift()}`,...o.map((u,g)=>`${u}${"_".repeat(g+1)}`)].join(" ")}return`${e}${n}`};class On{constructor(e,o){this.buffer="",this.classPrefix=o.classPrefix,e.walk(this)}addText(e){this.buffer+=We(e)}openNode(e){if(!Qe(e))return;let o="";e.sublanguage?o=`language-${e.language}`:o=Cn(e.scope,{prefix:this.classPrefix}),this.span(o)}closeNode(e){Qe(e)&&(this.buffer+=Ln)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}const Ze=(n={})=>{const e={children:[]};return Object.assign(e,n),e};class Oe{constructor(){this.rootNode=Ze(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const o=Ze({scope:e});this.add(o),this.stack.push(o)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,o){return typeof o=="string"?e.addText(o):o.children&&(e.openNode(o),o.children.forEach(u=>this._walk(e,u)),e.closeNode(o)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(o=>typeof o=="string")?e.children=[e.children.join("")]:e.children.forEach(o=>{Oe._collapse(o)}))}}class In extends Oe{constructor(e){super(),this.options=e}addKeyword(e,o){e!==""&&(this.openNode(o),this.addText(e),this.closeNode())}addText(e){e!==""&&this.add(e)}addSublanguage(e,o){const u=e.root;u.sublanguage=!0,u.language=o,this.add(u)}toHTML(){return new On(this,this.options).value()}finalize(){return!0}}function fe(n){return n?typeof n=="string"?n:n.source:null}function Ye(n){return ie("(?=",n,")")}function kn(n){return ie("(?:",n,")*")}function Bn(n){return ie("(?:",n,")?")}function ie(...n){return n.map(o=>fe(o)).join("")}function $n(n){const e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function Ie(...n){return"("+($n(n).capture?"":"?:")+n.map(u=>fe(u)).join("|")+")"}function Xe(n){return new RegExp(n.toString()+"|").exec("").length-1}function Un(n,e){const o=n&&n.exec(e);return o&&o.index===0}const Pn=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ke(n,{joinWith:e}){let o=0;return n.map(u=>{o+=1;const g=o;let t=fe(u),r="";for(;t.length>0;){const i=Pn.exec(t);if(!i){r+=t;break}r+=t.substring(0,i.index),t=t.substring(i.index+i[0].length),i[0][0]==="\\"&&i[1]?r+="\\"+String(Number(i[1])+g):(r+=i[0],i[0]==="("&&o++)}return r}).map(u=>`(${u})`).join(e)}const xn=/\b\B/,je="[a-zA-Z]\\w*",Be="[a-zA-Z_]\\w*",Je="\\b\\d+(\\.\\d+)?",Ve="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",qe="\\b(0b[01]+)",Hn="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Fn=(n={})=>{const e=/^#![ ]*\//;return n.binary&&(n.begin=ie(e,/.*\b/,n.binary,/\b.*/)),ne({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(o,u)=>{o.index!==0&&u.ignoreMatch()}},n)},ge={begin:"\\\\[\\s\\S]",relevance:0},zn={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[ge]},Gn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[ge]},Kn={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},_e=function(n,e,o={}){const u=ne({scope:"comment",begin:n,end:e,contains:[]},o);u.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const g=Ie("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return u.contains.push({begin:ie(/[ ]+/,"(",g,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),u},Wn=_e("//","$"),Qn=_e("/\\*","\\*/"),Zn=_e("#","$"),Yn={scope:"number",begin:Je,relevance:0},Xn={scope:"number",begin:Ve,relevance:0},jn={scope:"number",begin:qe,relevance:0},Jn={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[ge,{begin:/\[/,end:/\]/,relevance:0,contains:[ge]}]}]},Vn={scope:"title",begin:je,relevance:0},qn={scope:"title",begin:Be,relevance:0},et={begin:"\\.\\s*"+Be,relevance:0};var be=Object.freeze({__proto__:null,MATCH_NOTHING_RE:xn,IDENT_RE:je,UNDERSCORE_IDENT_RE:Be,NUMBER_RE:Je,C_NUMBER_RE:Ve,BINARY_NUMBER_RE:qe,RE_STARTERS_RE:Hn,SHEBANG:Fn,BACKSLASH_ESCAPE:ge,APOS_STRING_MODE:zn,QUOTE_STRING_MODE:Gn,PHRASAL_WORDS_MODE:Kn,COMMENT:_e,C_LINE_COMMENT_MODE:Wn,C_BLOCK_COMMENT_MODE:Qn,HASH_COMMENT_MODE:Zn,NUMBER_MODE:Yn,C_NUMBER_MODE:Xn,BINARY_NUMBER_MODE:jn,REGEXP_MODE:Jn,TITLE_MODE:Vn,UNDERSCORE_TITLE_MODE:qn,METHOD_GUARD:et,END_SAME_AS_BEGIN:function(n){return Object.assign(n,{"on:begin":(e,o)=>{o.data._beginMatch=e[1]},"on:end":(e,o)=>{o.data._beginMatch!==e[1]&&o.ignoreMatch()}})}});function nt(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function tt(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function rt(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=nt,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function it(n,e){Array.isArray(n.illegal)&&(n.illegal=Ie(...n.illegal))}function st(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function at(n,e){n.relevance===void 0&&(n.relevance=1)}const ot=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");const o=Object.assign({},n);Object.keys(n).forEach(u=>{delete n[u]}),n.keywords=o.keywords,n.begin=ie(o.beforeMatch,Ye(o.begin)),n.starts={relevance:0,contains:[Object.assign(o,{endsParent:!0})]},n.relevance=0,delete o.beforeMatch},lt=["of","and","for","in","not","or","if","then","parent","list","value"],ct="keyword";function en(n,e,o=ct){const u=Object.create(null);return typeof n=="string"?g(o,n.split(" ")):Array.isArray(n)?g(o,n):Object.keys(n).forEach(function(t){Object.assign(u,en(n[t],e,t))}),u;function g(t,r){e&&(r=r.map(i=>i.toLowerCase())),r.forEach(function(i){const s=i.split("|");u[s[0]]=[t,ut(s[0],s[1])]})}}function ut(n,e){return e?Number(e):ft(n)?0:1}function ft(n){return lt.includes(n.toLowerCase())}const nn={},se=n=>{console.error(n)},tn=(n,...e)=>{console.log(`WARN: ${n}`,...e)},oe=(n,e)=>{nn[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),nn[`${n}/${e}`]=!0)},ve=new Error;function rn(n,e,{key:o}){let u=0;const g=n[o],t={},r={};for(let i=1;i<=e.length;i++)r[i+u]=g[i],t[i+u]=!0,u+=Xe(e[i-1]);n[o]=r,n[o]._emit=t,n[o]._multi=!0}function gt(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw se("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ve;if(typeof n.beginScope!="object"||n.beginScope===null)throw se("beginScope must be object"),ve;rn(n,n.begin,{key:"beginScope"}),n.begin=ke(n.begin,{joinWith:""})}}function ht(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw se("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ve;if(typeof n.endScope!="object"||n.endScope===null)throw se("endScope must be object"),ve;rn(n,n.end,{key:"endScope"}),n.end=ke(n.end,{joinWith:""})}}function dt(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function pt(n){dt(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),gt(n),ht(n)}function _t(n){function e(r,i){return new RegExp(fe(r),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(i?"g":""))}class o{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=Xe(i)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const i=this.regexes.map(s=>s[1]);this.matcherRe=e(ke(i,{joinWith:"|"}),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(i);if(!s)return null;const a=s.findIndex((c,f)=>f>0&&c!==void 0),l=this.matchIndexes[a];return s.splice(0,a),Object.assign(s,l)}}class u{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];const s=new o;return this.rules.slice(i).forEach(([a,l])=>s.addRule(a,l)),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),s.type==="begin"&&this.count++}exec(i){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let a=s.exec(i);if(this.resumingScanAtSamePosition()&&!(a&&a.index===this.lastIndex)){const l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,a=l.exec(i)}return a&&(this.regexIndex+=a.position+1,this.regexIndex===this.count&&this.considerAll()),a}}function g(r){const i=new u;return r.contains.forEach(s=>i.addRule(s.begin,{rule:s,type:"begin"})),r.terminatorEnd&&i.addRule(r.terminatorEnd,{type:"end"}),r.illegal&&i.addRule(r.illegal,{type:"illegal"}),i}function t(r,i){const s=r;if(r.isCompiled)return s;[tt,st,pt,ot].forEach(l=>l(r,i)),n.compilerExtensions.forEach(l=>l(r,i)),r.__beforeBegin=null,[rt,it,at].forEach(l=>l(r,i)),r.isCompiled=!0;let a=null;return typeof r.keywords=="object"&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),a=r.keywords.$pattern,delete r.keywords.$pattern),a=a||/\w+/,r.keywords&&(r.keywords=en(r.keywords,n.case_insensitive)),s.keywordPatternRe=e(a,!0),i&&(r.begin||(r.begin=/\B|\b/),s.beginRe=e(s.begin),!r.end&&!r.endsWithParent&&(r.end=/\B|\b/),r.end&&(s.endRe=e(s.end)),s.terminatorEnd=fe(s.end)||"",r.endsWithParent&&i.terminatorEnd&&(s.terminatorEnd+=(r.end?"|":"")+i.terminatorEnd)),r.illegal&&(s.illegalRe=e(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(function(l){return bt(l==="self"?r:l)})),r.contains.forEach(function(l){t(l,s)}),r.starts&&t(r.starts,i),s.matcher=g(s),s}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=ne(n.classNameAliases||{}),t(n)}function sn(n){return n?n.endsWithParent||sn(n.starts):!1}function bt(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return ne(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:sn(n)?ne(n,{starts:n.starts?ne(n.starts):null}):Object.isFrozen(n)?ne(n):n}var vt="11.7.0";class Et extends Error{constructor(e,o){super(e),this.name="HTMLInjectionError",this.html=o}}const $e=We,an=ne,on=Symbol("nomatch"),mt=7;var he=function(n){const e=Object.create(null),o=Object.create(null),u=[];let g=!0;const t="Could not find the language '{}', did you forget to load/include a language module?",r={disableAutodetect:!0,name:"Plain text",contains:[]};let i={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:In};function s(b){return i.noHighlightRe.test(b)}function a(b){let N=b.className+" ";N+=b.parentNode?b.parentNode.className:"";const C=i.languageDetectRe.exec(N);if(C){const k=R(C[1]);return k||(tn(t.replace("{}",C[1])),tn("Falling back to no-highlight mode for this block.",b)),k?C[1]:"no-highlight"}return N.split(/\s+/).find(k=>s(k)||R(k))}function l(b,N,C){let k="",x="";typeof N=="object"?(k=b,C=N.ignoreIllegals,x=N.language):(oe("10.7.0","highlight(lang, code, ...args) has been deprecated."),oe("10.7.0",`Please use highlight(code, options) instead.
|
|
7
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),x=b,k=N),C===void 0&&(C=!0);const Q={code:k,language:x};K("before:highlight",Q);const J=Q.result?Q.result:c(Q.language,Q.code,C);return J.code=Q.code,K("after:highlight",J),J}function c(b,N,C,k){const x=Object.create(null);function Q(y,A){return y.keywords[A]}function J(){if(!L.keywords){G.addText(P);return}let y=0;L.keywordPatternRe.lastIndex=0;let A=L.keywordPatternRe.exec(P),O="";for(;A;){O+=P.substring(y,A.index);const B=re.case_insensitive?A[0].toLowerCase():A[0],W=Q(L,B);if(W){const[ee,_r]=W;if(G.addText(O),O="",x[B]=(x[B]||0)+1,x[B]<=mt&&(Ae+=_r),ee.startsWith("_"))O+=A[0];else{const br=re.classNameAliases[ee]||ee;G.addKeyword(A[0],br)}}else O+=A[0];y=L.keywordPatternRe.lastIndex,A=L.keywordPatternRe.exec(P)}O+=P.substring(y),G.addText(O)}function Ne(){if(P==="")return;let y=null;if(typeof L.subLanguage=="string"){if(!e[L.subLanguage]){G.addText(P);return}y=c(L.subLanguage,P,!0,En[L.subLanguage]),En[L.subLanguage]=y._top}else y=h(P,L.subLanguage.length?L.subLanguage:null);L.relevance>0&&(Ae+=y.relevance),G.addSublanguage(y._emitter,y.language)}function Y(){L.subLanguage!=null?Ne():J(),P=""}function te(y,A){let O=1;const B=A.length-1;for(;O<=B;){if(!y._emit[O]){O++;continue}const W=re.classNameAliases[y[O]]||y[O],ee=A[O];W?G.addKeyword(ee,W):(P=ee,J(),P=""),O++}}function _n(y,A){return y.scope&&typeof y.scope=="string"&&G.openNode(re.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(G.addKeyword(P,re.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),P=""):y.beginScope._multi&&(te(y.beginScope,A),P="")),L=Object.create(y,{parent:{value:L}}),L}function bn(y,A,O){let B=Un(y.endRe,O);if(B){if(y["on:end"]){const W=new Ke(y);y["on:end"](A,W),W.isMatchIgnored&&(B=!1)}if(B){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return bn(y.parent,A,O)}function fr(y){return L.matcher.regexIndex===0?(P+=y[0],1):(xe=!0,0)}function gr(y){const A=y[0],O=y.rule,B=new Ke(O),W=[O.__beforeBegin,O["on:begin"]];for(const ee of W)if(ee&&(ee(y,B),B.isMatchIgnored))return fr(A);return O.skip?P+=A:(O.excludeBegin&&(P+=A),Y(),!O.returnBegin&&!O.excludeBegin&&(P=A)),_n(O,y),O.returnBegin?0:A.length}function hr(y){const A=y[0],O=N.substring(y.index),B=bn(L,y,O);if(!B)return on;const W=L;L.endScope&&L.endScope._wrap?(Y(),G.addKeyword(A,L.endScope._wrap)):L.endScope&&L.endScope._multi?(Y(),te(L.endScope,y)):W.skip?P+=A:(W.returnEnd||W.excludeEnd||(P+=A),Y(),W.excludeEnd&&(P=A));do L.scope&&G.closeNode(),!L.skip&&!L.subLanguage&&(Ae+=L.relevance),L=L.parent;while(L!==B.parent);return B.starts&&_n(B.starts,y),W.returnEnd?0:A.length}function dr(){const y=[];for(let A=L;A!==re;A=A.parent)A.scope&&y.unshift(A.scope);y.forEach(A=>G.openNode(A))}let Me={};function vn(y,A){const O=A&&A[0];if(P+=y,O==null)return Y(),0;if(Me.type==="begin"&&A.type==="end"&&Me.index===A.index&&O===""){if(P+=N.slice(A.index,A.index+1),!g){const B=new Error(`0 width match regex (${b})`);throw B.languageName=b,B.badRule=Me.rule,B}return 1}if(Me=A,A.type==="begin")return gr(A);if(A.type==="illegal"&&!C){const B=new Error('Illegal lexeme "'+O+'" for mode "'+(L.scope||"<unnamed>")+'"');throw B.mode=L,B}else if(A.type==="end"){const B=hr(A);if(B!==on)return B}if(A.type==="illegal"&&O==="")return 1;if(Pe>1e5&&Pe>A.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P+=O,O.length}const re=R(b);if(!re)throw se(t.replace("{}",b)),new Error('Unknown language: "'+b+'"');const pr=_t(re);let Ue="",L=k||pr;const En={},G=new i.__emitter(i);dr();let P="",Ae=0,ae=0,Pe=0,xe=!1;try{for(L.matcher.considerAll();;){Pe++,xe?xe=!1:L.matcher.considerAll(),L.matcher.lastIndex=ae;const y=L.matcher.exec(N);if(!y)break;const A=N.substring(ae,y.index),O=vn(A,y);ae=y.index+O}return vn(N.substring(ae)),G.closeAllNodes(),G.finalize(),Ue=G.toHTML(),{language:b,value:Ue,relevance:Ae,illegal:!1,_emitter:G,_top:L}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:b,value:$e(N),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:ae,context:N.slice(ae-100,ae+100),mode:y.mode,resultSoFar:Ue},_emitter:G};if(g)return{language:b,value:$e(N),illegal:!1,relevance:0,errorRaised:y,_emitter:G,_top:L};throw y}}function f(b){const N={value:$e(b),illegal:!1,relevance:0,_top:r,_emitter:new i.__emitter(i)};return N._emitter.addText(b),N}function h(b,N){N=N||i.languages||Object.keys(e);const C=f(b),k=N.filter(R).filter(U).map(Y=>c(Y,b,!1));k.unshift(C);const x=k.sort((Y,te)=>{if(Y.relevance!==te.relevance)return te.relevance-Y.relevance;if(Y.language&&te.language){if(R(Y.language).supersetOf===te.language)return 1;if(R(te.language).supersetOf===Y.language)return-1}return 0}),[Q,J]=x,Ne=Q;return Ne.secondBest=J,Ne}function d(b,N,C){const k=N&&o[N]||C;b.classList.add("hljs"),b.classList.add(`language-${k}`)}function p(b){let N=null;const C=a(b);if(s(C))return;if(K("before:highlightElement",{el:b,language:C}),b.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(b)),i.throwUnescapedHTML))throw new Et("One of your code blocks includes unescaped HTML.",b.innerHTML);N=b;const k=N.textContent,x=C?l(k,{language:C,ignoreIllegals:!0}):h(k);b.innerHTML=x.value,d(b,C,x.language),b.result={language:x.language,re:x.relevance,relevance:x.relevance},x.secondBest&&(b.secondBest={language:x.secondBest.language,relevance:x.secondBest.relevance}),K("after:highlightElement",{el:b,result:x,text:k})}function _(b){i=an(i,b)}const v=()=>{m(),oe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){m(),oe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function m(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(i.cssSelector).forEach(p)}function D(){w&&m()}typeof window!="undefined"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",D,!1);function S(b,N){let C=null;try{C=N(n)}catch(k){if(se("Language definition for '{}' could not be registered.".replace("{}",b)),g)se(k);else throw k;C=r}C.name||(C.name=b),e[b]=C,C.rawDefinition=N.bind(null,n),C.aliases&&H(C.aliases,{languageName:b})}function M(b){delete e[b];for(const N of Object.keys(o))o[N]===b&&delete o[N]}function I(){return Object.keys(e)}function R(b){return b=(b||"").toLowerCase(),e[b]||e[o[b]]}function H(b,{languageName:N}){typeof b=="string"&&(b=[b]),b.forEach(C=>{o[C.toLowerCase()]=N})}function U(b){const N=R(b);return N&&!N.disableAutodetect}function $(b){b["before:highlightBlock"]&&!b["before:highlightElement"]&&(b["before:highlightElement"]=N=>{b["before:highlightBlock"](Object.assign({block:N.el},N))}),b["after:highlightBlock"]&&!b["after:highlightElement"]&&(b["after:highlightElement"]=N=>{b["after:highlightBlock"](Object.assign({block:N.el},N))})}function F(b){$(b),u.push(b)}function K(b,N){const C=b;u.forEach(function(k){k[C]&&k[C](N)})}function we(b){return oe("10.7.0","highlightBlock will be removed entirely in v12.0"),oe("10.7.0","Please use highlightElement now."),p(b)}Object.assign(n,{highlight:l,highlightAuto:h,highlightAll:m,highlightElement:p,highlightBlock:we,configure:_,initHighlighting:v,initHighlightingOnLoad:E,registerLanguage:S,unregisterLanguage:M,listLanguages:I,getLanguage:R,registerAliases:H,autoDetection:U,inherit:an,addPlugin:F}),n.debugMode=function(){g=!1},n.safeMode=function(){g=!0},n.versionString=vt,n.regex={concat:ie,lookahead:Ye,either:Ie,optional:Bn,anyNumberOfTimes:kn};for(const b in be)typeof be[b]=="object"&&Le.exports(be[b]);return Object.assign(n,be),n}({}),yt=he;he.HighlightJS=he,he.default=he;const X=Rn(yt);function wt(n){const e=n.regex,o=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),u=/[\p{L}0-9._:-]+/u,g={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=n.inherit(t,{begin:/\(/,end:/\)/}),i=n.inherit(n.APOS_STRING_MODE,{className:"string"}),s=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),a={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[g]},{begin:/'/,end:/'/,contains:[g]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[t,s,i,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[t,r,s,i]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},g,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[a],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[a],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(o,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:a}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const ln="[A-Za-z$_][0-9A-Za-z$_]*",Nt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Mt=["true","false","null","undefined","NaN","Infinity"],cn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],un=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],fn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],At=["arguments","this","super","console","window","document","localStorage","module","global"],Tt=[].concat(fn,cn,un);function Dt(n){const e=n.regex,o=(N,{after:C})=>{const k="</"+N[0].slice(1);return N.input.indexOf(k,C)!==-1},u=ln,g={begin:"<>",end:"</>"},t=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,C)=>{const k=N[0].length+N.index,x=N.input[k];if(x==="<"||x===","){C.ignoreMatch();return}x===">"&&(o(N,{after:k})||C.ignoreMatch());let Q;const J=N.input.substring(k);if(Q=J.match(/^\s*=/)){C.ignoreMatch();return}if((Q=J.match(/^\s+extends\s+/))&&Q.index===0){C.ignoreMatch();return}}},i={$pattern:ln,keyword:Nt,literal:Mt,built_in:Tt,"variable.language":At},s="[0-9](_?[0-9])*",a=`\\.(${s})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",c={className:"number",variants:[{begin:`(\\b(${l})((${a})|\\.)?|(${a}))[eE][+-]?(${s})\\b`},{begin:`\\b(${l})\\b((${a})\\b|\\.)?|(${a})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:i,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},d={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"css"}},p={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,f]},v={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:u+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},E=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,{match:/\$\d+/},c];f.contains=E.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(E)});const w=[].concat(v,f.contains),m=w.concat([{begin:/\(/,end:/\)/,keywords:i,contains:["self"].concat(w)}]),D={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m},S={variants:[{match:[/class/,/\s+/,u,/\s+/,/extends/,/\s+/,e.concat(u,"(",e.concat(/\./,u),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,u],scope:{1:"keyword",3:"title.class"}}]},M={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...cn,...un]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,u,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},H={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function U(N){return e.concat("(?!",N.join("|"),")")}const $={match:e.concat(/\b/,U([...fn,"super","import"]),u,e.lookahead(/\(/)),className:"title.function",relevance:0},F={begin:e.concat(/\./,e.lookahead(e.concat(u,/(?![0-9A-Za-z$_(])/))),end:u,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},K={match:[/get|set/,/\s+/,u,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},we="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",b={match:[/const|var|let/,/\s+/,u,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(we)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:m,CLASS_REFERENCE:M},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,v,{match:/\$\d+/},c,M,{className:"attr",begin:u+e.lookahead(":"),relevance:0},b,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,n.REGEXP_MODE,{className:"function",begin:we,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:t},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:u,className:"title.function"})]},{match:/\.\.\./,relevance:0},F,{match:"\\$"+u,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},$,H,S,K,{match:/\$[(.]/}]}}function St(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},u=["true","false","null"],g={scope:"literal",beginKeywords:u.join(" ")};return{name:"JSON",keywords:{literal:u},contains:[e,o,n.QUOTE_STRING_MODE,g,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Rt(n){const e="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",u={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},g={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},t={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,g]},r=n.inherit(t,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),i="[0-9]{4}(-[0-9][0-9]){0,2}",s="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",a="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",c={className:"number",begin:"\\b"+i+s+a+l+"\\b"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},h={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},d={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},p=[u,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},c,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},h,d,t],_=[...p];return _.pop(),_.push(r),f.contains=_,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:p}}function Lt(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Ct(n){const e=n.regex,o=/[\p{XID_Start}_]\p{XID_Continue}*/u,u=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:u,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},s={className:"meta",begin:/^(>>>|\.\.\.) /},a={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},l={begin:/\{\{/,relevance:0},c={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,a]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",h=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,d=`\\b|${u.join("|")}`,p={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${h}))[eE][+-]?(${f})[jJ]?(?=${d})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${f})[jJ](?=${d})`}]},_={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",s,p,c,n.HASH_COMMENT_MODE]}]};return a.contains=[c,p,s],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|->|\?)|=>/,contains:[s,p,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},c,_,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[p,v,c]}]}}var le="[0-9](_*[0-9])*",Ee=`\\.(${le})`,me="[0-9a-fA-F](_*[0-9a-fA-F])*",gn={className:"number",variants:[{begin:`(\\b(${le})((${Ee})|\\.)?|(${Ee}))[eE][+-]?(${le})[fFdD]?\\b`},{begin:`\\b(${le})((${Ee})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ee})[fFdD]?\\b`},{begin:`\\b(${le})[fFdD]\\b`},{begin:`\\b0[xX]((${me})\\.?|(${me})?\\.(${me}))[pP][+-]?(${le})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${me})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function hn(n,e,o){return o===-1?"":n.replace(e,u=>hn(n,e,o-1))}function Ot(n){const e=n.regex,o="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",u=o+hn("(?:<"+o+"~~~(?:\\s*,\\s*"+o+"~~~)*>)?",/~~~/g,2),s={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},a={className:"meta",begin:"@"+o,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:s,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,o],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,o),/\s+/,o,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,o],className:{1:"keyword",3:"title.class"},contains:[l,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+u+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:s,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[a,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,gn,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},gn,a]}}function It(n){const e=n.regex,o={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const g={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},t={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,o,g]};g.contains.push(r);const i={className:"",begin:/\\"/},s={className:"string",begin:/'/,end:/'/},a={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,o]},l=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],c=n.SHEBANG({binary:`(${l.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],d=["true","false"],p={match:/(\/[a-z._-]+)+/},_=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],v=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],E=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],w=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:h,literal:d,built_in:[..._,...v,"set","shopt",...E,...w]},contains:[c,n.SHEBANG(),f,a,n.HASH_COMMENT_MODE,t,p,r,i,s,o]}}function kt(n){const e=n.regex,o=n.COMMENT("--","$"),u={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},g={begin:/"/,end:/"/,contains:[{begin:/""/}]},t=["true","false","unknown"],r=["double precision","large object","with timezone","without timezone"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["add","asc","collation","desc","final","first","last","view"],a=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],l=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],c=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=l,d=[...a,...s].filter(w=>!l.includes(w)),p={className:"variable",begin:/@[a-z0-9]+/},_={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={begin:e.concat(/\b/,e.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function E(w,{exceptions:m,when:D}={}){const S=D;return m=m||[],w.map(M=>M.match(/\|\d+$/)||m.includes(M)?M:S(M)?`${M}|0`:M)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:E(d,{when:w=>w.length<3}),literal:t,type:i,built_in:c},contains:[{begin:e.either(...f),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:d.concat(f),literal:t,type:i}},{className:"type",begin:e.either(...r)},v,p,u,g,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,o,_]}}X.registerLanguage("xml",wt),X.registerLanguage("javascript",Dt),X.registerLanguage("json",St),X.registerLanguage("yaml",Rt),X.registerLanguage("plaintext",Lt),X.registerLanguage("python",Ct),X.registerLanguage("java",Ot),X.registerLanguage("bash",It),X.registerLanguage("sql",kt);var T=(n=>(n.EQUAL="equal",n.DELETE="removed",n.ADD="added",n.EMPTY="empty",n))(T||{});const V="<code-diff-modified>",q="</code-diff-modified>",Bt=V.replace("<","<").replace(">",">"),$t=q.replace("<","<").replace(">",">");function ce(n){return n===void 0?T.EQUAL:n.added?T.ADD:n.removed?T.DELETE:T.EQUAL}function ye(n,e,o="word"){return typeof n=="undefined"?e:typeof e=="undefined"?n:(o==="char"?Nn:An)(n,e).filter(g=>ce(g)!==T.DELETE).map(g=>ce(g)===T.ADD?`${V}${g.value}${q}`:g.value).join("")}function dn(n,e){const o=new Re.diff_match_patch,u=o.diff_linesToChars_(n,e),g=u.chars1,t=u.chars2,r=u.lineArray,i=o.diff_main(g,t,!1);return o.diff_charsToLines_(i,r),i.map(s=>{const[a,l]=s;return{count:l.trim().split(`
|
|
7
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),x=b,k=N),C===void 0&&(C=!0);const Q={code:k,language:x};K("before:highlight",Q);const J=Q.result?Q.result:c(Q.language,Q.code,C);return J.code=Q.code,K("after:highlight",J),J}function c(b,N,C,k){const x=Object.create(null);function Q(y,A){return y.keywords[A]}function J(){if(!L.keywords){G.addText(P);return}let y=0;L.keywordPatternRe.lastIndex=0;let A=L.keywordPatternRe.exec(P),O="";for(;A;){O+=P.substring(y,A.index);const B=re.case_insensitive?A[0].toLowerCase():A[0],W=Q(L,B);if(W){const[ee,_r]=W;if(G.addText(O),O="",x[B]=(x[B]||0)+1,x[B]<=mt&&(Ae+=_r),ee.startsWith("_"))O+=A[0];else{const br=re.classNameAliases[ee]||ee;G.addKeyword(A[0],br)}}else O+=A[0];y=L.keywordPatternRe.lastIndex,A=L.keywordPatternRe.exec(P)}O+=P.substring(y),G.addText(O)}function Ne(){if(P==="")return;let y=null;if(typeof L.subLanguage=="string"){if(!e[L.subLanguage]){G.addText(P);return}y=c(L.subLanguage,P,!0,En[L.subLanguage]),En[L.subLanguage]=y._top}else y=h(P,L.subLanguage.length?L.subLanguage:null);L.relevance>0&&(Ae+=y.relevance),G.addSublanguage(y._emitter,y.language)}function Y(){L.subLanguage!=null?Ne():J(),P=""}function te(y,A){let O=1;const B=A.length-1;for(;O<=B;){if(!y._emit[O]){O++;continue}const W=re.classNameAliases[y[O]]||y[O],ee=A[O];W?G.addKeyword(ee,W):(P=ee,J(),P=""),O++}}function _n(y,A){return y.scope&&typeof y.scope=="string"&&G.openNode(re.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(G.addKeyword(P,re.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),P=""):y.beginScope._multi&&(te(y.beginScope,A),P="")),L=Object.create(y,{parent:{value:L}}),L}function bn(y,A,O){let B=Un(y.endRe,O);if(B){if(y["on:end"]){const W=new Ke(y);y["on:end"](A,W),W.isMatchIgnored&&(B=!1)}if(B){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return bn(y.parent,A,O)}function fr(y){return L.matcher.regexIndex===0?(P+=y[0],1):(xe=!0,0)}function gr(y){const A=y[0],O=y.rule,B=new Ke(O),W=[O.__beforeBegin,O["on:begin"]];for(const ee of W)if(ee&&(ee(y,B),B.isMatchIgnored))return fr(A);return O.skip?P+=A:(O.excludeBegin&&(P+=A),Y(),!O.returnBegin&&!O.excludeBegin&&(P=A)),_n(O,y),O.returnBegin?0:A.length}function hr(y){const A=y[0],O=N.substring(y.index),B=bn(L,y,O);if(!B)return on;const W=L;L.endScope&&L.endScope._wrap?(Y(),G.addKeyword(A,L.endScope._wrap)):L.endScope&&L.endScope._multi?(Y(),te(L.endScope,y)):W.skip?P+=A:(W.returnEnd||W.excludeEnd||(P+=A),Y(),W.excludeEnd&&(P=A));do L.scope&&G.closeNode(),!L.skip&&!L.subLanguage&&(Ae+=L.relevance),L=L.parent;while(L!==B.parent);return B.starts&&_n(B.starts,y),W.returnEnd?0:A.length}function dr(){const y=[];for(let A=L;A!==re;A=A.parent)A.scope&&y.unshift(A.scope);y.forEach(A=>G.openNode(A))}let Me={};function vn(y,A){const O=A&&A[0];if(P+=y,O==null)return Y(),0;if(Me.type==="begin"&&A.type==="end"&&Me.index===A.index&&O===""){if(P+=N.slice(A.index,A.index+1),!g){const B=new Error(`0 width match regex (${b})`);throw B.languageName=b,B.badRule=Me.rule,B}return 1}if(Me=A,A.type==="begin")return gr(A);if(A.type==="illegal"&&!C){const B=new Error('Illegal lexeme "'+O+'" for mode "'+(L.scope||"<unnamed>")+'"');throw B.mode=L,B}else if(A.type==="end"){const B=hr(A);if(B!==on)return B}if(A.type==="illegal"&&O==="")return 1;if(Pe>1e5&&Pe>A.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P+=O,O.length}const re=R(b);if(!re)throw se(t.replace("{}",b)),new Error('Unknown language: "'+b+'"');const pr=_t(re);let Ue="",L=k||pr;const En={},G=new i.__emitter(i);dr();let P="",Ae=0,ae=0,Pe=0,xe=!1;try{for(L.matcher.considerAll();;){Pe++,xe?xe=!1:L.matcher.considerAll(),L.matcher.lastIndex=ae;const y=L.matcher.exec(N);if(!y)break;const A=N.substring(ae,y.index),O=vn(A,y);ae=y.index+O}return vn(N.substring(ae)),G.closeAllNodes(),G.finalize(),Ue=G.toHTML(),{language:b,value:Ue,relevance:Ae,illegal:!1,_emitter:G,_top:L}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:b,value:$e(N),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:ae,context:N.slice(ae-100,ae+100),mode:y.mode,resultSoFar:Ue},_emitter:G};if(g)return{language:b,value:$e(N),illegal:!1,relevance:0,errorRaised:y,_emitter:G,_top:L};throw y}}function f(b){const N={value:$e(b),illegal:!1,relevance:0,_top:r,_emitter:new i.__emitter(i)};return N._emitter.addText(b),N}function h(b,N){N=N||i.languages||Object.keys(e);const C=f(b),k=N.filter(R).filter(U).map(Y=>c(Y,b,!1));k.unshift(C);const x=k.sort((Y,te)=>{if(Y.relevance!==te.relevance)return te.relevance-Y.relevance;if(Y.language&&te.language){if(R(Y.language).supersetOf===te.language)return 1;if(R(te.language).supersetOf===Y.language)return-1}return 0}),[Q,J]=x,Ne=Q;return Ne.secondBest=J,Ne}function d(b,N,C){const k=N&&o[N]||C;b.classList.add("hljs"),b.classList.add(`language-${k}`)}function p(b){let N=null;const C=a(b);if(s(C))return;if(K("before:highlightElement",{el:b,language:C}),b.children.length>0&&(i.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(b)),i.throwUnescapedHTML))throw new Et("One of your code blocks includes unescaped HTML.",b.innerHTML);N=b;const k=N.textContent,x=C?l(k,{language:C,ignoreIllegals:!0}):h(k);b.innerHTML=x.value,d(b,C,x.language),b.result={language:x.language,re:x.relevance,relevance:x.relevance},x.secondBest&&(b.secondBest={language:x.secondBest.language,relevance:x.secondBest.relevance}),K("after:highlightElement",{el:b,result:x,text:k})}function _(b){i=an(i,b)}const v=()=>{m(),oe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){m(),oe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function m(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(i.cssSelector).forEach(p)}function D(){w&&m()}typeof window!="undefined"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",D,!1);function S(b,N){let C=null;try{C=N(n)}catch(k){if(se("Language definition for '{}' could not be registered.".replace("{}",b)),g)se(k);else throw k;C=r}C.name||(C.name=b),e[b]=C,C.rawDefinition=N.bind(null,n),C.aliases&&H(C.aliases,{languageName:b})}function M(b){delete e[b];for(const N of Object.keys(o))o[N]===b&&delete o[N]}function I(){return Object.keys(e)}function R(b){return b=(b||"").toLowerCase(),e[b]||e[o[b]]}function H(b,{languageName:N}){typeof b=="string"&&(b=[b]),b.forEach(C=>{o[C.toLowerCase()]=N})}function U(b){const N=R(b);return N&&!N.disableAutodetect}function $(b){b["before:highlightBlock"]&&!b["before:highlightElement"]&&(b["before:highlightElement"]=N=>{b["before:highlightBlock"](Object.assign({block:N.el},N))}),b["after:highlightBlock"]&&!b["after:highlightElement"]&&(b["after:highlightElement"]=N=>{b["after:highlightBlock"](Object.assign({block:N.el},N))})}function F(b){$(b),u.push(b)}function K(b,N){const C=b;u.forEach(function(k){k[C]&&k[C](N)})}function we(b){return oe("10.7.0","highlightBlock will be removed entirely in v12.0"),oe("10.7.0","Please use highlightElement now."),p(b)}Object.assign(n,{highlight:l,highlightAuto:h,highlightAll:m,highlightElement:p,highlightBlock:we,configure:_,initHighlighting:v,initHighlightingOnLoad:E,registerLanguage:S,unregisterLanguage:M,listLanguages:I,getLanguage:R,registerAliases:H,autoDetection:U,inherit:an,addPlugin:F}),n.debugMode=function(){g=!1},n.safeMode=function(){g=!0},n.versionString=vt,n.regex={concat:ie,lookahead:Ye,either:Ie,optional:Bn,anyNumberOfTimes:kn};for(const b in be)typeof be[b]=="object"&&Le.exports(be[b]);return Object.assign(n,be),n}({}),yt=he;he.HighlightJS=he,he.default=he;const X=Rn(yt);function wt(n){const e=n.regex,o=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),u=/[\p{L}0-9._:-]+/u,g={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},r=n.inherit(t,{begin:/\(/,end:/\)/}),i=n.inherit(n.APOS_STRING_MODE,{className:"string"}),s=n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),a={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[g]},{begin:/'/,end:/'/,contains:[g]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[t,s,i,r,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[t,r,s,i]}]}]},n.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},g,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[a],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[a],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(o,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:a}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const ln="[A-Za-z$_][0-9A-Za-z$_]*",Nt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Mt=["true","false","null","undefined","NaN","Infinity"],cn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],un=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],fn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],At=["arguments","this","super","console","window","document","localStorage","module","global"],Tt=[].concat(fn,cn,un);function Dt(n){const e=n.regex,o=(N,{after:C})=>{const k="</"+N[0].slice(1);return N.input.indexOf(k,C)!==-1},u=ln,g={begin:"<>",end:"</>"},t=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,C)=>{const k=N[0].length+N.index,x=N.input[k];if(x==="<"||x===","){C.ignoreMatch();return}x===">"&&(o(N,{after:k})||C.ignoreMatch());let Q;const J=N.input.substring(k);if(Q=J.match(/^\s*=/)){C.ignoreMatch();return}if((Q=J.match(/^\s+extends\s+/))&&Q.index===0){C.ignoreMatch();return}}},i={$pattern:ln,keyword:Nt,literal:Mt,built_in:Tt,"variable.language":At},s="[0-9](_?[0-9])*",a=`\\.(${s})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",c={className:"number",variants:[{begin:`(\\b(${l})((${a})|\\.)?|(${a}))[eE][+-]?(${s})\\b`},{begin:`\\b(${l})\\b((${a})\\b|\\.)?|(${a})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:i,contains:[]},h={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},d={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,f],subLanguage:"css"}},p={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,f]},v={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:u+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},E=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,{match:/\$\d+/},c];f.contains=E.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(E)});const w=[].concat(v,f.contains),m=w.concat([{begin:/\(/,end:/\)/,keywords:i,contains:["self"].concat(w)}]),D={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m},S={variants:[{match:[/class/,/\s+/,u,/\s+/,/extends/,/\s+/,e.concat(u,"(",e.concat(/\./,u),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,u],scope:{1:"keyword",3:"title.class"}}]},M={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...cn,...un]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,u,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},H={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function U(N){return e.concat("(?!",N.join("|"),")")}const $={match:e.concat(/\b/,U([...fn,"super","import"]),u,e.lookahead(/\(/)),className:"title.function",relevance:0},F={begin:e.concat(/\./,e.lookahead(e.concat(u,/(?![0-9A-Za-z$_(])/))),end:u,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},K={match:[/get|set/,/\s+/,u,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},we="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",b={match:[/const|var|let/,/\s+/,u,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(we)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:m,CLASS_REFERENCE:M},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,h,d,p,v,{match:/\$\d+/},c,M,{className:"attr",begin:u+e.lookahead(":"),relevance:0},b,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[v,n.REGEXP_MODE,{className:"function",begin:we,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:m}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:t},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:u,className:"title.function"})]},{match:/\.\.\./,relevance:0},F,{match:"\\$"+u,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},$,H,S,K,{match:/\$[(.]/}]}}function St(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},u=["true","false","null"],g={scope:"literal",beginKeywords:u.join(" ")};return{name:"JSON",keywords:{literal:u},contains:[e,o,n.QUOTE_STRING_MODE,g,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Rt(n){const e="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",u={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},g={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},t={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,g]},r=n.inherit(t,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),i="[0-9]{4}(-[0-9][0-9]){0,2}",s="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",a="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",c={className:"number",begin:"\\b"+i+s+a+l+"\\b"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},h={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},d={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},p=[u,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},c,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},h,d,t],_=[...p];return _.pop(),_.push(r),f.contains=_,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:p}}function Lt(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Ct(n){const e=n.regex,o=/[\p{XID_Start}_]\p{XID_Continue}*/u,u=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:u,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},s={className:"meta",begin:/^(>>>|\.\.\.) /},a={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},l={begin:/\{\{/,relevance:0},c={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,s,l,a]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,l,a]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,a]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",h=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,d=`\\b|${u.join("|")}`,p={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${h}))[eE][+-]?(${f})[jJ]?(?=${d})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${f})[jJ](?=${d})`}]},_={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",s,p,c,n.HASH_COMMENT_MODE]}]};return a.contains=[c,p,s],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|->|\?)|=>/,contains:[s,p,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},c,_,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[p,v,c]}]}}var le="[0-9](_*[0-9])*",Ee=`\\.(${le})`,me="[0-9a-fA-F](_*[0-9a-fA-F])*",gn={className:"number",variants:[{begin:`(\\b(${le})((${Ee})|\\.)?|(${Ee}))[eE][+-]?(${le})[fFdD]?\\b`},{begin:`\\b(${le})((${Ee})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ee})[fFdD]?\\b`},{begin:`\\b(${le})[fFdD]\\b`},{begin:`\\b0[xX]((${me})\\.?|(${me})?\\.(${me}))[pP][+-]?(${le})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${me})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function hn(n,e,o){return o===-1?"":n.replace(e,u=>hn(n,e,o-1))}function Ot(n){const e=n.regex,o="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",u=o+hn("(?:<"+o+"~~~(?:\\s*,\\s*"+o+"~~~)*>)?",/~~~/g,2),s={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},a={className:"meta",begin:"@"+o,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:s,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,o],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,o),/\s+/,o,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,o],className:{1:"keyword",3:"title.class"},contains:[l,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+u+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:s,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:s,relevance:0,contains:[a,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,gn,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},gn,a]}}function It(n){const e=n.regex,o={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const g={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},t={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,o,g]};g.contains.push(r);const i={className:"",begin:/\\"/},s={className:"string",begin:/'/,end:/'/},a={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,o]},l=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],c=n.SHEBANG({binary:`(${l.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],d=["true","false"],p={match:/(\/[a-z._-]+)+/},_=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],v=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],E=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],w=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:h,literal:d,built_in:[..._,...v,"set","shopt",...E,...w]},contains:[c,n.SHEBANG(),f,a,n.HASH_COMMENT_MODE,t,p,r,i,s,o]}}function kt(n){const e=n.regex,o=n.COMMENT("--","$"),u={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},g={begin:/"/,end:/"/,contains:[{begin:/""/}]},t=["true","false","unknown"],r=["double precision","large object","with timezone","without timezone"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["add","asc","collation","desc","final","first","last","view"],a=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],l=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],c=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=l,d=[...a,...s].filter(w=>!l.includes(w)),p={className:"variable",begin:/@[a-z0-9]+/},_={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={begin:e.concat(/\b/,e.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function E(w,{exceptions:m,when:D}={}){const S=D;return m=m||[],w.map(M=>M.match(/\|\d+$/)||m.includes(M)?M:S(M)?`${M}|0`:M)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:E(d,{when:w=>w.length<3}),literal:t,type:i,built_in:c},contains:[{begin:e.either(...f),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:d.concat(f),literal:t,type:i}},{className:"type",begin:e.either(...r)},v,p,u,g,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,o,_]}}X.registerLanguage("xml",wt),X.registerLanguage("javascript",Dt),X.registerLanguage("json",St),X.registerLanguage("yaml",Rt),X.registerLanguage("plaintext",Lt),X.registerLanguage("python",Ct),X.registerLanguage("java",Ot),X.registerLanguage("bash",It),X.registerLanguage("sql",kt);var T=(n=>(n.EQUAL="equal",n.DELETE="removed",n.ADD="added",n.EMPTY="empty",n))(T||{});const V="<code-diff-modified>",q="</code-diff-modified>",Bt=V.replace("<","<").replace(">",">"),$t=q.replace("<","<").replace(">",">");function ce(n){return n===void 0?T.EQUAL:n.added?T.ADD:n.removed?T.DELETE:T.EQUAL}function ye(n,e,o="word"){return typeof n=="undefined"?e:typeof e=="undefined"?n:(o==="char"?Nn:An)(n,e).filter(g=>ce(g)!==T.DELETE).map(g=>ce(g)===T.ADD?`${V}${g.value}${q}`:g.value).join("")}function dn(n,e){const o=new Re.diff_match_patch,u=o.diff_linesToChars_(n,e),g=u.chars1,t=u.chars2,r=u.lineArray,i=o.diff_main(g,t,!1);return o.diff_charsToLines_(i,r),i.map(s=>{const[a,l]=s;return{count:l.replace(/\n$/,"").split(`
|
|
8
8
|
`).length,value:l,removed:a===Re.DIFF_DELETE,added:a===Re.DIFF_INSERT}})}function j(n,e){if(!e.match(new RegExp(`(${V}|${q})`,"g")))return X.highlight(e,{language:n}).value;let u=e;const g=e.replace(new RegExp(`(${V}|${q})`,"g"),""),t=document.createElement("div");t.innerHTML=X.highlight(g,{language:n}).value;let r=!1;const i=s=>{s.childNodes.forEach(a=>{if(a.nodeType===Node.ELEMENT_NODE&&i(a),a.nodeType===Node.TEXT_NODE){if(!a.textContent)return;let l=a.textContent,c="";for(r&&(c=c+V);l.length;){if(u.startsWith(V)){u=u.slice(V.length),c=c+V,r=!0;continue}if(u.startsWith(q)){u=u.slice(q.length),c=c+q,r=!1;continue}const f=u.match(new RegExp(`(${V}|${q})`)),h=f&&f.index?f.index:u.length,d=Math.min(h,l.length);c=c+u.substring(0,d),u=u.slice(d),l=l.slice(d)}r&&(c=c+q),a.textContent=c}})};return i(t),t.innerHTML.replace(new RegExp(Bt,"g"),'<span class="x">').replace(new RegExp($t,"g"),"</span>")}function pn(n){const e=(g,t)=>(g.match(new RegExp(t,"g"))||[]).length;let o=0,u=0;for(const g of n)g.added&&(o+=e(g.value.trim(),`
|
|
9
9
|
`)+1),g.removed&&(u+=e(g.value.trim(),`
|
|
10
10
|
`)+1);return{additionsNum:o,deletionsNum:u}}function Ut(n,e,o="plaintext",u="word",g=10){const t=()=>({type:T.EMPTY}),r=(p,_,v)=>({type:p,num:_,code:v}),i=dn(n,e);let s=0,a=0,l=!1;const c=[],f={changes:c,collector:[],stat:pn(i)};for(let p=0;p<i.length;p++){if(l){l=!1;continue}const[_,v]=[i[p],i[p+1]],[E,w]=[ce(_),ce(v)],m=_.value.replace(/\n$/,"").split(`
|