@tensorix/metahub 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/cli.js +769 -79
- package/dist/cli.js.map +17 -13
- package/dist/core/databases.d.ts.map +1 -1
- package/dist/core/documents.d.ts.map +1 -1
- package/dist/core/integrity.d.ts +32 -0
- package/dist/core/integrity.d.ts.map +1 -0
- package/dist/core/properties.d.ts.map +1 -1
- package/dist/core/search.d.ts +2 -0
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/snapshot.d.ts +2 -0
- package/dist/core/snapshot.d.ts.map +1 -1
- package/dist/core/sync/server.d.ts +14 -0
- package/dist/core/sync/server.d.ts.map +1 -1
- package/dist/core/sync/webui-routes.d.ts.map +1 -1
- package/dist/core/sync/webui.d.ts +11 -0
- package/dist/core/sync/webui.d.ts.map +1 -1
- package/dist/index.js +290 -60
- package/dist/index.js.map +9 -9
- package/dist/webui.js +33 -33
- package/package.json +3 -2
package/dist/webui.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
var t4=Object.create;var{getPrototypeOf:o4,defineProperty:BZ,getOwnPropertyNames:s4}=Object;var e4=Object.prototype.hasOwnProperty;var q5=(q,Z,$)=>{$=q!=null?t4(o4(q)):{};let z=Z||!q||!q.__esModule?BZ($,"default",{value:q,enumerable:!0}):$;for(let Q of s4(q))if(!e4.call(z,Q))BZ(z,Q,{get:()=>q[Q],enumerable:!0});return z};var K0=(q,Z)=>()=>(Z||q((Z={exports:{}}).exports,Z),Z.exports);var k$=K0((sJ,f$)=>{function K$(q){if(q instanceof Map)q.clear=q.delete=q.set=function(){throw new Error("map is read-only")};else if(q instanceof Set)q.add=q.clear=q.delete=function(){throw new Error("set is read-only")};return Object.freeze(q),Object.getOwnPropertyNames(q).forEach((Z)=>{let $=q[Z],z=typeof $;if((z==="object"||z==="function")&&!Object.isFrozen($))K$($)}),q}class i9{constructor(q){if(q.data===void 0)q.data={};this.data=q.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Y$(q){return q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Zq(q,...Z){let $=Object.create(null);for(let z in q)$[z]=q[z];return Z.forEach(function(z){for(let Q in z)$[Q]=z[Q]}),$}var r5="</span>",Q$=(q)=>{return!!q.scope},l5=(q,{prefix:Z})=>{if(q.startsWith("language:"))return q.replace("language:","language-");if(q.includes(".")){let $=q.split(".");return[`${Z}${$.shift()}`,...$.map((z,Q)=>`${z}${"_".repeat(Q+1)}`)].join(" ")}return`${Z}${q}`};class U${constructor(q,Z){this.buffer="",this.classPrefix=Z.classPrefix,q.walk(this)}addText(q){this.buffer+=Y$(q)}openNode(q){if(!Q$(q))return;let Z=l5(q.scope,{prefix:this.classPrefix});this.span(Z)}closeNode(q){if(!Q$(q))return;this.buffer+=r5}value(){return this.buffer}span(q){this.buffer+=`<span class="${q}">`}}var X$=(q={})=>{let Z={children:[]};return Object.assign(Z,q),Z};class E9{constructor(){this.rootNode=X$(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(q){this.top.children.push(q)}openNode(q){let Z=X$({scope:q});this.add(Z),this.stack.push(Z)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(q){return this.constructor._walk(q,this.rootNode)}static _walk(q,Z){if(typeof Z==="string")q.addText(Z);else if(Z.children)q.openNode(Z),Z.children.forEach(($)=>this._walk(q,$)),q.closeNode(Z);return q}static _collapse(q){if(typeof q==="string")return;if(!q.children)return;if(q.children.every((Z)=>typeof Z==="string"))q.children=[q.children.join("")];else q.children.forEach((Z)=>{E9._collapse(Z)})}}class y$ extends E9{constructor(q){super();this.options=q}addText(q){if(q==="")return;this.add(q)}startScope(q){this.openNode(q)}endScope(){this.closeNode()}__addSublanguage(q,Z){let $=q.root;if(Z)$.scope=`language:${Z}`;this.add($)}toHTML(){return new U$(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Sq(q){if(!q)return null;if(typeof q==="string")return q;return q.source}function B$(q){return Hq("(?=",q,")")}function t5(q){return Hq("(?:",q,")*")}function o5(q){return Hq("(?:",q,")?")}function Hq(...q){return q.map(($)=>Sq($)).join("")}function s5(q){let Z=q[q.length-1];if(typeof Z==="object"&&Z.constructor===Object)return q.splice(q.length-1,1),Z;else return{}}function c9(...q){return"("+(s5(q).capture?"":"?:")+q.map((z)=>Sq(z)).join("|")+")"}function w$(q){return new RegExp(q.toString()+"|").exec("").length-1}function e5(q,Z){let $=q&&q.exec(Z);return $&&$.index===0}var q6=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function a9(q,{joinWith:Z}){let $=0;return q.map((z)=>{$+=1;let Q=$,X=Sq(z),W="";while(X.length>0){let H=q6.exec(X);if(!H){W+=X;break}if(W+=X.substring(0,H.index),X=X.substring(H.index+H[0].length),H[0][0]==="\\"&&H[1])W+="\\"+String(Number(H[1])+Q);else if(W+=H[0],H[0]==="(")$++}return W}).map((z)=>`(${z})`).join(Z)}var Z6=/\b\B/,P$="[a-zA-Z]\\w*",d9="[a-zA-Z_]\\w*",L$="\\b\\d+(\\.\\d+)?",C$="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v$="\\b(0b[01]+)",$6="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",J6=(q={})=>{let Z=/^#![ ]*\//;if(q.binary)q.begin=Hq(Z,/.*\b/,q.binary,/\b.*/);return Zq({scope:"meta",begin:Z,end:/$/,relevance:0,"on:begin":($,z)=>{if($.index!==0)z.ignoreMatch()}},q)},Tq={begin:"\\\\[\\s\\S]",relevance:0},z6={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Tq]},Q6={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Tq]},X6={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/},sq=function(q,Z,$={}){let z=Zq({scope:"comment",begin:q,end:Z,contains:[]},$);z.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let Q=c9("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 z.contains.push({begin:Hq(/[ ]+/,"(",Q,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),z},W6=sq("//","$"),H6=sq("/\\*","\\*/"),F6=sq("#","$"),G6={scope:"number",begin:L$,relevance:0},K6={scope:"number",begin:C$,relevance:0},Y6={scope:"number",begin:v$,relevance:0},U6={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Tq,{begin:/\[/,end:/\]/,relevance:0,contains:[Tq]}]},y6={scope:"title",begin:P$,relevance:0},B6={scope:"title",begin:d9,relevance:0},w6={begin:"\\.\\s*"+d9,relevance:0},P6=function(q){return Object.assign(q,{"on:begin":(Z,$)=>{$.data._beginMatch=Z[1]},"on:end":(Z,$)=>{if($.data._beginMatch!==Z[1])$.ignoreMatch()}})},tq=Object.freeze({__proto__:null,APOS_STRING_MODE:z6,BACKSLASH_ESCAPE:Tq,BINARY_NUMBER_MODE:Y6,BINARY_NUMBER_RE:v$,COMMENT:sq,C_BLOCK_COMMENT_MODE:H6,C_LINE_COMMENT_MODE:W6,C_NUMBER_MODE:K6,C_NUMBER_RE:C$,END_SAME_AS_BEGIN:P6,HASH_COMMENT_MODE:F6,IDENT_RE:P$,MATCH_NOTHING_RE:Z6,METHOD_GUARD:w6,NUMBER_MODE:G6,NUMBER_RE:L$,PHRASAL_WORDS_MODE:X6,QUOTE_STRING_MODE:Q6,REGEXP_MODE:U6,RE_STARTERS_RE:$6,SHEBANG:J6,TITLE_MODE:y6,UNDERSCORE_IDENT_RE:d9,UNDERSCORE_TITLE_MODE:B6});function L6(q,Z){if(q.input[q.index-1]===".")Z.ignoreMatch()}function C6(q,Z){if(q.className!==void 0)q.scope=q.className,delete q.className}function v6(q,Z){if(!Z)return;if(!q.beginKeywords)return;if(q.begin="\\b("+q.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",q.__beforeBegin=L6,q.keywords=q.keywords||q.beginKeywords,delete q.beginKeywords,q.relevance===void 0)q.relevance=0}function A6(q,Z){if(!Array.isArray(q.illegal))return;q.illegal=c9(...q.illegal)}function _6(q,Z){if(!q.match)return;if(q.begin||q.end)throw new Error("begin & end are not supported with match");q.begin=q.match,delete q.match}function O6(q,Z){if(q.relevance===void 0)q.relevance=1}var M6=(q,Z)=>{if(!q.beforeMatch)return;if(q.starts)throw new Error("beforeMatch cannot be used with starts");let $=Object.assign({},q);Object.keys(q).forEach((z)=>{delete q[z]}),q.keywords=$.keywords,q.begin=Hq($.beforeMatch,B$($.begin)),q.starts={relevance:0,contains:[Object.assign($,{endsParent:!0})]},q.relevance=0,delete $.beforeMatch},N6=["of","and","for","in","not","or","if","then","parent","list","value"],f6="keyword";function A$(q,Z,$=f6){let z=Object.create(null);if(typeof q==="string")Q($,q.split(" "));else if(Array.isArray(q))Q($,q);else Object.keys(q).forEach(function(X){Object.assign(z,A$(q[X],Z,X))});return z;function Q(X,W){if(Z)W=W.map((H)=>H.toLowerCase());W.forEach(function(H){let G=H.split("|");z[G[0]]=[X,k6(G[0],G[1])]})}}function k6(q,Z){if(Z)return Number(Z);return V6(q)?0:1}function V6(q){return N6.includes(q.toLowerCase())}var W$={},Wq=(q)=>{console.error(q)},H$=(q,...Z)=>{console.log(`WARN: ${q}`,...Z)},Lq=(q,Z)=>{if(W$[`${q}/${Z}`])return;console.log(`Deprecated as of ${q}. ${Z}`),W$[`${q}/${Z}`]=!0},oq=new Error;function _$(q,Z,{key:$}){let z=0,Q=q[$],X={},W={};for(let H=1;H<=Z.length;H++)W[H+z]=Q[H],X[H+z]=!0,z+=w$(Z[H-1]);q[$]=W,q[$]._emit=X,q[$]._multi=!0}function g6(q){if(!Array.isArray(q.begin))return;if(q.skip||q.excludeBegin||q.returnBegin)throw Wq("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),oq;if(typeof q.beginScope!=="object"||q.beginScope===null)throw Wq("beginScope must be object"),oq;_$(q,q.begin,{key:"beginScope"}),q.begin=a9(q.begin,{joinWith:""})}function b6(q){if(!Array.isArray(q.end))return;if(q.skip||q.excludeEnd||q.returnEnd)throw Wq("skip, excludeEnd, returnEnd not compatible with endScope: {}"),oq;if(typeof q.endScope!=="object"||q.endScope===null)throw Wq("endScope must be object"),oq;_$(q,q.end,{key:"endScope"}),q.end=a9(q.end,{joinWith:""})}function S6(q){if(q.scope&&typeof q.scope==="object"&&q.scope!==null)q.beginScope=q.scope,delete q.scope}function T6(q){if(S6(q),typeof q.beginScope==="string")q.beginScope={_wrap:q.beginScope};if(typeof q.endScope==="string")q.endScope={_wrap:q.endScope};g6(q),b6(q)}function R6(q){function Z(W,H){return new RegExp(Sq(W),"m"+(q.case_insensitive?"i":"")+(q.unicodeRegex?"u":"")+(H?"g":""))}class ${constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(W,H){H.position=this.position++,this.matchIndexes[this.matchAt]=H,this.regexes.push([H,W]),this.matchAt+=w$(W)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let W=this.regexes.map((H)=>H[1]);this.matcherRe=Z(a9(W,{joinWith:"|"}),!0),this.lastIndex=0}exec(W){this.matcherRe.lastIndex=this.lastIndex;let H=this.matcherRe.exec(W);if(!H)return null;let G=H.findIndex((Y,K)=>K>0&&Y!==void 0),F=this.matchIndexes[G];return H.splice(0,G),Object.assign(H,F)}}class z{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(W){if(this.multiRegexes[W])return this.multiRegexes[W];let H=new $;return this.rules.slice(W).forEach(([G,F])=>H.addRule(G,F)),H.compile(),this.multiRegexes[W]=H,H}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(W,H){if(this.rules.push([W,H]),H.type==="begin")this.count++}exec(W){let H=this.getMatcher(this.regexIndex);H.lastIndex=this.lastIndex;let G=H.exec(W);if(this.resumingScanAtSamePosition())if(G&&G.index===this.lastIndex);else{let F=this.getMatcher(0);F.lastIndex=this.lastIndex+1,G=F.exec(W)}if(G){if(this.regexIndex+=G.position+1,this.regexIndex===this.count)this.considerAll()}return G}}function Q(W){let H=new z;if(W.contains.forEach((G)=>H.addRule(G.begin,{rule:G,type:"begin"})),W.terminatorEnd)H.addRule(W.terminatorEnd,{type:"end"});if(W.illegal)H.addRule(W.illegal,{type:"illegal"});return H}function X(W,H){let G=W;if(W.isCompiled)return G;[C6,_6,T6,M6].forEach((Y)=>Y(W,H)),q.compilerExtensions.forEach((Y)=>Y(W,H)),W.__beforeBegin=null,[v6,A6,O6].forEach((Y)=>Y(W,H)),W.isCompiled=!0;let F=null;if(typeof W.keywords==="object"&&W.keywords.$pattern)W.keywords=Object.assign({},W.keywords),F=W.keywords.$pattern,delete W.keywords.$pattern;if(F=F||/\w+/,W.keywords)W.keywords=A$(W.keywords,q.case_insensitive);if(G.keywordPatternRe=Z(F,!0),H){if(!W.begin)W.begin=/\B|\b/;if(G.beginRe=Z(G.begin),!W.end&&!W.endsWithParent)W.end=/\B|\b/;if(W.end)G.endRe=Z(G.end);if(G.terminatorEnd=Sq(G.end)||"",W.endsWithParent&&H.terminatorEnd)G.terminatorEnd+=(W.end?"|":"")+H.terminatorEnd}if(W.illegal)G.illegalRe=Z(W.illegal);if(!W.contains)W.contains=[];if(W.contains=[].concat(...W.contains.map(function(Y){return I6(Y==="self"?W:Y)})),W.contains.forEach(function(Y){X(Y,G)}),W.starts)X(W.starts,H);return G.matcher=Q(G),G}if(!q.compilerExtensions)q.compilerExtensions=[];if(q.contains&&q.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return q.classNameAliases=Zq(q.classNameAliases||{}),X(q)}function O$(q){if(!q)return!1;return q.endsWithParent||O$(q.starts)}function I6(q){if(q.variants&&!q.cachedVariants)q.cachedVariants=q.variants.map(function(Z){return Zq(q,{variants:null},Z)});if(q.cachedVariants)return q.cachedVariants;if(O$(q))return Zq(q,{starts:q.starts?Zq(q.starts):null});if(Object.isFrozen(q))return Zq(q);return q}var x6="11.11.1";class M$ extends Error{constructor(q,Z){super(q);this.name="HTMLInjectionError",this.html=Z}}var p9=Y$,F$=Zq,G$=Symbol("nomatch"),j6=7,N$=function(q){let Z=Object.create(null),$=Object.create(null),z=[],Q=!0,X="Could not find the language '{}', did you forget to load/include a language module?",W={disableAutodetect:!0,name:"Plain text",contains:[]},H={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:y$};function G(g){return H.noHighlightRe.test(g)}function F(g){let N=g.className+" ";N+=g.parentNode?g.parentNode.className:"";let _=H.languageDetectRe.exec(N);if(_){let S=I(_[1]);if(!S)H$(X.replace("{}",_[1])),H$("Falling back to no-highlight mode for this block.",g);return S?_[1]:"no-highlight"}return N.split(/\s+/).find((S)=>G(S)||I(S))}function Y(g,N,_){let S="",t="";if(typeof N==="object")S=g,_=N.ignoreIllegals,t=N.language;else Lq("10.7.0","highlight(lang, code, ...args) has been deprecated."),Lq("10.7.0",`Please use highlight(code, options) instead.
|
|
2
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),
|
|
3
|
-
`,1;if(Oq>1e5&&Oq>r.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P0+=U,U.length}let M0=I(g);if(!M0)throw Wq(X.replace("{}",g)),new Error('Unknown language: "'+g+'"');let G0=R6(M0),a0="",Z0=S||G0,n0={},S0=new H.__emitter(H);q0();let P0="",Kq=0,r0=0,Oq=0,Mq=!1;try{if(!M0.__emitTokens){Z0.matcher.considerAll();for(;;){if(Oq++,Mq)Mq=!1;else Z0.matcher.considerAll();Z0.matcher.lastIndex=r0;let i=Z0.matcher.exec(N);if(!i)break;let r=N.substring(r0,i.index),U=c(r,i);r0=i.index+U}c(N.substring(r0))}else M0.__emitTokens(N,S0);return S0.finalize(),a0=S0.toHTML(),{language:g,value:a0,relevance:Kq,illegal:!1,_emitter:S0,_top:Z0}}catch(i){if(i.message&&i.message.includes("Illegal"))return{language:g,value:p9(N),illegal:!0,relevance:0,_illegalBy:{message:i.message,index:r0,context:N.slice(r0-100,r0+100),mode:i.mode,resultSoFar:a0},_emitter:S0};else if(Q)return{language:g,value:p9(N),illegal:!1,relevance:0,errorRaised:i,_emitter:S0,_top:Z0};else throw i}}function v(g){let N={value:p9(g),illegal:!1,relevance:0,_top:W,_emitter:new H.__emitter(H)};return N._emitter.addText(g),N}function y(g,N){N=N||H.languages||Object.keys(Z);let _=v(g),S=N.filter(I).filter(h).map((_0)=>K(_0,g,!1));S.unshift(_);let t=S.sort((_0,Q0)=>{if(_0.relevance!==Q0.relevance)return Q0.relevance-_0.relevance;if(_0.language&&Q0.language){if(I(_0.language).supersetOf===Q0.language)return 1;else if(I(Q0.language).supersetOf===_0.language)return-1}return 0}),[e,J0]=t,F0=e;return F0.secondBest=J0,F0}function w(g,N,_){let S=N&&$[N]||_;g.classList.add("hljs"),g.classList.add(`language-${S}`)}function O(g){let N=null,_=F(g);if(G(_))return;if(W0("before:highlightElement",{el:g,language:_}),g.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",g);return}if(g.children.length>0){if(!H.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(g);if(H.throwUnescapedHTML)throw new M$("One of your code blocks includes unescaped HTML.",g.innerHTML)}N=g;let S=N.textContent,t=_?Y(S,{language:_,ignoreIllegals:!0}):y(S);if(g.innerHTML=t.value,g.dataset.highlighted="yes",w(g,_,t.language),g.result={language:t.language,re:t.relevance,relevance:t.relevance},t.secondBest)g.secondBest={language:t.secondBest.language,relevance:t.secondBest.relevance};W0("after:highlightElement",{el:g,result:t,text:S})}function A(g){H=F$(H,g)}let k=()=>{B(),Lq("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function b(){B(),Lq("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let P=!1;function B(){function g(){B()}if(document.readyState==="loading"){if(!P)window.addEventListener("DOMContentLoaded",g,!1);P=!0;return}document.querySelectorAll(H.cssSelector).forEach(O)}function M(g,N){let _=null;try{_=N(q)}catch(S){if(Wq("Language definition for '{}' could not be registered.".replace("{}",g)),!Q)throw S;else Wq(S);_=W}if(!_.name)_.name=g;if(Z[g]=_,_.rawDefinition=N.bind(null,q),_.aliases)T(_.aliases,{languageName:g})}function L(g){delete Z[g];for(let N of Object.keys($))if($[N]===g)delete $[N]}function R(){return Object.keys(Z)}function I(g){return g=(g||"").toLowerCase(),Z[g]||Z[$[g]]}function T(g,{languageName:N}){if(typeof g==="string")g=[g];g.forEach((_)=>{$[_.toLowerCase()]=N})}function h(g){let N=I(g);return N&&!N.disableAutodetect}function m(g){if(g["before:highlightBlock"]&&!g["before:highlightElement"])g["before:highlightElement"]=(N)=>{g["before:highlightBlock"](Object.assign({block:N.el},N))};if(g["after:highlightBlock"]&&!g["after:highlightElement"])g["after:highlightElement"]=(N)=>{g["after:highlightBlock"](Object.assign({block:N.el},N))}}function o(g){m(g),z.push(g)}function u(g){let N=z.indexOf(g);if(N!==-1)z.splice(N,1)}function W0(g,N){let _=g;z.forEach(function(S){if(S[_])S[_](N)})}function U0(g){return Lq("10.7.0","highlightBlock will be removed entirely in v12.0"),Lq("10.7.0","Please use highlightElement now."),O(g)}Object.assign(q,{highlight:Y,highlightAuto:y,highlightAll:B,highlightElement:O,highlightBlock:U0,configure:A,initHighlighting:k,initHighlightingOnLoad:b,registerLanguage:M,unregisterLanguage:L,listLanguages:R,getLanguage:I,registerAliases:T,autoDetection:h,inherit:F$,addPlugin:o,removePlugin:u}),q.debugMode=function(){Q=!1},q.safeMode=function(){Q=!0},q.versionString=x6,q.regex={concat:Hq,lookahead:B$,either:c9,optional:o5,anyNumberOfTimes:t5};for(let g in tq)if(typeof tq[g]==="object")K$(tq[g]);return Object.assign(q,tq),q},Cq=N$({});Cq.newInstance=()=>N$({});f$.exports=Cq;Cq.HighlightJS=Cq;Cq.default=Cq});var g$=K0((eJ,V$)=>{function D6(q){let Z=q.regex,$=Z.concat(/[\p{L}_]/u,Z.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),z=/[\p{L}0-9._:-]+/u,Q={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},X={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},W=q.inherit(X,{begin:/\(/,end:/\)/}),H=q.inherit(q.APOS_STRING_MODE,{className:"string"}),G=q.inherit(q.QUOTE_STRING_MODE,{className:"string"}),F={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:z,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[Q]},{begin:/'/,end:/'/,contains:[Q]},{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:[X,G,H,W,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[X,W,G,H]}]}]},q.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},Q,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[G]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[F],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[F],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:Z.concat(/</,Z.lookahead(Z.concat($,Z.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:$,relevance:0,starts:F}]},{className:"tag",begin:Z.concat(/<\//,Z.lookahead(Z.concat($,/>/))),contains:[{className:"name",begin:$,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}V$.exports=D6});var S$=K0((qz,b$)=>{function u6(q){let Z=q.regex,$={},z={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[$]}]};Object.assign($,{className:"variable",variants:[{begin:Z.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},z]});let Q={className:"subst",begin:/\$\(/,end:/\)/,contains:[q.BACKSLASH_ESCAPE]},X=q.inherit(q.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),W={begin:/<<-?\s*(?=\w+)/,starts:{contains:[q.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},H={className:"string",begin:/"/,end:/"/,contains:[q.BACKSLASH_ESCAPE,$,Q]};Q.contains.push(H);let G={match:/\\"/},F={className:"string",begin:/'/,end:/'/},Y={match:/\\'/},K={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},q.NUMBER_MODE,$]},v=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=q.SHEBANG({binary:`(${v.join("|")})`,relevance:10}),w={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[q.inherit(q.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},O=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],A=["true","false"],k={match:/(\/[a-z._-]+)+/},b=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],P=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["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"],M=["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","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:O,literal:A,built_in:[...b,...P,"set","shopt",...B,...M]},contains:[y,q.SHEBANG(),w,K,X,W,k,H,G,F,Y,$]}}b$.exports=u6});var R$=K0((Zz,T$)=>{function h6(q){let Z=q.regex,$=q.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),z="decltype\\(auto\\)",Q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(decltype\\(auto\\)|"+Z.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+Z.optional("<[^<>]+>")+")",H={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},G="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",F={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[q.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},q.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},Y={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},K={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},q.inherit(F,{className:"string"}),{className:"string",begin:/<.*?>/},$,q.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE,relevance:0},y=Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},k=[K,H,$,q.C_BLOCK_COMMENT_MODE,Y,F],b={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:k.concat([{begin:/\(/,end:/\)/,keywords:A,contains:k.concat(["self"]),relevance:0}]),relevance:0},P={begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:A,relevance:0},{begin:y,returnBegin:!0,contains:[q.inherit(v,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[$,q.C_BLOCK_COMMENT_MODE,F,Y,H,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",$,q.C_BLOCK_COMMENT_MODE,F,Y,H]}]},H,$,q.C_BLOCK_COMMENT_MODE,K]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"</",contains:[].concat(b,P,k,[K,{begin:q.IDENT_RE+"::",keywords:A},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},q.TITLE_MODE]}]),exports:{preprocessor:K,strings:F,keywords:A}}}T$.exports=h6});var x$=K0(($z,I$)=>{function m6(q){let Z=q.regex,$=q.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),z="decltype\\(auto\\)",Q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(?!struct)(decltype\\(auto\\)|"+Z.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+Z.optional("<[^<>]+>")+")",H={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},G="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",F={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[q.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},q.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},Y={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},K={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},q.inherit(F,{className:"string"}),{className:"string",begin:/<.*?>/},$,q.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE,relevance:0},y=Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE+"\\s*\\(",w=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],O=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],k=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:O,keyword:w,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},M={className:"function.dispatch",relevance:0,keywords:{_hint:k},begin:Z.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,q.IDENT_RE,Z.lookahead(/(<[^<>]+>|)\s*\(/))},L=[M,K,H,$,q.C_BLOCK_COMMENT_MODE,Y,F],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:L.concat([{begin:/\(/,end:/\)/,keywords:B,contains:L.concat(["self"]),relevance:0}]),relevance:0},I={className:"function",begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:B,relevance:0},{begin:y,returnBegin:!0,contains:[v],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[F,Y]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[$,q.C_BLOCK_COMMENT_MODE,F,Y,H,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",$,q.C_BLOCK_COMMENT_MODE,F,Y,H]}]},H,$,q.C_BLOCK_COMMENT_MODE,K]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(R,I,M,L,[K,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",H]},{begin:q.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}I$.exports=m6});var D$=K0((Jz,j$)=>{function p6(q){let Z=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],$=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],z=["default","false","null","true"],Q=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],X=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],W={keyword:Q.concat(X),built_in:Z,literal:z},H=q.inherit(q.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),G={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},F={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},Y={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},K=q.inherit(Y,{illegal:/\n/}),v={className:"subst",begin:/\{/,end:/\}/,keywords:W},y=q.inherit(v,{illegal:/\n/}),w={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},q.BACKSLASH_ESCAPE,y]},O={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},v]},A=q.inherit(O,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});v.contains=[O,w,Y,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,G,q.C_BLOCK_COMMENT_MODE],y.contains=[A,w,K,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,G,q.inherit(q.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let k={variants:[F,O,w,Y,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},b={begin:"<",end:">",contains:[{beginKeywords:"in out"},H]},P=q.IDENT_RE+"(<"+q.IDENT_RE+"(\\s*,\\s*"+q.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+q.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:W,illegal:/::/,contains:[q.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},k,G,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},H,b,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[H,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[H,b,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+P+"\\s+)+"+q.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:W,contains:[{beginKeywords:$.join(" "),relevance:0},{begin:q.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[q.TITLE_MODE,b],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,relevance:0,contains:[k,G,q.C_BLOCK_COMMENT_MODE]},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},B]}}j$.exports=p6});var h$=K0((zz,u$)=>{var i6=(q)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:q.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:q.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},E6=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],c6=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],a6=[...E6,...c6],d6=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),n6=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),r6=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),l6=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function t6(q){let Z=q.regex,$=i6(q),z={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},Q="and or not only",X=/@-?\w[\w]*(-\w+)*/,W="[a-zA-Z-][a-zA-Z0-9_-]*",H=[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[$.BLOCK_COMMENT,z,$.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},$.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+n6.join("|")+")"},{begin:":(:)?("+r6.join("|")+")"}]},$.CSS_VARIABLE,{className:"attribute",begin:"\\b("+l6.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[$.BLOCK_COMMENT,$.HEXCOLOR,$.IMPORTANT,$.CSS_NUMBER_MODE,...H,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...H,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},$.FUNCTION_DISPATCH]},{begin:Z.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:X},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:d6.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...H,$.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+a6.join("|")+")\\b"}]}}u$.exports=t6});var p$=K0((Qz,m$)=>{function o6(q){let Z=q.regex,$={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},z={begin:"^[-\\*]{3,}",end:"$"},Q={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},X={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},W={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},H=/[A-Za-z][A-Za-z0-9+.-]*/,G={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:Z.concat(/\[.+?\]\(/,H,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},F={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},Y={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},K=q.inherit(F,{contains:[]}),v=q.inherit(Y,{contains:[]});F.contains.push(v),Y.contains.push(K);let y=[$,G];return[F,Y,K,v].forEach((k)=>{k.contains=k.contains.concat(y)}),y=y.concat(F,Y),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},$,X,F,Y,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},Q,z,G,W,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}m$.exports=o6});var E$=K0((Xz,i$)=>{function s6(q){let Z=q.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:Z.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:Z.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}i$.exports=s6});var a$=K0((Wz,c$)=>{function e6(q){let Z=q.regex,$="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",z=Z.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),Q=Z.concat(z,/(::\w+)*/),W={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},H={className:"doctag",begin:"@[A-Za-z]+"},G={begin:"#<",end:">"},F=[q.COMMENT("#","$",{contains:[H]}),q.COMMENT("^=begin","^=end",{contains:[H],relevance:10}),q.COMMENT("^__END__",q.MATCH_NOTHING_RE)],Y={className:"subst",begin:/#\{/,end:/\}/,keywords:W},K={className:"string",contains:[q.BACKSLASH_ESCAPE,Y],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:Z.concat(/<<[-~]?'?/,Z.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[q.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[q.BACKSLASH_ESCAPE,Y]})]}]},v="[1-9](_?[0-9])*|0",y="[0-9](_?[0-9])*",w={className:"number",relevance:0,variants:[{begin:"\\b([1-9](_?[0-9])*|0)(\\.([0-9](_?[0-9])*))?([eE][+-]?([0-9](_?[0-9])*)|r)?i?\\b"},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},O={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:W}]},L=[K,{variants:[{match:[/class\s+/,Q,/\s+<\s+/,Q]},{match:[/\b(class|module)\s+/,Q]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:W},{match:[/(include|extend)\s+/,Q],scope:{2:"title.class"},keywords:W},{relevance:0,match:[Q,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:z,scope:"title.class"},{match:[/def/,/\s+/,"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"],scope:{1:"keyword",3:"title.function"},contains:[O]},{begin:q.IDENT_RE+"::"},{className:"symbol",begin:q.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[K,{begin:"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"}],relevance:0},w,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:W},{begin:"("+q.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[q.BACKSLASH_ESCAPE,Y],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(G,F),relevance:0}].concat(G,F);Y.contains=L,O.contains=L;let R="[>?]>",I="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",T="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",h=[{begin:/^\s*=>/,starts:{end:"$",contains:L}},{className:"meta.prompt",begin:"^("+R+"|"+I+"|"+T+")(?=[ ])",starts:{end:"$",keywords:W,contains:L}}];return F.unshift(G),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:W,illegal:/\/\*/,contains:[q.SHEBANG({binary:"ruby"})].concat(h).concat(F).concat(L)}}c$.exports=e6});var n$=K0((Hz,d$)=>{function q1(q){let X={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:X,illegal:"</",contains:[q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,{className:"string",variants:[q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[q.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:X,illegal:/["']/}]}]}}d$.exports=q1});var l$=K0((Fz,r$)=>{function Z1(q){let Z=q.regex,$=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[q.HASH_COMMENT_MODE,q.QUOTE_STRING_MODE,q.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:Z.concat($,Z.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}r$.exports=Z1});var o$=K0((Gz,t$)=>{function $1(q){let Z=q.regex,$={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:q.NUMBER_RE}]},z=q.COMMENT();z.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let Q={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},X={className:"literal",begin:/\bon|off|true|false|yes|no\b/},W={className:"string",contains:[q.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},H={begin:/\[/,end:/\]/,contains:[z,X,Q,W,$,"self"],relevance:0},G=/[A-Za-z0-9_-]+/,F=/"(\\"|[^"])*"/,Y=/'[^']*'/,K=Z.either(G,F,Y),v=Z.concat(K,"(\\s*\\.\\s*",K,")*",Z.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[z,{className:"section",begin:/\[+/,end:/\]+/},{begin:v,className:"attr",starts:{end:/$/,contains:[z,H,X,Q,W,$]}}]}}t$.exports=$1});var Z8=K0((Kz,q8)=>{var vq="[0-9](_*[0-9])*",eq=`\\.(${vq})`,q9="[0-9a-fA-F](_*[0-9a-fA-F])*",s$={className:"number",variants:[{begin:`(\\b(${vq})((${eq})|\\.)?|(${eq}))[eE][+-]?(${vq})[fFdD]?\\b`},{begin:`\\b(${vq})((${eq})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${eq})[fFdD]?\\b`},{begin:`\\b(${vq})[fFdD]\\b`},{begin:`\\b0[xX]((${q9})\\.?|(${q9})?\\.(${q9}))[pP][+-]?(${vq})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${q9})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function e$(q,Z,$){if($===-1)return"";return q.replace(Z,(z)=>{return e$(q,Z,$-1)})}function J1(q){let Z=q.regex,$="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",z="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+e$("(?:<"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~(?:\\s*,\\s*"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~)*>)?",/~~~/g,2),G={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","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},F={className:"meta",begin:"@"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},Y={className:"params",begin:/\(/,end:/\)/,keywords:G,relevance:0,contains:[q.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:G,illegal:/<\/|#/,contains:[q.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[q.BACKSLASH_ESCAPE]},q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[Z.concat(/(?!else)/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"),/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"},contains:[Y,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+z+"\\s+)",q.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:G,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:G,relevance:0,contains:[F,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,s$,q.C_BLOCK_COMMENT_MODE]},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},s$,F]}}q8.exports=J1});var X8=K0((Yz,Q8)=>{var z1=["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","using"],Q1=["true","false","null","undefined","NaN","Infinity"],$8=["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"],J8=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],z8=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],X1=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],W1=[].concat(z8,$8,J8);function H1(q){let Z=q.regex,$=(_,{after:S})=>{let t="</"+_[0].slice(1);return _.input.indexOf(t,S)!==-1},z="[A-Za-z$_][0-9A-Za-z$_]*",Q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(_,S)=>{let t=_[0].length+_.index,e=_.input[t];if(e==="<"||e===","){S.ignoreMatch();return}if(e===">"){if(!$(_,{after:t}))S.ignoreMatch()}let J0,F0=_.input.substring(t);if(J0=F0.match(/^\s*=/)){S.ignoreMatch();return}if(J0=F0.match(/^\s+extends\s+/)){if(J0.index===0){S.ignoreMatch();return}}}},H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:z1,literal:Q1,built_in:W1,"variable.language":X1},G="[0-9](_?[0-9])*",F="\\.([0-9](_?[0-9])*)",Y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",K={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\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},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:H,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"css"}},O={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[q.BACKSLASH_ESCAPE,v]},b={className:"comment",variants:[q.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:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),q.C_BLOCK_COMMENT_MODE,q.C_LINE_COMMENT_MODE]},P=[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,O,A,{match:/\$\d+/},K];v.contains=P.concat({begin:/\{/,end:/\}/,keywords:H,contains:["self"].concat(P)});let B=[].concat(b,v.contains),M=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:H,contains:["self"].concat(B)}]),L={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:M},R={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,Z.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",Z.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:Z.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:{_:[...$8,...J8]}},T={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},h={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},m={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function o(_){return Z.concat("(?!",_.join("|"),")")}let u={match:Z.concat(/\b/,o([...z8,"super","import"].map((_)=>`${_}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",Z.lookahead(/\s*\(/)),className:"title.function",relevance:0},W0={begin:Z.concat(/\./,Z.lookahead(Z.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},U0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+q.UNDERSCORE_IDENT_RE+")\\s*=>",N={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,Z.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:H,exports:{PARAMS_CONTAINS:M,CLASS_REFERENCE:I},illegal:/#(?![$_A-z])/,contains:[q.SHEBANG({label:"shebang",binary:"node",relevance:5}),T,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,O,A,b,{match:/\$\d+/},K,I,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+Z.lookahead(":"),relevance:0},N,{begin:"("+q.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[b,q.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:q.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:M}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:Q.begin,end:Q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},h,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+q.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,q.inherit(q.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},W0,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},u,m,R,U0,{match:/\$[(.]/}]}}Q8.exports=H1});var H8=K0((Uz,W8)=>{function F1(q){let Z={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},$={match:/[{}[\],:]/,className:"punctuation",relevance:0},z=["true","false","null"],Q={scope:"literal",beginKeywords:z.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:z},contains:[Z,$,q.QUOTE_STRING_MODE,Q,q.C_NUMBER_MODE,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}W8.exports=F1});var G8=K0((yz,F8)=>{var Aq="[0-9](_*[0-9])*",Z9=`\\.(${Aq})`,$9="[0-9a-fA-F](_*[0-9a-fA-F])*",G1={className:"number",variants:[{begin:`(\\b(${Aq})((${Z9})|\\.)?|(${Z9}))[eE][+-]?(${Aq})[fFdD]?\\b`},{begin:`\\b(${Aq})((${Z9})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Z9})[fFdD]?\\b`},{begin:`\\b(${Aq})[fFdD]\\b`},{begin:`\\b0[xX]((${$9})\\.?|(${$9})?\\.(${$9}))[pP][+-]?(${Aq})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${$9})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function K1(q){let Z={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},$={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},z={className:"symbol",begin:q.UNDERSCORE_IDENT_RE+"@"},Q={className:"subst",begin:/\$\{/,end:/\}/,contains:[q.C_NUMBER_MODE]},X={className:"variable",begin:"\\$"+q.UNDERSCORE_IDENT_RE},W={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[X,Q]},{begin:"'",end:"'",illegal:/\n/,contains:[q.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[q.BACKSLASH_ESCAPE,X,Q]}]};Q.contains.push(W);let H={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+q.UNDERSCORE_IDENT_RE+")?"},G={className:"meta",begin:"@"+q.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[q.inherit(W,{className:"string"}),"self"]}]},F=G1,Y=q.COMMENT("/\\*","\\*/",{contains:[q.C_BLOCK_COMMENT_MODE]}),K={variants:[{className:"type",begin:q.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},v=K;return v.variants[1].contains=[K],K.variants[1].contains=[v],{name:"Kotlin",aliases:["kt","kts"],keywords:Z,contains:[q.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),q.C_LINE_COMMENT_MODE,Y,$,z,H,G,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:Z,relevance:5,contains:[{begin:q.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[q.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:Z,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[K,q.C_LINE_COMMENT_MODE,Y],relevance:0},q.C_LINE_COMMENT_MODE,Y,H,G,W,q.C_NUMBER_MODE]},Y]},{begin:[/class|interface|trait/,/\s+/,q.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},q.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},H,G]},W,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
4
|
-
`},F]}}F8.exports=K1});var y8=K0((Bz,U8)=>{var Y1=(q)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:q.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:q.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},U1=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],y1=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],B1=[...U1,...y1],w1=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),K8=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Y8=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),P1=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),L1=K8.concat(Y8).sort().reverse();function C1(q){let Z=Y1(q),$=L1,z="and or not only",Q="[\\w-]+",X="([\\w-]+|@\\{[\\w-]+\\})",W=[],H=[],G=function(P){return{className:"string",begin:"~?"+P+".*?"+P}},F=function(P,B,M){return{className:P,begin:B,relevance:M}},Y={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:w1.join(" ")},K={begin:"\\(",end:"\\)",contains:H,keywords:Y,relevance:0};H.push(q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,G("'"),G('"'),Z.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},Z.HEXCOLOR,K,F("variable","@@?[\\w-]+",10),F("variable","@\\{[\\w-]+\\}"),F("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},Z.IMPORTANT,{beginKeywords:"and not"},Z.FUNCTION_DISPATCH);let v=H.concat({begin:/\{/,end:/\}/,contains:W}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(H)},w={begin:X+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},Z.CSS_VARIABLE,{className:"attribute",begin:"\\b("+P1.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:H}}]},O={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:Y,returnEnd:!0,contains:H,relevance:0}},A={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:v}},k={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:X,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,y,F("keyword","all\\b"),F("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+B1.join("|")+")\\b",className:"selector-tag"},Z.CSS_NUMBER_MODE,F("selector-tag",X,0),F("selector-id","#"+X),F("selector-class","\\."+X,0),F("selector-tag","&",0),Z.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+K8.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Y8.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:v},{begin:"!important"},Z.FUNCTION_DISPATCH]},b={begin:`[\\w-]+:(:)?(${$.join("|")})`,returnBegin:!0,contains:[k]};return W.push(q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,O,A,b,w,k,y,Z.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:W}}U8.exports=C1});var w8=K0((wz,B8)=>{function v1(q){let z={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},Q=[q.COMMENT("--(?!\\[=*\\[)","$"),q.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[z],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:q.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:Q.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[q.inherit(q.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:Q}].concat(Q)},q.C_NUMBER_MODE,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[z],relevance:5}])}}B8.exports=v1});var L8=K0((Pz,P8)=>{function A1(q){let Z={className:"variable",variants:[{begin:"\\$\\("+q.UNDERSCORE_IDENT_RE+"\\)",contains:[q.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},$={className:"string",begin:/"/,end:/"/,contains:[q.BACKSLASH_ESCAPE,Z]},z={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[Z,$]},Q={begin:"^"+q.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},X={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},W={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[Z]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[q.HASH_COMMENT_MODE,Z,$,z,Q,X,W]}}P8.exports=A1});var v8=K0((Lz,C8)=>{function _1(q){let Z=q.regex,$=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],z=/[dualxmsipngr]{0,12}/,Q={$pattern:/[\w.]+/,keyword:$.join(" ")},X={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:Q},W={begin:/->\{/,end:/\}/},H={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},G={scope:"variable",variants:[{begin:/\$\d/},{begin:Z.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[H]},F={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},Y=[q.BACKSLASH_ESCAPE,X,G],K=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],v=(O,A,k="\\1")=>{let b=k==="\\1"?k:Z.concat(k,A);return Z.concat(Z.concat("(?:",O,")"),A,/(?:\\.|[^\\\/])*?/,b,/(?:\\.|[^\\\/])*?/,k,z)},y=(O,A,k)=>{return Z.concat(Z.concat("(?:",O,")"),A,/(?:\\.|[^\\\/])*?/,k,z)},w=[G,q.HASH_COMMENT_MODE,q.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),W,{className:"string",contains:Y,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[q.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[q.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},F,{begin:"(\\/\\/|"+q.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[q.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:v("s|tr|y",Z.either(...K,{capture:!0}))},{begin:v("s|tr|y","\\(","\\)")},{begin:v("s|tr|y","\\[","\\]")},{begin:v("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",Z.either(...K,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[q.TITLE_MODE,H]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[q.TITLE_MODE,H,F]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return X.contains=w,W.contains=w,{name:"Perl",aliases:["pl","pm"],keywords:Q,contains:w}}C8.exports=_1});var _8=K0((Cz,A8)=>{function O1(q){let Z={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},$=/[a-zA-Z@][a-zA-Z0-9_]*/,H={"variable.language":["this","super"],$pattern:$,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},G={$pattern:$,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:H,illegal:"</",contains:[Z,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,q.C_NUMBER_MODE,q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[q.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},q.inherit(q.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+G.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:G,contains:[q.UNDERSCORE_TITLE_MODE]},{begin:"\\."+q.UNDERSCORE_IDENT_RE,relevance:0}]}}A8.exports=O1});var M8=K0((vz,O8)=>{function M1(q){let Z=q.regex,$=/(?![A-Za-z0-9])(?![$])/,z=Z.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,$),Q=Z.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,$),X=Z.concat(/[A-Z]+/,$),W={scope:"variable",match:"\\$+"+z},H={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:0.1},{begin:/\?>/}]},G={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},F=q.inherit(q.APOS_STRING_MODE,{illegal:null}),Y=q.inherit(q.QUOTE_STRING_MODE,{illegal:null,contains:q.QUOTE_STRING_MODE.contains.concat(G)}),K={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:q.QUOTE_STRING_MODE.contains.concat(G),"on:begin":(W0,U0)=>{U0.data._beginMatch=W0[1]||W0[2]},"on:end":(W0,U0)=>{if(U0.data._beginMatch!==W0[1])U0.ignoreMatch()}},v=q.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
|
|
5
|
-
]`,w={scope:"string",variants:[Y,
|
|
6
|
-
]`,"+"),
|
|
7
|
-
]`,"*"),Z.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[h]};h.contains.push(m);let o=[T,I,q.C_BLOCK_COMMENT_MODE,w,O,L],u={begin:Z.concat(/#\[\s*\\?/,Z.either(Q,X)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:A,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:A,keyword:["new","array"]},contains:["self",...o]},...o,{scope:"meta",variants:[{match:Q},{match:X}]}]};return{case_insensitive:!1,keywords:B,contains:[u,q.HASH_COMMENT_MODE,q.COMMENT("//","$"),q.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:q.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},H,{scope:"variable.language",match:/\$this\b/},W,m,I,{match:[/const/,/\s/,z],scope:{1:"keyword",3:"variable.constant"}},L,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},q.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:B,contains:["self",u,W,I,q.C_BLOCK_COMMENT_MODE,w,O]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},q.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[q.inherit(q.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},q.UNDERSCORE_TITLE_MODE]},w,O]}}O8.exports=M1});var f8=K0((Az,N8)=>{function N1(q){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},q.inherit(q.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),q.inherit(q.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}N8.exports=N1});var V8=K0((_z,k8)=>{function f1(q){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}k8.exports=f1});var b8=K0((Oz,g8)=>{function k1(q){let Z=q.regex,$=/[\p{XID_Start}_]\p{XID_Continue}*/u,z=["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"],H={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:z,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"]},G={className:"meta",begin:/^(>>>|\.\.\.) /},F={className:"subst",begin:/\{/,end:/\}/,keywords:H,illegal:/#/},Y={begin:/\{\{/,relevance:0},K={className:"string",contains:[q.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[q.BACKSLASH_ESCAPE,G],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[q.BACKSLASH_ESCAPE,G],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[q.BACKSLASH_ESCAPE,G,Y,F]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[q.BACKSLASH_ESCAPE,G,Y,F]},{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:[q.BACKSLASH_ESCAPE,Y,F]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[q.BACKSLASH_ESCAPE,Y,F]},q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},v="[0-9](_?[0-9])*",y="(\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.",w=`\\b|${z.join("|")}`,O={className:"number",relevance:0,variants:[{begin:`(\\b([0-9](_?[0-9])*)|((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.))[eE][+-]?([0-9](_?[0-9])*)[jJ]?(?=${w})`},{begin:"((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.)[jJ]?"},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${w})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${w})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${w})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${w})`},{begin:`\\b([0-9](_?[0-9])*)[jJ](?=${w})`}]},A={className:"comment",begin:Z.lookahead(/# type:/),end:/$/,keywords:H,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},k={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:["self",G,O,K,q.HASH_COMMENT_MODE]}]};return F.contains=[K,O,G],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:H,illegal:/(<\/|\?)|=>/,contains:[G,O,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},K,A,q.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,$],scope:{1:"keyword",3:"title.function"},contains:[k]},{variants:[{match:[/\bclass/,/\s+/,$,/\s*/,/\(\s*/,$,/\s*\)/]},{match:[/\bclass/,/\s+/,$]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[O,k,K]}]}}g8.exports=k1});var T8=K0((Mz,S8)=>{function V1(q){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}S8.exports=V1});var I8=K0((Nz,R8)=>{function g1(q){let Z=q.regex,$=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,z=Z.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),Q=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,X=Z.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:$,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[q.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:Z.lookahead(Z.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:$},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),q.HASH_COMMENT_MODE,{scope:"string",contains:[q.BACKSLASH_ESCAPE],variants:[q.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),q.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),q.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),q.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),q.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),q.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[Q,z]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,z]},{scope:{1:"punctuation",2:"number"},match:[X,z]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,z]}]},{scope:{3:"operator"},match:[$,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:Q},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:X},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}R8.exports=g1});var j8=K0((fz,x8)=>{function b1(q){let Z=q.regex,$=/(r#)?/,z=Z.concat($,q.UNDERSCORE_IDENT_RE),Q=Z.concat($,q.IDENT_RE),X={className:"title.function.invoke",relevance:0,begin:Z.concat(/\b/,/(?!let|for|while|if|else|match\b)/,Q,Z.lookahead(/\s*\(/))},W="([ui](8|16|32|64|128|size)|f(32|64))?",H=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],G=["true","false","Some","None","Ok","Err"],F=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],Y=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:q.IDENT_RE+"!?",type:Y,keyword:H,literal:G,built_in:F},illegal:"</",contains:[q.C_LINE_COMMENT_MODE,q.COMMENT("/\\*","\\*/",{contains:["self"]}),q.inherit(q.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?"}],relevance:0},{begin:[/fn/,/\s+/,z],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[q.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,z],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,z,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,z],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,z],className:{1:"keyword",3:"title.class"}},{begin:q.IDENT_RE+"::",keywords:{keyword:"Self",built_in:F,type:Y}},{className:"punctuation",begin:"->"},X]}}x8.exports=b1});var u8=K0((kz,D8)=>{var S1=(q)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:q.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:q.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},T1=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],R1=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],I1=[...T1,...R1],x1=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),j1=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),D1=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),u1=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h1(q){let Z=S1(q),$=D1,z=j1,Q="@[a-z-]+",X="and or not only",W="[a-zA-Z-][a-zA-Z0-9_-]*",H={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,Z.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},Z.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+I1.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+z.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+$.join("|")+")"},H,{begin:/\(/,end:/\)/,contains:[Z.CSS_NUMBER_MODE]},Z.CSS_VARIABLE,{className:"attribute",begin:"\\b("+u1.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[Z.BLOCK_COMMENT,H,Z.HEXCOLOR,Z.CSS_NUMBER_MODE,q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,Z.IMPORTANT,Z.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:"@[a-z-]+",keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:x1.join(" ")},contains:[{begin:"@[a-z-]+",className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},H,q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,Z.HEXCOLOR,Z.CSS_NUMBER_MODE]},Z.FUNCTION_DISPATCH]}}D8.exports=h1});var m8=K0((Vz,h8)=>{function m1(q){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}h8.exports=m1});var i8=K0((gz,p8)=>{function p1(q){let Z=q.regex,$=q.COMMENT("--","$"),z={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},Q={begin:/"/,end:/"/,contains:[{match:/""/}]},X=["true","false","unknown"],W=["double precision","large object","with timezone","without timezone"],H=["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"],G=["add","asc","collation","desc","final","first","last","view"],F=["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"],Y=["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"],K=["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"],v=["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"],y=Y,w=[...F,...G].filter((M)=>{return!Y.includes(M)}),O={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},A={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},k={match:Z.concat(/\b/,Z.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function b(M){return Z.concat(/\b/,Z.either(...M.map((L)=>{return L.replace(/\s+/,"\\s+")})),/\b/)}let P={scope:"keyword",match:b(v),relevance:0};function B(M,{exceptions:L,when:R}={}){let I=R;return L=L||[],M.map((T)=>{if(T.match(/\|\d+$/)||L.includes(T))return T;else if(I(T))return`${T}|0`;else return T})}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(w,{when:(M)=>M.length<3}),literal:X,type:H,built_in:K},contains:[{scope:"type",match:b(W)},P,k,O,z,Q,q.C_NUMBER_MODE,q.C_BLOCK_COMMENT_MODE,$,A]}}p8.exports=p1});var o8=K0((bz,t8)=>{function d8(q){if(!q)return null;if(typeof q==="string")return q;return q.source}function Rq(q){return v0("(?=",q,")")}function v0(...q){return q.map(($)=>d8($)).join("")}function i1(q){let Z=q[q.length-1];if(typeof Z==="object"&&Z.constructor===Object)return q.splice(q.length-1,1),Z;else return{}}function D0(...q){return"("+(i1(q).capture?"":"?:")+q.map((z)=>d8(z)).join("|")+")"}var l9=(q)=>v0(/\b/,q,/\w$/.test(q)?/\b/:/\B/),E1=["Protocol","Type"].map(l9),E8=["init","self"].map(l9),c1=["Any","Self"],n9=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],c8=["false","nil","true"],a1=["assignment","associativity","higherThan","left","lowerThan","none","right"],d1=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],a8=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],n8=D0(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),r8=D0(n8,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),r9=v0(n8,r8,"*"),l8=D0(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),z9=D0(l8,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),d0=v0(l8,z9,"*"),J9=v0(/[A-Z]/,z9,"*"),n1=["attached","autoclosure",v0(/convention\(/,D0("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",v0(/objc\(/,d0,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],r1=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function l1(q){let Z={match:/\s+/,relevance:0},$=q.COMMENT("/\\*","\\*/",{contains:["self"]}),z=[q.C_LINE_COMMENT_MODE,$],Q={match:[/\./,D0(...E1,...E8)],className:{2:"keyword"}},X={match:v0(/\./,D0(...n9)),relevance:0},W=n9.filter((G0)=>typeof G0==="string").concat(["_|0"]),H=n9.filter((G0)=>typeof G0!=="string").concat(c1).map(l9),G={variants:[{className:"keyword",match:D0(...H,...E8)}]},F={$pattern:D0(/\b\w+/,/#\w+/),keyword:W.concat(d1),literal:c8},Y=[Q,X,G],K={match:v0(/\./,D0(...a8)),relevance:0},v={className:"built_in",match:v0(/\b/,D0(...a8),/(?=\()/)},y=[K,v],w={match:/->/,relevance:0},O={className:"operator",relevance:0,variants:[{match:r9},{match:`\\.(\\.|${r8})+`}]},A=[w,O],k="([0-9]_*)+",b="([0-9a-fA-F]_*)+",P={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:"\\b0x(([0-9a-fA-F]_*)+)(\\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\\b"},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},B=(G0="")=>({className:"subst",variants:[{match:v0(/\\/,G0,/[0\\tnr"']/)},{match:v0(/\\/,G0,/u\{[0-9a-fA-F]{1,8}\}/)}]}),M=(G0="")=>({className:"subst",match:v0(/\\/,G0,/[\t ]*(?:[\r\n]|\r\n)/)}),L=(G0="")=>({className:"subst",label:"interpol",begin:v0(/\\/,G0,/\(/),end:/\)/}),R=(G0="")=>({begin:v0(G0,/"""/),end:v0(/"""/,G0),contains:[B(G0),M(G0),L(G0)]}),I=(G0="")=>({begin:v0(G0,/"/),end:v0(/"/,G0),contains:[B(G0),L(G0)]}),T={className:"string",variants:[R(),R("#"),R("##"),R("###"),I(),I("#"),I("##"),I("###")]},h=[q.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[q.BACKSLASH_ESCAPE]}],m={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:h},o=(G0)=>{let a0=v0(G0,/\//),Z0=v0(/\//,G0);return{begin:a0,end:Z0,contains:[...h,{scope:"comment",begin:`#(?!.*${Z0})`,end:/$/}]}},u={scope:"regexp",variants:[o("###"),o("##"),o("#"),m]},W0={match:v0(/`/,d0,/`/)},U0={className:"variable",match:/\$\d+/},g={className:"variable",match:`\\$${z9}+`},N=[W0,U0,g],_={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:r1,contains:[...A,P,T]}]}},S={scope:"keyword",match:v0(/@/,D0(...n1),Rq(D0(/\(/,/\s+/)))},t={scope:"meta",match:v0(/@/,d0)},e=[_,S,t],J0={match:Rq(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:v0(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,z9,"+")},{className:"type",match:J9,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:v0(/\s+&\s+/,Rq(J9)),relevance:0}]},F0={begin:/</,end:/>/,keywords:F,contains:[...z,...Y,...e,w,J0]};J0.contains.push(F0);let _0={match:v0(d0,/\s*:/),keywords:"_|0",relevance:0},Q0={begin:/\(/,end:/\)/,relevance:0,keywords:F,contains:["self",_0,...z,u,...Y,...y,...A,P,T,...N,...e,J0]},f={begin:/</,end:/>/,keywords:"repeat each",contains:[...z,J0]},x={begin:D0(Rq(v0(d0,/\s*:/)),Rq(v0(d0,/\s+/,d0,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:d0}]},a={begin:/\(/,end:/\)/,keywords:F,contains:[x,...z,...Y,...A,P,T,...e,J0,Q0],endsParent:!0,illegal:/["']/},n={match:[/(func|macro)/,/\s+/,D0(W0.match,d0,r9)],className:{1:"keyword",3:"title.function"},contains:[f,a,Z],illegal:[/\[/,/%/]},X0={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[f,a,Z],illegal:/\[|%/},B0={match:[/operator/,/\s+/,r9],className:{1:"keyword",3:"title"}},q0={begin:[/precedencegroup/,/\s+/,J9],className:{1:"keyword",3:"title"},contains:[J0],keywords:[...a1,...c8],end:/}/},E={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},c={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},M0={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,d0,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:F,contains:[f,...Y,{begin:/:/,end:/\{/,keywords:F,contains:[{scope:"title.class.inherited",match:J9},...Y],relevance:0}]};for(let G0 of T.variants){let a0=G0.contains.find((n0)=>n0.label==="interpol");a0.keywords=F;let Z0=[...Y,...y,...A,P,T,...N];a0.contains=[...Z0,{begin:/\(/,end:/\)/,contains:["self",...Z0]}]}return{name:"Swift",keywords:F,contains:[...z,n,X0,E,c,M0,B0,q0,{beginKeywords:"import",end:/$/,contains:[...z],relevance:0},u,...Y,...y,...A,P,T,...N,...e,J0,Q0]}}t8.exports=l1});var e8=K0((Sz,s8)=>{function t1(q){let z={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},Q={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},X={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},W={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[q.BACKSLASH_ESCAPE,Q]},H=q.inherit(W,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),G="[0-9]{4}(-[0-9][0-9]){0,2}",F="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",Y="(\\.[0-9]*)?",K="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",v={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:"true false yes no null",relevance:0},w={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},O={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},A=[z,{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+![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!<[\\w#;/?:@&=+$,.~*'()[\\]]+>"},{className:"type",begin:"![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"meta",begin:"&"+q.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+q.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},q.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},v,{className:"number",begin:q.C_NUMBER_RE+"\\b",relevance:0},w,O,X,W],k=[...A];return k.pop(),k.push(H),y.contains=k,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:A}}s8.exports=t1});var H4=K0((Tz,W4)=>{var q4=["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","using"],Z4=["true","false","null","undefined","NaN","Infinity"],$4=["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"],J4=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],z4=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Q4=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],X4=[].concat(z4,$4,J4);function o1(q){let Z=q.regex,$=(_,{after:S})=>{let t="</"+_[0].slice(1);return _.input.indexOf(t,S)!==-1},z="[A-Za-z$_][0-9A-Za-z$_]*",Q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(_,S)=>{let t=_[0].length+_.index,e=_.input[t];if(e==="<"||e===","){S.ignoreMatch();return}if(e===">"){if(!$(_,{after:t}))S.ignoreMatch()}let J0,F0=_.input.substring(t);if(J0=F0.match(/^\s*=/)){S.ignoreMatch();return}if(J0=F0.match(/^\s+extends\s+/)){if(J0.index===0){S.ignoreMatch();return}}}},H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:q4,literal:Z4,built_in:X4,"variable.language":Q4},G="[0-9](_?[0-9])*",F="\\.([0-9](_?[0-9])*)",Y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",K={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\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},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:H,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"css"}},O={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[q.BACKSLASH_ESCAPE,v]},b={className:"comment",variants:[q.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:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),q.C_BLOCK_COMMENT_MODE,q.C_LINE_COMMENT_MODE]},P=[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,O,A,{match:/\$\d+/},K];v.contains=P.concat({begin:/\{/,end:/\}/,keywords:H,contains:["self"].concat(P)});let B=[].concat(b,v.contains),M=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:H,contains:["self"].concat(B)}]),L={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:M},R={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,Z.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",Z.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:Z.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:{_:[...$4,...J4]}},T={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},h={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},m={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function o(_){return Z.concat("(?!",_.join("|"),")")}let u={match:Z.concat(/\b/,o([...z4,"super","import"].map((_)=>`${_}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",Z.lookahead(/\s*\(/)),className:"title.function",relevance:0},W0={begin:Z.concat(/\./,Z.lookahead(Z.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},U0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+q.UNDERSCORE_IDENT_RE+")\\s*=>",N={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,Z.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:H,exports:{PARAMS_CONTAINS:M,CLASS_REFERENCE:I},illegal:/#(?![$_A-z])/,contains:[q.SHEBANG({label:"shebang",binary:"node",relevance:5}),T,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,O,A,b,{match:/\$\d+/},K,I,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+Z.lookahead(":"),relevance:0},N,{begin:"("+q.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[b,q.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:q.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:M}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:Q.begin,end:Q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},h,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+q.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,q.inherit(q.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},W0,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},u,m,R,U0,{match:/\$[(.]/}]}}function s1(q){let Z=q.regex,$=o1(q),z="[A-Za-z$_][0-9A-Za-z$_]*",Q=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],X={begin:[/namespace/,/\s+/,q.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},W={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:Q},contains:[$.exports.CLASS_REFERENCE]},H={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},G=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],F={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:q4.concat(G),literal:Z4,built_in:X4.concat(Q),"variable.language":Q4},Y={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},K=(O,A,k)=>{let b=O.contains.findIndex((P)=>P.label===A);if(b===-1)throw new Error("can not find mode to replace");O.contains.splice(b,1,k)};Object.assign($.keywords,F),$.exports.PARAMS_CONTAINS.push(Y);let v=$.contains.find((O)=>O.scope==="attr"),y=Object.assign({},v,{match:Z.concat("[A-Za-z$_][0-9A-Za-z$_]*",Z.lookahead(/\s*\?:/))});$.exports.PARAMS_CONTAINS.push([$.exports.CLASS_REFERENCE,v,y]),$.contains=$.contains.concat([Y,X,W,y]),K($,"shebang",q.SHEBANG()),K($,"use_strict",H);let w=$.contains.find((O)=>O.label==="func.def");return w.relevance=0,Object.assign($,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),$}W4.exports=s1});var G4=K0((Rz,F4)=>{function e1(q){let Z=q.regex,$={className:"string",begin:/"(""|[^/n])"C\b/},z={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},Q=/\d{1,2}\/\d{1,2}\/\d{4}/,X=/\d{4}-\d{1,2}-\d{1,2}/,W=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,H=/\d{1,2}(:\d{1,2}){1,2}/,G={className:"literal",variants:[{begin:Z.concat(/# */,Z.either(X,Q),/ *#/)},{begin:Z.concat(/# */,H,/ *#/)},{begin:Z.concat(/# */,W,/ *#/)},{begin:Z.concat(/# */,Z.either(X,Q),/ +/,Z.either(W,H),/ *#/)}]},F={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},Y={className:"label",begin:/^\w+:/},K=q.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),v=q.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[$,z,G,F,Y,K,v,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[v]}]}}F4.exports=e1});var Y4=K0((Iz,K4)=>{function q7(q){q.regex;let Z=q.COMMENT(/\(;/,/;\)/);Z.contains.push("self");let $=q.COMMENT(/;;/,/$/),z=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],Q={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},X={className:"variable",begin:/\$[\w_]+/},W={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},H={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},G={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},F={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:z},contains:[$,Z,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},X,W,Q,q.QUOTE_STRING_MODE,G,F,H]}}K4.exports=q7});var y4=K0((xz,U4)=>{var H0=k$();H0.registerLanguage("xml",g$());H0.registerLanguage("bash",S$());H0.registerLanguage("c",R$());H0.registerLanguage("cpp",x$());H0.registerLanguage("csharp",D$());H0.registerLanguage("css",h$());H0.registerLanguage("markdown",p$());H0.registerLanguage("diff",E$());H0.registerLanguage("ruby",a$());H0.registerLanguage("go",n$());H0.registerLanguage("graphql",l$());H0.registerLanguage("ini",o$());H0.registerLanguage("java",Z8());H0.registerLanguage("javascript",X8());H0.registerLanguage("json",H8());H0.registerLanguage("kotlin",G8());H0.registerLanguage("less",y8());H0.registerLanguage("lua",w8());H0.registerLanguage("makefile",L8());H0.registerLanguage("perl",v8());H0.registerLanguage("objectivec",_8());H0.registerLanguage("php",M8());H0.registerLanguage("php-template",f8());H0.registerLanguage("plaintext",V8());H0.registerLanguage("python",b8());H0.registerLanguage("python-repl",T8());H0.registerLanguage("r",I8());H0.registerLanguage("rust",j8());H0.registerLanguage("scss",u8());H0.registerLanguage("shell",m8());H0.registerLanguage("sql",i8());H0.registerLanguage("swift",o8());H0.registerLanguage("yaml",e8());H0.registerLanguage("typescript",H4());H0.registerLanguage("vbnet",G4());H0.registerLanguage("wasm",Y4());H0.HighlightJS=H0;H0.default=H0;U4.exports=H0});var iq,L0,vZ,Z5,e0,wZ,AZ,_Z,L9,jq,Nq,OZ,_9,C9,v9,$5,hq={},mq=[],J5=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Eq=Array.isArray;function l0(q,Z){for(var $ in Z)q[$]=Z[$];return q}function O9(q){q&&q.parentNode&&q.parentNode.removeChild(q)}function z5(q,Z,$){var z,Q,X,W={};for(X in Z)X=="key"?z=Z[X]:X=="ref"?Q=Z[X]:W[X]=Z[X];if(arguments.length>2&&(W.children=arguments.length>3?iq.call(arguments,2):$),typeof q=="function"&&q.defaultProps!=null)for(X in q.defaultProps)W[X]===void 0&&(W[X]=q.defaultProps[X]);return Dq(q,W,z,Q,null)}function Dq(q,Z,$,z,Q){var X={type:q,props:Z,key:$,ref:z,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:Q==null?++vZ:Q,__i:-1,__u:0};return Q==null&&L0.vnode!=null&&L0.vnode(X),X}function $0(q){return q.children}function uq(q,Z){this.props=q,this.context=Z}function Yq(q,Z){if(Z==null)return q.__?Yq(q.__,q.__i+1):null;for(var $;Z<q.__k.length;Z++)if(($=q.__k[Z])!=null&&$.__e!=null)return $.__e;return typeof q.type=="function"?Yq(q):null}function Q5(q){if(q.__P&&q.__d){var Z=q.__v,$=Z.__e,z=[],Q=[],X=l0({},Z);X.__v=Z.__v+1,L0.vnode&&L0.vnode(X),M9(q.__P,X,Z,q.__n,q.__P.namespaceURI,32&Z.__u?[$]:null,z,$==null?Yq(Z):$,!!(32&Z.__u),Q),X.__v=Z.__v,X.__.__k[X.__i]=X,kZ(z,X,Q),Z.__e=Z.__=null,X.__e!=$&&MZ(X)}}function MZ(q){if((q=q.__)!=null&&q.__c!=null)return q.__e=q.__c.base=null,q.__k.some(function(Z){if(Z!=null&&Z.__e!=null)return q.__e=q.__c.base=Z.__e}),MZ(q)}function PZ(q){(!q.__d&&(q.__d=!0)&&e0.push(q)&&!pq.__r++||wZ!=L0.debounceRendering)&&((wZ=L0.debounceRendering)||AZ)(pq)}function pq(){try{for(var q,Z=1;e0.length;)e0.length>Z&&e0.sort(_Z),q=e0.shift(),Z=e0.length,Q5(q)}finally{e0.length=pq.__r=0}}function NZ(q,Z,$,z,Q,X,W,H,G,F,Y){var K,v,y,w,O,A,k,b=z&&z.__k||mq,P=Z.length;for(G=X5($,Z,b,G,P),K=0;K<P;K++)(y=$.__k[K])!=null&&(v=y.__i!=-1&&b[y.__i]||hq,y.__i=K,A=M9(q,y,v,Q,X,W,H,G,F,Y),w=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N9(v.ref,null,y),Y.push(y.ref,y.__c||w,y)),O==null&&w!=null&&(O=w),(k=!!(4&y.__u))||v.__k===y.__k?(G=fZ(y,G,q,k),k&&v.__e&&(v.__e=null)):typeof y.type=="function"&&A!==void 0?G=A:w&&(G=w.nextSibling),y.__u&=-7);return $.__e=O,G}function X5(q,Z,$,z,Q){var X,W,H,G,F,Y=$.length,K=Y,v=0;for(q.__k=new Array(Q),X=0;X<Q;X++)(W=Z[X])!=null&&typeof W!="boolean"&&typeof W!="function"?(typeof W=="string"||typeof W=="number"||typeof W=="bigint"||W.constructor==String?W=q.__k[X]=Dq(null,W,null,null,null):Eq(W)?W=q.__k[X]=Dq($0,{children:W},null,null,null):W.constructor===void 0&&W.__b>0?W=q.__k[X]=Dq(W.type,W.props,W.key,W.ref?W.ref:null,W.__v):q.__k[X]=W,G=X+v,W.__=q,W.__b=q.__b+1,H=null,(F=W.__i=W5(W,$,G,K))!=-1&&(K--,(H=$[F])&&(H.__u|=2)),H==null||H.__v==null?(F==-1&&(Q>Y?v--:Q<Y&&v++),typeof W.type!="function"&&(W.__u|=4)):F!=G&&(F==G-1?v--:F==G+1?v++:(F>G?v--:v++,W.__u|=4))):q.__k[X]=null;if(K)for(X=0;X<Y;X++)(H=$[X])!=null&&(2&H.__u)==0&&(H.__e==z&&(z=Yq(H)),gZ(H,H));return z}function fZ(q,Z,$,z){var Q,X;if(typeof q.type=="function"){for(Q=q.__k,X=0;Q&&X<Q.length;X++)Q[X]&&(Q[X].__=q,Z=fZ(Q[X],Z,$,z));return Z}q.__e!=Z&&(z&&(Z&&q.type&&!Z.parentNode&&(Z=Yq(q)),$.insertBefore(q.__e,Z||null)),Z=q.__e);do Z=Z&&Z.nextSibling;while(Z!=null&&Z.nodeType==8);return Z}function W5(q,Z,$,z){var Q,X,W,H=q.key,G=q.type,F=Z[$],Y=F!=null&&(2&F.__u)==0;if(F===null&&H==null||Y&&H==F.key&&G==F.type)return $;if(z>(Y?1:0)){for(Q=$-1,X=$+1;Q>=0||X<Z.length;)if((F=Z[W=Q>=0?Q--:X++])!=null&&(2&F.__u)==0&&H==F.key&&G==F.type)return W}return-1}function LZ(q,Z,$){Z[0]=="-"?q.setProperty(Z,$==null?"":$):q[Z]=$==null?"":typeof $!="number"||J5.test(Z)?$:$+"px"}function xq(q,Z,$,z,Q){var X,W;q:if(Z=="style")if(typeof $=="string")q.style.cssText=$;else{if(typeof z=="string"&&(q.style.cssText=z=""),z)for(Z in z)$&&Z in $||LZ(q.style,Z,"");if($)for(Z in $)z&&$[Z]==z[Z]||LZ(q.style,Z,$[Z])}else if(Z[0]=="o"&&Z[1]=="n")X=Z!=(Z=Z.replace(OZ,"$1")),W=Z.toLowerCase(),Z=W in q||Z=="onFocusOut"||Z=="onFocusIn"?W.slice(2):Z.slice(2),q.l||(q.l={}),q.l[Z+X]=$,$?z?$[Nq]=z[Nq]:($[Nq]=_9,q.addEventListener(Z,X?v9:C9,X)):q.removeEventListener(Z,X?v9:C9,X);else{if(Q=="http://www.w3.org/2000/svg")Z=Z.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(Z!="width"&&Z!="height"&&Z!="href"&&Z!="list"&&Z!="form"&&Z!="tabIndex"&&Z!="download"&&Z!="rowSpan"&&Z!="colSpan"&&Z!="role"&&Z!="popover"&&Z in q)try{q[Z]=$==null?"":$;break q}catch(H){}typeof $=="function"||($==null||$===!1&&Z[4]!="-"?q.removeAttribute(Z):q.setAttribute(Z,Z=="popover"&&$==1?"":$))}}function CZ(q){return function(Z){if(this.l){var $=this.l[Z.type+q];if(Z[jq]==null)Z[jq]=_9++;else if(Z[jq]<$[Nq])return;return $(L0.event?L0.event(Z):Z)}}}function M9(q,Z,$,z,Q,X,W,H,G,F){var Y,K,v,y,w,O,A,k,b,P,B,M,L,R,I,T=Z.type;if(Z.constructor!==void 0)return null;128&$.__u&&(G=!!(32&$.__u),X=[H=Z.__e=$.__e]),(Y=L0.__b)&&Y(Z);q:if(typeof T=="function")try{if(k=Z.props,b=T.prototype&&T.prototype.render,P=(Y=T.contextType)&&z[Y.__c],B=Y?P?P.props.value:Y.__:z,$.__c?A=(K=Z.__c=$.__c).__=K.__E:(b?Z.__c=K=new T(k,B):(Z.__c=K=new uq(k,B),K.constructor=T,K.render=F5),P&&P.sub(K),K.state||(K.state={}),K.__n=z,v=K.__d=!0,K.__h=[],K._sb=[]),b&&K.__s==null&&(K.__s=K.state),b&&T.getDerivedStateFromProps!=null&&(K.__s==K.state&&(K.__s=l0({},K.__s)),l0(K.__s,T.getDerivedStateFromProps(k,K.__s))),y=K.props,w=K.state,K.__v=Z,v)b&&T.getDerivedStateFromProps==null&&K.componentWillMount!=null&&K.componentWillMount(),b&&K.componentDidMount!=null&&K.__h.push(K.componentDidMount);else{if(b&&T.getDerivedStateFromProps==null&&k!==y&&K.componentWillReceiveProps!=null&&K.componentWillReceiveProps(k,B),Z.__v==$.__v||!K.__e&&K.shouldComponentUpdate!=null&&K.shouldComponentUpdate(k,K.__s,B)===!1){Z.__v!=$.__v&&(K.props=k,K.state=K.__s,K.__d=!1),Z.__e=$.__e,Z.__k=$.__k,Z.__k.some(function(h){h&&(h.__=Z)}),mq.push.apply(K.__h,K._sb),K._sb=[],K.__h.length&&W.push(K);break q}K.componentWillUpdate!=null&&K.componentWillUpdate(k,K.__s,B),b&&K.componentDidUpdate!=null&&K.__h.push(function(){K.componentDidUpdate(y,w,O)})}if(K.context=B,K.props=k,K.__P=q,K.__e=!1,M=L0.__r,L=0,b)K.state=K.__s,K.__d=!1,M&&M(Z),Y=K.render(K.props,K.state,K.context),mq.push.apply(K.__h,K._sb),K._sb=[];else do K.__d=!1,M&&M(Z),Y=K.render(K.props,K.state,K.context),K.state=K.__s;while(K.__d&&++L<25);K.state=K.__s,K.getChildContext!=null&&(z=l0(l0({},z),K.getChildContext())),b&&!v&&K.getSnapshotBeforeUpdate!=null&&(O=K.getSnapshotBeforeUpdate(y,w)),R=Y!=null&&Y.type===$0&&Y.key==null?VZ(Y.props.children):Y,H=NZ(q,Eq(R)?R:[R],Z,$,z,Q,X,W,H,G,F),K.base=Z.__e,Z.__u&=-161,K.__h.length&&W.push(K),A&&(K.__E=K.__=null)}catch(h){if(Z.__v=null,G||X!=null)if(h.then){for(Z.__u|=G?160:128;H&&H.nodeType==8&&H.nextSibling;)H=H.nextSibling;X[X.indexOf(H)]=null,Z.__e=H}else{for(I=X.length;I--;)O9(X[I]);A9(Z)}else Z.__e=$.__e,Z.__k=$.__k,h.then||A9(Z);L0.__e(h,Z,$)}else X==null&&Z.__v==$.__v?(Z.__k=$.__k,Z.__e=$.__e):H=Z.__e=H5($.__e,Z,$,z,Q,X,W,G,F);return(Y=L0.diffed)&&Y(Z),128&Z.__u?void 0:H}function A9(q){q&&(q.__c&&(q.__c.__e=!0),q.__k&&q.__k.some(A9))}function kZ(q,Z,$){for(var z=0;z<$.length;z++)N9($[z],$[++z],$[++z]);L0.__c&&L0.__c(Z,q),q.some(function(Q){try{q=Q.__h,Q.__h=[],q.some(function(X){X.call(Q)})}catch(X){L0.__e(X,Q.__v)}})}function VZ(q){return typeof q!="object"||q==null||q.__b>0?q:Eq(q)?q.map(VZ):q.constructor!==void 0?null:l0({},q)}function H5(q,Z,$,z,Q,X,W,H,G){var F,Y,K,v,y,w,O,A=$.props||hq,k=Z.props,b=Z.type;if(b=="svg"?Q="http://www.w3.org/2000/svg":b=="math"?Q="http://www.w3.org/1998/Math/MathML":Q||(Q="http://www.w3.org/1999/xhtml"),X!=null){for(F=0;F<X.length;F++)if((y=X[F])&&"setAttribute"in y==!!b&&(b?y.localName==b:y.nodeType==3)){q=y,X[F]=null;break}}if(q==null){if(b==null)return document.createTextNode(k);q=document.createElementNS(Q,b,k.is&&k),H&&(L0.__m&&L0.__m(Z,X),H=!1),X=null}if(b==null)A===k||H&&q.data==k||(q.data=k);else{if(X=b=="textarea"&&k.defaultValue!=null?null:X&&iq.call(q.childNodes),!H&&X!=null)for(A={},F=0;F<q.attributes.length;F++)A[(y=q.attributes[F]).name]=y.value;for(F in A)y=A[F],F=="dangerouslySetInnerHTML"?K=y:F=="children"||(F in k)||F=="value"&&("defaultValue"in k)||F=="checked"&&("defaultChecked"in k)||xq(q,F,null,y,Q);for(F in k)y=k[F],F=="children"?v=y:F=="dangerouslySetInnerHTML"?Y=y:F=="value"?w=y:F=="checked"?O=y:H&&typeof y!="function"||A[F]===y||xq(q,F,y,A[F],Q);if(Y)H||K&&(Y.__html==K.__html||Y.__html==q.innerHTML)||(q.innerHTML=Y.__html),Z.__k=[];else if(K&&(q.innerHTML=""),NZ(Z.type=="template"?q.content:q,Eq(v)?v:[v],Z,$,z,b=="foreignObject"?"http://www.w3.org/1999/xhtml":Q,X,W,X?X[0]:$.__k&&Yq($,0),H,G),X!=null)for(F=X.length;F--;)O9(X[F]);H&&b!="textarea"||(F="value",b=="progress"&&w==null?q.removeAttribute("value"):w!=null&&(w!==q[F]||b=="progress"&&!w||b=="option"&&w!=A[F])&&xq(q,F,w,A[F],Q),F="checked",O!=null&&O!=q[F]&&xq(q,F,O,A[F],Q))}return q}function N9(q,Z,$){try{if(typeof q=="function"){var z=typeof q.__u=="function";z&&q.__u(),z&&Z==null||(q.__u=q(Z))}else q.current=Z}catch(Q){L0.__e(Q,$)}}function gZ(q,Z,$){var z,Q;if(L0.unmount&&L0.unmount(q),(z=q.ref)&&(z.current&&z.current!=q.__e||N9(z,null,Z)),(z=q.__c)!=null){if(z.componentWillUnmount)try{z.componentWillUnmount()}catch(X){L0.__e(X,Z)}z.base=z.__P=null}if(z=q.__k)for(Q=0;Q<z.length;Q++)z[Q]&&gZ(z[Q],Z,$||typeof q.type!="function");$||O9(q.__e),q.__c=q.__=q.__e=void 0}function F5(q,Z,$){return this.constructor(q,$)}function f9(q,Z,$){var z,Q,X,W;Z==document&&(Z=document.documentElement),L0.__&&L0.__(q,Z),Q=(z=typeof $=="function")?null:$&&$.__k||Z.__k,X=[],W=[],M9(Z,q=(!z&&$||Z).__k=z5($0,null,[q]),Q||hq,hq,Z.namespaceURI,!z&&$?[$]:Q?null:Z.firstChild?iq.call(Z.childNodes):null,X,!z&&$?$:Q?Q.__e:Z.firstChild,z,W),kZ(X,q,W)}iq=mq.slice,L0={__e:function(q,Z,$,z){for(var Q,X,W;Z=Z.__;)if((Q=Z.__c)&&!Q.__)try{if((X=Q.constructor)&&X.getDerivedStateFromError!=null&&(Q.setState(X.getDerivedStateFromError(q)),W=Q.__d),Q.componentDidCatch!=null&&(Q.componentDidCatch(q,z||{}),W=Q.__d),W)return Q.__E=Q}catch(H){q=H}throw q}},vZ=0,Z5=function(q){return q!=null&&q.constructor===void 0},uq.prototype.setState=function(q,Z){var $;$=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=l0({},this.state),typeof q=="function"&&(q=q(l0({},$),this.props)),q&&l0($,q),q!=null&&this.__v&&(Z&&this._sb.push(Z),PZ(this))},uq.prototype.forceUpdate=function(q){this.__v&&(this.__e=!0,q&&this.__h.push(q),PZ(this))},uq.prototype.render=$0,e0=[],AZ=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,_Z=function(q,Z){return q.__v.__b-Z.__v.__b},pq.__r=0,L9=Math.random().toString(8),jq="__d"+L9,Nq="__a"+L9,OZ=/(PointerCapture)$|Capture$/i,_9=0,C9=CZ(!1),v9=CZ(!0),$5=0;var Uq,N0,k9,bZ,fq=0,uZ=[],k0=L0,SZ=k0.__b,TZ=k0.__r,RZ=k0.diffed,IZ=k0.__c,xZ=k0.unmount,jZ=k0.__;function aq(q,Z){k0.__h&&k0.__h(N0,q,fq||Z),fq=0;var $=N0.__H||(N0.__H={__:[],__h:[]});return q>=$.__.length&&$.__.push({}),$.__[q]}function d(q){return fq=1,G5(pZ,q)}function G5(q,Z,$){var z=aq(Uq++,2);if(z.t=q,!z.__c&&(z.__=[$?$(Z):pZ(void 0,Z),function(H){var G=z.__N?z.__N[0]:z.__[0],F=z.t(G,H);G!==F&&(z.__N=[F,z.__[1]],z.__c.setState({}))}],z.__c=N0,!N0.__f)){var Q=function(H,G,F){if(!z.__c.__H)return!0;var Y=z.__c.__H.__.filter(function(v){return v.__c});if(Y.every(function(v){return!v.__N}))return!X||X.call(this,H,G,F);var K=z.__c.props!==H;return Y.some(function(v){if(v.__N){var y=v.__[0];v.__=v.__N,v.__N=void 0,y!==v.__[0]&&(K=!0)}}),X&&X.call(this,H,G,F)||K};N0.__f=!0;var{shouldComponentUpdate:X,componentWillUpdate:W}=N0;N0.componentWillUpdate=function(H,G,F){if(this.__e){var Y=X;X=void 0,Q(H,G,F),X=Y}W&&W.call(this,H,G,F)},N0.shouldComponentUpdate=Q}return z.__N||z.__}function C0(q,Z){var $=aq(Uq++,3);!k0.__s&&g9($.__H,Z)&&($.__=q,$.u=Z,N0.__H.__h.push($))}function hZ(q,Z){var $=aq(Uq++,4);!k0.__s&&g9($.__H,Z)&&($.__=q,$.u=Z,N0.__h.push($))}function Y0(q){return fq=5,mZ(function(){return{current:q}},[])}function mZ(q,Z){var $=aq(Uq++,7);return g9($.__H,Z)&&($.__=q(),$.__H=Z,$.__h=q),$.__}function $q(q,Z){return fq=8,mZ(function(){return q},Z)}function K5(){for(var q;q=uZ.shift();){var Z=q.__H;if(q.__P&&Z)try{Z.__h.some(cq),Z.__h.some(V9),Z.__h=[]}catch($){Z.__h=[],k0.__e($,q.__v)}}}k0.__b=function(q){N0=null,SZ&&SZ(q)},k0.__=function(q,Z){q&&Z.__k&&Z.__k.__m&&(q.__m=Z.__k.__m),jZ&&jZ(q,Z)},k0.__r=function(q){TZ&&TZ(q),Uq=0;var Z=(N0=q.__c).__H;Z&&(k9===N0?(Z.__h=[],N0.__h=[],Z.__.some(function($){$.__N&&($.__=$.__N),$.u=$.__N=void 0})):(Z.__h.some(cq),Z.__h.some(V9),Z.__h=[],Uq=0)),k9=N0},k0.diffed=function(q){RZ&&RZ(q);var Z=q.__c;Z&&Z.__H&&(Z.__H.__h.length&&(uZ.push(Z)!==1&&bZ===k0.requestAnimationFrame||((bZ=k0.requestAnimationFrame)||Y5)(K5)),Z.__H.__.some(function($){$.u&&($.__H=$.u),$.u=void 0})),k9=N0=null},k0.__c=function(q,Z){Z.some(function($){try{$.__h.some(cq),$.__h=$.__h.filter(function(z){return!z.__||V9(z)})}catch(z){Z.some(function(Q){Q.__h&&(Q.__h=[])}),Z=[],k0.__e(z,$.__v)}}),IZ&&IZ(q,Z)},k0.unmount=function(q){xZ&&xZ(q);var Z,$=q.__c;$&&$.__H&&($.__H.__.some(function(z){try{cq(z)}catch(Q){Z=Q}}),$.__H=void 0,Z&&k0.__e(Z,$.__v))};var DZ=typeof requestAnimationFrame=="function";function Y5(q){var Z,$=function(){clearTimeout(z),DZ&&cancelAnimationFrame(Z),setTimeout(q)},z=setTimeout($,35);DZ&&(Z=requestAnimationFrame($))}function cq(q){var Z=N0,$=q.__c;typeof $=="function"&&(q.__c=void 0,$()),N0=Z}function V9(q){var Z=N0;q.__c=q.__(),N0=Z}function g9(q,Z){return!q||q.length!==Z.length||Z.some(function($,z){return $!==q[z]})}function pZ(q,Z){return typeof Z=="function"?Z(q):Z}async function w0(q,Z,$){let z=await fetch(Z,{method:q,headers:$!==void 0?{"content-type":"application/json"}:void 0,body:$!==void 0?JSON.stringify($):void 0}),Q=await z.json().catch(()=>null);if(!z.ok||Q&&Q.error)throw new Error(Q&&Q.error||`${z.status} ${z.statusText}`);return Q}var V0=(q)=>encodeURIComponent(q),l={listDatabases:()=>w0("GET","/api/databases"),createDatabase:(q)=>w0("POST","/api/databases",q),updateDatabase:(q,Z)=>w0("PATCH",`/api/database?id=${V0(q)}`,Z),deleteDatabase:(q)=>w0("DELETE",`/api/database?id=${V0(q)}`),listProperties:(q)=>w0("GET",`/api/properties?db=${V0(q)}`),createProperty:(q)=>w0("POST","/api/properties",q),updateProperty:(q,Z)=>w0("PATCH",`/api/property?id=${V0(q)}`,Z),setColumnWidth:(q,Z)=>w0("PATCH",`/api/property/width?id=${V0(q)}`,{width:Z}),deleteProperty:(q)=>w0("DELETE",`/api/property?id=${V0(q)}`),listRecords:(q,Z={})=>{let $=new URLSearchParams({db:q});if(Z.sort)$.set("sort",Z.sort);if(Z.limit!=null)$.set("limit",String(Z.limit));return w0("GET",`/api/records?${$}`)},createRecord:(q,Z)=>w0("POST",`/api/records?db=${V0(q)}`,Z),getRecord:(q)=>w0("GET",`/api/record?id=${V0(q)}`),updateRecord:(q,Z)=>w0("PATCH",`/api/record?id=${V0(q)}`,Z),moveRecord:(q,Z,$)=>w0("PATCH",`/api/record/order?id=${V0(q)}`,{target:Z,where:$}),deleteRecord:(q)=>w0("DELETE",`/api/record?id=${V0(q)}`),listDocuments:(q)=>w0("GET",q?`/api/documents?db=${V0(q)}`:"/api/documents"),listDocumentsByParent:(q)=>w0("GET",`/api/documents?parent=${V0(q)}`),createDocument:(q)=>w0("POST","/api/documents",q),getDocument:(q)=>w0("GET",`/api/document?id=${V0(q)}`),updateDocument:(q,Z)=>w0("PATCH",`/api/document?id=${V0(q)}`,Z),deleteDocument:(q)=>w0("DELETE",`/api/document?id=${V0(q)}`),search:(q,Z)=>{let $=new URLSearchParams({q});if(Z!=null)$.set("limit",String(Z));return w0("GET",`/api/search?${$}`)},listPeers:()=>w0("GET","/api/peers"),newPairingCode:()=>w0("POST","/api/pair/new"),addPeerByPairing:(q)=>w0("POST","/api/peers/pair",q),updatePeer:(q,Z)=>w0("PATCH",`/api/peer?url=${V0(q)}`,Z),removePeer:(q)=>w0("DELETE",`/api/peer?url=${V0(q)}`),syncPeer:(q)=>w0("POST",`/api/peer/sync?url=${V0(q)}`),listGrants:()=>w0("GET","/api/grants"),revokeGrant:(q)=>w0("DELETE",`/api/grant?token=${V0(q)}`)},yq={text:{ic:"text",t:"文本"},number:{ic:"hash",t:"数字"},select:{ic:"select",t:"单选"},multi_select:{ic:"multi",t:"多选"},checkbox:{ic:"checkbox",t:"复选框"},date:{ic:"calendar",t:"日期"},url:{ic:"link",t:"链接"},relation:{ic:"relation",t:"关联"}};var U5=0;function J(q,Z,$,z,Q,X){Z||(Z={});var W,H,G=Z;if("ref"in G)for(H in G={},Z)H=="ref"?W=Z[H]:G[H]=Z[H];var F={type:q,props:G,key:$,ref:W,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--U5,__i:-1,__u:0,__source:Q,__self:X};if(typeof q=="function"&&(W=q.defaultProps))for(H in W)G[H]===void 0&&(G[H]=W[H]);return L0.vnode&&L0.vnode(F),F}var y5={cube:'<path d="M21 7.5 12 2 3 7.5v9L12 22l9-5.5z"/><path d="m3 7.5 9 5.5 9-5.5M12 22v-9"/>',chevron:'<path d="m9 6 6 6-6 6"/>',chevronDown:'<path d="m6 9 6 6 6-6"/>',plus:'<path d="M12 5v14M5 12h14"/>',pin:'<path d="M9 4h6l-1 6 3 3v2H7v-2l3-3z"/><path d="M12 16v5"/>',search:'<circle cx="11" cy="11" r="7"/><path d="m20 20-3.2-3.2"/>',dots:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',grip:'<circle cx="9" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="18" r="1.3" fill="currentColor" stroke="none"/>',trash:'<path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6"/>',filter:'<path d="M3 5h18l-7 8v6l-4-2v-4z"/>',sort:'<path d="M7 3v14M7 17l-3-3M7 17l3-3M17 21V7M17 7l-3 3M17 7l3 3"/>',group:'<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',check:'<path d="M5 12.5 10 17l9-10"/>',x:'<path d="M6 6 18 18M18 6 6 18"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/>',database:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5"/><path d="M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3"/>',table:'<rect x="3" y="4" width="18" height="16" rx="1.5"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16"/>',alignLeft:'<path d="M4 6h16M4 12h10M4 18h13"/>',alignCenter:'<path d="M4 6h16M7 12h10M5 18h14"/>',alignRight:'<path d="M4 6h16M10 12h10M7 18h13"/>',share:'<path d="M4 12v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7"/><path d="M12 3v13M8 7l4-4 4 4"/>',download:'<path d="M12 3v12M8 11l4 4 4-4"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',link:'<path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1"/><path d="M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"/>',calendar:'<rect x="3" y="4" width="18" height="17" rx="2"/><path d="M3 9h18M8 2v4M16 2v4"/>',timeline:'<rect x="3" y="5" width="9" height="3" rx="1.5"/><rect x="8" y="10.5" width="11" height="3" rx="1.5"/><rect x="5" y="16" width="7" height="3" rx="1.5"/>',hash:'<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>',text:'<path d="M4 6h16M4 6v-.5M8 6v13M4 19h8"/><path d="M14 11h6M17 11v8M14 19h6"/>',list:'<path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/>',numList:'<path d="M10 6h10M10 12h10M10 18h10M4 5h1v4M4 9h2M4 13.5c0-.8 2-.8 2 0 0 .8-2 1.2-2 2.5h2"/>',checkbox:'<rect x="4" y="4" width="16" height="16" rx="3"/><path d="m9 12 2 2 4-4"/>',select:'<circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>',multi:'<path d="M8 6h12M8 12h12M8 18h12M3 6h.01M3 12h.01M3 18h.01"/>',relation:'<path d="M7 7h4v4H7zM13 13h4v4h-4z"/><path d="M11 9h2a2 2 0 0 1 2 2v2"/>',quote:'<path d="M7 7c-2 1-3 3-3 6h3v4H4v-4M17 7c-2 1-3 3-3 6h3v4h-3v-4"/>',code:'<path d="m8 8-4 4 4 4M16 8l4 4-4 4M13 6l-2 12"/>',minus:'<path d="M5 12h14"/>',heading:'<path d="M6 4v16M18 4v16M6 12h12"/>',panelLeft:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/>',cornerUpRight:'<path d="M5 19V11a4 4 0 0 1 4-4h10M15 3l4 4-4 4"/>',openPeek:'<rect x="3" y="5" width="18" height="14" rx="2.5"/><rect x="6" y="8" width="4" height="8" rx="1" fill="currentColor" stroke="none"/>',settings:'<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>',eyeOff:'<path d="M4 4l16 16M9.5 9.5a3 3 0 0 0 4 4M6.5 6.7C4.5 8 3 10 2 12c2 4 6 7 10 7 1.6 0 3-.4 4.4-1.1M9.5 5.2A9.7 9.7 0 0 1 12 5c4 0 8 3 10 7-.6 1.3-1.5 2.5-2.5 3.5"/>',bold:'<path d="M6 4h7a4 4 0 0 1 0 8H6zM6 12h8a4 4 0 0 1 0 8H6z"/>',italic:'<path d="M19 4h-9M14 20H5M15 4 9 20"/>',underline:'<path d="M6 4v6a6 6 0 0 0 12 0V4M4 21h16"/>',strike:'<path d="M4 12h16M7 7a4 4 0 0 1 7-1M9 17a4 4 0 0 0 7-2"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/>',moon:'<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/>',monitor:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M8 21h8M12 17v4"/>'};function D({name:q,cls:Z="ico"}){return J("svg",{class:Z,viewBox:"0 0 24 24",dangerouslySetInnerHTML:{__html:y5[q]??""}},void 0,!1,void 0,this)}var m0={text:"text",number:"hash",select:"select",multi_select:"multi",checkbox:"checkbox",date:"calendar",url:"link",relation:"relation"};function b9(q){let Z=q,$=new Set;return{get:()=>Z,set:(z)=>{Z=z,$.forEach((Q)=>Q(z))},use(){let[z,Q]=d(Z);return C0(()=>{return $.add(Q),()=>void $.delete(Q)},[]),z}}}var kq=b9([]),B5=0;function T0(q){let Z=++B5;kq.set([...kq.get(),{id:Z,msg:q}]),setTimeout(()=>kq.set(kq.get().filter(($)=>$.id!==Z)),2600)}var S9=b9(null);function A0(q,Z,$={}){S9.set({render:Z,anchor:q,minWidth:$.minWidth})}function iZ(){S9.set(null)}function w5(q){if(q instanceof MouseEvent)return{x:q.clientX,y:q.clientY};if("rect"in q)return{x:q.rect.left,y:q.rect.bottom,bottom:q.rect.bottom};return{x:q.x,y:q.y}}function P5(){let q=S9.use(),Z=Y0(null),[$,z]=d(null);if(hZ(()=>{if(!q||!Z.current)return z(null);let{x:Q,y:X}=w5(q.anchor),W=Z.current.getBoundingClientRect();z({left:Math.min(Q,innerWidth-W.width-10),top:Math.min(X+4,innerHeight-W.height-10)})},[q]),!q)return null;return J("div",{class:"menu-layer",onMouseDown:(Q)=>Q.target===Q.currentTarget&&iZ(),children:J("div",{ref:Z,class:"pop",style:{left:$?.left??-9999,top:$?.top??-9999,minWidth:q.minWidth},onMouseDown:(Q)=>Q.stopPropagation(),children:q.render(iZ)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function g0({children:q}){return J("div",{class:"lbl",children:q},void 0,!1,void 0,this)}function O0(){return J("div",{class:"sep"},void 0,!1,void 0,this)}function s({icon:q,label:Z,sublabel:$,danger:z,checked:Q,onClick:X}){return J("button",{class:"item"+(z?" danger":""),onClick:X,children:[q&&J("span",{class:"lico plain",children:J(D,{name:q,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"meta",children:[J("span",{class:"t",children:Z},void 0,!1,void 0,this),$&&J("span",{class:"d",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&J("span",{class:"chk",children:J(D,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var T9=b9(null);function Jq(q){T9.set(q)}function i0(){T9.set(null)}function zq({title:q,sub:Z,children:$,footer:z,width:Q}){return J("div",{class:"modal",style:{width:Q},onMouseDown:(X)=>X.stopPropagation(),children:[J("div",{class:"modal-head",children:[J("h3",{children:q},void 0,!1,void 0,this),Z&&J("p",{children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"modal-body",children:$},void 0,!1,void 0,this),z&&J("div",{class:"modal-foot",children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function L5(){let q=T9.use();return C0(()=>{if(!q)return;let Z=($)=>$.key==="Escape"&&i0();return addEventListener("keydown",Z),()=>removeEventListener("keydown",Z)},[q]),J("div",{class:"modal-scrim"+(q?" open":""),onMouseDown:(Z)=>Z.target===Z.currentTarget&&i0(),children:q},void 0,!1,void 0,this)}function x0(q){return new Promise((Z)=>{let $=(z)=>{i0(),Z(z)};Jq(J(zq,{title:q.title,footer:J($0,{children:[J("button",{class:"btn btn-secondary",onClick:()=>$(!1),children:"取消"},void 0,!1,void 0,this),J("button",{class:"btn "+(q.danger?"btn-danger":"btn-primary"),onClick:()=>$(!0),children:q.confirmLabel??"确定"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:J("div",{class:"muted",children:q.message},void 0,!1,void 0,this)},void 0,!1,void 0,this))})}function Bq(q){return new Promise((Z)=>{let $=q.value??"",z=(Q)=>{i0(),Z(Q)};Jq(J(zq,{title:q.title,footer:J($0,{children:[J("button",{class:"btn btn-secondary",onClick:()=>z(null),children:"取消"},void 0,!1,void 0,this),J("button",{class:"btn btn-primary",onClick:()=>z($.trim()||(q.value??"")),children:q.confirmLabel??"保存"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[q.label&&J("div",{class:"field-label",children:q.label},void 0,!1,void 0,this),J("input",{class:"text-input",autofocus:!0,value:q.value??"",placeholder:q.placeholder,onInput:(Q)=>$=Q.target.value,onKeyDown:(Q)=>{if(Q.key==="Enter")z($.trim()||(q.value??""))}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))})}function dq(){let q=kq.use();return J($0,{children:[J(P5,{},void 0,!1,void 0,this),J(L5,{},void 0,!1,void 0,this),J("div",{class:"toasts",children:q.map((Z)=>J("div",{class:"toast",children:[J(D,{name:"check",cls:"ico sm"},void 0,!1,void 0,this),J("span",{children:Z.msg},void 0,!1,void 0,this)]},Z.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var R9=null;function cZ(q){let[Z,$]=d(new Set),[z,Q]=d(""),X=A5(q.onResize),W=(y)=>{let w=new Set(Z);w.has(y)?w.delete(y):w.add(y),$(w)},H=(y)=>y().catch((w)=>q.onError(String(w.message))),G=(y)=>H(async()=>{let w=await l.createDocument({title:"",...y?{parent_id:y}:{}});if(y)Z.delete(y);await q.reloadNav(),q.onOpenDoc(w.id)}),F=(y,w,O)=>H(async()=>{if(y===w.id)return;if(v5(q.docs,y,w.id))return;let A=O==="into"?w.id:w.parent_id;if(await l.updateDocument(y,{parent_id:A}),O==="into")Z.delete(w.id);await q.reloadNav()}),Y=(y,w)=>{y.stopPropagation(),A0(y,(O)=>J($0,{children:[J(s,{icon:"settings",label:"重命名…",onClick:async()=>{O();let A=await Bq({title:"重命名数据库",value:w.name});if(A&&A!==w.name)H(async()=>{await l.updateDatabase(w.id,{name:A}),await q.reloadNav()})}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(O(),await x0({title:"删除数据库?",message:`「${w.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))H(async()=>{await l.deleteDatabase(w.id),await q.reloadNav(),q.afterDelete("db",w.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},K=(y,w)=>{y.stopPropagation();let O=q.docs.filter((A)=>A.parent_id===w.id).length;A0(y,(A)=>J($0,{children:[J(s,{icon:"plus",label:"新建子页",onClick:()=>{A(),G(w.id)}},void 0,!1,void 0,this),J(s,{icon:"settings",label:"重命名…",onClick:async()=>{A();let k=await Bq({title:"重命名文档",value:w.title});if(k)H(async()=>{await l.updateDocument(w.id,{title:k}),await q.reloadNav()})}},void 0,!1,void 0,this),w.parent_id&&J(s,{icon:"cornerUpRight",label:"移到顶层",onClick:()=>{A(),H(async()=>{await l.updateDocument(w.id,{parent_id:null}),await q.reloadNav()})}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"trash",label:"删除",danger:!0,onClick:async()=>{if(A(),await x0({title:"删除文档?",message:O?`「${w.title||"无标题"}」及其 ${O} 个子页将被删除。`:`「${w.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))H(async()=>{await dZ(q.docs,w.id),await q.reloadNav(),q.afterDelete("doc",w.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},v=(y,w=0)=>{return q.docs.filter((A)=>A.parent_id===y).map((A)=>{let k=q.docs.filter((P)=>P.parent_id===A.id),b=k.length>0&&!Z.has(A.id);return J("div",{class:w?"navchildren":"",children:[J("div",{class:"navitem"+(q.activeKind==="doc"&&q.activeId===A.id?" active":""),draggable:!0,onClick:()=>q.onOpenDoc(A.id),onDragStart:(P)=>{P.stopPropagation(),R9=A.id,P.currentTarget.classList.add("dragging")},onDragEnd:(P)=>{P.currentTarget.classList.remove("dragging"),I9()},onDragOver:(P)=>{P.preventDefault(),P.stopPropagation(),C5(P.currentTarget,P)},onDrop:(P)=>{P.preventDefault(),P.stopPropagation();let B=aZ(P.currentTarget,P),M=R9;if(R9=null,I9(),M)F(M,A,B)},children:[J("span",{class:"tw"+(b?" open":""),onClick:(P)=>{if(P.stopPropagation(),k.length)W(A.id)},children:k.length>0&&J(D,{name:"chevron",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"emoji",children:J(D,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"label",children:A.title||"无标题"},void 0,!1,void 0,this),J("span",{class:"acts",children:[J("button",{title:"新建子页",onClick:(P)=>{P.stopPropagation(),G(A.id)},children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("button",{title:"更多",onClick:(P)=>K(P,A),children:J(D,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b&&v(A.id,w+1)]},A.id,!0,void 0,this)})};return J("div",{class:"sidebar"+(q.collapsed?" collapsed":""),style:{width:q.width,marginLeft:q.collapsed?-q.width:void 0},children:[J("div",{class:"sb-head",children:[J("div",{class:"brand",children:[J("span",{class:"mark",children:J(D,{name:"cube"},void 0,!1,void 0,this)},void 0,!1,void 0,this),"Metahub"]},void 0,!0,void 0,this),J("button",{class:"iconbtn",title:"收起侧栏",onClick:q.onCollapse,children:J(D,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"sb-search",onClick:(y)=>y.currentTarget.querySelector("input")?.focus(),children:[J(D,{name:"search",cls:"ico sm"},void 0,!1,void 0,this),J("input",{placeholder:"搜索…",value:z,onInput:(y)=>Q(y.target.value),onKeyDown:(y)=>{if(y.key==="Enter"&&z.trim())q.onSearch(z.trim())}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"sb-scroll",children:[J("div",{class:"sb-section",children:[J("div",{class:"sb-section-head",children:[J("span",{children:"数据库"},void 0,!1,void 0,this),J("button",{class:"add",title:"新建数据库",onClick:()=>_5(q.onOpenDb,q.reloadNav,q.onError),children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.databases.map((y)=>J("div",{class:"navitem"+(q.activeKind==="db"&&q.activeId===y.id?" active":""),onClick:()=>q.onOpenDb(y.id),children:[J("span",{class:"emoji",children:y.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),J("span",{class:"label",children:y.name},void 0,!1,void 0,this),J("span",{class:"acts",children:J("button",{title:"更多",onClick:(w)=>Y(w,y),children:J(D,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},y.id,!0,void 0,this)),q.databases.length===0&&J("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"sb-section",children:[J("div",{class:"sb-section-head",children:[J("span",{children:"文档"},void 0,!1,void 0,this),J("button",{class:"add",title:"新建文档",onClick:()=>G(null),children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v(null),q.docs.length===0&&J("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"sb-footer",children:J("button",{class:"navitem"+(q.settingsActive?" active":""),onClick:q.onOpenSettings,children:[J("span",{class:"emoji",children:J(D,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"label",children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J("div",{class:"sb-resizer",onMouseDown:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function I9(){document.querySelectorAll(".drop-into,.drop-before,.drop-after").forEach((q)=>q.classList.remove("drop-into","drop-before","drop-after"))}function aZ(q,Z){let $=q.getBoundingClientRect(),z=Z.clientY-$.top;return z<$.height*0.28?"before":z>$.height*0.72?"after":"into"}function C5(q,Z){I9(),q.classList.add("drop-"+aZ(q,Z))}function v5(q,Z,$){let z=q.find((Q)=>Q.id===$);while(z){if(z.parent_id===Z)return!0;z=q.find((Q)=>Q.id===z.parent_id)}return!1}async function dZ(q,Z){for(let $ of q.filter((z)=>z.parent_id===Z))await dZ(q,$.id);await l.deleteDocument(Z)}function A5(q){return(Z)=>{Z.preventDefault();let $=(Q)=>q(Math.max(210,Math.min(460,Q.clientX))),z=()=>{removeEventListener("mousemove",$),removeEventListener("mouseup",z)};addEventListener("mousemove",$),addEventListener("mouseup",z)}}var EZ={blank:[{name:"名称",type:"text"}],tasks:[{name:"名称",type:"text"},{name:"状态",type:"select",config:{options:["待办","进行中","已完成"]}},{name:"优先级",type:"select",config:{options:["高","中","低"]}},{name:"截止",type:"date"}],crm:[{name:"姓名",type:"text"},{name:"公司",type:"text"},{name:"分类",type:"select",config:{options:["客户","合作","潜在"]}},{name:"邮箱",type:"url"}]};function _5(q,Z,$){Jq(J(O5,{onOpenDb:q,reloadNav:Z,onError:$},void 0,!1,void 0,this))}function O5(q){let Z=["\uD83D\uDDC2️","\uD83C\uDFAF","\uD83E\uDD1D","\uD83D\uDCE6","\uD83D\uDCDA","\uD83D\uDCA1","\uD83E\uDDE9","\uD83D\uDCCA","\uD83D\uDDD3️","✅"],$=[["blank","空白","仅一个「名称」列"],["tasks","任务","状态·优先级·截止"],["crm","联系人","公司·分类·邮箱"]],[z,Q]=d(""),[X,W]=d(Z[0]),[H,G]=d("blank"),F=Y0(!1),Y=async()=>{if(F.current)return;F.current=!0;try{let K=await l.createDatabase({name:z.trim()||"未命名数据库",icon:X});for(let v of EZ[H]??EZ.blank)await l.createProperty({db:K.id,name:v.name,type:v.type,config:v.config});i0(),await q.reloadNav(),q.onOpenDb(K.id),T0(`已创建数据库「${K.name}」`)}catch(K){q.onError(String(K.message))}finally{F.current=!1}};return J(zq,{title:"新建数据库",sub:"创建一个带属性列的结构化数据表。",footer:J($0,{children:[J("button",{class:"btn btn-secondary",onClick:i0,children:"取消"},void 0,!1,void 0,this),J("button",{class:"btn btn-primary",onClick:Y,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[J("div",{class:"field-label",children:"名称"},void 0,!1,void 0,this),J("input",{class:"text-input",autofocus:!0,placeholder:"例如:项目、客户、库存…",value:z,onInput:(K)=>Q(K.target.value),onKeyDown:(K)=>K.key==="Enter"&&Y()},void 0,!1,void 0,this),J("div",{class:"field-label",children:"图标"},void 0,!1,void 0,this),J("div",{class:"icon-pick",children:Z.map((K)=>J("button",{class:K===X?"sel":"",onClick:()=>W(K),children:K},K,!1,void 0,this))},void 0,!1,void 0,this),J("div",{class:"field-label",children:"模板"},void 0,!1,void 0,this),J("div",{class:"tmpl",children:$.map(([K,v,y])=>J("button",{class:K===H?"sel":"",onClick:()=>G(K),children:[J("div",{class:"tt",children:v},void 0,!1,void 0,this),J("div",{class:"td",children:y},void 0,!1,void 0,this)]},K,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var nZ=[4,28,45,130,165,200,220,255,290,330];function x9(q){let Z=0;for(let $=0;$<q.length;$++)Z=Z*31+q.charCodeAt($)>>>0;return`hsl(${nZ[Z%nZ.length]} 65% 45%)`}function Qq({text:q}){return J("span",{class:"chip",style:{["--c"]:x9(q)},children:q},void 0,!1,void 0,this)}function wq({prop:q,val:Z}){if(Z==null||Z===""||Array.isArray(Z)&&Z.length===0)return J("span",{class:"muted",children:" "},void 0,!1,void 0,this);if(q.type==="select")return J(Qq,{text:String(Z)},void 0,!1,void 0,this);if(q.type==="multi_select"||q.type==="relation")return J($0,{children:Z.map(($)=>J(Qq,{text:String($)},String($),!1,void 0,this))},void 0,!1,void 0,this);if(q.type==="url")return J("a",{href:String(Z),target:"_blank",rel:"noreferrer",onClick:($)=>$.stopPropagation(),children:String(Z)},void 0,!1,void 0,this);return J("span",{children:String(Z)},void 0,!1,void 0,this)}function j9(q,Z){if(q==="relation")return Z.split(",").map(($)=>$.trim()).filter(Boolean);return Z}function rZ(q,Z){if(Z==null)return"";if(Array.isArray(Z))return Z.join(", ");return String(Z)}var Xq="\x00__ungrouped__";function lZ({props:q,records:Z,onCommitValue:$,onCreate:z,onOpenRecord:Q,onMove:X}){let W=q.filter((B)=>B.type==="select"||B.type==="multi_select"),[H,G]=d(null),F=q.find((B)=>B.id===H)??W.find((B)=>B.type==="select")??W[0]??null,Y=Y0(null);if(!F)return J("div",{class:"view-placeholder",children:"看板视图需要一个「单选」或「多选」属性来分组。请在表格视图中添加一个单选列后再切换到看板。"},void 0,!1,void 0,this);let K=q[0],v=F.type==="multi_select",y=F.config?.options??[],w=(B)=>{let M=B.values[F.name];if(v){let R=(Array.isArray(M)?M:[]).map(String).filter((I)=>y.includes(I));return R.length?R:[Xq]}let L=M==null?"":String(M);return L&&y.includes(L)?[L]:[Xq]},O=new Map;for(let B of y)O.set(B,[]);O.set(Xq,[]);for(let B of Z)for(let M of w(B))O.get(M)?.push(B);let A=[...y];if((O.get(Xq)?.length??0)>0)A.push(Xq);let k=()=>document.querySelectorAll(".board-col.drop-into").forEach((B)=>B.classList.remove("drop-into")),b=(B,M)=>{if(B.button!==0)return;if(B.target.closest("button,a,input"))return;let L=B.currentTarget.closest(".kcard");if(!L)return;let R=L.getBoundingClientRect();B.preventDefault(),Y.current={id:M.id,pointerId:B.pointerId,startX:B.clientX,startY:B.clientY,offsetX:B.clientX-R.left,offsetY:B.clientY-R.top,active:!1,source:L,ghost:null};let I=(h)=>{let m=Y.current;if(!m||m.pointerId!==h.pointerId)return;if(!m.active){if(Math.hypot(h.clientX-m.startX,h.clientY-m.startY)<4)return;m.active=!0;let u=m.source.cloneNode(!0);u.classList.add("dragging-ghost"),u.style.width=`${R.width}px`,document.body.appendChild(u),m.ghost=u,m.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}if(h.preventDefault(),m.ghost)m.ghost.style.transform=`translate3d(${Math.round(h.clientX-m.offsetX)}px, ${Math.round(h.clientY-m.offsetY)}px, 0)`;k(),document.elementFromPoint(h.clientX,h.clientY)?.closest?.(".board-col")?.classList.add("drop-into")},T=(h)=>{let m=Y.current;if(!m||m.pointerId!==h.pointerId)return;if(removeEventListener("pointermove",I),removeEventListener("pointerup",T),removeEventListener("pointercancel",T),m.ghost?.remove(),m.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),k(),Y.current=null,!m.active){Q(M.id);return}let o=document.elementFromPoint(h.clientX,h.clientY)?.closest?.(".board-col");if(!o)return;if(!v){let U0=o.dataset.colKey,g=String(M.values[F.name]??""),N=U0===Xq?null:U0;if(String(N??"")!==g)$(M,F,N)}let u=document.elementFromPoint(h.clientX,h.clientY)?.closest?.(".kcard"),W0=u?.dataset.recId;if(W0&&W0!==M.id){let U0=u.getBoundingClientRect();X(M.id,W0,h.clientY<U0.top+U0.height/2?"before":"after")}};addEventListener("pointermove",I,{passive:!1}),addEventListener("pointerup",T),addEventListener("pointercancel",T)};return J("div",{class:"board-wrap",children:[J("div",{class:"board-bar",children:[J("button",{class:"tbtn",onClick:(B)=>A0(B,(M)=>J($0,{children:[J(g0,{children:"按属性分组"},void 0,!1,void 0,this),W.map((L)=>J(s,{icon:m0[L.type],label:L.name,onClick:()=>{G(L.id),M()}},L.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[J(D,{name:"group",cls:"ico sm"},void 0,!1,void 0,this),"分组:",F.name]},void 0,!0,void 0,this),v&&J("span",{class:"muted",style:{fontSize:12},children:"多选分组不支持拖拽改值"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"board",children:A.map((B)=>{let M=O.get(B)??[],L=B===Xq;return J("div",{class:"board-col","data-col-key":B,children:[J("div",{class:"board-col-head",children:[L?J("span",{class:"muted",style:{fontWeight:600},children:"未分组"},void 0,!1,void 0,this):J(Qq,{text:B},void 0,!1,void 0,this),J("span",{class:"board-count",children:M.length},void 0,!1,void 0,this),J("div",{class:"spacer"},void 0,!1,void 0,this),J("button",{class:"iconbtn sm",title:"新建记录",onClick:()=>z(L?{}:{[F.name]:B}),children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"board-col-body",children:[M.map((R)=>J("div",{class:"kcard","data-rec-id":R.id,onPointerDown:(I)=>b(I,R),children:[J("div",{class:"kcard-title",children:M5(R,K)||J("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q.filter((I)=>I!==K&&I.id!==F.id&&!N5(R.values[I.name])).slice(0,4).map((I)=>J("div",{class:"kcard-field",children:[J(D,{name:m0[I.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),J(wq,{prop:I,val:R.values[I.name]},void 0,!1,void 0,this)]},I.id,!0,void 0,this))]},R.id,!0,void 0,this)),J("button",{class:"board-add",onClick:()=>z(L?{}:{[F.name]:B}),children:[J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},B,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function M5(q,Z){if(!Z)return"";let $=q.values[Z.name];return $==null?"":Array.isArray($)?$.join(", "):String($)}function N5(q){return q==null||q===""||Array.isArray(q)&&q.length===0}function Vq(q){if(q==null)return null;let Z=String(q).trim();if(!Z)return null;let $=/^(\d{4})-(\d{2})-(\d{2})/.exec(Z);if($)return new Date(Number($[1]),Number($[2])-1,Number($[3]));let z=new Date(Z);return Number.isNaN(z.getTime())?null:new Date(z.getFullYear(),z.getMonth(),z.getDate())}function E0(q){let Z=q.getFullYear(),$=String(q.getMonth()+1).padStart(2,"0"),z=String(q.getDate()).padStart(2,"0");return`${Z}-${$}-${z}`}function R0(q,Z){return new Date(q.getFullYear(),q.getMonth(),q.getDate()+Z)}function D9(q,Z){return q.getFullYear()===Z.getFullYear()&&q.getMonth()===Z.getMonth()&&q.getDate()===Z.getDate()}function f5(q,Z){return new Date(q,Z,1)}function k5(q,Z){return new Date(q,Z+1,0)}function Pq(q,Z){let $=Date.UTC(q.getFullYear(),q.getMonth(),q.getDate()),z=Date.UTC(Z.getFullYear(),Z.getMonth(),Z.getDate());return Math.round((z-$)/86400000)}function nq(){let q=new Date;return new Date(q.getFullYear(),q.getMonth(),q.getDate())}function V5(q){let Z=(q.getDay()+6)%7;return R0(q,-Z)}function tZ(q,Z){let $=V5(f5(q,Z)),z=k5(q,Z),Q=[],X=$;while(X<=z||Q.length===0||X.getDay()!==1){let W=[];for(let H=0;H<7;H++)W.push(R0(X,H));if(Q.push(W),X=R0(X,7),Q.length>=6)break}return Q}var g5=["一","二","三","四","五","六","日"],u9=3;function oZ({props:q,records:Z,onCommitValue:$,onCreate:z,onOpenRecord:Q}){let X=q.filter((L)=>L.type==="date"),[W,H]=d(null),G=q.find((L)=>L.id===W)??X[0]??null,F=nq(),[Y,K]=d({y:F.getFullYear(),m:F.getMonth()}),v=Y0(null);if(!G)return J("div",{class:"view-placeholder",children:"日历视图需要一个「日期」属性。请在表格视图中添加一个日期列后再切换到日历。"},void 0,!1,void 0,this);let y=q[0],w=tZ(Y.y,Y.m),O=Z.map((L)=>({rec:L,date:Vq(L.values[G.name])})).filter((L)=>L.date!=null),A=(L)=>O.filter((R)=>D9(R.date,L)),k=(L)=>{let R=Y.m+L;K({y:Y.y+Math.floor(R/12),m:(R%12+12)%12})},b=()=>K({y:F.getFullYear(),m:F.getMonth()}),P=()=>document.querySelectorAll(".cal-day.drop-into").forEach((L)=>L.classList.remove("drop-into")),B=(L,R)=>{if(L.button!==0)return;L.preventDefault(),L.stopPropagation(),v.current={id:R.id,pointerId:L.pointerId,startX:L.clientX,startY:L.clientY,active:!1,ghost:null};let I=(h)=>{let m=v.current;if(!m||m.pointerId!==h.pointerId)return;if(!m.active){if(Math.hypot(h.clientX-m.startX,h.clientY-m.startY)<4)return;m.active=!0,m.ghost=b5(rq(R,y)),document.body.classList.add("table-dragging")}if(h.preventDefault(),m.ghost)m.ghost.style.transform=`translate3d(${Math.round(h.clientX+8)}px, ${Math.round(h.clientY+8)}px, 0)`;P(),document.elementFromPoint(h.clientX,h.clientY)?.closest?.(".cal-day")?.classList.add("drop-into")},T=(h)=>{let m=v.current;if(!m||m.pointerId!==h.pointerId)return;if(removeEventListener("pointermove",I),removeEventListener("pointerup",T),removeEventListener("pointercancel",T),m.ghost?.remove(),document.body.classList.remove("table-dragging"),P(),v.current=null,!m.active){Q(R.id);return}let u=document.elementFromPoint(h.clientX,h.clientY)?.closest?.(".cal-day")?.dataset.iso;if(u&&u!==String(R.values[G.name]??""))$(R,G,u)};addEventListener("pointermove",I,{passive:!1}),addEventListener("pointerup",T),addEventListener("pointercancel",T)},M=(L)=>A0(L,(R)=>J($0,{children:[J(g0,{children:"按日期属性"},void 0,!1,void 0,this),X.map((I)=>J(s,{icon:m0[I.type],label:I.name,onClick:()=>{H(I.id),R()}},I.id,!1,void 0,this))]},void 0,!0,void 0,this));return J("div",{class:"cal",children:[J("div",{class:"cal-nav",children:[J("button",{class:"iconbtn",title:"上个月",onClick:()=>k(-1),children:J(D,{name:"chevron",cls:"ico flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("div",{class:"cal-title",children:[Y.y," 年 ",Y.m+1," 月"]},void 0,!0,void 0,this),J("button",{class:"iconbtn",title:"下个月",onClick:()=>k(1),children:J(D,{name:"chevron",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("button",{class:"tbtn",onClick:b,children:"今天"},void 0,!1,void 0,this),J("div",{class:"spacer"},void 0,!1,void 0,this),X.length>1&&J("button",{class:"tbtn",onClick:M,children:[J(D,{name:"calendar",cls:"ico sm"},void 0,!1,void 0,this),G.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"cal-grid cal-head",children:g5.map((L)=>J("div",{class:"cal-wd",children:L},L,!1,void 0,this))},void 0,!1,void 0,this),J("div",{class:"cal-body",children:w.map((L,R)=>J("div",{class:"cal-grid cal-week",children:L.map((I)=>{let T=I.getMonth()!==Y.m,h=D9(I,F),m=A(I),o=E0(I);return J("div",{class:"cal-day"+(T?" dim":"")+(h?" today":""),"data-iso":o,onClick:(u)=>{if(u.target.closest(".cal-ev,.cal-add,.cal-more"))return;z({[G.name]:o})},children:[J("div",{class:"cal-daynum",children:[J("span",{children:I.getDate()},void 0,!1,void 0,this),J("button",{class:"cal-add",title:"新建记录",onClick:(u)=>{u.stopPropagation(),z({[G.name]:o})},children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"cal-events",children:[m.slice(0,u9).map(({rec:u})=>J("div",{class:"cal-ev",style:{["--c"]:x9(rq(u,y)||u.id)},onPointerDown:(W0)=>B(W0,u),children:rq(u,y)||"无标题"},u.id,!1,void 0,this)),m.length>u9&&J("button",{class:"cal-more",onClick:(u)=>{u.stopPropagation(),A0(u,(W0)=>J($0,{children:[J(g0,{children:[o," · ",m.length," 条记录"]},void 0,!0,void 0,this),m.map(({rec:U0})=>J(s,{label:rq(U0,y)||"无标题",onClick:()=>{W0(),Q(U0.id)}},U0.id,!1,void 0,this))]},void 0,!0,void 0,this))},children:["+",m.length-u9," 更多"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},o,!0,void 0,this)})},R,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function rq(q,Z){if(!Z)return"";let $=q.values[Z.name];return $==null?"":Array.isArray($)?$.join(", "):String($)}function b5(q){let Z=document.createElement("div");return Z.className="drag-ghost",Z.textContent=q||"移动记录",document.body.appendChild(Z),Z}var qq=200,gq=36,bq=44,j0=28,sZ=3;function q$({props:q,records:Z,onCommitValue:$,onOpenRecord:z}){let Q=q.filter((N)=>N.type==="date"),[X,W]=d(null),[H,G]=d(null),F=q.find((N)=>N.id===X)??Q[0]??null,Y=H==="none"?null:q.find((N)=>N.id===H)??Q.find((N)=>N!==F)??null,K=Y0(null),v=Y0(null);if(!F)return J("div",{class:"view-placeholder",children:"时间轴视图需要一个「日期」属性作为开始日期。请在表格视图中添加一个日期列后再切换到时间轴。"},void 0,!1,void 0,this);let y=q[0],w=nq(),O=Z.map((N)=>{let _=Vq(N.values[F.name]),S=Y?Vq(N.values[Y.name]):null;return{rec:N,s:_,e:S&&_&&S<_?_:S}}),A=O.filter((N)=>N.s),k=w,b=w;if(A.length){k=A[0].s,b=A[0].s;for(let N of A){if(N.s<k)k=N.s;let _=N.e??N.s;if(_>b)b=_}}else k=R0(w,-10),b=R0(w,14);let P=R0(k,-sZ),B=R0(b,sZ),M=Pq(P,B)+1,L=qq+M*j0,R=(N)=>qq+N*j0,I=Pq(P,w),T=[];for(let N=0;N<M;N++)T.push(R0(P,N));let h=(N,_,S,t,e)=>{if(e===0)return;if(t==="move"){if(_)$(N,F,E0(R0(_,e)));if(Y&&S)$(N,Y,E0(R0(S,e)))}else if(t==="l"&&_){let J0=R0(_,e);$(N,F,E0(S&&J0>S?S:J0))}else if(t==="r"&&Y&&S){let J0=R0(S,e);$(N,Y,E0(_&&J0<_?_:J0))}},m=(N,_)=>{let S=v.current;if(!S)return;S.style.left=N+"px",S.style.display="block";let t=S.firstElementChild;if(t)t.textContent=_},o=()=>{if(v.current)v.current.style.display="none"},u=(N,_,S,t,e,J0)=>{if(N.button!==0||!S)return;N.preventDefault(),N.stopPropagation();let{offsetLeft:F0,offsetWidth:_0}=J0,Q0=!1;K.current={pointerId:N.pointerId,startX:N.clientX};let f=(a)=>{let n=K.current;if(!n||n.pointerId!==a.pointerId)return;let X0=Math.round((a.clientX-n.startX)/j0);if(Math.abs(a.clientX-n.startX)>3)Q0=!0;let B0,q0;if(e==="move"){let E=F0+X0*j0;J0.style.left=E+"px",B0=E,q0=R0(S,X0)}else if(e==="l"){let E=F0+X0*j0;J0.style.left=E+"px",J0.style.width=Math.max(j0,_0-X0*j0)+"px",B0=E,q0=R0(S,X0)}else{let E=Math.max(j0,_0+X0*j0);J0.style.width=E+"px",B0=F0+E,q0=R0(S,Math.round(E/j0)-1)}m(B0,E0(q0))},x=(a)=>{let n=K.current;if(!n||n.pointerId!==a.pointerId)return;removeEventListener("pointermove",f),removeEventListener("pointerup",x),removeEventListener("pointercancel",x),K.current=null,o();let X0=Math.round((a.clientX-n.startX)/j0);if(!Q0){z(_.id);return}h(_,S,t,e,X0)};addEventListener("pointermove",f,{passive:!1}),addEventListener("pointerup",x),addEventListener("pointercancel",x)},W0=(N,_)=>{if($(N,F,E0(_)),Y)$(N,Y,E0(_))},U0=(N,_)=>{let S=N.currentTarget.closest(".tl-row");if(!S)return;let t=N.clientX-S.getBoundingClientRect().left;if(t<qq)return;let e=Math.max(0,Math.min(M-1,Math.round((t-qq)/j0)));W0(_,R0(P,e))};return J("div",{class:"tl",children:[J("div",{class:"tl-toolbar",children:J("button",{class:"tbtn",onClick:(N)=>A0(N,(_)=>J($0,{children:[J(g0,{children:"开始日期"},void 0,!1,void 0,this),Q.map((S)=>J(s,{icon:m0[S.type],label:S.name,checked:S===F,onClick:()=>{W(S.id),_()}},S.id,!1,void 0,this)),J(O0,{},void 0,!1,void 0,this),J(g0,{children:"结束日期(可选)"},void 0,!1,void 0,this),J(s,{icon:"x",label:"无(里程碑)",checked:!Y,onClick:()=>{G("none"),_()}},void 0,!1,void 0,this),Q.map((S)=>J(s,{icon:m0[S.type],label:S.name,checked:S===Y,onClick:()=>{G(S.id),_()}},S.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[J(D,{name:"timeline",cls:"ico sm"},void 0,!1,void 0,this),F.name,Y?` → ${Y.name}`:"(里程碑)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J("div",{class:"tl-scroll",children:J("div",{class:"tl-canvas",style:{width:L,height:bq+O.length*gq+8},children:[J("div",{class:"tl-axis",style:{height:bq},children:[J("div",{class:"tl-corner",style:{width:qq},children:"记录"},void 0,!1,void 0,this),T.map((N,_)=>{let S=N.getDate()===1;return J("div",{class:"tl-tick"+(S?" mstart":"")+(Pq(N,w)===0?" today":""),style:{left:R(_),width:j0},children:[S&&J("span",{class:"tl-month",children:[N.getMonth()+1,"月"]},void 0,!0,void 0,this),J("span",{class:"tl-dnum",children:N.getDate()},void 0,!1,void 0,this)]},_,!0,void 0,this)})]},void 0,!0,void 0,this),O.map(({rec:N,s:_,e:S},t)=>{let e=_?Pq(P,_):0,J0=_&&S?Pq(_,S)+1:1;return J("div",{class:"tl-row",style:{top:bq+t*gq,height:gq},children:[J("div",{class:"tl-rowlabel",style:{width:qq},children:eZ(N,y)||J("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!_?J("div",{class:"tl-track-empty",style:{left:qq},onClick:(F0)=>U0(F0,N),title:"点击空白处排期",children:J("button",{class:"tl-schedule",style:{left:qq+8},onClick:(F0)=>{F0.stopPropagation(),W0(N,w)},children:"未排期 · 排到今天"},void 0,!1,void 0,this)},void 0,!1,void 0,this):S?J("div",{class:"tl-item",style:{left:R(e),width:J0*j0},onPointerDown:(F0)=>u(F0,N,_,S,"move",F0.currentTarget),children:[J("span",{class:"tl-h l",onPointerDown:(F0)=>u(F0,N,_,S,"l",F0.currentTarget.parentElement)},void 0,!1,void 0,this),J("span",{class:"tl-label",children:eZ(N,y)},void 0,!1,void 0,this),J("span",{class:"tl-h r",onPointerDown:(F0)=>u(F0,N,_,S,"r",F0.currentTarget.parentElement)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):J("div",{class:"tl-milestone",style:{left:R(e)},title:E0(_),onPointerDown:(F0)=>u(F0,N,_,null,"move",F0.currentTarget)},void 0,!1,void 0,this)]},N.id,!0,void 0,this)}),I>=0&&I<M&&J("div",{class:"tl-today",style:{left:R(I)+j0/2,height:bq+O.length*gq}},void 0,!1,void 0,this),J("div",{class:"tl-guide",ref:v,style:{display:"none",height:bq+O.length*gq},children:J("span",{class:"tl-guide-label"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function eZ(q,Z){if(!Z)return"";let $=q.values[Z.name];return $==null?"":Array.isArray($)?$.join(", "):String($)}var S5=[["表格","list"],["看板","group"],["日历","calendar"],["时间轴","timeline"]];function lq(q){return{r0:Math.min(q.a.r,q.b.r),r1:Math.max(q.a.r,q.b.r),c0:Math.min(q.a.c,q.b.c),c1:Math.max(q.a.c,q.b.c)}}function J$({db:q,reloadNav:Z,onError:$}){let[z,Q]=d([]),[X,W]=d([]),[H,G]=d(0),[F,Y]=d(new Set),[K,v]=d(null),[y,w]=d(null),[O,A]=d(null),[k,b]=d(null),P=(f)=>f.config?.width??180,B=Y0(null),M=Y0(null),L=Y0(null),R=Y0(!1),I=(f)=>f().catch((x)=>$(String(x.message))),T=async()=>{let[f,x]=await Promise.all([l.listProperties(q.id),l.listRecords(q.id)]);Q(f),W(x)};C0(()=>{Y(new Set),A(null),G(0),b(null),T().catch((f)=>$(String(f.message)))},[q.id]);let h=(f,x,a)=>I(async()=>{let n=await l.updateRecord(f.id,{[x.name]:a});W((X0)=>X0.map((B0)=>B0.id===f.id?n:B0)),w(null)}),m=(f)=>I(async()=>{let x=await l.createRecord(q.id,f);W((a)=>[...a,x])}),o=()=>m({}),u=(f)=>I(async()=>{if(await Promise.all(f.map((x)=>l.deleteRecord(x))),W((x)=>x.filter((a)=>!f.includes(a.id))),Y(new Set),O&&f.includes(O))A(null)}),W0=(f)=>I(async()=>{let x=await l.createRecord(q.id,f.values);W((a)=>{let n=a.findIndex((X0)=>X0.id===f.id);return[...a.slice(0,n+1),x,...a.slice(n+1)]})}),U0=(f,x,a)=>{if(f===x||K)return;W((n)=>Z$(n,f,x,a))},g=(f,x,a)=>{if(f===x||K)return;U0(f,x,a),l.moveRecord(f,x,a).catch((n)=>{$(String(n.message)),T().catch((X0)=>$(String(X0.message)))})},N=(f,x,a)=>{if(f===x)return;Q((n)=>{let X0=Z$(n,f,x,a).map((E,c)=>({...E,position:c+1})),B0=new Map(n.map((E)=>[E.id,E.position])),q0=X0.filter((E)=>B0.get(E.id)!==E.position);if(q0.length)Promise.all(q0.map((E)=>l.updateProperty(E.id,{position:E.position}))).catch((E)=>{$(String(E.message)),T().catch((c)=>$(String(c.message)))});return X0})},_=(f,x)=>{if(K||f.button!==0)return;let a=f.currentTarget.closest("tr");if(!a)return;f.preventDefault();let n=a.getBoundingClientRect(),X0={id:x.id,pointerId:f.pointerId,startX:f.clientX,startY:f.clientY,offsetX:f.clientX-n.left,offsetY:f.clientY-n.top,active:!1,source:a,ghost:null,targetId:null,where:"before"};B.current=X0;let B0=(E)=>{let c=B.current;if(!c||c.pointerId!==E.pointerId)return;if(!c.active){let M0=E.clientX-c.startX,G0=E.clientY-c.startY;if(Math.hypot(M0,G0)<4)return;c.active=!0,c.ghost=D5(c.source),c.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}E.preventDefault(),$$(c.ghost,E.clientX-c.offsetX,E.clientY-c.offsetY),x5(c,E.clientX,E.clientY)},q0=(E)=>{let c=B.current;if(!c||c.pointerId!==E.pointerId)return;if(removeEventListener("pointermove",B0),removeEventListener("pointerup",q0),removeEventListener("pointercancel",q0),c.ghost?.remove(),c.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),h9(),B.current=null,c.active&&c.targetId)g(c.id,c.targetId,c.where)};addEventListener("pointermove",B0,{passive:!1}),addEventListener("pointerup",q0),addEventListener("pointercancel",q0)},S=(f,x)=>{if(f.button!==0)return;let a=f.currentTarget.closest("th");if(!a)return;let n=a.getBoundingClientRect(),X0={id:x.id,pointerId:f.pointerId,startX:f.clientX,startY:f.clientY,offsetX:f.clientX-n.left,offsetY:f.clientY-n.top,active:!1,source:a,ghost:null,targetId:null,where:"before"};L.current=X0;let B0=(E)=>{let c=L.current;if(!c||c.pointerId!==E.pointerId)return;if(!c.active){let M0=E.clientX-c.startX,G0=E.clientY-c.startY;if(Math.hypot(M0,G0)<4)return;c.active=!0,R.current=!0,c.ghost=u5(c.source),c.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}E.preventDefault(),$$(c.ghost,E.clientX-c.offsetX,E.clientY-c.offsetY),j5(c,E.clientX,E.clientY)},q0=(E)=>{let c=L.current;if(!c||c.pointerId!==E.pointerId)return;if(removeEventListener("pointermove",B0),removeEventListener("pointerup",q0),removeEventListener("pointercancel",q0),c.ghost?.remove(),c.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),m9(),L.current=null,c.active)setTimeout(()=>{R.current=!1},0);if(c.active&&c.targetId)N(c.id,c.targetId,c.where)};addEventListener("pointermove",B0,{passive:!1}),addEventListener("pointerup",q0),addEventListener("pointercancel",q0)},t=(f,x,a)=>{if(f.button!==0)return;if(f.target.closest("input,button,a"))return;let n=f.shiftKey&&k?k.a:{r:x,c:a};b({a:n,b:{r:x,c:a}}),M.current={pointerId:f.pointerId,startX:f.clientX,startY:f.clientY,active:!1};let X0=(q0)=>{let E=M.current;if(!E||E.pointerId!==q0.pointerId)return;if(!E.active){if(Math.hypot(q0.clientX-E.startX,q0.clientY-E.startY)<4)return;E.active=!0,document.body.classList.add("cell-selecting")}q0.preventDefault();let c=document.elementFromPoint(q0.clientX,q0.clientY)?.closest?.("td.cell-td");if(!c||c.dataset.r==null)return;b({a:n,b:{r:Number(c.dataset.r),c:Number(c.dataset.c)}})},B0=(q0)=>{let E=M.current;if(!E||E.pointerId!==q0.pointerId)return;removeEventListener("pointermove",X0),removeEventListener("pointerup",B0),removeEventListener("pointercancel",B0),document.body.classList.remove("cell-selecting"),M.current=null};addEventListener("pointermove",X0,{passive:!1}),addEventListener("pointerup",B0),addEventListener("pointercancel",B0)},e=(f)=>I(async()=>{if(!k)return;let{r0:x,r1:a,c0:n,c1:X0}=lq(k),B0=z.slice(n,X0+1),q0=F0.slice(x,a+1),E=await Promise.all(q0.map((c)=>{let M0={};for(let G0 of B0)M0[G0.name]=f(G0);return l.updateRecord(c.id,M0)}));W((c)=>c.map((M0)=>E.find((G0)=>G0.id===M0.id)??M0))}),J0=async()=>{if(!k)return;let{r0:f,r1:x,c0:a,c1:n}=lq(k),X0=z.slice(a,n+1),B0=F0.slice(f,x+1).map((q0)=>X0.map((E)=>rZ(E,q0.values[E.name])).join("\t")).join(`
|
|
8
|
-
`);try{await navigator.clipboard.writeText(B0)}catch{}},F0=K?[...X].sort((f,x)=>{let a=String(f.values[K.name]??""),n=String(x.values[K.name]??"");return(K.desc?-1:1)*a.localeCompare(n,"zh")}):X,_0=X.find((f)=>f.id===O)??null,Q0=k?lq(k):null;return C0(()=>{let f=(x)=>{if(!k||y)return;let a=document.activeElement,n=(a?.tagName||"").toLowerCase();if(n==="input"||n==="textarea"||a?.isContentEditable)return;if((x.metaKey||x.ctrlKey)&&x.key.toLowerCase()==="c")x.preventDefault(),J0();else if(x.key==="Escape")b(null);else if(x.key==="Delete"||x.key==="Backspace"){let X0=lq(k);if(X0.r0!==X0.r1||X0.c0!==X0.c1)x.preventDefault(),e(()=>null)}};return addEventListener("keydown",f),()=>removeEventListener("keydown",f)},[k,y,X,z,K]),J("div",{class:"db",onPointerDown:(f)=>{if(!f.target.closest("td.cell-td, .cellselbar"))b(null)},children:[J("div",{class:"db-head",children:[J("div",{class:"db-icon",children:q.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),J("div",{children:J("div",{class:"db-title",contentEditable:!0,onBlur:(f)=>{let x=f.target.textContent?.trim()||q.name;if(x!==q.name)I(async()=>{await l.updateDatabase(q.id,{name:x}),await Z()})},children:q.name},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"views",children:[S5.map(([f,x],a)=>J("div",{class:"view-tab"+(a===H?" active":""),onClick:()=>G(a),children:[J(D,{name:x},void 0,!1,void 0,this),f]},f,!0,void 0,this)),J("div",{class:"view-tab",title:"新建视图",children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),J("button",{class:"btn btn-primary",onClick:o,children:[J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H===0&&J("div",{class:"toolbar",children:[J("button",{class:"tbtn",onClick:(f)=>c5(f,z,K,v),children:[J(D,{name:"sort",cls:"ico sm"},void 0,!1,void 0,this),"排序"]},void 0,!0,void 0,this),J("button",{class:"tbtn",children:[J(D,{name:"filter",cls:"ico sm"},void 0,!1,void 0,this),"筛选"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H===1?J(lZ,{props:z,records:X,onCommitValue:h,onCreate:m,onOpenRecord:A,onMove:g},void 0,!1,void 0,this):H===2?J(oZ,{props:z,records:X,onCommitValue:h,onCreate:m,onOpenRecord:A},void 0,!1,void 0,this):H===3?J(q$,{props:z,records:X,onCommitValue:h,onCreate:m,onOpenRecord:A},void 0,!1,void 0,this):J("div",{class:"tablewrap",children:[J("div",{class:"tablescroll",children:J("table",{class:"grid",children:[J("colgroup",{children:[J("col",{style:{width:38}},void 0,!1,void 0,this),J("col",{style:{width:26}},void 0,!1,void 0,this),z.map((f)=>J("col",{"data-col-id":f.id,style:{width:P(f)}},f.id,!1,void 0,this)),J("col",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("thead",{children:J("tr",{children:[J("th",{class:"selcell",children:J("input",{type:"checkbox",checked:F.size>0&&F.size===X.length,onChange:(f)=>Y(f.target.checked?new Set(X.map((x)=>x.id)):new Set)},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("th",{class:"gripcol"},void 0,!1,void 0,this),z.map((f)=>J("th",{"data-col-id":f.id,children:[J("div",{class:"colhead",onPointerDown:(x)=>S(x,f),onClick:(x)=>{if(R.current){R.current=!1,x.preventDefault(),x.stopPropagation();return}p5(x,f,q.id,T,z)},children:[J("span",{class:"ti",children:J(D,{name:m0[f.type]??"text",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"nm",children:f.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J(h5,{colId:f.id,startWidth:P(f),onCommit:(x)=>{Q((a)=>a.map((n)=>n.id===f.id?{...n,config:{...n.config??{},width:x}}:n)),l.setColumnWidth(f.id,x).catch((a)=>{$(String(a.message)),T().catch(()=>{})})}},void 0,!1,void 0,this)]},f.id,!0,void 0,this)),J("th",{class:"addcol",children:J("div",{class:"colhead",title:"新建属性",onClick:(f)=>E5(f,q.id,T),children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J("tbody",{children:F0.map((f,x)=>J("tr",{"data-row-id":f.id,class:F.has(f.id)?"sel":"",children:[J("td",{class:"selcell",children:J("input",{type:"checkbox",checked:F.has(f.id),onChange:()=>Y((a)=>{let n=new Set(a);return n.has(f.id)?n.delete(f.id):n.add(f.id),n})},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("td",{class:"rowgrip",title:K?"清除排序后可拖拽移动":"拖拽移动","aria-disabled":K?"true":void 0,onPointerDown:(a)=>_(a,f),children:J(D,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z.map((a,n)=>{let X0=Q0!=null&&x>=Q0.r0&&x<=Q0.r1&&n>=Q0.c0&&n<=Q0.c1,B0;if(X0&&Q0){let q0=[];if(x===Q0.r0)q0.push("inset 0 2px 0 0 var(--accent)");if(x===Q0.r1)q0.push("inset 0 -2px 0 0 var(--accent)");if(n===Q0.c0)q0.push("inset 2px 0 0 0 var(--accent)");if(n===Q0.c1)q0.push("inset -2px 0 0 0 var(--accent)");B0=q0.join(",")||void 0}return J("td",{class:"cell-td"+(X0?" cellsel":""),"data-r":x,"data-c":n,style:B0?{boxShadow:B0}:void 0,onPointerDown:(q0)=>t(q0,x,n),children:J(T5,{rec:f,prop:a,first:n===0,editing:y?.rec===f.id&&y?.prop===a.id,onEdit:()=>w({rec:f.id,prop:a.id}),onCancel:()=>w(null),onCommit:(q0)=>h(f,a,q0),onOpen:()=>A(f.id),onRowMenu:(q0)=>a5(q0,f,()=>A(f.id),()=>W0(f),()=>u([f.id]))},void 0,!1,void 0,this)},a.id,!1,void 0,this)}),J("td",{class:"filler"},void 0,!1,void 0,this)]},f.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J("div",{class:"addrow",onClick:o,children:[J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建记录"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"gridfoot",children:[J("span",{children:["共 ",X.length," 条记录"]},void 0,!0,void 0,this),J("span",{children:[z.length," 个属性"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F.size>0&&J("div",{class:"selbar",children:[J("span",{class:"cnt",children:[F.size," 已选"]},void 0,!0,void 0,this),J("button",{onClick:()=>I(async()=>{for(let f of F)await W0(X.find((x)=>x.id===f))}),children:[J(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),J("button",{class:"del",onClick:async()=>{if(await x0({title:"删除记录?",message:`确定删除选中的 ${F.size} 条记录?`,confirmLabel:"删除",danger:!0}))u([...F])},children:[J(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"删除"]},void 0,!0,void 0,this),J("button",{onClick:()=>Y(new Set),children:J(D,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q0&&(Q0.r0!==Q0.r1||Q0.c0!==Q0.c1)&&J("div",{class:"selbar cellselbar",children:[J("span",{class:"cnt",children:[(Q0.r1-Q0.r0+1)*(Q0.c1-Q0.c0+1)," 个单元格"]},void 0,!0,void 0,this),J("button",{onClick:J0,children:[J(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),J("button",{onClick:()=>e((f)=>F0[Q0.r0].values[f.name]??null),children:[J(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"填充"]},void 0,!0,void 0,this),J("button",{class:"del",onClick:()=>e(()=>null),children:[J(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"清空"]},void 0,!0,void 0,this),J("button",{onClick:()=>b(null),children:J(D,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),_0&&J(d5,{db:q,props:z,rec:_0,onClose:()=>A(null),onCommit:(f,x)=>h(_0,f,x),onDelete:()=>u([_0.id]),onDuplicate:()=>W0(_0)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function T5({rec:q,prop:Z,first:$,editing:z,onEdit:Q,onCancel:X,onCommit:W,onOpen:H,onRowMenu:G}){let F=q.values[Z.name];if(Z.type==="checkbox")return J("div",{class:"cell center",children:J("input",{type:"checkbox",checked:!!F,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>W(!F)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(z&&(Z.type==="select"||Z.type==="multi_select"));if(z&&Z.type!=="select"&&Z.type!=="multi_select"){let v=Array.isArray(F)?F.join(", "):F==null?"":String(F);return J("div",{class:"cell",children:J("input",{class:"inlineedit",type:Z.type==="number"?"number":Z.type==="date"?"date":"text",value:v,autofocus:!0,onBlur:(y)=>W(j9(Z.type,y.target.value)),onKeyDown:(y)=>{if(y.key==="Enter")y.target.blur();if(y.key==="Escape")X()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let Y=(v)=>{if(Z.type==="select"||Z.type==="multi_select")z$(v,Z,F,W);else Q()},K=J(wq,{prop:Z,val:F},void 0,!1,void 0,this);if($)return J("div",{class:"cell",onDblClick:Y,onContextMenu:(v)=>{v.preventDefault(),G(v)},children:J("div",{class:"firstcell",children:[K,J("div",{class:"rowactions",children:J("button",{class:"rowopen",title:"打开",onClick:(v)=>{v.stopPropagation(),H()},children:J(D,{name:"openPeek",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return J("div",{class:"cell",onDblClick:Y,children:K},void 0,!1,void 0,this)}function Z$(q,Z,$,z){let Q=[...q],X=Q.findIndex((G)=>G.id===Z);if(X<0)return q;let W=Q.splice(X,1)[0],H=Q.findIndex((G)=>G.id===$);if(H<0)return q;if(z==="after")H+=1;return Q.splice(H,0,W),Q}function h9(){document.querySelectorAll("table.grid tr.drop-before,table.grid tr.drop-after").forEach((q)=>q.classList.remove("drop-before","drop-after"))}function R5(q,Z){h9();let $=q.getBoundingClientRect(),z=Z<$.top+$.height/2?"before":"after";return q.classList.add(z==="before"?"drop-before":"drop-after"),z}function m9(){document.querySelectorAll("table.grid th.drop-before,table.grid th.drop-after").forEach((q)=>q.classList.remove("drop-before","drop-after"))}function I5(q,Z){m9();let $=q.getBoundingClientRect(),z=Z<$.left+$.width/2?"before":"after";return q.classList.add(z==="before"?"drop-before":"drop-after"),z}function x5(q,Z,$){let z=document.elementFromPoint(Z,$)?.closest?.("tr[data-row-id]");if(!z||z.dataset.rowId===q.id){h9(),q.targetId=null;return}q.targetId=z.dataset.rowId??null,q.where=R5(z,$)}function j5(q,Z,$){let z=document.elementFromPoint(Z,$)?.closest?.("th[data-col-id]");if(!z||z.dataset.colId===q.id){m9(),q.targetId=null;return}q.targetId=z.dataset.colId??null,q.where=I5(z,Z)}function $$(q,Z,$){if(!q)return;q.style.transform=`translate3d(${Math.round(Z)}px, ${Math.round($)}px, 0)`}function D5(q){let Z=q.getBoundingClientRect(),$=document.createElement("div");$.className="drag-ghost row-ghost",$.style.width=`${Z.width}px`,$.style.height=`${Z.height}px`;let z=Array.from(q.querySelectorAll("td")).map((Q)=>(Q.textContent??"").trim()).filter(Boolean).join(" ");return $.textContent=z||"移动记录",document.body.appendChild($),$}function u5(q){let Z=q.getBoundingClientRect(),$=document.createElement("div");return $.className="drag-ghost col-ghost",$.style.width=`${Z.width}px`,$.style.height=`${Z.height}px`,$.textContent=q.textContent?.trim()||"移动属性",document.body.appendChild($),$}function h5({colId:q,startWidth:Z,onCommit:$}){return J("div",{class:"col-resizer",onPointerDown:(Q)=>{Q.preventDefault(),Q.stopPropagation();let X=Q.currentTarget,W=document.querySelector(`col[data-col-id="${CSS.escape(q)}"]`),H=Q.clientX,G=Z,F=0;X.classList.add("dragging"),document.body.classList.add("col-resizing");let Y=()=>{if(F=0,W)W.style.width=G+"px"},K=(y)=>{if(G=Math.max(80,Z+y.clientX-H),!F)F=requestAnimationFrame(Y)},v=()=>{if(F)cancelAnimationFrame(F);if(W)W.style.width=G+"px";removeEventListener("pointermove",K),removeEventListener("pointerup",v),removeEventListener("pointercancel",v),X.classList.remove("dragging"),document.body.classList.remove("col-resizing"),$(G)};addEventListener("pointermove",K,{passive:!1}),addEventListener("pointerup",v),addEventListener("pointercancel",v)}},void 0,!1,void 0,this)}function z$(q,Z,$,z){q.stopPropagation();let Q=Z.type==="multi_select",X=Z.config?.options??[];A0(q,(W)=>J(m5,{multi:Q,options:X,value:$,onPick:(H)=>{if(z(H),!Q)W()}},void 0,!1,void 0,this))}function m5({multi:q,options:Z,value:$,onPick:z}){let[Q,X]=d($),W=(G)=>q?Array.isArray(Q)?Q.includes(G):!1:Q===G,H=(G)=>{if(q){let F=new Set(Array.isArray(Q)?Q:[]);F.has(G)?F.delete(G):F.add(G);let Y=[...F];X(Y),z(Y)}else X(G),z(G)};return J($0,{children:[J(g0,{children:q?"多选 — 点选切换":"单选"},void 0,!1,void 0,this),Z.map((G)=>J("button",{class:"item",onClick:()=>H(G),children:[J(Qq,{text:G},void 0,!1,void 0,this),W(G)&&J("span",{class:"chk",children:J(D,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},G,!0,void 0,this)),q&&Array.isArray(Q)&&Q.length>0&&J($0,{children:[J(O0,{},void 0,!1,void 0,this),J(s,{icon:"x",label:"清空",onClick:()=>{X([]),z([])}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function p5(q,Z,$,z,Q){q.stopPropagation(),A0(q,(X)=>J(i5,{prop:Z,dbId:$,reload:z,close:X,allProps:Q},void 0,!1,void 0,this),{minWidth:252})}function i5({prop:q,dbId:Z,reload:$,close:z,allProps:Q}){let[X,W]=d(q.name),[H,G]=d(q.type),[F,Y]=d(q.config?.options??[]),K=(w)=>l.updateProperty(q.id,w).then($).catch(()=>{}),v=(w)=>{G(w);let O=F;if((w==="select"||w==="multi_select")&&O.length===0)O=["选项 1","选项 2"],Y(O);K({type:w,...w==="select"||w==="multi_select"?{config:{options:O}}:{}})},y=(w)=>{Y(w),K({config:{options:w}})};return J($0,{children:[J("input",{class:"field",value:X,onInput:(w)=>W(w.target.value),onBlur:()=>X&&X!==q.name&&K({name:X}),onKeyDown:(w)=>{if(w.key==="Enter")w.target.blur(),z()}},void 0,!1,void 0,this),J(g0,{children:"属性类型"},void 0,!1,void 0,this),J("div",{class:"typegrid",children:Object.keys(yq).map((w)=>J("button",{class:"item"+(w===H?" sel":""),onClick:()=>v(w),children:[J("span",{class:"lico",children:J(D,{name:m0[w],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"d",children:yq[w].t},void 0,!1,void 0,this)]},w,!0,void 0,this))},void 0,!1,void 0,this),(H==="select"||H==="multi_select")&&J($0,{children:[J(O0,{},void 0,!1,void 0,this),J(g0,{children:"选项"},void 0,!1,void 0,this),F.map((w,O)=>J("div",{class:"optrow",children:[J(Qq,{text:w},void 0,!1,void 0,this),J("button",{class:"x",onClick:()=>y(F.filter((A,k)=>k!==O)),children:J(D,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},w+O,!0,void 0,this)),J(s,{icon:"plus",label:"添加选项",onClick:()=>y([...F,"选项 "+(F.length+1)])},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{z(),l.createProperty({db:Z,name:"新属性",type:"text"}).then($)}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"trash",label:"删除属性",danger:!0,onClick:async()=>{if(z(),await x0({title:"删除属性?",message:`「${q.name}」及其所有单元格数据将被移除。`,confirmLabel:"删除",danger:!0}))l.deleteProperty(q.id).then($)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function E5(q,Z,$){q.stopPropagation(),A0(q,(z)=>J($0,{children:[J(g0,{children:"新建属性 · 选择类型"},void 0,!1,void 0,this),J("div",{class:"typegrid",children:Object.keys(yq).map((Q)=>J("button",{class:"item",onClick:()=>{z();let X=Q==="select"||Q==="multi_select"?{options:["选项 1","选项 2"]}:void 0;l.createProperty({db:Z,name:yq[Q].t,type:Q,config:X}).then($).catch(()=>{})},children:[J("span",{class:"lico",children:J(D,{name:m0[Q],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"d",children:yq[Q].t},void 0,!1,void 0,this)]},Q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function c5(q,Z,$,z){A0(q,(Q)=>J($0,{children:[J(g0,{children:"排序依据"},void 0,!1,void 0,this),Z.map((X)=>J(s,{icon:m0[X.type],label:X.name,onClick:()=>{z({name:X.name,desc:$?.name===X.name?!$.desc:!1}),Q()}},X.id,!1,void 0,this)),$&&J($0,{children:[J(O0,{},void 0,!1,void 0,this),J(s,{icon:"x",label:"清除排序",onClick:()=>{z(null),Q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this))}function a5(q,Z,$,z,Q){q.stopPropagation(),A0(q,(X)=>J($0,{children:[J(s,{icon:"cornerUpRight",label:"打开记录",onClick:()=>{X(),$()}},void 0,!1,void 0,this),J(s,{icon:"copy",label:"复制记录",onClick:()=>{X(),z()}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(X(),await x0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))Q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function d5({db:q,props:Z,rec:$,onClose:z,onCommit:Q,onDelete:X,onDuplicate:W}){let[H,G]=d(null),F=Z[0];return J($0,{children:[J("div",{class:"scrim open",onClick:z},void 0,!1,void 0,this),J("div",{class:"peek open",children:[J("div",{class:"peek-head",children:[J("button",{class:"iconbtn",onClick:z,children:J(D,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("div",{style:{flex:1}},void 0,!1,void 0,this),J("button",{class:"iconbtn",title:"更多",onClick:(Y)=>A0(Y,(K)=>J($0,{children:[J(s,{icon:"copy",label:"复制记录",onClick:()=>{K(),W()}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(K(),await x0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))X()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)),children:J(D,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"peek-body",children:[J("h2",{contentEditable:!0,onBlur:(Y)=>F&&Q(F,Y.target.textContent??""),children:F?String($.values[F.name]??"无标题"):"无标题"},void 0,!1,void 0,this),Z.map((Y)=>J("div",{class:"proprow",children:[J("div",{class:"k",children:[J(D,{name:m0[Y.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),J("span",{children:Y.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J(n5,{prop:Y,rec:$,editing:H===Y.id,onEdit:()=>G(Y.id),onCommit:(K)=>{Q(Y,K),G(null)}},void 0,!1,void 0,this)]},Y.id,!0,void 0,this)),J("div",{class:"peek-divider"},void 0,!1,void 0,this),J("div",{class:"muted",style:{fontSize:12,fontWeight:600,marginBottom:8},children:"页面正文"},void 0,!1,void 0,this),J("div",{class:"editable",contentEditable:!0,"data-ph":"记录也可拥有自己的块级正文…",style:{minHeight:90},children:"每条记录都可作为页面打开,并拥有块级正文。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function n5({prop:q,rec:Z,editing:$,onEdit:z,onCommit:Q}){let X=Z.values[q.name];if(q.type==="checkbox")return J("div",{class:"v",children:J("input",{type:"checkbox",checked:!!X,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>Q(!X)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(q.type==="select"||q.type==="multi_select")return J("div",{class:"v",onClick:(W)=>z$(W,q,X,Q),children:J(wq,{prop:q,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($){let W=Array.isArray(X)?X.join(", "):X==null?"":String(X);return J("div",{class:"v",children:J("input",{class:"inlineedit",type:q.type==="number"?"number":q.type==="date"?"date":"text",value:W,autofocus:!0,onBlur:(H)=>Q(j9(q.type,H.target.value)),onKeyDown:(H)=>{if(H.key==="Enter")H.target.blur()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return J("div",{class:"v",onClick:z,children:J(wq,{prop:q,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var B4=q5(y4(),1);var Q9=B4.default;var Z7=0;function p0(){return`blk_${Date.now().toString(36)}_${(Z7++).toString(36)}`}var $7=new Set(["bullet","numbered","todo"]),t0={fenceOpen:/^\s*(`{3,}|~{3,})\s*([^\s`]*)?.*$/,h:/^(#{1,3})\s+(.*)$/,todo:/^\s*[-*+]\s+\[([ xX])\]\s*(.*)$/,bullet:/^\s*[-*+]\s+(.*)$/,numbered:/^\s*(\d+)[.)]\s+(.*)$/,quote:/^>\s?(.*)$/,divider:/^\s*(?:-{3,}|\*{3,}|_{3,})\s*$/};function u0(q){return $7.has(q)}function w4(q){return O4(q,0,1).join(`
|
|
9
|
-
`)}function
|
|
10
|
-
`)
|
|
11
|
-
`):[],
|
|
12
|
-
`).replace(/\n+$/,"")
|
|
13
|
-
`.repeat(
|
|
14
|
-
`),lang:
|
|
15
|
-
`)},next:
|
|
16
|
-
`)},next:
|
|
17
|
-
`).map((
|
|
18
|
-
`).map((W)=>`${
|
|
19
|
-
`).map((
|
|
20
|
-
`)}function
|
|
1
|
+
var t6=Object.create;var{getPrototypeOf:o6,defineProperty:B8,getOwnPropertyNames:s6}=Object;var e6=Object.prototype.hasOwnProperty;var Z1=(Z,J,z)=>{z=Z!=null?t6(o6(Z)):{};let $=J||!Z||!Z.__esModule?B8(z,"default",{value:Z,enumerable:!0}):z;for(let q of s6(Z))if(!e6.call($,q))B8($,q,{get:()=>Z[q],enumerable:!0});return $};var K0=(Z,J)=>()=>(J||Z((J={exports:{}}).exports,J),J.exports);var k4=K0((ZQ,f4)=>{function K4(Z){if(Z instanceof Map)Z.clear=Z.delete=Z.set=function(){throw new Error("map is read-only")};else if(Z instanceof Set)Z.add=Z.clear=Z.delete=function(){throw new Error("set is read-only")};return Object.freeze(Z),Object.getOwnPropertyNames(Z).forEach((J)=>{let z=Z[J],$=typeof z;if(($==="object"||$==="function")&&!Object.isFrozen(z))K4(z)}),Z}class EZ{constructor(Z){if(Z.data===void 0)Z.data={};this.data=Z.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Y4(Z){return Z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function J9(Z,...J){let z=Object.create(null);for(let $ in Z)z[$]=Z[$];return J.forEach(function($){for(let q in $)z[q]=$[q]}),z}var r1="</span>",q4=(Z)=>{return!!Z.scope},l1=(Z,{prefix:J})=>{if(Z.startsWith("language:"))return Z.replace("language:","language-");if(Z.includes(".")){let z=Z.split(".");return[`${J}${z.shift()}`,...z.map(($,q)=>`${$}${"_".repeat(q+1)}`)].join(" ")}return`${J}${Z}`};class U4{constructor(Z,J){this.buffer="",this.classPrefix=J.classPrefix,Z.walk(this)}addText(Z){this.buffer+=Y4(Z)}openNode(Z){if(!q4(Z))return;let J=l1(Z.scope,{prefix:this.classPrefix});this.span(J)}closeNode(Z){if(!q4(Z))return;this.buffer+=r1}value(){return this.buffer}span(Z){this.buffer+=`<span class="${Z}">`}}var X4=(Z={})=>{let J={children:[]};return Object.assign(J,Z),J};class iZ{constructor(){this.rootNode=X4(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Z){this.top.children.push(Z)}openNode(Z){let J=X4({scope:Z});this.add(J),this.stack.push(J)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Z){return this.constructor._walk(Z,this.rootNode)}static _walk(Z,J){if(typeof J==="string")Z.addText(J);else if(J.children)Z.openNode(J),J.children.forEach((z)=>this._walk(Z,z)),Z.closeNode(J);return Z}static _collapse(Z){if(typeof Z==="string")return;if(!Z.children)return;if(Z.children.every((J)=>typeof J==="string"))Z.children=[Z.children.join("")];else Z.children.forEach((J)=>{iZ._collapse(J)})}}class y4 extends iZ{constructor(Z){super();this.options=Z}addText(Z){if(Z==="")return;this.add(Z)}startScope(Z){this.openNode(Z)}endScope(){this.closeNode()}__addSublanguage(Z,J){let z=Z.root;if(J)z.scope=`language:${J}`;this.add(z)}toHTML(){return new U4(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function S9(Z){if(!Z)return null;if(typeof Z==="string")return Z;return Z.source}function B4(Z){return F9("(?=",Z,")")}function t1(Z){return F9("(?:",Z,")*")}function o1(Z){return F9("(?:",Z,")?")}function F9(...Z){return Z.map((z)=>S9(z)).join("")}function s1(Z){let J=Z[Z.length-1];if(typeof J==="object"&&J.constructor===Object)return Z.splice(Z.length-1,1),J;else return{}}function cZ(...Z){return"("+(s1(Z).capture?"":"?:")+Z.map(($)=>S9($)).join("|")+")"}function w4(Z){return new RegExp(Z.toString()+"|").exec("").length-1}function e1(Z,J){let z=Z&&Z.exec(J);return z&&z.index===0}var Z7=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function dZ(Z,{joinWith:J}){let z=0;return Z.map(($)=>{z+=1;let q=z,X=S9($),W="";while(X.length>0){let F=Z7.exec(X);if(!F){W+=X;break}if(W+=X.substring(0,F.index),X=X.substring(F.index+F[0].length),F[0][0]==="\\"&&F[1])W+="\\"+String(Number(F[1])+q);else if(W+=F[0],F[0]==="(")z++}return W}).map(($)=>`(${$})`).join(J)}var J7=/\b\B/,L4="[a-zA-Z]\\w*",aZ="[a-zA-Z_]\\w*",P4="\\b\\d+(\\.\\d+)?",C4="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v4="\\b(0b[01]+)",z7="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Q7=(Z={})=>{let J=/^#![ ]*\//;if(Z.binary)Z.begin=F9(J,/.*\b/,Z.binary,/\b.*/);return J9({scope:"meta",begin:J,end:/$/,relevance:0,"on:begin":(z,$)=>{if(z.index!==0)$.ignoreMatch()}},Z)},R9={begin:"\\\\[\\s\\S]",relevance:0},$7={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[R9]},q7={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[R9]},X7={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/},s9=function(Z,J,z={}){let $=J9({scope:"comment",begin:Z,end:J,contains:[]},z);$.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let q=cZ("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 $.contains.push({begin:F9(/[ ]+/,"(",q,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),$},W7=s9("//","$"),F7=s9("/\\*","\\*/"),H7=s9("#","$"),G7={scope:"number",begin:P4,relevance:0},K7={scope:"number",begin:C4,relevance:0},Y7={scope:"number",begin:v4,relevance:0},U7={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[R9,{begin:/\[/,end:/\]/,relevance:0,contains:[R9]}]},y7={scope:"title",begin:L4,relevance:0},B7={scope:"title",begin:aZ,relevance:0},w7={begin:"\\.\\s*"+aZ,relevance:0},L7=function(Z){return Object.assign(Z,{"on:begin":(J,z)=>{z.data._beginMatch=J[1]},"on:end":(J,z)=>{if(z.data._beginMatch!==J[1])z.ignoreMatch()}})},t9=Object.freeze({__proto__:null,APOS_STRING_MODE:$7,BACKSLASH_ESCAPE:R9,BINARY_NUMBER_MODE:Y7,BINARY_NUMBER_RE:v4,COMMENT:s9,C_BLOCK_COMMENT_MODE:F7,C_LINE_COMMENT_MODE:W7,C_NUMBER_MODE:K7,C_NUMBER_RE:C4,END_SAME_AS_BEGIN:L7,HASH_COMMENT_MODE:H7,IDENT_RE:L4,MATCH_NOTHING_RE:J7,METHOD_GUARD:w7,NUMBER_MODE:G7,NUMBER_RE:P4,PHRASAL_WORDS_MODE:X7,QUOTE_STRING_MODE:q7,REGEXP_MODE:U7,RE_STARTERS_RE:z7,SHEBANG:Q7,TITLE_MODE:y7,UNDERSCORE_IDENT_RE:aZ,UNDERSCORE_TITLE_MODE:B7});function P7(Z,J){if(Z.input[Z.index-1]===".")J.ignoreMatch()}function C7(Z,J){if(Z.className!==void 0)Z.scope=Z.className,delete Z.className}function v7(Z,J){if(!J)return;if(!Z.beginKeywords)return;if(Z.begin="\\b("+Z.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Z.__beforeBegin=P7,Z.keywords=Z.keywords||Z.beginKeywords,delete Z.beginKeywords,Z.relevance===void 0)Z.relevance=0}function A7(Z,J){if(!Array.isArray(Z.illegal))return;Z.illegal=cZ(...Z.illegal)}function O7(Z,J){if(!Z.match)return;if(Z.begin||Z.end)throw new Error("begin & end are not supported with match");Z.begin=Z.match,delete Z.match}function _7(Z,J){if(Z.relevance===void 0)Z.relevance=1}var M7=(Z,J)=>{if(!Z.beforeMatch)return;if(Z.starts)throw new Error("beforeMatch cannot be used with starts");let z=Object.assign({},Z);Object.keys(Z).forEach(($)=>{delete Z[$]}),Z.keywords=z.keywords,Z.begin=F9(z.beforeMatch,B4(z.begin)),Z.starts={relevance:0,contains:[Object.assign(z,{endsParent:!0})]},Z.relevance=0,delete z.beforeMatch},N7=["of","and","for","in","not","or","if","then","parent","list","value"],f7="keyword";function A4(Z,J,z=f7){let $=Object.create(null);if(typeof Z==="string")q(z,Z.split(" "));else if(Array.isArray(Z))q(z,Z);else Object.keys(Z).forEach(function(X){Object.assign($,A4(Z[X],J,X))});return $;function q(X,W){if(J)W=W.map((F)=>F.toLowerCase());W.forEach(function(F){let G=F.split("|");$[G[0]]=[X,k7(G[0],G[1])]})}}function k7(Z,J){if(J)return Number(J);return V7(Z)?0:1}function V7(Z){return N7.includes(Z.toLowerCase())}var W4={},W9=(Z)=>{console.error(Z)},F4=(Z,...J)=>{console.log(`WARN: ${Z}`,...J)},P9=(Z,J)=>{if(W4[`${Z}/${J}`])return;console.log(`Deprecated as of ${Z}. ${J}`),W4[`${Z}/${J}`]=!0},o9=new Error;function O4(Z,J,{key:z}){let $=0,q=Z[z],X={},W={};for(let F=1;F<=J.length;F++)W[F+$]=q[F],X[F+$]=!0,$+=w4(J[F-1]);Z[z]=W,Z[z]._emit=X,Z[z]._multi=!0}function g7(Z){if(!Array.isArray(Z.begin))return;if(Z.skip||Z.excludeBegin||Z.returnBegin)throw W9("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),o9;if(typeof Z.beginScope!=="object"||Z.beginScope===null)throw W9("beginScope must be object"),o9;O4(Z,Z.begin,{key:"beginScope"}),Z.begin=dZ(Z.begin,{joinWith:""})}function b7(Z){if(!Array.isArray(Z.end))return;if(Z.skip||Z.excludeEnd||Z.returnEnd)throw W9("skip, excludeEnd, returnEnd not compatible with endScope: {}"),o9;if(typeof Z.endScope!=="object"||Z.endScope===null)throw W9("endScope must be object"),o9;O4(Z,Z.end,{key:"endScope"}),Z.end=dZ(Z.end,{joinWith:""})}function S7(Z){if(Z.scope&&typeof Z.scope==="object"&&Z.scope!==null)Z.beginScope=Z.scope,delete Z.scope}function R7(Z){if(S7(Z),typeof Z.beginScope==="string")Z.beginScope={_wrap:Z.beginScope};if(typeof Z.endScope==="string")Z.endScope={_wrap:Z.endScope};g7(Z),b7(Z)}function I7(Z){function J(W,F){return new RegExp(S9(W),"m"+(Z.case_insensitive?"i":"")+(Z.unicodeRegex?"u":"")+(F?"g":""))}class z{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(W,F){F.position=this.position++,this.matchIndexes[this.matchAt]=F,this.regexes.push([F,W]),this.matchAt+=w4(W)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let W=this.regexes.map((F)=>F[1]);this.matcherRe=J(dZ(W,{joinWith:"|"}),!0),this.lastIndex=0}exec(W){this.matcherRe.lastIndex=this.lastIndex;let F=this.matcherRe.exec(W);if(!F)return null;let G=F.findIndex((Y,K)=>K>0&&Y!==void 0),H=this.matchIndexes[G];return F.splice(0,G),Object.assign(F,H)}}class ${constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(W){if(this.multiRegexes[W])return this.multiRegexes[W];let F=new z;return this.rules.slice(W).forEach(([G,H])=>F.addRule(G,H)),F.compile(),this.multiRegexes[W]=F,F}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(W,F){if(this.rules.push([W,F]),F.type==="begin")this.count++}exec(W){let F=this.getMatcher(this.regexIndex);F.lastIndex=this.lastIndex;let G=F.exec(W);if(this.resumingScanAtSamePosition())if(G&&G.index===this.lastIndex);else{let H=this.getMatcher(0);H.lastIndex=this.lastIndex+1,G=H.exec(W)}if(G){if(this.regexIndex+=G.position+1,this.regexIndex===this.count)this.considerAll()}return G}}function q(W){let F=new $;if(W.contains.forEach((G)=>F.addRule(G.begin,{rule:G,type:"begin"})),W.terminatorEnd)F.addRule(W.terminatorEnd,{type:"end"});if(W.illegal)F.addRule(W.illegal,{type:"illegal"});return F}function X(W,F){let G=W;if(W.isCompiled)return G;[C7,O7,R7,M7].forEach((Y)=>Y(W,F)),Z.compilerExtensions.forEach((Y)=>Y(W,F)),W.__beforeBegin=null,[v7,A7,_7].forEach((Y)=>Y(W,F)),W.isCompiled=!0;let H=null;if(typeof W.keywords==="object"&&W.keywords.$pattern)W.keywords=Object.assign({},W.keywords),H=W.keywords.$pattern,delete W.keywords.$pattern;if(H=H||/\w+/,W.keywords)W.keywords=A4(W.keywords,Z.case_insensitive);if(G.keywordPatternRe=J(H,!0),F){if(!W.begin)W.begin=/\B|\b/;if(G.beginRe=J(G.begin),!W.end&&!W.endsWithParent)W.end=/\B|\b/;if(W.end)G.endRe=J(G.end);if(G.terminatorEnd=S9(G.end)||"",W.endsWithParent&&F.terminatorEnd)G.terminatorEnd+=(W.end?"|":"")+F.terminatorEnd}if(W.illegal)G.illegalRe=J(W.illegal);if(!W.contains)W.contains=[];if(W.contains=[].concat(...W.contains.map(function(Y){return T7(Y==="self"?W:Y)})),W.contains.forEach(function(Y){X(Y,G)}),W.starts)X(W.starts,F);return G.matcher=q(G),G}if(!Z.compilerExtensions)Z.compilerExtensions=[];if(Z.contains&&Z.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Z.classNameAliases=J9(Z.classNameAliases||{}),X(Z)}function _4(Z){if(!Z)return!1;return Z.endsWithParent||_4(Z.starts)}function T7(Z){if(Z.variants&&!Z.cachedVariants)Z.cachedVariants=Z.variants.map(function(J){return J9(Z,{variants:null},J)});if(Z.cachedVariants)return Z.cachedVariants;if(_4(Z))return J9(Z,{starts:Z.starts?J9(Z.starts):null});if(Object.isFrozen(Z))return J9(Z);return Z}var x7="11.11.1";class M4 extends Error{constructor(Z,J){super(Z);this.name="HTMLInjectionError",this.html=J}}var pZ=Y4,H4=J9,G4=Symbol("nomatch"),j7=7,N4=function(Z){let J=Object.create(null),z=Object.create(null),$=[],q=!0,X="Could not find the language '{}', did you forget to load/include a language module?",W={disableAutodetect:!0,name:"Plain text",contains:[]},F={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:y4};function G(g){return F.noHighlightRe.test(g)}function H(g){let M=g.className+" ";M+=g.parentNode?g.parentNode.className:"";let O=F.languageDetectRe.exec(M);if(O){let I=T(O[1]);if(!I)F4(X.replace("{}",O[1])),F4("Falling back to no-highlight mode for this block.",g);return I?O[1]:"no-highlight"}return M.split(/\s+/).find((I)=>G(I)||T(I))}function Y(g,M,O){let I="",o="";if(typeof M==="object")I=g,O=M.ignoreIllegals,o=M.language;else P9("10.7.0","highlight(lang, code, ...args) has been deprecated."),P9("10.7.0",`Please use highlight(code, options) instead.
|
|
2
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),o=g,I=M;if(O===void 0)O=!0;let e={code:I,language:o};Q0("before:highlight",e);let $0=e.result?e.result:K(e.language,e.code,O);return $0.code=e.code,Q0("after:highlight",$0),$0}function K(g,M,O,I){let o=Object.create(null);function e(p,t){return p.keywords[t]}function $0(){if(!J0.keywords){S0.addText(P0);return}let p=0;J0.keywordPatternRe.lastIndex=0;let t=J0.keywordPatternRe.exec(P0),U="";while(t){U+=P0.substring(p,t.index);let C=M0.case_insensitive?t[0].toLowerCase():t[0],m=e(J0,C);if(m){let[V,j]=m;if(S0.addText(U),U="",o[C]=(o[C]||0)+1,o[C]<=j7)K9+=j;if(V.startsWith("_"))U+=t[0];else{let q0=M0.classNameAliases[V]||V;X0(t[0],q0)}}else U+=t[0];p=J0.keywordPatternRe.lastIndex,t=J0.keywordPatternRe.exec(P0)}U+=P0.substring(p),S0.addText(U)}function H0(){if(P0==="")return;let p=null;if(typeof J0.subLanguage==="string"){if(!J[J0.subLanguage]){S0.addText(P0);return}p=K(J0.subLanguage,P0,!0,n0[J0.subLanguage]),n0[J0.subLanguage]=p._top}else p=y(P0,J0.subLanguage.length?J0.subLanguage:null);if(J0.relevance>0)K9+=p.relevance;S0.__addSublanguage(p._emitter,p.language)}function O0(){if(J0.subLanguage!=null)H0();else $0();P0=""}function X0(p,t){if(p==="")return;S0.startScope(t),S0.addText(p),S0.endScope()}function N(p,t){let U=1,C=t.length-1;while(U<=C){if(!p._emit[U]){U++;continue}let m=M0.classNameAliases[p[U]]||p[U],V=t[U];if(m)X0(V,m);else P0=V,$0(),P0="";U++}}function x(p,t){if(p.scope&&typeof p.scope==="string")S0.openNode(M0.classNameAliases[p.scope]||p.scope);if(p.beginScope){if(p.beginScope._wrap)X0(P0,M0.classNameAliases[p.beginScope._wrap]||p.beginScope._wrap),P0="";else if(p.beginScope._multi)N(p.beginScope,t),P0=""}return J0=Object.create(p,{parent:{value:J0}}),J0}function a(p,t,U){let C=e1(p.endRe,U);if(C){if(p["on:end"]){let m=new EZ(p);if(p["on:end"](t,m),m.isMatchIgnored)C=!1}if(C){while(p.endsParent&&p.parent)p=p.parent;return p}}if(p.endsWithParent)return a(p.parent,t,U)}function r(p){if(J0.matcher.regexIndex===0)return P0+=p[0],1;else return M9=!0,0}function W0(p){let t=p[0],U=p.rule,C=new EZ(U),m=[U.__beforeBegin,U["on:begin"]];for(let V of m){if(!V)continue;if(V(p,C),C.isMatchIgnored)return r(t)}if(U.skip)P0+=t;else{if(U.excludeBegin)P0+=t;if(O0(),!U.returnBegin&&!U.excludeBegin)P0=t}return x(U,p),U.returnBegin?0:t.length}function B0(p){let t=p[0],U=M.substring(p.index),C=a(J0,p,U);if(!C)return G4;let m=J0;if(J0.endScope&&J0.endScope._wrap)O0(),X0(t,J0.endScope._wrap);else if(J0.endScope&&J0.endScope._multi)O0(),N(J0.endScope,p);else if(m.skip)P0+=t;else{if(!(m.returnEnd||m.excludeEnd))P0+=t;if(O0(),m.excludeEnd)P0=t}do{if(J0.scope)S0.closeNode();if(!J0.skip&&!J0.subLanguage)K9+=J0.relevance;J0=J0.parent}while(J0!==C.parent);if(C.starts)x(C.starts,p);return m.returnEnd?0:t.length}function Z0(){let p=[];for(let t=J0;t!==M0;t=t.parent)if(t.scope)p.unshift(t.scope);p.forEach((t)=>S0.openNode(t))}let E={};function i(p,t){let U=t&&t[0];if(P0+=p,U==null)return O0(),0;if(E.type==="begin"&&t.type==="end"&&E.index===t.index&&U===""){if(P0+=M.slice(t.index,t.index+1),!q){let C=new Error(`0 width match regex (${g})`);throw C.languageName=g,C.badRule=E.rule,C}return 1}if(E=t,t.type==="begin")return W0(t);else if(t.type==="illegal"&&!O){let C=new Error('Illegal lexeme "'+U+'" for mode "'+(J0.scope||"<unnamed>")+'"');throw C.mode=J0,C}else if(t.type==="end"){let C=B0(t);if(C!==G4)return C}if(t.type==="illegal"&&U==="")return P0+=`
|
|
3
|
+
`,1;if(_9>1e5&&_9>t.index*3)throw new Error("potential infinite loop, way more iterations than matches");return P0+=U,U.length}let M0=T(g);if(!M0)throw W9(X.replace("{}",g)),new Error('Unknown language: "'+g+'"');let G0=I7(M0),d0="",J0=I||G0,n0={},S0=new F.__emitter(F);Z0();let P0="",K9=0,r0=0,_9=0,M9=!1;try{if(!M0.__emitTokens){J0.matcher.considerAll();for(;;){if(_9++,M9)M9=!1;else J0.matcher.considerAll();J0.matcher.lastIndex=r0;let p=J0.matcher.exec(M);if(!p)break;let t=M.substring(r0,p.index),U=i(t,p);r0=p.index+U}i(M.substring(r0))}else M0.__emitTokens(M,S0);return S0.finalize(),d0=S0.toHTML(),{language:g,value:d0,relevance:K9,illegal:!1,_emitter:S0,_top:J0}}catch(p){if(p.message&&p.message.includes("Illegal"))return{language:g,value:pZ(M),illegal:!0,relevance:0,_illegalBy:{message:p.message,index:r0,context:M.slice(r0-100,r0+100),mode:p.mode,resultSoFar:d0},_emitter:S0};else if(q)return{language:g,value:pZ(M),illegal:!1,relevance:0,errorRaised:p,_emitter:S0,_top:J0};else throw p}}function v(g){let M={value:pZ(g),illegal:!1,relevance:0,_top:W,_emitter:new F.__emitter(F)};return M._emitter.addText(g),M}function y(g,M){M=M||F.languages||Object.keys(J);let O=v(g),I=M.filter(T).filter(b).map((O0)=>K(O0,g,!1));I.unshift(O);let o=I.sort((O0,X0)=>{if(O0.relevance!==X0.relevance)return X0.relevance-O0.relevance;if(O0.language&&X0.language){if(T(O0.language).supersetOf===X0.language)return 1;else if(T(X0.language).supersetOf===O0.language)return-1}return 0}),[e,$0]=o,H0=e;return H0.secondBest=$0,H0}function w(g,M,O){let I=M&&z[M]||O;g.classList.add("hljs"),g.classList.add(`language-${I}`)}function _(g){let M=null,O=H(g);if(G(O))return;if(Q0("before:highlightElement",{el:g,language:O}),g.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",g);return}if(g.children.length>0){if(!F.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(g);if(F.throwUnescapedHTML)throw new M4("One of your code blocks includes unescaped HTML.",g.innerHTML)}M=g;let I=M.textContent,o=O?Y(I,{language:O,ignoreIllegals:!0}):y(I);if(g.innerHTML=o.value,g.dataset.highlighted="yes",w(g,O,o.language),g.result={language:o.language,re:o.relevance,relevance:o.relevance},o.secondBest)g.secondBest={language:o.secondBest.language,relevance:o.secondBest.relevance};Q0("after:highlightElement",{el:g,result:o,text:I})}function A(g){F=H4(F,g)}let f=()=>{B(),P9("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function R(){B(),P9("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let L=!1;function B(){function g(){B()}if(document.readyState==="loading"){if(!L)window.addEventListener("DOMContentLoaded",g,!1);L=!0;return}document.querySelectorAll(F.cssSelector).forEach(_)}function k(g,M){let O=null;try{O=M(Z)}catch(I){if(W9("Language definition for '{}' could not be registered.".replace("{}",g)),!q)throw I;else W9(I);O=W}if(!O.name)O.name=g;if(J[g]=O,O.rawDefinition=M.bind(null,Z),O.aliases)d(O.aliases,{languageName:g})}function P(g){delete J[g];for(let M of Object.keys(z))if(z[M]===g)delete z[M]}function S(){return Object.keys(J)}function T(g){return g=(g||"").toLowerCase(),J[g]||J[z[g]]}function d(g,{languageName:M}){if(typeof g==="string")g=[g];g.forEach((O)=>{z[O.toLowerCase()]=M})}function b(g){let M=T(g);return M&&!M.disableAutodetect}function h(g){if(g["before:highlightBlock"]&&!g["before:highlightElement"])g["before:highlightElement"]=(M)=>{g["before:highlightBlock"](Object.assign({block:M.el},M))};if(g["after:highlightBlock"]&&!g["after:highlightElement"])g["after:highlightElement"]=(M)=>{g["after:highlightBlock"](Object.assign({block:M.el},M))}}function n(g){h(g),$.push(g)}function u(g){let M=$.indexOf(g);if(M!==-1)$.splice(M,1)}function Q0(g,M){let O=g;$.forEach(function(I){if(I[O])I[O](M)})}function U0(g){return P9("10.7.0","highlightBlock will be removed entirely in v12.0"),P9("10.7.0","Please use highlightElement now."),_(g)}Object.assign(Z,{highlight:Y,highlightAuto:y,highlightAll:B,highlightElement:_,highlightBlock:U0,configure:A,initHighlighting:f,initHighlightingOnLoad:R,registerLanguage:k,unregisterLanguage:P,listLanguages:S,getLanguage:T,registerAliases:d,autoDetection:b,inherit:H4,addPlugin:n,removePlugin:u}),Z.debugMode=function(){q=!1},Z.safeMode=function(){q=!0},Z.versionString=x7,Z.regex={concat:F9,lookahead:B4,either:cZ,optional:o1,anyNumberOfTimes:t1};for(let g in t9)if(typeof t9[g]==="object")K4(t9[g]);return Object.assign(Z,t9),Z},C9=N4({});C9.newInstance=()=>N4({});f4.exports=C9;C9.HighlightJS=C9;C9.default=C9});var g4=K0((JQ,V4)=>{function D7(Z){let J=Z.regex,z=J.concat(/[\p{L}_]/u,J.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),$=/[\p{L}0-9._:-]+/u,q={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},X={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},W=Z.inherit(X,{begin:/\(/,end:/\)/}),F=Z.inherit(Z.APOS_STRING_MODE,{className:"string"}),G=Z.inherit(Z.QUOTE_STRING_MODE,{className:"string"}),H={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:$,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[q]},{begin:/'/,end:/'/,contains:[q]},{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:[X,G,F,W,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[X,W,G,F]}]}]},Z.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},q,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[G]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[H],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[H],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:J.concat(/</,J.lookahead(J.concat(z,J.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:z,relevance:0,starts:H}]},{className:"tag",begin:J.concat(/<\//,J.lookahead(J.concat(z,/>/))),contains:[{className:"name",begin:z,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}V4.exports=D7});var S4=K0((zQ,b4)=>{function u7(Z){let J=Z.regex,z={},$={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[z]}]};Object.assign(z,{className:"variable",variants:[{begin:J.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},$]});let q={className:"subst",begin:/\$\(/,end:/\)/,contains:[Z.BACKSLASH_ESCAPE]},X=Z.inherit(Z.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),W={begin:/<<-?\s*(?=\w+)/,starts:{contains:[Z.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},F={className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,z,q]};q.contains.push(F);let G={match:/\\"/},H={className:"string",begin:/'/,end:/'/},Y={match:/\\'/},K={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},Z.NUMBER_MODE,z]},v=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=Z.SHEBANG({binary:`(${v.join("|")})`,relevance:10}),w={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[Z.inherit(Z.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},_=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],A=["true","false"],f={match:/(\/[a-z._-]+)+/},R=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],L=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["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"],k=["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","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:_,literal:A,built_in:[...R,...L,"set","shopt",...B,...k]},contains:[y,Z.SHEBANG(),w,K,X,W,f,F,G,H,Y,z]}}b4.exports=u7});var I4=K0((QQ,R4)=>{function h7(Z){let J=Z.regex,z=Z.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(decltype\\(auto\\)|"+J.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+J.optional("<[^<>]+>")+")",F={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},G="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",H={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},Z.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},Y={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},K={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(H,{className:"string"}),{className:"string",begin:/<.*?>/},z,Z.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE,relevance:0},y=J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},f=[K,F,z,Z.C_BLOCK_COMMENT_MODE,Y,H],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:f.concat([{begin:/\(/,end:/\)/,keywords:A,contains:f.concat(["self"]),relevance:0}]),relevance:0},L={begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:A,relevance:0},{begin:y,returnBegin:!0,contains:[Z.inherit(v,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[z,Z.C_BLOCK_COMMENT_MODE,H,Y,F,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",z,Z.C_BLOCK_COMMENT_MODE,H,Y,F]}]},F,z,Z.C_BLOCK_COMMENT_MODE,K]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"</",contains:[].concat(R,L,f,[K,{begin:Z.IDENT_RE+"::",keywords:A},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},Z.TITLE_MODE]}]),exports:{preprocessor:K,strings:H,keywords:A}}}R4.exports=h7});var x4=K0(($Q,T4)=>{function m7(Z){let J=Z.regex,z=Z.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$="decltype\\(auto\\)",q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(?!struct)(decltype\\(auto\\)|"+J.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+J.optional("<[^<>]+>")+")",F={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},G="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",H={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},Z.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},Y={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},K={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(H,{className:"string"}),{className:"string",begin:/<.*?>/},z,Z.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE,relevance:0},y=J.optional("[a-zA-Z_]\\w*::")+Z.IDENT_RE+"\\s*\\(",w=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],_=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],f=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],B={type:_,keyword:w,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},k={className:"function.dispatch",relevance:0,keywords:{_hint:f},begin:J.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,Z.IDENT_RE,J.lookahead(/(<[^<>]+>|)\s*\(/))},P=[k,K,F,z,Z.C_BLOCK_COMMENT_MODE,Y,H],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:P.concat([{begin:/\(/,end:/\)/,keywords:B,contains:P.concat(["self"]),relevance:0}]),relevance:0},T={className:"function",begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:B,relevance:0},{begin:y,returnBegin:!0,contains:[v],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[H,Y]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[z,Z.C_BLOCK_COMMENT_MODE,H,Y,F,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",z,Z.C_BLOCK_COMMENT_MODE,H,Y,F]}]},F,z,Z.C_BLOCK_COMMENT_MODE,K]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(S,T,k,P,[K,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",F]},{begin:Z.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}T4.exports=m7});var D4=K0((qQ,j4)=>{function p7(Z){let J=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],z=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],$=["default","false","null","true"],q=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],X=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],W={keyword:q.concat(X),built_in:J,literal:$},F=Z.inherit(Z.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),G={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},H={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},Y={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},K=Z.inherit(Y,{illegal:/\n/}),v={className:"subst",begin:/\{/,end:/\}/,keywords:W},y=Z.inherit(v,{illegal:/\n/}),w={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},Z.BACKSLASH_ESCAPE,y]},_={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},v]},A=Z.inherit(_,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});v.contains=[_,w,Y,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,G,Z.C_BLOCK_COMMENT_MODE],y.contains=[A,w,K,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,G,Z.inherit(Z.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let f={variants:[H,_,w,Y,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},R={begin:"<",end:">",contains:[{beginKeywords:"in out"},F]},L=Z.IDENT_RE+"(<"+Z.IDENT_RE+"(\\s*,\\s*"+Z.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+Z.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:W,illegal:/::/,contains:[Z.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},f,G,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},F,R,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[F,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[F,R,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+L+"\\s+)+"+Z.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:W,contains:[{beginKeywords:z.join(" "),relevance:0},{begin:Z.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[Z.TITLE_MODE,R],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,relevance:0,contains:[f,G,Z.C_BLOCK_COMMENT_MODE]},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},B]}}j4.exports=p7});var h4=K0((XQ,u4)=>{var E7=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},i7=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],c7=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],d7=[...i7,...c7],a7=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),n7=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),r7=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),l7=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function t7(Z){let J=Z.regex,z=E7(Z),$={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},q="and or not only",X=/@-?\w[\w]*(-\w+)*/,W="[a-zA-Z-][a-zA-Z0-9_-]*",F=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[z.BLOCK_COMMENT,$,z.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},z.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+n7.join("|")+")"},{begin:":(:)?("+r7.join("|")+")"}]},z.CSS_VARIABLE,{className:"attribute",begin:"\\b("+l7.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[z.BLOCK_COMMENT,z.HEXCOLOR,z.IMPORTANT,z.CSS_NUMBER_MODE,...F,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...F,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},z.FUNCTION_DISPATCH]},{begin:J.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:X},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:a7.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...F,z.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+d7.join("|")+")\\b"}]}}u4.exports=t7});var p4=K0((WQ,m4)=>{function o7(Z){let J=Z.regex,z={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},$={begin:"^[-\\*]{3,}",end:"$"},q={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},X={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},W={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},F=/[A-Za-z][A-Za-z0-9+.-]*/,G={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:J.concat(/\[.+?\]\(/,F,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},H={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},Y={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},K=Z.inherit(H,{contains:[]}),v=Z.inherit(Y,{contains:[]});H.contains.push(v),Y.contains.push(K);let y=[z,G];return[H,Y,K,v].forEach((f)=>{f.contains=f.contains.concat(y)}),y=y.concat(H,Y),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},z,X,H,Y,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},q,$,G,W,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}m4.exports=o7});var i4=K0((FQ,E4)=>{function s7(Z){let J=Z.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:J.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:J.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}E4.exports=s7});var d4=K0((HQ,c4)=>{function e7(Z){let J=Z.regex,z="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",$=J.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),q=J.concat($,/(::\w+)*/),W={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},F={className:"doctag",begin:"@[A-Za-z]+"},G={begin:"#<",end:">"},H=[Z.COMMENT("#","$",{contains:[F]}),Z.COMMENT("^=begin","^=end",{contains:[F],relevance:10}),Z.COMMENT("^__END__",Z.MATCH_NOTHING_RE)],Y={className:"subst",begin:/#\{/,end:/\}/,keywords:W},K={className:"string",contains:[Z.BACKSLASH_ESCAPE,Y],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:J.concat(/<<[-~]?'?/,J.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[Z.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[Z.BACKSLASH_ESCAPE,Y]})]}]},v="[1-9](_?[0-9])*|0",y="[0-9](_?[0-9])*",w={className:"number",relevance:0,variants:[{begin:"\\b([1-9](_?[0-9])*|0)(\\.([0-9](_?[0-9])*))?([eE][+-]?([0-9](_?[0-9])*)|r)?i?\\b"},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},_={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:W}]},P=[K,{variants:[{match:[/class\s+/,q,/\s+<\s+/,q]},{match:[/\b(class|module)\s+/,q]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:W},{match:[/(include|extend)\s+/,q],scope:{2:"title.class"},keywords:W},{relevance:0,match:[q,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:$,scope:"title.class"},{match:[/def/,/\s+/,"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"],scope:{1:"keyword",3:"title.function"},contains:[_]},{begin:Z.IDENT_RE+"::"},{className:"symbol",begin:Z.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[K,{begin:"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"}],relevance:0},w,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:W},{begin:"("+Z.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[Z.BACKSLASH_ESCAPE,Y],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(G,H),relevance:0}].concat(G,H);Y.contains=P,_.contains=P;let S="[>?]>",T="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",d="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",b=[{begin:/^\s*=>/,starts:{end:"$",contains:P}},{className:"meta.prompt",begin:"^("+S+"|"+T+"|"+d+")(?=[ ])",starts:{end:"$",keywords:W,contains:P}}];return H.unshift(G),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:W,illegal:/\/\*/,contains:[Z.SHEBANG({binary:"ruby"})].concat(b).concat(H).concat(P)}}c4.exports=e7});var n4=K0((GQ,a4)=>{function ZJ(Z){let X={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:X,illegal:"</",contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{className:"string",variants:[Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[Z.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:X,illegal:/["']/}]}]}}a4.exports=ZJ});var l4=K0((KQ,r4)=>{function JJ(Z){let J=Z.regex,z=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[Z.HASH_COMMENT_MODE,Z.QUOTE_STRING_MODE,Z.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:J.concat(z,J.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}r4.exports=JJ});var o4=K0((YQ,t4)=>{function zJ(Z){let J=Z.regex,z={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:Z.NUMBER_RE}]},$=Z.COMMENT();$.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let q={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},X={className:"literal",begin:/\bon|off|true|false|yes|no\b/},W={className:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},F={begin:/\[/,end:/\]/,contains:[$,X,q,W,z,"self"],relevance:0},G=/[A-Za-z0-9_-]+/,H=/"(\\"|[^"])*"/,Y=/'[^']*'/,K=J.either(G,H,Y),v=J.concat(K,"(\\s*\\.\\s*",K,")*",J.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[$,{className:"section",begin:/\[+/,end:/\]+/},{begin:v,className:"attr",starts:{end:/$/,contains:[$,F,X,q,W,z]}}]}}t4.exports=zJ});var J5=K0((UQ,Z5)=>{var v9="[0-9](_*[0-9])*",e9=`\\.(${v9})`,ZZ="[0-9a-fA-F](_*[0-9a-fA-F])*",s4={className:"number",variants:[{begin:`(\\b(${v9})((${e9})|\\.)?|(${e9}))[eE][+-]?(${v9})[fFdD]?\\b`},{begin:`\\b(${v9})((${e9})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${e9})[fFdD]?\\b`},{begin:`\\b(${v9})[fFdD]\\b`},{begin:`\\b0[xX]((${ZZ})\\.?|(${ZZ})?\\.(${ZZ}))[pP][+-]?(${v9})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ZZ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function e4(Z,J,z){if(z===-1)return"";return Z.replace(J,($)=>{return e4(Z,J,z-1)})}function QJ(Z){let J=Z.regex,z="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",$="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+e4("(?:<"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~(?:\\s*,\\s*"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~)*>)?",/~~~/g,2),G={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","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},H={className:"meta",begin:"@"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},Y={className:"params",begin:/\(/,end:/\)/,keywords:G,relevance:0,contains:[Z.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:G,illegal:/<\/|#/,contains:[Z.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[Z.BACKSLASH_ESCAPE]},Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[J.concat(/(?!else)/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"),/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"},contains:[Y,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+$+"\\s+)",Z.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:G,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:G,relevance:0,contains:[H,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,s4,Z.C_BLOCK_COMMENT_MODE]},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},s4,H]}}Z5.exports=QJ});var X5=K0((yQ,q5)=>{var $J=["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","using"],qJ=["true","false","null","undefined","NaN","Infinity"],z5=["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"],Q5=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],$5=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],XJ=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],WJ=[].concat($5,z5,Q5);function FJ(Z){let J=Z.regex,z=(O,{after:I})=>{let o="</"+O[0].slice(1);return O.input.indexOf(o,I)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,I)=>{let o=O[0].length+O.index,e=O.input[o];if(e==="<"||e===","){I.ignoreMatch();return}if(e===">"){if(!z(O,{after:o}))I.ignoreMatch()}let $0,H0=O.input.substring(o);if($0=H0.match(/^\s*=/)){I.ignoreMatch();return}if($0=H0.match(/^\s+extends\s+/)){if($0.index===0){I.ignoreMatch();return}}}},F={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:$J,literal:qJ,built_in:WJ,"variable.language":XJ},G="[0-9](_?[0-9])*",H="\\.([0-9](_?[0-9])*)",Y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",K={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\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},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:F,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,v],subLanguage:"css"}},_={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE,v]},R={className:"comment",variants:[Z.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:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Z.C_BLOCK_COMMENT_MODE,Z.C_LINE_COMMENT_MODE]},L=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,w,_,A,{match:/\$\d+/},K];v.contains=L.concat({begin:/\{/,end:/\}/,keywords:F,contains:["self"].concat(L)});let B=[].concat(R,v.contains),k=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:F,contains:["self"].concat(B)}]),P={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:F,contains:k},S={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,J.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",J.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:J.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:{_:[...z5,...Q5]}},d={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},b={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[P],illegal:/%/},h={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function n(O){return J.concat("(?!",O.join("|"),")")}let u={match:J.concat(/\b/,n([...$5,"super","import"].map((O)=>`${O}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\(/)),className:"title.function",relevance:0},Q0={begin:J.concat(/\./,J.lookahead(J.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},U0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},P]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Z.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,J.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[P]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:F,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[Z.SHEBANG({label:"shebang",binary:"node",relevance:5}),d,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,w,_,A,R,{match:/\$\d+/},K,T,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+J.lookahead(":"),relevance:0},M,{begin:"("+Z.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,Z.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Z.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:F,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:q.begin,end:q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},b,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Z.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[P,Z.inherit(Z.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},Q0,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[P]},u,h,S,U0,{match:/\$[(.]/}]}}q5.exports=FJ});var F5=K0((BQ,W5)=>{function HJ(Z){let J={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},z={match:/[{}[\],:]/,className:"punctuation",relevance:0},$=["true","false","null"],q={scope:"literal",beginKeywords:$.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:$},contains:[J,z,Z.QUOTE_STRING_MODE,q,Z.C_NUMBER_MODE,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}W5.exports=HJ});var G5=K0((wQ,H5)=>{var A9="[0-9](_*[0-9])*",JZ=`\\.(${A9})`,zZ="[0-9a-fA-F](_*[0-9a-fA-F])*",GJ={className:"number",variants:[{begin:`(\\b(${A9})((${JZ})|\\.)?|(${JZ}))[eE][+-]?(${A9})[fFdD]?\\b`},{begin:`\\b(${A9})((${JZ})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${JZ})[fFdD]?\\b`},{begin:`\\b(${A9})[fFdD]\\b`},{begin:`\\b0[xX]((${zZ})\\.?|(${zZ})?\\.(${zZ}))[pP][+-]?(${A9})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${zZ})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function KJ(Z){let J={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},z={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},$={className:"symbol",begin:Z.UNDERSCORE_IDENT_RE+"@"},q={className:"subst",begin:/\$\{/,end:/\}/,contains:[Z.C_NUMBER_MODE]},X={className:"variable",begin:"\\$"+Z.UNDERSCORE_IDENT_RE},W={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[X,q]},{begin:"'",end:"'",illegal:/\n/,contains:[Z.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[Z.BACKSLASH_ESCAPE,X,q]}]};q.contains.push(W);let F={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+Z.UNDERSCORE_IDENT_RE+")?"},G={className:"meta",begin:"@"+Z.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[Z.inherit(W,{className:"string"}),"self"]}]},H=GJ,Y=Z.COMMENT("/\\*","\\*/",{contains:[Z.C_BLOCK_COMMENT_MODE]}),K={variants:[{className:"type",begin:Z.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},v=K;return v.variants[1].contains=[K],K.variants[1].contains=[v],{name:"Kotlin",aliases:["kt","kts"],keywords:J,contains:[Z.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),Z.C_LINE_COMMENT_MODE,Y,z,$,F,G,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:J,relevance:5,contains:[{begin:Z.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[Z.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:J,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[K,Z.C_LINE_COMMENT_MODE,Y],relevance:0},Z.C_LINE_COMMENT_MODE,Y,F,G,W,Z.C_NUMBER_MODE]},Y]},{begin:[/class|interface|trait/,/\s+/,Z.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},Z.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},F,G]},W,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
4
|
+
`},H]}}H5.exports=KJ});var y5=K0((LQ,U5)=>{var YJ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},UJ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],yJ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],BJ=[...UJ,...yJ],wJ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),K5=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Y5=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),LJ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),PJ=K5.concat(Y5).sort().reverse();function CJ(Z){let J=YJ(Z),z=PJ,$="and or not only",q="[\\w-]+",X="([\\w-]+|@\\{[\\w-]+\\})",W=[],F=[],G=function(L){return{className:"string",begin:"~?"+L+".*?"+L}},H=function(L,B,k){return{className:L,begin:B,relevance:k}},Y={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:wJ.join(" ")},K={begin:"\\(",end:"\\)",contains:F,keywords:Y,relevance:0};F.push(Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,G("'"),G('"'),J.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},J.HEXCOLOR,K,H("variable","@@?[\\w-]+",10),H("variable","@\\{[\\w-]+\\}"),H("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},J.IMPORTANT,{beginKeywords:"and not"},J.FUNCTION_DISPATCH);let v=F.concat({begin:/\{/,end:/\}/,contains:W}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(F)},w={begin:X+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},J.CSS_VARIABLE,{className:"attribute",begin:"\\b("+LJ.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:F}}]},_={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:Y,returnEnd:!0,contains:F,relevance:0}},A={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:v}},f={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:X,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,y,H("keyword","all\\b"),H("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+BJ.join("|")+")\\b",className:"selector-tag"},J.CSS_NUMBER_MODE,H("selector-tag",X,0),H("selector-id","#"+X),H("selector-class","\\."+X,0),H("selector-tag","&",0),J.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+K5.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Y5.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:v},{begin:"!important"},J.FUNCTION_DISPATCH]},R={begin:`[\\w-]+:(:)?(${z.join("|")})`,returnBegin:!0,contains:[f]};return W.push(Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,_,A,R,w,f,y,J.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:W}}U5.exports=CJ});var w5=K0((PQ,B5)=>{function vJ(Z){let $={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},q=[Z.COMMENT("--(?!\\[=*\\[)","$"),Z.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[$],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:Z.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:q.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[Z.inherit(Z.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:q}].concat(q)},Z.C_NUMBER_MODE,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[$],relevance:5}])}}B5.exports=vJ});var P5=K0((CQ,L5)=>{function AJ(Z){let J={className:"variable",variants:[{begin:"\\$\\("+Z.UNDERSCORE_IDENT_RE+"\\)",contains:[Z.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},z={className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,J]},$={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[J,z]},q={begin:"^"+Z.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},X={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},W={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[J]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[Z.HASH_COMMENT_MODE,J,z,$,q,X,W]}}L5.exports=AJ});var v5=K0((vQ,C5)=>{function OJ(Z){let J=Z.regex,z=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],$=/[dualxmsipngr]{0,12}/,q={$pattern:/[\w.]+/,keyword:z.join(" ")},X={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:q},W={begin:/->\{/,end:/\}/},F={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},G={scope:"variable",variants:[{begin:/\$\d/},{begin:J.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[F]},H={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},Y=[Z.BACKSLASH_ESCAPE,X,G],K=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],v=(_,A,f="\\1")=>{let R=f==="\\1"?f:J.concat(f,A);return J.concat(J.concat("(?:",_,")"),A,/(?:\\.|[^\\\/])*?/,R,/(?:\\.|[^\\\/])*?/,f,$)},y=(_,A,f)=>{return J.concat(J.concat("(?:",_,")"),A,/(?:\\.|[^\\\/])*?/,f,$)},w=[G,Z.HASH_COMMENT_MODE,Z.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),W,{className:"string",contains:Y,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[Z.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},H,{begin:"(\\/\\/|"+Z.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[Z.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:v("s|tr|y",J.either(...K,{capture:!0}))},{begin:v("s|tr|y","\\(","\\)")},{begin:v("s|tr|y","\\[","\\]")},{begin:v("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",J.either(...K,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[Z.TITLE_MODE,F]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[Z.TITLE_MODE,F,H]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return X.contains=w,W.contains=w,{name:"Perl",aliases:["pl","pm"],keywords:q,contains:w}}C5.exports=OJ});var O5=K0((AQ,A5)=>{function _J(Z){let J={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},z=/[a-zA-Z@][a-zA-Z0-9_]*/,F={"variable.language":["this","super"],$pattern:z,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},G={$pattern:z,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:F,illegal:"</",contains:[J,Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,Z.C_NUMBER_MODE,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[Z.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Z.inherit(Z.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+G.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:G,contains:[Z.UNDERSCORE_TITLE_MODE]},{begin:"\\."+Z.UNDERSCORE_IDENT_RE,relevance:0}]}}A5.exports=_J});var M5=K0((OQ,_5)=>{function MJ(Z){let J=Z.regex,z=/(?![A-Za-z0-9])(?![$])/,$=J.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,z),q=J.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,z),X=J.concat(/[A-Z]+/,z),W={scope:"variable",match:"\\$+"+$},F={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:0.1},{begin:/\?>/}]},G={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},H=Z.inherit(Z.APOS_STRING_MODE,{illegal:null}),Y=Z.inherit(Z.QUOTE_STRING_MODE,{illegal:null,contains:Z.QUOTE_STRING_MODE.contains.concat(G)}),K={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:Z.QUOTE_STRING_MODE.contains.concat(G),"on:begin":(Q0,U0)=>{U0.data._beginMatch=Q0[1]||Q0[2]},"on:end":(Q0,U0)=>{if(U0.data._beginMatch!==Q0[1])U0.ignoreMatch()}},v=Z.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
|
|
5
|
+
]`,w={scope:"string",variants:[Y,H,K,v]},_={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},A=["false","null","true"],f=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],R=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],B={keyword:f,literal:((Q0)=>{let U0=[];return Q0.forEach((g)=>{if(U0.push(g),g.toLowerCase()===g)U0.push(g.toUpperCase());else U0.push(g.toLowerCase())}),U0})(A),built_in:R},k=(Q0)=>{return Q0.map((U0)=>{return U0.replace(/\|\d+$/,"")})},P={variants:[{match:[/new/,J.concat(`[
|
|
6
|
+
]`,"+"),J.concat("(?!",k(R).join("\\b|"),"\\b)"),q],scope:{1:"keyword",4:"title.class"}}]},S=J.concat($,"\\b(?!\\()"),T={variants:[{match:[J.concat(/::/,J.lookahead(/(?!class\b)/)),S],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[q,J.concat(/::/,J.lookahead(/(?!class\b)/)),S],scope:{1:"title.class",3:"variable.constant"}},{match:[q,J.concat("::",J.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[q,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},d={scope:"attr",match:J.concat($,J.lookahead(":"),J.lookahead(/(?!::)/))},b={relevance:0,begin:/\(/,end:/\)/,keywords:B,contains:[d,W,T,Z.C_BLOCK_COMMENT_MODE,w,_,P]},h={relevance:0,match:[/\b/,J.concat("(?!fn\\b|function\\b|",k(f).join("\\b|"),"|",k(R).join("\\b|"),"\\b)"),$,J.concat(`[
|
|
7
|
+
]`,"*"),J.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[b]};b.contains.push(h);let n=[d,T,Z.C_BLOCK_COMMENT_MODE,w,_,P],u={begin:J.concat(/#\[\s*\\?/,J.either(q,X)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:A,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:A,keyword:["new","array"]},contains:["self",...n]},...n,{scope:"meta",variants:[{match:q},{match:X}]}]};return{case_insensitive:!1,keywords:B,contains:[u,Z.HASH_COMMENT_MODE,Z.COMMENT("//","$"),Z.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:Z.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},F,{scope:"variable.language",match:/\$this\b/},W,h,T,{match:[/const/,/\s/,$],scope:{1:"keyword",3:"variable.constant"}},P,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},Z.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:B,contains:["self",u,W,T,Z.C_BLOCK_COMMENT_MODE,w,_]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},Z.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[Z.inherit(Z.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},Z.UNDERSCORE_TITLE_MODE]},w,_]}}_5.exports=MJ});var f5=K0((_Q,N5)=>{function NJ(Z){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},Z.inherit(Z.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),Z.inherit(Z.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}N5.exports=NJ});var V5=K0((MQ,k5)=>{function fJ(Z){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}k5.exports=fJ});var b5=K0((NQ,g5)=>{function kJ(Z){let J=Z.regex,z=/[\p{XID_Start}_]\p{XID_Continue}*/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"],F={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:$,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"]},G={className:"meta",begin:/^(>>>|\.\.\.) /},H={className:"subst",begin:/\{/,end:/\}/,keywords:F,illegal:/#/},Y={begin:/\{\{/,relevance:0},K={className:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[Z.BACKSLASH_ESCAPE,G],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[Z.BACKSLASH_ESCAPE,G],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[Z.BACKSLASH_ESCAPE,G,Y,H]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[Z.BACKSLASH_ESCAPE,G,Y,H]},{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:[Z.BACKSLASH_ESCAPE,Y,H]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE,Y,H]},Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},v="[0-9](_?[0-9])*",y="(\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.",w=`\\b|${$.join("|")}`,_={className:"number",relevance:0,variants:[{begin:`(\\b([0-9](_?[0-9])*)|((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.))[eE][+-]?([0-9](_?[0-9])*)[jJ]?(?=${w})`},{begin:"((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.)[jJ]?"},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${w})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${w})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${w})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${w})`},{begin:`\\b([0-9](_?[0-9])*)[jJ](?=${w})`}]},A={className:"comment",begin:J.lookahead(/# type:/),end:/$/,keywords:F,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},f={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:F,contains:["self",G,_,K,Z.HASH_COMMENT_MODE]}]};return H.contains=[K,_,G],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:F,illegal:/(<\/|\?)|=>/,contains:[G,_,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},K,A,Z.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,z],scope:{1:"keyword",3:"title.function"},contains:[f]},{variants:[{match:[/\bclass/,/\s+/,z,/\s*/,/\(\s*/,z,/\s*\)/]},{match:[/\bclass/,/\s+/,z]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[_,f,K]}]}}g5.exports=kJ});var R5=K0((fQ,S5)=>{function VJ(Z){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}S5.exports=VJ});var T5=K0((kQ,I5)=>{function gJ(Z){let J=Z.regex,z=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,$=J.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),q=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,X=J.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:z,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[Z.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:J.lookahead(J.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:z},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),Z.HASH_COMMENT_MODE,{scope:"string",contains:[Z.BACKSLASH_ESCAPE],variants:[Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),Z.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[q,$]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,$]},{scope:{1:"punctuation",2:"number"},match:[X,$]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,$]}]},{scope:{3:"operator"},match:[z,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:q},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:X},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}I5.exports=gJ});var j5=K0((VQ,x5)=>{function bJ(Z){let J=Z.regex,z=/(r#)?/,$=J.concat(z,Z.UNDERSCORE_IDENT_RE),q=J.concat(z,Z.IDENT_RE),X={className:"title.function.invoke",relevance:0,begin:J.concat(/\b/,/(?!let|for|while|if|else|match\b)/,q,J.lookahead(/\s*\(/))},W="([ui](8|16|32|64|128|size)|f(32|64))?",F=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],G=["true","false","Some","None","Ok","Err"],H=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],Y=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:Z.IDENT_RE+"!?",type:Y,keyword:F,literal:G,built_in:H},illegal:"</",contains:[Z.C_LINE_COMMENT_MODE,Z.COMMENT("/\\*","\\*/",{contains:["self"]}),Z.inherit(Z.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?"}],relevance:0},{begin:[/fn/,/\s+/,$],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[Z.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,$],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,$,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,$],className:{1:"keyword",3:"title.class"}},{begin:Z.IDENT_RE+"::",keywords:{keyword:"Self",built_in:H,type:Y}},{className:"punctuation",begin:"->"},X]}}x5.exports=bJ});var u5=K0((gQ,D5)=>{var SJ=(Z)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Z.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Z.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}},RJ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],IJ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],TJ=[...RJ,...IJ],xJ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),jJ=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),DJ=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),uJ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function hJ(Z){let J=SJ(Z),z=DJ,$=jJ,q="@[a-z-]+",X="and or not only",W="[a-zA-Z-][a-zA-Z0-9_-]*",F={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[Z.C_LINE_COMMENT_MODE,Z.C_BLOCK_COMMENT_MODE,J.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},J.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+TJ.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+$.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+z.join("|")+")"},F,{begin:/\(/,end:/\)/,contains:[J.CSS_NUMBER_MODE]},J.CSS_VARIABLE,{className:"attribute",begin:"\\b("+uJ.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[J.BLOCK_COMMENT,F,J.HEXCOLOR,J.CSS_NUMBER_MODE,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,J.IMPORTANT,J.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:"@[a-z-]+",keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:xJ.join(" ")},contains:[{begin:"@[a-z-]+",className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},F,Z.QUOTE_STRING_MODE,Z.APOS_STRING_MODE,J.HEXCOLOR,J.CSS_NUMBER_MODE]},J.FUNCTION_DISPATCH]}}D5.exports=hJ});var m5=K0((bQ,h5)=>{function mJ(Z){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}h5.exports=mJ});var E5=K0((SQ,p5)=>{function pJ(Z){let J=Z.regex,z=Z.COMMENT("--","$"),$={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},q={begin:/"/,end:/"/,contains:[{match:/""/}]},X=["true","false","unknown"],W=["double precision","large object","with timezone","without timezone"],F=["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"],G=["add","asc","collation","desc","final","first","last","view"],H=["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"],Y=["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"],K=["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"],v=["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"],y=Y,w=[...H,...G].filter((k)=>{return!Y.includes(k)}),_={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},A={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},f={match:J.concat(/\b/,J.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function R(k){return J.concat(/\b/,J.either(...k.map((P)=>{return P.replace(/\s+/,"\\s+")})),/\b/)}let L={scope:"keyword",match:R(v),relevance:0};function B(k,{exceptions:P,when:S}={}){let T=S;return P=P||[],k.map((d)=>{if(d.match(/\|\d+$/)||P.includes(d))return d;else if(T(d))return`${d}|0`;else return d})}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(w,{when:(k)=>k.length<3}),literal:X,type:F,built_in:K},contains:[{scope:"type",match:R(W)},L,f,_,$,q,Z.C_NUMBER_MODE,Z.C_BLOCK_COMMENT_MODE,z,A]}}p5.exports=pJ});var o5=K0((RQ,t5)=>{function a5(Z){if(!Z)return null;if(typeof Z==="string")return Z;return Z.source}function I9(Z){return v0("(?=",Z,")")}function v0(...Z){return Z.map((z)=>a5(z)).join("")}function EJ(Z){let J=Z[Z.length-1];if(typeof J==="object"&&J.constructor===Object)return Z.splice(Z.length-1,1),J;else return{}}function D0(...Z){return"("+(EJ(Z).capture?"":"?:")+Z.map(($)=>a5($)).join("|")+")"}var lZ=(Z)=>v0(/\b/,Z,/\w$/.test(Z)?/\b/:/\B/),iJ=["Protocol","Type"].map(lZ),i5=["init","self"].map(lZ),cJ=["Any","Self"],nZ=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],c5=["false","nil","true"],dJ=["assignment","associativity","higherThan","left","lowerThan","none","right"],aJ=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],d5=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],n5=D0(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),r5=D0(n5,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),rZ=v0(n5,r5,"*"),l5=D0(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),$Z=D0(l5,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),a0=v0(l5,$Z,"*"),QZ=v0(/[A-Z]/,$Z,"*"),nJ=["attached","autoclosure",v0(/convention\(/,D0("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",v0(/objc\(/,a0,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],rJ=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function lJ(Z){let J={match:/\s+/,relevance:0},z=Z.COMMENT("/\\*","\\*/",{contains:["self"]}),$=[Z.C_LINE_COMMENT_MODE,z],q={match:[/\./,D0(...iJ,...i5)],className:{2:"keyword"}},X={match:v0(/\./,D0(...nZ)),relevance:0},W=nZ.filter((G0)=>typeof G0==="string").concat(["_|0"]),F=nZ.filter((G0)=>typeof G0!=="string").concat(cJ).map(lZ),G={variants:[{className:"keyword",match:D0(...F,...i5)}]},H={$pattern:D0(/\b\w+/,/#\w+/),keyword:W.concat(aJ),literal:c5},Y=[q,X,G],K={match:v0(/\./,D0(...d5)),relevance:0},v={className:"built_in",match:v0(/\b/,D0(...d5),/(?=\()/)},y=[K,v],w={match:/->/,relevance:0},_={className:"operator",relevance:0,variants:[{match:rZ},{match:`\\.(\\.|${r5})+`}]},A=[w,_],f="([0-9]_*)+",R="([0-9a-fA-F]_*)+",L={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:"\\b0x(([0-9a-fA-F]_*)+)(\\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\\b"},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},B=(G0="")=>({className:"subst",variants:[{match:v0(/\\/,G0,/[0\\tnr"']/)},{match:v0(/\\/,G0,/u\{[0-9a-fA-F]{1,8}\}/)}]}),k=(G0="")=>({className:"subst",match:v0(/\\/,G0,/[\t ]*(?:[\r\n]|\r\n)/)}),P=(G0="")=>({className:"subst",label:"interpol",begin:v0(/\\/,G0,/\(/),end:/\)/}),S=(G0="")=>({begin:v0(G0,/"""/),end:v0(/"""/,G0),contains:[B(G0),k(G0),P(G0)]}),T=(G0="")=>({begin:v0(G0,/"/),end:v0(/"/,G0),contains:[B(G0),P(G0)]}),d={className:"string",variants:[S(),S("#"),S("##"),S("###"),T(),T("#"),T("##"),T("###")]},b=[Z.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[Z.BACKSLASH_ESCAPE]}],h={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:b},n=(G0)=>{let d0=v0(G0,/\//),J0=v0(/\//,G0);return{begin:d0,end:J0,contains:[...b,{scope:"comment",begin:`#(?!.*${J0})`,end:/$/}]}},u={scope:"regexp",variants:[n("###"),n("##"),n("#"),h]},Q0={match:v0(/`/,a0,/`/)},U0={className:"variable",match:/\$\d+/},g={className:"variable",match:`\\$${$Z}+`},M=[Q0,U0,g],O={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:rJ,contains:[...A,L,d]}]}},I={scope:"keyword",match:v0(/@/,D0(...nJ),I9(D0(/\(/,/\s+/)))},o={scope:"meta",match:v0(/@/,a0)},e=[O,I,o],$0={match:I9(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:v0(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,$Z,"+")},{className:"type",match:QZ,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:v0(/\s+&\s+/,I9(QZ)),relevance:0}]},H0={begin:/</,end:/>/,keywords:H,contains:[...$,...Y,...e,w,$0]};$0.contains.push(H0);let O0={match:v0(a0,/\s*:/),keywords:"_|0",relevance:0},X0={begin:/\(/,end:/\)/,relevance:0,keywords:H,contains:["self",O0,...$,u,...Y,...y,...A,L,d,...M,...e,$0]},N={begin:/</,end:/>/,keywords:"repeat each",contains:[...$,$0]},x={begin:D0(I9(v0(a0,/\s*:/)),I9(v0(a0,/\s+/,a0,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:a0}]},a={begin:/\(/,end:/\)/,keywords:H,contains:[x,...$,...Y,...A,L,d,...e,$0,X0],endsParent:!0,illegal:/["']/},r={match:[/(func|macro)/,/\s+/,D0(Q0.match,a0,rZ)],className:{1:"keyword",3:"title.function"},contains:[N,a,J],illegal:[/\[/,/%/]},W0={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[N,a,J],illegal:/\[|%/},B0={match:[/operator/,/\s+/,rZ],className:{1:"keyword",3:"title"}},Z0={begin:[/precedencegroup/,/\s+/,QZ],className:{1:"keyword",3:"title"},contains:[$0],keywords:[...dJ,...c5],end:/}/},E={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},i={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},M0={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,a0,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:H,contains:[N,...Y,{begin:/:/,end:/\{/,keywords:H,contains:[{scope:"title.class.inherited",match:QZ},...Y],relevance:0}]};for(let G0 of d.variants){let d0=G0.contains.find((n0)=>n0.label==="interpol");d0.keywords=H;let J0=[...Y,...y,...A,L,d,...M];d0.contains=[...J0,{begin:/\(/,end:/\)/,contains:["self",...J0]}]}return{name:"Swift",keywords:H,contains:[...$,r,W0,E,i,M0,B0,Z0,{beginKeywords:"import",end:/$/,contains:[...$],relevance:0},u,...Y,...y,...A,L,d,...M,...e,$0,X0]}}t5.exports=lJ});var e5=K0((IQ,s5)=>{function tJ(Z){let $={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},q={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},X={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},W={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[Z.BACKSLASH_ESCAPE,q]},F=Z.inherit(W,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),G="[0-9]{4}(-[0-9][0-9]){0,2}",H="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",Y="(\\.[0-9]*)?",K="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",v={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:"true false yes no null",relevance:0},w={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},_={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},A=[$,{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+![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!<[\\w#;/?:@&=+$,.~*'()[\\]]+>"},{className:"type",begin:"![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"meta",begin:"&"+Z.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+Z.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},Z.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},v,{className:"number",begin:Z.C_NUMBER_RE+"\\b",relevance:0},w,_,X,W],f=[...A];return f.pop(),f.push(F),y.contains=f,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:A}}s5.exports=tJ});var F6=K0((TQ,W6)=>{var Z6=["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","using"],J6=["true","false","null","undefined","NaN","Infinity"],z6=["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"],Q6=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],$6=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],q6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],X6=[].concat($6,z6,Q6);function oJ(Z){let J=Z.regex,z=(O,{after:I})=>{let o="</"+O[0].slice(1);return O.input.indexOf(o,I)!==-1},$="[A-Za-z$_][0-9A-Za-z$_]*",q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,I)=>{let o=O[0].length+O.index,e=O.input[o];if(e==="<"||e===","){I.ignoreMatch();return}if(e===">"){if(!z(O,{after:o}))I.ignoreMatch()}let $0,H0=O.input.substring(o);if($0=H0.match(/^\s*=/)){I.ignoreMatch();return}if($0=H0.match(/^\s+extends\s+/)){if($0.index===0){I.ignoreMatch();return}}}},F={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:Z6,literal:J6,built_in:X6,"variable.language":q6},G="[0-9](_?[0-9])*",H="\\.([0-9](_?[0-9])*)",Y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",K={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\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},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:F,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,v],subLanguage:"css"}},_={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[Z.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[Z.BACKSLASH_ESCAPE,v]},R={className:"comment",variants:[Z.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:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Z.C_BLOCK_COMMENT_MODE,Z.C_LINE_COMMENT_MODE]},L=[Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,w,_,A,{match:/\$\d+/},K];v.contains=L.concat({begin:/\{/,end:/\}/,keywords:F,contains:["self"].concat(L)});let B=[].concat(R,v.contains),k=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:F,contains:["self"].concat(B)}]),P={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:F,contains:k},S={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,J.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",J.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:J.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:{_:[...z6,...Q6]}},d={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},b={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[P],illegal:/%/},h={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function n(O){return J.concat("(?!",O.join("|"),")")}let u={match:J.concat(/\b/,n([...$6,"super","import"].map((O)=>`${O}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\(/)),className:"title.function",relevance:0},Q0={begin:J.concat(/\./,J.lookahead(J.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},U0={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},P]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Z.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,J.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[P]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:F,exports:{PARAMS_CONTAINS:k,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[Z.SHEBANG({label:"shebang",binary:"node",relevance:5}),d,Z.APOS_STRING_MODE,Z.QUOTE_STRING_MODE,y,w,_,A,R,{match:/\$\d+/},K,T,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+J.lookahead(":"),relevance:0},M,{begin:"("+Z.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,Z.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Z.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:F,contains:k}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:q.begin,end:q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},b,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Z.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[P,Z.inherit(Z.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},Q0,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[P]},u,h,S,U0,{match:/\$[(.]/}]}}function sJ(Z){let J=Z.regex,z=oJ(Z),$="[A-Za-z$_][0-9A-Za-z$_]*",q=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],X={begin:[/namespace/,/\s+/,Z.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},W={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:q},contains:[z.exports.CLASS_REFERENCE]},F={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},G=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:Z6.concat(G),literal:J6,built_in:X6.concat(q),"variable.language":q6},Y={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},K=(_,A,f)=>{let R=_.contains.findIndex((L)=>L.label===A);if(R===-1)throw new Error("can not find mode to replace");_.contains.splice(R,1,f)};Object.assign(z.keywords,H),z.exports.PARAMS_CONTAINS.push(Y);let v=z.contains.find((_)=>_.scope==="attr"),y=Object.assign({},v,{match:J.concat("[A-Za-z$_][0-9A-Za-z$_]*",J.lookahead(/\s*\?:/))});z.exports.PARAMS_CONTAINS.push([z.exports.CLASS_REFERENCE,v,y]),z.contains=z.contains.concat([Y,X,W,y]),K(z,"shebang",Z.SHEBANG()),K(z,"use_strict",F);let w=z.contains.find((_)=>_.label==="func.def");return w.relevance=0,Object.assign(z,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),z}W6.exports=sJ});var G6=K0((xQ,H6)=>{function eJ(Z){let J=Z.regex,z={className:"string",begin:/"(""|[^/n])"C\b/},$={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},q=/\d{1,2}\/\d{1,2}\/\d{4}/,X=/\d{4}-\d{1,2}-\d{1,2}/,W=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,F=/\d{1,2}(:\d{1,2}){1,2}/,G={className:"literal",variants:[{begin:J.concat(/# */,J.either(X,q),/ *#/)},{begin:J.concat(/# */,F,/ *#/)},{begin:J.concat(/# */,W,/ *#/)},{begin:J.concat(/# */,J.either(X,q),/ +/,J.either(W,F),/ *#/)}]},H={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},Y={className:"label",begin:/^\w+:/},K=Z.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),v=Z.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[z,$,G,H,Y,K,v,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[v]}]}}H6.exports=eJ});var Y6=K0((jQ,K6)=>{function Zz(Z){Z.regex;let J=Z.COMMENT(/\(;/,/;\)/);J.contains.push("self");let z=Z.COMMENT(/;;/,/$/),$=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],q={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},X={className:"variable",begin:/\$[\w_]+/},W={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},F={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},G={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},H={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:$},contains:[z,J,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},X,W,q,Z.QUOTE_STRING_MODE,G,H,F]}}K6.exports=Zz});var y6=K0((DQ,U6)=>{var F0=k4();F0.registerLanguage("xml",g4());F0.registerLanguage("bash",S4());F0.registerLanguage("c",I4());F0.registerLanguage("cpp",x4());F0.registerLanguage("csharp",D4());F0.registerLanguage("css",h4());F0.registerLanguage("markdown",p4());F0.registerLanguage("diff",i4());F0.registerLanguage("ruby",d4());F0.registerLanguage("go",n4());F0.registerLanguage("graphql",l4());F0.registerLanguage("ini",o4());F0.registerLanguage("java",J5());F0.registerLanguage("javascript",X5());F0.registerLanguage("json",F5());F0.registerLanguage("kotlin",G5());F0.registerLanguage("less",y5());F0.registerLanguage("lua",w5());F0.registerLanguage("makefile",P5());F0.registerLanguage("perl",v5());F0.registerLanguage("objectivec",O5());F0.registerLanguage("php",M5());F0.registerLanguage("php-template",f5());F0.registerLanguage("plaintext",V5());F0.registerLanguage("python",b5());F0.registerLanguage("python-repl",R5());F0.registerLanguage("r",T5());F0.registerLanguage("rust",j5());F0.registerLanguage("scss",u5());F0.registerLanguage("shell",m5());F0.registerLanguage("sql",E5());F0.registerLanguage("swift",o5());F0.registerLanguage("yaml",e5());F0.registerLanguage("typescript",F6());F0.registerLanguage("vbnet",G6());F0.registerLanguage("wasm",Y6());F0.HighlightJS=F0;F0.default=F0;U6.exports=F0});var E9,C0,v8,J1,e0,w8,A8,O8,PZ,j9,N9,_8,OZ,CZ,vZ,z1,h9={},m9=[],Q1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,i9=Array.isArray;function l0(Z,J){for(var z in J)Z[z]=J[z];return Z}function _Z(Z){Z&&Z.parentNode&&Z.parentNode.removeChild(Z)}function $1(Z,J,z){var $,q,X,W={};for(X in J)X=="key"?$=J[X]:X=="ref"?q=J[X]:W[X]=J[X];if(arguments.length>2&&(W.children=arguments.length>3?E9.call(arguments,2):z),typeof Z=="function"&&Z.defaultProps!=null)for(X in Z.defaultProps)W[X]===void 0&&(W[X]=Z.defaultProps[X]);return D9(Z,W,$,q,null)}function D9(Z,J,z,$,q){var X={type:Z,props:J,key:z,ref:$,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:q==null?++v8:q,__i:-1,__u:0};return q==null&&C0.vnode!=null&&C0.vnode(X),X}function z0(Z){return Z.children}function u9(Z,J){this.props=Z,this.context=J}function Y9(Z,J){if(J==null)return Z.__?Y9(Z.__,Z.__i+1):null;for(var z;J<Z.__k.length;J++)if((z=Z.__k[J])!=null&&z.__e!=null)return z.__e;return typeof Z.type=="function"?Y9(Z):null}function q1(Z){if(Z.__P&&Z.__d){var J=Z.__v,z=J.__e,$=[],q=[],X=l0({},J);X.__v=J.__v+1,C0.vnode&&C0.vnode(X),MZ(Z.__P,X,J,Z.__n,Z.__P.namespaceURI,32&J.__u?[z]:null,$,z==null?Y9(J):z,!!(32&J.__u),q),X.__v=J.__v,X.__.__k[X.__i]=X,k8($,X,q),J.__e=J.__=null,X.__e!=z&&M8(X)}}function M8(Z){if((Z=Z.__)!=null&&Z.__c!=null)return Z.__e=Z.__c.base=null,Z.__k.some(function(J){if(J!=null&&J.__e!=null)return Z.__e=Z.__c.base=J.__e}),M8(Z)}function L8(Z){(!Z.__d&&(Z.__d=!0)&&e0.push(Z)&&!p9.__r++||w8!=C0.debounceRendering)&&((w8=C0.debounceRendering)||A8)(p9)}function p9(){try{for(var Z,J=1;e0.length;)e0.length>J&&e0.sort(O8),Z=e0.shift(),J=e0.length,q1(Z)}finally{e0.length=p9.__r=0}}function N8(Z,J,z,$,q,X,W,F,G,H,Y){var K,v,y,w,_,A,f,R=$&&$.__k||m9,L=J.length;for(G=X1(z,J,R,G,L),K=0;K<L;K++)(y=z.__k[K])!=null&&(v=y.__i!=-1&&R[y.__i]||h9,y.__i=K,A=MZ(Z,y,v,q,X,W,F,G,H,Y),w=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&NZ(v.ref,null,y),Y.push(y.ref,y.__c||w,y)),_==null&&w!=null&&(_=w),(f=!!(4&y.__u))||v.__k===y.__k?(G=f8(y,G,Z,f),f&&v.__e&&(v.__e=null)):typeof y.type=="function"&&A!==void 0?G=A:w&&(G=w.nextSibling),y.__u&=-7);return z.__e=_,G}function X1(Z,J,z,$,q){var X,W,F,G,H,Y=z.length,K=Y,v=0;for(Z.__k=new Array(q),X=0;X<q;X++)(W=J[X])!=null&&typeof W!="boolean"&&typeof W!="function"?(typeof W=="string"||typeof W=="number"||typeof W=="bigint"||W.constructor==String?W=Z.__k[X]=D9(null,W,null,null,null):i9(W)?W=Z.__k[X]=D9(z0,{children:W},null,null,null):W.constructor===void 0&&W.__b>0?W=Z.__k[X]=D9(W.type,W.props,W.key,W.ref?W.ref:null,W.__v):Z.__k[X]=W,G=X+v,W.__=Z,W.__b=Z.__b+1,F=null,(H=W.__i=W1(W,z,G,K))!=-1&&(K--,(F=z[H])&&(F.__u|=2)),F==null||F.__v==null?(H==-1&&(q>Y?v--:q<Y&&v++),typeof W.type!="function"&&(W.__u|=4)):H!=G&&(H==G-1?v--:H==G+1?v++:(H>G?v--:v++,W.__u|=4))):Z.__k[X]=null;if(K)for(X=0;X<Y;X++)(F=z[X])!=null&&(2&F.__u)==0&&(F.__e==$&&($=Y9(F)),g8(F,F));return $}function f8(Z,J,z,$){var q,X;if(typeof Z.type=="function"){for(q=Z.__k,X=0;q&&X<q.length;X++)q[X]&&(q[X].__=Z,J=f8(q[X],J,z,$));return J}Z.__e!=J&&($&&(J&&Z.type&&!J.parentNode&&(J=Y9(Z)),z.insertBefore(Z.__e,J||null)),J=Z.__e);do J=J&&J.nextSibling;while(J!=null&&J.nodeType==8);return J}function W1(Z,J,z,$){var q,X,W,F=Z.key,G=Z.type,H=J[z],Y=H!=null&&(2&H.__u)==0;if(H===null&&F==null||Y&&F==H.key&&G==H.type)return z;if($>(Y?1:0)){for(q=z-1,X=z+1;q>=0||X<J.length;)if((H=J[W=q>=0?q--:X++])!=null&&(2&H.__u)==0&&F==H.key&&G==H.type)return W}return-1}function P8(Z,J,z){J[0]=="-"?Z.setProperty(J,z==null?"":z):Z[J]=z==null?"":typeof z!="number"||Q1.test(J)?z:z+"px"}function x9(Z,J,z,$,q){var X,W;Z:if(J=="style")if(typeof z=="string")Z.style.cssText=z;else{if(typeof $=="string"&&(Z.style.cssText=$=""),$)for(J in $)z&&J in z||P8(Z.style,J,"");if(z)for(J in z)$&&z[J]==$[J]||P8(Z.style,J,z[J])}else if(J[0]=="o"&&J[1]=="n")X=J!=(J=J.replace(_8,"$1")),W=J.toLowerCase(),J=W in Z||J=="onFocusOut"||J=="onFocusIn"?W.slice(2):J.slice(2),Z.l||(Z.l={}),Z.l[J+X]=z,z?$?z[N9]=$[N9]:(z[N9]=OZ,Z.addEventListener(J,X?vZ:CZ,X)):Z.removeEventListener(J,X?vZ:CZ,X);else{if(q=="http://www.w3.org/2000/svg")J=J.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(J!="width"&&J!="height"&&J!="href"&&J!="list"&&J!="form"&&J!="tabIndex"&&J!="download"&&J!="rowSpan"&&J!="colSpan"&&J!="role"&&J!="popover"&&J in Z)try{Z[J]=z==null?"":z;break Z}catch(F){}typeof z=="function"||(z==null||z===!1&&J[4]!="-"?Z.removeAttribute(J):Z.setAttribute(J,J=="popover"&&z==1?"":z))}}function C8(Z){return function(J){if(this.l){var z=this.l[J.type+Z];if(J[j9]==null)J[j9]=OZ++;else if(J[j9]<z[N9])return;return z(C0.event?C0.event(J):J)}}}function MZ(Z,J,z,$,q,X,W,F,G,H){var Y,K,v,y,w,_,A,f,R,L,B,k,P,S,T,d=J.type;if(J.constructor!==void 0)return null;128&z.__u&&(G=!!(32&z.__u),X=[F=J.__e=z.__e]),(Y=C0.__b)&&Y(J);Z:if(typeof d=="function")try{if(f=J.props,R=d.prototype&&d.prototype.render,L=(Y=d.contextType)&&$[Y.__c],B=Y?L?L.props.value:Y.__:$,z.__c?A=(K=J.__c=z.__c).__=K.__E:(R?J.__c=K=new d(f,B):(J.__c=K=new u9(f,B),K.constructor=d,K.render=H1),L&&L.sub(K),K.state||(K.state={}),K.__n=$,v=K.__d=!0,K.__h=[],K._sb=[]),R&&K.__s==null&&(K.__s=K.state),R&&d.getDerivedStateFromProps!=null&&(K.__s==K.state&&(K.__s=l0({},K.__s)),l0(K.__s,d.getDerivedStateFromProps(f,K.__s))),y=K.props,w=K.state,K.__v=J,v)R&&d.getDerivedStateFromProps==null&&K.componentWillMount!=null&&K.componentWillMount(),R&&K.componentDidMount!=null&&K.__h.push(K.componentDidMount);else{if(R&&d.getDerivedStateFromProps==null&&f!==y&&K.componentWillReceiveProps!=null&&K.componentWillReceiveProps(f,B),J.__v==z.__v||!K.__e&&K.shouldComponentUpdate!=null&&K.shouldComponentUpdate(f,K.__s,B)===!1){J.__v!=z.__v&&(K.props=f,K.state=K.__s,K.__d=!1),J.__e=z.__e,J.__k=z.__k,J.__k.some(function(b){b&&(b.__=J)}),m9.push.apply(K.__h,K._sb),K._sb=[],K.__h.length&&W.push(K);break Z}K.componentWillUpdate!=null&&K.componentWillUpdate(f,K.__s,B),R&&K.componentDidUpdate!=null&&K.__h.push(function(){K.componentDidUpdate(y,w,_)})}if(K.context=B,K.props=f,K.__P=Z,K.__e=!1,k=C0.__r,P=0,R)K.state=K.__s,K.__d=!1,k&&k(J),Y=K.render(K.props,K.state,K.context),m9.push.apply(K.__h,K._sb),K._sb=[];else do K.__d=!1,k&&k(J),Y=K.render(K.props,K.state,K.context),K.state=K.__s;while(K.__d&&++P<25);K.state=K.__s,K.getChildContext!=null&&($=l0(l0({},$),K.getChildContext())),R&&!v&&K.getSnapshotBeforeUpdate!=null&&(_=K.getSnapshotBeforeUpdate(y,w)),S=Y!=null&&Y.type===z0&&Y.key==null?V8(Y.props.children):Y,F=N8(Z,i9(S)?S:[S],J,z,$,q,X,W,F,G,H),K.base=J.__e,J.__u&=-161,K.__h.length&&W.push(K),A&&(K.__E=K.__=null)}catch(b){if(J.__v=null,G||X!=null)if(b.then){for(J.__u|=G?160:128;F&&F.nodeType==8&&F.nextSibling;)F=F.nextSibling;X[X.indexOf(F)]=null,J.__e=F}else{for(T=X.length;T--;)_Z(X[T]);AZ(J)}else J.__e=z.__e,J.__k=z.__k,b.then||AZ(J);C0.__e(b,J,z)}else X==null&&J.__v==z.__v?(J.__k=z.__k,J.__e=z.__e):F=J.__e=F1(z.__e,J,z,$,q,X,W,G,H);return(Y=C0.diffed)&&Y(J),128&J.__u?void 0:F}function AZ(Z){Z&&(Z.__c&&(Z.__c.__e=!0),Z.__k&&Z.__k.some(AZ))}function k8(Z,J,z){for(var $=0;$<z.length;$++)NZ(z[$],z[++$],z[++$]);C0.__c&&C0.__c(J,Z),Z.some(function(q){try{Z=q.__h,q.__h=[],Z.some(function(X){X.call(q)})}catch(X){C0.__e(X,q.__v)}})}function V8(Z){return typeof Z!="object"||Z==null||Z.__b>0?Z:i9(Z)?Z.map(V8):Z.constructor!==void 0?null:l0({},Z)}function F1(Z,J,z,$,q,X,W,F,G){var H,Y,K,v,y,w,_,A=z.props||h9,f=J.props,R=J.type;if(R=="svg"?q="http://www.w3.org/2000/svg":R=="math"?q="http://www.w3.org/1998/Math/MathML":q||(q="http://www.w3.org/1999/xhtml"),X!=null){for(H=0;H<X.length;H++)if((y=X[H])&&"setAttribute"in y==!!R&&(R?y.localName==R:y.nodeType==3)){Z=y,X[H]=null;break}}if(Z==null){if(R==null)return document.createTextNode(f);Z=document.createElementNS(q,R,f.is&&f),F&&(C0.__m&&C0.__m(J,X),F=!1),X=null}if(R==null)A===f||F&&Z.data==f||(Z.data=f);else{if(X=R=="textarea"&&f.defaultValue!=null?null:X&&E9.call(Z.childNodes),!F&&X!=null)for(A={},H=0;H<Z.attributes.length;H++)A[(y=Z.attributes[H]).name]=y.value;for(H in A)y=A[H],H=="dangerouslySetInnerHTML"?K=y:H=="children"||(H in f)||H=="value"&&("defaultValue"in f)||H=="checked"&&("defaultChecked"in f)||x9(Z,H,null,y,q);for(H in f)y=f[H],H=="children"?v=y:H=="dangerouslySetInnerHTML"?Y=y:H=="value"?w=y:H=="checked"?_=y:F&&typeof y!="function"||A[H]===y||x9(Z,H,y,A[H],q);if(Y)F||K&&(Y.__html==K.__html||Y.__html==Z.innerHTML)||(Z.innerHTML=Y.__html),J.__k=[];else if(K&&(Z.innerHTML=""),N8(J.type=="template"?Z.content:Z,i9(v)?v:[v],J,z,$,R=="foreignObject"?"http://www.w3.org/1999/xhtml":q,X,W,X?X[0]:z.__k&&Y9(z,0),F,G),X!=null)for(H=X.length;H--;)_Z(X[H]);F&&R!="textarea"||(H="value",R=="progress"&&w==null?Z.removeAttribute("value"):w!=null&&(w!==Z[H]||R=="progress"&&!w||R=="option"&&w!=A[H])&&x9(Z,H,w,A[H],q),H="checked",_!=null&&_!=Z[H]&&x9(Z,H,_,A[H],q))}return Z}function NZ(Z,J,z){try{if(typeof Z=="function"){var $=typeof Z.__u=="function";$&&Z.__u(),$&&J==null||(Z.__u=Z(J))}else Z.current=J}catch(q){C0.__e(q,z)}}function g8(Z,J,z){var $,q;if(C0.unmount&&C0.unmount(Z),($=Z.ref)&&($.current&&$.current!=Z.__e||NZ($,null,J)),($=Z.__c)!=null){if($.componentWillUnmount)try{$.componentWillUnmount()}catch(X){C0.__e(X,J)}$.base=$.__P=null}if($=Z.__k)for(q=0;q<$.length;q++)$[q]&&g8($[q],J,z||typeof Z.type!="function");z||_Z(Z.__e),Z.__c=Z.__=Z.__e=void 0}function H1(Z,J,z){return this.constructor(Z,z)}function fZ(Z,J,z){var $,q,X,W;J==document&&(J=document.documentElement),C0.__&&C0.__(Z,J),q=($=typeof z=="function")?null:z&&z.__k||J.__k,X=[],W=[],MZ(J,Z=(!$&&z||J).__k=$1(z0,null,[Z]),q||h9,h9,J.namespaceURI,!$&&z?[z]:q?null:J.firstChild?E9.call(J.childNodes):null,X,!$&&z?z:q?q.__e:J.firstChild,$,W),k8(X,Z,W)}E9=m9.slice,C0={__e:function(Z,J,z,$){for(var q,X,W;J=J.__;)if((q=J.__c)&&!q.__)try{if((X=q.constructor)&&X.getDerivedStateFromError!=null&&(q.setState(X.getDerivedStateFromError(Z)),W=q.__d),q.componentDidCatch!=null&&(q.componentDidCatch(Z,$||{}),W=q.__d),W)return q.__E=q}catch(F){Z=F}throw Z}},v8=0,J1=function(Z){return Z!=null&&Z.constructor===void 0},u9.prototype.setState=function(Z,J){var z;z=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=l0({},this.state),typeof Z=="function"&&(Z=Z(l0({},z),this.props)),Z&&l0(z,Z),Z!=null&&this.__v&&(J&&this._sb.push(J),L8(this))},u9.prototype.forceUpdate=function(Z){this.__v&&(this.__e=!0,Z&&this.__h.push(Z),L8(this))},u9.prototype.render=z0,e0=[],A8=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,O8=function(Z,J){return Z.__v.__b-J.__v.__b},p9.__r=0,PZ=Math.random().toString(8),j9="__d"+PZ,N9="__a"+PZ,_8=/(PointerCapture)$|Capture$/i,OZ=0,CZ=C8(!1),vZ=C8(!0),z1=0;var U9,N0,kZ,b8,f9=0,u8=[],k0=C0,S8=k0.__b,R8=k0.__r,I8=k0.diffed,T8=k0.__c,x8=k0.unmount,j8=k0.__;function d9(Z,J){k0.__h&&k0.__h(N0,Z,f9||J),f9=0;var z=N0.__H||(N0.__H={__:[],__h:[]});return Z>=z.__.length&&z.__.push({}),z.__[Z]}function c(Z){return f9=1,G1(p8,Z)}function G1(Z,J,z){var $=d9(U9++,2);if($.t=Z,!$.__c&&($.__=[z?z(J):p8(void 0,J),function(F){var G=$.__N?$.__N[0]:$.__[0],H=$.t(G,F);G!==H&&($.__N=[H,$.__[1]],$.__c.setState({}))}],$.__c=N0,!N0.__f)){var q=function(F,G,H){if(!$.__c.__H)return!0;var Y=$.__c.__H.__.filter(function(v){return v.__c});if(Y.every(function(v){return!v.__N}))return!X||X.call(this,F,G,H);var K=$.__c.props!==F;return Y.some(function(v){if(v.__N){var y=v.__[0];v.__=v.__N,v.__N=void 0,y!==v.__[0]&&(K=!0)}}),X&&X.call(this,F,G,H)||K};N0.__f=!0;var{shouldComponentUpdate:X,componentWillUpdate:W}=N0;N0.componentWillUpdate=function(F,G,H){if(this.__e){var Y=X;X=void 0,q(F,G,H),X=Y}W&&W.call(this,F,G,H)},N0.shouldComponentUpdate=q}return $.__N||$.__}function L0(Z,J){var z=d9(U9++,3);!k0.__s&&gZ(z.__H,J)&&(z.__=Z,z.u=J,N0.__H.__h.push(z))}function h8(Z,J){var z=d9(U9++,4);!k0.__s&&gZ(z.__H,J)&&(z.__=Z,z.u=J,N0.__h.push(z))}function Y0(Z){return f9=5,m8(function(){return{current:Z}},[])}function m8(Z,J){var z=d9(U9++,7);return gZ(z.__H,J)&&(z.__=Z(),z.__H=J,z.__h=Z),z.__}function z9(Z,J){return f9=8,m8(function(){return Z},J)}function K1(){for(var Z;Z=u8.shift();){var J=Z.__H;if(Z.__P&&J)try{J.__h.some(c9),J.__h.some(VZ),J.__h=[]}catch(z){J.__h=[],k0.__e(z,Z.__v)}}}k0.__b=function(Z){N0=null,S8&&S8(Z)},k0.__=function(Z,J){Z&&J.__k&&J.__k.__m&&(Z.__m=J.__k.__m),j8&&j8(Z,J)},k0.__r=function(Z){R8&&R8(Z),U9=0;var J=(N0=Z.__c).__H;J&&(kZ===N0?(J.__h=[],N0.__h=[],J.__.some(function(z){z.__N&&(z.__=z.__N),z.u=z.__N=void 0})):(J.__h.some(c9),J.__h.some(VZ),J.__h=[],U9=0)),kZ=N0},k0.diffed=function(Z){I8&&I8(Z);var J=Z.__c;J&&J.__H&&(J.__H.__h.length&&(u8.push(J)!==1&&b8===k0.requestAnimationFrame||((b8=k0.requestAnimationFrame)||Y1)(K1)),J.__H.__.some(function(z){z.u&&(z.__H=z.u),z.u=void 0})),kZ=N0=null},k0.__c=function(Z,J){J.some(function(z){try{z.__h.some(c9),z.__h=z.__h.filter(function($){return!$.__||VZ($)})}catch($){J.some(function(q){q.__h&&(q.__h=[])}),J=[],k0.__e($,z.__v)}}),T8&&T8(Z,J)},k0.unmount=function(Z){x8&&x8(Z);var J,z=Z.__c;z&&z.__H&&(z.__H.__.some(function($){try{c9($)}catch(q){J=q}}),z.__H=void 0,J&&k0.__e(J,z.__v))};var D8=typeof requestAnimationFrame=="function";function Y1(Z){var J,z=function(){clearTimeout($),D8&&cancelAnimationFrame(J),setTimeout(Z)},$=setTimeout(z,35);D8&&(J=requestAnimationFrame(z))}function c9(Z){var J=N0,z=Z.__c;typeof z=="function"&&(Z.__c=void 0,z()),N0=J}function VZ(Z){var J=N0;Z.__c=Z.__(),N0=J}function gZ(Z,J){return!Z||Z.length!==J.length||J.some(function(z,$){return z!==Z[$]})}function p8(Z,J){return typeof J=="function"?J(Z):J}async function w0(Z,J,z){let $=await fetch(J,{method:Z,headers:z!==void 0?{"content-type":"application/json"}:void 0,body:z!==void 0?JSON.stringify(z):void 0}),q=await $.json().catch(()=>null);if(!$.ok||q&&q.error)throw new Error(q&&q.error||`${$.status} ${$.statusText}`);return q}var V0=(Z)=>encodeURIComponent(Z),l={listDatabases:()=>w0("GET","/api/databases"),createDatabase:(Z)=>w0("POST","/api/databases",Z),updateDatabase:(Z,J)=>w0("PATCH",`/api/database?id=${V0(Z)}`,J),deleteDatabase:(Z)=>w0("DELETE",`/api/database?id=${V0(Z)}`),listProperties:(Z)=>w0("GET",`/api/properties?db=${V0(Z)}`),createProperty:(Z)=>w0("POST","/api/properties",Z),updateProperty:(Z,J)=>w0("PATCH",`/api/property?id=${V0(Z)}`,J),setColumnWidth:(Z,J)=>w0("PATCH",`/api/property/width?id=${V0(Z)}`,{width:J}),deleteProperty:(Z)=>w0("DELETE",`/api/property?id=${V0(Z)}`),listRecords:(Z,J={})=>{let z=new URLSearchParams({db:Z});if(J.sort)z.set("sort",J.sort);if(J.limit!=null)z.set("limit",String(J.limit));return w0("GET",`/api/records?${z}`)},createRecord:(Z,J)=>w0("POST",`/api/records?db=${V0(Z)}`,J),getRecord:(Z)=>w0("GET",`/api/record?id=${V0(Z)}`),updateRecord:(Z,J)=>w0("PATCH",`/api/record?id=${V0(Z)}`,J),moveRecord:(Z,J,z)=>w0("PATCH",`/api/record/order?id=${V0(Z)}`,{target:J,where:z}),deleteRecord:(Z)=>w0("DELETE",`/api/record?id=${V0(Z)}`),listDocuments:(Z)=>w0("GET",Z?`/api/documents?db=${V0(Z)}`:"/api/documents"),listDocumentsByParent:(Z)=>w0("GET",`/api/documents?parent=${V0(Z)}`),createDocument:(Z)=>w0("POST","/api/documents",Z),getDocument:(Z)=>w0("GET",`/api/document?id=${V0(Z)}`),updateDocument:(Z,J)=>w0("PATCH",`/api/document?id=${V0(Z)}`,J),deleteDocument:(Z)=>w0("DELETE",`/api/document?id=${V0(Z)}`),search:(Z,J)=>{let z=new URLSearchParams({q:Z});if(J!=null)z.set("limit",String(J));return w0("GET",`/api/search?${z}`)},listPeers:()=>w0("GET","/api/peers"),newPairingCode:()=>w0("POST","/api/pair/new"),addPeerByPairing:(Z)=>w0("POST","/api/peers/pair",Z),updatePeer:(Z,J)=>w0("PATCH",`/api/peer?url=${V0(Z)}`,J),removePeer:(Z)=>w0("DELETE",`/api/peer?url=${V0(Z)}`),syncPeer:(Z)=>w0("POST",`/api/peer/sync?url=${V0(Z)}`),listGrants:()=>w0("GET","/api/grants"),revokeGrant:(Z)=>w0("DELETE",`/api/grant?token=${V0(Z)}`),version:()=>w0("GET","/api/version")},y9={text:{ic:"text",t:"文本"},number:{ic:"hash",t:"数字"},select:{ic:"select",t:"单选"},multi_select:{ic:"multi",t:"多选"},checkbox:{ic:"checkbox",t:"复选框"},date:{ic:"calendar",t:"日期"},url:{ic:"link",t:"链接"},relation:{ic:"relation",t:"关联"}};var U1=0;function Q(Z,J,z,$,q,X){J||(J={});var W,F,G=J;if("ref"in G)for(F in G={},J)F=="ref"?W=J[F]:G[F]=J[F];var H={type:Z,props:G,key:z,ref:W,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--U1,__i:-1,__u:0,__source:q,__self:X};if(typeof Z=="function"&&(W=Z.defaultProps))for(F in W)G[F]===void 0&&(G[F]=W[F]);return C0.vnode&&C0.vnode(H),H}var y1={cube:'<path d="M21 7.5 12 2 3 7.5v9L12 22l9-5.5z"/><path d="m3 7.5 9 5.5 9-5.5M12 22v-9"/>',chevron:'<path d="m9 6 6 6-6 6"/>',chevronDown:'<path d="m6 9 6 6 6-6"/>',plus:'<path d="M12 5v14M5 12h14"/>',pin:'<path d="M9 4h6l-1 6 3 3v2H7v-2l3-3z"/><path d="M12 16v5"/>',search:'<circle cx="11" cy="11" r="7"/><path d="m20 20-3.2-3.2"/>',dots:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',grip:'<circle cx="9" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="18" r="1.3" fill="currentColor" stroke="none"/>',trash:'<path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6"/>',filter:'<path d="M3 5h18l-7 8v6l-4-2v-4z"/>',sort:'<path d="M7 3v14M7 17l-3-3M7 17l3-3M17 21V7M17 7l-3 3M17 7l3 3"/>',group:'<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',check:'<path d="M5 12.5 10 17l9-10"/>',x:'<path d="M6 6 18 18M18 6 6 18"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/>',database:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5"/><path d="M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3"/>',table:'<rect x="3" y="4" width="18" height="16" rx="1.5"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16"/>',alignLeft:'<path d="M4 6h16M4 12h10M4 18h13"/>',alignCenter:'<path d="M4 6h16M7 12h10M5 18h14"/>',alignRight:'<path d="M4 6h16M10 12h10M7 18h13"/>',share:'<path d="M4 12v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7"/><path d="M12 3v13M8 7l4-4 4 4"/>',download:'<path d="M12 3v12M8 11l4 4 4-4"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',link:'<path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1"/><path d="M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"/>',calendar:'<rect x="3" y="4" width="18" height="17" rx="2"/><path d="M3 9h18M8 2v4M16 2v4"/>',timeline:'<rect x="3" y="5" width="9" height="3" rx="1.5"/><rect x="8" y="10.5" width="11" height="3" rx="1.5"/><rect x="5" y="16" width="7" height="3" rx="1.5"/>',hash:'<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>',text:'<path d="M4 6h16M4 6v-.5M8 6v13M4 19h8"/><path d="M14 11h6M17 11v8M14 19h6"/>',list:'<path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/>',numList:'<path d="M10 6h10M10 12h10M10 18h10M4 5h1v4M4 9h2M4 13.5c0-.8 2-.8 2 0 0 .8-2 1.2-2 2.5h2"/>',checkbox:'<rect x="4" y="4" width="16" height="16" rx="3"/><path d="m9 12 2 2 4-4"/>',select:'<circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>',multi:'<path d="M8 6h12M8 12h12M8 18h12M3 6h.01M3 12h.01M3 18h.01"/>',relation:'<path d="M7 7h4v4H7zM13 13h4v4h-4z"/><path d="M11 9h2a2 2 0 0 1 2 2v2"/>',quote:'<path d="M7 7c-2 1-3 3-3 6h3v4H4v-4M17 7c-2 1-3 3-3 6h3v4h-3v-4"/>',code:'<path d="m8 8-4 4 4 4M16 8l4 4-4 4M13 6l-2 12"/>',minus:'<path d="M5 12h14"/>',heading:'<path d="M6 4v16M18 4v16M6 12h12"/>',panelLeft:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/>',cornerUpRight:'<path d="M5 19V11a4 4 0 0 1 4-4h10M15 3l4 4-4 4"/>',openPeek:'<rect x="3" y="5" width="18" height="14" rx="2.5"/><rect x="6" y="8" width="4" height="8" rx="1" fill="currentColor" stroke="none"/>',settings:'<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>',eyeOff:'<path d="M4 4l16 16M9.5 9.5a3 3 0 0 0 4 4M6.5 6.7C4.5 8 3 10 2 12c2 4 6 7 10 7 1.6 0 3-.4 4.4-1.1M9.5 5.2A9.7 9.7 0 0 1 12 5c4 0 8 3 10 7-.6 1.3-1.5 2.5-2.5 3.5"/>',bold:'<path d="M6 4h7a4 4 0 0 1 0 8H6zM6 12h8a4 4 0 0 1 0 8H6z"/>',italic:'<path d="M19 4h-9M14 20H5M15 4 9 20"/>',underline:'<path d="M6 4v6a6 6 0 0 0 12 0V4M4 21h16"/>',strike:'<path d="M4 12h16M7 7a4 4 0 0 1 7-1M9 17a4 4 0 0 0 7-2"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/>',moon:'<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/>',monitor:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M8 21h8M12 17v4"/>'};function D({name:Z,cls:J="ico"}){return Q("svg",{class:J,viewBox:"0 0 24 24",dangerouslySetInnerHTML:{__html:y1[Z]??""}},void 0,!1,void 0,this)}var m0={text:"text",number:"hash",select:"select",multi_select:"multi",checkbox:"checkbox",date:"calendar",url:"link",relation:"relation"};function bZ(Z){let J=Z,z=new Set;return{get:()=>J,set:($)=>{J=$,z.forEach((q)=>q($))},use(){let[$,q]=c(J);return L0(()=>{return z.add(q),()=>void z.delete(q)},[]),$}}}var k9=bZ([]),B1=0;function R0(Z){let J=++B1;k9.set([...k9.get(),{id:J,msg:Z}]),setTimeout(()=>k9.set(k9.get().filter((z)=>z.id!==J)),2600)}var SZ=bZ(null);function A0(Z,J,z={}){SZ.set({render:J,anchor:Z,minWidth:z.minWidth})}function E8(){SZ.set(null)}function w1(Z){if(Z instanceof MouseEvent)return{x:Z.clientX,y:Z.clientY};if("rect"in Z)return{x:Z.rect.left,y:Z.rect.bottom,bottom:Z.rect.bottom};return{x:Z.x,y:Z.y}}function L1(){let Z=SZ.use(),J=Y0(null),[z,$]=c(null);if(h8(()=>{if(!Z||!J.current)return $(null);let{x:q,y:X}=w1(Z.anchor),W=J.current.getBoundingClientRect();$({left:Math.min(q,innerWidth-W.width-10),top:Math.min(X+4,innerHeight-W.height-10)})},[Z]),!Z)return null;return Q("div",{class:"menu-layer",onMouseDown:(q)=>q.target===q.currentTarget&&E8(),children:Q("div",{ref:J,class:"pop",style:{left:z?.left??-9999,top:z?.top??-9999,minWidth:Z.minWidth},onMouseDown:(q)=>q.stopPropagation(),children:Z.render(E8)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function g0({children:Z}){return Q("div",{class:"lbl",children:Z},void 0,!1,void 0,this)}function _0(){return Q("div",{class:"sep"},void 0,!1,void 0,this)}function s({icon:Z,label:J,sublabel:z,danger:$,checked:q,onClick:X}){return Q("button",{class:"item"+($?" danger":""),onClick:X,children:[Z&&Q("span",{class:"lico plain",children:Q(D,{name:Z,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"meta",children:[Q("span",{class:"t",children:J},void 0,!1,void 0,this),z&&Q("span",{class:"d",children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q&&Q("span",{class:"chk",children:Q(D,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var RZ=bZ(null);function Q9(Z){RZ.set(Z)}function E0(){RZ.set(null)}function $9({title:Z,sub:J,children:z,footer:$,width:q}){return Q("div",{class:"modal",style:{width:q},onMouseDown:(X)=>X.stopPropagation(),children:[Q("div",{class:"modal-head",children:[Q("h3",{children:Z},void 0,!1,void 0,this),J&&Q("p",{children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"modal-body",children:z},void 0,!1,void 0,this),$&&Q("div",{class:"modal-foot",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function P1(){let Z=RZ.use();return L0(()=>{if(!Z)return;let J=(z)=>z.key==="Escape"&&E0();return addEventListener("keydown",J),()=>removeEventListener("keydown",J)},[Z]),Q("div",{class:"modal-scrim"+(Z?" open":""),onMouseDown:(J)=>J.target===J.currentTarget&&E0(),children:Z},void 0,!1,void 0,this)}function x0(Z){return new Promise((J)=>{let z=($)=>{E0(),J($)};Q9(Q($9,{title:Z.title,footer:Q(z0,{children:[Q("button",{class:"btn btn-secondary",onClick:()=>z(!1),children:"取消"},void 0,!1,void 0,this),Q("button",{class:"btn "+(Z.danger?"btn-danger":"btn-primary"),onClick:()=>z(!0),children:Z.confirmLabel??"确定"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:Q("div",{class:"muted",children:Z.message},void 0,!1,void 0,this)},void 0,!1,void 0,this))})}function B9(Z){return new Promise((J)=>{let z=Z.value??"",$=(q)=>{E0(),J(q)};Q9(Q($9,{title:Z.title,footer:Q(z0,{children:[Q("button",{class:"btn btn-secondary",onClick:()=>$(null),children:"取消"},void 0,!1,void 0,this),Q("button",{class:"btn btn-primary",onClick:()=>$(z.trim()||(Z.value??"")),children:Z.confirmLabel??"保存"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[Z.label&&Q("div",{class:"field-label",children:Z.label},void 0,!1,void 0,this),Q("input",{class:"text-input",autofocus:!0,value:Z.value??"",placeholder:Z.placeholder,onInput:(q)=>z=q.target.value,onKeyDown:(q)=>{if(q.key==="Enter")$(z.trim()||(Z.value??""))}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))})}function a9(){let Z=k9.use();return Q(z0,{children:[Q(L1,{},void 0,!1,void 0,this),Q(P1,{},void 0,!1,void 0,this),Q("div",{class:"toasts",children:Z.map((J)=>Q("div",{class:"toast",children:[Q(D,{name:"check",cls:"ico sm"},void 0,!1,void 0,this),Q("span",{children:J.msg},void 0,!1,void 0,this)]},J.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var IZ=null;function c8(Z){let[J,z]=c(new Set),[$,q]=c(""),X=A1(Z.onResize),W=(y)=>{let w=new Set(J);w.has(y)?w.delete(y):w.add(y),z(w)},F=(y)=>y().catch((w)=>Z.onError(String(w.message))),G=(y)=>F(async()=>{let w=await l.createDocument({title:"",...y?{parent_id:y}:{}});if(y)J.delete(y);await Z.reloadNav(),Z.onOpenDoc(w.id)}),H=(y,w,_)=>F(async()=>{if(y===w.id)return;if(v1(Z.docs,y,w.id))return;let A=_==="into"?w.id:w.parent_id;if(await l.updateDocument(y,{parent_id:A}),_==="into")J.delete(w.id);await Z.reloadNav()}),Y=(y,w)=>{y.stopPropagation(),A0(y,(_)=>Q(z0,{children:[Q(s,{icon:"settings",label:"重命名…",onClick:async()=>{_();let A=await B9({title:"重命名数据库",value:w.name});if(A&&A!==w.name)F(async()=>{await l.updateDatabase(w.id,{name:A}),await Z.reloadNav()})}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(_(),await x0({title:"删除数据库?",message:`「${w.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))F(async()=>{await l.deleteDatabase(w.id),await Z.reloadNav(),Z.afterDelete("db",w.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},K=(y,w)=>{y.stopPropagation();let _=Z.docs.filter((A)=>A.parent_id===w.id).length;A0(y,(A)=>Q(z0,{children:[Q(s,{icon:"plus",label:"新建子页",onClick:()=>{A(),G(w.id)}},void 0,!1,void 0,this),Q(s,{icon:"settings",label:"重命名…",onClick:async()=>{A();let f=await B9({title:"重命名文档",value:w.title});if(f)F(async()=>{await l.updateDocument(w.id,{title:f}),await Z.reloadNav()})}},void 0,!1,void 0,this),w.parent_id&&Q(s,{icon:"cornerUpRight",label:"移到顶层",onClick:()=>{A(),F(async()=>{await l.updateDocument(w.id,{parent_id:null}),await Z.reloadNav()})}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除",danger:!0,onClick:async()=>{if(A(),await x0({title:"删除文档?",message:_?`「${w.title||"无标题"}」及其 ${_} 个子页将被删除。`:`「${w.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))F(async()=>{await a8(Z.docs,w.id),await Z.reloadNav(),Z.afterDelete("doc",w.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},v=(y,w=0)=>{return Z.docs.filter((A)=>A.parent_id===y).map((A)=>{let f=Z.docs.filter((L)=>L.parent_id===A.id),R=f.length>0&&!J.has(A.id);return Q("div",{class:w?"navchildren":"",children:[Q("div",{class:"navitem"+(Z.activeKind==="doc"&&Z.activeId===A.id?" active":""),draggable:!0,onClick:()=>Z.onOpenDoc(A.id),onDragStart:(L)=>{L.stopPropagation(),IZ=A.id,L.currentTarget.classList.add("dragging")},onDragEnd:(L)=>{L.currentTarget.classList.remove("dragging"),TZ()},onDragOver:(L)=>{L.preventDefault(),L.stopPropagation(),C1(L.currentTarget,L)},onDrop:(L)=>{L.preventDefault(),L.stopPropagation();let B=d8(L.currentTarget,L),k=IZ;if(IZ=null,TZ(),k)H(k,A,B)},children:[Q("span",{class:"tw"+(R?" open":""),onClick:(L)=>{if(L.stopPropagation(),f.length)W(A.id)},children:f.length>0&&Q(D,{name:"chevron",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"emoji",children:Q(D,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"label",children:A.title||"无标题"},void 0,!1,void 0,this),Q("span",{class:"acts",children:[Q("button",{title:"新建子页",onClick:(L)=>{L.stopPropagation(),G(A.id)},children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("button",{title:"更多",onClick:(L)=>K(L,A),children:Q(D,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),R&&v(A.id,w+1)]},A.id,!0,void 0,this)})};return Q("div",{class:"sidebar"+(Z.collapsed?" collapsed":""),style:{width:Z.width,marginLeft:Z.collapsed?-Z.width:void 0},children:[Q("div",{class:"sb-head",children:[Q("div",{class:"brand",children:[Q("span",{class:"mark",children:Q(D,{name:"cube"},void 0,!1,void 0,this)},void 0,!1,void 0,this),"Metahub"]},void 0,!0,void 0,this),Q("button",{class:"iconbtn",title:"收起侧栏",onClick:Z.onCollapse,children:Q(D,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"sb-search",onClick:(y)=>y.currentTarget.querySelector("input")?.focus(),children:[Q(D,{name:"search",cls:"ico sm"},void 0,!1,void 0,this),Q("input",{placeholder:"搜索…",value:$,onInput:(y)=>q(y.target.value),onKeyDown:(y)=>{if(y.key==="Enter"&&$.trim())Z.onSearch($.trim())}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"sb-scroll",children:[Q("div",{class:"sb-section",children:[Q("div",{class:"sb-section-head",children:[Q("span",{children:"数据库"},void 0,!1,void 0,this),Q("button",{class:"add",title:"新建数据库",onClick:()=>O1(Z.onOpenDb,Z.reloadNav,Z.onError),children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.databases.map((y)=>Q("div",{class:"navitem"+(Z.activeKind==="db"&&Z.activeId===y.id?" active":""),onClick:()=>Z.onOpenDb(y.id),children:[Q("span",{class:"emoji",children:y.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),Q("span",{class:"label",children:y.name},void 0,!1,void 0,this),Q("span",{class:"acts",children:Q("button",{title:"更多",onClick:(w)=>Y(w,y),children:Q(D,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},y.id,!0,void 0,this)),Z.databases.length===0&&Q("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"sb-section",children:[Q("div",{class:"sb-section-head",children:[Q("span",{children:"文档"},void 0,!1,void 0,this),Q("button",{class:"add",title:"新建文档",onClick:()=>G(null),children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v(null),Z.docs.length===0&&Q("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"sb-footer",children:Q("button",{class:"navitem"+(Z.settingsActive?" active":""),onClick:Z.onOpenSettings,children:[Q("span",{class:"emoji",children:Q(D,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"label",children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"sb-resizer",onMouseDown:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function TZ(){document.querySelectorAll(".drop-into,.drop-before,.drop-after").forEach((Z)=>Z.classList.remove("drop-into","drop-before","drop-after"))}function d8(Z,J){let z=Z.getBoundingClientRect(),$=J.clientY-z.top;return $<z.height*0.28?"before":$>z.height*0.72?"after":"into"}function C1(Z,J){TZ(),Z.classList.add("drop-"+d8(Z,J))}function v1(Z,J,z){let $=Z.find((q)=>q.id===z);while($){if($.parent_id===J)return!0;$=Z.find((q)=>q.id===$.parent_id)}return!1}async function a8(Z,J){for(let z of Z.filter(($)=>$.parent_id===J))await a8(Z,z.id);await l.deleteDocument(J)}function A1(Z){return(J)=>{J.preventDefault();let z=(q)=>Z(Math.max(210,Math.min(460,q.clientX))),$=()=>{removeEventListener("mousemove",z),removeEventListener("mouseup",$)};addEventListener("mousemove",z),addEventListener("mouseup",$)}}var i8={blank:[{name:"名称",type:"text"}],tasks:[{name:"名称",type:"text"},{name:"状态",type:"select",config:{options:["待办","进行中","已完成"]}},{name:"优先级",type:"select",config:{options:["高","中","低"]}},{name:"截止",type:"date"}],crm:[{name:"姓名",type:"text"},{name:"公司",type:"text"},{name:"分类",type:"select",config:{options:["客户","合作","潜在"]}},{name:"邮箱",type:"url"}]};function O1(Z,J,z){Q9(Q(_1,{onOpenDb:Z,reloadNav:J,onError:z},void 0,!1,void 0,this))}function _1(Z){let J=["\uD83D\uDDC2️","\uD83C\uDFAF","\uD83E\uDD1D","\uD83D\uDCE6","\uD83D\uDCDA","\uD83D\uDCA1","\uD83E\uDDE9","\uD83D\uDCCA","\uD83D\uDDD3️","✅"],z=[["blank","空白","仅一个「名称」列"],["tasks","任务","状态·优先级·截止"],["crm","联系人","公司·分类·邮箱"]],[$,q]=c(""),[X,W]=c(J[0]),[F,G]=c("blank"),H=Y0(!1),Y=async()=>{if(H.current)return;H.current=!0;try{let K=await l.createDatabase({name:$.trim()||"未命名数据库",icon:X});for(let v of i8[F]??i8.blank)await l.createProperty({db:K.id,name:v.name,type:v.type,config:v.config});E0(),await Z.reloadNav(),Z.onOpenDb(K.id),R0(`已创建数据库「${K.name}」`)}catch(K){Z.onError(String(K.message))}finally{H.current=!1}};return Q($9,{title:"新建数据库",sub:"创建一个带属性列的结构化数据表。",footer:Q(z0,{children:[Q("button",{class:"btn btn-secondary",onClick:E0,children:"取消"},void 0,!1,void 0,this),Q("button",{class:"btn btn-primary",onClick:Y,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[Q("div",{class:"field-label",children:"名称"},void 0,!1,void 0,this),Q("input",{class:"text-input",autofocus:!0,placeholder:"例如:项目、客户、库存…",value:$,onInput:(K)=>q(K.target.value),onKeyDown:(K)=>K.key==="Enter"&&Y()},void 0,!1,void 0,this),Q("div",{class:"field-label",children:"图标"},void 0,!1,void 0,this),Q("div",{class:"icon-pick",children:J.map((K)=>Q("button",{class:K===X?"sel":"",onClick:()=>W(K),children:K},K,!1,void 0,this))},void 0,!1,void 0,this),Q("div",{class:"field-label",children:"模板"},void 0,!1,void 0,this),Q("div",{class:"tmpl",children:z.map(([K,v,y])=>Q("button",{class:K===F?"sel":"",onClick:()=>G(K),children:[Q("div",{class:"tt",children:v},void 0,!1,void 0,this),Q("div",{class:"td",children:y},void 0,!1,void 0,this)]},K,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var n8=[4,28,45,130,165,200,220,255,290,330];function xZ(Z){let J=0;for(let z=0;z<Z.length;z++)J=J*31+Z.charCodeAt(z)>>>0;return`hsl(${n8[J%n8.length]} 65% 45%)`}function q9({text:Z}){return Q("span",{class:"chip",style:{["--c"]:xZ(Z)},children:Z},void 0,!1,void 0,this)}function w9({prop:Z,val:J}){if(J==null||J===""||Array.isArray(J)&&J.length===0)return Q("span",{class:"muted",children:" "},void 0,!1,void 0,this);if(Z.type==="select")return Q(q9,{text:String(J)},void 0,!1,void 0,this);if(Z.type==="multi_select"||Z.type==="relation")return Q(z0,{children:J.map((z)=>Q(q9,{text:String(z)},String(z),!1,void 0,this))},void 0,!1,void 0,this);if(Z.type==="url")return Q("a",{href:String(J),target:"_blank",rel:"noreferrer",onClick:(z)=>z.stopPropagation(),children:String(J)},void 0,!1,void 0,this);return Q("span",{children:String(J)},void 0,!1,void 0,this)}function jZ(Z,J){if(Z==="relation")return J.split(",").map((z)=>z.trim()).filter(Boolean);return J}function r8(Z,J){if(J==null)return"";if(Array.isArray(J))return J.join(", ");return String(J)}var X9="\x00__ungrouped__";function l8({props:Z,records:J,onCommitValue:z,onCreate:$,onOpenRecord:q,onMove:X}){let W=Z.filter((B)=>B.type==="select"||B.type==="multi_select"),[F,G]=c(null),H=Z.find((B)=>B.id===F)??W.find((B)=>B.type==="select")??W[0]??null,Y=Y0(null);if(!H)return Q("div",{class:"view-placeholder",children:"看板视图需要一个「单选」或「多选」属性来分组。请在表格视图中添加一个单选列后再切换到看板。"},void 0,!1,void 0,this);let K=Z[0],v=H.type==="multi_select",y=H.config?.options??[],w=(B)=>{let k=B.values[H.name];if(v){let S=(Array.isArray(k)?k:[]).map(String).filter((T)=>y.includes(T));return S.length?S:[X9]}let P=k==null?"":String(k);return P&&y.includes(P)?[P]:[X9]},_=new Map;for(let B of y)_.set(B,[]);_.set(X9,[]);for(let B of J)for(let k of w(B))_.get(k)?.push(B);let A=[...y];if((_.get(X9)?.length??0)>0)A.push(X9);let f=()=>document.querySelectorAll(".board-col.drop-into").forEach((B)=>B.classList.remove("drop-into")),R=(B,k)=>{if(B.button!==0)return;if(B.target.closest("button,a,input"))return;let P=B.currentTarget.closest(".kcard");if(!P)return;let S=P.getBoundingClientRect();B.preventDefault(),Y.current={id:k.id,pointerId:B.pointerId,startX:B.clientX,startY:B.clientY,offsetX:B.clientX-S.left,offsetY:B.clientY-S.top,active:!1,source:P,ghost:null};let T=(b)=>{let h=Y.current;if(!h||h.pointerId!==b.pointerId)return;if(!h.active){if(Math.hypot(b.clientX-h.startX,b.clientY-h.startY)<4)return;h.active=!0;let u=h.source.cloneNode(!0);u.classList.add("dragging-ghost"),u.style.width=`${S.width}px`,document.body.appendChild(u),h.ghost=u,h.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}if(b.preventDefault(),h.ghost)h.ghost.style.transform=`translate3d(${Math.round(b.clientX-h.offsetX)}px, ${Math.round(b.clientY-h.offsetY)}px, 0)`;f(),document.elementFromPoint(b.clientX,b.clientY)?.closest?.(".board-col")?.classList.add("drop-into")},d=(b)=>{let h=Y.current;if(!h||h.pointerId!==b.pointerId)return;if(removeEventListener("pointermove",T),removeEventListener("pointerup",d),removeEventListener("pointercancel",d),h.ghost?.remove(),h.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),f(),Y.current=null,!h.active){q(k.id);return}let n=document.elementFromPoint(b.clientX,b.clientY)?.closest?.(".board-col");if(!n)return;if(!v){let U0=n.dataset.colKey,g=String(k.values[H.name]??""),M=U0===X9?null:U0;if(String(M??"")!==g)z(k,H,M)}let u=document.elementFromPoint(b.clientX,b.clientY)?.closest?.(".kcard"),Q0=u?.dataset.recId;if(Q0&&Q0!==k.id){let U0=u.getBoundingClientRect();X(k.id,Q0,b.clientY<U0.top+U0.height/2?"before":"after")}};addEventListener("pointermove",T,{passive:!1}),addEventListener("pointerup",d),addEventListener("pointercancel",d)};return Q("div",{class:"board-wrap",children:[Q("div",{class:"board-bar",children:[Q("button",{class:"tbtn",onClick:(B)=>A0(B,(k)=>Q(z0,{children:[Q(g0,{children:"按属性分组"},void 0,!1,void 0,this),W.map((P)=>Q(s,{icon:m0[P.type],label:P.name,onClick:()=>{G(P.id),k()}},P.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[Q(D,{name:"group",cls:"ico sm"},void 0,!1,void 0,this),"分组:",H.name]},void 0,!0,void 0,this),v&&Q("span",{class:"muted",style:{fontSize:12},children:"多选分组不支持拖拽改值"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"board",children:A.map((B)=>{let k=_.get(B)??[],P=B===X9;return Q("div",{class:"board-col","data-col-key":B,children:[Q("div",{class:"board-col-head",children:[P?Q("span",{class:"muted",style:{fontWeight:600},children:"未分组"},void 0,!1,void 0,this):Q(q9,{text:B},void 0,!1,void 0,this),Q("span",{class:"board-count",children:k.length},void 0,!1,void 0,this),Q("div",{class:"spacer"},void 0,!1,void 0,this),Q("button",{class:"iconbtn sm",title:"新建记录",onClick:()=>$(P?{}:{[H.name]:B}),children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"board-col-body",children:[k.map((S)=>Q("div",{class:"kcard","data-rec-id":S.id,onPointerDown:(T)=>R(T,S),children:[Q("div",{class:"kcard-title",children:M1(S,K)||Q("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Z.filter((T)=>T!==K&&T.id!==H.id&&!N1(S.values[T.name])).slice(0,4).map((T)=>Q("div",{class:"kcard-field",children:[Q(D,{name:m0[T.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),Q(w9,{prop:T,val:S.values[T.name]},void 0,!1,void 0,this)]},T.id,!0,void 0,this))]},S.id,!0,void 0,this)),Q("button",{class:"board-add",onClick:()=>$(P?{}:{[H.name]:B}),children:[Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},B,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function M1(Z,J){if(!J)return"";let z=Z.values[J.name];return z==null?"":Array.isArray(z)?z.join(", "):String(z)}function N1(Z){return Z==null||Z===""||Array.isArray(Z)&&Z.length===0}function V9(Z){if(Z==null)return null;let J=String(Z).trim();if(!J)return null;let z=/^(\d{4})-(\d{2})-(\d{2})/.exec(J);if(z)return new Date(Number(z[1]),Number(z[2])-1,Number(z[3]));let $=new Date(J);return Number.isNaN($.getTime())?null:new Date($.getFullYear(),$.getMonth(),$.getDate())}function i0(Z){let J=Z.getFullYear(),z=String(Z.getMonth()+1).padStart(2,"0"),$=String(Z.getDate()).padStart(2,"0");return`${J}-${z}-${$}`}function I0(Z,J){return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate()+J)}function DZ(Z,J){return Z.getFullYear()===J.getFullYear()&&Z.getMonth()===J.getMonth()&&Z.getDate()===J.getDate()}function f1(Z,J){return new Date(Z,J,1)}function k1(Z,J){return new Date(Z,J+1,0)}function L9(Z,J){let z=Date.UTC(Z.getFullYear(),Z.getMonth(),Z.getDate()),$=Date.UTC(J.getFullYear(),J.getMonth(),J.getDate());return Math.round(($-z)/86400000)}function n9(){let Z=new Date;return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate())}function V1(Z){let J=(Z.getDay()+6)%7;return I0(Z,-J)}function t8(Z,J){let z=V1(f1(Z,J)),$=k1(Z,J),q=[],X=z;while(X<=$||q.length===0||X.getDay()!==1){let W=[];for(let F=0;F<7;F++)W.push(I0(X,F));if(q.push(W),X=I0(X,7),q.length>=6)break}return q}var g1=["一","二","三","四","五","六","日"],uZ=3;function o8({props:Z,records:J,onCommitValue:z,onCreate:$,onOpenRecord:q}){let X=Z.filter((P)=>P.type==="date"),[W,F]=c(null),G=Z.find((P)=>P.id===W)??X[0]??null,H=n9(),[Y,K]=c({y:H.getFullYear(),m:H.getMonth()}),v=Y0(null);if(!G)return Q("div",{class:"view-placeholder",children:"日历视图需要一个「日期」属性。请在表格视图中添加一个日期列后再切换到日历。"},void 0,!1,void 0,this);let y=Z[0],w=t8(Y.y,Y.m),_=J.map((P)=>({rec:P,date:V9(P.values[G.name])})).filter((P)=>P.date!=null),A=(P)=>_.filter((S)=>DZ(S.date,P)),f=(P)=>{let S=Y.m+P;K({y:Y.y+Math.floor(S/12),m:(S%12+12)%12})},R=()=>K({y:H.getFullYear(),m:H.getMonth()}),L=()=>document.querySelectorAll(".cal-day.drop-into").forEach((P)=>P.classList.remove("drop-into")),B=(P,S)=>{if(P.button!==0)return;P.preventDefault(),P.stopPropagation(),v.current={id:S.id,pointerId:P.pointerId,startX:P.clientX,startY:P.clientY,active:!1,ghost:null};let T=(b)=>{let h=v.current;if(!h||h.pointerId!==b.pointerId)return;if(!h.active){if(Math.hypot(b.clientX-h.startX,b.clientY-h.startY)<4)return;h.active=!0,h.ghost=b1(r9(S,y)),document.body.classList.add("table-dragging")}if(b.preventDefault(),h.ghost)h.ghost.style.transform=`translate3d(${Math.round(b.clientX+8)}px, ${Math.round(b.clientY+8)}px, 0)`;L(),document.elementFromPoint(b.clientX,b.clientY)?.closest?.(".cal-day")?.classList.add("drop-into")},d=(b)=>{let h=v.current;if(!h||h.pointerId!==b.pointerId)return;if(removeEventListener("pointermove",T),removeEventListener("pointerup",d),removeEventListener("pointercancel",d),h.ghost?.remove(),document.body.classList.remove("table-dragging"),L(),v.current=null,!h.active){q(S.id);return}let u=document.elementFromPoint(b.clientX,b.clientY)?.closest?.(".cal-day")?.dataset.iso;if(u&&u!==String(S.values[G.name]??""))z(S,G,u)};addEventListener("pointermove",T,{passive:!1}),addEventListener("pointerup",d),addEventListener("pointercancel",d)},k=(P)=>A0(P,(S)=>Q(z0,{children:[Q(g0,{children:"按日期属性"},void 0,!1,void 0,this),X.map((T)=>Q(s,{icon:m0[T.type],label:T.name,onClick:()=>{F(T.id),S()}},T.id,!1,void 0,this))]},void 0,!0,void 0,this));return Q("div",{class:"cal",children:[Q("div",{class:"cal-nav",children:[Q("button",{class:"iconbtn",title:"上个月",onClick:()=>f(-1),children:Q(D,{name:"chevron",cls:"ico flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"cal-title",children:[Y.y," 年 ",Y.m+1," 月"]},void 0,!0,void 0,this),Q("button",{class:"iconbtn",title:"下个月",onClick:()=>f(1),children:Q(D,{name:"chevron",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("button",{class:"tbtn",onClick:R,children:"今天"},void 0,!1,void 0,this),Q("div",{class:"spacer"},void 0,!1,void 0,this),X.length>1&&Q("button",{class:"tbtn",onClick:k,children:[Q(D,{name:"calendar",cls:"ico sm"},void 0,!1,void 0,this),G.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"cal-grid cal-head",children:g1.map((P)=>Q("div",{class:"cal-wd",children:P},P,!1,void 0,this))},void 0,!1,void 0,this),Q("div",{class:"cal-body",children:w.map((P,S)=>Q("div",{class:"cal-grid cal-week",children:P.map((T)=>{let d=T.getMonth()!==Y.m,b=DZ(T,H),h=A(T),n=i0(T);return Q("div",{class:"cal-day"+(d?" dim":"")+(b?" today":""),"data-iso":n,onClick:(u)=>{if(u.target.closest(".cal-ev,.cal-add,.cal-more"))return;$({[G.name]:n})},children:[Q("div",{class:"cal-daynum",children:[Q("span",{children:T.getDate()},void 0,!1,void 0,this),Q("button",{class:"cal-add",title:"新建记录",onClick:(u)=>{u.stopPropagation(),$({[G.name]:n})},children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"cal-events",children:[h.slice(0,uZ).map(({rec:u})=>Q("div",{class:"cal-ev",style:{["--c"]:xZ(r9(u,y)||u.id)},onPointerDown:(Q0)=>B(Q0,u),children:r9(u,y)||"无标题"},u.id,!1,void 0,this)),h.length>uZ&&Q("button",{class:"cal-more",onClick:(u)=>{u.stopPropagation(),A0(u,(Q0)=>Q(z0,{children:[Q(g0,{children:[n," · ",h.length," 条记录"]},void 0,!0,void 0,this),h.map(({rec:U0})=>Q(s,{label:r9(U0,y)||"无标题",onClick:()=>{Q0(),q(U0.id)}},U0.id,!1,void 0,this))]},void 0,!0,void 0,this))},children:["+",h.length-uZ," 更多"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},n,!0,void 0,this)})},S,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function r9(Z,J){if(!J)return"";let z=Z.values[J.name];return z==null?"":Array.isArray(z)?z.join(", "):String(z)}function b1(Z){let J=document.createElement("div");return J.className="drag-ghost",J.textContent=Z||"移动记录",document.body.appendChild(J),J}var Z9=200,g9=36,b9=44,j0=28,s8=3;function Z4({props:Z,records:J,onCommitValue:z,onOpenRecord:$}){let q=Z.filter((M)=>M.type==="date"),[X,W]=c(null),[F,G]=c(null),H=Z.find((M)=>M.id===X)??q[0]??null,Y=F==="none"?null:Z.find((M)=>M.id===F)??q.find((M)=>M!==H)??null,K=Y0(null),v=Y0(null);if(!H)return Q("div",{class:"view-placeholder",children:"时间轴视图需要一个「日期」属性作为开始日期。请在表格视图中添加一个日期列后再切换到时间轴。"},void 0,!1,void 0,this);let y=Z[0],w=n9(),_=J.map((M)=>{let O=V9(M.values[H.name]),I=Y?V9(M.values[Y.name]):null;return{rec:M,s:O,e:I&&O&&I<O?O:I}}),A=_.filter((M)=>M.s),f=w,R=w;if(A.length){f=A[0].s,R=A[0].s;for(let M of A){if(M.s<f)f=M.s;let O=M.e??M.s;if(O>R)R=O}}else f=I0(w,-10),R=I0(w,14);let L=I0(f,-s8),B=I0(R,s8),k=L9(L,B)+1,P=Z9+k*j0,S=(M)=>Z9+M*j0,T=L9(L,w),d=[];for(let M=0;M<k;M++)d.push(I0(L,M));let b=(M,O,I,o,e)=>{if(e===0)return;if(o==="move"){if(O)z(M,H,i0(I0(O,e)));if(Y&&I)z(M,Y,i0(I0(I,e)))}else if(o==="l"&&O){let $0=I0(O,e);z(M,H,i0(I&&$0>I?I:$0))}else if(o==="r"&&Y&&I){let $0=I0(I,e);z(M,Y,i0(O&&$0<O?O:$0))}},h=(M,O)=>{let I=v.current;if(!I)return;I.style.left=M+"px",I.style.display="block";let o=I.firstElementChild;if(o)o.textContent=O},n=()=>{if(v.current)v.current.style.display="none"},u=(M,O,I,o,e,$0)=>{if(M.button!==0||!I)return;M.preventDefault(),M.stopPropagation();let{offsetLeft:H0,offsetWidth:O0}=$0,X0=!1;K.current={pointerId:M.pointerId,startX:M.clientX};let N=(a)=>{let r=K.current;if(!r||r.pointerId!==a.pointerId)return;let W0=Math.round((a.clientX-r.startX)/j0);if(Math.abs(a.clientX-r.startX)>3)X0=!0;let B0,Z0;if(e==="move"){let E=H0+W0*j0;$0.style.left=E+"px",B0=E,Z0=I0(I,W0)}else if(e==="l"){let E=H0+W0*j0;$0.style.left=E+"px",$0.style.width=Math.max(j0,O0-W0*j0)+"px",B0=E,Z0=I0(I,W0)}else{let E=Math.max(j0,O0+W0*j0);$0.style.width=E+"px",B0=H0+E,Z0=I0(I,Math.round(E/j0)-1)}h(B0,i0(Z0))},x=(a)=>{let r=K.current;if(!r||r.pointerId!==a.pointerId)return;removeEventListener("pointermove",N),removeEventListener("pointerup",x),removeEventListener("pointercancel",x),K.current=null,n();let W0=Math.round((a.clientX-r.startX)/j0);if(!X0){$(O.id);return}b(O,I,o,e,W0)};addEventListener("pointermove",N,{passive:!1}),addEventListener("pointerup",x),addEventListener("pointercancel",x)},Q0=(M,O)=>{if(z(M,H,i0(O)),Y)z(M,Y,i0(O))},U0=(M,O)=>{let I=M.currentTarget.closest(".tl-row");if(!I)return;let o=M.clientX-I.getBoundingClientRect().left;if(o<Z9)return;let e=Math.max(0,Math.min(k-1,Math.round((o-Z9)/j0)));Q0(O,I0(L,e))};return Q("div",{class:"tl",children:[Q("div",{class:"tl-toolbar",children:Q("button",{class:"tbtn",onClick:(M)=>A0(M,(O)=>Q(z0,{children:[Q(g0,{children:"开始日期"},void 0,!1,void 0,this),q.map((I)=>Q(s,{icon:m0[I.type],label:I.name,checked:I===H,onClick:()=>{W(I.id),O()}},I.id,!1,void 0,this)),Q(_0,{},void 0,!1,void 0,this),Q(g0,{children:"结束日期(可选)"},void 0,!1,void 0,this),Q(s,{icon:"x",label:"无(里程碑)",checked:!Y,onClick:()=>{G("none"),O()}},void 0,!1,void 0,this),q.map((I)=>Q(s,{icon:m0[I.type],label:I.name,checked:I===Y,onClick:()=>{G(I.id),O()}},I.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[Q(D,{name:"timeline",cls:"ico sm"},void 0,!1,void 0,this),H.name,Y?` → ${Y.name}`:"(里程碑)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"tl-scroll",children:Q("div",{class:"tl-canvas",style:{width:P,height:b9+_.length*g9+8},children:[Q("div",{class:"tl-axis",style:{height:b9},children:[Q("div",{class:"tl-corner",style:{width:Z9},children:"记录"},void 0,!1,void 0,this),d.map((M,O)=>{let I=M.getDate()===1;return Q("div",{class:"tl-tick"+(I?" mstart":"")+(L9(M,w)===0?" today":""),style:{left:S(O),width:j0},children:[I&&Q("span",{class:"tl-month",children:[M.getMonth()+1,"月"]},void 0,!0,void 0,this),Q("span",{class:"tl-dnum",children:M.getDate()},void 0,!1,void 0,this)]},O,!0,void 0,this)})]},void 0,!0,void 0,this),_.map(({rec:M,s:O,e:I},o)=>{let e=O?L9(L,O):0,$0=O&&I?L9(O,I)+1:1;return Q("div",{class:"tl-row",style:{top:b9+o*g9,height:g9},children:[Q("div",{class:"tl-rowlabel",style:{width:Z9},children:e8(M,y)||Q("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!O?Q("div",{class:"tl-track-empty",style:{left:Z9},onClick:(H0)=>U0(H0,M),title:"点击空白处排期",children:Q("button",{class:"tl-schedule",style:{left:Z9+8},onClick:(H0)=>{H0.stopPropagation(),Q0(M,w)},children:"未排期 · 排到今天"},void 0,!1,void 0,this)},void 0,!1,void 0,this):I?Q("div",{class:"tl-item",style:{left:S(e),width:$0*j0},onPointerDown:(H0)=>u(H0,M,O,I,"move",H0.currentTarget),children:[Q("span",{class:"tl-h l",onPointerDown:(H0)=>u(H0,M,O,I,"l",H0.currentTarget.parentElement)},void 0,!1,void 0,this),Q("span",{class:"tl-label",children:e8(M,y)},void 0,!1,void 0,this),Q("span",{class:"tl-h r",onPointerDown:(H0)=>u(H0,M,O,I,"r",H0.currentTarget.parentElement)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):Q("div",{class:"tl-milestone",style:{left:S(e)},title:i0(O),onPointerDown:(H0)=>u(H0,M,O,null,"move",H0.currentTarget)},void 0,!1,void 0,this)]},M.id,!0,void 0,this)}),T>=0&&T<k&&Q("div",{class:"tl-today",style:{left:S(T)+j0/2,height:b9+_.length*g9}},void 0,!1,void 0,this),Q("div",{class:"tl-guide",ref:v,style:{display:"none",height:b9+_.length*g9},children:Q("span",{class:"tl-guide-label"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function e8(Z,J){if(!J)return"";let z=Z.values[J.name];return z==null?"":Array.isArray(z)?z.join(", "):String(z)}var S1=[["表格","list"],["看板","group"],["日历","calendar"],["时间轴","timeline"]];function l9(Z){return{r0:Math.min(Z.a.r,Z.b.r),r1:Math.max(Z.a.r,Z.b.r),c0:Math.min(Z.a.c,Z.b.c),c1:Math.max(Z.a.c,Z.b.c)}}function Q4({db:Z,reloadNav:J,onError:z}){let[$,q]=c([]),[X,W]=c([]),[F,G]=c(0),[H,Y]=c(new Set),[K,v]=c(null),[y,w]=c(null),[_,A]=c(null),[f,R]=c(null),L=(N)=>N.config?.width??180,B=Y0(null),k=Y0(null),P=Y0(null),S=Y0(!1),T=(N)=>N().catch((x)=>z(String(x.message))),d=async()=>{let[N,x]=await Promise.all([l.listProperties(Z.id),l.listRecords(Z.id)]);q(N),W(x)};L0(()=>{Y(new Set),A(null),G(0),R(null),d().catch((N)=>z(String(N.message)))},[Z.id]);let b=(N,x,a)=>T(async()=>{let r=await l.updateRecord(N.id,{[x.name]:a});W((W0)=>W0.map((B0)=>B0.id===N.id?r:B0)),w(null)}),h=(N)=>T(async()=>{let x=await l.createRecord(Z.id,N);W((a)=>[...a,x])}),n=()=>h({}),u=(N)=>T(async()=>{if(await Promise.all(N.map((x)=>l.deleteRecord(x))),W((x)=>x.filter((a)=>!N.includes(a.id))),Y(new Set),_&&N.includes(_))A(null)}),Q0=(N)=>T(async()=>{let x=await l.createRecord(Z.id,N.values);W((a)=>{let r=a.findIndex((W0)=>W0.id===N.id);return[...a.slice(0,r+1),x,...a.slice(r+1)]})}),U0=(N,x,a)=>{if(N===x||K)return;W((r)=>J4(r,N,x,a))},g=(N,x,a)=>{if(N===x||K)return;U0(N,x,a),l.moveRecord(N,x,a).catch((r)=>{z(String(r.message)),d().catch((W0)=>z(String(W0.message)))})},M=(N,x,a)=>{if(N===x)return;q((r)=>{let W0=J4(r,N,x,a).map((E,i)=>({...E,position:i+1})),B0=new Map(r.map((E)=>[E.id,E.position])),Z0=W0.filter((E)=>B0.get(E.id)!==E.position);if(Z0.length)Promise.all(Z0.map((E)=>l.updateProperty(E.id,{position:E.position}))).catch((E)=>{z(String(E.message)),d().catch((i)=>z(String(i.message)))});return W0})},O=(N,x)=>{if(K||N.button!==0)return;let a=N.currentTarget.closest("tr");if(!a)return;N.preventDefault();let r=a.getBoundingClientRect(),W0={id:x.id,pointerId:N.pointerId,startX:N.clientX,startY:N.clientY,offsetX:N.clientX-r.left,offsetY:N.clientY-r.top,active:!1,source:a,ghost:null,targetId:null,where:"before"};B.current=W0;let B0=(E)=>{let i=B.current;if(!i||i.pointerId!==E.pointerId)return;if(!i.active){let M0=E.clientX-i.startX,G0=E.clientY-i.startY;if(Math.hypot(M0,G0)<4)return;i.active=!0,i.ghost=D1(i.source),i.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}E.preventDefault(),z4(i.ghost,E.clientX-i.offsetX,E.clientY-i.offsetY),x1(i,E.clientX,E.clientY)},Z0=(E)=>{let i=B.current;if(!i||i.pointerId!==E.pointerId)return;if(removeEventListener("pointermove",B0),removeEventListener("pointerup",Z0),removeEventListener("pointercancel",Z0),i.ghost?.remove(),i.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),hZ(),B.current=null,i.active&&i.targetId)g(i.id,i.targetId,i.where)};addEventListener("pointermove",B0,{passive:!1}),addEventListener("pointerup",Z0),addEventListener("pointercancel",Z0)},I=(N,x)=>{if(N.button!==0)return;let a=N.currentTarget.closest("th");if(!a)return;let r=a.getBoundingClientRect(),W0={id:x.id,pointerId:N.pointerId,startX:N.clientX,startY:N.clientY,offsetX:N.clientX-r.left,offsetY:N.clientY-r.top,active:!1,source:a,ghost:null,targetId:null,where:"before"};P.current=W0;let B0=(E)=>{let i=P.current;if(!i||i.pointerId!==E.pointerId)return;if(!i.active){let M0=E.clientX-i.startX,G0=E.clientY-i.startY;if(Math.hypot(M0,G0)<4)return;i.active=!0,S.current=!0,i.ghost=u1(i.source),i.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}E.preventDefault(),z4(i.ghost,E.clientX-i.offsetX,E.clientY-i.offsetY),j1(i,E.clientX,E.clientY)},Z0=(E)=>{let i=P.current;if(!i||i.pointerId!==E.pointerId)return;if(removeEventListener("pointermove",B0),removeEventListener("pointerup",Z0),removeEventListener("pointercancel",Z0),i.ghost?.remove(),i.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),mZ(),P.current=null,i.active)setTimeout(()=>{S.current=!1},0);if(i.active&&i.targetId)M(i.id,i.targetId,i.where)};addEventListener("pointermove",B0,{passive:!1}),addEventListener("pointerup",Z0),addEventListener("pointercancel",Z0)},o=(N,x,a)=>{if(N.button!==0)return;if(N.target.closest("input,button,a"))return;let r=N.shiftKey&&f?f.a:{r:x,c:a};R({a:r,b:{r:x,c:a}}),k.current={pointerId:N.pointerId,startX:N.clientX,startY:N.clientY,active:!1};let W0=(Z0)=>{let E=k.current;if(!E||E.pointerId!==Z0.pointerId)return;if(!E.active){if(Math.hypot(Z0.clientX-E.startX,Z0.clientY-E.startY)<4)return;E.active=!0,document.body.classList.add("cell-selecting")}Z0.preventDefault();let i=document.elementFromPoint(Z0.clientX,Z0.clientY)?.closest?.("td.cell-td");if(!i||i.dataset.r==null)return;R({a:r,b:{r:Number(i.dataset.r),c:Number(i.dataset.c)}})},B0=(Z0)=>{let E=k.current;if(!E||E.pointerId!==Z0.pointerId)return;removeEventListener("pointermove",W0),removeEventListener("pointerup",B0),removeEventListener("pointercancel",B0),document.body.classList.remove("cell-selecting"),k.current=null};addEventListener("pointermove",W0,{passive:!1}),addEventListener("pointerup",B0),addEventListener("pointercancel",B0)},e=(N)=>T(async()=>{if(!f)return;let{r0:x,r1:a,c0:r,c1:W0}=l9(f),B0=$.slice(r,W0+1),Z0=H0.slice(x,a+1),E=await Promise.all(Z0.map((i)=>{let M0={};for(let G0 of B0)M0[G0.name]=N(G0);return l.updateRecord(i.id,M0)}));W((i)=>i.map((M0)=>E.find((G0)=>G0.id===M0.id)??M0))}),$0=async()=>{if(!f)return;let{r0:N,r1:x,c0:a,c1:r}=l9(f),W0=$.slice(a,r+1),B0=H0.slice(N,x+1).map((Z0)=>W0.map((E)=>r8(E,Z0.values[E.name])).join("\t")).join(`
|
|
8
|
+
`);try{await navigator.clipboard.writeText(B0)}catch{}},H0=K?[...X].sort((N,x)=>{let a=String(N.values[K.name]??""),r=String(x.values[K.name]??"");return(K.desc?-1:1)*a.localeCompare(r,"zh")}):X,O0=X.find((N)=>N.id===_)??null,X0=f?l9(f):null;return L0(()=>{let N=(x)=>{if(!f||y)return;let a=document.activeElement,r=(a?.tagName||"").toLowerCase();if(r==="input"||r==="textarea"||a?.isContentEditable)return;if((x.metaKey||x.ctrlKey)&&x.key.toLowerCase()==="c")x.preventDefault(),$0();else if(x.key==="Escape")R(null);else if(x.key==="Delete"||x.key==="Backspace"){let W0=l9(f);if(W0.r0!==W0.r1||W0.c0!==W0.c1)x.preventDefault(),e(()=>null)}};return addEventListener("keydown",N),()=>removeEventListener("keydown",N)},[f,y,X,$,K]),Q("div",{class:"db",onPointerDown:(N)=>{if(!N.target.closest("td.cell-td, .cellselbar"))R(null)},children:[Q("div",{class:"db-head",children:[Q("div",{class:"db-icon",children:Z.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),Q("div",{children:Q("div",{class:"db-title",contentEditable:!0,onBlur:(N)=>{let x=N.target.textContent?.trim()||Z.name;if(x!==Z.name)T(async()=>{await l.updateDatabase(Z.id,{name:x}),await J()})},children:Z.name},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"views",children:[S1.map(([N,x],a)=>Q("div",{class:"view-tab"+(a===F?" active":""),onClick:()=>G(a),children:[Q(D,{name:x},void 0,!1,void 0,this),N]},N,!0,void 0,this)),Q("div",{class:"view-tab",title:"新建视图",children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),Q("button",{class:"btn btn-primary",onClick:n,children:[Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F===0&&Q("div",{class:"toolbar",children:[Q("button",{class:"tbtn",onClick:(N)=>c1(N,$,K,v),children:[Q(D,{name:"sort",cls:"ico sm"},void 0,!1,void 0,this),"排序"]},void 0,!0,void 0,this),Q("button",{class:"tbtn",children:[Q(D,{name:"filter",cls:"ico sm"},void 0,!1,void 0,this),"筛选"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F===1?Q(l8,{props:$,records:X,onCommitValue:b,onCreate:h,onOpenRecord:A,onMove:g},void 0,!1,void 0,this):F===2?Q(o8,{props:$,records:X,onCommitValue:b,onCreate:h,onOpenRecord:A},void 0,!1,void 0,this):F===3?Q(Z4,{props:$,records:X,onCommitValue:b,onCreate:h,onOpenRecord:A},void 0,!1,void 0,this):Q("div",{class:"tablewrap",children:[Q("div",{class:"tablescroll",children:Q("table",{class:"grid",children:[Q("colgroup",{children:[Q("col",{style:{width:38}},void 0,!1,void 0,this),Q("col",{style:{width:26}},void 0,!1,void 0,this),$.map((N)=>Q("col",{"data-col-id":N.id,style:{width:L(N)}},N.id,!1,void 0,this)),Q("col",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("thead",{children:Q("tr",{children:[Q("th",{class:"selcell",children:Q("input",{type:"checkbox",checked:H.size>0&&H.size===X.length,onChange:(N)=>Y(N.target.checked?new Set(X.map((x)=>x.id)):new Set)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("th",{class:"gripcol"},void 0,!1,void 0,this),$.map((N)=>Q("th",{"data-col-id":N.id,children:[Q("div",{class:"colhead",onPointerDown:(x)=>I(x,N),onClick:(x)=>{if(S.current){S.current=!1,x.preventDefault(),x.stopPropagation();return}p1(x,N,Z.id,d,$)},children:[Q("span",{class:"ti",children:Q(D,{name:m0[N.type]??"text",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"nm",children:N.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q(h1,{colId:N.id,startWidth:L(N),onCommit:(x)=>{q((a)=>a.map((r)=>r.id===N.id?{...r,config:{...r.config??{},width:x}}:r)),l.setColumnWidth(N.id,x).catch((a)=>{z(String(a.message)),d().catch(()=>{})})}},void 0,!1,void 0,this)]},N.id,!0,void 0,this)),Q("th",{class:"addcol",children:Q("div",{class:"colhead",title:"新建属性",onClick:(N)=>i1(N,Z.id,d),children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q("tbody",{children:H0.map((N,x)=>Q("tr",{"data-row-id":N.id,class:H.has(N.id)?"sel":"",children:[Q("td",{class:"selcell",children:Q("input",{type:"checkbox",checked:H.has(N.id),onChange:()=>Y((a)=>{let r=new Set(a);return r.has(N.id)?r.delete(N.id):r.add(N.id),r})},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("td",{class:"rowgrip",title:K?"清除排序后可拖拽移动":"拖拽移动","aria-disabled":K?"true":void 0,onPointerDown:(a)=>O(a,N),children:Q(D,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((a,r)=>{let W0=X0!=null&&x>=X0.r0&&x<=X0.r1&&r>=X0.c0&&r<=X0.c1,B0;if(W0&&X0){let Z0=[];if(x===X0.r0)Z0.push("inset 0 2px 0 0 var(--accent)");if(x===X0.r1)Z0.push("inset 0 -2px 0 0 var(--accent)");if(r===X0.c0)Z0.push("inset 2px 0 0 0 var(--accent)");if(r===X0.c1)Z0.push("inset -2px 0 0 0 var(--accent)");B0=Z0.join(",")||void 0}return Q("td",{class:"cell-td"+(W0?" cellsel":""),"data-r":x,"data-c":r,style:B0?{boxShadow:B0}:void 0,onPointerDown:(Z0)=>o(Z0,x,r),children:Q(R1,{rec:N,prop:a,first:r===0,editing:y?.rec===N.id&&y?.prop===a.id,onEdit:()=>w({rec:N.id,prop:a.id}),onCancel:()=>w(null),onCommit:(Z0)=>b(N,a,Z0),onOpen:()=>A(N.id),onRowMenu:(Z0)=>d1(Z0,N,()=>A(N.id),()=>Q0(N),()=>u([N.id]))},void 0,!1,void 0,this)},a.id,!1,void 0,this)}),Q("td",{class:"filler"},void 0,!1,void 0,this)]},N.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"addrow",onClick:n,children:[Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建记录"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"gridfoot",children:[Q("span",{children:["共 ",X.length," 条记录"]},void 0,!0,void 0,this),Q("span",{children:[$.length," 个属性"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H.size>0&&Q("div",{class:"selbar",children:[Q("span",{class:"cnt",children:[H.size," 已选"]},void 0,!0,void 0,this),Q("button",{onClick:()=>T(async()=>{for(let N of H)await Q0(X.find((x)=>x.id===N))}),children:[Q(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),Q("button",{class:"del",onClick:async()=>{if(await x0({title:"删除记录?",message:`确定删除选中的 ${H.size} 条记录?`,confirmLabel:"删除",danger:!0}))u([...H])},children:[Q(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"删除"]},void 0,!0,void 0,this),Q("button",{onClick:()=>Y(new Set),children:Q(D,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X0&&(X0.r0!==X0.r1||X0.c0!==X0.c1)&&Q("div",{class:"selbar cellselbar",children:[Q("span",{class:"cnt",children:[(X0.r1-X0.r0+1)*(X0.c1-X0.c0+1)," 个单元格"]},void 0,!0,void 0,this),Q("button",{onClick:$0,children:[Q(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),Q("button",{onClick:()=>e((N)=>H0[X0.r0].values[N.name]??null),children:[Q(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"填充"]},void 0,!0,void 0,this),Q("button",{class:"del",onClick:()=>e(()=>null),children:[Q(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"清空"]},void 0,!0,void 0,this),Q("button",{onClick:()=>R(null),children:Q(D,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),O0&&Q(a1,{db:Z,props:$,rec:O0,onClose:()=>A(null),onCommit:(N,x)=>b(O0,N,x),onDelete:()=>u([O0.id]),onDuplicate:()=>Q0(O0)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function R1({rec:Z,prop:J,first:z,editing:$,onEdit:q,onCancel:X,onCommit:W,onOpen:F,onRowMenu:G}){let H=Z.values[J.name];if(J.type==="checkbox")return Q("div",{class:"cell center",children:Q("input",{type:"checkbox",checked:!!H,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>W(!H)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($&&(J.type==="select"||J.type==="multi_select"));if($&&J.type!=="select"&&J.type!=="multi_select"){let v=Array.isArray(H)?H.join(", "):H==null?"":String(H);return Q("div",{class:"cell",children:Q("input",{class:"inlineedit",type:J.type==="number"?"number":J.type==="date"?"date":"text",value:v,autofocus:!0,onBlur:(y)=>W(jZ(J.type,y.target.value)),onKeyDown:(y)=>{if(y.key==="Enter")y.target.blur();if(y.key==="Escape")X()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let Y=(v)=>{if(J.type==="select"||J.type==="multi_select")$4(v,J,H,W);else q()},K=Q(w9,{prop:J,val:H},void 0,!1,void 0,this);if(z)return Q("div",{class:"cell",onDblClick:Y,onContextMenu:(v)=>{v.preventDefault(),G(v)},children:Q("div",{class:"firstcell",children:[K,Q("div",{class:"rowactions",children:Q("button",{class:"rowopen",title:"打开",onClick:(v)=>{v.stopPropagation(),F()},children:Q(D,{name:"openPeek",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return Q("div",{class:"cell",onDblClick:Y,children:K},void 0,!1,void 0,this)}function J4(Z,J,z,$){let q=[...Z],X=q.findIndex((G)=>G.id===J);if(X<0)return Z;let W=q.splice(X,1)[0],F=q.findIndex((G)=>G.id===z);if(F<0)return Z;if($==="after")F+=1;return q.splice(F,0,W),q}function hZ(){document.querySelectorAll("table.grid tr.drop-before,table.grid tr.drop-after").forEach((Z)=>Z.classList.remove("drop-before","drop-after"))}function I1(Z,J){hZ();let z=Z.getBoundingClientRect(),$=J<z.top+z.height/2?"before":"after";return Z.classList.add($==="before"?"drop-before":"drop-after"),$}function mZ(){document.querySelectorAll("table.grid th.drop-before,table.grid th.drop-after").forEach((Z)=>Z.classList.remove("drop-before","drop-after"))}function T1(Z,J){mZ();let z=Z.getBoundingClientRect(),$=J<z.left+z.width/2?"before":"after";return Z.classList.add($==="before"?"drop-before":"drop-after"),$}function x1(Z,J,z){let $=document.elementFromPoint(J,z)?.closest?.("tr[data-row-id]");if(!$||$.dataset.rowId===Z.id){hZ(),Z.targetId=null;return}Z.targetId=$.dataset.rowId??null,Z.where=I1($,z)}function j1(Z,J,z){let $=document.elementFromPoint(J,z)?.closest?.("th[data-col-id]");if(!$||$.dataset.colId===Z.id){mZ(),Z.targetId=null;return}Z.targetId=$.dataset.colId??null,Z.where=T1($,J)}function z4(Z,J,z){if(!Z)return;Z.style.transform=`translate3d(${Math.round(J)}px, ${Math.round(z)}px, 0)`}function D1(Z){let J=Z.getBoundingClientRect(),z=document.createElement("div");z.className="drag-ghost row-ghost",z.style.width=`${J.width}px`,z.style.height=`${J.height}px`;let $=Array.from(Z.querySelectorAll("td")).map((q)=>(q.textContent??"").trim()).filter(Boolean).join(" ");return z.textContent=$||"移动记录",document.body.appendChild(z),z}function u1(Z){let J=Z.getBoundingClientRect(),z=document.createElement("div");return z.className="drag-ghost col-ghost",z.style.width=`${J.width}px`,z.style.height=`${J.height}px`,z.textContent=Z.textContent?.trim()||"移动属性",document.body.appendChild(z),z}function h1({colId:Z,startWidth:J,onCommit:z}){return Q("div",{class:"col-resizer",onPointerDown:(q)=>{q.preventDefault(),q.stopPropagation();let X=q.currentTarget,W=document.querySelector(`col[data-col-id="${CSS.escape(Z)}"]`),F=q.clientX,G=J,H=0;X.classList.add("dragging"),document.body.classList.add("col-resizing");let Y=()=>{if(H=0,W)W.style.width=G+"px"},K=(y)=>{if(G=Math.max(80,J+y.clientX-F),!H)H=requestAnimationFrame(Y)},v=()=>{if(H)cancelAnimationFrame(H);if(W)W.style.width=G+"px";removeEventListener("pointermove",K),removeEventListener("pointerup",v),removeEventListener("pointercancel",v),X.classList.remove("dragging"),document.body.classList.remove("col-resizing"),z(G)};addEventListener("pointermove",K,{passive:!1}),addEventListener("pointerup",v),addEventListener("pointercancel",v)}},void 0,!1,void 0,this)}function $4(Z,J,z,$){Z.stopPropagation();let q=J.type==="multi_select",X=J.config?.options??[];A0(Z,(W)=>Q(m1,{multi:q,options:X,value:z,onPick:(F)=>{if($(F),!q)W()}},void 0,!1,void 0,this))}function m1({multi:Z,options:J,value:z,onPick:$}){let[q,X]=c(z),W=(G)=>Z?Array.isArray(q)?q.includes(G):!1:q===G,F=(G)=>{if(Z){let H=new Set(Array.isArray(q)?q:[]);H.has(G)?H.delete(G):H.add(G);let Y=[...H];X(Y),$(Y)}else X(G),$(G)};return Q(z0,{children:[Q(g0,{children:Z?"多选 — 点选切换":"单选"},void 0,!1,void 0,this),J.map((G)=>Q("button",{class:"item",onClick:()=>F(G),children:[Q(q9,{text:G},void 0,!1,void 0,this),W(G)&&Q("span",{class:"chk",children:Q(D,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},G,!0,void 0,this)),Z&&Array.isArray(q)&&q.length>0&&Q(z0,{children:[Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"x",label:"清空",onClick:()=>{X([]),$([])}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function p1(Z,J,z,$,q){Z.stopPropagation(),A0(Z,(X)=>Q(E1,{prop:J,dbId:z,reload:$,close:X,allProps:q},void 0,!1,void 0,this),{minWidth:252})}function E1({prop:Z,dbId:J,reload:z,close:$,allProps:q}){let[X,W]=c(Z.name),[F,G]=c(Z.type),[H,Y]=c(Z.config?.options??[]),K=(w)=>l.updateProperty(Z.id,w).then(z).catch(()=>{}),v=(w)=>{G(w);let _=H;if((w==="select"||w==="multi_select")&&_.length===0)_=["选项 1","选项 2"],Y(_);K({type:w,...w==="select"||w==="multi_select"?{config:{options:_}}:{}})},y=(w)=>{Y(w),K({config:{options:w}})};return Q(z0,{children:[Q("input",{class:"field",value:X,onInput:(w)=>W(w.target.value),onBlur:()=>X&&X!==Z.name&&K({name:X}),onKeyDown:(w)=>{if(w.key==="Enter")w.target.blur(),$()}},void 0,!1,void 0,this),Q(g0,{children:"属性类型"},void 0,!1,void 0,this),Q("div",{class:"typegrid",children:Object.keys(y9).map((w)=>Q("button",{class:"item"+(w===F?" sel":""),onClick:()=>v(w),children:[Q("span",{class:"lico",children:Q(D,{name:m0[w],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"d",children:y9[w].t},void 0,!1,void 0,this)]},w,!0,void 0,this))},void 0,!1,void 0,this),(F==="select"||F==="multi_select")&&Q(z0,{children:[Q(_0,{},void 0,!1,void 0,this),Q(g0,{children:"选项"},void 0,!1,void 0,this),H.map((w,_)=>Q("div",{class:"optrow",children:[Q(q9,{text:w},void 0,!1,void 0,this),Q("button",{class:"x",onClick:()=>y(H.filter((A,f)=>f!==_)),children:Q(D,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},w+_,!0,void 0,this)),Q(s,{icon:"plus",label:"添加选项",onClick:()=>y([...H,"选项 "+(H.length+1)])},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{$(),l.createProperty({db:J,name:"新属性",type:"text"}).then(z)}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除属性",danger:!0,onClick:async()=>{if($(),await x0({title:"删除属性?",message:`「${Z.name}」及其所有单元格数据将被移除。`,confirmLabel:"删除",danger:!0}))l.deleteProperty(Z.id).then(z)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function i1(Z,J,z){Z.stopPropagation(),A0(Z,($)=>Q(z0,{children:[Q(g0,{children:"新建属性 · 选择类型"},void 0,!1,void 0,this),Q("div",{class:"typegrid",children:Object.keys(y9).map((q)=>Q("button",{class:"item",onClick:()=>{$();let X=q==="select"||q==="multi_select"?{options:["选项 1","选项 2"]}:void 0;l.createProperty({db:J,name:y9[q].t,type:q,config:X}).then(z).catch(()=>{})},children:[Q("span",{class:"lico",children:Q(D,{name:m0[q],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"d",children:y9[q].t},void 0,!1,void 0,this)]},q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function c1(Z,J,z,$){A0(Z,(q)=>Q(z0,{children:[Q(g0,{children:"排序依据"},void 0,!1,void 0,this),J.map((X)=>Q(s,{icon:m0[X.type],label:X.name,onClick:()=>{$({name:X.name,desc:z?.name===X.name?!z.desc:!1}),q()}},X.id,!1,void 0,this)),z&&Q(z0,{children:[Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"x",label:"清除排序",onClick:()=>{$(null),q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this))}function d1(Z,J,z,$,q){Z.stopPropagation(),A0(Z,(X)=>Q(z0,{children:[Q(s,{icon:"cornerUpRight",label:"打开记录",onClick:()=>{X(),z()}},void 0,!1,void 0,this),Q(s,{icon:"copy",label:"复制记录",onClick:()=>{X(),$()}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(X(),await x0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function a1({db:Z,props:J,rec:z,onClose:$,onCommit:q,onDelete:X,onDuplicate:W}){let[F,G]=c(null),H=J[0];return Q(z0,{children:[Q("div",{class:"scrim open",onClick:$},void 0,!1,void 0,this),Q("div",{class:"peek open",children:[Q("div",{class:"peek-head",children:[Q("button",{class:"iconbtn",onClick:$,children:Q(D,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("div",{style:{flex:1}},void 0,!1,void 0,this),Q("button",{class:"iconbtn",title:"更多",onClick:(Y)=>A0(Y,(K)=>Q(z0,{children:[Q(s,{icon:"copy",label:"复制记录",onClick:()=>{K(),W()}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(K(),await x0({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))X()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)),children:Q(D,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"peek-body",children:[Q("h2",{contentEditable:!0,onBlur:(Y)=>H&&q(H,Y.target.textContent??""),children:H?String(z.values[H.name]??"无标题"):"无标题"},void 0,!1,void 0,this),J.map((Y)=>Q("div",{class:"proprow",children:[Q("div",{class:"k",children:[Q(D,{name:m0[Y.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),Q("span",{children:Y.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q(n1,{prop:Y,rec:z,editing:F===Y.id,onEdit:()=>G(Y.id),onCommit:(K)=>{q(Y,K),G(null)}},void 0,!1,void 0,this)]},Y.id,!0,void 0,this)),Q("div",{class:"peek-divider"},void 0,!1,void 0,this),Q("div",{class:"muted",style:{fontSize:12,fontWeight:600,marginBottom:8},children:"页面正文"},void 0,!1,void 0,this),Q("div",{class:"editable",contentEditable:!0,"data-ph":"记录也可拥有自己的块级正文…",style:{minHeight:90},children:"每条记录都可作为页面打开,并拥有块级正文。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function n1({prop:Z,rec:J,editing:z,onEdit:$,onCommit:q}){let X=J.values[Z.name];if(Z.type==="checkbox")return Q("div",{class:"v",children:Q("input",{type:"checkbox",checked:!!X,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>q(!X)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(Z.type==="select"||Z.type==="multi_select")return Q("div",{class:"v",onClick:(W)=>$4(W,Z,X,q),children:Q(w9,{prop:Z,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(z){let W=Array.isArray(X)?X.join(", "):X==null?"":String(X);return Q("div",{class:"v",children:Q("input",{class:"inlineedit",type:Z.type==="number"?"number":Z.type==="date"?"date":"text",value:W,autofocus:!0,onBlur:(F)=>q(jZ(Z.type,F.target.value)),onKeyDown:(F)=>{if(F.key==="Enter")F.target.blur()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return Q("div",{class:"v",onClick:$,children:Q(w9,{prop:Z,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var B6=Z1(y6(),1);var qZ=B6.default;var Jz=0;function p0(){return`blk_${Date.now().toString(36)}_${(Jz++).toString(36)}`}var zz=new Set(["bullet","numbered","todo"]),t0={fenceOpen:/^\s*(`{3,}|~{3,})\s*([^\s`]*)?.*$/,h:/^(#{1,3})\s+(.*)$/,todo:/^\s*[-*+]\s+\[([ xX])\]\s*(.*)$/,bullet:/^\s*[-*+]\s+(.*)$/,numbered:/^\s*(\d+)[.)]\s+(.*)$/,quote:/^>\s?(.*)$/,divider:/^\s*(?:-{3,}|\*{3,}|_{3,})\s*$/};function u0(Z){return zz.has(Z)}function w6(Z){return _6(Z,0,1).join(`
|
|
9
|
+
`)}function WZ(Z){let J=(Z??"").replace(/\r\n?/g,`
|
|
10
|
+
`),z=J?J.split(`
|
|
11
|
+
`):[],$=C6(z,0,0).blocks;L6($);let q=J.length-J.replace(/\n+$/,"").length;for(let X=1;X<q;X++)$.push({id:p0(),type:"p",content:""});return $}function oZ(Z){let J=new Map,z=null;for(let $ of Z)if($.type==="numbered")z=z===null?Math.max(1,$.start??1):z+1,J.set($.id,z);else z=null;return J}function L6(Z){let J=!0;for(let z of Z){if(z.type==="numbered")if(J){if((z.start??1)<=1)delete z.start;J=!1}else delete z.start;else J=!0;if(z.children)L6(z.children)}}function P6(Z){let J=O6(Z,0).join(`
|
|
12
|
+
`).replace(/\n+$/,""),z=Qz(Z);return z>0?`${J}${`
|
|
13
|
+
`.repeat(z+1)}`:J}function Qz(Z){let J=0;for(let z=Z.length-1;z>=0;z--){let $=Z[z];if($.type==="p"&&$.content.trim()===""&&!$.children?.length)J++;else break}return J}function sZ(Z,J){if(J===" "){if(Z==="# ")return{type:"h1",content:""};if(Z==="## ")return{type:"h2",content:""};if(Z==="### ")return{type:"h3",content:""};if(Z==="> ")return{type:"quote",content:""};if(/^[-*+] $/.test(Z))return{type:"bullet",content:""};let $=Z.match(/^(\d+)[.)] $/);if($)return{type:"numbered",content:"",start:parseInt($[1],10)};let q=Z.match(/^[-*+]\s+\[([ xX])\]\s$/);if(q)return{type:"todo",content:"",checked:q[1].toLowerCase()==="x"};return null}let z=Z.match(/^```([A-Za-z0-9_+.#-]*)$/);if(z)return{type:"code",content:"",lang:Z8(z[1]??"")};return null}function C6(Z,J,z){let $=[],q=J;while(q<Z.length){let X=Z[q];if(X.trim()===""){q++;continue}if(H9(X)<z)break;let W=$z(Z,q,z)??Gz(Z,q,z)??qz(Z,q,z);$.push(W.block),q=W.next}return{blocks:$,next:q}}function $z(Z,J,z){let $=A6(Z[J],z);if(!$)return null;let q={id:p0(),type:$.type,content:$.content};if($.type==="todo")q.checked=!!$.checked;if($.type==="numbered"&&$.num!=null)q.start=$.num;let X=C6(Z,J+1,$.indent+2);if(X.blocks.length)q.children=X.blocks;return{block:q,next:X.next}}function qz(Z,J,z){let $=c0(Z[J],z),q=$.match(t0.fenceOpen);if(q)return Xz(Z,J,z,q);if(t0.divider.test($.trim()))return{block:{id:p0(),type:"divider",content:""},next:J+1};let X=$.match(t0.h);if(X)return{block:{id:p0(),type:`h${X[1].length}`,content:X[2]},next:J+1};if(t0.quote.test($))return Wz(Z,J,z);return Uz(Z,J,z)}function Xz(Z,J,z,$){let q=$[1],X=[],W=J+1;for(;W<Z.length;W++){let F=Z[W],G=c0(F,z);if(Lz(G,q[0],q.length)){W++;break}X.push(G)}return{block:{id:p0(),type:"code",content:X.join(`
|
|
14
|
+
`),lang:Z8($[2]??"")},next:W}}function Wz(Z,J,z){let $=[],q=J;for(;q<Z.length;q++){let X=Z[q];if(X.trim()===""||H9(X)<z)break;let W=c0(X,z).match(t0.quote);if(!W)break;$.push(W[1]??"")}return{block:{id:p0(),type:"quote",content:$.join(`
|
|
15
|
+
`)},next:q}}var Fz=/^\s*:?-+:?\s*$/;function v6(Z,J,z){let $=Z[J],q=Z[J+1];if($==null||q==null)return!1;if(H9($)<z||H9(q)<z)return!1;let X=c0($,z),W=c0(q,z);if(!X.includes("|")||!W.includes("|"))return!1;let F=XZ(W);return F.length>0&&F.every((G)=>Fz.test(G))}function XZ(Z){let J=[],z="";for(let $=0;$<Z.length;$++){let q=Z[$];if(q==="\\"&&Z[$+1]==="|"){z+="|",$++;continue}if(q==="|"){J.push(z),z="";continue}z+=q}if(J.push(z),J.length&&J[0].trim()==="")J.shift();if(J.length&&J[J.length-1].trim()==="")J.pop();return J.map(($)=>$.trim())}function Hz(Z){let J=Z.trim(),z=J.startsWith(":"),$=J.endsWith(":");if(z&&$)return"center";if($)return"right";if(z)return"left";return null}function tZ(Z,J){let z=Z.slice(0,J);while(z.length<J)z.push("");return z}function Gz(Z,J,z){if(!v6(Z,J,z))return null;let $=XZ(c0(Z[J],z)),q=Math.max(1,$.length),X=XZ(c0(Z[J+1],z)).map(Hz),W=[tZ($,q)],F=J+2;for(;F<Z.length;F++){let G=Z[F];if(G.trim()===""||H9(G)<z)break;let H=c0(G,z);if(!H.includes("|"))break;W.push(tZ(XZ(H),q))}while(X.length<q)X.push(null);return X.length=q,{block:{id:p0(),type:"table",content:"",rows:W,align:X},next:F}}function Kz(Z){switch(Z){case"left":return":---";case"center":return":---:";case"right":return"---:";default:return"---"}}function Yz(Z,J){let z=" ".repeat(J),$=Z.rows??[],q=Math.max(1,...$.map((Y)=>Y.length)),X=Z.align??[],W=(Y)=>Y.replace(/\|/g,"\\|").replace(/\n/g," "),F=(Y)=>`${z}| ${tZ(Y,q).map(W).join(" | ")} |`,G=`${z}| ${Array.from({length:q},(Y,K)=>Kz(X[K]??null)).join(" | ")} |`,H=$[0]??Array.from({length:q},()=>"");return[F(H),G,...$.slice(1).map(F)]}function Uz(Z,J,z){let $=[],q=J;for(;q<Z.length;q++){let X=Z[q];if(X.trim()===""||H9(X)<z)break;if($.length&&(yz(X,z)||v6(Z,q,z)))break;$.push(c0(X,z))}return{block:{id:p0(),type:"p",content:$.join(`
|
|
16
|
+
`)},next:q}}function yz(Z,J){if(A6(Z,J))return!0;let z=c0(Z,J);return!!z.match(t0.fenceOpen)||!!z.match(t0.h)||t0.divider.test(z.trim())||t0.quote.test(z)}function A6(Z,J){let z=H9(Z);if(z<J)return null;let $=c0(Z,z),q=$.match(/^[-*+]\s+\[([ xX])\]\s*(.*)$/);if(q)return{indent:z,type:"todo",checked:q[1].toLowerCase()==="x",content:q[2]};if(q=$.match(/^(\d+)[.)]\s+(.*)$/),q)return{indent:z,type:"numbered",content:q[2],num:parseInt(q[1],10)};if(q=$.match(/^[-*+]\s+(.*)$/),q)return{indent:z,type:"bullet",content:q[1]};return null}function O6(Z,J){let z=[],$=null,q=(Z??[]).filter(eZ),X=oZ(q);for(let W of q){if(z.length&&wz($,W))z.push("");z.push(..._6(W,J,X.get(W.id)??1)),$=W}return z}function _6(Z,J,z){let $=" ".repeat(J);switch(Z.type){case"h1":return[`${$}# ${Z.content}`];case"h2":return[`${$}## ${Z.content}`];case"h3":return[`${$}### ${Z.content}`];case"bullet":case"numbered":case"todo":return Bz(Z,J,z);case"quote":return Z.content.split(`
|
|
17
|
+
`).map((q)=>`${$}>${q?` ${q}`:""}`);case"code":{let q=`${$}\`\`\`${Z.lang?Z8(Z.lang):""}`,X=Z.content.split(`
|
|
18
|
+
`).map((W)=>`${$}${W}`);return[q,...X,`${$}\`\`\``]}case"table":return Yz(Z,J);case"divider":return[`${$}---`];default:return Z.content.split(`
|
|
19
|
+
`).map((q)=>`${$}${q}`)}}function Bz(Z,J,z){let $=" ".repeat(J),q=Z.type==="numbered"?`${z}. `:Z.type==="todo"?`- [${Z.checked?"x":" "}] `:"- ",X=[`${$}${q}${Z.content}`],W=(Z.children??[]).filter(eZ);if(W.length){if(!u0(W[0].type)&&Z.content.trim()!=="")X.push("");X.push(...O6(W,J+2))}return X}function wz(Z,J){if(!Z)return!1;return!(u0(Z.type)&&u0(J.type))}function eZ(Z){if(Z.type==="divider")return!0;if(u0(Z.type))return Z.content.trim()!==""||(Z.children??[]).some(eZ);if(Z.type==="code")return Z.content.trim()!==""||!!Z.lang?.trim();if(Z.type==="table")return(Z.rows??[]).some((J)=>J.some((z)=>z.trim()!==""));return Z.content.trim()!==""}function H9(Z){let J=0;for(let z of Z)if(z===" ")J++;else if(z==="\t")J+=4;else break;return J}function c0(Z,J){let z=0,$=0;for(;$<Z.length&&z<J;$++){let q=Z[$];if(q===" ")z++;else if(q==="\t")z+=4;else break}return Z.slice($)}function Lz(Z,J,z){let $=Z.trim();if(!$||$[0]!==J)return!1;for(let q of $)if(q!==J)return!1;return $.length>=z}function Z8(Z){return Z.trim().replace(/[^A-Za-z0-9_+.#-]/g,"")}var J8=[{id:"",label:"纯文本"},{id:"bash",label:"Bash"},{id:"shell",label:"Shell"},{id:"javascript",label:"JavaScript"},{id:"typescript",label:"TypeScript"},{id:"json",label:"JSON"},{id:"python",label:"Python"},{id:"go",label:"Go"},{id:"rust",label:"Rust"},{id:"java",label:"Java"},{id:"c",label:"C"},{id:"cpp",label:"C++"},{id:"csharp",label:"C#"},{id:"sql",label:"SQL"},{id:"yaml",label:"YAML"},{id:"xml",label:"HTML / XML"},{id:"css",label:"CSS"},{id:"scss",label:"SCSS"},{id:"markdown",label:"Markdown"},{id:"php",label:"PHP"},{id:"ruby",label:"Ruby"},{id:"swift",label:"Swift"},{id:"kotlin",label:"Kotlin"},{id:"objectivec",label:"Objective-C"},{id:"perl",label:"Perl"},{id:"lua",label:"Lua"},{id:"makefile",label:"Makefile"},{id:"ini",label:"INI / TOML"},{id:"diff",label:"Diff"}],z8=[{type:"p",ic:"text",t:"文本",d:"普通段落"},{type:"h1",ic:"heading",t:"标题 1",d:"大号标题"},{type:"h2",ic:"heading",t:"标题 2",d:"中号标题"},{type:"h3",ic:"heading",t:"标题 3",d:"小号标题"},{type:"bullet",ic:"list",t:"无序列表",d:"项目符号"},{type:"numbered",ic:"numList",t:"有序列表",d:"编号列表"},{type:"todo",ic:"checkbox",t:"待办清单",d:"复选项"},{type:"quote",ic:"quote",t:"引用",d:"引用块"},{type:"code",ic:"code",t:"代码",d:"代码块"},{type:"table",ic:"table",t:"表格",d:"插入表格"},{type:"divider",ic:"minus",t:"分隔线",d:"水平分隔"}];function f0(Z,J,z=null){for(let $=0;$<Z.length;$++){let q=Z[$];if(q.id===J)return{block:q,parent:Z,index:$,parentBlock:z};let X=q.children?f0(q.children,J,q):null;if(X)return X}return null}function Q8(Z){let J=0;for(let z of Z)J+=1+Q8(z.children??[]);return J}function FZ(Z){return{...Z,id:p0(),children:Z.children?.map(FZ)}}function $8(Z,J){for(let z of Z??[])if(z.id===J||$8(z.children,J))return!0;return!1}function o0(Z,J=[]){for(let z of Z)if(J.push(z),z.children)o0(z.children,J);return J}function HZ(Z,J){let z=null,$=null,q=(X)=>{for(let W of X){if(W.id===J){$=z;return}if(z=W,W.children)q(W.children);if($)return}};return q(Z),$}function q8(Z,J){let z=o0(Z),$=z.findIndex((q)=>q.id===J);return $>=0&&$+1<z.length?z[$+1]:null}function GZ(Z,J){let z=f0(Z,J);if(!z)return null;let[$]=z.parent.splice(z.index,1);if(z.parent.length===0&&z.parentBlock)delete z.parentBlock.children;return $??null}function M6(Z,J,z,$){if(J===z)return!1;let q=f0(Z,J),X=f0(Z,z);if(!q||!X||$8(q.block.children,z))return!1;let W=q.parent.splice(q.index,1)[0],F=f0(Z,z);if(!F)return q.parent.splice(q.index,0,W),!1;if(q.parent.length===0&&q.parentBlock)delete q.parentBlock.children;return F.parent.splice(F.index+($==="after"?1:0),0,W),!0}function X8(Z,J){let z=f0(Z,J);if(!z||z.index===0)return!1;let $=z.parent[z.index-1];if(!u0($.type))return!1;let q=z.parent.splice(z.index,1)[0];return $.children??=[],$.children.push(q),!0}function KZ(Z,J){let z=f0(Z,J);if(!z?.parentBlock)return!1;let $=f0(Z,z.parentBlock.id);if(!$)return!1;let q=z.parent.splice(z.index);if(!q.length)return!1;if(z.parent.length===0)delete z.parentBlock.children;return $.parent.splice($.index+1,0,...q),!0}function O9(Z,J){let z=new Set(J),$=[],q=(X,W)=>{for(let F of X){let G=z.has(F.id);if(G&&!W)$.push(F.id);if(F.children)q(F.children,W||G)}};return q(Z,!1),$}function N6(Z,J,z){let $=o0(Z),q=$.findIndex((G)=>G.id===J),X=$.findIndex((G)=>G.id===z);if(q<0||X<0)return[];let[W,F]=q<=X?[q,X]:[X,q];return $.slice(W,F+1).map((G)=>G.id)}function f6(Z,J){if(!J.length)return null;let z=new Set(J),$=o0(Z),q=$.findIndex((W)=>z.has(W.id));if(q<0)return null;let X=null;for(let W=q-1;W>=0;W--)if(!z.has($[W].id)){X=$[W].id;break}if(!X){for(let W=q+1;W<$.length;W++)if(!z.has($[W].id)){X=$[W].id;break}}for(let W of O9(Z,J))GZ(Z,W);if(X&&!f0(Z,X))X=null;return X??o0(Z)[0]?.id??null}function k6(Z,J){let z=O9(Z,J);if(!z.length)return[];let $=[];for(let X of z){let W=f0(Z,X);if(W)$.push(FZ(W.block))}let q=f0(Z,z[z.length-1]);if(!q||!$.length)return[];return q.parent.splice(q.index+1,0,...$),$.map((X)=>X.id)}function V6(Z,J,z,$){let q=O9(Z,J);if(!q.length||q.includes(z))return!1;for(let F of q){let G=f0(Z,F);if(G&&$8(G.block.children,z))return!1}let X=[];for(let F of q){let G=GZ(Z,F);if(G)X.push(G)}let W=f0(Z,z);if(!W)return Z.push(...X),!1;return W.parent.splice(W.index+($==="after"?1:0),0,...X),!0}function g6(Z,J){return O9(Z,J).map((z)=>{let $=f0(Z,z);return $?w6($.block):""}).filter(Boolean).join(`
|
|
20
|
+
`)}function b6(Z,J){let z=[];for(let $ of O9(Z,J))if(X8(Z,$))z.push($);return z}function S6(Z,J){let z=[];for(let $ of O9(Z,J))if(KZ(Z,$))z.push($);return z}function YZ(Z){return Z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var R6=String.fromCharCode(57344),I6=String.fromCharCode(57345),Pz=new RegExp(R6+"(\\d+)"+I6,"g");function UZ(Z){let J=[],z=Z.replace(/`([^`]+)`/g,($,q)=>{return J.push(q),R6+(J.length-1)+I6});return z=YZ(z),z=z.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,($,q,X)=>{return`<a href="${String(X).replace(/"/g,""")}" target="_blank" rel="noreferrer">${q}</a>`}),z=z.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),z=z.replace(/(^|[^*])\*([^*\n]+)\*/g,"$1<em>$2</em>"),z=z.replace(Pz,($,q)=>`<code>${YZ(J[+q]??"")}</code>`),z}function T9(Z){let J=document.createElement("div");return J.innerHTML=Z,T6(J).replace(/\n{3,}/g,`
|
|
21
21
|
|
|
22
|
-
`)}function
|
|
23
|
-
`;else if(
|
|
22
|
+
`)}function T6(Z){let J="";return Z.childNodes.forEach((z)=>{if(z.nodeType===Node.TEXT_NODE){J+=z.textContent??"";return}if(!(z instanceof HTMLElement))return;let $=z.tagName.toLowerCase(),q=T6(z);if($==="br")J+=`
|
|
23
|
+
`;else if($==="strong"||$==="b")J+=q?`**${q}**`:"";else if($==="em"||$==="i")J+=q?`*${q}*`:"";else if($==="code")J+=q?"`"+q+"`":"";else if($==="a"){let X=z.getAttribute("href")||"";J+=X?`[${q}](${X})`:q}else if($==="div"||$==="p")J+=(J&&!J.endsWith(`
|
|
24
24
|
`)?`
|
|
25
|
-
`:"")+
|
|
26
|
-
`)
|
|
27
|
-
|
|
28
|
-
`);if(!V)return;U.preventDefault();let j=
|
|
29
|
-
`,j-1)+1,
|
|
30
|
-
`,j),h0=
|
|
31
|
-
`,j)===-1){U.preventDefault();let y0=
|
|
32
|
-
`,j-1)===-1){U.preventDefault();let y0=
|
|
33
|
-
`).length,A="1";for(let
|
|
34
|
-
`+k;H.current.textContent=A}let w=X.current;if(w)w.style.height="auto",w.style.height=w.scrollHeight+"px"};C0(()=>{let y=X.current;if(y&&y.value!==q.content)y.value=q.content;Y(q.content)},[Z,q.lang]);let K=q.lang??"",v=ZZ.some((y)=>y.id===K);return J("div",{class:"codeblock",children:[J("div",{class:"code-body",children:[J("div",{ref:H,class:"code-gutter","aria-hidden":"true",children:"1"},void 0,!1,void 0,this),J("div",{class:"code-scroll",children:[J("pre",{class:"code-hl","aria-hidden":"true",children:J("code",{ref:W,class:"hljs"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("textarea",{ref:X,class:"code-input",rows:1,spellcheck:!1,wrap:"off",placeholder:"输入代码…",onInput:(y)=>{let w=y.currentTarget;$(w.value),Y(w.value)},onKeyDown:(y)=>Q(y,y.currentTarget),onScroll:(y)=>{let w=W.current?.parentElement;if(w)w.scrollLeft=y.currentTarget.scrollLeft}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"code-tools",children:[J("span",{class:"code-lang",children:[J("select",{value:K,onChange:(y)=>z(y.currentTarget.value),children:[!v&&J("option",{value:K,children:K||"纯文本"},void 0,!1,void 0,this),ZZ.map((y)=>J("option",{value:y.id,children:y.label},y.id,!1,void 0,this))]},void 0,!0,void 0,this),J(D,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"code-copy"+(G?" ok":""),title:"复制代码",onClick:()=>{let y=X.current?.value??q.content;navigator.clipboard?.writeText(y).then(()=>{F(!0),setTimeout(()=>F(!1),1400)}).catch(()=>{})},children:[J(D,{name:G?"check":"copy",cls:"ico sm"},void 0,!1,void 0,this),G?"已复制":"复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function O7({block:q,renderKey:Z,onCellInput:$,onTableChange:z}){let Q=q.rows??[],X=Q[0]?.length??0,W=q.align??[],H=Y0(null),G=Y0([]);if(G.current.length!==X)G.current=Array.from({length:X},(P,B)=>G.current[B]??160);let F=()=>{q.rows=[...Q,new Array(X).fill("")],z()},Y=()=>{q.rows=Q.map((P)=>[...P,""]),q.align=[...W,null],z()},K=(P)=>{q.rows=Q.map((M)=>{let L=[...M];return L.splice(P,0,""),L});let B=[...W];B.splice(P,0,null),q.align=B,z()},v=(P)=>{if(X<=1)return;q.rows=Q.map((B)=>B.filter((M,L)=>L!==P)),q.align=W.filter((B,M)=>M!==P),z()},y=(P)=>{if(P===0||Q.length<=2)return;q.rows=Q.filter((B,M)=>M!==P),z()},w=(P,B)=>{let M=Array.from({length:X},(L,R)=>W[R]??null);M[P]=B,q.align=M,z()},O=(P,B)=>{let M=H.current?.querySelector(`.doc-td[data-r="${P}"][data-c="${B}"]`);if(!M)return!1;M.focus();let L=document.createRange();L.selectNodeContents(M),L.collapse(!1);let R=getSelection();return R?.removeAllRanges(),R?.addRange(L),!0},A=(P,B,M)=>{if(P.key==="Tab"){if(P.preventDefault(),P.shiftKey){if(M>0)O(B,M-1);else if(B>0)O(B-1,X-1)}else if(M<X-1)O(B,M+1);else if(B<Q.length-1)O(B+1,0);else F(),requestAnimationFrame(()=>O(Q.length,0));return}if(P.key==="Enter"){if(P.preventDefault(),B<Q.length-1)O(B+1,M);else F(),requestAnimationFrame(()=>O(Q.length,M));return}},k=(P,B)=>{P.preventDefault(),P.stopPropagation();let M=P.currentTarget,L=H.current?.querySelector(`col[data-tcol="${B}"]`),R=P.clientX,I=G.current[B]??160,T=I,h=0;M.classList.add("dragging"),document.body.classList.add("col-resizing");let m=()=>{if(h=0,L)L.style.width=T+"px"},o=(W0)=>{if(T=Math.max(60,I+W0.clientX-R),!h)h=requestAnimationFrame(m)},u=()=>{if(h)cancelAnimationFrame(h);if(L)L.style.width=T+"px";G.current[B]=T,removeEventListener("pointermove",o),removeEventListener("pointerup",u),removeEventListener("pointercancel",u),M.classList.remove("dragging"),document.body.classList.remove("col-resizing")};addEventListener("pointermove",o,{passive:!1}),addEventListener("pointerup",u),addEventListener("pointercancel",u)},b=(P,B)=>{P.preventDefault(),P.stopPropagation(),A0(P,(M)=>J($0,{children:[J(g0,{children:"对齐方式"},void 0,!1,void 0,this),J(s,{icon:"alignLeft",label:"左对齐",checked:(W[B]??null)===null||W[B]==="left",onClick:()=>{w(B,"left"),M()}},void 0,!1,void 0,this),J(s,{icon:"alignCenter",label:"居中",checked:W[B]==="center",onClick:()=>{w(B,"center"),M()}},void 0,!1,void 0,this),J(s,{icon:"alignRight",label:"右对齐",checked:W[B]==="right",onClick:()=>{w(B,"right"),M()}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"plus",label:"在左侧插入列",onClick:()=>{K(B),M()}},void 0,!1,void 0,this),J(s,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{K(B+1),M()}},void 0,!1,void 0,this),J(s,{icon:"trash",label:"删除列",danger:!0,onClick:()=>{v(B),M()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return J("div",{class:"doc-table-wrap",children:J("div",{class:"doc-table-scroll",children:J("div",{class:"doc-table-inner",children:[J("div",{class:"doc-table-row",children:[J("table",{ref:H,class:"doc-table",children:[J("colgroup",{children:Array.from({length:X},(P,B)=>J("col",{"data-tcol":B,style:{width:G.current[B]}},B,!1,void 0,this))},void 0,!1,void 0,this),J("tbody",{children:Q.map((P,B)=>J("tr",{children:P.map((M,L)=>J("td",{class:B===0?"doc-th":void 0,children:[J(M7,{value:M,renderKey:Z,r:B,c:L,align:W[L]??null,onInput:(R)=>$(B,L,R),onKeyDown:(R)=>A(R,B,L)},void 0,!1,void 0,this),B===0&&J($0,{children:[J("button",{class:"doc-col-menu",title:"列选项",onMouseDown:(R)=>b(R,L),children:J(D,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("div",{class:"doc-col-resizer",onPointerDown:(R)=>k(R,L)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),L===0&&B>0&&Q.length>2&&J("button",{class:"doc-row-del",title:"删除行",onMouseDown:(R)=>{R.preventDefault(),R.stopPropagation(),y(B)},children:J(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},L,!0,void 0,this))},B,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"doc-table-addcol",title:"新增列",onMouseDown:(P)=>{P.preventDefault(),Y()},children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"doc-table-addrow",title:"新增行",onMouseDown:(P)=>{P.preventDefault(),F()},children:J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function M7({value:q,renderKey:Z,r:$,c:z,align:Q,onInput:X,onKeyDown:W}){let H=Y0(null);return C0(()=>{if(H.current){let G=U9(q);if(H.current.innerHTML!==G)H.current.innerHTML=G}},[Z]),J("div",{ref:H,class:"doc-td","data-r":$,"data-c":z,contentEditable:!0,"data-ph":$===0?"表头":"",style:Q?{textAlign:Q}:void 0,onInput:(G)=>X(Iq(G.currentTarget.innerHTML)),onKeyDown:(G)=>W(G)},void 0,!1,void 0,this)}function N7({x:q,y:Z,onCommand:$}){let z=(Q)=>(X)=>{X.preventDefault(),$(Q)};return J("div",{class:"pop",style:{left:Math.max(8,Math.min(q,innerWidth-220)),top:Z-46,minWidth:0,padding:3,display:"flex",gap:1},children:[["bold","bold"],["italic","italic"],["underline","underline"],["strikeThrough","strike"],["code","code"],["createLink","link"]].map(([Q,X])=>J("button",{class:"item",style:{width:34,justifyContent:"center",padding:"7px 0"},onMouseDown:z(Q),children:J(D,{name:X,cls:"ico sm"},void 0,!1,void 0,this)},Q,!1,void 0,this))},void 0,!1,void 0,this)}function f7(){let q=getSelection();if(!q||q.isCollapsed)return;let Z=q.toString();document.execCommand("insertHTML",!1,`<code>${Z.replace(/</g,"<")}</code>`)}function Gq(q){document.querySelectorAll(".doc .block[data-bid]").forEach((Z)=>k7(q,Z))}function k7(q,Z){let $=Z.matches(".block[data-bid]")?Z:Z.closest(".block[data-bid]"),z=$?.getAttribute("data-bid"),Q=z?f0(q,z)?.block:null;if(!Q||!$)return;let X=$.querySelector(".editable"),W=$.querySelector(".code-input");if(X)Q.content=B9(Q,X);else if(W)Q.content=W.value}function V7(q){return(q instanceof HTMLElement?q:q.parentElement)?.closest(".block[data-bid]")??null}function g7(){return document.activeElement?.closest?.(".doc .block[data-bid]")?.getAttribute("data-bid")??null}function GZ(q){document.querySelector(".doc")?.classList.toggle("selecting",q)}function y9(){getSelection()?.removeAllRanges(),document.activeElement?.blur?.(),GZ(!0)}function WZ(q){let Z=getSelection();if(!Z||Z.isCollapsed||!Z.rangeCount)return q(null);if(!Z.anchorNode?.parentElement?.closest?.(".editable"))return q(null);let z=Z.getRangeAt(0),Q=z.getBoundingClientRect(),X=Q.width||Q.height?Q:z.getClientRects()[0];if(!X)return q(null);q({x:X.left,y:X.top})}function b7(q){let Z=getSelection()?.anchorNode?.parentElement?.closest?.(".editable"),z=Z?.closest(".block")?.getAttribute("data-bid"),Q=z?f0(q,z)?.block:null;if(Q&&Z)Q.content=B9(Q,Z)}function HZ(q,Z={}){let $={id:p0(),type:q,content:Z.content??""};if(q==="todo")$.checked=Z.checked??!1;if(q==="code")$.lang=Z.lang??"";if(q==="numbered"&&Z.start!=null&&Z.start>1)$.start=Z.start;if(u0(q)&&Z.children?.length)$.children=Z.children;if(q==="table")$.rows=Z.rows?Z.rows.map((z)=>[...z]):D4(),$.align=Z.align?[...Z.align]:new Array($.rows[0].length).fill(null);return $}function D4(){return[["",""],["",""]]}function B9(q,Z){return Iq(Z.innerHTML)}function FZ(){let q=getSelection();return!!q&&!q.isCollapsed}function S7(q){let Z=getSelection();if(!Z||!Z.rangeCount||!Z.isCollapsed)return!1;let $=Z.getRangeAt(0);if(!q.contains($.startContainer))return!1;let z=document.createRange();return z.selectNodeContents(q),z.setEnd($.startContainer,$.startOffset),z.toString().length===0}function T7(){let q=getSelection();if(!q||!q.rangeCount)return{x:80,y:120};let Z=q.getRangeAt(0).getBoundingClientRect();return{x:Z.left||80,y:Z.top||120}}function R7(q){let Z=getSelection();if(!Z||!Z.rangeCount)return{first:!0,last:!0};let $=Z.getRangeAt(0).getBoundingClientRect(),z=q.getBoundingClientRect();if(!$.height&&!$.top)return{first:!0,last:!0};let Q=parseFloat(getComputedStyle(q).lineHeight)||$.height||20;return{first:$.top-z.top<Q*0.5,last:z.bottom-$.bottom<Q*0.5}}function I7(q){let Z=q.textContent??"";if(Z.trim()==="")return!0;let $=getSelection();if(!$||!$.rangeCount||$.isCollapsed)return!1;if(!q.contains($.anchorNode)||!q.contains($.focusNode))return!1;return $.toString().length>=Z.length}function x4(q){let Z=getSelection();if(!Z||!Z.rangeCount||!q.contains(Z.getRangeAt(0).startContainer))return{before:Iq(q.innerHTML),after:""};let $=Z.getRangeAt(0),z=(Q)=>{let X=document.createRange();X.selectNodeContents(q),Q(X);let W=document.createElement("div");return W.appendChild(X.cloneContents()),Iq(W.innerHTML)};return{before:z((Q)=>Q.setEnd($.startContainer,$.startOffset)),after:z((Q)=>Q.setStart($.endContainer,$.endOffset))}}function x7(q){let Z=document.createElement("div");return Z.innerHTML=U9(q),(Z.textContent??"").length}function j7(q,Z){let $=document.querySelector(`.block[data-bid="${q}"] .editable`);if(!$)return;$.focus();let z=document.createTreeWalker($,NodeFilter.SHOW_TEXT),Q=Z,X=null;for(let G=z.nextNode();G;G=z.nextNode()){if(X=G,Q<=G.data.length)break;Q-=G.data.length}let W=document.createRange();if(X)W.setStart(X,Math.min(Q,X.data.length));else W.selectNodeContents($);W.collapse(!0);let H=getSelection();H?.removeAllRanges(),H?.addRange(W)}function b0(q,Z=!1){let $=`.block[data-bid="${q}"] .editable, .block[data-bid="${q}"] .code-input`,z=document.querySelector($);if(!z)return;if(z.focus(),z instanceof HTMLTextAreaElement){let Q=Z?z.value.length:0;z.setSelectionRange(Q,Q);return}if(Z){let Q=document.createRange();Q.selectNodeContents(z),Q.collapse(!1);let X=getSelection();X?.removeAllRanges(),X?.addRange(Q)}}function j4(q){q.style.height="auto",q.style.height=q.scrollHeight+"px"}function KZ(){document.querySelectorAll(".block.drop-before,.block.drop-after").forEach((q)=>q.classList.remove("drop-before","drop-after"))}function D7(q,Z){KZ();let $=q.getBoundingClientRect();q.classList.add(Z.clientY<$.top+$.height/2?"drop-before":"drop-after")}function u4(){let q=localStorage.getItem("mh-theme");return q==="light"||q==="dark"||q==="system"?q:"system"}function h4(q){localStorage.setItem("mh-theme",q),document.documentElement.dataset.theme=q}var u7=[{value:"light",icon:"sun",name:"浅色",desc:"始终使用明亮界面"},{value:"dark",icon:"moon",name:"深色",desc:"始终使用暗色界面"},{value:"system",icon:"monitor",name:"跟随系统",desc:"随操作系统外观自动切换"}];function p4(){let[q,Z]=d(u4()),$=(z)=>{h4(z),Z(z)};return J("div",{class:"set-page",children:[J("div",{class:"set-title",children:"设置"},void 0,!1,void 0,this),J("div",{class:"set-sub",children:"个性化你的 Metahub 工作区。"},void 0,!1,void 0,this),J("div",{class:"set-section",children:[J("div",{class:"set-section-head",children:"外观"},void 0,!1,void 0,this),J("div",{class:"set-section-desc",children:"选择界面的颜色主题。"},void 0,!1,void 0,this),J("div",{class:"theme-grid",children:u7.map((z)=>J("button",{class:"theme-card"+(q===z.value?" sel":""),"aria-pressed":q===z.value,onClick:()=>$(z.value),children:[J("span",{class:"tc-check",children:J(D,{name:"check"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"tc-ico",children:J(D,{name:z.icon},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("span",{class:"tc-name",children:z.name},void 0,!1,void 0,this),J("span",{class:"tc-desc",children:z.desc},void 0,!1,void 0,this)]},z.value,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),typeof window!=="undefined"&&window.metahubDesktop?.quicknote&&J(m7,{},void 0,!1,void 0,this),J(p7,{},void 0,!1,void 0,this),J(i7,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var YZ="CommandOrControl+Shift+Space";function h7(q){if(["Control","Meta","Alt","Shift"].includes(q.key))return null;let Z=[];if(q.metaKey||q.ctrlKey)Z.push("CommandOrControl");if(q.altKey)Z.push("Alt");if(q.shiftKey)Z.push("Shift");let $=q.key;if($===" ")$="Space";else if($.startsWith("Arrow"))$=$.slice(5);else if($.length===1)$=$.toUpperCase();if(Z.length===0)return null;return Z.push($),Z.join("+")}function m4(q){let Z=typeof window!=="undefined"&&window.metahubDesktop?.platform==="darwin";return q.replace("CommandOrControl",Z?"⌘":"Ctrl").replace("Alt",Z?"⌥":"Alt").replace("Shift",Z?"⇧":"Shift").split("+").join(Z?" ":"+")}function m7(){let q=window.metahubDesktop.quicknote,[Z,$]=d(YZ),[z,Q]=d(!1),[X,W]=d(!1);C0(()=>{q.getSettings().then((Y)=>{$(Y.shortcut),Q(Y.alwaysOnTop)}).catch((Y)=>T0(`加载失败:${Y.message}`))},[]);let H=async(Y)=>{try{let K=await q.setShortcut(Y);$(K.shortcut),T0(`快捷键已设为 ${m4(K.shortcut)}`)}catch(K){T0(`设置失败:${K.message}`)}},G=(Y)=>{if(Y.preventDefault(),Y.key==="Escape"){W(!1);return}let K=h7(Y);if(!K)return;W(!1),H(K)},F=async()=>{let Y=!z;Q(Y);try{Q(await q.setAlwaysOnTop(Y))}catch(K){Q(!Y),T0(`设置失败:${K.message}`)}};return J("div",{class:"set-section",children:[J("div",{class:"set-section-head",children:"快速笔记"},void 0,!1,void 0,this),J("div",{class:"set-section-desc",children:"用全局快捷键随时唤起小窗记录想法。小窗也可从菜单栏图标打开。"},void 0,!1,void 0,this),J("div",{class:"qn-set-row",children:[J("div",{class:"qn-set-main",children:[J("div",{class:"qn-set-name",children:"唤起快捷键"},void 0,!1,void 0,this),J("div",{class:"qn-set-desc",children:"点击下方按钮,然后按下你想用的组合键。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"btn btn-secondary qn-shortcut"+(X?" capturing":""),onClick:()=>W(!0),onBlur:()=>W(!1),onKeyDown:X?G:void 0,children:X?"按下组合键…":m4(Z)},void 0,!1,void 0,this),Z!==YZ&&J("button",{class:"btn btn-ghost",title:"重置默认",onClick:()=>void H(YZ),children:"重置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"qn-set-row",children:[J("div",{class:"qn-set-main",children:[J("div",{class:"qn-set-name",children:"默认始终置顶"},void 0,!1,void 0,this),J("div",{class:"qn-set-desc",children:"小窗浮在其他窗口之上;也可在小窗内用 \uD83D\uDCCC 按钮切换。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"btn "+(z?"btn-primary":"btn-secondary"),"aria-pressed":z,onClick:()=>void F(),children:z?"已开启":"已关闭"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function i4(q){if(!q)return"从未";return new Date(q).toLocaleString()}function p7(){let[q,Z]=d(null),$=()=>l.listPeers().then(Z).catch((F)=>T0(`加载失败:${F.message}`));C0(()=>{$()},[]);let z=async()=>{try{let F=await l.newPairingCode();Jq(J(E7,{code:F.code,exp:F.exp},void 0,!1,void 0,this))}catch(F){T0(`生成失败:${F.message}`)}},Q=()=>Jq(J(c7,{onDone:()=>{i0(),$()}},void 0,!1,void 0,this)),X=async(F)=>{try{let Y=await l.syncPeer(F.url);T0(Y.ok?`已同步:推送 ${Y.pushed},拉取 ${Y.pulled}`:`同步失败:${Y.error}`),$()}catch(Y){T0(`同步失败:${Y.message}`)}},W=async(F)=>{await l.updatePeer(F.url,{enabled:!F.enabled}).catch((Y)=>T0(Y.message)),$()},H=async(F)=>{if(!await x0({title:"移除同步设备",message:`确定移除 ${F.url}?将停止与该设备的数据同步。`,confirmLabel:"移除",danger:!0}))return;await l.removePeer(F.url).catch((K)=>T0(K.message)),$()},G=(F,Y)=>A0(F,(K)=>J($0,{children:[J(s,{icon:"share",label:"立即同步",onClick:()=>{K(),X(Y)}},void 0,!1,void 0,this),J(s,{icon:Y.enabled?"eyeOff":"check",label:Y.enabled?"禁用":"启用",onClick:()=>{K(),W(Y)}},void 0,!1,void 0,this),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"trash",label:"移除",danger:!0,onClick:()=>{K(),H(Y)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));return J("div",{class:"set-section",children:[J("div",{class:"set-section-head",children:"同步设备"},void 0,!1,void 0,this),J("div",{class:"set-section-desc",children:"与其他设备配对,自动双向同步数据。在对方设备生成配对码,然后在此添加。"},void 0,!1,void 0,this),J("div",{class:"peer-actions",children:[J("button",{class:"btn btn-primary",onClick:Q,children:[J(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)," 添加设备"]},void 0,!0,void 0,this),J("button",{class:"btn btn-secondary",onClick:z,children:[J(D,{name:"link",cls:"ico sm"},void 0,!1,void 0,this)," 生成本机配对码"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("div",{class:"peer-list",children:q==null?J("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):q.length===0?J("div",{class:"muted",children:"还没有配对的设备。"},void 0,!1,void 0,this):q.map((F)=>J("div",{class:"peer-row",children:[J("span",{class:"peer-dot"+(F.enabled?F.last_status==="error"?" err":" on":" off")},void 0,!1,void 0,this),J("div",{class:"peer-main",children:[J("div",{class:"peer-url",children:F.label||F.url},void 0,!1,void 0,this),J("div",{class:"peer-sub",children:[F.enabled?"已启用":"已禁用"," · 最近同步 ",i4(F.last_sync_at),F.last_status==="error"&&F.last_error?` · 错误:${F.last_error}`:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"btn btn-ghost peer-menu",onClick:(Y)=>G(Y,F),children:J(D,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},F.url,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function i7(){let[q,Z]=d(null),$=()=>l.listGrants().then(Z).catch((Q)=>T0(`加载失败:${Q.message}`));C0(()=>{$()},[]);let z=async(Q)=>{if(!await x0({title:"吊销凭据",message:`吊销后,持有此凭据的设备${Q.peer_url?`(${Q.peer_url})`:""}将无法再同步进本机。`,confirmLabel:"吊销",danger:!0}))return;await l.revokeGrant(Q.token).catch((W)=>T0(W.message)),$()};return J("div",{class:"set-section",children:[J("div",{class:"set-section-head",children:"已授权设备"},void 0,!1,void 0,this),J("div",{class:"set-section-desc",children:"本机签发、允许其他设备同步进来的凭据。吊销即断开对方的入站访问。"},void 0,!1,void 0,this),J("div",{class:"peer-list",children:q==null?J("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):q.length===0?J("div",{class:"muted",children:"还没有签发任何凭据。"},void 0,!1,void 0,this):q.map((Q)=>J("div",{class:"peer-row",children:[J("span",{class:"peer-dot on"},void 0,!1,void 0,this),J("div",{class:"peer-main",children:[J("div",{class:"peer-url",children:Q.peer_url||"(未知地址)"},void 0,!1,void 0,this),J("div",{class:"peer-sub",children:[Q.token.slice(0,8),"… · 签发于 ",i4(Q.created_at)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J("button",{class:"btn btn-ghost peer-menu",title:"吊销",onClick:()=>z(Q),children:J(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},Q.token,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function E7({code:q,exp:Z}){let[$,z]=d(Math.max(0,Math.round((Z-Date.now())/1000)));C0(()=>{let W=setInterval(()=>z(Math.max(0,Math.round((Z-Date.now())/1000))),1000);return()=>clearInterval(W)},[Z]);let Q=Math.floor($/60),X=String($%60).padStart(2,"0");return J(zq,{title:"本机配对码",sub:"在另一台设备上输入此服务器地址和下面的配对码即可配对。配对码一次性使用。",footer:J("button",{class:"btn btn-primary",onClick:i0,children:"完成"},void 0,!1,void 0,this),children:[J("div",{class:"pair-code",children:q},void 0,!1,void 0,this),J("div",{class:"muted",style:{textAlign:"center",marginTop:8},children:$>0?`${Q}:${X} 后过期`:"已过期,请重新生成"},void 0,!1,void 0,this),J("button",{class:"btn btn-secondary",style:{width:"100%",marginTop:12},onClick:()=>{navigator.clipboard?.writeText(q),T0("已复制配对码")},children:[J(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)," 复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function c7({onDone:q}){let[Z,$]=d(""),[z,Q]=d(""),[X,W]=d(location.origin),[H,G]=d(!1),F=async()=>{if(!Z.trim()||!z.trim()){T0("地址和配对码必填");return}G(!0);try{let Y=await l.addPeerByPairing({url:Z.trim(),code:z.trim(),self_url:X.trim()||void 0});await l.syncPeer(Y.url).catch(()=>{}),T0(`已配对 ${Y.url}`),q()}catch(Y){T0(`配对失败:${Y.message}`),G(!1)}};return J(zq,{title:"添加同步设备",sub:"输入对方 Metahub 服务器的地址,以及它生成的一次性配对码。",footer:J($0,{children:[J("button",{class:"btn btn-secondary",onClick:i0,disabled:H,children:"取消"},void 0,!1,void 0,this),J("button",{class:"btn btn-primary",onClick:F,disabled:H,children:H?"配对中…":"配对"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[J("div",{class:"field-label",children:"对方服务器地址"},void 0,!1,void 0,this),J("input",{class:"text-input",autofocus:!0,placeholder:"http://192.168.1.10:7777",value:Z,onInput:(Y)=>$(Y.target.value)},void 0,!1,void 0,this),J("div",{class:"field-label",children:"配对码"},void 0,!1,void 0,this),J("input",{class:"text-input",placeholder:"对方「生成本机配对码」得到的码",value:z,onInput:(Y)=>Q(Y.target.value),onKeyDown:(Y)=>Y.key==="Enter"&&F()},void 0,!1,void 0,this),J("div",{class:"field-label",children:"本机可达地址(可选)"},void 0,!1,void 0,this),J("input",{class:"text-input",placeholder:"留空则仅本机主动同步",value:X,onInput:(Y)=>W(Y.target.value)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var E4="mh-quicknote-last",c4="mh-quicknote-parent",a4="Quick Notes";function a7(q,Z){return(Z.created_hlc??"").localeCompare(q.created_hlc??"")}async function d7(){let q=localStorage.getItem(c4);if(q)try{return await l.getDocument(q),q}catch{}let z=(await l.listDocuments()).find((Q)=>Q.parent_id==null&&Q.title===a4)?.id??(await l.createDocument({title:a4})).id;return localStorage.setItem(c4,z),z}function d4(){let[q,Z]=d(null),[$,z]=d([]),[Q,X]=d(null),[W,H]=d(""),[G,F]=d(!1),Y=Y0(null),K=typeof window!=="undefined"?window.metahubDesktop?.quicknote:void 0,v=$q(async(P)=>{let B=(await l.listDocumentsByParent(P)).sort(a7);return z(B),B},[]),y=$q(async(P)=>{let B=await l.createDocument({title:"",parent_id:P});return await v(P),B.id},[v]);C0(()=>{(async()=>{try{let P=await d7();Z(P);let B=await v(P),M=localStorage.getItem(E4),L=M&&B.some((R)=>R.id===M)&&M||B[0]?.id||await y(P);X(L)}catch(P){H(String(P.message))}})()},[v,y]),C0(()=>{if(Q)localStorage.setItem(E4,Q)},[Q]),C0(()=>{K?.getAlwaysOnTop().then(F).catch(()=>{})},[K]),C0(()=>{if(!K)return;let P=(B)=>{if(B.key==="Escape")K.hide()};return addEventListener("keydown",P),()=>removeEventListener("keydown",P)},[K]);let w=async()=>{if(!q)return;try{X(await y(q))}catch(P){H(String(P.message))}},O=async()=>{if(!K)return;let P=!G;F(P);try{F(await K.setAlwaysOnTop(P))}catch{F(!P)}},A=async()=>{if(!Q||!q)return;if(!await x0({title:"删除笔记?",message:"该快速笔记将被删除。",confirmLabel:"删除",danger:!0}))return;await l.deleteDocument(Q);let B=await v(q);X(B[0]?.id??await y(q))},k=(P)=>{A0(P,(B)=>J($0,{children:[J(g0,{children:"快速笔记"},void 0,!1,void 0,this),$.length===0&&J("div",{class:"lbl",children:"还没有笔记"},void 0,!1,void 0,this),$.map((M)=>J(s,{icon:"file",label:M.title||"无标题",checked:M.id===Q,onClick:()=>{B(),X(M.id)}},M.id,!1,void 0,this)),J(O0,{},void 0,!1,void 0,this),J(s,{icon:"plus",label:"新建笔记",onClick:()=>{B(),w()}},void 0,!1,void 0,this),Q&&J(s,{icon:"trash",label:"删除当前笔记",danger:!0,onClick:()=>{B(),A()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),{minWidth:220})},b=$.find((P)=>P.id===Q)?.title;return J("div",{class:"qn",children:[J("div",{class:"qn-bar",children:[J("span",{class:"qn-brand",children:b||"快速笔记"},void 0,!1,void 0,this),J("div",{class:"qn-actions",children:[J("button",{class:"iconbtn",title:"新建笔记",onClick:()=>void w(),children:J(D,{name:"plus"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J("button",{class:"iconbtn",title:"笔记列表",onClick:k,children:J(D,{name:"list"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K&&J("button",{class:"iconbtn"+(G?" active":""),title:G?"取消置顶":"始终置顶",onClick:()=>void O(),children:J(D,{name:"pin"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&J("div",{class:"error-bar",onClick:()=>H(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),J("div",{class:"qn-body",children:Q?J(w9,{docId:Q,onTitleChange:()=>q&&void v(q),onError:H,onHandle:(P)=>Y.current=P},Q,!1,void 0,this):J("div",{class:"empty",children:J("div",{children:"加载中…"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),J(dq,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var n7=/[",\r\n]/;function r7(q){return n7.test(q)?`"${q.replace(/"/g,'""')}"`:q}function n4(q){return q.map((Z)=>Z.map(r7).join(",")).join(`
|
|
35
|
-
`)}function
|
|
25
|
+
`:"")+q;else J+=q}),J}function Cz(Z,J){let z;try{z=J&&qZ.getLanguage(J)?qZ.highlight(Z,{language:J,ignoreIllegals:!0}).value:qZ.highlightAuto(Z).value}catch{z=YZ(Z)}return Z.endsWith(`
|
|
26
|
+
`)?z+`
|
|
27
|
+
`:z}function wZ({docId:Z,onTitleChange:J,onError:z,onModeChange:$,onHandle:q}){let X=Y0([]),W=Y0(""),F=Y0(null),G=Y0(""),[H,Y]=c("blocks"),[K,v]=c(0),[y,w]=c(!0),[_,A]=c(null),[f,R]=c(null),[L,B]=c(null),k=Y0(),P=Y0({past:[],future:[],present:null,lastKey:null,lastTime:0}),S=()=>({blocks:structuredClone(X.current),title:G.current,focusId:gz()}),T=(U)=>{let C=P.current;if(!C.present){C.present=S(),C.lastKey=U,C.lastTime=Date.now();return}let m=Date.now();if(U&&U===C.lastKey&&m-C.lastTime<600){C.present=S(),C.lastTime=m;return}if(C.past.push(C.present),C.past.length>200)C.past.shift();C.present=S(),C.future=[],C.lastKey=U,C.lastTime=m},d=(U)=>{if(X.current=structuredClone(U.blocks),G.current=U.title,B(null),v((C)=>C+1),u(),U.focusId)requestAnimationFrame(()=>b0(U.focusId,!0))},b=()=>{let U=P.current;if(!U.past.length)return;if(U.present)U.future.push(U.present);let C=U.past.pop();U.present=C,U.lastKey=null,d(C)},h=()=>{let U=P.current;if(!U.future.length)return;if(U.present)U.past.push(U.present);let C=U.future.pop();U.present=C,U.lastKey=null,d(C)},n=()=>{T(null),v((U)=>U+1)};L0(()=>{return w(!0),A(null),P.current={past:[],future:[],present:null,lastKey:null,lastTime:0},l.getDocument(Z).then((U)=>{G.current=U.title??"",W.current=U.body??"",X.current=WZ(U.body),w(!1),n()}).catch((U)=>z(String(U.message))),()=>clearTimeout(k.current)},[Z]);let u=()=>{clearTimeout(k.current),k.current=setTimeout(U0,700)},Q0=()=>{if(H==="source")return W.current=F.current?.value??W.current,W.current;return G9(X.current),P6(X.current)},U0=()=>l.updateDocument(Z,{title:G.current,body:Q0()}).then(()=>J()).catch((U)=>z(String(U.message))),g=async()=>{clearTimeout(k.current),await U0()},M=(U)=>{if(U===H)return;if(U==="source"){W.current=Q0(),A(null),R(null),B(null),Y("source"),$?.("source"),requestAnimationFrame(()=>{if(F.current)F.current.value=W.current,j6(F.current),F.current.focus()});return}W.current=F.current?.value??W.current,X.current=WZ(W.current),Y("blocks"),$?.("blocks"),v((C)=>C+1),requestAnimationFrame(()=>{let C=o0(X.current)[0];if(C)b0(C.id)})};L0(()=>{return q?.({getMode:()=>H,setMode:M,snapshotMarkdown:Q0,flushSave:g}),()=>q?.(null)},[q,H]);let O=X.current,I=L?N6(O,L.anchorId,L.focusId):[],o=(U,C="p",m={})=>{let V=F8(C,m);if(!U)O.push(V);else{let j=f0(O,U);if(j)j.parent.splice(j.index+1,0,V);else O.push(V)}return n(),requestAnimationFrame(()=>b0(V.id)),u(),V},e=(U,C,m={})=>{let j=f0(O,U)?.block;if(!j)return;let q0=u0(C)?j.children:void 0;if(j.type=C,j.content=m.content??"",C==="todo")j.checked=m.checked??!1;else delete j.checked;if(C==="code")j.lang=m.lang??"";else delete j.lang;if(C==="numbered"&&m.start!=null&&m.start>1)j.start=m.start;else delete j.start;if(C==="table")j.rows=m.rows?m.rows.map((y0)=>[...y0]):D6(),j.align=m.align?[...m.align]:new Array(j.rows[0].length).fill(null);else delete j.rows,delete j.align;if(q0?.length)j.children=q0;else delete j.children;if(n(),C!=="divider"&&C!=="table")requestAnimationFrame(()=>b0(U));u()},$0=(U)=>{if(!GZ(O,U))return;n(),u()},H0=(U,C)=>{U.content=BZ(U,C),T("text:"+U.id);let m=C.textContent??"";if(m.startsWith("/")){let V=Rz();A((j)=>({blockId:U.id,x:V.x,y:V.y,query:m.slice(1),idx:j?.blockId===U.id?j.idx:0}))}else if(_)A(null);u()},O0=(U,C,m)=>{let V=(U.clipboardData?.getData("text/plain")??"").replace(/\r\n?/g,`
|
|
28
|
+
`);if(!V)return;U.preventDefault();let j=WZ(V);if(!j.length)return;let q0=f0(O,C.id);if(!q0)return;let{before:y0,after:T0}=x6(m);if(j.length===1&&j[0].type==="p"&&(y0.trim()!==""||T0.trim()!=="")){C.content=y0+j[0].content+T0;let l6=xz(y0+j[0].content);n(),u(),requestAnimationFrame(()=>jz(C.id,l6));return}let h0=[...j],s0=T0.trim()!==""?F8("p",{content:T0}):null;if(s0)h0.push(s0);if(y0.trim()===""&&!q0.block.children?.length)q0.parent.splice(q0.index,1,...h0);else C.content=y0,q0.parent.splice(q0.index+1,0,...h0);n(),u();let LZ=s0??h0[h0.length-1];requestAnimationFrame(()=>b0(LZ.id,!s0))},X0=_?z8.filter((U)=>(U.t+U.type+U.d).toLowerCase().includes(_.query.toLowerCase())):[],N=(U)=>{if(!_)return;e(_.blockId,U.type),A(null)},x=(U,C)=>{e(U.id,C.type,C),A(null)},a=(U,C)=>{U.content="",U.children??=[];let m=F8(C.type,C);U.children.unshift(m),A(null),n(),requestAnimationFrame(()=>b0(m.id)),u()},r=(U)=>{if(G9(O),!X8(O,U))return;n(),requestAnimationFrame(()=>b0(U)),u()},W0=(U)=>{if(G9(O),!KZ(O,U))return;n(),requestAnimationFrame(()=>b0(U)),u()},B0=(U)=>{let C=U==="createLink"?prompt("链接地址"):null;if(U==="createLink"&&!C)return;if(U==="code")fz();else document.execCommand(U,!1,C??void 0);bz(O),u(),W8(R)},Z0=()=>B(null),E=()=>{let U=o0(O);if(!U.length)return;yZ(),B({anchorId:U[0].id,focusId:U[U.length-1].id})},i=(U)=>{G9(O);let C=f6(O,U);if(Z0(),n(),C)requestAnimationFrame(()=>b0(C,!0));u()},M0=(U,C)=>{if(G9(O),!(C==="indent"?b6(O,U):S6(O,U)).length)return;n(),u()},G0=(U)=>{G9(O);let C=k6(O,U);if(C.length)B({anchorId:C[0],focusId:C[C.length-1]});n(),u()},d0=(U)=>{let C=g6(O,U);if(C)navigator.clipboard?.writeText(C).catch(()=>{})},J0=(U)=>{if(U.target?.closest?.(".doc-source"))return;let m=U.metaKey||U.ctrlKey;if(m&&(U.key==="z"||U.key==="Z")){if(U.preventDefault(),U.shiftKey)h();else b();return}if(m&&U.key==="y"){U.preventDefault(),h();return}if(!L)return;let V=I;if(!V.length)return;if(U.key==="Escape"){U.preventDefault();let j=L.anchorId;Z0(),b0(j,!0);return}if(U.key==="Tab"){U.preventDefault(),M0(V,U.shiftKey?"outdent":"indent");return}if(U.key==="Backspace"||U.key==="Delete"){U.preventDefault(),i(V);return}if(m&&U.key==="d"){U.preventDefault(),G0(V);return}if(m&&(U.key==="c"||U.key==="x")){if(U.preventDefault(),d0(V),U.key==="x")i(V);return}if(m&&U.key==="a"){U.preventDefault(),E();return}if(U.key==="ArrowDown"||U.key==="ArrowUp"){U.preventDefault();let j=o0(O),q0=j.findIndex((y0)=>y0.id===L.focusId);if(q0<0)return;if(U.shiftKey){let y0=U.key==="ArrowDown"?Math.min(q0+1,j.length-1):Math.max(q0-1,0);B({anchorId:L.anchorId,focusId:j[y0].id})}else{let y0=U.key==="ArrowDown"?V[V.length-1]:V[0];Z0(),b0(y0,U.key==="ArrowDown")}return}if(U.key.length===1&&!m){let j=V[V.length-1];Z0(),b0(j,!0)}},n0=Y0(null),S0=(U)=>{if(U.button!==0)return;let C=U.target;if(C.closest(".gutter")||C.closest(".pop")||C.closest(".doc-col-resizer")||C.closest("input, button, select, a"))return;let V=Vz(U.target)?.getAttribute("data-bid")??null;if(!V){Z0();return}if(U.shiftKey&&L){U.preventDefault(),yZ(),B({anchorId:L.anchorId,focusId:V});return}if(!!C.closest(".editable, .code-input, .doc-td")){if(n0.current={anchorId:V,started:!1,sx:U.clientX,sy:U.clientY,mode:"text"},L)Z0()}else U.preventDefault(),yZ(),B({anchorId:V,focusId:V}),n0.current={anchorId:V,started:!0,sx:U.clientX,sy:U.clientY,mode:"block"}};L0(()=>{let U=(m)=>{let V=n0.current;if(!V)return;let q0=document.elementFromPoint(m.clientX,m.clientY)?.closest(".block[data-bid]")?.getAttribute("data-bid")??null;if(V.mode==="text"){if(q0&&q0!==V.anchorId)V.mode="block",yZ(),B({anchorId:V.anchorId,focusId:q0});return}if(!V.started&&Math.abs(m.clientX-V.sx)+Math.abs(m.clientY-V.sy)<4)return;if(V.started=!0,G8(!0),q0)B({anchorId:V.anchorId,focusId:q0})},C=()=>{n0.current=null,G8(!1)};return window.addEventListener("mousemove",U),window.addEventListener("mouseup",C),()=>{window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",C)}},[]);let P0=Y0(J0);P0.current=J0,L0(()=>{let U=(C)=>P0.current(C);return document.addEventListener("keydown",U,!0),()=>document.removeEventListener("keydown",U,!0)},[]);let K9=(U,C,m)=>{if(_&&_.blockId===C.id){if(U.key==="ArrowDown"){U.preventDefault(),A({..._,idx:Math.min(_.idx+1,X0.length-1)});return}if(U.key==="ArrowUp"){U.preventDefault(),A({..._,idx:Math.max(_.idx-1,0)});return}if(U.key==="Enter"){U.preventDefault();let V=X0[_.idx];if(V)N(V);return}if(U.key==="Escape"){A(null);return}}if((U.metaKey||U.ctrlKey)&&(U.key==="a"||U.key==="A")){if(Tz(m))U.preventDefault(),E();return}if(U.key==="Tab"){U.preventDefault(),(U.shiftKey?W0:r)(C.id);return}if((U.key==="ArrowUp"||U.key==="ArrowDown")&&!U.shiftKey&&!H8()){let V=Iz(m);if(U.key==="ArrowUp"&&V.first){let j=HZ(O,C.id);if(j){U.preventDefault(),b0(j.id,!0);return}}else if(U.key==="ArrowDown"&&V.last){let j=q8(O,C.id);if(j){U.preventDefault(),b0(j.id);return}}}if(U.key===" "&&C.type==="p"&&!H8()){let{before:V,after:j}=x6(m),q0=sZ(V+" "," ");if(q0){U.preventDefault(),x(C,{...q0,content:j});return}}if(U.key==="Enter"&&!U.shiftKey&&C.type!=="code"){let V=sZ((m.textContent??"").trim(),"Enter");if(V){if(U.preventDefault(),u0(C.type)&&V.type==="code"){a(C,V);return}x(C,V);return}U.preventDefault();let j=(m.textContent??"").trim()==="";if(u0(C.type)&&j&&!(C.children??[]).length){e(C.id,"p");return}o(C.id,u0(C.type)?C.type:"p")}else if(U.key==="Backspace"){if((m.textContent??"")==="")if(U.preventDefault(),C.type!=="p")e(C.id,"p");else{let V=HZ(O,C.id);if(V)$0(C.id),requestAnimationFrame(()=>b0(V.id,!0))}else if(u0(C.type)&&!H8()&&Sz(m))U.preventDefault(),e(C.id,"p",{content:BZ(C,m)})}},r0=(U,C,m)=>{let{value:V,selectionStart:j,selectionEnd:q0}=m;if(U.key==="Tab"){if(U.preventDefault(),U.shiftKey){if(G9(O),KZ(O,C.id))n(),requestAnimationFrame(()=>b0(C.id)),u();return}document.execCommand("insertText",!1," ");return}if(U.key==="Enter"&&!U.shiftKey&&j===q0){let y0=V.lastIndexOf(`
|
|
29
|
+
`,j-1)+1,T0=V.indexOf(`
|
|
30
|
+
`,j),h0=T0===-1,s0=V.slice(y0,h0?void 0:T0).trim()==="";if(h0&&s0)U.preventDefault(),C.content=V.replace(/\n[ \t]*$/,""),o(C.id,"p");return}if(U.key==="ArrowDown"&&j===q0&&V.indexOf(`
|
|
31
|
+
`,j)===-1){U.preventDefault();let y0=q8(O,C.id);if(y0)b0(y0.id);else o(C.id,"p");return}if(U.key==="ArrowUp"&&j===q0&&V.lastIndexOf(`
|
|
32
|
+
`,j-1)===-1){U.preventDefault();let y0=HZ(O,C.id);if(y0)b0(y0.id,!0);return}if(U.key==="Backspace"&&V===""){U.preventDefault();let y0=f0(O,C.id),T0=y0?.parentBlock;if(y0&&T0&&u0(T0.type)&&T0.content.trim()===""){if(y0.parent.splice(y0.index,1),y0.parent.length===0)delete T0.children;n(),requestAnimationFrame(()=>b0(T0.id)),u();return}e(C.id,"p")}},_9=(U,C)=>{U.stopPropagation(),A0(U,(m)=>Q(z0,{children:[Q(g0,{children:"转换为"},void 0,!1,void 0,this),z8.filter((V)=>V.type!=="divider").map((V)=>Q(s,{icon:V.ic,label:V.t,checked:C.type===V.type,onClick:()=>{e(C.id,V.type),m()}},V.type,!1,void 0,this)),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"copy",label:"复制块",onClick:()=>{let V=f0(O,C.id);if(V)V.parent.splice(V.index+1,0,FZ(C));n(),u(),m()}},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除块",danger:!0,onClick:()=>{$0(C.id),m()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},M9=Y0(null);if(y)return Q("div",{class:"empty",children:"加载中…"},void 0,!1,void 0,this);let p=new Set(I),t=(U,C=0)=>{let m=oZ(U);return U.map((V)=>Q(vz,{renderKey:K,block:V,depth:C,selected:p.has(V.id),number:V.type==="numbered"?m.get(V.id)??1:0,onInput:(j)=>H0(V,j),onPaste:(j,q0)=>O0(j,V,q0),onLangInput:(j)=>{V.lang=j,n(),u()},onKeyDown:(j,q0)=>K9(j,V,q0),onCodeInput:(j)=>{V.content=j,T("text:"+V.id),u()},onCodeKeyDown:(j,q0)=>r0(j,V,q0),onCellInput:(j,q0,y0)=>{if(!V.rows?.[j])return;V.rows[j][q0]=y0,T("table:"+V.id+":"+j+":"+q0),u()},onTableChange:()=>{n(),u()},onAdd:()=>o(V.id),onMenu:(j)=>_9(j,V),onToggle:()=>{V.checked=!V.checked,n(),u()},dragRef:M9,onReorder:(j,q0)=>{let y0=I;if(y0.length>1&&y0.includes(j)?V6(O,y0,V.id,q0):M6(O,j,V.id,q0))n(),u()},children:V.children?.length?t(V.children,C+1):null},V.id,!1,void 0,this))};return Q("div",{class:"doc"+(H==="source"?" source-mode":""),onMouseDown:(U)=>S0(U),onMouseUp:()=>W8(R),onKeyUp:(U)=>{if(U.shiftKey||U.key.startsWith("Arrow"))W8(R)},children:[Q("div",{class:"doc-title",contentEditable:!0,onInput:(U)=>{G.current=U.target.textContent??"",T("title"),u()},onBlur:()=>{J()},onKeyDown:(U)=>{if(U.key==="Enter")if(U.preventDefault(),!O.length)o(null);else b0(O[0].id)},dangerouslySetInnerHTML:{__html:G.current}},void 0,!1,void 0,this),Q("div",{class:"doc-meta",children:[Q("span",{children:[Q(D,{name:"file",cls:"ico sm"},void 0,!1,void 0,this),Q8(O)," 个块"]},void 0,!0,void 0,this),Q("span",{children:"实时同步"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H==="source"?Q("textarea",{ref:F,class:"doc-source",spellcheck:!1,defaultValue:W.current,onInput:(U)=>{let C=U.currentTarget;W.current=C.value,j6(C),u()}},void 0,!1,void 0,this):t(O),H==="blocks"&&O.length===0&&Q("div",{class:"editable",style:{color:"var(--muted)",cursor:"text"},onClick:()=>o(null),children:"点此书写,或输入 “/” 选择块类型…"},void 0,!1,void 0,this),_&&X0.length>0&&(()=>{let m=innerHeight-(_.y+22)-8,V=_.y-8,j=m>=240||m>=V,q0=Math.min(_.x,innerWidth-270),y0=Math.min(j?m:V,Math.round(innerHeight*0.7)),T0=j?{left:q0,top:_.y+22,maxHeight:y0,minWidth:260}:{left:q0,bottom:innerHeight-_.y+6,maxHeight:y0,minWidth:260};return Q("div",{class:"pop",style:T0,children:[Q(g0,{children:"基础块"},void 0,!1,void 0,this),X0.map((h0,s0)=>Q("button",{class:"item"+(s0===_.idx?" sel":""),onMouseDown:(LZ)=>{LZ.preventDefault(),N(h0)},children:[Q("span",{class:"lico",children:Q(D,{name:h0.ic,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"meta",children:[Q("span",{class:"t",children:h0.t},void 0,!1,void 0,this),Q("span",{class:"d",children:h0.d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},h0.type,!0,void 0,this))]},void 0,!0,void 0,this)})(),f&&!L&&Q(Nz,{x:f.x,y:f.y,onCommand:B0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vz({block:Z,number:J,depth:z,renderKey:$,selected:q,onInput:X,onPaste:W,onLangInput:F,onKeyDown:G,onCodeInput:H,onCodeKeyDown:Y,onCellInput:K,onTableChange:v,onAdd:y,onMenu:w,onToggle:_,dragRef:A,onReorder:f,children:R}){let L=Y0(null);L0(()=>{if(L.current&&Z.type!=="code"){let P=UZ(Z.content);if(L.current.innerHTML!==P)L.current.innerHTML=P}},[$,Z.type]);let B=u0(Z.type)&&Z.content.trim()===""&&Z.children?.[0]?.type==="code",k="block b-"+Z.type+(Z.type==="todo"&&Z.checked?" b-done":"")+(B?" list-code-host":"")+(q?" selected":"");return Q("div",{class:"block-wrap"+(z?" nested":""),children:[Q("div",{class:k,"data-bid":Z.id,onDragOver:(P)=>{if(A.current&&A.current!==Z.id){if(P.preventDefault(),P.dataTransfer)P.dataTransfer.dropEffect="move";Dz(P.currentTarget,P)}},onDrop:(P)=>{if(!A.current)return;P.preventDefault();let S=P.currentTarget.classList.contains("drop-after")?"after":"before",T=A.current;A.current=null,K8(),f(T,S)},children:[Q("div",{class:"gutter",children:[Q("button",{title:"在下方插入",onClick:y,children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("button",{class:"grip",title:"拖拽移动 · 点击菜单",draggable:!0,onClick:w,onDragStart:(P)=>{if(A.current=Z.id,P.dataTransfer)P.dataTransfer.effectAllowed="move",P.dataTransfer.setData("text/plain",Z.id);P.currentTarget.closest(".block").classList.add("dragging")},onDragEnd:(P)=>{P.currentTarget.closest(".block").classList.remove("dragging"),K8()},children:Q(D,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.type==="divider"?Q("hr",{},void 0,!1,void 0,this):Z.type==="table"?Q(_z,{block:Z,renderKey:$,onCellInput:K,onTableChange:v},void 0,!1,void 0,this):Q(z0,{children:[Z.type==="bullet"&&Q("div",{class:"marker",children:"•"},void 0,!1,void 0,this),Z.type==="numbered"&&Q("div",{class:"marker",children:[J,"."]},void 0,!0,void 0,this),Z.type==="todo"&&Q("div",{class:"marker",children:Q("input",{type:"checkbox",checked:!!Z.checked,onChange:_},void 0,!1,void 0,this)},void 0,!1,void 0,this),B?null:Z.type==="code"?Q(Oz,{block:Z,renderKey:$,onInput:H,onLangChange:F,onKeyDown:Y},void 0,!1,void 0,this):Q("div",{ref:L,class:"editable",contentEditable:!0,"data-ph":Az(Z.type),onInput:(P)=>X(P.currentTarget),onPaste:(P)=>W(P,P.currentTarget),onKeyDown:(P)=>G(P,P.currentTarget)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),R]},void 0,!0,void 0,this)}function Az(Z){return{h1:"标题 1",h2:"标题 2",h3:"标题 3",code:"输入代码…",quote:"引用"}[Z]??"输入文本,“/” 唤出命令"}function Oz({block:Z,renderKey:J,onInput:z,onLangChange:$,onKeyDown:q}){let X=Y0(null),W=Y0(null),F=Y0(null),[G,H]=c(!1),Y=(y)=>{if(W.current)W.current.innerHTML=Cz(y,Z.lang);if(F.current){let _=y.split(`
|
|
33
|
+
`).length,A="1";for(let f=2;f<=_;f++)A+=`
|
|
34
|
+
`+f;F.current.textContent=A}let w=X.current;if(w)w.style.height="auto",w.style.height=w.scrollHeight+"px"};L0(()=>{let y=X.current;if(y&&y.value!==Z.content)y.value=Z.content;Y(Z.content)},[J,Z.lang]);let K=Z.lang??"",v=J8.some((y)=>y.id===K);return Q("div",{class:"codeblock",children:[Q("div",{class:"code-body",children:[Q("div",{ref:F,class:"code-gutter","aria-hidden":"true",children:"1"},void 0,!1,void 0,this),Q("div",{class:"code-scroll",children:[Q("pre",{class:"code-hl","aria-hidden":"true",children:Q("code",{ref:W,class:"hljs"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("textarea",{ref:X,class:"code-input",rows:1,spellcheck:!1,wrap:"off",placeholder:"输入代码…",onInput:(y)=>{let w=y.currentTarget;z(w.value),Y(w.value)},onKeyDown:(y)=>q(y,y.currentTarget),onScroll:(y)=>{let w=W.current?.parentElement;if(w)w.scrollLeft=y.currentTarget.scrollLeft}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"code-tools",children:[Q("span",{class:"code-lang",children:[Q("select",{value:K,onChange:(y)=>$(y.currentTarget.value),children:[!v&&Q("option",{value:K,children:K||"纯文本"},void 0,!1,void 0,this),J8.map((y)=>Q("option",{value:y.id,children:y.label},y.id,!1,void 0,this))]},void 0,!0,void 0,this),Q(D,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"code-copy"+(G?" ok":""),title:"复制代码",onClick:()=>{let y=X.current?.value??Z.content;navigator.clipboard?.writeText(y).then(()=>{H(!0),setTimeout(()=>H(!1),1400)}).catch(()=>{})},children:[Q(D,{name:G?"check":"copy",cls:"ico sm"},void 0,!1,void 0,this),G?"已复制":"复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function _z({block:Z,renderKey:J,onCellInput:z,onTableChange:$}){let q=Z.rows??[],X=q[0]?.length??0,W=Z.align??[],F=Y0(null),G=Y0([]);if(G.current.length!==X)G.current=Array.from({length:X},(L,B)=>G.current[B]??160);let H=()=>{Z.rows=[...q,new Array(X).fill("")],$()},Y=()=>{Z.rows=q.map((L)=>[...L,""]),Z.align=[...W,null],$()},K=(L)=>{Z.rows=q.map((k)=>{let P=[...k];return P.splice(L,0,""),P});let B=[...W];B.splice(L,0,null),Z.align=B,$()},v=(L)=>{if(X<=1)return;Z.rows=q.map((B)=>B.filter((k,P)=>P!==L)),Z.align=W.filter((B,k)=>k!==L),$()},y=(L)=>{if(L===0||q.length<=2)return;Z.rows=q.filter((B,k)=>k!==L),$()},w=(L,B)=>{let k=Array.from({length:X},(P,S)=>W[S]??null);k[L]=B,Z.align=k,$()},_=(L,B)=>{let k=F.current?.querySelector(`.doc-td[data-r="${L}"][data-c="${B}"]`);if(!k)return!1;k.focus();let P=document.createRange();P.selectNodeContents(k),P.collapse(!1);let S=getSelection();return S?.removeAllRanges(),S?.addRange(P),!0},A=(L,B,k)=>{if(L.key==="Tab"){if(L.preventDefault(),L.shiftKey){if(k>0)_(B,k-1);else if(B>0)_(B-1,X-1)}else if(k<X-1)_(B,k+1);else if(B<q.length-1)_(B+1,0);else H(),requestAnimationFrame(()=>_(q.length,0));return}if(L.key==="Enter"){if(L.preventDefault(),B<q.length-1)_(B+1,k);else H(),requestAnimationFrame(()=>_(q.length,k));return}},f=(L,B)=>{L.preventDefault(),L.stopPropagation();let k=L.currentTarget,P=F.current?.querySelector(`col[data-tcol="${B}"]`),S=L.clientX,T=G.current[B]??160,d=T,b=0;k.classList.add("dragging"),document.body.classList.add("col-resizing");let h=()=>{if(b=0,P)P.style.width=d+"px"},n=(Q0)=>{if(d=Math.max(60,T+Q0.clientX-S),!b)b=requestAnimationFrame(h)},u=()=>{if(b)cancelAnimationFrame(b);if(P)P.style.width=d+"px";G.current[B]=d,removeEventListener("pointermove",n),removeEventListener("pointerup",u),removeEventListener("pointercancel",u),k.classList.remove("dragging"),document.body.classList.remove("col-resizing")};addEventListener("pointermove",n,{passive:!1}),addEventListener("pointerup",u),addEventListener("pointercancel",u)},R=(L,B)=>{L.preventDefault(),L.stopPropagation(),A0(L,(k)=>Q(z0,{children:[Q(g0,{children:"对齐方式"},void 0,!1,void 0,this),Q(s,{icon:"alignLeft",label:"左对齐",checked:(W[B]??null)===null||W[B]==="left",onClick:()=>{w(B,"left"),k()}},void 0,!1,void 0,this),Q(s,{icon:"alignCenter",label:"居中",checked:W[B]==="center",onClick:()=>{w(B,"center"),k()}},void 0,!1,void 0,this),Q(s,{icon:"alignRight",label:"右对齐",checked:W[B]==="right",onClick:()=>{w(B,"right"),k()}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"plus",label:"在左侧插入列",onClick:()=>{K(B),k()}},void 0,!1,void 0,this),Q(s,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{K(B+1),k()}},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除列",danger:!0,onClick:()=>{v(B),k()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return Q("div",{class:"doc-table-wrap",children:Q("div",{class:"doc-table-scroll",children:Q("div",{class:"doc-table-inner",children:[Q("div",{class:"doc-table-row",children:[Q("table",{ref:F,class:"doc-table",children:[Q("colgroup",{children:Array.from({length:X},(L,B)=>Q("col",{"data-tcol":B,style:{width:G.current[B]}},B,!1,void 0,this))},void 0,!1,void 0,this),Q("tbody",{children:q.map((L,B)=>Q("tr",{children:L.map((k,P)=>Q("td",{class:B===0?"doc-th":void 0,children:[Q(Mz,{value:k,renderKey:J,r:B,c:P,align:W[P]??null,onInput:(S)=>z(B,P,S),onKeyDown:(S)=>A(S,B,P)},void 0,!1,void 0,this),B===0&&Q(z0,{children:[Q("button",{class:"doc-col-menu",title:"列选项",onMouseDown:(S)=>R(S,P),children:Q(D,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"doc-col-resizer",onPointerDown:(S)=>f(S,P)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),P===0&&B>0&&q.length>2&&Q("button",{class:"doc-row-del",title:"删除行",onMouseDown:(S)=>{S.preventDefault(),S.stopPropagation(),y(B)},children:Q(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},P,!0,void 0,this))},B,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"doc-table-addcol",title:"新增列",onMouseDown:(L)=>{L.preventDefault(),Y()},children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"doc-table-addrow",title:"新增行",onMouseDown:(L)=>{L.preventDefault(),H()},children:Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function Mz({value:Z,renderKey:J,r:z,c:$,align:q,onInput:X,onKeyDown:W}){let F=Y0(null);return L0(()=>{if(F.current){let G=UZ(Z);if(F.current.innerHTML!==G)F.current.innerHTML=G}},[J]),Q("div",{ref:F,class:"doc-td","data-r":z,"data-c":$,contentEditable:!0,"data-ph":z===0?"表头":"",style:q?{textAlign:q}:void 0,onInput:(G)=>X(T9(G.currentTarget.innerHTML)),onKeyDown:(G)=>W(G)},void 0,!1,void 0,this)}function Nz({x:Z,y:J,onCommand:z}){let $=(q)=>(X)=>{X.preventDefault(),z(q)};return Q("div",{class:"pop",style:{left:Math.max(8,Math.min(Z,innerWidth-220)),top:J-46,minWidth:0,padding:3,display:"flex",gap:1},children:[["bold","bold"],["italic","italic"],["underline","underline"],["strikeThrough","strike"],["code","code"],["createLink","link"]].map(([q,X])=>Q("button",{class:"item",style:{width:34,justifyContent:"center",padding:"7px 0"},onMouseDown:$(q),children:Q(D,{name:X,cls:"ico sm"},void 0,!1,void 0,this)},q,!1,void 0,this))},void 0,!1,void 0,this)}function fz(){let Z=getSelection();if(!Z||Z.isCollapsed)return;let J=Z.toString();document.execCommand("insertHTML",!1,`<code>${J.replace(/</g,"<")}</code>`)}function G9(Z){document.querySelectorAll(".doc .block[data-bid]").forEach((J)=>kz(Z,J))}function kz(Z,J){let z=J.matches(".block[data-bid]")?J:J.closest(".block[data-bid]"),$=z?.getAttribute("data-bid"),q=$?f0(Z,$)?.block:null;if(!q||!z)return;let X=z.querySelector(".editable"),W=z.querySelector(".code-input");if(X)q.content=BZ(q,X);else if(W)q.content=W.value}function Vz(Z){return(Z instanceof HTMLElement?Z:Z.parentElement)?.closest(".block[data-bid]")??null}function gz(){return document.activeElement?.closest?.(".doc .block[data-bid]")?.getAttribute("data-bid")??null}function G8(Z){document.querySelector(".doc")?.classList.toggle("selecting",Z)}function yZ(){getSelection()?.removeAllRanges(),document.activeElement?.blur?.(),G8(!0)}function W8(Z){let J=getSelection();if(!J||J.isCollapsed||!J.rangeCount)return Z(null);if(!J.anchorNode?.parentElement?.closest?.(".editable"))return Z(null);let $=J.getRangeAt(0),q=$.getBoundingClientRect(),X=q.width||q.height?q:$.getClientRects()[0];if(!X)return Z(null);Z({x:X.left,y:X.top})}function bz(Z){let J=getSelection()?.anchorNode?.parentElement?.closest?.(".editable"),$=J?.closest(".block")?.getAttribute("data-bid"),q=$?f0(Z,$)?.block:null;if(q&&J)q.content=BZ(q,J)}function F8(Z,J={}){let z={id:p0(),type:Z,content:J.content??""};if(Z==="todo")z.checked=J.checked??!1;if(Z==="code")z.lang=J.lang??"";if(Z==="numbered"&&J.start!=null&&J.start>1)z.start=J.start;if(u0(Z)&&J.children?.length)z.children=J.children;if(Z==="table")z.rows=J.rows?J.rows.map(($)=>[...$]):D6(),z.align=J.align?[...J.align]:new Array(z.rows[0].length).fill(null);return z}function D6(){return[["",""],["",""]]}function BZ(Z,J){return T9(J.innerHTML)}function H8(){let Z=getSelection();return!!Z&&!Z.isCollapsed}function Sz(Z){let J=getSelection();if(!J||!J.rangeCount||!J.isCollapsed)return!1;let z=J.getRangeAt(0);if(!Z.contains(z.startContainer))return!1;let $=document.createRange();return $.selectNodeContents(Z),$.setEnd(z.startContainer,z.startOffset),$.toString().length===0}function Rz(){let Z=getSelection();if(!Z||!Z.rangeCount)return{x:80,y:120};let J=Z.getRangeAt(0).getBoundingClientRect();return{x:J.left||80,y:J.top||120}}function Iz(Z){let J=getSelection();if(!J||!J.rangeCount)return{first:!0,last:!0};let z=J.getRangeAt(0).getBoundingClientRect(),$=Z.getBoundingClientRect();if(!z.height&&!z.top)return{first:!0,last:!0};let q=parseFloat(getComputedStyle(Z).lineHeight)||z.height||20;return{first:z.top-$.top<q*0.5,last:$.bottom-z.bottom<q*0.5}}function Tz(Z){let J=Z.textContent??"";if(J.trim()==="")return!0;let z=getSelection();if(!z||!z.rangeCount||z.isCollapsed)return!1;if(!Z.contains(z.anchorNode)||!Z.contains(z.focusNode))return!1;return z.toString().length>=J.length}function x6(Z){let J=getSelection();if(!J||!J.rangeCount||!Z.contains(J.getRangeAt(0).startContainer))return{before:T9(Z.innerHTML),after:""};let z=J.getRangeAt(0),$=(q)=>{let X=document.createRange();X.selectNodeContents(Z),q(X);let W=document.createElement("div");return W.appendChild(X.cloneContents()),T9(W.innerHTML)};return{before:$((q)=>q.setEnd(z.startContainer,z.startOffset)),after:$((q)=>q.setStart(z.endContainer,z.endOffset))}}function xz(Z){let J=document.createElement("div");return J.innerHTML=UZ(Z),(J.textContent??"").length}function jz(Z,J){let z=document.querySelector(`.block[data-bid="${Z}"] .editable`);if(!z)return;z.focus();let $=document.createTreeWalker(z,NodeFilter.SHOW_TEXT),q=J,X=null;for(let G=$.nextNode();G;G=$.nextNode()){if(X=G,q<=G.data.length)break;q-=G.data.length}let W=document.createRange();if(X)W.setStart(X,Math.min(q,X.data.length));else W.selectNodeContents(z);W.collapse(!0);let F=getSelection();F?.removeAllRanges(),F?.addRange(W)}function b0(Z,J=!1){let z=`.block[data-bid="${Z}"] .editable, .block[data-bid="${Z}"] .code-input`,$=document.querySelector(z);if(!$)return;if($.focus(),$ instanceof HTMLTextAreaElement){let q=J?$.value.length:0;$.setSelectionRange(q,q);return}if(J){let q=document.createRange();q.selectNodeContents($),q.collapse(!1);let X=getSelection();X?.removeAllRanges(),X?.addRange(q)}}function j6(Z){Z.style.height="auto",Z.style.height=Z.scrollHeight+"px"}function K8(){document.querySelectorAll(".block.drop-before,.block.drop-after").forEach((Z)=>Z.classList.remove("drop-before","drop-after"))}function Dz(Z,J){K8();let z=Z.getBoundingClientRect();Z.classList.add(J.clientY<z.top+z.height/2?"drop-before":"drop-after")}function u6(){let Z=localStorage.getItem("mh-theme");return Z==="light"||Z==="dark"||Z==="system"?Z:"system"}function h6(Z){localStorage.setItem("mh-theme",Z),document.documentElement.dataset.theme=Z}var uz=[{value:"light",icon:"sun",name:"浅色",desc:"始终使用明亮界面"},{value:"dark",icon:"moon",name:"深色",desc:"始终使用暗色界面"},{value:"system",icon:"monitor",name:"跟随系统",desc:"随操作系统外观自动切换"}];function p6(){let[Z,J]=c(u6()),z=($)=>{h6($),J($)};return Q("div",{class:"set-page",children:[Q("div",{class:"set-title",children:"设置"},void 0,!1,void 0,this),Q("div",{class:"set-sub",children:"个性化你的 Metahub 工作区。"},void 0,!1,void 0,this),Q("div",{class:"set-section",children:[Q("div",{class:"set-section-head",children:"外观"},void 0,!1,void 0,this),Q("div",{class:"set-section-desc",children:"选择界面的颜色主题。"},void 0,!1,void 0,this),Q("div",{class:"theme-grid",children:uz.map(($)=>Q("button",{class:"theme-card"+(Z===$.value?" sel":""),"aria-pressed":Z===$.value,onClick:()=>z($.value),children:[Q("span",{class:"tc-check",children:Q(D,{name:"check"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"tc-ico",children:Q(D,{name:$.icon},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{class:"tc-name",children:$.name},void 0,!1,void 0,this),Q("span",{class:"tc-desc",children:$.desc},void 0,!1,void 0,this)]},$.value,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),typeof window!=="undefined"&&window.metahubDesktop?.quicknote&&Q(pz,{},void 0,!1,void 0,this),Q(Ez,{},void 0,!1,void 0,this),Q(iz,{},void 0,!1,void 0,this),Q(hz,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function hz(){let[Z,J]=c(null),[z,$]=c(null);return L0(()=>{l.version().then((X)=>J(X.version)).catch(()=>J(null)),(typeof window!=="undefined"?window.metahubDesktop:void 0)?.appVersion?.().then($).catch(()=>$(null))},[]),Q("div",{class:"set-footer",children:[z&&Q("span",{children:["App ",z]},void 0,!0,void 0,this),z&&Z&&Q("span",{class:"set-footer-sep",children:"·"},void 0,!1,void 0,this),Z&&Q("span",{children:["Core ",Z]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}var Y8="CommandOrControl+Shift+Space";function mz(Z){if(["Control","Meta","Alt","Shift"].includes(Z.key))return null;let J=[];if(Z.metaKey||Z.ctrlKey)J.push("CommandOrControl");if(Z.altKey)J.push("Alt");if(Z.shiftKey)J.push("Shift");let z=Z.key;if(z===" ")z="Space";else if(z.startsWith("Arrow"))z=z.slice(5);else if(z.length===1)z=z.toUpperCase();if(J.length===0)return null;return J.push(z),J.join("+")}function m6(Z){let J=typeof window!=="undefined"&&window.metahubDesktop?.platform==="darwin";return Z.replace("CommandOrControl",J?"⌘":"Ctrl").replace("Alt",J?"⌥":"Alt").replace("Shift",J?"⇧":"Shift").split("+").join(J?" ":"+")}function pz(){let Z=window.metahubDesktop.quicknote,[J,z]=c(Y8),[$,q]=c(!1),[X,W]=c(!1);L0(()=>{Z.getSettings().then((Y)=>{z(Y.shortcut),q(Y.alwaysOnTop)}).catch((Y)=>R0(`加载失败:${Y.message}`))},[]);let F=async(Y)=>{try{let K=await Z.setShortcut(Y);z(K.shortcut),R0(`快捷键已设为 ${m6(K.shortcut)}`)}catch(K){R0(`设置失败:${K.message}`)}},G=(Y)=>{if(Y.preventDefault(),Y.key==="Escape"){W(!1);return}let K=mz(Y);if(!K)return;W(!1),F(K)},H=async()=>{let Y=!$;q(Y);try{q(await Z.setAlwaysOnTop(Y))}catch(K){q(!Y),R0(`设置失败:${K.message}`)}};return Q("div",{class:"set-section",children:[Q("div",{class:"set-section-head",children:"快速笔记"},void 0,!1,void 0,this),Q("div",{class:"set-section-desc",children:"用全局快捷键随时唤起小窗记录想法。小窗也可从菜单栏图标打开。"},void 0,!1,void 0,this),Q("div",{class:"qn-set-row",children:[Q("div",{class:"qn-set-main",children:[Q("div",{class:"qn-set-name",children:"唤起快捷键"},void 0,!1,void 0,this),Q("div",{class:"qn-set-desc",children:"点击下方按钮,然后按下你想用的组合键。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"btn btn-secondary qn-shortcut"+(X?" capturing":""),onClick:()=>W(!0),onBlur:()=>W(!1),onKeyDown:X?G:void 0,children:X?"按下组合键…":m6(J)},void 0,!1,void 0,this),J!==Y8&&Q("button",{class:"btn btn-ghost",title:"重置默认",onClick:()=>void F(Y8),children:"重置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"qn-set-row",children:[Q("div",{class:"qn-set-main",children:[Q("div",{class:"qn-set-name",children:"默认始终置顶"},void 0,!1,void 0,this),Q("div",{class:"qn-set-desc",children:"小窗浮在其他窗口之上;也可在小窗内用 \uD83D\uDCCC 按钮切换。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"btn "+($?"btn-primary":"btn-secondary"),"aria-pressed":$,onClick:()=>void H(),children:$?"已开启":"已关闭"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function E6(Z){if(!Z)return"从未";return new Date(Z).toLocaleString()}function Ez(){let[Z,J]=c(null),z=()=>l.listPeers().then(J).catch((H)=>R0(`加载失败:${H.message}`));L0(()=>{z()},[]);let $=async()=>{try{let H=await l.newPairingCode();Q9(Q(cz,{code:H.code,exp:H.exp},void 0,!1,void 0,this))}catch(H){R0(`生成失败:${H.message}`)}},q=()=>Q9(Q(dz,{onDone:()=>{E0(),z()}},void 0,!1,void 0,this)),X=async(H)=>{try{let Y=await l.syncPeer(H.url);R0(Y.ok?`已同步:推送 ${Y.pushed},拉取 ${Y.pulled}`:`同步失败:${Y.error}`),z()}catch(Y){R0(`同步失败:${Y.message}`)}},W=async(H)=>{await l.updatePeer(H.url,{enabled:!H.enabled}).catch((Y)=>R0(Y.message)),z()},F=async(H)=>{if(!await x0({title:"移除同步设备",message:`确定移除 ${H.url}?将停止与该设备的数据同步。`,confirmLabel:"移除",danger:!0}))return;await l.removePeer(H.url).catch((K)=>R0(K.message)),z()},G=(H,Y)=>A0(H,(K)=>Q(z0,{children:[Q(s,{icon:"share",label:"立即同步",onClick:()=>{K(),X(Y)}},void 0,!1,void 0,this),Q(s,{icon:Y.enabled?"eyeOff":"check",label:Y.enabled?"禁用":"启用",onClick:()=>{K(),W(Y)}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"移除",danger:!0,onClick:()=>{K(),F(Y)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));return Q("div",{class:"set-section",children:[Q("div",{class:"set-section-head",children:"同步设备"},void 0,!1,void 0,this),Q("div",{class:"set-section-desc",children:"与其他设备配对,自动双向同步数据。在对方设备生成配对码,然后在此添加。"},void 0,!1,void 0,this),Q("div",{class:"peer-actions",children:[Q("button",{class:"btn btn-primary",onClick:q,children:[Q(D,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)," 添加设备"]},void 0,!0,void 0,this),Q("button",{class:"btn btn-secondary",onClick:$,children:[Q(D,{name:"link",cls:"ico sm"},void 0,!1,void 0,this)," 生成本机配对码"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"peer-list",children:Z==null?Q("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):Z.length===0?Q("div",{class:"muted",children:"还没有配对的设备。"},void 0,!1,void 0,this):Z.map((H)=>Q("div",{class:"peer-row",children:[Q("span",{class:"peer-dot"+(H.enabled?H.last_status==="error"?" err":" on":" off")},void 0,!1,void 0,this),Q("div",{class:"peer-main",children:[Q("div",{class:"peer-url",children:H.label||H.url},void 0,!1,void 0,this),Q("div",{class:"peer-sub",children:[H.enabled?"已启用":"已禁用"," · 最近同步 ",E6(H.last_sync_at),H.last_status==="error"&&H.last_error?` · 错误:${H.last_error}`:""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"btn btn-ghost peer-menu",onClick:(Y)=>G(Y,H),children:Q(D,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},H.url,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function iz(){let[Z,J]=c(null),z=()=>l.listGrants().then(J).catch((q)=>R0(`加载失败:${q.message}`));L0(()=>{z()},[]);let $=async(q)=>{if(!await x0({title:"吊销凭据",message:`吊销后,持有此凭据的设备${q.peer_url?`(${q.peer_url})`:""}将无法再同步进本机。`,confirmLabel:"吊销",danger:!0}))return;await l.revokeGrant(q.token).catch((W)=>R0(W.message)),z()};return Q("div",{class:"set-section",children:[Q("div",{class:"set-section-head",children:"已授权设备"},void 0,!1,void 0,this),Q("div",{class:"set-section-desc",children:"本机签发、允许其他设备同步进来的凭据。吊销即断开对方的入站访问。"},void 0,!1,void 0,this),Q("div",{class:"peer-list",children:Z==null?Q("div",{class:"muted",children:"加载中…"},void 0,!1,void 0,this):Z.length===0?Q("div",{class:"muted",children:"还没有签发任何凭据。"},void 0,!1,void 0,this):Z.map((q)=>Q("div",{class:"peer-row",children:[Q("span",{class:"peer-dot on"},void 0,!1,void 0,this),Q("div",{class:"peer-main",children:[Q("div",{class:"peer-url",children:q.peer_url||"(未知地址)"},void 0,!1,void 0,this),Q("div",{class:"peer-sub",children:[q.token.slice(0,8),"… · 签发于 ",E6(q.created_at)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("button",{class:"btn btn-ghost peer-menu",title:"吊销",onClick:()=>$(q),children:Q(D,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},q.token,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function cz({code:Z,exp:J}){let[z,$]=c(Math.max(0,Math.round((J-Date.now())/1000)));L0(()=>{let W=setInterval(()=>$(Math.max(0,Math.round((J-Date.now())/1000))),1000);return()=>clearInterval(W)},[J]);let q=Math.floor(z/60),X=String(z%60).padStart(2,"0");return Q($9,{title:"本机配对码",sub:"在另一台设备上输入此服务器地址和下面的配对码即可配对。配对码一次性使用。",footer:Q("button",{class:"btn btn-primary",onClick:E0,children:"完成"},void 0,!1,void 0,this),children:[Q("div",{class:"pair-code",children:Z},void 0,!1,void 0,this),Q("div",{class:"muted",style:{textAlign:"center",marginTop:8},children:z>0?`${q}:${X} 后过期`:"已过期,请重新生成"},void 0,!1,void 0,this),Q("button",{class:"btn btn-secondary",style:{width:"100%",marginTop:12},onClick:()=>{navigator.clipboard?.writeText(Z),R0("已复制配对码")},children:[Q(D,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this)," 复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function dz({onDone:Z}){let[J,z]=c(""),[$,q]=c(""),[X,W]=c(location.origin),[F,G]=c(!1),H=async()=>{if(!J.trim()||!$.trim()){R0("地址和配对码必填");return}G(!0);try{let Y=await l.addPeerByPairing({url:J.trim(),code:$.trim(),self_url:X.trim()||void 0});await l.syncPeer(Y.url).catch(()=>{}),R0(`已配对 ${Y.url}`),Z()}catch(Y){R0(`配对失败:${Y.message}`),G(!1)}};return Q($9,{title:"添加同步设备",sub:"输入对方 Metahub 服务器的地址,以及它生成的一次性配对码。",footer:Q(z0,{children:[Q("button",{class:"btn btn-secondary",onClick:E0,disabled:F,children:"取消"},void 0,!1,void 0,this),Q("button",{class:"btn btn-primary",onClick:H,disabled:F,children:F?"配对中…":"配对"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[Q("div",{class:"field-label",children:"对方服务器地址"},void 0,!1,void 0,this),Q("input",{class:"text-input",autofocus:!0,placeholder:"http://192.168.1.10:7777",value:J,onInput:(Y)=>z(Y.target.value)},void 0,!1,void 0,this),Q("div",{class:"field-label",children:"配对码"},void 0,!1,void 0,this),Q("input",{class:"text-input",placeholder:"对方「生成本机配对码」得到的码",value:$,onInput:(Y)=>q(Y.target.value),onKeyDown:(Y)=>Y.key==="Enter"&&H()},void 0,!1,void 0,this),Q("div",{class:"field-label",children:"本机可达地址(可选)"},void 0,!1,void 0,this),Q("input",{class:"text-input",placeholder:"留空则仅本机主动同步",value:X,onInput:(Y)=>W(Y.target.value)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var i6="mh-quicknote-last",c6="mh-quicknote-parent",d6="Quick Notes";function az(Z,J){return(J.created_hlc??"").localeCompare(Z.created_hlc??"")}async function nz(){let Z=localStorage.getItem(c6);if(Z)try{return await l.getDocument(Z),Z}catch{}let $=(await l.listDocuments()).find((q)=>q.parent_id==null&&q.title===d6)?.id??(await l.createDocument({title:d6})).id;return localStorage.setItem(c6,$),$}function a6(){let[Z,J]=c(null),[z,$]=c([]),[q,X]=c(null),[W,F]=c(""),[G,H]=c(!1),Y=Y0(null),K=typeof window!=="undefined"?window.metahubDesktop?.quicknote:void 0,v=z9(async(L)=>{let B=(await l.listDocumentsByParent(L)).sort(az);return $(B),B},[]),y=z9(async(L)=>{let B=await l.createDocument({title:"",parent_id:L});return await v(L),B.id},[v]);L0(()=>{(async()=>{try{let L=await nz();J(L);let B=await v(L),k=localStorage.getItem(i6),P=k&&B.some((S)=>S.id===k)&&k||B[0]?.id||await y(L);X(P)}catch(L){F(String(L.message))}})()},[v,y]),L0(()=>{if(q)localStorage.setItem(i6,q)},[q]),L0(()=>{K?.getAlwaysOnTop().then(H).catch(()=>{})},[K]),L0(()=>{if(!K)return;let L=(B)=>{if(B.key==="Escape")K.hide()};return addEventListener("keydown",L),()=>removeEventListener("keydown",L)},[K]);let w=async()=>{if(!Z)return;try{X(await y(Z))}catch(L){F(String(L.message))}},_=async()=>{if(!K)return;let L=!G;H(L);try{H(await K.setAlwaysOnTop(L))}catch{H(!L)}},A=async()=>{if(!q||!Z)return;if(!await x0({title:"删除笔记?",message:"该快速笔记将被删除。",confirmLabel:"删除",danger:!0}))return;await l.deleteDocument(q);let B=await v(Z);X(B[0]?.id??await y(Z))},f=(L)=>{A0(L,(B)=>Q(z0,{children:[Q(g0,{children:"快速笔记"},void 0,!1,void 0,this),z.length===0&&Q("div",{class:"lbl",children:"还没有笔记"},void 0,!1,void 0,this),z.map((k)=>Q(s,{icon:"file",label:k.title||"无标题",checked:k.id===q,onClick:()=>{B(),X(k.id)}},k.id,!1,void 0,this)),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"plus",label:"新建笔记",onClick:()=>{B(),w()}},void 0,!1,void 0,this),q&&Q(s,{icon:"trash",label:"删除当前笔记",danger:!0,onClick:()=>{B(),A()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),{minWidth:220})},R=z.find((L)=>L.id===q)?.title;return Q("div",{class:"qn",children:[Q("div",{class:"qn-bar",children:[Q("span",{class:"qn-brand",children:R||"快速笔记"},void 0,!1,void 0,this),Q("div",{class:"qn-actions",children:[Q("button",{class:"iconbtn",title:"新建笔记",onClick:()=>void w(),children:Q(D,{name:"plus"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("button",{class:"iconbtn",title:"笔记列表",onClick:f,children:Q(D,{name:"list"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K&&Q("button",{class:"iconbtn"+(G?" active":""),title:G?"取消置顶":"始终置顶",onClick:()=>void _(),children:Q(D,{name:"pin"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&Q("div",{class:"error-bar",onClick:()=>F(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),Q("div",{class:"qn-body",children:q?Q(wZ,{docId:q,onTitleChange:()=>Z&&void v(Z),onError:F,onHandle:(L)=>Y.current=L},q,!1,void 0,this):Q("div",{class:"empty",children:Q("div",{children:"加载中…"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q(a9,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var rz=/[",\r\n]/;function lz(Z){return rz.test(Z)?`"${Z.replace(/"/g,'""')}"`:Z}function n6(Z){return Z.map((J)=>J.map(lz).join(",")).join(`
|
|
35
|
+
`)}function U8(Z,J){let z=J.startsWith(".")?J:"."+J,$=Z.trim().replace(/[\\/:*?"<>|\x00-\x1f]/g,"-").replace(/\s+/g," ").replace(/^\.+$/,"").slice(0,90)||"untitled";return $.toLowerCase().endsWith(z.toLowerCase())?$:$+z}function y8(Z,J,z){let $=URL.createObjectURL(new Blob([J],{type:z})),q=document.createElement("a");q.href=$,q.download=Z,document.body.appendChild(q),q.click(),q.remove(),setTimeout(()=>URL.revokeObjectURL($),0)}function r6(Z,J){let z=["id",...Z.map((q)=>q.name)],$=J.map((q)=>[q.id,...Z.map((X)=>tz(q.values[X.name]))]);return n6([z,...$])}function tz(Z){if(Z==null)return"";if(typeof Z==="boolean")return Z?"true":"false";if(typeof Z==="object")return JSON.stringify(Z);return String(Z)}function oz(){let[Z,J]=c([]),[z,$]=c([]),[q,X]=c({kind:"empty"}),[W,F]=c(""),[G,H]=c(!1),[Y,K]=c(!1),[v,y]=c(268),[w,_]=c("blocks"),A=Y0(null),f=z9((b)=>F(b),[]),R=z9((b)=>{A.current=b},[]),L=z9(async()=>{let[b,h]=await Promise.all([l.listDatabases(),l.listDocuments()]);J(b),$(h)},[]);L0(()=>{L().catch((b)=>f(String(b.message)))},[L]);let B=(b)=>{X(b),H(!1)},k=()=>l.createDocument({title:""}).then((b)=>{L(),B({kind:"doc",id:b.id})}).catch((b)=>f(String(b.message))),P=q.kind==="db"?Z.find((b)=>b.id===q.id):void 0,S=q.kind==="doc"?z.find((b)=>b.id===q.id):void 0,T=q.kind==="doc"?q.id:null;L0(()=>{_("blocks")},[T]);let d=(b)=>{if(q.kind==="doc"&&S)A0(b,(h)=>Q(z0,{children:[Q(s,{icon:"code",label:w==="source"?"块方式显示":"代码方式显示",checked:w==="source",onClick:()=>{h(),A.current?.setMode(w==="source"?"blocks":"source")}},void 0,!1,void 0,this),Q(s,{icon:"download",label:"导出 Markdown",onClick:()=>{h();let n=A.current?.snapshotMarkdown();A.current?.flushSave(),(n==null?l.getDocument(S.id).then((Q0)=>Q0.body??""):Promise.resolve(n)).then((Q0)=>y8(U8(S.title||S.id,".md"),Q0,"text/markdown;charset=utf-8")).catch((Q0)=>f(String(Q0.message)))}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"settings",label:"重命名…",onClick:async()=>{h();let n=await B9({title:"重命名文档",value:S.title});if(n)await l.updateDocument(S.id,{title:n}),L()}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除文档",danger:!0,onClick:async()=>{if(h(),await x0({title:"删除文档?",message:`「${S.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))await l.deleteDocument(S.id),X({kind:"empty"}),L()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));else if(q.kind==="db"&&P)A0(b,(h)=>Q(z0,{children:[Q(s,{icon:"download",label:"导出 CSV",onClick:()=>{h(),Promise.all([l.listProperties(P.id),l.listRecords(P.id)]).then(([n,u])=>y8(U8(P.name||P.id,".csv"),r6(n,u),"text/csv;charset=utf-8")).catch((n)=>f(String(n.message)))}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"settings",label:"重命名…",onClick:async()=>{h();let n=await B9({title:"重命名数据库",value:P.name});if(n&&n!==P.name)await l.updateDatabase(P.id,{name:n}),L()}},void 0,!1,void 0,this),Q(_0,{},void 0,!1,void 0,this),Q(s,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(h(),await x0({title:"删除数据库?",message:`「${P.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))await l.deleteDatabase(P.id),X({kind:"empty"}),L()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return Q(z0,{children:[Q(c8,{databases:Z,docs:z,activeKind:q.kind,activeId:"id"in q?q.id:void 0,width:v,collapsed:Y,onResize:y,onOpenDb:(b)=>B({kind:"db",id:b}),onOpenDoc:(b)=>B({kind:"doc",id:b}),onSearch:(b)=>B({kind:"search",q:b}),onCollapse:()=>K(!0),onOpenSettings:()=>B({kind:"settings"}),settingsActive:q.kind==="settings",reloadNav:L,onError:f,afterDelete:(b,h)=>{if("id"in q&&q.id===h)X({kind:"empty"})}},void 0,!1,void 0,this),Q(ez,{open:G},void 0,!1,void 0,this),Q("div",{class:"main",children:[Q("div",{class:"topbar"+(q.kind==="empty"?" bare":""),children:[Q("button",{class:"iconbtn hamburger"+(Y?" show-collapsed":""),title:Y?"展开侧栏":"菜单",onClick:()=>Y?K(!1):H(!0),children:Q(D,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("div",{class:"crumb",children:[q.kind==="doc"&&Q(z0,{children:[Q("span",{class:"emoji",children:Q(D,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{children:S?.title||"无标题"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.kind==="db"&&Q(z0,{children:[Q("span",{class:"emoji",children:P?.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),Q("span",{children:P?.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.kind==="search"&&Q("span",{children:["搜索:“",q.q,"”"]},void 0,!0,void 0,this),q.kind==="settings"&&Q(z0,{children:[Q("span",{class:"emoji",children:Q(D,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("span",{children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),(q.kind==="doc"||q.kind==="db")&&Q(z0,{children:[Q("button",{class:"btn btn-ghost",children:[Q(D,{name:"share",cls:"ico sm"},void 0,!1,void 0,this),"分享"]},void 0,!0,void 0,this),Q("button",{class:"iconbtn",onClick:d,children:Q(D,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&Q("div",{class:"error-bar",onClick:()=>F(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),Q("div",{class:"content",children:[q.kind==="empty"&&Q(sz,{onNewDoc:k},void 0,!1,void 0,this),q.kind==="db"&&P&&Q(Q4,{db:P,reloadNav:L,onError:f},P.id,!1,void 0,this),q.kind==="doc"&&Q(wZ,{docId:q.id,onTitleChange:L,onError:f,onModeChange:_,onHandle:R},q.id,!1,void 0,this),q.kind==="search"&&Q(Z3,{q:q.q,onOpenDoc:(b)=>B({kind:"doc",id:b}),onOpenDb:(b)=>B({kind:"db",id:b})},void 0,!1,void 0,this),q.kind==="settings"&&Q(p6,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q("div",{class:"backdrop"+(G?" show":""),onClick:()=>H(!1)},void 0,!1,void 0,this),Q(a9,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function sz({onNewDoc:Z}){return Q("div",{class:"empty",children:[Q("svg",{class:"estate-art",viewBox:"0 0 220 190",fill:"none","aria-hidden":"true",children:[Q("ellipse",{class:"kg-ground ground",cx:"110",cy:"176",rx:"62",ry:"8"},void 0,!1,void 0,this),Q("circle",{class:"kg-glow fill-soft",cx:"116",cy:"88",r:"42"},void 0,!1,void 0,this),Q("g",{class:"kg-plant",children:[Q("path",{class:"kg-stem stroke-a draw",pathLength:"100",d:"M110 134 C110 117 108 106 113 92 C116 83 122 77 128 72"},void 0,!1,void 0,this),Q("g",{class:"kg-leaf l1",children:Q("g",{class:"kg-grow",children:Q("path",{class:"fill-a",d:"M108 108 C90 100 86 88 88 80 C102 80 111 90 108 108 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("g",{class:"kg-leaf l2",children:Q("g",{class:"kg-grow",children:Q("path",{class:"fill-a",d:"M118 90 C133 83 144 86 150 94 C139 105 125 104 118 90 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q("g",{class:"kg-leaf l3",children:Q("g",{class:"kg-grow",children:Q("path",{class:"fill-a",d:"M128 72 C128 57 136 48 146 45 C150 58 144 69 128 72 Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("rect",{class:"kg-cardB fill-soft",x:"76",y:"124",width:"68",height:"44",rx:"8",transform:"rotate(7 110 146)"},void 0,!1,void 0,this),Q("g",{class:"kg-cardA",children:[Q("rect",{class:"fill-surface stroke",x:"66",y:"128",width:"76",height:"46",rx:"9",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),Q("rect",{class:"fill-a",x:"74",y:"136",width:"18",height:"18",rx:"5",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),Q("rect",{class:"fill-soft",x:"98",y:"139",width:"34",height:"6",rx:"3",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this),Q("rect",{class:"fill-soft",x:"98",y:"150",width:"24",height:"6",rx:"3",transform:"rotate(-5 104 151)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("circle",{class:"kg-particle p1 fill-a",cx:"44",cy:"62",r:"2.6"},void 0,!1,void 0,this),Q("circle",{class:"kg-particle p2 fill-soft",cx:"178",cy:"74",r:"3"},void 0,!1,void 0,this),Q("circle",{class:"kg-particle p3 fill-a",cx:"40",cy:"120",r:"2"},void 0,!1,void 0,this),Q("circle",{class:"kg-particle p4 fill-soft",cx:"182",cy:"126",r:"2.4"},void 0,!1,void 0,this),Q("circle",{class:"kg-particle p5 fill-a",cx:"150",cy:"44",r:"2.2"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q("p",{class:"estate-title",children:"空空如也"},void 0,!1,void 0,this),Q("p",{class:"estate-hint",children:"从左侧选择一个数据库或文档,或新建一个开始。"},void 0,!1,void 0,this),Q("button",{class:"estate-link",onClick:Z,children:"+ 新建文档"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function ez({open:Z}){return L0(()=>{let J=document.querySelector(".sidebar");if(J)J.classList.toggle("open",Z)},[Z]),null}function Z3({q:Z,onOpenDoc:J,onOpenDb:z}){let[$,q]=c(null);return L0(()=>{q(null),l.search(Z).then(q).catch(()=>q([]))},[Z]),Q("div",{class:"db",children:[Q("div",{class:"db-title",style:{marginBottom:14},children:["搜索:“",Z,"”"]},void 0,!0,void 0,this),$===null&&Q("p",{class:"muted",children:"搜索中…"},void 0,!1,void 0,this),$?.length===0&&Q("p",{class:"muted",children:"没有匹配结果。"},void 0,!1,void 0,this),$?.map((X)=>Q("div",{class:"error-bar",style:{background:"var(--surface)",color:"var(--fg)",margin:"0 0 8px"},onClick:()=>X.type==="document"?J(X.id):X.database_id&&z(X.database_id),children:[Q("strong",{children:X.title||X.id},void 0,!1,void 0,this)," ",Q("span",{class:"muted",children:X.type},void 0,!1,void 0,this),Q("div",{class:"muted",dangerouslySetInnerHTML:{__html:X.snippet}},void 0,!1,void 0,this)]},X.id,!0,void 0,this))]},void 0,!0,void 0,this)}if(location.hash==="#quick"&&typeof window!=="undefined"&&window.metahubDesktop)document.body.classList.add("quicknote"),fZ(Q(a6,{},void 0,!1,void 0,this),document.getElementById("app"));else fZ(Q(oz,{},void 0,!1,void 0,this),document.getElementById("app"));
|