@linkshell/gateway 0.6.60 → 0.6.61

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.
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/astro-DOly5024.js","assets/json-Cp-IABpG.js","assets/javascript-wDzz0qaB.js","assets/typescript-BPQ3VLAy.js","assets/css-Z72CF80r.js","assets/postcss-DnzrXTVv.js","assets/tsx-COt5Ahok.js","assets/cpp-DddhVWhK.js","assets/c-BIGW1oBm.js","assets/elixir-DkJLSxtU.js","assets/html-BlS82ilI.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/latex-BK3a6r9z.js","assets/r-Cf5RLm7j.js","assets/lua-BaeVxFsk.js","assets/nginx-BpAMiNFr.js","assets/perl-5klg-GXX.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/sql-DkvoVjww.js","assets/php-DoruYMF0.js","assets/ruby-KQScI-mG.js","assets/bash-Yzrsuije.js","assets/yaml-Buea-lGh.js","assets/scss-Cw6XMfVs.js","assets/svelte-DoIXUgJc.js","assets/vue-CwSeJimo.js"])))=>i.map(i=>d[i]);
2
- import{_ as b}from"./index-2d3I_mqJ.js";import{t as dr}from"./markdown-gsWh3zpl.js";var E=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function pr(e){return kt(e)}function kt(e){return Array.isArray(e)?gr(e):e instanceof RegExp?e:typeof e=="object"?mr(e):e}function gr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=kt(e[n]);return t}function mr(e){let t={};for(let n in e)t[n]=kt(e[n]);return t}function mn(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function _n(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?_n(e.substring(0,e.length-1)):e.substr(~t+1)}var Qe=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,we=class{static hasCaptures(e){return e===null?!1:(Qe.lastIndex=0,Qe.test(e))}static replaceCaptures(e,t,n){return e.replace(Qe,(r,s,o,i)=>{let a=n[parseInt(s||o,10)];if(a){let c=t.substring(a.start,a.end);for(;c[0]===".";)c=c.substring(1);switch(i){case"downcase":return c.toLowerCase();case"upcase":return c.toUpperCase();default:return c}}else return r})}};function yn(e,t){return e<t?-1:e>t?1:0}function wn(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let s=0;s<n;s++){let o=yn(e[s],t[s]);if(o!==0)return o}return 0}return n-r}function Nt(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function bn(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Cn=class{constructor(e){this.fn=e}fn;cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);const t=this.fn(e);return this.cache.set(e,t),t}},ve=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}_colorMap;_defaults;_root;static createFromRawTheme(e,t){return this.createFromParsedTheme(wr(e),t)}static createFromParsedTheme(e,t){return Cr(e,t)}_cachedMatchRoot=new Cn(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,r=this._cachedMatchRoot.get(t).find(s=>_r(e.parent,s.parentScopes));return r?new kn(r.fontStyle,r.foreground,r.background):null}},Ke=class Se{constructor(t,n){this.parent=t,this.scopeName=n}parent;scopeName;static push(t,n){for(const r of n)t=new Se(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new Se(n,t[r]);return n}push(t){return new Se(this,t)}getSegments(){let t=this;const n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){const n=[];let r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function _r(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],s=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],s=!0}for(;e&&!yr(e.scopeName,r);){if(s)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function yr(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var kn=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}fontStyle;foregroundId;backgroundId};function wr(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let s=0,o=t.length;s<o;s++){let i=t[s];if(!i.settings)continue;let a;if(typeof i.scope=="string"){let h=i.scope;h=h.replace(/^[,]+/,""),h=h.replace(/[,]+$/,""),a=h.split(",")}else Array.isArray(i.scope)?a=i.scope:a=[""];let c=-1;if(typeof i.settings.fontStyle=="string"){c=0;let h=i.settings.fontStyle.split(" ");for(let f=0,d=h.length;f<d;f++)switch(h[f]){case"italic":c=c|1;break;case"bold":c=c|2;break;case"underline":c=c|4;break;case"strikethrough":c=c|8;break}}let l=null;typeof i.settings.foreground=="string"&&Nt(i.settings.foreground)&&(l=i.settings.foreground);let u=null;typeof i.settings.background=="string"&&Nt(i.settings.background)&&(u=i.settings.background);for(let h=0,f=a.length;h<f;h++){let p=a[h].trim().split(" "),_=p[p.length-1],y=null;p.length>1&&(y=p.slice(0,p.length-1),y.reverse()),n[r++]=new br(_,y,s,c,l,u)}}return n}var br=class{constructor(e,t,n,r,s,o){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=s,this.background=o}scope;parentScopes;index;fontStyle;foreground;background},$=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))($||{});function Cr(e,t){e.sort((c,l)=>{let u=yn(c.scope,l.scope);return u!==0||(u=wn(c.parentScopes,l.parentScopes),u!==0)?u:c.index-l.index});let n=0,r="#000000",s="#ffffff";for(;e.length>=1&&e[0].scope==="";){let c=e.shift();c.fontStyle!==-1&&(n=c.fontStyle),c.foreground!==null&&(r=c.foreground),c.background!==null&&(s=c.background)}let o=new kr(t),i=new kn(n,o.getId(r),o.getId(s)),a=new Er(new at(0,null,-1,0,0),[]);for(let c=0,l=e.length;c<l;c++){let u=e[c];a.insert(0,u.scope,u.parentScopes,u.fontStyle,o.getId(u.foreground),o.getId(u.background))}return new ve(o,i,a)}var kr=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Sr=Object.freeze([]),at=class Sn{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,n,r,s,o){this.scopeDepth=t,this.parentScopes=n||Sr,this.fontStyle=r,this.foreground=s,this.background=o}clone(){return new Sn(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,s=t.length;r<s;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,s){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),s!==0&&(this.background=s)}},Er=class ct{constructor(t,n=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}_mainRule;_children;_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,s=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[s]===">"&&s++,!(r>=t.parentScopes.length||s>=n.parentScopes.length);){const o=n.parentScopes[s].length-t.parentScopes[r].length;if(o!==0)return o;r++,s++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),s,o;if(r===-1?(s=t,o=""):(s=t.substring(0,r),o=t.substring(r+1)),this._children.hasOwnProperty(s))return this._children[s].match(o)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(ct._cmpBySpecificity),n}insert(t,n,r,s,o,i){if(n===""){this._doInsertHere(t,r,s,o,i);return}let a=n.indexOf("."),c,l;a===-1?(c=n,l=""):(c=n.substring(0,a),l=n.substring(a+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new ct(this._mainRule.clone(),at.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,s,o,i)}_doInsertHere(t,n,r,s,o){if(n===null){this._mainRule.acceptOverwrite(t,r,s,o);return}for(let i=0,a=this._rulesWithParentScopes.length;i<a;i++){let c=this._rulesWithParentScopes[i];if(wn(c.parentScopes,n)===0){c.acceptOverwrite(t,r,s,o);return}}r===-1&&(r=this._mainRule.fontStyle),s===0&&(s=this._mainRule.foreground),o===0&&(o=this._mainRule.background),this._rulesWithParentScopes.push(new at(t,n,r,s,o))}},J=class N{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=N.getLanguageId(t),r=N.getTokenType(t),s=N.getFontStyle(t),o=N.getForeground(t),i=N.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:s,foreground:o,background:i})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,s,o,i,a){let c=N.getLanguageId(t),l=N.getTokenType(t),u=N.containsBalancedBrackets(t)?1:0,h=N.getFontStyle(t),f=N.getForeground(t),d=N.getBackground(t);return n!==0&&(c=n),r!==8&&(l=r),s!==null&&(u=s?1:0),o!==-1&&(h=o),i!==0&&(f=i),a!==0&&(d=a),(c<<0|l<<8|u<<10|h<<11|f<<15|d<<24)>>>0}};function Ae(e,t){const n=[],r=Ir(e);let s=r.next();for(;s!==null;){let c=0;if(s.length===2&&s.charAt(1)===":"){switch(s.charAt(0)){case"R":c=1;break;case"L":c=-1;break;default:console.log(`Unknown priority ${s} in scope selector`)}s=r.next()}let l=i();if(n.push({matcher:l,priority:c}),s!==",")break;s=r.next()}return n;function o(){if(s==="-"){s=r.next();const c=o();return l=>!!c&&!c(l)}if(s==="("){s=r.next();const c=a();return s===")"&&(s=r.next()),c}if(Pt(s)){const c=[];do c.push(s),s=r.next();while(Pt(s));return l=>t(c,l)}return null}function i(){const c=[];let l=o();for(;l;)c.push(l),l=o();return u=>c.every(h=>h(u))}function a(){const c=[];let l=i();for(;l&&(c.push(l),s==="|"||s===",");){do s=r.next();while(s==="|"||s===",");l=i()}return u=>c.some(h=>h(u))}}function Pt(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ir(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const r=n[0];return n=t.exec(e),r}}}function En(e){typeof e.dispose=="function"&&e.dispose()}var fe=class{constructor(e){this.scopeName=e}scopeName;toKey(){return this.scopeName}},vr=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;toKey(){return`${this.scopeName}#${this.ruleName}`}},Ar=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},xr=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new fe(this.initialScopeName)]}repo;initialScopeName;seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){const e=this.Q;this.Q=[];const t=new Ar;for(const n of e)Rr(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof fe){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function Rr(e,t,n,r){const s=n.lookup(e.scopeName);if(!s){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const o=n.lookup(t);e instanceof fe?Ee({baseGrammar:o,selfGrammar:s},r):lt(e.ruleName,{baseGrammar:o,selfGrammar:s,repository:s.repository},r);const i=n.injections(e.scopeName);if(i)for(const a of i)r.add(new fe(a))}function lt(e,t,n){if(t.repository&&t.repository[e]){const r=t.repository[e];xe([r],t,n)}}function Ee(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&xe(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&xe(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function xe(e,t,n){for(const r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);const s=r.repository?mn({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&xe(r.patterns,{...t,repository:s},n);const o=r.include;if(!o)continue;const i=In(o);switch(i.kind){case 0:Ee({...t,selfGrammar:t.baseGrammar},n);break;case 1:Ee(t,n);break;case 2:lt(i.ruleName,{...t,repository:s},n);break;case 3:case 4:const a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){const c={baseGrammar:t.baseGrammar,selfGrammar:a,repository:s};i.kind===4?lt(i.ruleName,c,n):Ee(c,n)}else i.kind===4?n.add(new vr(i.scopeName,i.ruleName)):n.add(new fe(i.scopeName));break}}}var $r=class{kind=0},Lr=class{kind=1},Nr=class{constructor(e){this.ruleName=e}ruleName;kind=2},Pr=class{constructor(e){this.scopeName=e}scopeName;kind=3},Tr=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;kind=4};function In(e){if(e==="$base")return new $r;if(e==="$self")return new Lr;const t=e.indexOf("#");if(t===-1)return new Pr(e);if(t===0)return new Nr(e.substring(1));{const n=e.substring(0,t),r=e.substring(t+1);return new Tr(n,r)}}var Gr=/\\(\d+)/,Tt=/\\(\d+)/g,Mr=-1,vn=-2;var _e=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=we.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=we.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${_n(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:we.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:we.replaceCaptures(this._contentName,e,t)}},Or=class extends _e{retokenizeCapturedWithRuleId;constructor(e,t,n,r,s){super(e,t,n,r),this.retokenizeCapturedWithRuleId=s}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,r){throw new Error("Not supported!")}},Br=class extends _e{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,s){super(e,t,n,null),this._match=new de(r,this.id),this.captures=s,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new pe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Gt=class extends _e{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,s){super(e,t,n,r),this.patterns=s.patterns,this.hasMissingPatterns=s.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(const n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new pe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ut=class extends _e{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,s,o,i,a,c,l){super(e,t,n,r),this._begin=new de(s,this.id),this.beginCaptures=o,this._end=new de(i||"￿",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=a,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new pe;for(const n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Re=class extends _e{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,s,o,i,a,c){super(e,t,n,r),this._begin=new de(s,this.id),this.beginCaptures=o,this.whileCaptures=a,this._while=new de(i,vn),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new pe;for(const t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new pe,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"￿"),this._cachedCompiledWhilePatterns}},An=class R{static createCaptureRule(t,n,r,s,o){return t.registerRule(i=>new Or(n,i,r,s,o))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(s=>{if(t.id=s,t.match)return new Br(t.$vscodeTextmateLocation,t.id,t.name,t.match,R._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=mn({},r,t.repository));let o=t.patterns;return typeof o>"u"&&t.include&&(o=[{include:t.include}]),new Gt(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,R._compilePatterns(o,n,r))}return t.while?new Re(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,R._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,R._compileCaptures(t.whileCaptures||t.captures,n,r),R._compilePatterns(t.patterns,n,r)):new ut(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,R._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,R._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,R._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let s=[];if(t){let o=0;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);a>o&&(o=a)}for(let i=0;i<=o;i++)s[i]=null;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);let c=0;t[i].patterns&&(c=R.getCompiledRuleId(t[i],n,r)),s[a]=R.createCaptureRule(n,t[i].$vscodeTextmateLocation,t[i].name,t[i].contentName,c)}}return s}static _compilePatterns(t,n,r){let s=[];if(t)for(let o=0,i=t.length;o<i;o++){const a=t[o];let c=-1;if(a.include){const l=In(a.include);switch(l.kind){case 0:case 1:c=R.getCompiledRuleId(r[a.include],n,r);break;case 2:let u=r[l.ruleName];u&&(c=R.getCompiledRuleId(u,n,r));break;case 3:case 4:const h=l.scopeName,f=l.kind===4?l.ruleName:null,d=n.getExternalGrammar(h,r);if(d)if(f){let p=d.repository[f];p&&(c=R.getCompiledRuleId(p,n,d.repository))}else c=R.getCompiledRuleId(d.repository.$self,n,d.repository);break}}else c=R.getCompiledRuleId(a,n,r);if(c!==-1){const l=n.getRule(c);let u=!1;if((l instanceof Gt||l instanceof ut||l instanceof Re)&&l.hasMissingPatterns&&l.patterns.length===0&&(u=!0),u)continue;s.push(c)}}return{patterns:s,hasMissingPatterns:(t?t.length:0)!==s.length}}},de=class xn{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,n){if(t&&typeof t=="string"){const r=t.length;let s=0,o=[],i=!1;for(let a=0;a<r;a++)if(t.charAt(a)==="\\"&&a+1<r){const l=t.charAt(a+1);l==="z"?(o.push(t.substring(s,a)),o.push("$(?!\\n)(?<!\\n)"),s=a+2):(l==="A"||l==="G")&&(i=!0),a++}this.hasAnchor=i,s===0?this.source=t:(o.push(t.substring(s,r)),this.source=o.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=Gr.test(this.source):this.hasBackReferences=!1}clone(){return new xn(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=n.map(s=>t.substring(s.start,s.end));return Tt.lastIndex=0,this.source.replace(Tt,(s,o)=>bn(r[parseInt(o,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],s=[],o,i,a,c;for(o=0,i=this.source.length;o<i;o++)a=this.source.charAt(o),t[o]=a,n[o]=a,r[o]=a,s[o]=a,a==="\\"&&o+1<i&&(c=this.source.charAt(o+1),c==="A"?(t[o+1]="￿",n[o+1]="￿",r[o+1]="A",s[o+1]="A"):c==="G"?(t[o+1]="￿",n[o+1]="G",r[o+1]="￿",s[o+1]="G"):(t[o+1]=c,n[o+1]=c,r[o+1]=c,s[o+1]=c),o++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.join(""),A1_G1:s.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},pe=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Mt(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(s=>s.resolveAnchors(t,n));return new Mt(e,r,this._items.map(s=>s.ruleId))}},Mt=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}regExps;rules;scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
2
+ import{_ as b}from"./index-BOUajjjs.js";import{t as dr}from"./markdown-gsWh3zpl.js";var E=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function pr(e){return kt(e)}function kt(e){return Array.isArray(e)?gr(e):e instanceof RegExp?e:typeof e=="object"?mr(e):e}function gr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=kt(e[n]);return t}function mr(e){let t={};for(let n in e)t[n]=kt(e[n]);return t}function mn(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function _n(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?_n(e.substring(0,e.length-1)):e.substr(~t+1)}var Qe=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,we=class{static hasCaptures(e){return e===null?!1:(Qe.lastIndex=0,Qe.test(e))}static replaceCaptures(e,t,n){return e.replace(Qe,(r,s,o,i)=>{let a=n[parseInt(s||o,10)];if(a){let c=t.substring(a.start,a.end);for(;c[0]===".";)c=c.substring(1);switch(i){case"downcase":return c.toLowerCase();case"upcase":return c.toUpperCase();default:return c}}else return r})}};function yn(e,t){return e<t?-1:e>t?1:0}function wn(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let s=0;s<n;s++){let o=yn(e[s],t[s]);if(o!==0)return o}return 0}return n-r}function Nt(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function bn(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Cn=class{constructor(e){this.fn=e}fn;cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);const t=this.fn(e);return this.cache.set(e,t),t}},ve=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}_colorMap;_defaults;_root;static createFromRawTheme(e,t){return this.createFromParsedTheme(wr(e),t)}static createFromParsedTheme(e,t){return Cr(e,t)}_cachedMatchRoot=new Cn(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,r=this._cachedMatchRoot.get(t).find(s=>_r(e.parent,s.parentScopes));return r?new kn(r.fontStyle,r.foreground,r.background):null}},Ke=class Se{constructor(t,n){this.parent=t,this.scopeName=n}parent;scopeName;static push(t,n){for(const r of n)t=new Se(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new Se(n,t[r]);return n}push(t){return new Se(this,t)}getSegments(){let t=this;const n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){const n=[];let r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function _r(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],s=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],s=!0}for(;e&&!yr(e.scopeName,r);){if(s)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function yr(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var kn=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}fontStyle;foregroundId;backgroundId};function wr(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let s=0,o=t.length;s<o;s++){let i=t[s];if(!i.settings)continue;let a;if(typeof i.scope=="string"){let h=i.scope;h=h.replace(/^[,]+/,""),h=h.replace(/[,]+$/,""),a=h.split(",")}else Array.isArray(i.scope)?a=i.scope:a=[""];let c=-1;if(typeof i.settings.fontStyle=="string"){c=0;let h=i.settings.fontStyle.split(" ");for(let f=0,d=h.length;f<d;f++)switch(h[f]){case"italic":c=c|1;break;case"bold":c=c|2;break;case"underline":c=c|4;break;case"strikethrough":c=c|8;break}}let l=null;typeof i.settings.foreground=="string"&&Nt(i.settings.foreground)&&(l=i.settings.foreground);let u=null;typeof i.settings.background=="string"&&Nt(i.settings.background)&&(u=i.settings.background);for(let h=0,f=a.length;h<f;h++){let p=a[h].trim().split(" "),_=p[p.length-1],y=null;p.length>1&&(y=p.slice(0,p.length-1),y.reverse()),n[r++]=new br(_,y,s,c,l,u)}}return n}var br=class{constructor(e,t,n,r,s,o){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=s,this.background=o}scope;parentScopes;index;fontStyle;foreground;background},$=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))($||{});function Cr(e,t){e.sort((c,l)=>{let u=yn(c.scope,l.scope);return u!==0||(u=wn(c.parentScopes,l.parentScopes),u!==0)?u:c.index-l.index});let n=0,r="#000000",s="#ffffff";for(;e.length>=1&&e[0].scope==="";){let c=e.shift();c.fontStyle!==-1&&(n=c.fontStyle),c.foreground!==null&&(r=c.foreground),c.background!==null&&(s=c.background)}let o=new kr(t),i=new kn(n,o.getId(r),o.getId(s)),a=new Er(new at(0,null,-1,0,0),[]);for(let c=0,l=e.length;c<l;c++){let u=e[c];a.insert(0,u.scope,u.parentScopes,u.fontStyle,o.getId(u.foreground),o.getId(u.background))}return new ve(o,i,a)}var kr=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Sr=Object.freeze([]),at=class Sn{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,n,r,s,o){this.scopeDepth=t,this.parentScopes=n||Sr,this.fontStyle=r,this.foreground=s,this.background=o}clone(){return new Sn(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,s=t.length;r<s;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,s){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),s!==0&&(this.background=s)}},Er=class ct{constructor(t,n=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}_mainRule;_children;_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,s=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[s]===">"&&s++,!(r>=t.parentScopes.length||s>=n.parentScopes.length);){const o=n.parentScopes[s].length-t.parentScopes[r].length;if(o!==0)return o;r++,s++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),s,o;if(r===-1?(s=t,o=""):(s=t.substring(0,r),o=t.substring(r+1)),this._children.hasOwnProperty(s))return this._children[s].match(o)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(ct._cmpBySpecificity),n}insert(t,n,r,s,o,i){if(n===""){this._doInsertHere(t,r,s,o,i);return}let a=n.indexOf("."),c,l;a===-1?(c=n,l=""):(c=n.substring(0,a),l=n.substring(a+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new ct(this._mainRule.clone(),at.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,s,o,i)}_doInsertHere(t,n,r,s,o){if(n===null){this._mainRule.acceptOverwrite(t,r,s,o);return}for(let i=0,a=this._rulesWithParentScopes.length;i<a;i++){let c=this._rulesWithParentScopes[i];if(wn(c.parentScopes,n)===0){c.acceptOverwrite(t,r,s,o);return}}r===-1&&(r=this._mainRule.fontStyle),s===0&&(s=this._mainRule.foreground),o===0&&(o=this._mainRule.background),this._rulesWithParentScopes.push(new at(t,n,r,s,o))}},J=class N{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=N.getLanguageId(t),r=N.getTokenType(t),s=N.getFontStyle(t),o=N.getForeground(t),i=N.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:s,foreground:o,background:i})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,s,o,i,a){let c=N.getLanguageId(t),l=N.getTokenType(t),u=N.containsBalancedBrackets(t)?1:0,h=N.getFontStyle(t),f=N.getForeground(t),d=N.getBackground(t);return n!==0&&(c=n),r!==8&&(l=r),s!==null&&(u=s?1:0),o!==-1&&(h=o),i!==0&&(f=i),a!==0&&(d=a),(c<<0|l<<8|u<<10|h<<11|f<<15|d<<24)>>>0}};function Ae(e,t){const n=[],r=Ir(e);let s=r.next();for(;s!==null;){let c=0;if(s.length===2&&s.charAt(1)===":"){switch(s.charAt(0)){case"R":c=1;break;case"L":c=-1;break;default:console.log(`Unknown priority ${s} in scope selector`)}s=r.next()}let l=i();if(n.push({matcher:l,priority:c}),s!==",")break;s=r.next()}return n;function o(){if(s==="-"){s=r.next();const c=o();return l=>!!c&&!c(l)}if(s==="("){s=r.next();const c=a();return s===")"&&(s=r.next()),c}if(Pt(s)){const c=[];do c.push(s),s=r.next();while(Pt(s));return l=>t(c,l)}return null}function i(){const c=[];let l=o();for(;l;)c.push(l),l=o();return u=>c.every(h=>h(u))}function a(){const c=[];let l=i();for(;l&&(c.push(l),s==="|"||s===",");){do s=r.next();while(s==="|"||s===",");l=i()}return u=>c.some(h=>h(u))}}function Pt(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ir(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const r=n[0];return n=t.exec(e),r}}}function En(e){typeof e.dispose=="function"&&e.dispose()}var fe=class{constructor(e){this.scopeName=e}scopeName;toKey(){return this.scopeName}},vr=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;toKey(){return`${this.scopeName}#${this.ruleName}`}},Ar=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},xr=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new fe(this.initialScopeName)]}repo;initialScopeName;seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){const e=this.Q;this.Q=[];const t=new Ar;for(const n of e)Rr(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof fe){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function Rr(e,t,n,r){const s=n.lookup(e.scopeName);if(!s){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const o=n.lookup(t);e instanceof fe?Ee({baseGrammar:o,selfGrammar:s},r):lt(e.ruleName,{baseGrammar:o,selfGrammar:s,repository:s.repository},r);const i=n.injections(e.scopeName);if(i)for(const a of i)r.add(new fe(a))}function lt(e,t,n){if(t.repository&&t.repository[e]){const r=t.repository[e];xe([r],t,n)}}function Ee(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&xe(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&xe(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function xe(e,t,n){for(const r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);const s=r.repository?mn({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&xe(r.patterns,{...t,repository:s},n);const o=r.include;if(!o)continue;const i=In(o);switch(i.kind){case 0:Ee({...t,selfGrammar:t.baseGrammar},n);break;case 1:Ee(t,n);break;case 2:lt(i.ruleName,{...t,repository:s},n);break;case 3:case 4:const a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){const c={baseGrammar:t.baseGrammar,selfGrammar:a,repository:s};i.kind===4?lt(i.ruleName,c,n):Ee(c,n)}else i.kind===4?n.add(new vr(i.scopeName,i.ruleName)):n.add(new fe(i.scopeName));break}}}var $r=class{kind=0},Lr=class{kind=1},Nr=class{constructor(e){this.ruleName=e}ruleName;kind=2},Pr=class{constructor(e){this.scopeName=e}scopeName;kind=3},Tr=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;kind=4};function In(e){if(e==="$base")return new $r;if(e==="$self")return new Lr;const t=e.indexOf("#");if(t===-1)return new Pr(e);if(t===0)return new Nr(e.substring(1));{const n=e.substring(0,t),r=e.substring(t+1);return new Tr(n,r)}}var Gr=/\\(\d+)/,Tt=/\\(\d+)/g,Mr=-1,vn=-2;var _e=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=we.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=we.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${_n(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:we.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:we.replaceCaptures(this._contentName,e,t)}},Or=class extends _e{retokenizeCapturedWithRuleId;constructor(e,t,n,r,s){super(e,t,n,r),this.retokenizeCapturedWithRuleId=s}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,r){throw new Error("Not supported!")}},Br=class extends _e{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,s){super(e,t,n,null),this._match=new de(r,this.id),this.captures=s,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new pe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Gt=class extends _e{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,s){super(e,t,n,r),this.patterns=s.patterns,this.hasMissingPatterns=s.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(const n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new pe,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ut=class extends _e{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,s,o,i,a,c,l){super(e,t,n,r),this._begin=new de(s,this.id),this.beginCaptures=o,this._end=new de(i||"￿",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=a,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new pe;for(const n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Re=class extends _e{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,s,o,i,a,c){super(e,t,n,r),this._begin=new de(s,this.id),this.beginCaptures=o,this.whileCaptures=a,this._while=new de(i,vn),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new pe;for(const t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new pe,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"￿"),this._cachedCompiledWhilePatterns}},An=class R{static createCaptureRule(t,n,r,s,o){return t.registerRule(i=>new Or(n,i,r,s,o))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(s=>{if(t.id=s,t.match)return new Br(t.$vscodeTextmateLocation,t.id,t.name,t.match,R._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=mn({},r,t.repository));let o=t.patterns;return typeof o>"u"&&t.include&&(o=[{include:t.include}]),new Gt(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,R._compilePatterns(o,n,r))}return t.while?new Re(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,R._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,R._compileCaptures(t.whileCaptures||t.captures,n,r),R._compilePatterns(t.patterns,n,r)):new ut(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,R._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,R._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,R._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let s=[];if(t){let o=0;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);a>o&&(o=a)}for(let i=0;i<=o;i++)s[i]=null;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);let c=0;t[i].patterns&&(c=R.getCompiledRuleId(t[i],n,r)),s[a]=R.createCaptureRule(n,t[i].$vscodeTextmateLocation,t[i].name,t[i].contentName,c)}}return s}static _compilePatterns(t,n,r){let s=[];if(t)for(let o=0,i=t.length;o<i;o++){const a=t[o];let c=-1;if(a.include){const l=In(a.include);switch(l.kind){case 0:case 1:c=R.getCompiledRuleId(r[a.include],n,r);break;case 2:let u=r[l.ruleName];u&&(c=R.getCompiledRuleId(u,n,r));break;case 3:case 4:const h=l.scopeName,f=l.kind===4?l.ruleName:null,d=n.getExternalGrammar(h,r);if(d)if(f){let p=d.repository[f];p&&(c=R.getCompiledRuleId(p,n,d.repository))}else c=R.getCompiledRuleId(d.repository.$self,n,d.repository);break}}else c=R.getCompiledRuleId(a,n,r);if(c!==-1){const l=n.getRule(c);let u=!1;if((l instanceof Gt||l instanceof ut||l instanceof Re)&&l.hasMissingPatterns&&l.patterns.length===0&&(u=!0),u)continue;s.push(c)}}return{patterns:s,hasMissingPatterns:(t?t.length:0)!==s.length}}},de=class xn{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,n){if(t&&typeof t=="string"){const r=t.length;let s=0,o=[],i=!1;for(let a=0;a<r;a++)if(t.charAt(a)==="\\"&&a+1<r){const l=t.charAt(a+1);l==="z"?(o.push(t.substring(s,a)),o.push("$(?!\\n)(?<!\\n)"),s=a+2):(l==="A"||l==="G")&&(i=!0),a++}this.hasAnchor=i,s===0?this.source=t:(o.push(t.substring(s,r)),this.source=o.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=Gr.test(this.source):this.hasBackReferences=!1}clone(){return new xn(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=n.map(s=>t.substring(s.start,s.end));return Tt.lastIndex=0,this.source.replace(Tt,(s,o)=>bn(r[parseInt(o,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],s=[],o,i,a,c;for(o=0,i=this.source.length;o<i;o++)a=this.source.charAt(o),t[o]=a,n[o]=a,r[o]=a,s[o]=a,a==="\\"&&o+1<i&&(c=this.source.charAt(o+1),c==="A"?(t[o+1]="￿",n[o+1]="￿",r[o+1]="A",s[o+1]="A"):c==="G"?(t[o+1]="￿",n[o+1]="G",r[o+1]="￿",s[o+1]="G"):(t[o+1]=c,n[o+1]=c,r[o+1]=c,s[o+1]=c),o++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.join(""),A1_G1:s.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},pe=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Mt(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(s=>s.resolveAnchors(t,n));return new Mt(e,r,this._items.map(s=>s.ruleId))}},Mt=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}regExps;rules;scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
3
3
  `)}findNextMatchSync(e,t,n){const r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Ze=class{constructor(e,t){this.languageId=e,this.tokenType=t}languageId;tokenType},Dr=class ht{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,n){this._defaultAttributes=new Ze(t,8),this._embeddedLanguagesMatcher=new Fr(Object.entries(n||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ht._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Ze(0,0);_getBasicScopeAttributes=new Cn(t=>{const n=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Ze(n,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){const n=t.match(ht.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Fr=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,r])=>bn(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;const t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Ot=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}stack;stoppedEarly};function Rn(e,t,n,r,s,o,i,a){const c=t.content.length;let l=!1,u=-1;if(i){const d=jr(e,t,n,r,s,o);s=d.stack,r=d.linePos,n=d.isFirstLine,u=d.anchorPosition}const h=Date.now();for(;!l;){if(a!==0&&Date.now()-h>a)return new Ot(s,!0);f()}return new Ot(s,!1);function f(){const d=Ur(e,t,n,r,s,u);if(!d){o.produce(s,c),l=!0;return}const p=d.captureIndices,_=d.matchedRuleId,y=p&&p.length>0?p[0].end>r:!1;if(_===Mr){const g=s.getRule(e);o.produce(s,p[0].start),s=s.withContentNameScopesList(s.nameScopesList),le(e,t,n,s,o,g.endCaptures,p),o.produce(s,p[0].end);const m=s;if(s=s.parent,u=m.getAnchorPos(),!y&&m.getEnterPos()===r){s=m,o.produce(s,c),l=!0;return}}else{const g=e.getRule(_);o.produce(s,p[0].start);const m=s,w=g.getName(t.content,p),k=s.contentNameScopesList.pushAttributed(w,e);if(s=s.push(_,r,u,p[0].end===c,null,k,k),g instanceof ut){const S=g;le(e,t,n,s,o,S.beginCaptures,p),o.produce(s,p[0].end),u=p[0].end;const x=S.getContentName(t.content,p),L=k.pushAttributed(x,e);if(s=s.withContentNameScopesList(L),S.endHasBackReferences&&(s=s.withEndRule(S.getEndWithResolvedBackReferences(t.content,p))),!y&&m.hasSameRuleAs(s)){s=s.pop(),o.produce(s,c),l=!0;return}}else if(g instanceof Re){const S=g;le(e,t,n,s,o,S.beginCaptures,p),o.produce(s,p[0].end),u=p[0].end;const x=S.getContentName(t.content,p),L=k.pushAttributed(x,e);if(s=s.withContentNameScopesList(L),S.whileHasBackReferences&&(s=s.withEndRule(S.getWhileWithResolvedBackReferences(t.content,p))),!y&&m.hasSameRuleAs(s)){s=s.pop(),o.produce(s,c),l=!0;return}}else if(le(e,t,n,s,o,g.captures,p),o.produce(s,p[0].end),s=s.pop(),!y){s=s.safePop(),o.produce(s,c),l=!0;return}}p[0].end>r&&(r=p[0].end,n=!1)}}function jr(e,t,n,r,s,o){let i=s.beginRuleCapturedEOL?0:-1;const a=[];for(let c=s;c;c=c.pop()){const l=c.getRule(e);l instanceof Re&&a.push({rule:l,stack:c})}for(let c=a.pop();c;c=a.pop()){const{ruleScanner:l,findOptions:u}=zr(c.rule,e,c.stack.endRule,n,r===i),h=l.findNextMatchSync(t,r,u);if(h){if(h.ruleId!==vn){s=c.stack.pop();break}h.captureIndices&&h.captureIndices.length&&(o.produce(c.stack,h.captureIndices[0].start),le(e,t,n,c.stack,o,c.rule.whileCaptures,h.captureIndices),o.produce(c.stack,h.captureIndices[0].end),i=h.captureIndices[0].end,h.captureIndices[0].end>r&&(r=h.captureIndices[0].end,n=!1))}else{s=c.stack.pop();break}}return{stack:s,linePos:r,anchorPosition:i,isFirstLine:n}}function Ur(e,t,n,r,s,o){const i=Vr(e,t,n,r,s,o),a=e.getInjections();if(a.length===0)return i;const c=Wr(a,e,t,n,r,s,o);if(!c)return i;if(!i)return c;const l=i.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:i}function Vr(e,t,n,r,s,o){const i=s.getRule(e),{ruleScanner:a,findOptions:c}=$n(i,e,s.endRule,n,r===o),l=a.findNextMatchSync(t,r,c);return l?{captureIndices:l.captureIndices,matchedRuleId:l.ruleId}:null}function Wr(e,t,n,r,s,o,i){let a=Number.MAX_VALUE,c=null,l,u=0;const h=o.contentNameScopesList.getScopeNames();for(let f=0,d=e.length;f<d;f++){const p=e[f];if(!p.matcher(h))continue;const _=t.getRule(p.ruleId),{ruleScanner:y,findOptions:g}=$n(_,t,null,r,s===i),m=y.findNextMatchSync(n,s,g);if(!m)continue;const w=m.captureIndices[0].start;if(!(w>=a)&&(a=w,c=m.captureIndices,l=m.ruleId,u=p.priority,a===s))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function $n(e,t,n,r,s){return{ruleScanner:e.compileAG(t,n,r,s),findOptions:0}}function zr(e,t,n,r,s){return{ruleScanner:e.compileWhileAG(t,n,r,s),findOptions:0}}function le(e,t,n,r,s,o,i){if(o.length===0)return;const a=t.content,c=Math.min(o.length,i.length),l=[],u=i[0].end;for(let h=0;h<c;h++){const f=o[h];if(f===null)continue;const d=i[h];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)s.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?s.produceFromScopes(l[l.length-1].scopes,d.start):s.produce(r,d.start),f.retokenizeCapturedWithRuleId){const _=f.getName(a,i),y=r.contentNameScopesList.pushAttributed(_,e),g=f.getContentName(a,i),m=y.pushAttributed(g,e),w=r.push(f.retokenizeCapturedWithRuleId,d.start,-1,!1,null,y,m),k=e.createOnigString(a.substring(0,d.end));Rn(e,k,n&&d.start===0,d.start,w,s,!1,0),En(k);continue}const p=f.getName(a,i);if(p!==null){const y=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(p,e);l.push(new Hr(y,d.end))}}for(;l.length>0;)s.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var Hr=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function qr(e,t,n,r,s,o,i,a){return new Qr(e,t,n,r,s,o,i,a)}function Bt(e,t,n,r,s){const o=Ae(t,$e),i=An.getCompiledRuleId(n,r,s.repository);for(const a of o)e.push({debugSelector:t,matcher:a.matcher,ruleId:i,grammar:s,priority:a.priority})}function $e(e,t){if(t.length<e.length)return!1;let n=0;return e.every(r=>{for(let s=n;s<t.length;s++)if(Xr(t[s],r))return n=s+1,!0;return!1})}function Xr(e,t){if(!e)return!1;if(e===t)return!0;const n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]==="."}var Qr=class{constructor(e,t,n,r,s,o,i,a){if(this._rootScopeName=e,this.balancedBracketSelectors=o,this._onigLib=a,this._basicScopeAttributesProvider=new Dr(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=i,this._grammar=Dt(t,null),this._injections=null,this._tokenTypeMatchers=[],s)for(const c of Object.keys(s)){const l=Ae(c,$e);for(const u of l)this._tokenTypeMatchers.push({matcher:u.matcher,type:s[c]})}}_rootScopeName;balancedBracketSelectors;_onigLib;_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(const e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){const e={lookup:s=>s===this._rootScopeName?this._grammar:this.getExternalGrammar(s),injections:s=>this._grammarRepository.injections(s)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){const s=r.injections;if(s)for(let i in s)Bt(t,i,s[i],this,r);const o=this._grammarRepository.injections(n);o&&o.forEach(i=>{const a=this.getExternalGrammar(i);if(a){const c=a.injectionSelector;c&&Bt(t,c,a,this,a)}})}return t.sort((s,o)=>s.priority-o.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){const t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){const n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Dt(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){const r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=An.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let s;if(!t||t===ft.NULL){s=!0;const l=this._basicScopeAttributesProvider.getDefaultAttributes(),u=this.themeProvider.getDefaults(),h=J.set(0,l.languageId,l.tokenType,null,u.fontStyle,u.foregroundId,u.backgroundId),f=this.getRule(this._rootId).getName(null,null);let d;f?d=ue.createRootAndLookUpScopeName(f,h,this):d=ue.createRoot("unknown",h),t=new ft(null,this._rootId,-1,-1,!1,null,d,d)}else s=!1,t.reset();e=e+`
4
4
  `;const o=this.createOnigString(e),i=o.content.length,a=new Zr(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=Rn(this,o,s,0,t,a,!0,r);return En(o),{lineLength:i,lineTokens:a,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function Dt(e,t){return e=pr(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ue=class D{constructor(t,n,r){this.parent=t,this.scopePath=n,this.tokenAttributes=r}parent;scopePath;tokenAttributes;static fromExtension(t,n){let r=t,s=t?.scopePath??null;for(const o of n)s=Ke.push(s,o.scopeNames),r=new D(r,s,o.encodedTokenAttributes);return r}static createRoot(t,n){return new D(null,new Ke(null,t),n)}static createRootAndLookUpScopeName(t,n,r){const s=r.getMetadataForScope(t),o=new Ke(null,t),i=r.themeProvider.themeMatch(o),a=D.mergeAttributes(n,s,i);return new D(null,o,a)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return D.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,r){let s=-1,o=0,i=0;return r!==null&&(s=r.fontStyle,o=r.foregroundId,i=r.backgroundId),J.set(t,n.languageId,n.tokenType,null,s,o,i)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return D._pushAttributed(this,t,n);const r=t.split(/ /g);let s=this;for(const o of r)s=D._pushAttributed(s,o,n);return s}static _pushAttributed(t,n,r){const s=r.getMetadataForScope(n),o=t.scopePath.push(n),i=r.themeProvider.themeMatch(o),a=D.mergeAttributes(t.tokenAttributes,s,i);return new D(t,o,a)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){const n=[];let r=this;for(;r&&r!==t;)n.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?n.reverse():void 0}},ft=class X{constructor(t,n,r,s,o,i,a,c){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=o,this.endRule=i,this.nameScopesList=a,this.contentNameScopesList=c,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=s}parent;ruleId;beginRuleCapturedEOL;endRule;nameScopesList;contentNameScopesList;_stackElementBrand=void 0;static NULL=new X(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:X._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?ue.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){X._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,s,o,i,a){return new X(this,t,n,r,s,o,i,a)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){const t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new X(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){const r=ue.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new X(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,ue.fromExtension(r,n.contentNameScopesList))}},Kr=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):Ae(n,$e).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>Ae(n,$e).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(const t of this.unbalancedBracketScopes)if(t(e))return!1;for(const t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Zr=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}balancedBracketSelectors;_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,s=!1;if(this.balancedBracketSelectors?.matchesAlways&&(s=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const o=e?.getScopeNames()??[];for(const i of this._tokenTypeOverrides)i.matcher(o)&&(r=J.set(r,0,i.type,null,-1,0,0));this.balancedBracketSelectors&&(s=this.balancedBracketSelectors.match(o))}if(s&&(r=J.set(r,0,8,s,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}const n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);const n=new Uint32Array(this._binaryTokens.length);for(let r=0,s=this._binaryTokens.length;r<s;r++)n[r]=this._binaryTokens[r];return n}},Jr=class{constructor(e,t){this._onigLib=t,this._theme=e}_onigLib;_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(const e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,s){if(!this._grammars.has(e)){let o=this._rawGrammars.get(e);if(!o)return null;this._grammars.set(e,qr(e,o,t,n,r,s,this,this._onigLib))}return this._grammars.get(e)}},Yr=class{_options;_syncRegistry;_ensureGrammarCache;constructor(t){this._options=t,this._syncRegistry=new Jr(ve.createFromRawTheme(t.theme,t.colorMap),t.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(t,n){this._syncRegistry.setTheme(ve.createFromRawTheme(t,n))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(t,n,r){return this.loadGrammarWithConfiguration(t,n,{embeddedLanguages:r})}loadGrammarWithConfiguration(t,n,r){return this._loadGrammar(t,n,r.embeddedLanguages,r.tokenTypes,new Kr(r.balancedBracketSelectors||[],r.unbalancedBracketSelectors||[]))}loadGrammar(t){return this._loadGrammar(t,0,null,null,null)}_loadGrammar(t,n,r,s,o){const i=new xr(this._syncRegistry,t);for(;i.Q.length>0;)i.Q.map(a=>this._loadSingleGrammar(a.scopeName)),i.processQueue();return this._grammarForScopeName(t,n,r,s,o)}_loadSingleGrammar(t){this._ensureGrammarCache.has(t)||(this._doLoadSingleGrammar(t),this._ensureGrammarCache.set(t,!0))}_doLoadSingleGrammar(t){const n=this._options.loadGrammar(t);if(n){const r=typeof this._options.getInjections=="function"?this._options.getInjections(t):void 0;this._syncRegistry.addGrammar(n,r)}}addGrammar(t,n=[],r=0,s=null){return this._syncRegistry.addGrammar(t,n),this._grammarForScopeName(t.scopeName,r,s)}_grammarForScopeName(t,n=0,r=null,s=null,o=null){return this._syncRegistry.grammarForScopeName(t,n,r,s,o)}},dt=ft.NULL;function Le(e,t){const n=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(const[s,o]of Object.entries(t?.colorReplacements||{}))typeof o=="string"?n[s]=o:s===r&&Object.assign(n,o);return n}function H(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function es(e){return Array.isArray(e)?e:[e]}async function Ln(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Oe(e){return!e||["plaintext","txt","text","plain"].includes(e)}function ts(e){return e==="ansi"||Oe(e)}function Be(e){return e==="none"}function ns(e){return Be(e)}const rs=/(\r?\n)/g;function De(e,t=!1){if(e.length===0)return[["",0]];const n=e.split(rs);let r=0;const s=[];for(let o=0;o<n.length;o+=2){const i=t?n[o]+(n[o+1]||""):n[o];s.push([i,r]),r+=n[o].length,r+=n[o+1]?.length||0}return s}const Ft={light:"#333333",dark:"#bbbbbb"},jt={light:"#fffffe",dark:"#1e1e1e"},Ut="__shiki_resolved";function St(e){if(e?.[Ut])return e;const t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){const a=t.settings?t.settings.find(c=>!c.name&&!c.scope):void 0;a?.settings?.foreground&&(r=a.settings.foreground),a?.settings?.background&&(n=a.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),r||(r=t.type==="light"?Ft.light:Ft.dark),n||(n=t.type==="light"?jt.light:jt.dark),t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let s=0;const o=new Map;function i(a){if(o.has(a))return o.get(a);s+=1;const c=`#${s.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${c}`]?i(a):(o.set(a,c),c)}t.settings=t.settings.map(a=>{const c=a.settings?.foreground&&!a.settings.foreground.startsWith("#"),l=a.settings?.background&&!a.settings.background.startsWith("#");if(!c&&!l)return a;const u={...a,settings:{...a.settings}};if(c){const h=i(a.settings.foreground);t.colorReplacements[h]=a.settings.foreground,u.settings.foreground=h}if(l){const h=i(a.settings.background);t.colorReplacements[h]=a.settings.background,u.settings.background=h}return u});for(const a of Object.keys(t.colors||{}))if((a==="editor.foreground"||a==="editor.background"||a.startsWith("terminal.ansi"))&&!t.colors[a]?.startsWith("#")){const c=i(t.colors[a]);t.colorReplacements[c]=t.colors[a],t.colors[a]=c}return Object.defineProperty(t,Ut,{enumerable:!1,writable:!1,value:!0}),t}async function Nn(e){return[...new Set((await Promise.all(e.filter(t=>!ts(t)).map(async t=>await Ln(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function Pn(e){return(await Promise.all(e.map(async t=>ns(t)?null:St(await Ln(t))))).filter(t=>!!t)}function Tn(e,t){if(!t)return e;if(t[e]){const n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new E(`Circular alias \`${[...n].join(" -> ")} -> ${e}\``);n.add(e)}}return e}var ss=class extends Yr{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(s=>this.loadTheme(s)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){const t=St(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=ve.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=Tn(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;const t=new Set([...this._langMap.values()].filter(s=>s.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);const n={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);const r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(s=>{this._alias[s]=e.name}),this._loadedLanguagesCache=null,t.size)for(const s of t)this._syncRegistry?._grammars?.get(s.scopeName)?.dispose(),this._resolvedGrammars.delete(s.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(s.scopeName),this._syncRegistry?._grammars?.delete(s.scopeName),this.loadLanguage(this._langMap.get(s.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(const r of e)this.resolveEmbeddedLanguages(r);const t=[...this._langGraph.entries()],n=t.filter(([r,s])=>!s);if(n.length){const r=t.filter(([s,o])=>o?(o.embeddedLanguages||o.embeddedLangs)?.some(i=>n.map(([a])=>a).includes(i)):!1).filter(s=>!n.includes(s));throw new E(`Missing languages ${n.map(([s])=>`\`${s}\``).join(", ")}, required by ${r.map(([s])=>`\`${s}\``).join(", ")}`)}for(const[r,s]of t)this._resolver.addLanguage(s);for(const[r,s]of t)this.loadLanguage(s)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);const t=e.embeddedLanguages??e.embeddedLangs;if(t)for(const n of t)this._langGraph.set(n,this._langMap.get(n))}},os=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){const t=e.split(".");let n=[];for(let r=1;r<=t.length;r++){const s=t.slice(0,r).join(".");n=[...n,...this._injections.get(s)||[]]}return n}};let ce=0;function is(e){ce+=1,e.warnings!==!1&&ce>=10&&ce%10===0&&console.warn(`[Shiki] ${ce} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new E("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(St),s=new ss(new os(e.engine,n),r,n,e.langAlias);let o;function i(m){return Tn(m,e.langAlias)}function a(m){y();const w=s.getGrammar(typeof m=="string"?m:m.name);if(!w)throw new E(`Language \`${m}\` not found, you may need to load it first`);return w}function c(m){if(m==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};y();const w=s.getTheme(m);if(!w)throw new E(`Theme \`${m}\` not found, you may need to load it first`);return w}function l(m){y();const w=c(m);return o!==m&&(s.setTheme(w),o=m),{theme:w,colorMap:s.getColorMap()}}function u(){return y(),s.getLoadedThemes()}function h(){return y(),s.getLoadedLanguages()}function f(...m){y(),s.loadLanguages(m.flat(1))}async function d(...m){return f(await Nn(m))}function p(...m){y();for(const w of m.flat(1))s.loadTheme(w)}async function _(...m){return y(),p(await Pn(m))}function y(){if(t)throw new E("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),ce-=1)}return{setTheme:l,getTheme:c,getLanguage:a,getLoadedThemes:u,getLoadedLanguages:h,resolveLangAlias:i,loadLanguage:d,loadLanguageSync:f,loadTheme:_,loadThemeSync:p,dispose:g,[Symbol.dispose]:g}}async function as(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[t,n,r]=await Promise.all([Pn(e.themes||[]),Nn(e.langs||[]),e.engine]);return is({...e,themes:t,langs:n,engine:r})}const Gn=new WeakMap;function Fe(e,t){Gn.set(e,t)}function ge(e){return Gn.get(e)}var je=class Mn{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new Mn(Object.fromEntries(es(n).map(r=>[r,dt])),t)}constructor(...t){if(t.length===2){const[n,r]=t;this.lang=r,this._stacks=n}else{const[n,r,s]=t;this.lang=r,this._stacks={[s]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return cs(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function cs(e){const t=[],n=new Set;function r(s){if(n.has(s))return;n.add(s);const o=s?.nameScopesList?.scopeName;o&&t.push(o),s.parent&&r(s.parent)}return r(e),t}function ls(e,t){if(!(e instanceof je))throw new E("Invalid grammar state");return e.getInternalStack(t)}const us=/,/,hs=/ /;function On(e,t,n={}){const{theme:r=e.getLoadedThemes()[0]}=n;if(Oe(e.resolveLangAlias(n.lang||"text"))||Be(r))return De(t).map(a=>[{content:a[0],offset:a[1]}]);const{theme:s,colorMap:o}=e.setTheme(r),i=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==i.name)throw new E(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${i.name}"`);if(!n.grammarState.themes.includes(s.name))throw new E(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return ds(t,i,s,o,n)}function fs(...e){if(e.length===2)return ge(e[1]);const[t,n,r={}]=e,{lang:s="text",theme:o=t.getLoadedThemes()[0]}=r;if(Oe(s)||Be(o))throw new E("Plain language does not have grammar state");if(s==="ansi")throw new E("ANSI language does not have grammar state");const{theme:i,colorMap:a}=t.setTheme(o),c=t.getLanguage(s);return new je(Et(n,c,i,a,r).stateStack,c.name,i.name)}function ds(e,t,n,r,s){const o=Et(e,t,n,r,s),i=new je(o.stateStack,t.name,n.name);return Fe(o.tokens,i),o.tokens}function Et(e,t,n,r,s){const o=Le(n,s),{tokenizeMaxLineLength:i=0,tokenizeTimeLimit:a=500,includeExplanation:c=!1}=s,l=De(e);let u=s.grammarState?ls(s.grammarState,n.name)??dt:s.grammarContextCode!=null?Et(s.grammarContextCode,t,n,r,{...s,grammarState:void 0,grammarContextCode:void 0}).stateStack:dt,h=[];const f=[];for(let d=0,p=l.length;d<p;d++){const[_,y]=l[d];if(_===""){h=[],f.push([]);continue}if(i>0&&_.length>=i){h=[],f.push([{content:_,offset:y,color:"",fontStyle:0}]);continue}let g,m,w;c&&c!=="tokenType"&&(g=t.tokenizeLine(_,u,a),m=g.tokens,w=0);const k=t.tokenizeLine2(_,u,a),S=k.tokens.length/2;for(let x=0;x<S;x++){const L=k.tokens[2*x],O=x+1<S?k.tokens[2*x+2]:_.length;if(L===O)continue;const ee=k.tokens[2*x+1],He=H(r[J.getForeground(ee)],o),qe=J.getFontStyle(ee),B={content:_.substring(L,O),offset:y+L,color:He,fontStyle:qe};if(c==="tokenType")B.type=J.getTokenType(ee);else if(c){const $t=[];if(c!=="scopeName")for(const F of n.settings){let te;switch(typeof F.scope){case"string":te=F.scope.split(us).map(Xe=>Xe.trim());break;case"object":te=F.scope;break;default:continue}$t.push({settings:F,selectors:te.map(Xe=>Xe.split(hs))})}B.explanation=[];let Lt=0;for(;L+Lt<O;){const F=m[w],te=_.substring(F.startIndex,F.endIndex);Lt+=te.length,B.explanation.push({content:te,scopes:c==="scopeName"?ps(F.scopes):gs($t,F.scopes)}),w+=1}}h.push(B)}f.push(h),h=[],u=k.ruleStack}return{tokens:f,stateStack:u}}function ps(e){return e.map(t=>({scopeName:t}))}function gs(e,t){const n=[];for(let r=0,s=t.length;r<s;r++){const o=t[r];n[r]={scopeName:o,themeMatches:_s(e,o,t.slice(0,r))}}return n}function Vt(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function ms(e,t,n){if(!Vt(e.at(-1),t))return!1;let r=e.length-2,s=n.length-1;for(;r>=0&&s>=0;)Vt(e[r],n[s])&&(r-=1),s-=1;return r===-1}function _s(e,t,n){const r=[];for(const{selectors:s,settings:o}of e)for(const i of s)if(ms(i,t,n)){r.push(o);break}return r}function Bn(e,t,n,r=On){const s=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=s.map(l=>{const u=r(e,t,{...n,theme:l.theme});return{tokens:u,state:ge(u),theme:typeof l.theme=="string"?l.theme:l.theme.name}}),i=ys(...o.map(l=>l.tokens)),a=i[0].map((l,u)=>l.map((h,f)=>{const d={content:h.content,variants:{},offset:h.offset};return"includeExplanation"in n&&n.includeExplanation&&(d.explanation=h.explanation),i.forEach((p,_)=>{const{content:y,explanation:g,offset:m,...w}=p[u][f];d.variants[s[_].color]=w}),d})),c=o[0].state?new je(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return c&&Fe(a,c),a}function ys(...e){const t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){const s=e.map(c=>c[r]),o=t.map(()=>[]);t.forEach((c,l)=>c.push(o[l]));const i=s.map(()=>0),a=s.map(c=>c[0]);for(;a.every(c=>c);){const c=Math.min(...a.map(l=>l.content.length));for(let l=0;l<n;l++){const u=a[l];u.content.length===c?(o[l].push(u),i[l]+=1,a[l]=s[l][i[l]]):(o[l].push({...u,content:u.content.slice(0,c)}),a[l]={...u,content:u.content.slice(c),offset:u.offset+c})}}}return t}const Wt=/\s+/g;function Dn(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(Wt)),Array.isArray(e.properties.class)||(e.properties.class=[]);const n=Array.isArray(t)?t:t.split(Wt);for(const r of n)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ws(e){const t=De(e,!0).map(([s])=>s);function n(s){if(s===e.length)return{line:t.length-1,character:t.at(-1).length};let o=s,i=0;for(const a of t){if(o<a.length)break;o-=a.length,i++}return{line:i,character:o}}function r(s,o){let i=0;for(let a=0;a<s;a++)i+=t[a].length;return i+=o,i}return{lines:t,indexToPos:n,posToIndex:r}}const bs=["color","background-color"];function Cs(e,t){let n=0;const r=[];for(const s of t)s>n&&r.push({...e,content:e.content.slice(n,s),offset:e.offset+n}),n=s;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function ks(e,t){let n=0,r=e.length;for(;n<r;){const s=n+(r-n>>1);e[s]<=t?n=s+1:r=s}return n}function Ss(e,t){const n=[...t instanceof Set?t:new Set(t)].sort((r,s)=>r-s);return n.length?e.map(r=>r.flatMap(s=>{const o=s.offset+s.content.length,i=ks(n,s.offset);let a=i;for(;a<n.length&&n[a]<o;)a++;if(i===a)return s;const c=n.slice(i,a);for(let l=0;l<c.length;l++)c[l]-=s.offset;return Cs(s,c)})):e}function Es(e,t,n,r,s="css-vars"){const o={content:e.content,explanation:e.explanation,offset:e.offset},i=t.map(u=>Ne(e.variants[u])),a=new Set(i.flatMap(u=>Object.keys(u))),c={},l=(u,h)=>{const f=h==="color"?"":h==="background-color"?"-bg":`-${h}`;return n+t[u]+(h==="color"?"":f)};return i.forEach((u,h)=>{for(const f of a){const d=u[f]||"inherit";if(h===0&&r&&bs.includes(f))if(r==="light-dark()"&&i.length>1){const p=t.findIndex(m=>m==="light"),_=t.findIndex(m=>m==="dark");if(p===-1||_===-1)throw new E('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const y=i[p][f]||"inherit",g=i[_][f]||"inherit";c[f]=`light-dark(${y}, ${g})`,s==="css-vars"&&(c[l(h,f)]=d)}else c[f]=d;else s==="css-vars"&&(c[l(h,f)]=d)}}),o.htmlStyle=c,o}function Ne(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&$.Italic&&(t["font-style"]="italic"),e.fontStyle&$.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&$.Underline&&n.push("underline"),e.fontStyle&$.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function pt(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}function Is(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let s=function(i){if(typeof i=="number"){if(i<0||i>n.source.length)throw new E(`Invalid decoration offset: ${i}. Code length: ${n.source.length}`);return{...r.indexToPos(i),offset:i}}else{const a=r.lines[i.line];if(a===void 0)throw new E(`Invalid decoration position ${JSON.stringify(i)}. Lines length: ${r.lines.length}`);let c=i.character;if(c<0&&(c=a.length+c),c<0||c>a.length)throw new E(`Invalid decoration position ${JSON.stringify(i)}. Line ${i.line} length: ${a.length}`);return{...i,character:c,offset:r.posToIndex(i.line,c)}}};const r=ws(n.source),o=(n.options.decorations||[]).map(i=>({...i,start:s(i.start),end:s(i.end)}));vs(o),e.set(n.meta,{decorations:o,converter:r,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(this.options.decorations?.length)return Ss(n,t(this).decorations.flatMap(r=>[r.start.offset,r.end.offset]))},code(n){if(!this.options.decorations?.length)return;const r=t(this),s=[...n.children].filter(u=>u.type==="element"&&u.tagName==="span");if(s.length!==r.converter.lines.length)throw new E(`Number of lines in code element (${s.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function o(u,h,f,d){const p=s[u];let _="",y=-1,g=-1;if(h===0&&(y=0),f===0&&(g=0),f===Number.POSITIVE_INFINITY&&(g=p.children.length),y===-1||g===-1)for(let w=0;w<p.children.length;w++)_+=Fn(p.children[w]),y===-1&&_.length===h&&(y=w+1),g===-1&&_.length===f&&(g=w+1);if(y===-1)throw new E(`Failed to find start index for decoration ${JSON.stringify(d.start)}`);if(g===-1)throw new E(`Failed to find end index for decoration ${JSON.stringify(d.end)}`);const m=p.children.slice(y,g);if(!d.alwaysWrap&&m.length===p.children.length)a(p,d,"line");else if(!d.alwaysWrap&&m.length===1&&m[0].type==="element")a(m[0],d,"token");else{const w={type:"element",tagName:"span",properties:{},children:m};a(w,d,"wrapper"),p.children.splice(y,m.length,w)}}function i(u,h){s[u]=a(s[u],h,"line")}function a(u,h,f){const d=h.properties||{},p=h.transform||(_=>_);return u.tagName=h.tagName||"span",u.properties={...u.properties,...d,class:u.properties.class},h.properties?.class&&Dn(u,h.properties.class),u=p(u,f)||u,u}const c=[],l=r.decorations.sort((u,h)=>h.start.offset-u.start.offset||u.end.offset-h.end.offset);for(const u of l){const{start:h,end:f}=u;if(h.line===f.line)o(h.line,h.character,f.character,u);else if(h.line<f.line){o(h.line,h.character,Number.POSITIVE_INFINITY,u);for(let d=h.line+1;d<f.line;d++)c.unshift(()=>i(d,u));o(f.line,0,f.character,u)}}c.forEach(u=>u())}}}function vs(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.start.offset>n.end.offset)throw new E(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){const s=e[r],o=n.start.offset<=s.start.offset&&s.start.offset<n.end.offset,i=n.start.offset<s.end.offset&&s.end.offset<=n.end.offset,a=s.start.offset<=n.start.offset&&n.start.offset<s.end.offset,c=s.start.offset<n.end.offset&&n.end.offset<=s.end.offset;if(o||i||a||c){if(o&&i||a&&c||a&&n.start.offset===n.end.offset||i&&s.start.offset===s.end.offset)continue;throw new E(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(s.start)} intersect.`)}}}}function Fn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Fn).join(""):""}const As=[Is()];function Pe(e){const t=xs(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...As]}function xs(e){const t=[],n=[],r=[];for(const s of e)switch(s.enforce){case"pre":t.push(s);break;case"post":n.push(s);break;default:r.push(s)}return{pre:t,post:n,normal:r}}var K=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Je={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Rs(e,t){const n=e.indexOf("\x1B",t);if(n!==-1&&e[n+1]==="["){const r=e.indexOf("m",n);if(r!==-1)return{sequence:e.substring(n+2,r).split(";"),startPosition:n,position:r+1}}return{position:e.length}}function zt(e){const t=e.shift();if(t==="2"){const n=e.splice(0,3).map(r=>Number.parseInt(r));return n.length!==3||n.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function $s(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)Je[r]&&t.push({type:"setDecoration",value:Je[r]});else if(r<=29){const s=Je[r-20];s&&(t.push({type:"resetDecoration",value:s}),s==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:K[r-30]}});else if(r===38){const s=zt(e);s&&t.push({type:"setForegroundColor",value:s})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:K[r-40]}});else if(r===48){const s=zt(e);s&&t.push({type:"setBackgroundColor",value:s})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:K[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:K[r-100+8]}})}return t}function Ls(){let e=null,t=null,n=new Set;return{parse(r){const s=[];let o=0;do{const i=Rs(r,o),a=i.sequence?r.substring(o,i.startPosition):r.substring(o);if(a.length>0&&s.push({value:a,foreground:e,background:t,decorations:new Set(n)}),i.sequence){const c=$s(i.sequence);for(const l of c)l.type==="resetAll"?(e=null,t=null,n.clear()):l.type==="resetForegroundColor"?e=null:l.type==="resetBackgroundColor"?t=null:l.type==="resetDecoration"&&n.delete(l.value);for(const l of c)l.type==="setForegroundColor"?e=l.value:l.type==="setBackgroundColor"?t=l.value:l.type==="setDecoration"&&n.add(l.value)}o=i.position}while(o<r.length);return s}}}var Ns={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function Ps(e=Ns){function t(a){return e[a]}function n(a){return`#${a.map(c=>Math.max(0,Math.min(c,255)).toString(16).padStart(2,"0")).join("")}`}let r;function s(){if(r)return r;r=[];for(let l=0;l<K.length;l++)r.push(t(K[l]));let a=[0,95,135,175,215,255];for(let l=0;l<6;l++)for(let u=0;u<6;u++)for(let h=0;h<6;h++)r.push(n([a[l],a[u],a[h]]));let c=8;for(let l=0;l<24;l++,c+=10)r.push(n([c,c,c]));return r}function o(a){return s()[a]}function i(a){switch(a.type){case"named":return t(a.name);case"rgb":return n(a.rgb);case"table":return o(a.index)}}return{value:i}}const Ts=/#([0-9a-f]{3,8})/i,Gs=/var\((--[\w-]+-ansi-[\w-]+)\)/,Ms={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function Os(e,t,n){const r=Le(e,n),s=De(t),o=Ps(Object.fromEntries(K.map(a=>{const c=`terminal.ansi${a[0].toUpperCase()}${a.substring(1)}`;return[a,e.colors?.[c]||Ms[a]]}))),i=Ls();return s.map(a=>i.parse(a[0]).map(c=>{let l,u;c.decorations.has("reverse")?(l=c.background?o.value(c.background):e.bg,u=c.foreground?o.value(c.foreground):e.fg):(l=c.foreground?o.value(c.foreground):e.fg,u=c.background?o.value(c.background):void 0),l=H(l,r),u=H(u,r),c.decorations.has("dim")&&(l=Bs(l));let h=$.None;return c.decorations.has("bold")&&(h|=$.Bold),c.decorations.has("italic")&&(h|=$.Italic),c.decorations.has("underline")&&(h|=$.Underline),c.decorations.has("strikethrough")&&(h|=$.Strikethrough),{content:c.value,offset:a[1],color:l,bgColor:u,fontStyle:h}}))}function Bs(e){const t=e.match(Ts);if(t){const r=t[1];if(r.length===8){const s=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${s}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){const s=r[0],o=r[1],i=r[2],a=r[3];return`#${s}${s}${o}${o}${i}${i}${Math.round(Number.parseInt(`${a}${a}`,16)/2).toString(16).padStart(2,"0")}`}else if(r.length===3){const s=r[0],o=r[1],i=r[2];return`#${s}${s}${o}${o}${i}${i}80`}}}const n=e.match(Gs);return n?`var(${n[1]}-dim)`:e}function gt(e,t,n={}){const r=e.resolveLangAlias(n.lang||"text"),{theme:s=e.getLoadedThemes()[0]}=n;if(!Oe(r)&&!Be(s)&&r==="ansi"){const{theme:o}=e.setTheme(s);return Os(o,t,n)}return On(e,t,n)}function Te(e,t,n){let r,s,o,i,a,c;if("themes"in n){const{defaultColor:l="light",cssVariablePrefix:u="--shiki-",colorsRendering:h="css-vars"}=n,f=Object.entries(n.themes).filter(g=>g[1]).map(g=>({color:g[0],theme:g[1]})).sort((g,m)=>g.color===l?-1:m.color===l?1:0);if(f.length===0)throw new E("`themes` option must not be empty");const d=Bn(e,t,n,gt);if(c=ge(d),l&&l!=="light-dark()"&&!f.some(g=>g.color===l))throw new E(`\`themes\` option must contain the defaultColor key \`${l}\``);const p=f.map(g=>e.getTheme(g.theme)),_=f.map(g=>g.color);o=d.map(g=>g.map(m=>Es(m,_,u,l,h))),c&&Fe(o,c);const y=f.map(g=>Le(g.theme,n));s=Ht(f,p,y,u,l,"fg",h),r=Ht(f,p,y,u,l,"bg",h),i=`shiki-themes ${p.map(g=>g.name).join(" ")}`,a=l?void 0:[s,r].join(";")}else if("theme"in n){const l=Le(n.theme,n);o=gt(e,t,n);const u=e.getTheme(n.theme);r=H(u.bg,l),s=H(u.fg,l),i=u.name,c=ge(o)}else throw new E("Invalid options, either `theme` or `themes` must be provided");return{tokens:o,fg:s,bg:r,themeName:i,rootStyle:a,grammarState:c}}function Ht(e,t,n,r,s,o,i){return e.map((a,c)=>{const l=H(t[c][o],n[c])||"inherit",u=`${r+a.color}${o==="bg"?"-bg":""}:${l}`;if(c===0&&s){if(s==="light-dark()"&&e.length>1){const h=e.findIndex(d=>d.color==="light"),f=e.findIndex(d=>d.color==="dark");if(h===-1||f===-1)throw new E('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${H(t[h][o],n[h])||"inherit"}, ${H(t[f][o],n[f])||"inherit"});${u}`}return l}return i==="css-vars"?u:null}).filter(a=>!!a).join(";")}const jn=/^\s+$/,Ds=/^(\s*)(.*?)(\s*)$/;function Ge(e,t,n,r={meta:{},options:n,codeToHast:(s,o)=>Ge(e,s,o),codeToTokens:(s,o)=>Te(e,s,o)}){let s=t;for(const p of Pe(n))s=p.preprocess?.call(r,s,n)||s;let{tokens:o,fg:i,bg:a,themeName:c,rootStyle:l,grammarState:u}=Te(e,s,n);const{mergeWhitespaces:h=!0,mergeSameStyleTokens:f=!1}=n;h===!0?o=js(o):h==="never"&&(o=Us(o)),f&&(o=Vs(o));const d={...r,get source(){return s}};for(const p of Pe(n))o=p.tokens?.call(d,o)||o;return Fs(o,{...n,fg:i,bg:a,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},d,u)}function Fs(e,t,n,r=ge(e)){const s=Pe(t),o=[],i={type:"root",children:[]},{structure:a="classic",tabindex:c="0"}=t,l={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?l.style=t.rootStyle:l.style=`background-color:${t.bg};color:${t.fg}`),c!==!1&&c!=null&&(l.tabindex=c.toString());for(const[_,y]of Object.entries(t.meta||{}))_.startsWith("_")||(l[_]=y);let u={type:"element",tagName:"pre",properties:l,children:[],data:t.data},h={type:"element",tagName:"code",properties:{},children:o};const f=[],d={...n,structure:a,addClassToHast:Dn,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return i},get pre(){return u},get code(){return h},get lines(){return f}};if(e.forEach((_,y)=>{y&&(a==="inline"?i.children.push({type:"element",tagName:"br",properties:{},children:[]}):a==="classic"&&o.push({type:"text",value:`
5
5
  `}));let g={type:"element",tagName:"span",properties:{class:"line"},children:[]},m=0;for(const w of _){let k={type:"element",tagName:"span",properties:{...w.htmlAttrs},children:[{type:"text",value:w.content}]};const S=pt(w.htmlStyle||Ne(w));S&&(k.properties.style=S);for(const x of s)k=x?.span?.call(d,k,y+1,m,g,w)||k;a==="inline"?i.children.push(k):a==="classic"&&g.children.push(k),m+=w.content.length}if(a==="classic"){for(const w of s)g=w?.line?.call(d,g,y+1)||g;f.push(g),o.push(g)}else a==="inline"&&f.push(g)}),a==="classic"){for(const _ of s)h=_?.code?.call(d,h)||h;u.children.push(h);for(const _ of s)u=_?.pre?.call(d,u)||u;i.children.push(u)}else if(a==="inline"){const _=[];let y={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const m of i.children)m.type==="element"&&m.tagName==="br"?(_.push(y),y={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(m.type==="element"||m.type==="text")&&y.children.push(m);_.push(y);let g={type:"element",tagName:"code",properties:{},children:_};for(const m of s)g=m?.code?.call(d,g)||g;i.children=[];for(let m=0;m<g.children.length;m++){m>0&&i.children.push({type:"element",tagName:"br",properties:{},children:[]});const w=g.children[m];w.type==="element"&&i.children.push(...w.children)}}let p=i;for(const _ of s)p=_?.root?.call(d,p)||p;return r&&Fe(p,r),p}function js(e){return e.map(t=>{const n=[];let r="",s;return t.forEach((o,i)=>{const a=!(o.fontStyle&&(o.fontStyle&$.Underline||o.fontStyle&$.Strikethrough));a&&jn.test(o.content)&&t[i+1]?(s===void 0&&(s=o.offset),r+=o.content):r?(a?n.push({...o,offset:s,content:r+o.content}):n.push({content:r,offset:s},o),s=void 0,r=""):n.push(o)}),n})}function Us(e){return e.map(t=>t.flatMap(n=>{if(jn.test(n.content))return n;const r=n.content.match(Ds);if(!r)return n;const[,s,o,i]=r;if(!s&&!i)return n;const a=[{...n,offset:n.offset+s.length,content:o}];return s&&a.unshift({content:s,offset:n.offset}),i&&a.push({content:i,offset:n.offset+s.length+o.length}),a}))}function Vs(e){return e.map(t=>{const n=[];for(const r of t){if(n.length===0){n.push({...r});continue}const s=n.at(-1),o=pt(s.htmlStyle||Ne(s)),i=pt(r.htmlStyle||Ne(r)),a=s.fontStyle&&(s.fontStyle&$.Underline||s.fontStyle&$.Strikethrough),c=r.fontStyle&&(r.fontStyle&$.Underline||r.fontStyle&$.Strikethrough);!a&&!c&&o===i?s.content+=r.content:n.push({...r})}return n})}const Ws=dr;function zs(e,t,n){const r={meta:{},options:n,codeToHast:(o,i)=>Ge(e,o,i),codeToTokens:(o,i)=>Te(e,o,i)};let s=Ws(Ge(e,t,n,r));for(const o of Pe(n))s=o.postprocess?.call(r,s,n)||s;return s}async function Hs(e){const t=await as(e);return{getLastGrammarState:(...n)=>fs(t,...n),codeToTokensBase:(n,r)=>gt(t,n,r),codeToTokensWithThemes:(n,r)=>Bn(t,n,r),codeToTokens:(n,r)=>Te(t,n,r),codeToHast:(n,r)=>Ge(t,n,r),codeToHtml:(n,r)=>zs(t,n,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function qs(e={}){const{name:t="css-variables",variablePrefix:n="--shiki-",fontStyle:r=!0}=e,s=i=>e.variableDefaults?.[i]?`var(${n}${i}, ${e.variableDefaults[i]})`:`var(${n}${i})`,o={name:t,type:"dark",colors:{"editor.foreground":s("foreground"),"editor.background":s("background"),"terminal.ansiBlack":s("ansi-black"),"terminal.ansiRed":s("ansi-red"),"terminal.ansiGreen":s("ansi-green"),"terminal.ansiYellow":s("ansi-yellow"),"terminal.ansiBlue":s("ansi-blue"),"terminal.ansiMagenta":s("ansi-magenta"),"terminal.ansiCyan":s("ansi-cyan"),"terminal.ansiWhite":s("ansi-white"),"terminal.ansiBrightBlack":s("ansi-bright-black"),"terminal.ansiBrightRed":s("ansi-bright-red"),"terminal.ansiBrightGreen":s("ansi-bright-green"),"terminal.ansiBrightYellow":s("ansi-bright-yellow"),"terminal.ansiBrightBlue":s("ansi-bright-blue"),"terminal.ansiBrightMagenta":s("ansi-bright-magenta"),"terminal.ansiBrightCyan":s("ansi-bright-cyan"),"terminal.ansiBrightWhite":s("ansi-bright-white")},tokenColors:[{scope:["keyword.operator.accessor","meta.group.braces.round.function.arguments","meta.template.expression","markup.fenced_code meta.embedded.block"],settings:{foreground:s("foreground")}},{scope:"emphasis",settings:{fontStyle:"italic"}},{scope:["strong","markup.heading.markdown","markup.bold.markdown"],settings:{fontStyle:"bold"}},{scope:["markup.italic.markdown"],settings:{fontStyle:"italic"}},{scope:"meta.link.inline.markdown",settings:{fontStyle:"underline",foreground:s("token-link")}},{scope:["string","markup.fenced_code","markup.inline"],settings:{foreground:s("token-string")}},{scope:["comment","string.quoted.docstring.multi"],settings:{foreground:s("token-comment")}},{scope:["constant.numeric","constant.language","constant.other.placeholder","constant.character.format.placeholder","variable.language.this","variable.other.object","variable.other.class","variable.other.constant","meta.property-name","meta.property-value","support"],settings:{foreground:s("token-constant")}},{scope:["keyword","storage.modifier","storage.type","storage.control.clojure","entity.name.function.clojure","entity.name.tag.yaml","support.function.node","support.type.property-name.json","punctuation.separator.key-value","punctuation.definition.template-expression"],settings:{foreground:s("token-keyword")}},{scope:"variable.parameter.function",settings:{foreground:s("token-parameter")}},{scope:["support.function","entity.name.type","entity.other.inherited-class","meta.function-call","meta.instance.constructor","entity.other.attribute-name","entity.name.function","constant.keyword.clojure"],settings:{foreground:s("token-function")}},{scope:["entity.name.tag","string.quoted","string.regexp","string.interpolated","string.template","string.unquoted.plain.out.yaml","keyword.other.template"],settings:{foreground:s("token-string-expression")}},{scope:["punctuation.definition.arguments","punctuation.definition.dict","punctuation.separator","meta.function-call.arguments"],settings:{foreground:s("token-punctuation")}},{scope:["markup.underline.link","punctuation.definition.metadata.markdown"],settings:{foreground:s("token-link")}},{scope:["beginning.punctuation.definition.list.markdown"],settings:{foreground:s("token-string")}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:s("token-keyword")}},{scope:["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],settings:{foreground:s("token-inserted")}},{scope:["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],settings:{foreground:s("token-deleted")}},{scope:["markup.changed","punctuation.definition.changed"],settings:{foreground:s("token-changed")}}]};return r||(o.tokenColors=o.tokenColors?.map(i=>(i.settings?.fontStyle&&delete i.settings.fontStyle,i))),o}const qt=4294967295;function Xs(e){return!e.sticky&&!e.rawOptions?.strategy}function Xt(e,t){return{index:e,captureIndices:t.map(n=>n==null?{start:qt,end:qt,length:0}:{start:n[0],end:n[1],length:n[1]-n[0]})}}var Qs=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;const{forgiving:n=!1,cache:r,regexConstructor:s}=t;if(!s)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(o=>{if(typeof o!="string")return o;const i=r?.get(o);if(i){if(i instanceof RegExp)return i;if(n)return null;throw i}try{const a=s(o);return r?.set(o,a),a}catch(a){if(r?.set(o,a),n)return null;throw a}}),this.lastSearches=this.regexps.map(o=>o&&Xs(o)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){const r=typeof e=="string"?e:e.content,s=typeof e=="string"?0:e.id||0;let o=-1,i=0,a=null;for(let c=0;c<this.regexps.length;c++){const l=this.regexps[c];if(l)try{const u=s?this.lastSearches[c]:null;let h,f;if(u&&u.strId===s&&u.searchedFrom<=t&&(u.matchIndex===-1||u.matchIndex>=t))h=u.matchIndex,f=u.indices;else{l.lastIndex=t;const d=l.exec(r);h=d?d.index:-1,f=d?d.indices:null,u&&(u.strId=s,u.searchedFrom=t,u.matchIndex=h,u.indices=f)}if(h===-1)continue;if(h===t)return Xt(c,f);(o===-1||h<i)&&(o=c,i=h,a=f)}catch(u){if(this.options.forgiving)continue;throw u}}return o===-1?null:Xt(o,a)}};let Ks=0;function Zs(e){return{content:e,id:++Ks}}function ie(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function Js(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}const It=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),A=String.raw;function ae(e,t){if(e==null)throw new Error(t??"Value expected");return e}const Un=A`\[\^?`,Vn=`c.? | C(?:-.?)?|${A`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${A`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${A`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${A`o\{[^\}]*\}?`}|${A`\d{1,3}`}`,vt=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,be=new RegExp(A`
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/render-B7hqY_8Y.js","assets/markdown-gsWh3zpl.js","assets/account-R7yD1rZE.js","assets/terminal-DWFexEE4.js","assets/terminal-DOrYoP_4.css","assets/render-DCFEl9vZ.css"])))=>i.map(i=>d[i]);
2
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const z="modulepreload",G=function(e){return"/"+e},N={},j=function(t,o,s){let n=Promise.resolve();if(o&&o.length>0){let i=function(l){return Promise.all(l.map(u=>Promise.resolve(u).then(a=>({status:"fulfilled",value:a}),a=>({status:"rejected",reason:a}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),w=c?.nonce||c?.getAttribute("nonce");n=i(o.map(l=>{if(l=G(l),l in N)return;N[l]=!0;const u=l.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":z,u||(d.as="script"),d.crossOrigin="",d.href=l,w&&d.setAttribute("nonce",w),document.head.appendChild(d),u)return new Promise((T,p)=>{d.addEventListener("load",T),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function r(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return n.then(i=>{for(const c of i||[])c.status==="rejected"&&r(c.reason);return t().catch(r)})},f=typeof window<"u"?window.linkshellDesktop:void 0;function se(){if(f?.appearance)return f.appearance();const e=window.__LINKSHELL_DESKTOP_APPEARANCE__;return typeof e=="string"?e:void 0}function ie(){return f?.visible?f.visible():window.__LINKSHELL_DESKTOP_VISIBLE__!==!1}const S=typeof window<"u"&&window.__LINKSHELL_CONFIG__?.desktop===!0,x=S&&window.__LINKSHELL_CONFIG__?.desktopPlatform==="win32",D=S&&f?.shell==="electron",R=x?"这台电脑":"这台 Mac",ae=x?R:`${R} `,ce=x?"在资源管理器中显示":"在 Finder 中显示",le="desktop:local",ue="linkshell-desktop-visibility",J="linkshell-desktop-account",Y="linkshell-desktop-error";let b,m,v,P=Promise.resolve(),U;const E=new Map;let _={},g,C=0;function F(e){window.dispatchEvent(new CustomEvent(Y,{detail:e instanceof Error?e.message:String(e)}))}async function k(e,t={}){if(!S||!b)throw new Error("桌面工作台尚未连接,请重新打开窗口");if(!/^\/desktop\/[a-z]+$/.test(e))throw new Error("无效的桌面请求");const o=new Headers(t.headers);o.set("Authorization",`Bearer ${b}`),t.body&&o.set("Content-Type","application/json");const s=await fetch(e,{...t,headers:o,credentials:"omit",cache:"no-store",redirect:"error",signal:t.signal??AbortSignal.timeout(15e3)}),n=await s.json();if(!s.ok)throw new Error(n.error||"桌面服务暂时不可用,请重试");return n}async function Q(){if(!(!S||m))return v||(v=(async()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get("desktop");b=t||sessionStorage.getItem("linkshell.desktop.capability")||void 0,t&&(sessionStorage.setItem("linkshell.desktop.capability",t),e.delete("desktop"),history.replaceState(null,"",location.pathname+location.search+(e.size?`#${e}`:""))),m=await k("/desktop/bootstrap"),document.documentElement.dataset.desktop="true",window.__LINKSHELL_DESKTOP_FLUSH__=K,f?.setFlush?.(K)})().finally(()=>{v=void 0}),v)}function de(){if(!m)throw new Error("桌面设备身份尚未载入");return m.identity}function pe(){return m?.localComputer}function fe(e,t){return m?.storage[e]??t}function H(e,t){P=P.then(async()=>{try{await k("/desktop/storage",{method:"PUT",body:JSON.stringify({key:e,value:t.value})}),E.get(e)===t&&E.delete(e)}catch(o){F(new Error(`工作台设置尚未保存:${o instanceof Error?o.message:String(o)}。请重试连接。`))}})}function he(e,t){if(!m)throw new Error("桌面工作台尚未初始化");const o=t===void 0?null:JSON.parse(JSON.stringify(t));m.storage[e]=o;const s={value:o};E.set(e,s),H(e,s)}function X(){for(const[e,t]of E)H(e,t);return P}async function M(){let e;do e=P,await e;while(e!==P)}function K(){return U??=(async()=>(await M(),E.size&&await X(),await M(),{saved:E.size===0,pending:E.size}))().finally(()=>{U=void 0})}function B(e){const t=e.userId!==_.userId||e.email!==_.email||e.accessToken!==_.accessToken;return _=e,t&&window.dispatchEvent(new CustomEvent(J,{detail:e})),e}function Z(){if(g)return g;const e=C,t=k("/desktop/account").then(o=>e===C?B(o):_).finally(()=>{g===t&&(g=void 0)});return g=t,t}async function we(e={method:"web"}){await k("/desktop/login",{method:"POST",body:JSON.stringify(e),signal:AbortSignal.timeout(36e4)}),C++,g=void 0,await Z()}async function me(){const{pending:e}=await k("/desktop/login",{signal:AbortSignal.timeout(5e3)});return e??void 0}async function ge(){await k("/desktop/login",{method:"DELETE"})}async function Ee(){await k("/desktop/logout",{method:"POST"}),C++,g=void 0,B({})}function ke(){if(!b)throw new Error("桌面连接已失效,请重新打开窗口");const e=new URL("/desktop/host",location.origin);return e.protocol=location.protocol==="https:"?"wss:":"ws:",e.searchParams.set("token",b),new WebSocket(e)}function ee(e){if(!S)return!1;if(f)return f.postMessage(e),!0;const t=window.webkit?.messageHandlers?.linkshellDesktop;return t?(t.postMessage(e),!0):!1}function y(e){if(f)return ee(e);const t=window.webkit?.messageHandlers?.linkshellDesktop;return!S||!t?!1:(t.postMessage(e),!0)}const te="linkshell-desktop-reply",I=new Map;typeof window<"u"&&window.addEventListener(te,e=>{const{id:t,result:o,error:s}=e.detail??{},n=t?I.get(t):void 0;!n||!t||(I.delete(t),clearTimeout(n.timer),s?n.reject(new Error(s)):n.resolve(o))});function $(e,t={},o=13e4){if(!f)return Promise.reject(new Error("本机管理需要 LinkShell 桌面版"));const s=crypto.randomUUID();return new Promise((n,r)=>{const i=setTimeout(()=>{I.delete(s),r(new Error("操作超时,请重试"))},e==="login"?4e5:o);I.set(s,{resolve:n,reject:r,timer:i}),f.postMessage({action:"invoke",id:s,method:e,params:t})})}async function ye(e,t){if(!D)return;const{id:o}=await $("contextMenu",{items:e,at:t},36e5);return o}function Se(e){return $("reveal",{path:e},15e3)}function ve(e){return y({action:"screenFullScreen",enabled:e})}const _e="linkshell-desktop-fullscreen";function Le(e){D&&y({action:"screenKeys",captured:e})}function be(){if(D){window.dispatchEvent(new CustomEvent("linkshell-desktop-command",{detail:{command:"manage"}}));return}y({action:"manage"})||F("请通过 LinkShell 菜单打开本机服务")}function Pe(){D&&y({action:"workspace"})}function Te(e){y({action:"appearance",value:e})}function Ce(e){y({action:"contentFocus",focused:e})}function Ie(e){const t=new URL(e);!["http:","https:"].includes(t.protocol)||t.username||t.password||y({action:"external",url:t.href})||window.open(t.href,"_blank","noopener,noreferrer")}const q="linkshell-auth-callback",O="linkshell.web.oauth.popup.v1",ne=5*6e4;function oe(){const e=new URL(window.location.origin);return e.hostname==="127.0.0.1"?e.pathname="/linkshell/callback":e.searchParams.set(q,"1"),e.href}function L(e,t){e.document.title="LinkShell 登录";const o=e.document.createElement("main");o.style.cssText="max-width:400px;margin:18vh auto;padding:32px;font:14px system-ui;line-height:1.65";const s=e.document.createElement("h1");s.textContent="LinkShell 登录";const n=e.document.createElement("p");n.textContent=t;const r=e.document.createElement("button");r.textContent="关闭窗口",r.style.cssText="height:32px;padding:0 12px;border-radius:6px;cursor:pointer",r.onclick=()=>e.close(),o.append(s,n,r),e.document.body.replaceChildren(o)}async function De(e,t,o){if(o.signal.aborted)throw new Error("已取消登录");if(typeof BroadcastChannel>"u")throw new Error("此浏览器不支持登录窗口,请升级浏览器或使用邮箱登录。");const s=window.open("about:blank","_blank","popup,width=520,height=720");if(!s)throw new Error("登录窗口被浏览器拦截,请允许弹出窗口后重试。");const n=crypto.randomUUID();let r;try{s.sessionStorage.setItem(O,n),s.opener=null,L(s,`正在打开 ${t==="google"?"Google":"GitHub"} 登录…`),r=new BroadcastChannel(`linkshell.oauth.${n}`)}catch(i){throw s.close(),i}return new Promise((i,c)=>{let w=!1,l=!1,u;const a=p=>{w||(w=!0,clearTimeout(T),o.signal.removeEventListener("abort",d),r.close(),s.close(),p?c(p):i())},d=()=>{l||a(new Error("已取消登录"))},T=setTimeout(()=>a(new Error("等待登录超时,请重试。")),ne);o.signal.addEventListener("abort",d,{once:!0}),r.onmessage=p=>{const h=p.data;if(!(w||l||!h||h.type!=="result")){if(typeof h.error=="string"){r.postMessage({type:"received"}),a(new Error(h.error));return}typeof h.code!="string"||!h.code||!u||(l=!0,clearTimeout(T),r.postMessage({type:"received"}),o.onExchanging?.(),e.exchangeCodeForSession(h.code,{flowId:u}).then(({data:W,error:A})=>{A?a(A):W.session?a():a(new Error("登录未完成,请重试。"))},a))}},e.signInWithOAuth({provider:t,options:{redirectTo:oe(),skipBrowserRedirect:!0}}).then(({data:p,error:h})=>{if(!w){if(h){a(h);return}if(!p.url){a(new Error("无法打开登录页面,请重试。"));return}if(!p.flowId){a(new Error("无法验证登录请求,请重试。"));return}u=p.flowId,s.location.replace(p.url)}}).catch(a)})}function re(){const e=new URL(window.location.href),t=e.pathname==="/"&&e.searchParams.get(q)==="1",o=e.hostname==="127.0.0.1"&&e.pathname==="/linkshell/callback";if(!t&&!o)return!1;const s=new URLSearchParams(e.hash.slice(1)),n=e.searchParams.get("code"),r=e.searchParams.get("error")??s.get("error");window.history.replaceState(null,"","/");const i=window.sessionStorage.getItem(O);if(window.sessionStorage.removeItem(O),!i||!/^[0-9a-f-]{36}$/.test(i)||typeof BroadcastChannel>"u")return L(window,"登录请求已失效,请关闭此窗口,返回工作台重试。"),!0;const c=new BroadcastChannel(`linkshell.oauth.${i}`);L(window,"正在返回工作台…");const w=setTimeout(()=>{c.close(),L(window,"工作台未响应,请关闭此窗口,返回工作台重新登录。")},1e4);c.onmessage=u=>{u.data?.type==="received"&&(clearTimeout(w),c.close(),L(window,"已返回工作台,可以关闭此窗口。"),window.close())};const l=r?{type:"result",error:r==="access_denied"?"登录已取消,请重试。":"登录未完成,请重试。"}:n?{type:"result",code:n}:{type:"result",error:"登录回调不完整,请重试。"};return c.postMessage(l),!0}async function V(){try{if(re())return;await Q(),await j(()=>import("./render-B7hqY_8Y.js"),__vite__mapDeps([0,1,2,3,4,5]))}catch(e){const t=document.getElementById("root");t.replaceChildren();const o=document.createElement("main");o.style.cssText="max-width:440px;margin:18vh auto;padding:32px;font:14px system-ui;line-height:1.65";const s=document.createElement("h1");s.textContent="工作台暂时无法打开";const n=document.createElement("p");n.textContent=e instanceof Error?e.message:String(e);const r=document.createElement("button");r.textContent="重试",r.style.cssText="height:32px;padding:0 12px;border-radius:6px;cursor:pointer",r.onclick=()=>{r.disabled=!0,V()},o.append(s,n,r),t.append(o)}}V();export{F as A,R as B,se as C,Y as D,Te as E,Se as F,ye as G,Pe as H,Ce as I,ce as R,ae as T,j as _,Z as a,J as b,ue as c,de as d,pe as e,le as f,k as g,x as h,S as i,ke as j,X as k,ge as l,we as m,me as n,Ie as o,Ee as p,De as q,fe as r,he as s,be as t,ve as u,_e as v,ie as w,Le as x,D as y,$ as z};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/render-GjZ5l-D0.js","assets/markdown-gsWh3zpl.js","assets/account-R7yD1rZE.js","assets/terminal-DWFexEE4.js","assets/terminal-DOrYoP_4.css","assets/render-DCFEl9vZ.css"])))=>i.map(i=>d[i]);
2
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function o(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=o(n);fetch(n.href,r)}})();const z="modulepreload",G=function(e){return"/"+e},N={},j=function(t,o,s){let n=Promise.resolve();if(o&&o.length>0){let i=function(l){return Promise.all(l.map(u=>Promise.resolve(u).then(a=>({status:"fulfilled",value:a}),a=>({status:"rejected",reason:a}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),w=c?.nonce||c?.getAttribute("nonce");n=i(o.map(l=>{if(l=G(l),l in N)return;N[l]=!0;const u=l.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":z,u||(d.as="script"),d.crossOrigin="",d.href=l,w&&d.setAttribute("nonce",w),document.head.appendChild(d),u)return new Promise((T,p)=>{d.addEventListener("load",T),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function r(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return n.then(i=>{for(const c of i||[])c.status==="rejected"&&r(c.reason);return t().catch(r)})},f=typeof window<"u"?window.linkshellDesktop:void 0;function se(){if(f?.appearance)return f.appearance();const e=window.__LINKSHELL_DESKTOP_APPEARANCE__;return typeof e=="string"?e:void 0}function ie(){return f?.visible?f.visible():window.__LINKSHELL_DESKTOP_VISIBLE__!==!1}const S=typeof window<"u"&&window.__LINKSHELL_CONFIG__?.desktop===!0,x=S&&window.__LINKSHELL_CONFIG__?.desktopPlatform==="win32",D=S&&f?.shell==="electron",R=x?"这台电脑":"这台 Mac",ae=x?R:`${R} `,ce=x?"在资源管理器中显示":"在 Finder 中显示",le="desktop:local",ue="linkshell-desktop-visibility",J="linkshell-desktop-account",Y="linkshell-desktop-error";let b,m,v,P=Promise.resolve(),U;const E=new Map;let _={},g,C=0;function F(e){window.dispatchEvent(new CustomEvent(Y,{detail:e instanceof Error?e.message:String(e)}))}async function k(e,t={}){if(!S||!b)throw new Error("桌面工作台尚未连接,请重新打开窗口");if(!/^\/desktop\/[a-z]+$/.test(e))throw new Error("无效的桌面请求");const o=new Headers(t.headers);o.set("Authorization",`Bearer ${b}`),t.body&&o.set("Content-Type","application/json");const s=await fetch(e,{...t,headers:o,credentials:"omit",cache:"no-store",redirect:"error",signal:t.signal??AbortSignal.timeout(15e3)}),n=await s.json();if(!s.ok)throw new Error(n.error||"桌面服务暂时不可用,请重试");return n}async function Q(){if(!(!S||m))return v||(v=(async()=>{const e=new URLSearchParams(location.hash.slice(1)),t=e.get("desktop");b=t||sessionStorage.getItem("linkshell.desktop.capability")||void 0,t&&(sessionStorage.setItem("linkshell.desktop.capability",t),e.delete("desktop"),history.replaceState(null,"",location.pathname+location.search+(e.size?`#${e}`:""))),m=await k("/desktop/bootstrap"),document.documentElement.dataset.desktop="true",window.__LINKSHELL_DESKTOP_FLUSH__=K,f?.setFlush?.(K)})().finally(()=>{v=void 0}),v)}function de(){if(!m)throw new Error("桌面设备身份尚未载入");return m.identity}function pe(){return m?.localComputer}function fe(e,t){return m?.storage[e]??t}function H(e,t){P=P.then(async()=>{try{await k("/desktop/storage",{method:"PUT",body:JSON.stringify({key:e,value:t.value})}),E.get(e)===t&&E.delete(e)}catch(o){F(new Error(`工作台设置尚未保存:${o instanceof Error?o.message:String(o)}。请重试连接。`))}})}function he(e,t){if(!m)throw new Error("桌面工作台尚未初始化");const o=t===void 0?null:JSON.parse(JSON.stringify(t));m.storage[e]=o;const s={value:o};E.set(e,s),H(e,s)}function X(){for(const[e,t]of E)H(e,t);return P}async function M(){let e;do e=P,await e;while(e!==P)}function K(){return U??=(async()=>(await M(),E.size&&await X(),await M(),{saved:E.size===0,pending:E.size}))().finally(()=>{U=void 0})}function B(e){const t=e.userId!==_.userId||e.email!==_.email||e.accessToken!==_.accessToken;return _=e,t&&window.dispatchEvent(new CustomEvent(J,{detail:e})),e}function Z(){if(g)return g;const e=C,t=k("/desktop/account").then(o=>e===C?B(o):_).finally(()=>{g===t&&(g=void 0)});return g=t,t}async function we(e={method:"web"}){await k("/desktop/login",{method:"POST",body:JSON.stringify(e),signal:AbortSignal.timeout(36e4)}),C++,g=void 0,await Z()}async function me(){const{pending:e}=await k("/desktop/login",{signal:AbortSignal.timeout(5e3)});return e??void 0}async function ge(){await k("/desktop/login",{method:"DELETE"})}async function Ee(){await k("/desktop/logout",{method:"POST"}),C++,g=void 0,B({})}function ke(){if(!b)throw new Error("桌面连接已失效,请重新打开窗口");const e=new URL("/desktop/host",location.origin);return e.protocol=location.protocol==="https:"?"wss:":"ws:",e.searchParams.set("token",b),new WebSocket(e)}function ee(e){if(!S)return!1;if(f)return f.postMessage(e),!0;const t=window.webkit?.messageHandlers?.linkshellDesktop;return t?(t.postMessage(e),!0):!1}function y(e){if(f)return ee(e);const t=window.webkit?.messageHandlers?.linkshellDesktop;return!S||!t?!1:(t.postMessage(e),!0)}const te="linkshell-desktop-reply",I=new Map;typeof window<"u"&&window.addEventListener(te,e=>{const{id:t,result:o,error:s}=e.detail??{},n=t?I.get(t):void 0;!n||!t||(I.delete(t),clearTimeout(n.timer),s?n.reject(new Error(s)):n.resolve(o))});function $(e,t={},o=13e4){if(!f)return Promise.reject(new Error("本机管理需要 LinkShell 桌面版"));const s=crypto.randomUUID();return new Promise((n,r)=>{const i=setTimeout(()=>{I.delete(s),r(new Error("操作超时,请重试"))},e==="login"?4e5:o);I.set(s,{resolve:n,reject:r,timer:i}),f.postMessage({action:"invoke",id:s,method:e,params:t})})}async function ye(e,t){if(!D)return;const{id:o}=await $("contextMenu",{items:e,at:t},36e5);return o}function Se(e){return $("reveal",{path:e},15e3)}function ve(e){return y({action:"screenFullScreen",enabled:e})}const _e="linkshell-desktop-fullscreen";function Le(e){D&&y({action:"screenKeys",captured:e})}function be(){if(D){window.dispatchEvent(new CustomEvent("linkshell-desktop-command",{detail:{command:"manage"}}));return}y({action:"manage"})||F("请通过 LinkShell 菜单打开本机服务")}function Pe(){D&&y({action:"workspace"})}function Te(e){y({action:"appearance",value:e})}function Ce(e){y({action:"contentFocus",focused:e})}function Ie(e){const t=new URL(e);!["http:","https:"].includes(t.protocol)||t.username||t.password||y({action:"external",url:t.href})||window.open(t.href,"_blank","noopener,noreferrer")}const q="linkshell-auth-callback",O="linkshell.web.oauth.popup.v1",ne=5*6e4;function oe(){const e=new URL(window.location.origin);return e.hostname==="127.0.0.1"?e.pathname="/linkshell/callback":e.searchParams.set(q,"1"),e.href}function L(e,t){e.document.title="LinkShell 登录";const o=e.document.createElement("main");o.style.cssText="max-width:400px;margin:18vh auto;padding:32px;font:14px system-ui;line-height:1.65";const s=e.document.createElement("h1");s.textContent="LinkShell 登录";const n=e.document.createElement("p");n.textContent=t;const r=e.document.createElement("button");r.textContent="关闭窗口",r.style.cssText="height:32px;padding:0 12px;border-radius:6px;cursor:pointer",r.onclick=()=>e.close(),o.append(s,n,r),e.document.body.replaceChildren(o)}async function De(e,t,o){if(o.signal.aborted)throw new Error("已取消登录");if(typeof BroadcastChannel>"u")throw new Error("此浏览器不支持登录窗口,请升级浏览器或使用邮箱登录。");const s=window.open("about:blank","_blank","popup,width=520,height=720");if(!s)throw new Error("登录窗口被浏览器拦截,请允许弹出窗口后重试。");const n=crypto.randomUUID();let r;try{s.sessionStorage.setItem(O,n),s.opener=null,L(s,`正在打开 ${t==="google"?"Google":"GitHub"} 登录…`),r=new BroadcastChannel(`linkshell.oauth.${n}`)}catch(i){throw s.close(),i}return new Promise((i,c)=>{let w=!1,l=!1,u;const a=p=>{w||(w=!0,clearTimeout(T),o.signal.removeEventListener("abort",d),r.close(),s.close(),p?c(p):i())},d=()=>{l||a(new Error("已取消登录"))},T=setTimeout(()=>a(new Error("等待登录超时,请重试。")),ne);o.signal.addEventListener("abort",d,{once:!0}),r.onmessage=p=>{const h=p.data;if(!(w||l||!h||h.type!=="result")){if(typeof h.error=="string"){r.postMessage({type:"received"}),a(new Error(h.error));return}typeof h.code!="string"||!h.code||!u||(l=!0,clearTimeout(T),r.postMessage({type:"received"}),o.onExchanging?.(),e.exchangeCodeForSession(h.code,{flowId:u}).then(({data:W,error:A})=>{A?a(A):W.session?a():a(new Error("登录未完成,请重试。"))},a))}},e.signInWithOAuth({provider:t,options:{redirectTo:oe(),skipBrowserRedirect:!0}}).then(({data:p,error:h})=>{if(!w){if(h){a(h);return}if(!p.url){a(new Error("无法打开登录页面,请重试。"));return}if(!p.flowId){a(new Error("无法验证登录请求,请重试。"));return}u=p.flowId,s.location.replace(p.url)}}).catch(a)})}function re(){const e=new URL(window.location.href),t=e.pathname==="/"&&e.searchParams.get(q)==="1",o=e.hostname==="127.0.0.1"&&e.pathname==="/linkshell/callback";if(!t&&!o)return!1;const s=new URLSearchParams(e.hash.slice(1)),n=e.searchParams.get("code"),r=e.searchParams.get("error")??s.get("error");window.history.replaceState(null,"","/");const i=window.sessionStorage.getItem(O);if(window.sessionStorage.removeItem(O),!i||!/^[0-9a-f-]{36}$/.test(i)||typeof BroadcastChannel>"u")return L(window,"登录请求已失效,请关闭此窗口,返回工作台重试。"),!0;const c=new BroadcastChannel(`linkshell.oauth.${i}`);L(window,"正在返回工作台…");const w=setTimeout(()=>{c.close(),L(window,"工作台未响应,请关闭此窗口,返回工作台重新登录。")},1e4);c.onmessage=u=>{u.data?.type==="received"&&(clearTimeout(w),c.close(),L(window,"已返回工作台,可以关闭此窗口。"),window.close())};const l=r?{type:"result",error:r==="access_denied"?"登录已取消,请重试。":"登录未完成,请重试。"}:n?{type:"result",code:n}:{type:"result",error:"登录回调不完整,请重试。"};return c.postMessage(l),!0}async function V(){try{if(re())return;await Q(),await j(()=>import("./render-GjZ5l-D0.js"),__vite__mapDeps([0,1,2,3,4,5]))}catch(e){const t=document.getElementById("root");t.replaceChildren();const o=document.createElement("main");o.style.cssText="max-width:440px;margin:18vh auto;padding:32px;font:14px system-ui;line-height:1.65";const s=document.createElement("h1");s.textContent="工作台暂时无法打开";const n=document.createElement("p");n.textContent=e instanceof Error?e.message:String(e);const r=document.createElement("button");r.textContent="重试",r.style.cssText="height:32px;padding:0 12px;border-radius:6px;cursor:pointer",r.onclick=()=>{r.disabled=!0,V()},o.append(s,n,r),t.append(o)}}V();export{F as A,R as B,se as C,Y as D,Te as E,Se as F,ye as G,Pe as H,Ce as I,ce as R,ae as T,j as _,Z as a,J as b,ue as c,de as d,pe as e,le as f,k as g,x as h,S as i,ke as j,X as k,ge as l,we as m,me as n,Ie as o,Ee as p,De as q,fe as r,he as s,be as t,ve as u,_e as v,ie as w,Le as x,D as y,$ as z};
@@ -1 +1 @@
1
- import{_ as S}from"./index-2d3I_mqJ.js";class s{constructor(e,t,i,a,n){this._legacyCanvasSize=s.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),i&&typeof i=="object"?this._onDecode=t:(console.warn(i||a||n?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=t),t=typeof i=="object"?i:{},this._onDecodeError=t.onDecodeError||(typeof i=="function"?i:this._onDecodeError),this._calculateScanRegion=t.calculateScanRegion||(typeof a=="function"?a:this._calculateScanRegion),this._preferredCamera=t.preferredCamera||n||this._preferredCamera,this._legacyCanvasSize=typeof i=="number"?i:typeof a=="number"?a:this._legacyCanvasSize,this._maxScansPerSecond=t.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let o=!1;if(e.hidden&&(e.hidden=!1,o=!0),document.body.contains(e)||(document.body.appendChild(e),o=!0),i=e.parentElement,t.highlightScanRegion||t.highlightCodeOutline){if(a=!!t.overlay,this.$overlay=t.overlay||document.createElement("div"),n=this.$overlay.style,n.position="absolute",n.display="none",n.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!a&&t.highlightScanRegion){this.$overlay.innerHTML='<svg class="scan-region-highlight-svg" viewBox="0 0 238 238" preserveAspectRatio="none" style="position:absolute;width:100%;height:100%;left:0;top:0;fill:none;stroke:#e9b213;stroke-width:4;stroke-linecap:round;stroke-linejoin:round"><path d="M31 2H10a8 8 0 0 0-8 8v21M207 2h21a8 8 0 0 1 8 8v21m0 176v21a8 8 0 0 1-8 8h-21m-176 0H10a8 8 0 0 1-8-8v-21"/></svg>';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}i.insertBefore(this.$overlay,this.$video.nextSibling)}t.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",'<svg class="code-outline-highlight" preserveAspectRatio="none" style="display:none;width:100%;height:100%;fill:none;stroke:#e9b213;stroke-width:5;stroke-dasharray:25;stroke-linecap:round;stroke-linejoin:round"><polygon/></svg>'),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let d=window.getComputedStyle(e);d.display==="none"&&(e.style.setProperty("display","block","important"),o=!0),d.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),o=!0),o&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=s.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await s.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let t=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(a=>a.kind==="videoinput"),i;try{e&&(await t()).every(a=>!a.label)&&(i=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await t()).map((a,n)=>({id:a.deviceId,label:a.label||(n===0?"Default Camera":`Camera ${n+1}`)}))}finally{i&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),s._stopVideoStream(i))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),s._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),s._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:t}=await this._getCameraStream();!this._active||this._paused?s._stopVideoStream(e):(this._setVideoMirror(t),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let t=()=>{this.$video.srcObject instanceof MediaStream&&(s._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(t(),!0):(await new Promise(i=>setTimeout(i,300)),this._paused?(t(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,t,i,a,n=!1,o=!1){let d,c=!1;t&&("scanRegion"in t||"qrEngine"in t||"canvas"in t||"disallowCanvasResizing"in t||"alsoTryWithoutScanRegion"in t||"returnDetailedScanResult"in t)?(d=t.scanRegion,i=t.qrEngine,a=t.canvas,n=t.disallowCanvasResizing||!1,o=t.alsoTryWithoutScanRegion||!1,c=!0):console.warn(t||i||a||n||o?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),t=!!i;try{let m,h;[i,m]=await Promise.all([i||s.createQrEngine(),s._loadImage(e)]),[a,h]=s._drawToCanvas(m,d,a,n);let u;if(i instanceof Worker){let r=i;t||s._postWorkerMessageSync(r,"inversionMode","both"),u=await new Promise((l,f)=>{let p,y,g,w=-1;y=v=>{v.data.id===w&&(r.removeEventListener("message",y),r.removeEventListener("error",g),clearTimeout(p),v.data.data!==null?l({data:v.data.data,cornerPoints:s._convertPoints(v.data.cornerPoints,d)}):f(s.NO_QR_CODE_FOUND))},g=v=>{r.removeEventListener("message",y),r.removeEventListener("error",g),clearTimeout(p),f("Scanner error: "+(v?v.message||v:"Unknown Error"))},r.addEventListener("message",y),r.addEventListener("error",g),p=setTimeout(()=>g("timeout"),1e4);let _=h.getImageData(0,0,a.width,a.height);w=s._postWorkerMessageSync(r,"decode",_,[_.data.buffer])})}else u=await Promise.race([new Promise((r,l)=>window.setTimeout(()=>l("Scanner error: timeout"),1e4)),(async()=>{try{var[r]=await i.detect(a);if(!r)throw s.NO_QR_CODE_FOUND;return{data:r.rawValue,cornerPoints:s._convertPoints(r.cornerPoints,d)}}catch(l){if(r=l.message||l,/not implemented|service unavailable/.test(r))return s._disableBarcodeDetector=!0,s.scanImage(e,{scanRegion:d,canvas:a,disallowCanvasResizing:n,alsoTryWithoutScanRegion:o});throw`Scanner error: ${r}`}})()]);return c?u:u.data}catch(m){if(!d||!o)throw m;let h=await s.scanImage(e,{qrEngine:i,canvas:a,disallowCanvasResizing:n});return c?h:h.data}finally{t||s._postWorkerMessage(i,"close")}}setGrayscaleWeights(e,t,i,a=!0){s._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:t,blue:i,useIntegerApproximation:a})}setInversionMode(e){s._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>S(()=>import("./qr-scanner-worker.min-D85Z9gVD.js"),[]).then(i=>i.createWorker()),!(!s._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let t=navigator.userAgentData;return t&&t.brands.some(({brand:i})=>/Chromium/i.test(i))&&/mac ?OS/i.test(t.platform)&&await t.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:i,platformVersion:a})=>/arm/i.test(i||"arm")&&13<=parseInt(a||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let t=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-t)/2),y:Math.round((e.videoHeight-t)/2),width:t,height:t,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,t=e.videoWidth,i=e.videoHeight,a=e.offsetWidth,n=e.offsetHeight,o=e.offsetLeft,d=e.offsetTop,c=window.getComputedStyle(e),m=c.objectFit,h=t/i,u=a/n;switch(m){case"none":var r=t,l=i;break;case"fill":r=a,l=n;break;default:(m==="cover"?h>u:h<u)?(l=n,r=l*h):(r=a,l=r/h),m==="scale-down"&&(r=Math.min(r,t),l=Math.min(l,i))}var[f,p]=c.objectPosition.split(" ").map((g,w)=>{const _=parseFloat(g);return g.endsWith("%")?(w?n-l:a-r)*_/100:_});c=this._scanRegion.width||t,u=this._scanRegion.height||i,m=this._scanRegion.x||0;var y=this._scanRegion.y||0;h=this.$overlay.style,h.width=`${c/t*r}px`,h.height=`${u/i*l}px`,h.top=`${d+p+y/i*l}px`,i=/scaleX\(-1\)/.test(e.style.transform),h.left=`${o+(i?a-f-r:f)+(i?t-m-c:m)/t*r}px`,h.transform=e.style.transform}})}static _convertPoints(e,t){if(!t)return e;let i=t.x||0,a=t.y||0,n=t.width&&t.downScaledWidth?t.width/t.downScaledWidth:1;t=t.height&&t.downScaledHeight?t.height/t.downScaledHeight:1;for(let o of e)o.x=o.x*n+i,o.y=o.y*t+a;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,t=1e3/this._maxScansPerSecond;e<t&&await new Promise(a=>setTimeout(a,t-e)),this._lastScanTimestamp=Date.now();try{var i=await s.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(a){if(!this._active)return;this._onDecodeError(a)}!s._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=s.createQrEngine()),i?(this._onDecode?this._onDecode(i):this._legacyOnDecode&&this._legacyOnDecode(i.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",i.cornerPoints.map(({x:a,y:n})=>`${a},${n}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==s.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",t=[{width:{min:1024}},{width:{min:768}},{}],i=t.map(a=>Object.assign({},a,{[e]:{exact:this._preferredCamera}}));for(let a of[...i,...t])try{let n=await navigator.mediaDevices.getUserMedia({video:a,audio:!1}),o=this._getFacingMode(n)||(a.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:n,facingMode:o}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let t of e.getTracks())t.stop(),e.removeTrack(t)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,t,i,a=!1){i=i||document.createElement("canvas");let n=t&&t.x?t.x:0,o=t&&t.y?t.y:0,d=t&&t.width?t.width:e.videoWidth||e.width,c=t&&t.height?t.height:e.videoHeight||e.height;return a||(a=t&&t.downScaledWidth?t.downScaledWidth:d,t=t&&t.downScaledHeight?t.downScaledHeight:c,i.width!==a&&(i.width=a),i.height!==t&&(i.height=t)),t=i.getContext("2d",{alpha:!1}),t.imageSmoothingEnabled=!1,t.drawImage(e,n,o,d,c,0,0,i.width,i.height),[i,t]}static async _loadImage(e){if(e instanceof Image)return await s._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let t=new Image;t.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await s._awaitImageLoad(t),t}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(t.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((t,i)=>{let a=n=>{e.removeEventListener("load",a),e.removeEventListener("error",a),n instanceof ErrorEvent?i("Image load error"):t()};e.addEventListener("load",a),e.addEventListener("error",a)})}static async _postWorkerMessage(e,t,i,a){return s._postWorkerMessageSync(await e,t,i,a)}static _postWorkerMessageSync(e,t,i,a){if(!(e instanceof Worker))return-1;let n=s._workerMessageId++;return e.postMessage({id:n,type:t,data:i},a),n}}s.DEFAULT_CANVAS_SIZE=400;s.NO_QR_CODE_FOUND="No QR code found";s._disableBarcodeDetector=!1;s._workerMessageId=0;export{s as default};
1
+ import{_ as S}from"./index-BOUajjjs.js";class s{constructor(e,t,i,a,n){this._legacyCanvasSize=s.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),i&&typeof i=="object"?this._onDecode=t:(console.warn(i||a||n?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=t),t=typeof i=="object"?i:{},this._onDecodeError=t.onDecodeError||(typeof i=="function"?i:this._onDecodeError),this._calculateScanRegion=t.calculateScanRegion||(typeof a=="function"?a:this._calculateScanRegion),this._preferredCamera=t.preferredCamera||n||this._preferredCamera,this._legacyCanvasSize=typeof i=="number"?i:typeof a=="number"?a:this._legacyCanvasSize,this._maxScansPerSecond=t.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let o=!1;if(e.hidden&&(e.hidden=!1,o=!0),document.body.contains(e)||(document.body.appendChild(e),o=!0),i=e.parentElement,t.highlightScanRegion||t.highlightCodeOutline){if(a=!!t.overlay,this.$overlay=t.overlay||document.createElement("div"),n=this.$overlay.style,n.position="absolute",n.display="none",n.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!a&&t.highlightScanRegion){this.$overlay.innerHTML='<svg class="scan-region-highlight-svg" viewBox="0 0 238 238" preserveAspectRatio="none" style="position:absolute;width:100%;height:100%;left:0;top:0;fill:none;stroke:#e9b213;stroke-width:4;stroke-linecap:round;stroke-linejoin:round"><path d="M31 2H10a8 8 0 0 0-8 8v21M207 2h21a8 8 0 0 1 8 8v21m0 176v21a8 8 0 0 1-8 8h-21m-176 0H10a8 8 0 0 1-8-8v-21"/></svg>';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}i.insertBefore(this.$overlay,this.$video.nextSibling)}t.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",'<svg class="code-outline-highlight" preserveAspectRatio="none" style="display:none;width:100%;height:100%;fill:none;stroke:#e9b213;stroke-width:5;stroke-dasharray:25;stroke-linecap:round;stroke-linejoin:round"><polygon/></svg>'),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let d=window.getComputedStyle(e);d.display==="none"&&(e.style.setProperty("display","block","important"),o=!0),d.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),o=!0),o&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=s.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await s.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let t=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(a=>a.kind==="videoinput"),i;try{e&&(await t()).every(a=>!a.label)&&(i=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await t()).map((a,n)=>({id:a.deviceId,label:a.label||(n===0?"Default Camera":`Camera ${n+1}`)}))}finally{i&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),s._stopVideoStream(i))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),s._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),s._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:t}=await this._getCameraStream();!this._active||this._paused?s._stopVideoStream(e):(this._setVideoMirror(t),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let t=()=>{this.$video.srcObject instanceof MediaStream&&(s._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(t(),!0):(await new Promise(i=>setTimeout(i,300)),this._paused?(t(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,t,i,a,n=!1,o=!1){let d,c=!1;t&&("scanRegion"in t||"qrEngine"in t||"canvas"in t||"disallowCanvasResizing"in t||"alsoTryWithoutScanRegion"in t||"returnDetailedScanResult"in t)?(d=t.scanRegion,i=t.qrEngine,a=t.canvas,n=t.disallowCanvasResizing||!1,o=t.alsoTryWithoutScanRegion||!1,c=!0):console.warn(t||i||a||n||o?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),t=!!i;try{let m,h;[i,m]=await Promise.all([i||s.createQrEngine(),s._loadImage(e)]),[a,h]=s._drawToCanvas(m,d,a,n);let u;if(i instanceof Worker){let r=i;t||s._postWorkerMessageSync(r,"inversionMode","both"),u=await new Promise((l,f)=>{let p,y,g,w=-1;y=v=>{v.data.id===w&&(r.removeEventListener("message",y),r.removeEventListener("error",g),clearTimeout(p),v.data.data!==null?l({data:v.data.data,cornerPoints:s._convertPoints(v.data.cornerPoints,d)}):f(s.NO_QR_CODE_FOUND))},g=v=>{r.removeEventListener("message",y),r.removeEventListener("error",g),clearTimeout(p),f("Scanner error: "+(v?v.message||v:"Unknown Error"))},r.addEventListener("message",y),r.addEventListener("error",g),p=setTimeout(()=>g("timeout"),1e4);let _=h.getImageData(0,0,a.width,a.height);w=s._postWorkerMessageSync(r,"decode",_,[_.data.buffer])})}else u=await Promise.race([new Promise((r,l)=>window.setTimeout(()=>l("Scanner error: timeout"),1e4)),(async()=>{try{var[r]=await i.detect(a);if(!r)throw s.NO_QR_CODE_FOUND;return{data:r.rawValue,cornerPoints:s._convertPoints(r.cornerPoints,d)}}catch(l){if(r=l.message||l,/not implemented|service unavailable/.test(r))return s._disableBarcodeDetector=!0,s.scanImage(e,{scanRegion:d,canvas:a,disallowCanvasResizing:n,alsoTryWithoutScanRegion:o});throw`Scanner error: ${r}`}})()]);return c?u:u.data}catch(m){if(!d||!o)throw m;let h=await s.scanImage(e,{qrEngine:i,canvas:a,disallowCanvasResizing:n});return c?h:h.data}finally{t||s._postWorkerMessage(i,"close")}}setGrayscaleWeights(e,t,i,a=!0){s._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:t,blue:i,useIntegerApproximation:a})}setInversionMode(e){s._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>S(()=>import("./qr-scanner-worker.min-D85Z9gVD.js"),[]).then(i=>i.createWorker()),!(!s._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let t=navigator.userAgentData;return t&&t.brands.some(({brand:i})=>/Chromium/i.test(i))&&/mac ?OS/i.test(t.platform)&&await t.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:i,platformVersion:a})=>/arm/i.test(i||"arm")&&13<=parseInt(a||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let t=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-t)/2),y:Math.round((e.videoHeight-t)/2),width:t,height:t,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,t=e.videoWidth,i=e.videoHeight,a=e.offsetWidth,n=e.offsetHeight,o=e.offsetLeft,d=e.offsetTop,c=window.getComputedStyle(e),m=c.objectFit,h=t/i,u=a/n;switch(m){case"none":var r=t,l=i;break;case"fill":r=a,l=n;break;default:(m==="cover"?h>u:h<u)?(l=n,r=l*h):(r=a,l=r/h),m==="scale-down"&&(r=Math.min(r,t),l=Math.min(l,i))}var[f,p]=c.objectPosition.split(" ").map((g,w)=>{const _=parseFloat(g);return g.endsWith("%")?(w?n-l:a-r)*_/100:_});c=this._scanRegion.width||t,u=this._scanRegion.height||i,m=this._scanRegion.x||0;var y=this._scanRegion.y||0;h=this.$overlay.style,h.width=`${c/t*r}px`,h.height=`${u/i*l}px`,h.top=`${d+p+y/i*l}px`,i=/scaleX\(-1\)/.test(e.style.transform),h.left=`${o+(i?a-f-r:f)+(i?t-m-c:m)/t*r}px`,h.transform=e.style.transform}})}static _convertPoints(e,t){if(!t)return e;let i=t.x||0,a=t.y||0,n=t.width&&t.downScaledWidth?t.width/t.downScaledWidth:1;t=t.height&&t.downScaledHeight?t.height/t.downScaledHeight:1;for(let o of e)o.x=o.x*n+i,o.y=o.y*t+a;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,t=1e3/this._maxScansPerSecond;e<t&&await new Promise(a=>setTimeout(a,t-e)),this._lastScanTimestamp=Date.now();try{var i=await s.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(a){if(!this._active)return;this._onDecodeError(a)}!s._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=s.createQrEngine()),i?(this._onDecode?this._onDecode(i):this._legacyOnDecode&&this._legacyOnDecode(i.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",i.cornerPoints.map(({x:a,y:n})=>`${a},${n}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==s.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",t=[{width:{min:1024}},{width:{min:768}},{}],i=t.map(a=>Object.assign({},a,{[e]:{exact:this._preferredCamera}}));for(let a of[...i,...t])try{let n=await navigator.mediaDevices.getUserMedia({video:a,audio:!1}),o=this._getFacingMode(n)||(a.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:n,facingMode:o}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let t of e.getTracks())t.stop(),e.removeTrack(t)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,t,i,a=!1){i=i||document.createElement("canvas");let n=t&&t.x?t.x:0,o=t&&t.y?t.y:0,d=t&&t.width?t.width:e.videoWidth||e.width,c=t&&t.height?t.height:e.videoHeight||e.height;return a||(a=t&&t.downScaledWidth?t.downScaledWidth:d,t=t&&t.downScaledHeight?t.downScaledHeight:c,i.width!==a&&(i.width=a),i.height!==t&&(i.height=t)),t=i.getContext("2d",{alpha:!1}),t.imageSmoothingEnabled=!1,t.drawImage(e,n,o,d,c,0,0,i.width,i.height),[i,t]}static async _loadImage(e){if(e instanceof Image)return await s._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let t=new Image;t.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await s._awaitImageLoad(t),t}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(t.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((t,i)=>{let a=n=>{e.removeEventListener("load",a),e.removeEventListener("error",a),n instanceof ErrorEvent?i("Image load error"):t()};e.addEventListener("load",a),e.addEventListener("error",a)})}static async _postWorkerMessage(e,t,i,a){return s._postWorkerMessageSync(await e,t,i,a)}static _postWorkerMessageSync(e,t,i,a){if(!(e instanceof Worker))return-1;let n=s._workerMessageId++;return e.postMessage({id:n,type:t,data:i},a),n}}s.DEFAULT_CANVAS_SIZE=400;s.NO_QR_CODE_FOUND="No QR code found";s._disableBarcodeDetector=!1;s._workerMessageId=0;export{s as default};