smart-home-engine 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/index-BQ_d2xRZ.js +230 -0
- package/dist/web/assets/{index-XdHeWvgU.css → index-hs5iZLtu.css} +1 -1
- package/dist/web/assets/{tsMode-ChiZSjhq.js → tsMode-YPVpJYLA.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-B04-90_9.js +0 -230
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-ChiZSjhq.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var cA=Object.defineProperty;var qL=o=>{throw TypeError(o)};var dA=(o,e,t)=>e in o?cA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Ui=(o,e,t)=>dA(o,typeof e!="symbol"?e+"":e,t),dw=(o,e,t)=>e.has(o)||qL("Cannot "+t);var te=(o,e,t)=>(dw(o,e,"read from private field"),t?t.call(o):e.get(o)),Ri=(o,e,t)=>e.has(o)?qL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Ai=(o,e,t,i)=>(dw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Tn=(o,e,t)=>(dw(o,e,"access private method"),t);import{_ as cE,m as dE,l as It,A as uo,C as le,I as An,D as Xp,a as rs,g as hE,M as ct,b as ei,E as ia,c as N,r as an,d as kr,e as y,f as hA,h as kn,R as Oi,S as Gt,i as Ks,j as Ir,k as qi,n as yi,o as oe,p as Ce,K as hs,q as Ct,s as je,t as _s,u as B,v as Ei,O as Ha,w as fs,P as Pt,x as hw,y as Yp,z as uE,B as hl,F as na,G as cS,H as Ps,U as gn,J as ng,L as Tt,N as _l,Q as uA,T as ro,V as dS,W as gA,X as gE,$ as St,Y as Xi,Z as $i,a0 as Un,a1 as li,a2 as Bo,a3 as ip,a4 as We,a5 as m_,a6 as fA,a7 as pA,a8 as ms,a9 as mA,aa as sa,ab as go,ac as Rt,ad as fE,ae as Nn,af as _A,ag as vA,ah as lo,ai as Rg,aj as us,ak as sy,al as to,am as Oc,an as A0,ao as oy,ap as Ls,aq as sg,ar as ks,as as ry,at as ay,au as bA,av as Jp,aw as Ag,ax as Il,ay as yA,az as Og,aA as wA,aB as O0,aC as SA,aD as CA,aE as KL,aF as os,aG as ul,aH as io,aI as pi,aJ as al,aK as xA,aL as Va,aM as Fo,aN as ws,aO as oa,aP as F0,aQ as vs,aR as ns,aS as j_,aT as fi,aU as pE,aV as LA,aW as H0,aX as ly,aY as W0,aZ as B0,a_ as gd,a$ as kA,b0 as z0,b1 as IA,b2 as V0,b3 as Dl,b4 as El,b5 as og,b6 as np,b7 as xo,b8 as Qp,b9 as U_,ba as uw,bb as bn,bc as j0,bd as em,be as cy,bf as DA,bg as mE,bh as sp,bi as rg,bj as op,bk as tm,bl as dy,bm as Ki,bn as Fc,bo as im,bp as EA,bq as PA,br as U0,bs as TA,bt as $_,bu as sr,bv as $0,bw as ag,bx as Pl,by as Fg,bz as Ii,bA as lg,bB as _E,bC as nm,bD as MA,bE as fd,bF as ft,bG as GL,bH as __,bI as vE,bJ as Pr,bK as Yr,bL as Cn,bM as cg,bN as yr,bO as dg,bP as jn,bQ as rp,bR as Ph,bS as hS,bT as bE,bU as yE,bV as wE,bW as q0,bX as vo,bY as on,bZ as sm,b_ as SE,b$ as gl,c0 as hy,c1 as NA,c2 as mu,c3 as ZL,c4 as om,c5 as CE,c6 as _u,c7 as RA,c8 as gr,c9 as uy,ca as AA,cb as fo,cc as ra,cd as rm,ce as ap,cf as xE,cg as tr,ch as am,ci as gy,cj as OA,ck as FA,cl as HA,cm as Hg,cn as ja,co as Ss,cp as WA,cq as K0,cr as BA,cs as zA,ct as XL,cu as VA,cv as lm,cw as vl,cx as uS,cy as hh,cz as bl,cA as jA,cB as Wa,cC as wr,cD as No,cE as YL,cF as Zs,cG as cm,cH as Ic,cI as Ua,cJ as UA,cK as aa,cL as lp,cM as fy,cN as LE,cO as $A,cP as qA,cQ as G0,cR as KA,cS as cp,cT as GA,cU as ec,cV as dp,cW as JL,cX as ZA,cY as XA,cZ as Ka,c_ as YA,c$ as Z0,d0 as kE,d1 as IE,d2 as DE,d3 as EE,d4 as JA,d5 as QA,d6 as PE,d7 as TE,d8 as eO,d9 as X0,da as tO,db as iO,dc as Xn,dd as nO,de as Y0,df as sO,dg as vu,dh as QL,di as oO,dj as rO,dk as aO,dl as lO,dm as cO,dn as dO,dp as hg,dq as py,dr as gS,ds as hO,dt as uO,du as ek,dv as fS,dw as gO,dx as tk,dy as gw,dz as fO,dA as ME,dB as pO,dC as NE,dD as pS,dE as mO,dF as _O,dG as vO,dH as RE,dI as AE,dJ as bO,dK as q_,dL as OE,dM as my,dN as yO,dO as wO,dP as Dc,dQ as J0,dR as SO,dS as ik,dT as nk,dU as CO,dV as bu,dW as FE,dX as xO,dY as LO,dZ as kO,d_ as IO,d$ as HE,e0 as WE,e1 as BE,e2 as zE,e3 as DO,e4 as Ba,e5 as sk,e6 as EO,e7 as dm,e8 as PO,e9 as vf,ea as VE,eb as ok,ec as hp,ed as jE,ee as K_,ef as TO,eg as UE,eh as MO,ei as $E,ej as NO,ek as RO,el as qE,em as KE,en as yl,eo as _y,ep as AO,eq as GE,er as Ho,es as pd,et as ZE,eu as OO,ev as FO,ew as XE,ex as YE,ey as HO,ez as JE,eA as QE,eB as up,eC as WO,eD as BO,eE as zO,eF as VO,eG as af,eH as rk,eI as jO,eJ as UO,eK as $O,eL as G_,eM as Ns,eN as qO,eO as mS,eP as Th,eQ as KO,eR as rl,eS as GO,eT as ZO,eU as eP,eV as XO,eW as Of,eX as YO,eY as JO,eZ as QO,e_ as e2,e$ as ak,f0 as lk,f1 as ck,f2 as Mh,f3 as Q0,f4 as tP,f5 as _S,f6 as v_,f7 as iP,f8 as Z_,f9 as t2,fa as i2,fb as n2,fc as s2,fd as e1,fe as nP,ff as o2,fg as X_,fh as sP,fi as oP,fj as r2,fk as a2,fl as l2,fm as c2,fn as d2,fo as h2,fp as u2,fq as g2,fr as rP,fs as f2,ft as Y_,fu as aP,fv as p2,fw as lP,fx as m2,fy as cP,fz as dP,fA as _2,fB as dk,fC as hP,fD as hk,fE as v2,fF as fw,fG as uk,fH as b2,fI as y2,fJ as w2,fK as Pa,fL as Ec,fM as S2,fN as gk,fO as b_,fP as C2,fQ as ll,fR as vy,fS as vS,fT as x2,fU as uP,fV as gP,fW as Xs,fX as fk,fY as Hm,fZ as t1,f_ as L2,f$ as k2,g0 as I2,g1 as D2,g2 as E2,g3 as P2,g4 as T2,g5 as M2,g6 as pk,g7 as N2,g8 as R2,g9 as A2,ga as ug,gb as Ff,gc as fP,gd as O2,ge as i1,gf as y_,gg as Wm,gh as pw,gi as F2,gj as H2,gk as pP,gl as W2,gm as n1,gn as B2,go as z2,gp as mP,gq as by,gr as V2,gs as J_,gt as s1,gu as o1,gv as r1,gw as _P,gx as vP,gy as bP,gz as yP,gA as wP,gB as SP,gC as CP,gD as mk,gE as xP,gF as Gh,gG as j2,gH as U2,gI as $2,gJ as q2,gK as LP,gL as K2,gM as G2,gN as _k,gO as bS,gP as ac,gQ as Z2,gR as X2,gS as Y2,gT as J2,gU as Q2,gV as eF,gW as vk,gX as a1,gY as yS,gZ as tF,g_ as wS,g$ as iF,h0 as nF,h1 as sF,h2 as oF,h3 as l1,h4 as kP,h5 as bk,h6 as yk,h7 as rF,h8 as aF,h9 as lF,ha as wk,hb as mw,hc as cF,hd as dF,he as hF,hf as _w,hg as IP,hh as DP,hi as EP,hj as PP,hk as wl,hl as TP,hm as c1,hn as Sk,ho as uF,hp as MP,hq as gF,hr as fF,hs as yy,ht as wy,hu as Nh,hv as Sy,hw as hm,hx as pF,hy as Cy,hz as mF,hA as _F,hB as vF,hC as NP,hD as lf,hE as bF,hF as yF,hG as wF,hH as SF,hI as um,hJ as CF,hK as RP,hL as AP,hM as OP,hN as SS,hO as xF,hP as LF,hQ as kF,hR as IF,hS as DF,hT as CS,hU as EF,hV as PF,hW as TF,hX as MF,hY as NF,hZ as RF,h_ as AF,h$ as OF,i0 as FP,i1 as FF,i2 as HF,i3 as WF,i4 as Ck,i5 as BF,i6 as zF,i7 as Qc,i8 as cr,i9 as VF,ia as jF}from"./monaco-langs-BW2J83t5.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const HP=!1;var d1=Array.isArray,UF=Array.prototype.indexOf,Q_=Array.prototype.includes,xy=Array.from,$F=Object.defineProperty,Ru=Object.getOwnPropertyDescriptor,qF=Object.getOwnPropertyDescriptors,KF=Object.prototype,GF=Array.prototype,WP=Object.getPrototypeOf,xk=Object.isExtensible;const Ly=()=>{};function ZF(o){for(var e=0;e<o.length;e++)o[e]()}function BP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function XF(o,e,t=!1){return o===void 0?t?e():e:o}function Lk(o,e){if(Array.isArray(o))return o;if(!(Symbol.iterator in o))return Array.from(o);const t=[];for(const i of o)if(t.push(i),t.length===e)break;return t}const Qs=2,gg=4,ky=8,zP=1<<24,Jr=16,ta=32,Pc=64,xS=128,xr=512,Rs=1024,Vs=2048,$a=4096,yo=8192,Lr=16384,Wg=32768,LS=1<<25,fg=65536,ev=1<<17,YF=1<<18,Bg=1<<19,JF=1<<20,Ra=1<<25,uh=65536,tv=1<<21,Au=1<<22,lc=1<<23,md=Symbol("$state"),QF=Symbol("legacy props"),eH=Symbol(""),w_=Symbol("attributes"),kS=Symbol("class"),IS=Symbol("style"),bf=Symbol("text"),S_=Symbol("form reset"),Iy=new class extends Error{constructor(){super(...arguments);Ui(this,"name","StaleReactionError");Ui(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function VP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function tH(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function iH(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function nH(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function sH(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function oH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function rH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function aH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function lH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function cH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function dH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function hH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const uH=1,gH=2,jP=4,fH=8,pH=16,mH=1,_H=4,vH=8,bH=16,yH=1,wH=2,Ms=Symbol("uninitialized"),UP="http://www.w3.org/1999/xhtml",SH="http://www.w3.org/2000/svg",CH="http://www.w3.org/1998/Math/MathML";function xH(){console.warn("https://svelte.dev/e/derived_inert")}function LH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function kH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function $P(o){return o===this.v}function IH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function qP(o){return!IH(o,this.v)}let DH=!1,Js=null;function pg(o){Js=o}function Vo(o,e=!1,t){Js={p:Js,i:!1,c:null,e:null,s:o,x:null,r:rn,l:null}}function jo(o){var e=Js,t=e.e;if(t!==null){e.e=null;for(var i of t)fT(i)}return o!==void 0&&(e.x=o),e.i=!0,Js=e.p,o??{}}function KP(){return!0}let sd=[];function GP(){var o=sd;sd=[],ZF(o)}function cc(o){if(sd.length===0&&!Wf){var e=sd;queueMicrotask(()=>{e===sd&&GP()})}sd.push(o)}function EH(){for(;sd.length>0;)GP()}function ZP(o){var e=rn;if(e===null)return sn.f|=lc,o;if((e.f&Wg)===0&&(e.f&gg)===0)throw o;tc(o,e)}function tc(o,e){for(;e!==null;){if((e.f&xS)!==0){if((e.f&Wg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const PH=-7169;function bs(o,e){o.f=o.f&PH|e}function h1(o){(o.f&xr)!==0||o.deps===null?bs(o,Rs):bs(o,$a)}function XP(o){if(o!==null)for(const e of o)(e.f&Qs)===0||(e.f&uh)===0||(e.f^=uh,XP(e.deps))}function YP(o,e,t){(o.f&Vs)!==0?e.add(o):(o.f&$a)!==0&&t.add(o),XP(o.deps),bs(o,Rs)}let Bm=!1;function TH(o){var e=Bm;try{return Bm=!1,[o(),Bm]}finally{Bm=e}}let vw=null,Zh=null,hi=null,Hf=null,Gs=null,DS=null,Wf=!1,bw=!1,yu=null,C_=null;var kk=0;let MH=1;var Wu,Yl,ld,Bu,zu,Vu,il,ju,Po,Up,nl,zr,ka,Uu,cd,Yn,ES,yf,PS,JP,QP,du,NH,wf;const hb=class hb{constructor(){Ri(this,Yn);Ui(this,"id",MH++);Ri(this,Wu,!1);Ui(this,"linked",!0);Ri(this,Yl,null);Ri(this,ld,null);Ui(this,"async_deriveds",new Map);Ui(this,"current",new Map);Ui(this,"previous",new Map);Ri(this,Bu,new Set);Ri(this,zu,new Set);Ri(this,Vu,0);Ri(this,il,new Map);Ri(this,ju,null);Ri(this,Po,[]);Ri(this,Up,[]);Ri(this,nl,new Set);Ri(this,zr,new Set);Ri(this,ka,new Map);Ri(this,Uu,new Set);Ui(this,"is_fork",!1);Ri(this,cd,!1);Zh===null?vw=Zh=this:(Ai(Zh,ld,this),Ai(this,Yl,Zh)),Zh=this}skip_effect(e){te(this,ka).has(e)||te(this,ka).set(e,{d:[],m:[]}),te(this,Uu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=te(this,ka).get(e);if(i){te(this,ka).delete(e);for(var n of i.d)bs(n,Vs),t(n);for(n of i.m)bs(n,$a),t(n)}te(this,Uu).add(e)}capture(e,t,i=!1){e.v!==Ms&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&lc)===0&&(this.current.set(e,[t,i]),Gs==null||Gs.set(e,t)),this.is_fork||(e.v=t)}activate(){hi=this}deactivate(){hi=null,Gs=null}flush(){try{bw=!0,hi=this,Tn(this,Yn,yf).call(this)}finally{kk=0,DS=null,yu=null,C_=null,bw=!1,hi=null,Gs=null,_d.clear()}}discard(){var e;for(const t of te(this,zu))t(this);te(this,zu).clear(),Tn(this,Yn,wf).call(this),(e=te(this,ju))==null||e.resolve()}register_created_effect(e){te(this,Up).push(e)}increment(e,t){if(Ai(this,Vu,te(this,Vu)+1),e){let i=te(this,il).get(t)??0;te(this,il).set(t,i+1)}}decrement(e,t){if(Ai(this,Vu,te(this,Vu)-1),e){let i=te(this,il).get(t)??0;i===1?te(this,il).delete(t):te(this,il).set(t,i-1)}te(this,cd)||(Ai(this,cd,!0),cc(()=>{Ai(this,cd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)te(this,nl).add(i);for(const i of t)te(this,zr).add(i);e.clear(),t.clear()}oncommit(e){te(this,Bu).add(e)}ondiscard(e){te(this,zu).add(e)}settled(){return(te(this,ju)??Ai(this,ju,BP())).promise}static ensure(){if(hi===null){const e=hi=new hb;!bw&&!Wf&&cc(()=>{te(e,Wu)||e.flush()})}return hi}apply(){{Gs=null;return}}schedule(e){var n;if(DS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(gg|ky|zP))!==0&&(e.f&Wg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(yu!==null&&t===rn&&(sn===null||(sn.f&Qs)===0))return;if((i&(Pc|ta))!==0){if((i&Rs)===0)return;t.f^=Rs}}te(this,Po).push(t)}};Wu=new WeakMap,Yl=new WeakMap,ld=new WeakMap,Bu=new WeakMap,zu=new WeakMap,Vu=new WeakMap,il=new WeakMap,ju=new WeakMap,Po=new WeakMap,Up=new WeakMap,nl=new WeakMap,zr=new WeakMap,ka=new WeakMap,Uu=new WeakMap,cd=new WeakMap,Yn=new WeakSet,ES=function(){if(this.is_fork)return!0;for(const i of te(this,il).keys()){for(var e=i,t=!1;e.parent!==null;){if(te(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},yf=function(){var c,h,g,f;Ai(this,Wu,!0),kk++>1e3&&(Tn(this,Yn,wf).call(this),AH());for(const p of te(this,nl))te(this,zr).delete(p),bs(p,Vs),this.schedule(p);for(const p of te(this,zr))bs(p,$a),this.schedule(p);const e=te(this,Po);Ai(this,Po,[]),this.apply();var t=yu=[],i=[],n=C_=[];for(const p of e)try{Tn(this,Yn,PS).call(this,p,t,i)}catch(v){throw iT(p),Tn(this,Yn,ES).call(this)||this.discard(),v}if(hi=null,n.length>0){var s=hb.ensure();for(const p of n)s.schedule(p)}if(yu=null,C_=null,Tn(this,Yn,ES).call(this)){Tn(this,Yn,du).call(this,i),Tn(this,Yn,du).call(this,t);for(const[p,v]of te(this,ka))tT(p,v);n.length>0&&Tn(c=hi,Yn,yf).call(c);return}const r=Tn(this,Yn,JP).call(this);if(r){Tn(this,Yn,du).call(this,i),Tn(this,Yn,du).call(this,t),Tn(h=r,Yn,QP).call(h,this);return}te(this,nl).clear(),te(this,zr).clear();for(const p of te(this,Bu))p(this);te(this,Bu).clear(),Hf=this,Ik(i),Ik(t),Hf=null,(g=te(this,ju))==null||g.resolve();var a=hi;if(te(this,Vu)===0&&(te(this,Po).length===0||a!==null)&&Tn(this,Yn,wf).call(this),te(this,Po).length>0)if(a!==null){const p=a;te(p,Po).push(...te(this,Po).filter(v=>!te(p,Po).includes(v)))}else a=this;a!==null&&Tn(f=a,Yn,yf).call(f)},PS=function(e,t,i){e.f^=Rs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(ta|Pc))!==0,a=r&&(s&Rs)!==0,c=a||(s&yo)!==0||te(this,ka).has(n);if(!c&&n.fn!==null){r?n.f^=Rs:(s&gg)!==0?t.push(n):fm(n)&&((s&Jr)!==0&&te(this,zr).add(n),_g(n));var h=n.first;if(h!==null){n=h;continue}}for(;n!==null;){var g=n.next;if(g!==null){n=g;break}n=n.parent}}},JP=function(){for(var e=te(this,Yl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=te(e,Yl)}return null},QP=function(e){var i;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const r=this.async_deriveds.get(n);r&&s.promise.then(r.resolve).catch(r.reject)}this.transfer_effects(te(e,nl),te(e,zr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Qs)!==0)t(c);else{var a=c;r&(Au|Jr)&&!this.async_deriveds.has(a)&&(te(this,zr).delete(a),bs(a,Vs),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Tn(i=e,Yn,wf).call(i),hi=this,Tn(this,Yn,yf).call(this)},du=function(e){for(var t=0;t<e.length;t+=1)YP(e[t],te(this,nl),te(this,zr))},NH=function(){var g;for(let f=vw;f!==null;f=te(f,ld)){var e=f.id<this.id,t=[];for(const[p,[v,_]]of this.current){if(f.current.has(p)){var i=f.current.get(p)[0];if(e&&v!==i)f.current.set(p,[v,_]);else continue}t.push(p)}if(e)for(const[p,v]of this.async_deriveds){const _=f.async_deriveds.get(p);_&&v.promise.then(_.resolve).catch(_.reject)}if(te(f,Wu)){var n=[...f.current.keys()].filter(p=>!f.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&f.discard();else if(t.length>0){if(e)for(const p of te(this,Uu))f.unskip_effect(p,v=>{var _;(v.f&(Jr|Au))!==0?f.schedule(v):Tn(_=f,Yn,du).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)eT(a,n,s,r);r=new Map;var c=[...f.current].filter(([p,v])=>{const _=this.current.get(p);return _?_[0]!==v[0]||_[1]!==v[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of te(this,Up))(p.f&(Lr|yo|ev))===0&&u1(p,c,r)&&((p.f&(Au|Jr))!==0?(bs(p,Vs),f.schedule(p)):te(f,nl).add(p));if(te(f,Po).length>0&&!te(f,cd)){f.apply();for(var h of te(f,Po))Tn(g=f,Yn,PS).call(g,h,[],[]);Ai(f,Po,[])}f.deactivate()}}}},wf=function(){if(this.linked){var e=te(this,Yl),t=te(this,ld);e===null?vw=t:Ai(e,ld,t),t===null?Zh=e:Ai(t,Yl,e),this.linked=!1}};let gh=hb;function RH(o){var e=Wf;Wf=!0;try{for(var t;;){if(EH(),hi===null)return t;hi.flush()}}finally{Wf=e}}function AH(){try{rH()}catch(o){tc(o,DS)}}let Hr=null;function Ik(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Lr|yo))===0&&fm(i)&&(Hr=new Set,_g(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&_T(i),(Hr==null?void 0:Hr.size)>0)){_d.clear();for(const n of Hr){if((n.f&(Lr|yo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Hr.has(r)&&(Hr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(Lr|yo))===0&&_g(c)}}Hr.clear()}}Hr=null}}function eT(o,e,t,i){if(!t.has(o)&&(t.add(o),o.reactions!==null))for(const n of o.reactions){const s=n.f;(s&Qs)!==0?eT(n,e,t,i):(s&(Au|Jr))!==0&&(s&Vs)===0&&u1(n,e,i)&&(bs(n,Vs),g1(n))}}function u1(o,e,t){const i=t.get(o);if(i!==void 0)return i;if(o.deps!==null)for(const n of o.deps){if(Q_.call(e,n))return!0;if((n.f&Qs)!==0&&u1(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function g1(o){hi.schedule(o)}function tT(o,e){if(!((o.f&ta)!==0&&(o.f&Rs)!==0)){(o.f&Vs)!==0?e.d.push(o):(o.f&$a)!==0&&e.m.push(o),bs(o,Rs);for(var t=o.first;t!==null;)tT(t,e),t=t.next}}function iT(o){bs(o,Rs);for(var e=o.first;e!==null;)iT(e),e=e.next}function OH(o){let e=0,t=fh(0),i;return()=>{_1()&&(u(t),Ey(()=>(e===0&&(i=Ml(()=>o(()=>Bf(t)))),e+=1,()=>{cc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Bf(t))})})))}}var FH=fg|Bg;function HH(o,e,t,i){new WH(o,e,t,i)}var pr,R0,mr,dd,To,_r,mo,Yo,sl,hd,Jl,$u,$p,qp,ol,ub,ys,BH,zH,VH,TS,x_,L_,MS,NS;class WH{constructor(e,t,i,n){Ri(this,ys);Ui(this,"parent");Ui(this,"is_pending",!1);Ui(this,"transform_error");Ri(this,pr);Ri(this,R0,null);Ri(this,mr);Ri(this,dd);Ri(this,To);Ri(this,_r,null);Ri(this,mo,null);Ri(this,Yo,null);Ri(this,sl,null);Ri(this,hd,0);Ri(this,Jl,0);Ri(this,$u,!1);Ri(this,$p,new Set);Ri(this,qp,new Set);Ri(this,ol,null);Ri(this,ub,OH(()=>(Ai(this,ol,fh(te(this,hd))),()=>{Ai(this,ol,null)})));var s;Ai(this,pr,e),Ai(this,mr,t),Ai(this,dd,r=>{var a=rn;a.b=this,a.f|=xS,i(r)}),this.parent=rn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Ai(this,To,y1(()=>{Tn(this,ys,TS).call(this)},FH))}defer_effect(e){YP(e,te(this,$p),te(this,qp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!te(this,mr).pending}update_pending_count(e,t){Tn(this,ys,MS).call(this,e,t),Ai(this,hd,te(this,hd)+e),!(!te(this,ol)||te(this,$u))&&(Ai(this,$u,!0),cc(()=>{Ai(this,$u,!1),te(this,ol)&&mg(te(this,ol),te(this,hd))}))}get_effect_pending(){return te(this,ub).call(this),u(te(this,ol))}error(e){if(!te(this,mr).onerror&&!te(this,mr).failed)throw e;hi!=null&&hi.is_fork?(te(this,_r)&&hi.skip_effect(te(this,_r)),te(this,mo)&&hi.skip_effect(te(this,mo)),te(this,Yo)&&hi.skip_effect(te(this,Yo)),hi.oncommit(()=>{Tn(this,ys,NS).call(this,e)})):Tn(this,ys,NS).call(this,e)}}pr=new WeakMap,R0=new WeakMap,mr=new WeakMap,dd=new WeakMap,To=new WeakMap,_r=new WeakMap,mo=new WeakMap,Yo=new WeakMap,sl=new WeakMap,hd=new WeakMap,Jl=new WeakMap,$u=new WeakMap,$p=new WeakMap,qp=new WeakMap,ol=new WeakMap,ub=new WeakMap,ys=new WeakSet,BH=function(){try{Ai(this,_r,vr(()=>te(this,dd).call(this,te(this,pr))))}catch(e){this.error(e)}},zH=function(e){const t=te(this,mr).failed;t&&Ai(this,Yo,vr(()=>{t(te(this,pr),()=>e,()=>()=>{})}))},VH=function(){const e=te(this,mr).pending;e&&(this.is_pending=!0,Ai(this,mo,vr(()=>e(te(this,pr)))),cc(()=>{var t=Ai(this,sl,document.createDocumentFragment()),i=fl();t.append(i),Ai(this,_r,Tn(this,ys,L_).call(this,()=>vr(()=>te(this,dd).call(this,i)))),te(this,Jl)===0&&(te(this,pr).before(t),Ai(this,sl,null),bd(te(this,mo),()=>{Ai(this,mo,null)}),Tn(this,ys,x_).call(this,hi))}))},TS=function(){try{if(this.is_pending=this.has_pending_snippet(),Ai(this,Jl,0),Ai(this,hd,0),Ai(this,_r,vr(()=>{te(this,dd).call(this,te(this,pr))})),te(this,Jl)>0){var e=Ai(this,sl,document.createDocumentFragment());S1(te(this,_r),e);const t=te(this,mr).pending;Ai(this,mo,vr(()=>t(te(this,pr))))}else Tn(this,ys,x_).call(this,hi)}catch(t){this.error(t)}},x_=function(e){this.is_pending=!1,e.transfer_effects(te(this,$p),te(this,qp))},L_=function(e){var t=rn,i=sn,n=Js;qa(te(this,To)),Dr(te(this,To)),pg(te(this,To).ctx);try{return gh.ensure(),e()}catch(s){return ZP(s),null}finally{qa(t),Dr(i),pg(n)}},MS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Tn(i=this.parent,ys,MS).call(i,e,t);return}Ai(this,Jl,te(this,Jl)+e),te(this,Jl)===0&&(Tn(this,ys,x_).call(this,t),te(this,mo)&&bd(te(this,mo),()=>{Ai(this,mo,null)}),te(this,sl)&&(te(this,pr).before(te(this,sl)),Ai(this,sl,null)))},NS=function(e){te(this,_r)&&(Wo(te(this,_r)),Ai(this,_r,null)),te(this,mo)&&(Wo(te(this,mo)),Ai(this,mo,null)),te(this,Yo)&&(Wo(te(this,Yo)),Ai(this,Yo,null));var t=te(this,mr).onerror;let i=te(this,mr).failed;var n=!1,s=!1;const r=()=>{if(n){kH();return}n=!0,s&&hH(),te(this,Yo)!==null&&bd(te(this,Yo),()=>{Ai(this,Yo,null)}),Tn(this,ys,L_).call(this,()=>{Tn(this,ys,TS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){tc(h,te(this,To)&&te(this,To).parent)}i&&Ai(this,Yo,Tn(this,ys,L_).call(this,()=>{try{return vr(()=>{var h=rn;h.b=this,h.f|=xS,i(te(this,pr),()=>c,()=>r)})}catch(h){return tc(h,te(this,To).parent),null}}))};cc(()=>{var c;try{c=this.transform_error(e)}catch(h){tc(h,te(this,To)&&te(this,To).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>tc(h,te(this,To)&&te(this,To).parent)):a(c)})};function jH(o,e,t,i){const n=gp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=rn,a=UH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&Lr)===0){a();try{i(p)}catch(v){tc(v,r)}iv()}}var g=nT();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>$H(p))).then(p=>h([...e.map(n),...p])).catch(p=>tc(p,r)).finally(g)}c?c.then(()=>{a(),f(),iv()}):f()}function UH(){var o=rn,e=sn,t=Js,i=hi;return function(s=!0){qa(o),Dr(e),pg(t),s&&(o.f&Lr)===0&&(i==null||i.activate(),i==null||i.apply())}}function iv(o=!0){qa(null),Dr(null),pg(null),o&&(hi==null||hi.deactivate())}function nT(){var o=rn,e=o.b,t=hi,i=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,t),t.increment(i,o),()=>{e==null||e.update_pending_count(-1,t),t.decrement(i,o)}}function gp(o){var e=Qs|Vs;return rn!==null&&(rn.f|=Bg),{ctx:Js,deps:null,effects:null,equals:$P,f:e,fn:o,reactions:null,rv:0,v:Ms,wv:0,parent:rn,ac:null}}const zm=Symbol("obsolete");function $H(o,e,t){let i=rn;i===null&&tH();var n=void 0,s=fh(Ms),r=!sn,a=new Set;return nW(()=>{var v,_;var c=rn,h=BP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,w=>{w!==Iy&&h.reject(w)}).finally(iv)}catch(w){h.reject(w),iv()}var g=hi;if(r){if((c.f&Wg)!==0)var f=nT();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(zm);else for(const w of a.values())w.reject(zm);a.add(h),g.async_deriveds.set(c,h)}const p=(w,S=void 0)=>{f==null||f(),a.delete(h),S!==zm&&(g.activate(),S?(s.f|=lc,mg(s,S)):((s.f&lc)!==0&&(s.f^=lc),mg(s,w)),g.deactivate())};h.promise.then(p,w=>p(null,w||"unknown"))}),v1(()=>{for(const c of a)c.reject(zm)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function st(o){const e=gp(o);return yT(e),e}function f1(o){const e=gp(o);return e.equals=qP,e}function qH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Wo(e[t])}}function p1(o){var e,t=rn,i=o.parent;if(!Sl&&i!==null&&o.v!==Ms&&(i.f&(Lr|yo))!==0)return xH(),o.v;qa(i);try{o.f&=~uh,qH(o),e=xT(o)}finally{qa(t)}return e}function sT(o){var e=p1(o);if(!o.equals(e)&&(o.wv=ST(),(!(hi!=null&&hi.is_fork)||o.deps===null)&&(hi!==null?(hi.capture(o,e,!0),Hf==null||Hf.capture(o,e,!0)):o.v=e,o.deps===null))){bs(o,Rs);return}Sl||(Gs!==null?(_1()||hi!=null&&hi.is_fork)&&Gs.set(o,e):h1(o))}function KH(o){var e,t;if(o.effects!==null)for(const i of o.effects)(i.teardown||i.ac)&&((e=i.teardown)==null||e.call(i),(t=i.ac)==null||t.abort(Iy),i.fn!==null&&(i.teardown=Ly),i.ac=null,fp(i,0),w1(i))}function oT(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&_g(e)}let nv=new Set;const _d=new Map;let rT=!1;function fh(o,e){var t={f:0,v:o,reactions:null,equals:$P,rv:0,wv:0};return t}function W(o,e){const t=fh(o);return yT(t),t}function GH(o,e=!1,t=!0){const i=fh(o);return e||(i.equals=qP),i}function k(o,e,t=!1){sn!==null&&(!Qr||(sn.f&ev)!==0)&&KP()&&(sn.f&(Qs|Jr|Au|ev))!==0&&(za===null||!za.has(o))&&dH();let i=t?gi(e):e;return mg(o,i,C_)}function mg(o,e,t=null){if(!o.equals(e)){_d.set(o,Sl?e:o.v);var i=gh.ensure();if(i.capture(o,e),(o.f&Qs)!==0){const n=o;(o.f&Vs)!==0&&p1(n),Gs===null&&h1(n)}o.wv=ST(),aT(o,Vs,t),rn!==null&&(rn.f&Rs)!==0&&(rn.f&(ta|Pc))===0&&(fr===null?oW([o]):fr.push(o)),!i.is_fork&&nv.size>0&&!rT&&ZH()}return e}function ZH(){rT=!1;for(const o of nv){(o.f&Rs)!==0&&bs(o,$a);let e;try{e=fm(o)}catch{e=!0}e&&_g(o)}nv.clear()}function Dk(o,e=1){var t=u(o),i=e===1?t++:t--;return k(o,t),i}function Bf(o){k(o,o.v+1)}function aT(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,c=(a&Vs)===0;if(c&&bs(r,e),(a&ev)!==0)nv.add(r);else if((a&Qs)!==0){var h=r;Gs==null||Gs.delete(h),(a&uh)===0&&(a&xr&&(rn===null||(rn.f&tv)===0)&&(r.f|=uh),aT(h,$a,t))}else if(c){var g=r;(a&Jr)!==0&&Hr!==null&&Hr.add(g),t!==null?t.push(g):g1(g)}}}function gi(o){if(typeof o!="object"||o===null||md in o)return o;const e=WP(o);if(e!==KF&&e!==GF)return o;var t=new Map,i=d1(o),n=W(0),s=yd,r=a=>{if(yd===s)return a();var c=sn,h=yd;Dr(null),Mk(s);var g=a();return Dr(c),Mk(h),g};return i&&t.set("length",W(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&lH();var g=t.get(c);return g===void 0?r(()=>{var f=W(h.value);return t.set(c,f),f}):k(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>W(Ms));t.set(c,g),Bf(n)}}else k(h,Ms),Bf(n);return!0},get(a,c,h){var v;if(c===md)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=Ru(a,c))!=null&&v.writable)&&(g=r(()=>{var _=gi(f?a[c]:Ms),w=W(_);return w}),t.set(c,g)),g!==void 0){var p=u(g);return p===Ms?void 0:p}return Reflect.get(a,c,h)},getOwnPropertyDescriptor(a,c){var h=Reflect.getOwnPropertyDescriptor(a,c);if(h&&"value"in h){var g=t.get(c);g&&(h.value=u(g))}else if(h===void 0){var f=t.get(c),p=f==null?void 0:f.v;if(f!==void 0&&p!==Ms)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===md)return!0;var h=t.get(c),g=h!==void 0&&h.v!==Ms||Reflect.has(a,c);if(h!==void 0||rn!==null&&(!g||(p=Ru(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?gi(a[c]):Ms,_=W(v);return _}),t.set(c,h));var f=u(h);if(f===Ms)return!1}return g},set(a,c,h,g){var R;var f=t.get(c),p=c in a;if(i&&c==="length")for(var v=h;v<f.v;v+=1){var _=t.get(v+"");_!==void 0?k(_,Ms):v in a&&(_=r(()=>W(Ms)),t.set(v+"",_))}if(f===void 0)(!p||(R=Ru(a,c))!=null&&R.writable)&&(f=r(()=>W(void 0)),k(f,gi(h)),t.set(c,f));else{p=f.v!==Ms;var w=r(()=>gi(h));k(f,w)}var S=Reflect.getOwnPropertyDescriptor(a,c);if(S!=null&&S.set&&S.set.call(g,h),!p){if(i&&typeof c=="string"){var D=t.get("length"),E=Number(c);Number.isInteger(E)&&E>=D.v&&k(D,E+1)}Bf(n)}return!0},ownKeys(a){u(n);var c=Reflect.ownKeys(a).filter(f=>{var p=t.get(f);return p===void 0||p.v!==Ms});for(var[h,g]of t)g.v!==Ms&&!(h in a)&&c.push(h);return c},setPrototypeOf(){cH()}})}function Ek(o){try{if(o!==null&&typeof o=="object"&&md in o)return o[md]}catch{}return o}function XH(o,e){return Object.is(Ek(o),Ek(e))}var vd,lT,cT,dT,hT;function YH(){if(vd===void 0){vd=window,lT=document,cT=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;dT=Ru(e,"firstChild").get,hT=Ru(e,"nextSibling").get,xk(o)&&(o[kS]=void 0,o[w_]=null,o[IS]=void 0,o.__e=void 0),xk(t)&&(t[bf]=void 0)}}function fl(o=""){return document.createTextNode(o)}function Aa(o){return dT.call(o)}function gm(o){return hT.call(o)}function C(o,e){return Aa(o)}function vt(o,e=!1){{var t=Aa(o);return t instanceof Comment&&t.data===""?gm(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=gm(i);return i}function JH(o){o.textContent=""}function uT(){return!1}function gT(o,e,t){return e==null||e===UP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let Pk=!1;function QH(){Pk||(Pk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[S_])==null||e.call(t)})},{capture:!0}))}function Dy(o){var e=sn,t=rn;Dr(null),qa(null);try{return o()}finally{Dr(e),qa(t)}}function m1(o,e,t,i=t){o.addEventListener(e,()=>Dy(t));const n=o[S_];n?o[S_]=()=>{n(),i(!0)}:o[S_]=()=>i(!0),QH()}function eW(o){rn===null&&(sn===null&&oH(),sH()),Sl&&nH()}function tW(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Tl(o,e){var t=rn;t!==null&&(t.f&yo)!==0&&(o|=yo);var i={ctx:Js,deps:null,nodes:null,f:o|Vs|xr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};hi==null||hi.register_created_effect(i);var n=i;if((o&gg)!==0)yu!==null?yu.push(i):gh.ensure().schedule(i);else if(e!==null){try{_g(i)}catch(r){throw Wo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Bg)===0&&(n=n.first,(o&Jr)!==0&&(o&fg)!==0&&n!==null&&(n.f|=fg))}if(n!==null&&(n.parent=t,t!==null&&tW(n,t),sn!==null&&(sn.f&Qs)!==0&&(o&Pc)===0)){var s=sn;(s.effects??(s.effects=[])).push(n)}return i}function _1(){return sn!==null&&!Qr}function v1(o){const e=Tl(ky,null);return bs(e,Rs),e.teardown=o,e}function Wn(o){eW();var e=rn.f,t=!sn&&(e&ta)!==0&&Js!==null&&!Js.i;if(t){var i=Js;(i.e??(i.e=[])).push(o)}else return fT(o)}function fT(o){return Tl(gg|JF,o)}function iW(o){gh.ensure();const e=Tl(Pc|Bg,o);return(t={})=>new Promise(i=>{t.outro?bd(e,()=>{Wo(e),i(void 0)}):(Wo(e),i(void 0))})}function b1(o){return Tl(gg,o)}function nW(o){return Tl(Au|Bg,o)}function Ey(o,e=0){return Tl(ky|e,o)}function G(o,e=[],t=[],i=[]){jH(i,e,t,n=>{Tl(ky,()=>o(...n.map(u)))})}function y1(o,e=0){var t=Tl(Jr|e,o);return t}function vr(o){return Tl(ta|Bg,o)}function pT(o){var e=o.teardown;if(e!==null){const t=Sl,i=sn;Tk(!0),Dr(null);try{e.call(null)}finally{Tk(t),Dr(i)}}}function w1(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&Dy(()=>{n.abort(Iy)});var i=t.next;(t.f&Pc)!==0?t.parent=null:Wo(t,e),t=i}}function sW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&ta)===0&&Wo(e),e=t}}function Wo(o,e=!0){var t=!1;(e||(o.f&YF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(mT(o.nodes.start,o.nodes.end),t=!0),bs(o,LS),w1(o,e&&!t),fp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();pT(o),o.f^=LS,o.f|=Lr;var n=o.parent;n!==null&&n.first!==null&&_T(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function mT(o,e){for(;o!==null;){var t=o===e?null:gm(o);o.remove(),o=t}}function _T(o){var e=o.parent,t=o.prev,i=o.next;t!==null&&(t.next=i),i!==null&&(i.prev=t),e!==null&&(e.first===o&&(e.first=i),e.last===o&&(e.last=t))}function bd(o,e,t=!0){var i=[];vT(o,i,!0);var n=()=>{t&&Wo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function vT(o,e,t){if((o.f&yo)===0){o.f^=yo;var i=o.nodes&&o.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&e.push(a);for(var n=o.first;n!==null;){var s=n.next;if((n.f&Pc)===0){var r=(n.f&fg)!==0||(n.f&ta)!==0&&(o.f&Jr)!==0;vT(n,e,r?t:!1)}n=s}}}function sv(o){bT(o,!0)}function bT(o,e){if((o.f&yo)!==0){o.f^=yo,(o.f&Rs)===0&&(bs(o,Vs),gh.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&fg)!==0||(t.f&ta)!==0;bT(t,n?e:!1),t=i}var s=o.nodes&&o.nodes.t;if(s!==null)for(const r of s)(r.is_global||e)&&r.in()}}function S1(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:gm(t);e.append(t),t=n}}let k_=!1,Sl=!1;function Tk(o){Sl=o}let sn=null,Qr=!1;function Dr(o){sn=o}let rn=null;function qa(o){rn=o}let za=null;function yT(o){sn!==null&&(za??(za=new Set)).add(o)}let Mo=null,Zo=0,fr=null;function oW(o){fr=o}let wT=1,od=0,yd=od;function Mk(o){yd=o}function ST(){return++wT}function fm(o){var e=o.f;if((e&Vs)!==0)return!0;if(e&Qs&&(o.f&=~uh),(e&$a)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(fm(s)&&sT(s),s.wv>o.wv)return!0}(e&xr)!==0&&Gs===null&&bs(o,Rs)}return!1}function CT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(za!==null&&za.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&Qs)!==0?CT(s,e,!1):e===s&&(t?bs(s,Vs):(s.f&Rs)!==0&&bs(s,$a),g1(s))}}function xT(o){var w;var e=Mo,t=Zo,i=fr,n=sn,s=za,r=Js,a=Qr,c=yd,h=o.f;Mo=null,Zo=0,fr=null,sn=(h&(ta|Pc))===0?o:null,za=null,pg(o.ctx),Qr=!1,yd=++od,o.ac!==null&&(Dy(()=>{o.ac.abort(Iy)}),o.ac=null);try{o.f|=tv;var g=o.fn,f=g();o.f|=Wg;var p=o.deps,v=hi==null?void 0:hi.is_fork;if(Mo!==null){var _;if(v||fp(o,Zo),p!==null&&Zo>0)for(p.length=Zo+Mo.length,_=0;_<Mo.length;_++)p[Zo+_]=Mo[_];else o.deps=p=Mo;if(_1()&&(o.f&xr)!==0)for(_=Zo;_<p.length;_++)((w=p[_]).reactions??(w.reactions=[])).push(o)}else!v&&p!==null&&Zo<p.length&&(fp(o,Zo),p.length=Zo);if(KP()&&fr!==null&&!Qr&&p!==null&&(o.f&(Qs|$a|Vs))===0)for(_=0;_<fr.length;_++)CT(fr[_],o);if(n!==null&&n!==o){if(od++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=od;if(e!==null)for(const S of e)S.rv=od;fr!==null&&(i===null?i=fr:i.push(...fr))}return(o.f&lc)!==0&&(o.f^=lc),f}catch(S){return ZP(S)}finally{o.f^=tv,Mo=e,Zo=t,fr=i,sn=n,za=s,pg(r),Qr=a,yd=c}}function rW(o,e){let t=e.reactions;if(t!==null){var i=UF.call(t,o);if(i!==-1){var n=t.length-1;n===0?t=e.reactions=null:(t[i]=t[n],t.pop())}}if(t===null&&(e.f&Qs)!==0&&(Mo===null||!Q_.call(Mo,e))){var s=e;(s.f&xr)!==0&&(s.f^=xr,s.f&=~uh),s.v!==Ms&&h1(s),KH(s),fp(s,0)}}function fp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)rW(o,t[i])}function _g(o){var e=o.f;if((e&Lr)===0){bs(o,Rs);var t=rn,i=k_;rn=o,k_=!0;try{(e&(Jr|zP))!==0?sW(o):w1(o),pT(o);var n=xT(o);o.teardown=typeof n=="function"?n:null,o.wv=wT;var s;HP&&DH&&(o.f&Vs)!==0&&o.deps}finally{k_=i,rn=t}}}async function I_(){await Promise.resolve(),RH()}function u(o){var e=o.f,t=(e&Qs)!==0;if(sn!==null&&!Qr){var i=rn!==null&&(rn.f&Lr)!==0;if(!i&&(za===null||!za.has(o))){var n=sn.deps;if((sn.f&tv)!==0)o.rv<od&&(o.rv=od,Mo===null&&n!==null&&n[Zo]===o?Zo++:Mo===null?Mo=[o]:Mo.push(o));else{sn.deps??(sn.deps=[]),Q_.call(sn.deps,o)||sn.deps.push(o);var s=o.reactions;s===null?o.reactions=[sn]:Q_.call(s,sn)||s.push(sn)}}}if(Sl&&_d.has(o))return _d.get(o);if(t){var r=o;if(Sl){var a=r.v;return((r.f&Rs)===0&&r.reactions!==null||kT(r))&&(a=p1(r)),_d.set(r,a),a}var c=(r.f&xr)===0&&!Qr&&sn!==null&&(k_||(sn.f&xr)!==0),h=(r.f&Wg)===0;fm(r)&&(c&&(r.f|=xr),sT(r)),c&&!h&&(oT(r),LT(r))}if(Gs!=null&&Gs.has(o))return Gs.get(o);if((o.f&lc)!==0)throw o.v;return o.v}function LT(o){if(o.f|=xr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&Qs)!==0&&(e.f&xr)===0&&(oT(e),LT(e))}function kT(o){if(o.v===Ms)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(_d.has(e)||(e.f&Qs)!==0&&kT(e))return!0;return!1}function Ml(o){var e=Qr;try{return Qr=!0,o()}finally{Qr=e}}const aW=["touchstart","touchmove"];function lW(o){return aW.includes(o)}const rd=Symbol("events"),IT=new Set,RS=new Set;function cW(o,e,t,i={}){function n(s){if(i.capture||AS.call(e,s),!s.cancelBubble)return Dy(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?cc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function ds(o,e,t,i,n){var s={capture:i,passive:n},r=cW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&v1(()=>{e.removeEventListener(o,r,s)})}function J(o,e,t){(e[rd]??(e[rd]={}))[o]=t}function Tr(o){for(var e=0;e<o.length;e++)IT.add(o[e]);for(var t of RS)t(o)}let Nk=null;function AS(o){var w,S;var e=this,t=e.ownerDocument,i=o.type,n=((w=o.composedPath)==null?void 0:w.call(o))||[],s=n[0]||o.target;Nk=o;var r=0,a=Nk===o&&o[rd];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[rd]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){$F(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=sn,f=rn;Dr(null),qa(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[rd])==null?void 0:S[i];_!=null&&(!s.disabled||o.target===s)&&_.call(s,o)}catch(D){p?v.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of v)queueMicrotask(()=>{throw D});throw p}}finally{o[rd]=e,delete o.currentTarget,Dr(g),qa(f)}}}var aE;const yw=((aE=globalThis==null?void 0:globalThis.window)==null?void 0:aE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function dW(o){return(yw==null?void 0:yw.createHTML(o))??o}function DT(o){var e=gT("template");return e.innerHTML=dW(o.replaceAll("<!>","<!---->")),e.content}function ph(o,e){var t=rn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function M(o,e){var t=(e&yH)!==0,i=(e&wH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=DT(s?o:"<!>"+o),t||(n=Aa(n)));var r=i||cT?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Aa(r),c=r.lastChild;ph(a,c)}else ph(r,r);return r}}function hW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=DT(n),a=Aa(r);s=Aa(a)}var c=s.cloneNode(!0);return ph(c,c),c}}function ET(o,e){return hW(o,e,"svg")}function ea(o=""){{var e=fl(o+"");return ph(e,e),e}}function js(){var o=document.createDocumentFragment(),e=document.createComment(""),t=fl();return o.append(e,t),ph(e,t),o}function T(o,e){o!==null&&o.before(e)}function $(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[bf]??(o[bf]=o.nodeValue))&&(o[bf]=t,o.nodeValue=`${t}`)}function uW(o,e){return gW(o,e)}const Vm=new Map;function gW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){YH();var c=void 0,h=iW(()=>{var g=t??e.appendChild(fl());HH(g,{pending:()=>{}},v=>{Vo({});var _=Js;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},jo()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var w=v[_];if(!f.has(w)){f.add(w);var S=lW(w);for(const R of[e,document]){var D=Vm.get(R);D===void 0&&(D=new Map,Vm.set(R,D));var E=D.get(w);E===void 0?(R.addEventListener(w,AS,{passive:S}),D.set(w,1)):D.set(w,E+1)}}}};return p(xy(IT)),RS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=Vm.get(D),w=_.get(v);--w==0?(D.removeEventListener(v,AS),_.delete(v),_.size===0&&Vm.delete(D)):_.set(v,w)}RS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return fW.set(c,h),c}let fW=new WeakMap;var Vr,Ia,Jo,ud,Kp,Gp,gb;class pW{constructor(e,t=!0){Ui(this,"anchor");Ri(this,Vr,new Map);Ri(this,Ia,new Map);Ri(this,Jo,new Map);Ri(this,ud,new Set);Ri(this,Kp,!0);Ri(this,Gp,e=>{if(te(this,Vr).has(e)){var t=te(this,Vr).get(e),i=te(this,Ia).get(t);if(i)sv(i),te(this,ud).delete(t);else{var n=te(this,Jo).get(t);n&&(sv(n.effect),te(this,Ia).set(t,n.effect),te(this,Jo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of te(this,Vr)){if(te(this,Vr).delete(s),s===e)break;const a=te(this,Jo).get(r);a&&(Wo(a.effect),te(this,Jo).delete(r))}for(const[s,r]of te(this,Ia)){if(s===t||te(this,ud).has(s))continue;const a=()=>{if(Array.from(te(this,Vr).values()).includes(s)){var h=document.createDocumentFragment();S1(r,h),h.append(fl()),te(this,Jo).set(s,{effect:r,fragment:h})}else Wo(r);te(this,ud).delete(s),te(this,Ia).delete(s)};te(this,Kp)||!i?(te(this,ud).add(s),bd(r,a,!1)):a()}}});Ri(this,gb,e=>{te(this,Vr).delete(e);const t=Array.from(te(this,Vr).values());for(const[i,n]of te(this,Jo))t.includes(i)||(Wo(n.effect),te(this,Jo).delete(i))});this.anchor=e,Ai(this,Kp,t)}ensure(e,t){var i=hi,n=uT();if(t&&!te(this,Ia).has(e)&&!te(this,Jo).has(e))if(n){var s=document.createDocumentFragment(),r=fl();s.append(r),te(this,Jo).set(e,{effect:vr(()=>t(r)),fragment:s})}else te(this,Ia).set(e,vr(()=>t(this.anchor)));if(te(this,Vr).set(i,e),n){for(const[a,c]of te(this,Ia))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of te(this,Jo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(te(this,Gp)),i.ondiscard(te(this,gb))}else te(this,Gp).call(this,i)}}Vr=new WeakMap,Ia=new WeakMap,Jo=new WeakMap,ud=new WeakMap,Kp=new WeakMap,Gp=new WeakMap,gb=new WeakMap;function U(o,e,t=!1){var i=new pW(o),n=t?fg:0;function s(r,a){i.ensure(r,a)}y1(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function Mn(o,e){return e}function mW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];bd(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;OS(o,xy(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var c=i.length===0&&t!==null;if(c){var h=t,g=h.parentNode;JH(g),g.append(h),o.items.clear()}OS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function OS(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Ra;const r=document.createDocumentFragment();S1(s,r)}else Wo(e[n],t)}}var Rk;function di(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&jP)!==0;if(c){var h=o;r=h.appendChild(fl())}var g=null,f=f1(()=>{var R=t();return d1(R)?R:R==null?[]:xy(R)}),p,v=new Map,_=!0;function w(R){(E.effect.f&Lr)===0&&(E.pending.delete(R),E.fallback=g,_W(E,p,r,e,i),g!==null&&(p.length===0?(g.f&Ra)===0?sv(g):(g.f^=Ra,Sf(g,null,r)):bd(g,()=>{g=null})))}function S(R){E.pending.delete(R)}var D=y1(()=>{p=u(f);for(var R=p.length,z=new Set,H=hi,ee=uT(),X=0;X<R;X+=1){var fe=p[X],Le=i(fe,X),Ue=_?null:a.get(Le);Ue?(Ue.v&&mg(Ue.v,fe),Ue.i&&mg(Ue.i,X),ee&&H.unskip_effect(Ue.e)):(Ue=vW(a,_?r:Rk??(Rk=fl()),fe,Le,X,n,e,t),_||(Ue.e.f|=Ra),a.set(Le,Ue)),z.add(Le)}if(R===0&&s&&!g&&(_?g=vr(()=>s(r)):(g=vr(()=>s(Rk??(Rk=fl()))),g.f|=Ra)),R>z.size&&iH(),!_)if(v.set(H,z),ee){for(const[xe,pt]of a)z.has(xe)||H.skip_effect(pt.e);H.oncommit(w),H.ondiscard(S)}else w(H);u(f)}),E={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function cf(o){for(;o!==null&&(o.f&ta)===0;)o=o.next;return o}function _W(o,e,t,i,n){var Ue,xe,pt,kt,dt,oi,jt,ti,Ge;var s=(i&fH)!==0,r=e.length,a=o.items,c=cf(o.effect.first),h,g=null,f,p=[],v=[],_,w,S,D;if(s)for(D=0;D<r;D+=1)_=e[D],w=n(_,D),S=a.get(w).e,(S.f&Ra)===0&&((xe=(Ue=S.nodes)==null?void 0:Ue.a)==null||xe.measure(),(f??(f=new Set)).add(S));for(D=0;D<r;D+=1){if(_=e[D],w=n(_,D),S=a.get(w).e,o.outrogroups!==null)for(const Je of o.outrogroups)Je.pending.delete(S),Je.done.delete(S);if((S.f&yo)!==0&&(sv(S),s&&((kt=(pt=S.nodes)==null?void 0:pt.a)==null||kt.unfix(),(f??(f=new Set)).delete(S))),(S.f&Ra)!==0)if(S.f^=Ra,S===c)Sf(S,null,t);else{var E=g?g.next:c;S===o.effect.last&&(o.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),Wl(o,g,S),Wl(o,S,E),Sf(S,E,t),g=S,p=[],v=[],c=cf(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var R=v[0],z;g=R.prev;var H=p[0],ee=p[p.length-1];for(z=0;z<p.length;z+=1)Sf(p[z],R,t);for(z=0;z<v.length;z+=1)h.delete(v[z]);Wl(o,H.prev,ee.next),Wl(o,g,H),Wl(o,ee,R),c=R,g=ee,D-=1,p=[],v=[]}else h.delete(S),Sf(S,c,t),Wl(o,S.prev,S.next),Wl(o,S,g===null?o.effect.first:g.next),Wl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=cf(c.next);if(c===null)continue}(S.f&Ra)===0&&p.push(S),g=S,c=cf(S.next)}if(o.outrogroups!==null){for(const Je of o.outrogroups)Je.pending.size===0&&(OS(o,xy(Je.done)),(dt=o.outrogroups)==null||dt.delete(Je));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||h!==void 0){var X=[];if(h!==void 0)for(S of h)(S.f&yo)===0&&X.push(S);for(;c!==null;)(c.f&yo)===0&&c!==o.fallback&&X.push(c),c=cf(c.next);var fe=X.length;if(fe>0){var Le=(i&jP)!==0&&r===0?t:null;if(s){for(D=0;D<fe;D+=1)(jt=(oi=X[D].nodes)==null?void 0:oi.a)==null||jt.measure();for(D=0;D<fe;D+=1)(Ge=(ti=X[D].nodes)==null?void 0:ti.a)==null||Ge.fix()}mW(o,X,Le)}}s&&cc(()=>{var Je,Ae;if(f!==void 0)for(S of f)(Ae=(Je=S.nodes)==null?void 0:Je.a)==null||Ae.apply()})}function vW(o,e,t,i,n,s,r,a){var c=(r&uH)!==0?(r&pH)===0?GH(t,!1,!1):fh(t):null,h=(r&gH)!==0?fh(n):null;return{v:c,i:h,e:vr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function Sf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ra)===0?e.nodes.start:t;i!==null;){var r=gm(i);if(s.before(i),i===n)return;i=r}}function Wl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function ic(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;G(()=>{var h=rn;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&ph(Aa(c),c.lastChild);return}if(h.nodes!==null&&(mT(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?SH:n?CH:void 0,f=gT(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(ph(Aa(p),p.lastChild),i||n)for(;Aa(p);)r.before(Aa(p));else r.before(p)}}})}const Ak=[...`
|
|
3
|
-
\r\f \v\uFEFF`];function bW(o,e,t){var i=o==null?"":""+o;if(e&&(i=i?i+" "+e:e),t){for(var n of Object.keys(t))if(t[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,r=0;(r=i.indexOf(n,r))>=0;){var a=r+s;(r===0||Ak.includes(i[r-1]))&&(a===i.length||Ak.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function Ok(o,e=!1){var t=e?" !important;":";",i="";for(var n of Object.keys(o)){var s=o[n];s!=null&&s!==""&&(i+=" "+n+": "+s+t)}return i}function ww(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function yW(o,e){if(e){var t="",i,n;if(Array.isArray(e)?(i=e[0],n=e[1]):i=e,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,r=0,a=!1,c=[];i&&c.push(...Object.keys(i).map(ww)),n&&c.push(...Object.keys(n).map(ww));var h=0,g=-1;const w=o.length;for(var f=0;f<w;f++){var p=o[f];if(a?p==="/"&&o[f-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[f+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&g===-1)g=f;else if(p===";"||f===w-1){if(g!==-1){var v=ww(o.substring(h,g).trim());if(!c.includes(v)){p!==";"&&f++;var _=o.substring(h,f).trim();t+=" "+_+";"}}h=f+1,g=-1}}}}return i&&(t+=Ok(i)),n&&(t+=Ok(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Kt(o,e,t,i,n,s){var r=o[kS];if(r!==t||r===void 0){var a=bW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[kS]=t}else if(s&&n!==s)for(var c in s){var h=!!s[c];(n==null||h!==!!n[c])&&o.classList.toggle(c,h)}return s}function Sw(o,e={},t,i){for(var n in t){var s=t[n];e[n]!==s&&(t[n]==null?o.style.removeProperty(n):o.style.setProperty(n,s,i))}}function Ro(o,e,t,i){var n=o[IS];if(n!==e){var s=yW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[IS]=e}else i&&(Array.isArray(i)?(Sw(o,t==null?void 0:t[0],i[0]),Sw(o,t==null?void 0:t[1],i[1],"important")):Sw(o,t,i));return i}function PT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!d1(e))return LH();for(var i of o.options)i.selected=e.includes(zf(i));return}for(i of o.options){var n=zf(i);if(XH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function wW(o){var e=new MutationObserver(()=>{PT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),v1(()=>{e.disconnect()})}function $r(o,e,t=e){var i=new WeakSet,n=!0;m1(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),zf);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&zf(c)}t(a),o.__value=a,hi!==null&&i.add(hi)}),b1(()=>{var s=e();if(o===document.activeElement){var r=hi;if(i.has(r))return}if(PT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=zf(a),t(s))}o.__value=s,n=!1}),wW(o)}function zf(o){return"__value"in o?o.__value:o.value}const SW=Symbol("is custom element"),CW=Symbol("is html");function jm(o,e){var t=TT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function vn(o,e,t,i){var n=TT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[eH]=t),t==null?o.removeAttribute(e):typeof t!="string"&&xW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function TT(o){return o[w_]??(o[w_]={[SW]:o.nodeName.includes("-"),[CW]:o.namespaceURI===UP})}var Fk=new Map;function xW(o){var e=o.getAttribute("is")||o.nodeName,t=Fk.get(e);if(t)return t;Fk.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=qF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=WP(n)}return t}function ki(o,e,t=e){var i=new WeakSet;m1(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Cw(o)?xw(s):s,t(s),hi!==null&&i.add(hi),await I_(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var h=o.value.length;r===a&&a===c&&h>c?(o.selectionStart=h,o.selectionEnd=h):(o.selectionStart=r,o.selectionEnd=Math.min(a,h))}}}),Ml(e)==null&&o.value&&(t(Cw(o)?xw(o.value):o.value),hi!==null&&i.add(hi)),Ey(()=>{var n=e();if(o===document.activeElement){var s=hi;if(i.has(s))return}Cw(o)&&n===xw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function zs(o,e,t=e){m1(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Ml(e)==null&&t(o.checked),Ey(()=>{var i=e();o.checked=!!i})}function Cw(o){var e=o.type;return e==="number"||e==="range"}function xw(o){return o===""?null:+o}var Ql,qu,Zp,fb,MT;const pb=class pb{constructor(e){Ri(this,fb);Ri(this,Ql,new WeakMap);Ri(this,qu);Ri(this,Zp);Ai(this,Zp,e)}observe(e,t){var i=te(this,Ql).get(e)||new Set;return i.add(t),te(this,Ql).set(e,i),Tn(this,fb,MT).call(this).observe(e,te(this,Zp)),()=>{var n=te(this,Ql).get(e);n.delete(t),n.size===0&&(te(this,Ql).delete(e),te(this,qu).unobserve(e))}}};Ql=new WeakMap,qu=new WeakMap,Zp=new WeakMap,fb=new WeakSet,MT=function(){return te(this,qu)??Ai(this,qu,new ResizeObserver(e=>{for(var t of e){pb.entries.set(t.target,t);for(var i of te(this,Ql).get(t.target)||[])i(t)}}))},Ui(pb,"entries",new WeakMap);let FS=pb;var LW=new FS({box:"border-box"});function kW(o,e,t){var i=LW.observe(o,()=>t(o[e]));b1(()=>(Ml(()=>t(o[e])),i))}function Lw(o,e){return o===e||(o==null?void 0:o[md])===e}function xs(o={},e,t,i){var n=Js.r,s=rn;return b1(()=>{var r,a;return Ey(()=>{r=a,a=[],Ml(()=>{Lw(t(...a),o)||(e(o,...a),r&&Lw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&LS;)c=c.parent;const h=()=>{a&&Lw(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function vg(o,e,t,i){var z;var n=!0,s=(t&vH)!==0,r=(t&bH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=gp(i)),u(h)):(c&&(c=!1,a=r?Ml(i):i),a);let f;if(s){var p=md in o||QF in o;f=((z=Ru(o,e))==null?void 0:z.set)??(p&&e in o?H=>o[e]=H:void 0)}var v,_=!1;s?[v,_]=TH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(aH(),f(v)));var w;if(w=()=>{var H=o[e];return H===void 0?g():(c=!0,H)},(t&_H)===0)return w;if(f){var S=o.$$legacy;return(function(H,ee){return arguments.length>0?((!ee||S||_)&&f(ee?w():H),H):w()})}var D=!1,E=((t&mH)!==0?gp:f1)(()=>(D=!1,w()));s&&u(E);var R=rn;return(function(H,ee){if(arguments.length>0){const X=ee?u(E):s?gi(H):H;return k(E,X),D=!0,a!==void 0&&(a=X),H}return Sl&&D||(R.f&Lr)!==0?E.v:u(E)})}function Mr(o){Js===null&&VP(),Wn(()=>{const e=Ml(o);if(typeof e=="function")return e})}function Py(o){Js===null&&VP(),Mr(()=>()=>Ml(o))}const IW="5";var lE;typeof window<"u"&&((lE=window.__svelte??(window.__svelte={})).v??(lE.v=new Set)).add(IW);/*!-----------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
|
6
|
-
* Released under the MIT license
|
|
7
|
-
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
8
|
-
*-----------------------------------------------------------------------------*/var DW=Object.defineProperty,EW=Object.getOwnPropertyDescriptor,PW=Object.getOwnPropertyNames,TW=Object.prototype.hasOwnProperty,MW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of PW(e))!TW.call(o,n)&&n!==t&&DW(o,n,{get:()=>e[n],enumerable:!(i=EW(e,n))||i.enumerable});return o},NW=(o,e,t)=>(MW(o,e,"default"),t),pm={};NW(pm,dE);var RW=class{constructor(e,t,i){this._onDidChange=new pm.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},AW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},OW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},NT=new RW("json",AW,OW),FW=()=>RT().then(o=>o.getWorker());pm.languages.json={jsonDefaults:NT,getWorker:FW};function RT(){return cE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}pm.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});pm.languages.onLanguage("json",()=>{RT().then(o=>o.setupMode(NT))});/*!-----------------------------------------------------------------------------
|
|
9
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
10
|
-
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
|
11
|
-
* Released under the MIT license
|
|
12
|
-
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
13
|
-
*-----------------------------------------------------------------------------*/var HW=Object.defineProperty,WW=Object.getOwnPropertyDescriptor,BW=Object.getOwnPropertyNames,zW=Object.prototype.hasOwnProperty,VW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of BW(e))!zW.call(o,n)&&n!==t&&HW(o,n,{get:()=>e[n],enumerable:!(i=WW(e,n))||i.enumerable});return o},jW=(o,e,t)=>(VW(o,e,"default"),t),UW="5.4.5",bg={};jW(bg,dE);var AT=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(AT||{}),OT=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(OT||{}),FT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(FT||{}),HT=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(HT||{}),WT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(WT||{}),BT=class{constructor(o,e,t,i,n){this._onDidChange=new bg.Emitter,this._onDidExtraLibsChange=new bg.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},$W=UW,zT={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},VT=new BT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},zT),jT=new BT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},zT),qW=()=>Ty().then(o=>o.getTypeScriptWorker()),KW=()=>Ty().then(o=>o.getJavaScriptWorker());bg.languages.typescript={ModuleKind:AT,JsxEmit:OT,NewLineKind:FT,ScriptTarget:HT,ModuleResolutionKind:WT,typescriptVersion:$W,typescriptDefaults:VT,javascriptDefaults:jT,getTypeScriptWorker:qW,getJavaScriptWorker:KW};function Ty(){return cE(()=>import("./tsMode-ChiZSjhq.js"),__vite__mapDeps([3,1,2]))}bg.languages.onLanguage("typescript",()=>Ty().then(o=>o.setupTypeScript(VT)));bg.languages.onLanguage("javascript",()=>Ty().then(o=>o.setupJavaScript(jT)));class GW extends uo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:It("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:ei.map,toggled:le.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:le.has("isInDiffEditor"),menu:{when:le.has("isInDiffEditor"),id:ct.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(An),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class UT extends uo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:It("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:le.has("isInDiffEditor")})}run(e,...t){const i=e.get(An),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class $T extends uo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:It("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:le.has("isInDiffEditor")})}run(e,...t){const i=e.get(An),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const mm=It("diffEditor","Diff Editor");class ZW extends ia{constructor(){super({id:"diffEditor.switchSide",title:It("switchSide","Switch Side"),icon:ei.arrowSwap,precondition:le.has("isInDiffEditor"),f1:!0,category:mm})}runEditorCommand(e,t,i){const n=zg(e);if(n instanceof Xp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class XW extends ia{constructor(){super({id:"diffEditor.exitCompareMove",title:It("exitCompareMove","Exit Compare Move"),icon:ei.close,precondition:N.comparingMovedCode,f1:!1,category:mm,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=zg(e);n instanceof Xp&&n.exitCompareMove()}}class YW extends ia{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:It("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:ei.fold,precondition:le.has("isInDiffEditor"),f1:!0,category:mm})}runEditorCommand(e,t,...i){const n=zg(e);n instanceof Xp&&n.collapseAllUnchangedRegions()}}class JW extends ia{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:It("showAllUnchangedRegions","Show All Unchanged Regions"),icon:ei.unfold,precondition:le.has("isInDiffEditor"),f1:!0,category:mm})}runEditorCommand(e,t,...i){const n=zg(e);n instanceof Xp&&n.showAllUnchangedRegions()}}class HS extends uo{constructor(){super({id:"diffEditor.revert",title:It("revert","Revert"),f1:!1,category:mm})}run(e,t){const i=QW(e,t.originalUri,t.modifiedUri);i instanceof Xp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const qT=It("accessibleDiffViewer","Accessible Diff Viewer"),mb=class mb extends uo{constructor(){super({id:mb.id,title:It("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:qT,precondition:le.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=zg(e);t==null||t.accessibleDiffViewerNext()}};mb.id="editor.action.accessibleDiffViewer.next";let pp=mb;const _b=class _b extends uo{constructor(){super({id:_b.id,title:It("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:qT,precondition:le.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=zg(e);t==null||t.accessibleDiffViewerPrev()}};_b.id="editor.action.accessibleDiffViewer.prev";let ov=_b;function QW(o,e,t){return o.get(rs).listDiffEditors().find(s=>{var c,h;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((h=a.getModel())==null?void 0:h.uri.toString())===e.toString()})||null}function zg(o){const t=o.get(rs).listDiffEditors(),i=hE();if(i)for(const n of t){const s=n.getContainerDomNode();if(e3(s,i))return n}return null}function e3(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}an(GW);an(UT);an($T);kr.appendMenuItem(ct.EditorTitle,{command:{id:new $T().desc.id,title:y("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:le.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:le.has("isInDiffEditor")},order:11,group:"1_diff",when:le.and(N.diffEditorRenderSideBySideInlineBreakpointReached,le.has("isInDiffEditor"))});kr.appendMenuItem(ct.EditorTitle,{command:{id:new UT().desc.id,title:y("showMoves","Show Moved Code Blocks"),icon:ei.move,toggled:hA.create("config.diffEditor.experimental.showMoves",!0),precondition:le.has("isInDiffEditor")},order:10,group:"1_diff",when:le.has("isInDiffEditor")});an(HS);for(const o of[{icon:ei.arrowRight,key:N.diffEditorInlineMode.toNegated()},{icon:ei.discard,key:N.diffEditorInlineMode}])kr.appendMenuItem(ct.DiffEditorHunkToolbar,{command:{id:new HS().desc.id,title:y("revertHunk","Revert Block"),icon:o.icon},when:le.and(N.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),kr.appendMenuItem(ct.DiffEditorSelectionToolbar,{command:{id:new HS().desc.id,title:y("revertSelection","Revert Selection"),icon:o.icon},when:le.and(N.diffEditorModifiedWritable,o.key),order:5,group:"primary"});an(ZW);an(XW);an(YW);an(JW);kr.appendMenuItem(ct.EditorTitle,{command:{id:pp.id,title:y("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:le.has("isInDiffEditor")},order:10,group:"2_diff",when:le.and(N.accessibleDiffViewerVisible.negate(),le.has("isInDiffEditor"))});kn.registerCommandAlias("editor.action.diffReview.next",pp.id);an(pp);kn.registerCommandAlias("editor.action.diffReview.prev",ov.id);an(ov);var t3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},i3=function(o,e){return function(t,i){e(t,i,o)}},WS;const My=new Oi("selectionAnchorSet",!1);var xd;let Tc=(xd=class{static get(e){return e.getContribution(WS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=My.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Gt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ks().appendText(y("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ir(y("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Gt.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},WS=xd,xd.ID="editor.contrib.selectionAnchorController",xd);Tc=WS=t3([i3(1,qi)],Tc);class n3 extends Ce{constructor(){super({id:"editor.action.setSelectionAnchor",label:y("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2080),weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.setSelectionAnchor()}}class s3 extends Ce{constructor(){super({id:"editor.action.goToSelectionAnchor",label:y("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:My})}async run(e,t){var i;(i=Tc.get(t))==null||i.goToSelectionAnchor()}}class o3 extends Ce{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:y("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:My,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2089),weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.selectFromAnchorToCursor()}}class r3 extends Ce{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:y("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:My,kbOpts:{kbExpr:N.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.cancelSelectionAnchor()}}yi(Tc.ID,Tc,4);oe(n3);oe(s3);oe(o3);oe(r3);const a3=Ct("editorOverviewRuler.bracketMatchForeground","#A0A0A0",y("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class l3 extends Ce{constructor(){super({id:"editor.action.jumpToBracket",label:y("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=mh.get(t))==null||i.jumpToBracket()}}class c3 extends Ce{constructor(){super({id:"editor.action.selectToBracket",label:y("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:It("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=mh.get(t))==null||s.selectToBracket(n)}}class d3 extends Ce{constructor(){super({id:"editor.action.removeBrackets",label:y("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=mh.get(t))==null||i.removeBrackets(this.id)}}class h3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ql=class ql extends je{static get(e){return e.getContribution(ql.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new _s(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const c=e.bracketPairs.findNextBracket(n);c&&c.range&&(r=c.range.getStartPosition())}}return r?new Gt(r.lineNumber,r.column,r.lineNumber,r.column):new Gt(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const h=t.bracketPairs.findNextBracket(s);h&&h.range&&(r=t.bracketPairs.matchBracket(h.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(B.compareRangesUsingStarts);const[h,g]=r;if(a=e?h.getStartPosition():h.getEndPosition(),c=e?g.getEndPosition():g.getStartPosition(),g.containsPosition(s)){const f=a;a=c,c=f}}a&&c&&i.push(new Gt(a.lineNumber,a.column,c.lineNumber,c.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let f=0,p=e.length;f<p;f++){const v=e[f];v.isEmpty()&&(s[r++]=v.getStartPosition())}s.length>1&&s.sort(Pt.compare);const a=[];let c=0,h=0;const g=n.length;for(let f=0,p=s.length;f<p;f++){const v=s[f];for(;h<g&&n[h].position.isBefore(v);)h++;if(h<g&&n[h].position.equals(v))a[c++]=n[h];else{let _=t.bracketPairs.matchBracket(v,20),w=ql._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),w=ql._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new h3(v,_,w)}}this._lastBracketsData=a,this._lastVersionId=i}};ql.ID="editor.contrib.bracketMatchingController",ql._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Ei.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:fs(a3),position:Ha.Center}}),ql._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Ei.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let mh=ql;yi(mh.ID,mh,1);oe(c3);oe(l3);oe(d3);kr.appendMenuItem(ct.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:y({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class u3{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new B(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,s,i,s),a)}else{const r=new B(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Gt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Gt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class KT extends Ce{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new u3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class g3 extends KT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:y("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:N.writable})}}class f3 extends KT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:y("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:N.writable})}}oe(g3);oe(f3);class p3 extends Ce{constructor(){super({id:"editor.action.transposeLetters",label:y("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,c=r.startColumn,h=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&h===2))continue;const g=c===h?r.getPosition():hw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=hw.leftPosition(i,g),p=hw.leftPosition(i,f),v=i.getValueInRange(B.fromPositions(p,f)),_=i.getValueInRange(B.fromPositions(f,g)),w=B.fromPositions(p,g);n.push(new Yp(w,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}oe(p3);const Ny=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function C1(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function m3(o,e,t){const i={id:Ny(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class GT{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return hl.some(this,([i,n])=>n.asFile())&&t.push("files"),XT(rv(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return rv(e)}}function rv(o){return o.toLowerCase()}function ZT(o,e){return XT(rv(o),e.map(rv))}function XT(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const Ry=Object.freeze({create:o=>uE(o.map(e=>e.toString())).join(`\r
|
|
14
|
-
`),split:o=>o.split(`\r
|
|
15
|
-
`),parse:o=>Ry.split(o).filter(e=>!e.startsWith("#"))}),Sa=class Sa{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+Sa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Sa((this.value?[this.value,...e]:e).join(Sa.sep))}};Sa.sep=".",Sa.None=new Sa("@@none@@"),Sa.Empty=new Sa("");let Rn=Sa;const Hk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class _3{}const v3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};na.add(v3.DragAndDropContribution,new _3);const Jf=class Jf{constructor(){}static getInstance(){return Jf.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Jf.INSTANCE=new Jf;let BS=Jf;function YT(o){const e=new GT;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,C1(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,b3(n))}}return e}function b3(o){const e=o.path?gn.parse(o.path):void 0;return m3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const y3=Object.freeze([Hk.EDITORS,Hk.FILES,cS.RESOURCES,cS.INTERNAL_URI_LIST]);function JT(o,e=!1){const t=YT(o),i=t.get(cS.INTERNAL_URI_LIST);if(i)t.replace(Ps.uriList,i);else if(e||!t.has(Ps.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(gn.file(a).toString()):n.push(gn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ps.uriList,C1(Ry.create(n)))}for(const n of y3)t.delete(n);return t}var x1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mp=function(o,e){return function(t,i){e(t,i,o)}};class L1{async provideDocumentPasteEdits(e,t,i,n,s){const r=await this.getEdit(i,s);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}const Qf=class Qf extends L1{constructor(){super(...arguments),this.kind=Qf.kind,this.dropMimeTypes=[Ps.text],this.pasteMimeTypes=[Ps.text]}async getEdit(e,t){const i=e.get(Ps.text);if(!i||e.has(Ps.uriList))return;const n=await i.asString();return{handledMimeType:Ps.text,title:y("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Qf.id="text",Qf.kind=new Rn("text.plain");let _h=Qf;class QT extends L1{constructor(){super(...arguments),this.kind=new Rn("uri.absolute"),this.dropMimeTypes=[Ps.uriList],this.pasteMimeTypes=[Ps.uriList]}async getEdit(e,t){const i=await eM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===ro.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?y("defaultDropProvider.uriList.uris","Insert Uris"):y("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?y("defaultDropProvider.uriList.paths","Insert Paths"):y("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Ps.uriList,insertText:s,title:r,kind:this.kind}}}let av=class extends L1{constructor(e){super(),this._workspaceContextService=e,this.kind=new Rn("uri.relative"),this.dropMimeTypes=[Ps.uriList],this.pasteMimeTypes=[Ps.uriList]}async getEdit(e,t){const i=await eM(e);if(!i.length||t.isCancellationRequested)return;const n=_l(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?uA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ps.uriList,insertText:n.join(" "),title:i.length>1?y("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):y("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};av=x1([mp(0,ng)],av);class w3{constructor(){this.kind=new Rn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ps.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==dS.PasteAs&&!((c=n.only)!=null&&c.contains(this.kind)))return;const r=i.get("text/html"),a=await(r==null?void 0:r.asString());if(!(!a||s.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:y("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function eM(o){const e=o.get(Ps.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of Ry.parse(t))try{i.push({uri:gn.parse(n),originalText:n})}catch{}return i}let zS=class extends je{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new _h)),this._register(e.documentDropEditProvider.register("*",new QT)),this._register(e.documentDropEditProvider.register("*",new av(t)))}};zS=x1([mp(0,Tt),mp(1,ng)],zS);let VS=class extends je{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new _h)),this._register(e.documentPasteEditProvider.register("*",new QT)),this._register(e.documentPasteEditProvider.register("*",new av(t))),this._register(e.documentPasteEditProvider.register("*",new w3))}};VS=x1([mp(0,Tt),mp(1,ng)],VS);const dr=class dr{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),n;if(n=dr._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(dr.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(dr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(dr.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(dr.isVariableCharacter(i)||dr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}n=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof dr._table[i]>"u"&&!dr.isDigitCharacter(i)&&!dr.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};dr._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let jS=dr;class Vg{constructor(){this._children=[]}appendChild(e){return e instanceof bo&&this._children[this._children.length-1]instanceof bo?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,(function r(a,c){for(const h of a)h.parent=c,r(h.children,h)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof _m)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let bo=class tM extends Vg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new tM(this.value)}};class iM extends Vg{}class ir extends iM{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof jg?this._children[0]:void 0}clone(){const e=new ir(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class jg extends Vg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof bo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new jg;return this.options.forEach(e.appendChild,e),e}}class k1 extends Vg{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(s=>s instanceof jr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof jr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new k1;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class jr extends Vg{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,n)=>n===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new jr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class _p extends iM{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new bo(t)],!0):!1}clone(){const e=new _p(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Wk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class _m extends Vg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof ir&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){const{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(n=>n===e?(i=!0,!1):(t+=n.len(),!0)),i?t:-1}fullLen(e){let t=0;return Wk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ir&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof _p&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new _m;return this._children=this.children.map(t=>t.clone()),e}walk(e){Wk(this.children,e)}}class vh{constructor(){this._scanner=new jS,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new _m;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk(c=>(c instanceof ir&&(c.isFinalTabstop?n.set(0,void 0):!n.has(c.index)&&c.children.length>0?n.set(c.index,c.children):s.push(c)),!0));const r=(c,h)=>{const g=n.get(c.index);if(!g)return;const f=new ir(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof ir&&n.has(v.index)&&!h.has(v.index)&&(h.add(v.index),r(v,h),h.delete(v.index))}t.replace(c,[f])},a=new Set;for(const c of s)r(c,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(s=>s.index===0)||e.appendChild(new ir(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const n=this._scanner.next();if(n.type!==0&&n.type!==4&&n.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new bo(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new ir(Number(t)):new _p(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const s=new ir(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new bo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new jg;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(r),this._accept(4)))return e.appendChild(s),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(t),!1;i.push(n)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new bo(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const s=new _p(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new bo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseTransform(e){const t=new k1;let i="",n="";for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,i+=s;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(5,!0)||this._accept(6,!0)||s,t.appendChild(new bo(s));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new jr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new jr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){const s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new jr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new jr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new jr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){const s=this._until(1);if(s){const r=this._until(4);if(r)return e.appendChild(new jr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new jr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new bo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function nM(o,e,t){var i,n;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:((i=t.additionalEdit)==null?void 0:i.edits)??[]}:{edits:[...e.map(s=>new gA(o,{range:s,text:typeof t.insertText=="string"?vh.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function sM(o){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}const t=new Map;for(const r of o)for(const a of r.yieldTo??[])for(const c of o)if(c!==r&&e(a,c)){let h=t.get(r);h||(h=[],t.set(r,h)),h.push(c)}if(!t.size)return Array.from(o);const i=new Set,n=[];function s(r){if(!r.length)return[];const a=r[0];if(n.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return s(r.slice(1));let c=[];const h=t.get(a);return h&&(n.push(a),c=s(h),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var S3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},C3=function(o,e){return function(t,i){e(t,i,o)}};const x3=Ei.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:gE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),vb=class vb extends je{constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=St(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=St("span.icon");this.domNode.append(t),t.classList.add(...Xi.asClassNameArray(ei.loading),"codicon-modifier-spin");const i=()=>{const n=this.editor.getOption(67);this.domNode.style.height=`${n}px`,this.domNode.style.width=`${Math.ceil(.8*n)}px`};i(),this._register(this.editor.onDidChangeConfiguration(n=>{(n.hasChanged(52)||n.hasChanged(67))&&i()})),this._register($i(this.domNode,Un.CLICK,n=>{this.delegate.cancel()}))}getId(){return vb.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};vb.baseId="editor.widget.inlineProgressWidget";let US=vb,lv=class extends je{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Bo),this._currentWidget=this._register(new Bo),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=ip(()=>{const a=B.fromPositions(e);this._currentDecorations.set([{range:a,options:x3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(US,this.id,this._editor,a,t,n))},s??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};lv=S3([C3(2,li)],lv);var L3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bk=function(o,e){return function(t,i){e(t,i,o)}},D_,hc;let wo=(hc=class{static get(e){return e.getContribution(D_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Bo,this._messageListeners=new We,this._mouseOverMessage=!1,this._editor=e,this._visible=D_.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){Ir(m_(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=m_(e)?fA(e,{actionHandler:{callback:n=>{this.closeMessage(),pA(this._openerService,n,m_(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new zk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(ms.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&mA(hE(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add($i(this._messageWidget.value.getDomNode(),Un.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add($i(this._messageWidget.value.getDomNode(),Un.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(n=>{n.target.position&&(i?i.containsPosition(n.target.position)||this.closeMessage():i=new B(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(zk.fadeOut(this._messageWidget.value))}},D_=hc,hc.ID="editor.contrib.messageController",hc.MESSAGE_VISIBLE=new Oi("messageVisible",!1,y("messageVisible","Whether the editor is currently showing an inline message")),hc);wo=D_=L3([Bk(1,qi),Bk(2,sa)],wo);const k3=go.bindToContribution(wo.get);Rt(new k3({id:"leaveEditorMessage",precondition:wo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let zk=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const r=document.createElement("div");typeof n=="string"?(r.classList.add("message"),r.textContent=n):(n.classList.add("message"),r.appendChild(n)),this._domNode.appendChild(r);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};yi(wo.ID,wo,4);function kw(o,e){return e&&(o.stack||o.stacktrace)?y("stackTrace.format","{0}: {1}",jk(o),Vk(o.stack)||Vk(o.stacktrace)):jk(o)}function Vk(o){return Array.isArray(o)?o.join(`
|
|
16
|
-
`):o}function jk(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?y("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function cv(o=null,e=!1){if(!o)return y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=_l(o),i=cv(t[0],e);return t.length>1?y("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(fE(o))return o;if(o.detail){const t=o.detail;if(t.error)return kw(t.error,e);if(t.exception)return kw(t.exception,e)}return o.stack?kw(o,e):o.message?o.message:y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var oM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ou=function(o,e){return function(t,i){e(t,i,o)}},$S,Ld;let qS=(Ld=class extends je{constructor(e,t,i,n,s,r,a,c,h,g){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=g,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(h),this.visibleContext.set(!0),this._register(Nn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Nn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(ms.runAndSubscribe(g.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=St(".post-edit-widget"),this.button=this._register(new _A(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register($i(this.domNode,Un.CLICK,()=>this.showSelector()))}getId(){return $S.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=lo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>vA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},$S=Ld,Ld.baseId="editor.widget.postEditWidget",Ld);qS=$S=oM([Ou(7,Rg),Ou(8,qi),Ou(9,us)],qS);let dv=class extends je{constructor(e,t,i,n,s,r,a){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=r,this._notificationService=a,this._currentWidget=this._register(new Bo),this._register(ms.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,n,s){const r=this._editor.getModel();if(!r||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const c=async S=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:S,allEdits:t.allEdits},i,n,s))},h=(S,D)=>{Oc(S)||(this._notificationService.error(D),i&&this.show(e[0],t,c))};let g;try{g=await n(a,s)}catch(S){return h(S,y("resolveError",`Error resolving edit '{0}':
|
|
17
|
-
{1}`,a.title,cv(S)))}if(s.isCancellationRequested)return;const f=nM(r.uri,e,g),p=e[0],v=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let _,w;try{_=await this._bulkEditService.apply(f,{editor:this._editor,token:s}),w=r.getDecorationRange(v[0])}catch(S){return h(S,y("applyError",`Error applying edit '{0}':
|
|
18
|
-
{1}`,a.title,cv(S)))}finally{r.deltaDecorations(v,[])}s.isCancellationRequested||i&&_.isApplied&&t.allEdits.length>1&&this.show(w??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(qS,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)==null||e.showSelector()}};dv=oM([Ou(4,li),Ou(5,sy),Ou(6,to)],dv);var I3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xh=function(o,e){return function(t,i){e(t,i,o)}},Xc;const rM="editor.changePasteType",I1=new Oi("pasteWidgetVisible",!1,y("pasteWidgetVisible","Whether the paste widget is showing")),Iw="application/vnd.code.copyMetadata";var kd;let Cl=(kd=class extends je{static get(e){return e.getContribution(Xc.ID)}constructor(e,t,i,n,s,r,a){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=r,this._progressService=a,this._editor=e;const c=e.getContainerDomNode();this._register($i(c,"copy",h=>this.handleCopy(h))),this._register($i(c,"cut",h=>this.handleCopy(h))),this._register($i(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new lv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(dv,"pasteIntoEditor",e,I1,{id:rM,label:y("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},A0().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var w,S,D,E;if(!this._editor.hasTextFocus()||((S=(w=this._clipboardService).clearInternalState)==null||S.call(w),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const n=this._editor.getOption(37);let s=i;const r=i.length===1&&i[0].isEmpty();if(r){if(!n)return;s=[new B(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(D=this._editor._getViewModel())==null?void 0:D.getPlainTextToCopy(i,n,oy),h={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},g=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(R=>!!R.prepareDocumentPaste);if(!g.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:h});return}const f=YT(e.clipboardData),p=g.flatMap(R=>R.copyMimeTypes??[]),v=Ny();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=Ls(async R=>{const z=_l(await Promise.all(g.map(async H=>{try{return await H.prepareDocumentPaste(t,s,f,R)}catch(ee){console.error(ee);return}})));z.reverse();for(const H of z)for(const[ee,X]of H)f.replace(ee,X);return f});(E=Xc._currentCopyOperation)==null||E.dataTransferPromise.cancel(),Xc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=wo.get(this._editor))==null||c.closeMessage(),(h=this._currentPasteOperation)==null||h.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=JT(e.clipboardData);s.delete(Iw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Ps.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(f=>{var v,_;const p=(v=this._pasteAsActionContext)==null?void 0:v.preferred;return p&&f.providedPasteEditKinds&&!this.providerMatchesPreference(f,p)?!1:(_=f.pasteMimeTypes)==null?void 0:_.some(w=>ZT(w,r))});if(!a.length){(g=this._pasteAsActionContext)!=null&&g.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,a,i,s,n):this.doPasteInline(a,i,s,n,e)}showPasteAsNoEditMessage(e,t){var i;(i=wo.get(this._editor))==null||i.showMessage(y("pasteAsError","No paste edits for '{0}' found",t instanceof Rn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new sg(r,3,void 0),c=Ls(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new We,v=p.add(new ks(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const w=e.filter(E=>this.isSupportedPasteProvider(E,i));if(!w.length||w.length===1&&w[0]instanceof _h)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:dS.Automatic},D=await this.getPasteEdits(w,i,f,t,S,_);if(p.add(D),_.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof _h)return this.applyDefaultPasteHandler(i,n,_,s);if(D.edits.length){const E=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},E,(R,z)=>new Promise((H,ee)=>{(async()=>{var X,fe;try{const Le=(fe=(X=R.provider).resolveDocumentPasteEdit)==null?void 0:fe.call(X,R,z),Ue=new ry,xe=Le&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Ue.p,Le]),{cancel:()=>(Ue.cancel(),ee(new ay))},0);return xe&&(R.additionalEdit=xe.additionalEdit),H(R)}catch(Le){return ee(Le)}})()}),_)}await this.applyDefaultPasteHandler(i,n,_,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),c,{cancel:async()=>{try{if(c.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=c}showPasteAsPick(e,t,i,n,s){const r=Ls(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new We,f=g.add(new sg(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,f.token),f.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const v={triggerKind:dS.PasteAs,only:e&&e instanceof Rn?e:void 0};let _=g.add(await this.getPasteEdits(p,n,h,i,v,f.token));if(f.token.isCancellationRequested)return;if(e&&(_={edits:_.edits.filter(D=>e instanceof Rn?e.contains(D.kind):e.providerId===D.provider.id),dispose:_.dispose}),!_.edits.length){v.only&&this.showPasteAsNoEditMessage(i,v.only);return}let w;if(e)w=_.edits.at(0);else{const D=await this._quickInputService.pick(_.edits.map(E=>{var R;return{label:E.title,description:(R=E.kind)==null?void 0:R.value,edit:E}}),{placeHolder:y("pasteAsPickerPlaceholder","Select Paste Action")});w=D==null?void 0:D.edit}if(!w)return;const S=nM(h.uri,i,w);await this._bulkEditService.apply(S,{editor:this._editor})}finally{g.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:y("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(Iw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Iw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=bA.getTextData(e.clipboardData);if(n)return{defaultPastePayload:{mode:n.mode,multicursorText:n.multicursorText??null,pasteOnNewLine:!!n.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var n;if(t!=null&&t.id&&((n=Xc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Xc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Ps.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Ps.uriList,C1(Ry.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new We,c=await Jp(Promise.all(e.map(async g=>{var f,p;try{const v=await((f=g.provideDocumentPasteEdits)==null?void 0:f.call(g,i,n,t,s,r));return v&&a.add(v),(p=v==null?void 0:v.edits)==null?void 0:p.map(_=>({..._,provider:g}))}catch(v){Oc(v)||console.error(v);return}})),r),h=_l(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:sM(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ps.text)??e.get("text"),r=await(s==null?void 0:s.asString())??"";if(i.isCancellationRequested)return;const a={clipboardEvent:n,text:r,pasteOnNewLine:(t==null?void 0:t.defaultPastePayload.pasteOnNewLine)??!1,multicursorText:(t==null?void 0:t.defaultPastePayload.multicursorText)??null,mode:null};this._editor.trigger("keyboard","paste",a)}isSupportedPasteProvider(e,t,i){var n;return(n=e.pasteMimeTypes)!=null&&n.some(s=>t.matches(s))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof Rn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Xc=kd,kd.ID="editor.contrib.copyPasteActionController",kd);Cl=Xc=I3([Xh(1,li),Xh(2,sy),Xh(3,Ag),Xh(4,Tt),Xh(5,Il),Xh(6,yA)],Cl);const bh="9_cutcopypaste",D3=Og||document.queryCommandSupported("cut"),aM=Og||document.queryCommandSupported("copy"),E3=typeof navigator.clipboard>"u"||wA?document.queryCommandSupported("paste"):!0;function D1(o){return o.register(),o}const P3=D3?D1(new O0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Og?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:ct.MenubarEditMenu,group:"2_ccp",title:y({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:ct.EditorContext,group:bh,title:y("actions.clipboard.cutLabel","Cut"),when:N.writable,order:1},{menuId:ct.CommandPalette,group:"",title:y("actions.clipboard.cutLabel","Cut"),order:1},{menuId:ct.SimpleEditorContext,group:bh,title:y("actions.clipboard.cutLabel","Cut"),when:N.writable,order:1}]})):void 0,T3=aM?D1(new O0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Og?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:ct.MenubarEditMenu,group:"2_ccp",title:y({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:ct.EditorContext,group:bh,title:y("actions.clipboard.copyLabel","Copy"),order:2},{menuId:ct.CommandPalette,group:"",title:y("actions.clipboard.copyLabel","Copy"),order:1},{menuId:ct.SimpleEditorContext,group:bh,title:y("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;kr.appendMenuItem(ct.MenubarEditMenu,{submenu:ct.MenubarCopy,title:It("copy as","Copy As"),group:"2_ccp",order:3});kr.appendMenuItem(ct.EditorContext,{submenu:ct.EditorContextCopy,title:It("copy as","Copy As"),group:bh,order:3});kr.appendMenuItem(ct.EditorContext,{submenu:ct.EditorContextShare,title:It("share","Share"),group:"11_share",order:-1,when:le.and(le.notEquals("resourceScheme","output"),N.editorTextFocus)});kr.appendMenuItem(ct.ExplorerContext,{submenu:ct.ExplorerContextShare,title:It("share","Share"),group:"11_share",order:-1});const Dw=E3?D1(new O0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Og?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:ct.MenubarEditMenu,group:"2_ccp",title:y({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:ct.EditorContext,group:bh,title:y("actions.clipboard.pasteLabel","Paste"),when:N.writable,order:4},{menuId:ct.CommandPalette,group:"",title:y("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:ct.SimpleEditorContext,group:bh,title:y("actions.clipboard.pasteLabel","Paste"),when:N.writable,order:4}]})):void 0;class M3 extends Ce{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:y("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(KL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),KL.forceCopyWithSyntaxHighlighting=!1)}}function lM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(rs).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const s=n.getOption(37),r=n.getSelection();return r&&r.isEmpty()&&!s||n.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),o.addImplementation(0,"generic-dom",(t,i)=>(A0().execCommand(e),!0)))}lM(P3,"cut");lM(T3,"copy");Dw&&(Dw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(rs),i=o.get(Ag),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=Cl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():SA?(async()=>{const a=await i.readText();if(a!==""){const c=CA.INSTANCE.get(a);let h=!1,g=null,f=null;c&&(h=n.getOption(37)&&!!c.isFromEmptySelection,g=typeof c.multicursorText<"u"?c.multicursorText:null,f=c.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:h,multicursorText:g,mode:f})}})():!0:!1}),Dw.addImplementation(0,"generic-dom",(o,e)=>(A0().execCommand("paste"),!0)));aM&&oe(M3);const xn=new class{constructor(){this.QuickFix=new Rn("quickfix"),this.Refactor=new Rn("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new Rn("notebook"),this.Source=new Rn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Lo;(function(o){o.Refactor="refactor",o.RefactorPreview="refactor preview",o.Lightbulb="lightbulb",o.Default="other (default)",o.SourceAction="source action",o.QuickFix="quick fix action",o.FixAll="fix all",o.OrganizeImports="organize imports",o.AutoFix="auto fix",o.QuickFixHover="quick fix hover window",o.OnSave="save participants",o.ProblemsView="problems view"})(Lo||(Lo={}));function N3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>cM(e,t,o.include))||!o.includeSourceActions&&xn.Source.contains(e))}function R3(o,e){const t=e.kind?new Rn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>cM(t,i,o.include))||!o.includeSourceActions&&t&&xn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function cM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ta{static fromUser(e,t){return!e||typeof e!="object"?new Ta(t.kind,t.apply,!1):new Ta(Ta.getKindFromUser(e,t.kind),Ta.getApplyFromUser(e,t.apply),Ta.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new Rn(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class A3{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if((t=this.provider)!=null&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(n){os(n)}i&&(this.action.edit=i.edit)}return this}}const dM="editor.action.codeAction",E1="editor.action.quickFix",hM="editor.action.autoFix",uM="editor.action.refactor",gM="editor.action.sourceAction",KS="editor.action.organizeImports",GS="editor.action.fixAll";class Vf extends je{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:Fo(e.diagnostics)?Fo(t.diagnostics)?Vf.codeActionsPreferredComparator(e,t):-1:Fo(t.diagnostics)?1:Vf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Vf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&xn.QuickFix.contains(new Rn(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const Uk={actions:[],documentation:void 0};async function wu(o,e,t,i,n,s){var w;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],xn.Notebook]},c={only:(w=r.include)==null?void 0:w.value,trigger:i.type},h=new xA(e,s),g=i.type===2,f=O3(o,e,g?a:r),p=new We,v=f.map(async S=>{try{n.report(S);const D=await S.provideCodeActions(e,t,c,h.token);if(D&&p.add(D),h.token.isCancellationRequested)return Uk;const E=((D==null?void 0:D.actions)||[]).filter(z=>z&&R3(r,z)),R=H3(S,E,r.include);return{actions:E.map(z=>new A3(z,S)),documentation:R}}catch(D){if(Oc(D))throw D;return os(D),Uk}}),_=o.onDidChange(()=>{const S=o.all(e);Va(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(R=>R.actions).flat(),E=[..._l(S.map(R=>R.documentation)),...F3(o,e,i,D)];return new Vf(D,E,p)}finally{_.dispose(),h.dispose()}}function O3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>N3(t,new Rn(n))):!0)}function*F3(o,e,t,i){var n,s,r;if(e&&i.length)for(const a of o.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)==null?void 0:r.call(a,{trigger:t.type,only:(s=(n=t.filter)==null?void 0:n.include)==null?void 0:s.value},i.map(c=>c.action)))}function H3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Rn(n.kind),command:n.command}));if(t){let n;for(const s of i)s.kind.contains(t)&&(n?n.kind.contains(s.kind)&&(n=s):n=s);if(n)return n==null?void 0:n.command}for(const n of e)if(n.kind){for(const s of i)if(s.kind.contains(new Rn(n.kind)))return s.command}}var ad;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(ad||(ad={}));async function W3(o,e,t,i,n=pi.None){var h;const s=o.get(sy),r=o.get(ws),a=o.get(oa),c=o.get(to);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(n),!n.isCancellationRequested&&!((h=e.action.edit)!=null&&h.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==ad.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(g){const f=B3(g);c.error(typeof f=="string"?f:y("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function B3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}kn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof gn))throw ul();const{codeActionProvider:s}=o.get(Tt),r=o.get(io).getModel(e);if(!r)throw ul();const a=Gt.isISelection(t)?Gt.liftSelection(t):B.isIRange(t)?r.validateRange(t):void 0;if(!a)throw ul();const c=typeof i=="string"?new Rn(i):void 0,h=await wu(s,r,a,{type:1,triggerAction:Lo.Default,filter:{includeSourceActions:!0,include:c}},al.None,pi.None),g=[],f=Math.min(h.validActions.length,typeof n=="number"?n:0);for(let p=0;p<f;p++)g.push(h.validActions[p].resolve(pi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var z3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V3=function(o,e){return function(t,i){e(t,i,o)}},ZS,Id;let XS=(Id=class{constructor(e){this.keybindingService=e}getResolver(){const e=new F0(()=>this.keybindingService.getKeybindings().filter(t=>ZS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===KS?i={kind:xn.SourceOrganizeImports.value}:t.command===GS&&(i={kind:xn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ta.fromUser(i,{kind:Rn.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new Rn(e.kind);return t.filter(n=>n.kind.contains(i)).filter(n=>n.preferred?e.isPreferred:!0).reduceRight((n,s)=>n?n.kind.contains(s.kind)?s:n:s,void 0)}},ZS=Id,Id.codeActionCommands=[uM,dM,gM,KS,GS],Id);XS=ZS=z3([V3(0,us)],XS);Ct("symbolIcon.arrayForeground",vs,y("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.booleanForeground",vs,y("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.colorForeground",vs,y("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.constantForeground",vs,y("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.fileForeground",vs,y("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.folderForeground",vs,y("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.keyForeground",vs,y("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.keywordForeground",vs,y("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.moduleForeground",vs,y("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.namespaceForeground",vs,y("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.nullForeground",vs,y("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.numberForeground",vs,y("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.objectForeground",vs,y("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.operatorForeground",vs,y("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.packageForeground",vs,y("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.propertyForeground",vs,y("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.referenceForeground",vs,y("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.snippetForeground",vs,y("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.stringForeground",vs,y("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.structForeground",vs,y("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.textForeground",vs,y("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.typeParameterForeground",vs,y("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.unitForeground",vs,y("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Ct("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const fM=Object.freeze({kind:Rn.Empty,title:y("codeAction.widget.id.more","More Actions...")}),j3=Object.freeze([{kind:xn.QuickFix,title:y("codeAction.widget.id.quickfix","Quick Fix")},{kind:xn.RefactorExtract,title:y("codeAction.widget.id.extract","Extract"),icon:ei.wrench},{kind:xn.RefactorInline,title:y("codeAction.widget.id.inline","Inline"),icon:ei.wrench},{kind:xn.RefactorRewrite,title:y("codeAction.widget.id.convert","Rewrite"),icon:ei.wrench},{kind:xn.RefactorMove,title:y("codeAction.widget.id.move","Move"),icon:ei.wrench},{kind:xn.SurroundWith,title:y("codeAction.widget.id.surround","Surround With"),icon:ei.surroundWith},{kind:xn.Source,title:y("codeAction.widget.id.source","Source Action"),icon:ei.symbolFile},fM]);function U3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:fM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=j3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Rn(s.action.kind):Rn.None;for(const a of i)if(a.group.kind.contains(r)){a.actions.push(s);break}}const n=[];for(const s of i)if(s.actions.length){n.push({kind:"header",group:s.group});for(const r of s.actions){const a=s.group;n.push({kind:"action",item:r,group:r.action.isAI?{title:a.title,kind:a.kind,icon:ei.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var $3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},q3=function(o,e){return function(t,i){e(t,i,o)}},hu;const $k=ns("gutter-lightbulb",ei.lightBulb,y("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),qk=ns("gutter-lightbulb-auto-fix",ei.lightbulbAutofix,y("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),Kk=ns("gutter-lightbulb-sparkle",ei.lightbulbSparkle,y("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Gk=ns("gutter-lightbulb-aifix-auto-fix",ei.lightbulbSparkleAutofix,y("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),Zk=ns("gutter-lightbulb-sparkle-filled",ei.sparkleFilled,y("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Wr;(function(o){o.Hidden={type:0};class e{constructor(i,n,s,r){this.actions=i,this.trigger=n,this.editorPosition=s,this.widgetPosition=r,this.type=1}}o.Showing=e})(Wr||(Wr={}));var cl;let vp=(cl=class extends je{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new fi),this.onClick=this._onClick.event,this._state=Wr.Hidden,this._gutterState=Wr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+$k.id,"codicon-"+Gk.id,"codicon-"+qk.id,"codicon-"+Kk.id,"codicon-"+Zk.id],this.gutterDecoration=hu.GUTTER_DECORATION,this._domNode=St("div.lightBulbWidget"),this._domNode.role="listbox",this._register(pE.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(i=>{const n=this._editor.getModel();(this.state.type!==1||!n||this.state.editorPosition.lineNumber>=n.getLineCount())&&this.hide(),(this.gutterState.type!==1||!n||this.gutterState.editorPosition.lineNumber>=n.getLineCount())&&this.gutterHide()})),this._register(LA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=lo(this._domNode),r=this._editor.getOption(67);let a=Math.floor(r/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.posx,y:n+s+a,actions:this.state.actions,trigger:this.state.trigger})})),this._register($i(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(ms.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(hM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(E1))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(c=>i.target.element&&i.target.element.classList.contains(c))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=lo(i.target.element),r=this._editor.getOption(67);let a=Math.floor(r/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.event.posx,y:n+s+a,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();const{lineNumber:a,column:c}=r.validatePosition(i),h=r.getOptions().tabSize,g=this._editor.getOptions().get(50),f=r.getLineContent(a),p=H0(f,h),v=g.spaceWidth*p>22,_=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),w=this._editor.getLineDecorations(a);let S=!1;if(w)for(const H of w){const ee=H.options.glyphMarginClassName;if(ee&&!this.lightbulbClasses.some(X=>ee.includes(X))){S=!0;break}}let D=a,E=1;if(!v){const H=ee=>{const X=r.getLineContent(ee);return/^\s*$|^\s+/.test(X)||X.length<=E};if(a>1&&!_(a-1)){const ee=r.getLineCount(),X=a===ee,fe=a>1&&H(a-1),Le=!X&&H(a+1),Ue=H(a),xe=!Le&&!fe;if(!Le&&!fe&&!S)return this.gutterState=new Wr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:hu._posPref}),this.renderGutterLightbub(),this.hide();fe||X||fe&&!Ue?D-=1:(Le||xe&&Ue)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new Wr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:hu._posPref}),S)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!_(a+1))D+=1;else if(c*g.spaceWidth<22)return this.hide();E=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Wr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:hu._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const R=e.validActions,z=e.validActions[0].action.kind;if(R.length!==1||!z){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Wr.Hidden&&(this.state=Wr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Wr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Wr.Hidden)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}get gutterState(){return this._gutterState}set gutterState(e){this._gutterState=e,this._updateGutterLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],this.state.type!==1)return;let e,t=!1;this.state.actions.allAIFixes?(e=ei.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=ei.lightbulbSparkleAutofix:e=ei.lightbulbAutofix:this.state.actions.hasAIFix?e=ei.lightbulbSparkle:e=ei.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Xi.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Zk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Gk:e=qk:this.gutterState.actions.hasAIFix?e=Kk:e=$k,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Ei.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Xi.asClassName(e),glyphMargin:{position:j_.Left},stickiness:1});this.gutterDecoration=i}renderGutterLightbub(){const e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new B(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(i=>{i.changeDecoration(e,new B(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=y("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=y("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=y("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=y("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},hu=cl,cl.GUTTER_DECORATION=Ei.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Xi.asClassName(ei.lightBulb),glyphMargin:{position:j_.Left},stickiness:1}),cl.ID="editor.contrib.lightbulbWidget",cl._posPref=[0],cl);vp=hu=$3([q3(1,us)],vp);var pM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YS=function(o,e){return function(t,i){e(t,i,o)}};const mM="acceptSelectedCodeAction",_M="previewSelectedCodeAction";class K3{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var n;i.text.textContent=((n=e.group)==null?void 0:n.title)??""}disposeTemplate(e){}}let JS=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const n=new W0(e,B0);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,c;if((r=e.group)!=null&&r.icon?(i.icon.className=Xi.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=gd(e.group.icon.color.id))):(i.icon.className=Xi.asClassName(ei.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=vM(e.label),i.keybinding.set(e.keybinding),kA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(mM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(_M))==null?void 0:c.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=y({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=y({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};JS=pM([YS(1,us)],JS);class G3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Xk extends UIEvent{constructor(){super("previewSelectedAction")}}function Z3(o){if(o.kind==="action")return o.label}let QS=class extends je{constructor(e,t,i,n,s,r){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=r,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new ks),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:c=>c.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:c=>c.kind};this._list=this._register(new z0(e,this.domNode,a,[new JS(t,this._keybindingService),new K3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Z3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?vM(c==null?void 0:c.label):"";return c.disabled&&(h=y({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",h,c.disabled)),h}return null},getWidgetAriaLabel:()=>y({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:c=>c.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(IA),this._register(this._list.onMouseClick(c=>this.onListClick(c))),this._register(this._list.onMouseOver(c=>this.onListHover(c))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(c=>this.onListSelection(c))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(c=>c.kind==="header").length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let s=e;if(this._allMenuItems.length>=50)s=380;else{const c=this._allMenuItems.map((h,g)=>{const f=this.domNode.ownerDocument.getElementById(this._list.getElementID(g));if(f){f.style.width="auto";const p=f.getBoundingClientRect().width;return f.style.width="",p}return 0});s=Math.max(...c,e)}const a=Math.min(n,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,s),this.domNode.style.height=`${a}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new Xk:new G3;this._list.setSelection([i],s)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof Xk):this._list.setSelection([])}onFocus(){var n,s;const e=this._list.getFocus();if(e.length===0)return;const t=e[0],i=this._list.element(t);(s=(n=this._delegate).onFocus)==null||s.call(n,i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};QS=pM([YS(4,ly),YS(5,us)],QS);function vM(o){return o.replace(/\r\n|\r|\n/g," ")}var X3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ew=function(o,e){return function(t,i){e(t,i,o)}};Ct("actionBar.toggledBackground",V0,y("actionBar.toggledBackground","Background color for toggled action items in action bar."));const yh={Visible:new Oi("codeActionMenuVisible",!1,y("codeActionMenuVisible","Whether the action widget list is visible"))},Rh=Dl("actionWidgetService");let wh=class extends je{get isVisible(){return yh.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Bo)}show(e,t,i,n,s,r,a){const c=yh.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(QS,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:g=>(c.set(!0),this._renderWidget(g,h,a??[])),onHide:g=>{c.reset(),this._onWidgetClosed(g)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var v;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new We,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add($i(a,Un.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add($i(h,Un.POINTER_MOVE,()=>h.remove())),s.add($i(h,Un.MOUSE_DOWN,()=>h.remove()));let g=0;if(i.length){const _=this._createActionBar(".action-widget-action-bar",i);_&&(n.appendChild(_.getContainer().parentElement),s.add(_),g=_.getContainer().offsetWidth)}const f=(v=this._list.value)==null?void 0:v.layout(g);n.style.width=`${f}px`;const p=s.add(og(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=St(e),n=new np(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};wh=X3([Ew(0,ly),Ew(1,qi),Ew(2,li)],wh);El(Rh,wh,1);const vm=1100;an(class extends uo{constructor(){super({id:"hideCodeActionWidget",title:It("hideCodeActionWidget.title","Hide action widget"),precondition:yh.Visible,keybinding:{weight:vm,primary:9,secondary:[1033]}})}run(o){o.get(Rh).hide(!0)}});an(class extends uo{constructor(){super({id:"selectPrevCodeAction",title:It("selectPrevCodeAction.title","Select previous action"),precondition:yh.Visible,keybinding:{weight:vm,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Rh);e instanceof wh&&e.focusPrevious()}});an(class extends uo{constructor(){super({id:"selectNextCodeAction",title:It("selectNextCodeAction.title","Select next action"),precondition:yh.Visible,keybinding:{weight:vm,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Rh);e instanceof wh&&e.focusNext()}});an(class extends uo{constructor(){super({id:mM,title:It("acceptSelected.title","Accept selected action"),precondition:yh.Visible,keybinding:{weight:vm,primary:3,secondary:[2137]}})}run(o){const e=o.get(Rh);e instanceof wh&&e.acceptSelected()}});an(class extends uo{constructor(){super({id:_M,title:It("previewSelected.title","Preview selected action"),precondition:yh.Visible,keybinding:{weight:vm,primary:2051}})}run(o){const e=o.get(Rh);e instanceof wh&&e.acceptSelected(!0)}});const bM=new Oi("supportedCodeAction",""),Yk="_typescript.applyFixAllCodeAction";class Y3 extends je{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Qp),this._register(this._markerService.onMarkerChanged(s=>this._onMarkerChanges(s))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>U_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Lo.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==uw.Off){{if(i===uw.On)return t;if(i===uw.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),c=s.getLineContent(r);if(c.length===0)return;if(a===1){if(/\s/.test(c[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(c[c.length-1]))return}else if(/\s/.test(c[a-2])&&/\s/.test(c[a-1]))return}}return t}}}var ed;(function(o){o.Empty={type:0};class e{constructor(i,n,s){this.trigger=i,this.position=n,this._cancellablePromise=s,this.type=1,this.actions=s.catch(r=>{if(Oc(r))return yM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(ed||(ed={}));const yM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class J3 extends je{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=s,this._configurationService=r,this._telemetryService=a,this._codeActionOracle=this._register(new Bo),this._state=ed.Empty,this._onDidChangeState=this._register(new fi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=bM.bindTo(n),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(ed.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e==null?void 0:e.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(ed.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap(i=>i.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new Y3(this._editor,this._markerService,i=>{var c;if(!i){this.setState(ed.Empty);return}const n=i.selection.getStartPosition(),s=Ls(async h=>{var g,f,p,v,_,w,S,D,E,R;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Lo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(xn.QuickFix))){const z=await wu(this._registry,e,i.selection,i.trigger,al.None,h),H=[...z.allActions];if(h.isCancellationRequested)return yM;const ee=(p=z.validActions)==null?void 0:p.some(fe=>fe.action.kind?xn.QuickFix.contains(new Rn(fe.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(ee){for(const fe of z.validActions)(_=(v=fe.action.command)==null?void 0:v.arguments)!=null&&_.some(Le=>typeof Le=="string"&&Le.includes(Yk))&&(fe.action.diagnostics=[...X.filter(Le=>Le.relatedInformation)]);return{validActions:z.validActions,allActions:H,documentation:z.documentation,hasAutoFix:z.hasAutoFix,hasAIFix:z.hasAIFix,allAIFixes:z.allAIFixes,dispose:()=>{z.dispose()}}}else if(!ee&&X.length>0){const fe=i.selection.getPosition();let Le=fe,Ue=Number.MAX_VALUE;const xe=[...z.validActions];for(const kt of X){const dt=kt.endColumn,oi=kt.endLineNumber,jt=kt.startLineNumber;if(oi===fe.lineNumber||jt===fe.lineNumber){Le=new Pt(oi,dt);const ti={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(w=i.trigger.filter)!=null&&w.include?(S=i.trigger.filter)==null?void 0:S.include:xn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:Le}},Ge=new Gt(Le.lineNumber,Le.column,Le.lineNumber,Le.column),Je=await wu(this._registry,e,Ge,ti,al.None,h);if(Je.validActions.length!==0){for(const Ae of Je.validActions)(R=(E=Ae.action.command)==null?void 0:E.arguments)!=null&&R.some(it=>typeof it=="string"&&it.includes(Yk))&&(Ae.action.diagnostics=[...X.filter(it=>it.relatedInformation)]);z.allActions.length===0&&H.push(...Je.allActions),Math.abs(fe.column-dt)<Ue?xe.unshift(...Je.validActions):xe.push(...Je.validActions)}Ue=Math.abs(fe.column-dt)}}const pt=xe.filter((kt,dt,oi)=>oi.findIndex(jt=>jt.action.title===kt.action.title)===dt);return pt.sort((kt,dt)=>kt.action.isPreferred&&!dt.action.isPreferred?-1:!kt.action.isPreferred&&dt.action.isPreferred||kt.action.isAI&&!dt.action.isAI?1:!kt.action.isAI&&dt.action.isAI?-1:0),{validActions:pt,allActions:H,documentation:z.documentation,hasAutoFix:z.hasAutoFix,hasAIFix:z.hasAIFix,allAIFixes:z.allAIFixes,dispose:()=>{z.dispose()}}}}if(i.trigger.type===1){const z=new xo,H=await wu(this._registry,e,i.selection,i.trigger,al.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:z.elapsed()}),H}return wu(this._registry,e,i.selection,i.trigger,al.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new ed.Triggered(i.trigger,n,s);let a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&r.type===1&&r.trigger.type===2&&this._state.position!==r.position),a?setTimeout(()=>{this.setState(r)},500):this.setState(r)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Lo.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var Q3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_a=function(o,e){return function(t,i){e(t,i,o)}},uu;const eB="quickfix-edit-highlight";var uc;let yg=(uc=class extends je{static get(e){return e.getContribution(uu.ID)}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this._commandService=a,this._configurationService=c,this._actionWidgetService=h,this._instantiationService=g,this._telemetryService=f,this._activeCodeActions=this._register(new Bo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new J3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new F0(()=>{const p=this._editor.getContribution(vp.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(XS),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],n=i.action.command;n&&n.id==="inlineChat.start"&&n.arguments&&n.arguments.length>=1&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,ad.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){var r;if(!this._editor.hasModel())return;(r=wo.get(this._editor))==null||r.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(W3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Lo.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,c;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(h){bn(h);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const g=this.tryGetValidActionToApply(e.trigger,t);if(g){try{this.hideLightBulbWidget(),await this._applyCodeAction(g,!1,!1,ad.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=wo.get(this._editor))==null||r.showMessage(f.action.disabled,e.trigger.context.position),t.dispose();return}}}const h=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!h&&!t.validActions.length)){(c=wo.get(this._editor))==null||c.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:h,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;const a=Pt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?ad.FromAILightbulb:ad.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:h=>{var g;(g=this._editor)==null||g.focus(),n.clear()},onHover:async(h,g)=>{var v;if(g.isCancellationRequested)return;let f=!1;const p=h.action.kind;if(p){const _=new Rn(p);f=[xn.RefactorExtract,xn.RefactorInline,xn.RefactorRewrite,xn.RefactorMove,xn.Source].some(S=>S.contains(_))}return{canPreview:f||!!((v=h.action.edit)!=null&&v.edits.length)}},onFocus:h=>{var g,f;if(h&&h.action){const p=h.action.ranges,v=h.action.diagnostics;if(n.clear(),p&&p.length>0){const _=v&&(v==null?void 0:v.length)>1?v.map(w=>({range:w,options:uu.DECORATION})):p.map(w=>({range:w,options:uu.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:uu.DECORATION}));n.set(_);const w=v[0];if(w.startLineNumber&&w.startColumn){const S=(f=(g=this._editor.getModel())==null?void 0:g.getWordAtPosition({lineNumber:w.startLineNumber,column:w.startColumn}))==null?void 0:f.word;rg(y("editingNewSelection","Context: {0} at line {1} and column {2}.",S,w.startLineNumber,w.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,U3(r,this._shouldShowHeaders(),this._resolver.getResolver()),c,a,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=lo(this._editor.getDomNode()),n=i.left+t.left,s=i.top+t.top+t.height;return{x:n,y:s}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map(s=>({id:s.id,label:s.title,tooltip:s.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(s.id,...s.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:y("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:y("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},uu=uc,uc.ID="editor.contrib.codeActionController",uc.DECORATION=Ei.register({description:"quickfix-highlight",className:eB}),uc);yg=uu=Q3([_a(1,j0),_a(2,qi),_a(3,li),_a(4,Tt),_a(5,em),_a(6,ws),_a(7,An),_a(8,Rh),_a(9,li),_a(10,oa)],yg);cy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(DA));const i=o.getColor(mE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${sp(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function bm(o){return le.regex(bM.keys()[0],new RegExp("(\\s|^)"+op(o.value)+"\\b"))}const P1={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:y("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:y("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[y("args.schema.apply.first","Always apply the first returned code action."),y("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),y("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:y("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function Ah(o,e,t,i,n=Lo.Default){if(o.hasModel()){const s=yg.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class tB extends Ce{constructor(){super({id:E1,label:y("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:le.and(N.writable,N.hasCodeActionsProvider),kbOpts:{kbExpr:N.textInputFocus,primary:2137,weight:100}})}run(e,t){return Ah(t,y("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Lo.QuickFix)}}class iB extends go{constructor(){super({id:dM,precondition:le.and(N.writable,N.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:P1}]}})}runEditorCommand(e,t,i){const n=Ta.fromUser(i,{kind:Rn.Empty,apply:"ifSingle"});return Ah(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):y("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?y("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):y("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class nB extends Ce{constructor(){super({id:uM,label:y("refactor.label","Refactor..."),alias:"Refactor...",precondition:le.and(N.writable,N.hasCodeActionsProvider),kbOpts:{kbExpr:N.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:le.and(N.writable,bm(xn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:P1}]}})}run(e,t,i){const n=Ta.fromUser(i,{kind:xn.Refactor,apply:"never"});return Ah(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):y("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?y("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):y("editor.action.refactor.noneMessage","No refactorings available"),{include:xn.Refactor.contains(n.kind)?n.kind:Rn.None,onlyIncludePreferredActions:n.preferred},n.apply,Lo.Refactor)}}class sB extends Ce{constructor(){super({id:gM,label:y("source.label","Source Action..."),alias:"Source Action...",precondition:le.and(N.writable,N.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:le.and(N.writable,bm(xn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:P1}]}})}run(e,t,i){const n=Ta.fromUser(i,{kind:xn.Source,apply:"never"});return Ah(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):y("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?y("editor.action.source.noneMessage.preferred","No preferred source actions available"):y("editor.action.source.noneMessage","No source actions available"),{include:xn.Source.contains(n.kind)?n.kind:Rn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Lo.SourceAction)}}class oB extends Ce{constructor(){super({id:KS,label:y("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:le.and(N.writable,bm(xn.SourceOrganizeImports)),kbOpts:{kbExpr:N.textInputFocus,primary:1581,weight:100}})}run(e,t){return Ah(t,y("editor.action.organize.noneMessage","No organize imports action available"),{include:xn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Lo.OrganizeImports)}}class rB extends Ce{constructor(){super({id:GS,label:y("fixAll.label","Fix All"),alias:"Fix All",precondition:le.and(N.writable,bm(xn.SourceFixAll))})}run(e,t){return Ah(t,y("fixAll.noneMessage","No fix all action available"),{include:xn.SourceFixAll,includeSourceActions:!0},"ifSingle",Lo.FixAll)}}class aB extends Ce{constructor(){super({id:hM,label:y("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:le.and(N.writable,bm(xn.QuickFix)),kbOpts:{kbExpr:N.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Ah(t,y("editor.action.autoFix.noneMessage","No auto fixes available"),{include:xn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Lo.AutoFix)}}yi(yg.ID,yg,3);yi(vp.ID,vp,4);oe(tB);oe(nB);oe(sB);oe(oB);oe(aB);oe(rB);Rt(new iB);na.as(tm.Configuration).registerConfiguration({...dy,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});na.as(tm.Configuration).registerConfiguration({...dy,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:y("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});na.as(tm.Configuration).registerConfiguration({...dy,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:y("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});class eC{constructor(){this.lenses=[],this._disposables=new We}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function wM(o,e,t){const i=o.ordered(e),n=new Map,s=new eC,r=i.map(async(a,c)=>{n.set(a,c);try{const h=await Promise.resolve(a.provideCodeLenses(e,t));h&&s.add(h,a)}catch(h){os(h)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,c)=>a.symbol.range.startLineNumber<c.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>c.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(c.provider)?-1:n.get(a.provider)>n.get(c.provider)?1:a.symbol.range.startColumn<c.symbol.range.startColumn?-1:a.symbol.range.startColumn>c.symbol.range.startColumn?1:0),s}kn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Ki(gn.isUri(t)),Ki(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Tt),s=o.get(io).getModel(t);if(!s)throw ul();const r=[],a=new We;return wM(n,s,pi.None).then(c=>{a.add(c);const h=[];for(const g of c.lenses)i==null||g.symbol.command?r.push(g.symbol):i-- >0&&g.provider.resolveCodeLens&&h.push(Promise.resolve(g.provider.resolveCodeLens(s,g.symbol,pi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var lB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cB=function(o,e){return function(t,i){e(t,i,o)}};const SM=Dl("ICodeLensCache");class Jk{constructor(e,t){this.lineCount=e,this.data=t}}let tC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new im(20,.75);const t="codelens/cache";EA(PA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=ms.filter(e.onWillSaveState,r=>r.reason===U0.SHUTDOWN);ms.once(s)(r=>{e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(r=>{var a;return{range:r.symbol.range,command:r.symbol.command&&{id:"",title:(a=r.symbol.command)==null?void 0:a.title}}}),n=new eC;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new Jk(e.getLineCount(),n);this._cache.set(e.uri.toString(),s)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const s of i.data.lenses)n.add(s.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const n=t[i],s=[];for(const a of n.lines)s.push({range:new B(a,1,a,11)});const r=new eC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Jk(n.lineCount,r))}}catch{}}};tC=lB([cB(0,Fc)],tC);El(SM,tC,1);class dB{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}const ep=class ep{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${ep._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s<e.length;s++){const r=e[s];if(r&&(n=!0,r.command)){const a=TA(r.command.title.trim());if(r.command.id){const c=`c${ep._idPool++}`;i.push(St("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(St("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(St("span",void 0," | "))}}n?($_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):$_(this._domNode,St("span",void 0,"no commands"))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}};ep._idPool=0;let iC=ep;class Pw{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){const t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,n=t.length;i<n;i++)this._addDecorationsCallbacks[i](t[i])}}const Qk=Ei.register({collapseOnReplaceEdit:!0,description:"codelens"});class eI{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const c=[];this._data.forEach((h,g)=>{h.symbol.command&&c.push(h.symbol),i.addDecoration({range:h.symbol.range,options:Qk},f=>this._decorationIds[g]=f),a?a=B.plusRange(a,h.symbol.range):a=B.lift(h.symbol.range)}),this._viewZone=new dB(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),c.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(c,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new iC(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!!(i&&B.isEmpty(n.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,n)=>{t.addDecoration({range:i.symbol.range,options:Qk},s=>this._decorationIds[n]=s)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){const i=e[t];if(i){const{symbol:n}=this._data[t];n.command=i.command||n.command}}}getCommand(e){var t;return(t=this._contentWidget)==null?void 0:t.getCommand(e)}getLineNumber(){const e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}var hB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},df=function(o,e){return function(t,i){e(t,i,o)}},Ku;let bp=(Ku=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=r,this._disposables=new We,this._localToDispose=new We,this._lenses=[],this._oldCodeLensModels=new We,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new _s(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",$0.fontFamily)),this._editor.changeViewZones(r=>{for(const a of this._lenses)a.updateHeight(e,r)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)==null||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)==null||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)==null||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&ip(()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const n of this._languageFeaturesService.codeLensProvider.all(e))if(typeof n.onDidChange=="function"){const s=n.onDidChange(()=>i.schedule());this._localToDispose.add(s)}const i=new _s(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Ls(r=>wM(this._languageFeaturesService.codeLensProvider,e,r)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);const a=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=a,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},bn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Nn(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let c=-1;this._lenses.forEach(g=>{!g.isValid()||c===g.getLineNumber()?a.push(g):(g.update(r),c=g.getLineNumber())});const h=new Pw;a.forEach(g=>{g.dispose(h,r),this._lenses.splice(this._lenses.indexOf(g),1)}),h.commit(s)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(n=this._resolveCodeLensesPromise)==null||n.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(n=>{n.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(Nn(()=>{if(this._editor.getModel()){const n=ag.capture(this._editor);this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{this._disposeAllLenses(s,r)})}),n.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(n=>{if(n.target.type!==9)return;let s=n.target.element;if((s==null?void 0:s.tagName)==="SPAN"&&(s=s.parentElement),(s==null?void 0:s.tagName)==="A")for(const r of this._lenses){const a=r.getCommand(s);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(c=>this._notificationService.error(c));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new Pw;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const a of e.lenses){const c=a.symbol.range.startLineNumber;c<1||c>t||(n&&n[n.length-1].symbol.range.startLineNumber===c?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=ag.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new Pw;let g=0,f=0;for(;f<i.length&&g<this._lenses.length;){const p=i[f][0].symbol.range.startLineNumber,v=this._lenses[g].getLineNumber();v<p?(this._lenses[g].dispose(h,c),this._lenses.splice(g,1)):v===p?(this._lenses[g].updateCodeLensSymbols(i[f],h),f++,g++):(this._lenses.splice(g,0,new eI(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++,f++)}for(;g<this._lenses.length;)this._lenses[g].dispose(h,c),this._lenses.splice(g,1);for(;f<i.length;)this._lenses.push(new eI(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++;h.commit(a)})}),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var r;(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(a=>{const c=a.computeIfNecessary(e);c&&(t.push(c),i.push(a))}),t.length===0)return;const n=Date.now(),s=Ls(a=>{const c=t.map((h,g)=>{const f=new Array(h.length),p=h.map((v,_)=>!v.symbol.command&&typeof v.provider.resolveCodeLens=="function"?Promise.resolve(v.provider.resolveCodeLens(e,v.symbol,a)).then(w=>{f[_]=w},os):(f[_]=v.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[g].isDisposed()&&i[g].updateCommands(f)})});return Promise.all(c)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{bn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},Ku.ID="css.editor.codeLens",Ku);bp=hB([df(1,Tt),df(2,sr),df(3,ws),df(4,to),df(5,SM)],bp);yi(bp.ID,bp,1);oe(class extends Ce{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:N.hasCodeLensProvider,label:y("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(Il),n=e.get(ws),s=e.get(to),r=t.getSelection().positionLineNumber,a=t.getContribution(bp.ID);if(!a)return;const c=await a.getModel();if(!c)return;const h=[];for(const p of c.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&h.push({label:p.symbol.command.title,command:p.symbol.command});if(h.length===0)return;const g=await i.pick(h,{canPickMany:!1,placeHolder:y("placeHolder","Select a command")});if(!g)return;let f=g.command;if(c.isDisposed){const p=await a.getModel(),v=p==null?void 0:p.lenses.find(_=>{var w;return _.symbol.range.startLineNumber===r&&((w=_.symbol.command)==null?void 0:w.title)===f.title});if(!v||!v.symbol.command)return;f=v.symbol.command}try{await n.executeCommand(f.id,...f.arguments||[])}catch(p){s.error(p)}}});var CM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nC=function(o,e){return function(t,i){e(t,i,o)}};let yp=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const n=t.range,s=t.color,r=s.alpha,a=new Ii(new lg(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Ii.Format.CSS.formatRGB(a):Ii.Format.CSS.formatRGBA(a),h=r?Ii.Format.CSS.formatHSL(a):Ii.Format.CSS.formatHSLA(a),g=r?Ii.Format.CSS.formatHex(a):Ii.Format.CSS.formatHexA(a),f=[];return f.push({label:c,textEdit:{range:n,text:c}}),f.push({label:h,textEdit:{range:n,text:h}}),f.push({label:g,textEdit:{range:n,text:g}}),f}};yp=CM([nC(0,Pl)],yp);let sC=class extends je{constructor(e,t){super(),this._register(e.colorProvider.register("*",new yp(t)))}};sC=CM([nC(0,Tt),nC(1,Pl)],sC);Fg(sC);async function xM(o,e,t,i=!0){return T1(new uB,o,e,t,i)}function LM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class uB{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({colorInfo:r,provider:e});return Array.isArray(s)}}class gB{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]});return Array.isArray(s)}}class fB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,pi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function T1(o,e,t,i,n){let s=!1,r;const a=[],c=e.ordered(t);for(let h=c.length-1;h>=0;h--){const g=c[h];if(g instanceof yp)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){os(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function kM(o,e){const{colorProvider:t}=o.get(Tt),i=o.get(io).getModel(e);if(!i)throw ul();const n=o.get(An).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}kn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof gn))throw ul();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=kM(o,t);return T1(new gB,n,i,pi.None,s)});kn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof gn)||!Array.isArray(t)||t.length!==4||!B.isIRange(s))throw ul();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=kM(o,n),[h,g,f,p]=t;return T1(new fB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,pi.None,c)});var pB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Tw=function(o,e){return function(t,i){e(t,i,o)}},oC;const IM=Object.create({});var gc;let wg=(gc=class extends je{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new We),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new _E(this._editor),this._decoratorLimitReporter=new mB,this._colorDecorationClassRefs=this._register(new We),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:oC.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(s=>{const r=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const a=r!==this._isColorDecoratorsEnabled||s.hasChanged(21),c=s.hasChanged(148);(a||c)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const n=i.colorDecorators;if(n&&n.enable!==void 0&&!n.enable)return n.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new Qp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Ls(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new xo(!1),n=await xM(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){bn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:Ei.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((n,s)=>this._colorDatas.set(n,e[s]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;s<e.length&&t.length<i;s++){const{red:r,green:a,blue:c,alpha:h}=e[s].colorInfo.color,g=new lg(Math.round(r*255),Math.round(a*255),Math.round(c*255),h),f=`rgba(${g.r}, ${g.g}, ${g.b}, ${g.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:f}));t.push({range:{startLineNumber:e[s].colorInfo.range.startLineNumber,startColumn:e[s].colorInfo.range.startColumn,endLineNumber:e[s].colorInfo.range.endLineNumber,endColumn:e[s].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:gE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:IM}}})}const n=i<e.length?i:!1;this._decoratorLimitReporter.update(e.length,n),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(B.fromPositions(e,e)).filter(n=>this._colorDatas.has(n.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}},oC=gc,gc.ID="editor.contrib.colorDetector",gc.RECOMPUTE_TIME=1e3,gc);wg=oC=pB([Tw(1,An),Tw(2,Tt),Tw(3,sr)],wg);class mB{constructor(){this._onDidChange=new fi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}yi(wg.ID,wg,1);class _B{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new fi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new fi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new fi,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n<this.colorPresentations.length;n++)if(t.toLowerCase()===this.colorPresentations[n].label){i=n;break}if(i===-1){const n=t.split("(")[0].toLowerCase();for(let s=0;s<this.colorPresentations.length;s++)if(this.colorPresentations[s].label.toLowerCase().startsWith(n)){i=s;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}const Oo=St;class vB extends je{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Oo(".colorpicker-header"),ft(e,this._domNode),this._pickedColorNode=ft(this._domNode,Oo(".picked-color")),ft(this._pickedColorNode,Oo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=ft(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=y("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=ft(this._domNode,Oo(".original-color")),this._originalColorNode.style.backgroundColor=Ii.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(GL)||Ii.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(GL)||Ii.white})),this._register($i(this._pickedColorNode,Un.CLICK,()=>this.model.selectNextColorPresentation())),this._register($i(this._originalColorNode,Un.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=Ii.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new bB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Ii.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class bB extends je{constructor(e){super(),this._onClicked=this._register(new fi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),ft(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),ft(this._button,t),ft(t,Oo(".button"+Xi.asCSSSelector(ns("color-picker-close",ei.close,y("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register($i(this._button,Un.CLICK,()=>{this._onClicked.fire()}))}}class yB extends je{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Oo(".colorpicker-body"),ft(e,this._domNode),this._saturationBox=new wB(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new SB(this._domNode,this.model,n),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new CB(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new xB(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new Ii(new __(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Ii(new __(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Ii(new __(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class wB extends je{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new fi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Oo(".saturation-wrap"),ft(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",ft(this._domNode,this._canvas),this.selection=Oo(".saturation-selection"),ft(this._domNode,this.selection),this.layout(),this._register($i(this._domNode,Un.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new vE);const t=lo(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangePosition(n.pageX-t.left,n.pageY-t.top),()=>null);const i=$i(e.target.ownerDocument,Un.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new Ii(new __(e.h,1,1,1)),i=this._canvas.getContext("2d"),n=i.createLinearGradient(0,0,this._canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=Ii.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=s,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class DM extends je{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new fi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=ft(e,Oo(".standalone-strip")),this.overlay=ft(this.domNode,Oo(".standalone-overlay"))):(this.domNode=ft(e,Oo(".strip")),this.overlay=ft(this.domNode,Oo(".overlay"))),this.slider=ft(this.domNode,Oo(".slider")),this.slider.style.top="0px",this._register($i(this.domNode,Un.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new vE),i=lo(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,s=>this.onDidChangeTop(s.pageY-i.top),()=>null);const n=$i(e.target.ownerDocument,Un.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class SB extends DM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:n}=e.rgba,s=new Ii(new lg(t,i,n,1)),r=new Ii(new lg(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class CB extends DM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class xB extends je{constructor(e){super(),this._onClicked=this._register(new fi),this.onClicked=this._onClicked.event,this._button=ft(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register($i(this._button,Un.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class LB extends nm{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(MA.getInstance(fd(e)).onDidChange(()=>this.layout())),this._domNode=Oo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new vB(this._domNode,this.model,n,s)),this.body=this._register(new yB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Mw{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class E_{constructor(e,t,i,n,s,r){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=s,this.supportsMarkerHover=r,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}class Sh{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Oh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var EM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PM=function(o,e){return function(t,i){e(t,i,o)}};class kB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let wp=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Yr.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=wg.get(this._editor);if(!n)return[];for(const s of t){if(!n.isColorDecoration(s))continue;const r=n.getColorData(s.range.getStartPosition());if(r)return[await TM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=MM(this,this._editor,this._themeService,t,e);if(!i)return new Sh([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Sh([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};wp=EM([PM(1,Pr)],wp);class IB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Sp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!wg.get(this._editor))return null;const s=await xM(i,this._editor.getModel(),pi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;B.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await TM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new B(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await P_(this._editor.getModel(),t,this._color,i,e),i=NM(this._editor,i,t))}renderHoverParts(e,t){return MM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Sp=EM([PM(1,Pr)],Sp);async function TM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new lg(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new Ii(h),f=await LM(e,t,i,pi.None),p=new _B(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof wp?new kB(o,B.lift(t.range),p,i):new IB(o,B.lift(t.range),p,i)}function MM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Cn(302,p))}const s=new We,r=i[0],a=e.getModel(),c=r.model,h=s.add(new LB(n.fragment,c,e.getOption(144),t,o instanceof Sp));let g=!1,f=new B(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Sp){const p=r.model.color;o.color=p,P_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await P_(a,c,p,f,r),g=!0,f=NM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{P_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function NM(o,e,t){const i=[],n=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(n),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);const s=B.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function P_(o,e,t,i,n){const s=await LM(o,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},n.provider,pi.None);e.colorPresentations=s||[]}const RM="editor.action.showHover",DB="editor.action.showDefinitionPreviewHover",EB="editor.action.scrollUpHover",PB="editor.action.scrollDownHover",TB="editor.action.scrollLeftHover",MB="editor.action.scrollRightHover",NB="editor.action.pageUpHover",RB="editor.action.pageDownHover",AB="editor.action.goToTopHover",OB="editor.action.goToBottomHover",Ay="editor.action.increaseHoverVerbosityLevel",FB=y({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Oy="editor.action.decreaseHoverVerbosityLevel",HB=y({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),AM="editor.action.inlineSuggest.commit",OM="editor.action.inlineSuggest.showPrevious",FM="editor.action.inlineSuggest.showNext";var M1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},br=function(o,e){return function(t,i){e(t,i,o)}},T_;let rC=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=on(this,n=>{var c,h;const s=(c=this.model.read(n))==null?void 0:c.primaryGhostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Pt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(sm((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=SE((h,g)=>{const f=g.add(this.instantiationService.createInstance(Sg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(Nn(()=>e.removeContentWidget(f))),g.add(jn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==gl.Explicit&&r.triggerExplicitly()})),f}),c=hy(this,(h,g)=>!!this.position.read(h)||!!g);s.add(jn(h=>{c.read(h)&&a.read(h)}))}))}};rC=M1([br(2,li)],rC);const WB=ns("inline-suggestion-hints-next",ei.chevronRight,y("parameterHintsNextIcon","Icon for show next parameter hint.")),BB=ns("inline-suggestion-hints-previous",ei.chevronLeft,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var fc;let Sg=(fc=class extends je{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new cg(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=y({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=h,this._contextKeyService=g,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${T_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=yr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[yr("div@toolBar")]),this.previousAction=this.createCommandAction(OM,y("previous","Previous"),Xi.asClassName(BB)),this.availableSuggestionCountAction=new cg("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(FM,y("next","Next"),Xi.asClassName(WB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ct.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new _s(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new _s(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(aC,this.nodes.toolBar,ct.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof dg)return c.createInstance(VB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new zB(void 0,p,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{T_._dropDownVisible=p})),this._register(jn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(jn(p=>{const v=this._suggestionCount.read(p),_=this._currentSuggestionIdx.read(p);v!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${_+1}/${v}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),v!==void 0&&v>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(jn(p=>{const _=this._extraCommands.read(p).map(w=>({class:void 0,id:w.id,enabled:!0,tooltip:w.tooltip||"",label:w.title,run:S=>this._commandService.executeCommand(w.id)}));for(const[w,S]of this.inlineCompletionsActionsMenus.getActions())for(const D of S)D instanceof dg&&_.push(D);_.length>0&&_.unshift(new rp),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},T_=fc,fc._dropDownVisible=!1,fc.id=0,fc);Sg=T_=M1([br(6,ws),br(7,li),br(8,us),br(9,qi),br(10,Ph)],Sg);class zB extends hS{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let VB=class extends bE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=yr("div.keybinding").root;this._register(new W0(t,B0,{disableTitle:!0,...yE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},aC=class extends wE{constructor(e,t,i,n,s,r,a,c,h){super(e,{resetMenu:t,...i},n,s,r,a,c,h),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,c,h;const e=[],t=[];q0(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Va(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Va(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};aC=M1([br(3,Ph),br(4,qi),br(5,Rg),br(6,us),br(7,ws),br(8,oa)],aC);function Fy(o,e,t){const i=lo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let jB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class HM extends je{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new fi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new _s(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new _s(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new _s(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=NA(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){bn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new jB(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class N1{constructor(){this._onDidWillResize=new fi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new fi,this.onDidResize=this._onDidResize.event,this._sashListener=new We,this._size=new Cn(0,0),this._minSize=new Cn(0,0),this._maxSize=new Cn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new mu(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new mu(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new mu(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:ZL.North}),this._southSash=new mu(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:ZL.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(ms.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(ms.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(ms.any(this._eastSash.onDidReset,this._westSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(ms.any(this._northSash.onDidReset,this._southSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:s,width:r}=this._maxSize;e=Math.max(i,Math.min(s,e)),t=Math.max(n,Math.min(r,t));const a=new Cn(t,e);Cn.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const UB=30,$B=24;class qB extends je{constructor(e,t=new Cn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new N1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Cn.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Cn(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return(e=this._contentPosition)!=null&&e.position?Pt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:lo(t).top+i.top-UB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=lo(t),s=om(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-$B}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),r=Math.min(e,s);let a;return this._editor.getOption(60).above?a=r<=n?1:2:a=r<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}}var KB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Um=function(o,e){return function(t,i){e(t,i,o)}},ya;const tI=30,GB=6;var pc;let lC=(pc=class extends qB{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const r=e.getOption(67)+8,a=150,c=new Cn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new CE),this._onDidResize=this._register(new fi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=N.hoverVisible.bindTo(t),this._hoverFocusedKey=N.hoverFocused.bindTo(t),ft(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(g=>{g.hasChanged(50)&&this._updateFont()}));const h=this._register(og(this._resizableNode.domNode));this._register(h.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(h.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return ya.ID}static _applyDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return ya._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ya._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){ya._applyMaxDimensions(this._hover.contentsDomNode,e,t),ya._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Cn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ya._lastDimensions=new Cn(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){var t;const e=(t=this._renderedHover)==null?void 0:t.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=GB;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth<t?om(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;const i=lo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=iI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=iI(e,t,i.left,i.top,i.width,i.height);return n>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){var t;(t=this._renderedHover)==null||t.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(s=>this._editor.applyFontInfo(s))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,ya._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ya._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){var r;if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=_u(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const s=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&RA(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),((r=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:r.getAriaLabel())??"");s&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+s)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Cn(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new Cn(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Cn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=_u(e),i=gr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=_u(e),i=gr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=_u(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(s,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-tI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+tI})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},ya=pc,pc.ID="editor.contrib.resizableContentHoverWidget",pc._lastDimensions=new Cn(0,0),pc);lC=ya=KB([Um(1,qi),Um(2,An),Um(3,uy),Um(4,us)],lC);function iI(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,c=Math.max(Math.abs(o-r)-n/2,0),h=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(c*c+h*h)}class hv{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter(r=>{if(r.options.isWholeLine)return!0;const a=r.range.startLineNumber===n?r.range.startColumn:1,c=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>c)return!1}else if(a>t.range.startColumn||t.range.endColumn>c)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Yr.EMPTY;const i=hv._getLineDecorations(this._editor,t);return Yr.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Yr.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=hv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return _l(t)}}class WM{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new ZB(this,this.anchor,t,this.isComplete)}}class ZB extends WM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var XB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YB=function(o,e){return function(t,i){e(t,i,o)}};const nI=St;let uv=class extends je{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=nI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=ft(this.hoverElement,nI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(AA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=ft(this.actionsElement,e);return this._hasContent=!0,t}};uv=XB([YB(0,us)],uv);class JB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function QB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(os);if(!(!s||!e4(s)))return new JB(o,s,e)}function R1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>QB(a,c,e,t,i));return Yr.fromPromises(r).coalesce()}function BM(o,e,t,i,n=!1){return R1(o,e,t,i,n).map(s=>s.hover).toPromise()}fo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Tt);return BM(i.hoverProvider,e,t,pi.None)});fo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Tt);return BM(i.hoverProvider,e,t,pi.None,!0)});function e4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var t4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$c=function(o,e){return function(t,i){e(t,i,o)}};const Su=St,i4=ns("hover-increase-verbosity",ei.add,y("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),n4=ns("hover-decrease-verbosity",ei.remove,y("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Sr{constructor(e,t,i,n,s,r=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=s,this.source=r}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class zM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case tr.Increase:return this.hover.canIncreaseVerbosity??!1;case tr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Cp=class{constructor(e,t,i,n,s,r,a,c){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=c,this.hoverOrdinal=3}createLoadingMessage(e){return new Sr(this,e.range,[new Ks().appendText(y("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];let a=1e3;const c=i.getLineLength(n),h=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),g=this._editor.getOption(118),f=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:h});let p=!1;g>=0&&c>g&&e.range.startColumn>=g&&(p=!0,r.push(new Sr(this,e.range,[{value:y("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof f=="number"&&c>=f&&r.push(new Sr(this,e.range,[{value:y("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let v=!1;for(const _ of t){const w=_.range.startLineNumber===n?_.range.startColumn:1,S=_.range.endLineNumber===n?_.range.endColumn:s,D=_.options.hoverMessage;if(!D||ap(D))continue;_.options.beforeContentClassName&&(v=!0);const E=new B(e.range.startLineNumber,w,e.range.startLineNumber,S);r.push(new Sr(this,E,xE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Yr.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Yr.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return R1(e,t,s,n).filter(c=>!ap(c.hover.contents)).map(c=>{const h=c.hover.range?B.lift(c.hover.range):i.range,g=new zM(c.hover,c.provider,s);return new Sr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new s4(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){var n;return Promise.resolve((n=this._renderedHoverParts)==null?void 0:n.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};Cp=t4([$c(1,ra),$c(2,sa),$c(3,An),$c(4,Tt),$c(5,us),$c(6,rm),$c(7,ws)],Cp);class $m{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class s4{constructor(e,t,i,n,s,r,a,c,h,g,f){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=h,this._configurationService=g,this._onFinishedRendering=f,this._ongoingHoverOperations=new Map,this._disposables=new We,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Nn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(am(n=>n.ordinal,gy)),e.map(n=>{const s=this._renderHoverPart(n,i);return t.appendChild(s.hoverElement),s})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,r=new We;if(r.add(i),!s)return new $m(e,n,r);const a=s.supportsVerbosityAction(tr.Increase),c=s.supportsVerbosityAction(tr.Decrease);if(!a&&!c)return new $m(e,n,r);const h=Su("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,tr.Increase,a)),r.add(this._renderHoverExpansionAction(h,tr.Decrease,c)),new $m(e,n,r)}_renderMarkdownHover(e,t){return VM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new We,s=t===tr.Increase,r=ft(e,Su(Xi.asCSSSelector(s?i4:n4)));r.tabIndex=0;const a=new OA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,r4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===tr.Increase?Ay:Oy);return n.add(new FA(r,c)),n.add(new HA(r,c,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),r=s==null?void 0:s.hoverPart.source;if(!s||!(r!=null&&r.supportsVerbosityAction(e)))return;const a=await this._fetchHover(r,n,e);if(!a)return;const c=new zM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new Sr(this._hoverParticipant,h.range,a.contents,h.isBeforeContent,h.ordinal,c),f=this._renderHoverPart(g,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,f,g),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:g,hoverElement:f.hoverElement}}async _fetchHover(e,t,i){let n=i===tr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new ks;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const c={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let h;try{h=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,c))}catch(g){os(g)}return a.dispose(),this._ongoingHoverOperations.delete(s),h}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,r=t.hoverElement,a=Array.from(r.children);s.replaceChildren(...a);const c=new $m(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=c}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function o4(o,e,t,i,n){e.sort(am(r=>r.ordinal,gy));const s=[];for(const r of e)s.push(VM(t,r,i,n,o.onContentsChanged));return new Sh(s)}function VM(o,e,t,i,n){const s=new We,r=Su("div.hover-row"),a=Su("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(ap(g))continue;const f=Su("div.markdown-hover"),p=ft(f,Su("div.hover-contents")),v=s.add(new Hg({editor:o},t,i));s.add(v.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const _=s.add(v.render(g));p.appendChild(_.element),a.appendChild(f)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function r4(o,e){switch(e){case tr.Increase:{const t=o.lookupKeybinding(Ay);return t?y("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):y("increaseVerbosity","Increase Hover Verbosity")}case tr.Decrease:{const t=o.lookupKeybinding(Oy);return t?y("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):y("decreaseVerbosity","Decrease Hover Verbosity")}}}function cC(o,e){return!!o[e]}class Nw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=cC(e.event,t.triggerModifier),this.hasSideBySideModifier=cC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class sI{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=cC(e,t.triggerModifier)}}class qm{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function oI(o){return o==="altKey"?ja?new qm(57,"metaKey",6,"altKey"):new qm(5,"ctrlKey",6,"altKey"):ja?new qm(6,"altKey",57,"metaKey"):new qm(6,"altKey",5,"ctrlKey")}class Hy extends je{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new fi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new fi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new fi),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(t==null?void 0:t.extractLineNumberFromMouseEvent)??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=oI(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(78)){const n=oI(this._editor.getOption(78));if(this._opts.equals(n))return;this._opts=n,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new Nw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new Nw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new Nw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new sI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new sI(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class jM{constructor(e,t){this.range=e,this.direction=t}}class A1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new A1(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t==null?void 0:t.tooltip)??this.hint.tooltip,this.hint.label=(t==null?void 0:t.label)??this.hint.label,this.hint.textEdits=(t==null?void 0:t.textEdits)??this.hint.textEdits,this._isResolved=!0}catch(t){os(t),this._isResolved=!1}}}const Eu=class Eu{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async c=>{try{const h=await a.provideInlayHints(t,c,n);(h!=null&&h.hints.length||a.onDidChangeInlayHints)&&s.push([h??Eu._emptyInlayHintList,a])}catch(h){os(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new ay;return new Eu(i,s,t)}constructor(e,t,i){this._disposables=new We,this.ranges=e,this.provider=new Set;const n=[];for(const[s,r]of t){this._disposables.add(s),this.provider.add(r);for(const a of s.hints){const c=i.validatePosition(a.position);let h="before";const g=Eu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=B.fromPositions(g.getStartPosition(),c),h="after"):(f=B.fromPositions(c,g.getEndPosition()),h="before"),n.push(new A1(a,new jM(f,h),r))}}this.items=n.sort((s,r)=>Pt.compare(s.hint.position,r.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new B(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),r=t.column-1,a=s.findTokenIndexAtOffset(r);let c=s.getStartOffset(a),h=s.getEndOffset(a);return h-c===1&&(c===r&&a>1?(c=s.getStartOffset(a-1),h=s.getEndOffset(a-1)):h===r&&a<s.getCount()-1&&(c=s.getStartOffset(a+1),h=s.getEndOffset(a+1))),new B(i,c+1,i,h+1)}};Eu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let gv=Eu;function a4(o){return gn.from({scheme:ro.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var l4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ya=function(o,e){return function(t,i){e(t,i,o)}};let Er=class extends WA{constructor(e,t,i,n,s,r,a,c,h,g,f,p,v){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,c,h,g,f,p,v),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(_=>this._onParentConfigurationChanged(_)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){K0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Er=l4([Ya(4,li),Ya(5,rs),Ya(6,ws),Ya(7,qi),Ya(8,Pr),Ya(9,to),Ya(10,uy),Ya(11,Ss),Ya(12,Tt)],Er);const rI=new Ii(new lg(0,122,204)),c4={showArrow:!0,showFrame:!0,className:"",frameColor:rI,arrowColor:rI,keepEditorSelection:!1},d4="vs.editor.contrib.zoneWidget";class h4{constructor(e,t,i,n,s,r,a,c){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=c,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class u4{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const bb=class bb{constructor(e){this._editor=e,this._ruleName=bb._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),XL(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){XL(this._ruleName),VA(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:B.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};bb._IdGenerator=new zA(".arrow-decoration-");let dC=bb;class g4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new We,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=BA(t),K0(this.options,c4,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const n=this._getWidth(i);this.domNode.style.width=n+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(n)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new dC(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const n=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(n))}(t=this._resizeSash)==null||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=B.isIRange(e)?B.lift(e):B.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Ei.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const r=document.createElement("div");r.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const p=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,p)}let c=0,h=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(h=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new h4(r,i.lineNumber,i.column,t,v=>this._onViewZoneTop(v),v=>this._onViewZoneHeight(v),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new u4(d4+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:h;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const g=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=g+"px",this.container.style.overflow="hidden"),this._doLayout(g,s),this.options.keepEditorSelection||this.editor.setSelection(e);const f=this.editor.getModel();if(f){const p=f.validateRange(new B(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===f.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new mu(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),n=i<0?Math.ceil(i):Math.floor(i),s=e.heightInLines+n;s>5&&s<35&&this._relayout(s)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var UM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$M=function(o,e){return function(t,i){e(t,i,o)}};const qM=Dl("IPeekViewService");El(qM,class{constructor(){this._widgets=new Map}addExclusiveWidget(o,e){const t=this._widgets.get(o);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const n=this._widgets.get(o);n&&n.widget===e&&(n.listener.dispose(),this._widgets.delete(o))};this._widgets.set(o,{widget:e,listener:e.onDidClose(i)})}},1);var co;(function(o){o.inPeekEditor=new Oi("inReferenceSearchEditor",!0,y("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(co||(co={}));var Gu;let fv=(Gu=class{constructor(e,t){e instanceof Er&&co.inPeekEditor.bindTo(t)}dispose(){}},Gu.ID="editor.contrib.referenceController",Gu);fv=UM([$M(1,qi)],fv);yi(fv.ID,fv,0);function f4(o){const e=o.get(rs).getFocusedCodeEditor();return e instanceof Er?e.getParentEditor():e}const p4={headerBackgroundColor:Ii.white,primaryHeadingColor:Ii.fromHex("#333333"),secondaryHeadingColor:Ii.fromHex("#6c6c6cb3")};let pv=class extends g4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new fi,this.onDidClose=this._onDidClose.event,K0(this.options,p4,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=St(".head"),this._bodyElement=St(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=St(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),bl(this._titleElement,"click",s=>this._onTitleClick(s))),ft(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=St("span.filename"),this._secondaryHeading=St("span.dirname"),this._metaHeading=St("span.meta"),ft(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=St(".peekview-actions");ft(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new np(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new cg("peekview.close",y("label.close","Close"),Xi.asClassName(ei.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:jA.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Wa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,wr(this._metaHeading)):No(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};pv=UM([$M(2,li)],pv);const m4=Ct("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ii.black,hcLight:Ii.white},y("peekViewTitleBackground","Background color of the peek view title area.")),KM=Ct("peekViewTitleLabel.foreground",{dark:Ii.white,light:Ii.black,hcDark:Ii.white,hcLight:lm},y("peekViewTitleForeground","Color of the peek view title.")),GM=Ct("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},y("peekViewTitleInfoForeground","Color of the peek view title info.")),_4=Ct("peekView.border",{dark:uS,light:uS,hcDark:vl,hcLight:vl},y("peekViewBorder","Color of the peek view borders and arrow.")),v4=Ct("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ii.black,hcLight:Ii.white},y("peekViewResultsBackground","Background color of the peek view result list."));Ct("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Ii.white,hcLight:lm},y("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));Ct("peekViewResult.fileForeground",{dark:Ii.white,light:"#1E1E1E",hcDark:Ii.white,hcLight:lm},y("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));Ct("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},y("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));Ct("peekViewResult.selectionForeground",{dark:Ii.white,light:"#6C6C6C",hcDark:Ii.white,hcLight:lm},y("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const ZM=Ct("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Ii.black,hcLight:Ii.white},y("peekViewEditorBackground","Background color of the peek view editor."));Ct("peekViewEditorGutter.background",ZM,y("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));Ct("peekViewEditorStickyScroll.background",ZM,y("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));Ct("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},y("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));Ct("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},y("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));Ct("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:hh,hcLight:hh},y("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Mc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=UA.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var t;const e=(t=this.parent.getPreview(this))==null?void 0:t.preview(this.range);return e?y({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,Ua(this.uri),this.range.startLineNumber,this.range.startColumn):y("aria.oneReference","in {0} on line {1} at column {2}",Ua(this.uri),this.range.startLineNumber,this.range.startColumn)}}class b4{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:r,endColumn:a}=e,c=i.getWordUntilPosition({lineNumber:n,column:s-t}),h=new B(n,c.startColumn,n,s),g=new B(r,a,r,1073741824),f=i.getValueInRange(h).replace(/^\s+/,""),p=i.getValueInRange(e),v=i.getValueInRange(g).replace(/\s+$/,"");return{value:f+p+v,highlight:{start:f.length,end:f.length+p.length}}}}class xp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ic}dispose(){Zs(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?y("aria.fileReferences.1","1 symbol in {0}, full path {1}",Ua(this.uri),this.uri.fsPath):y("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Ua(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new b4(i))}catch(i){bn(i)}return this}}class So{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new fi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(So._compareReferences);let n;for(const s of e)if((!n||!YL.isEqual(n.uri,s.uri,!0))&&(n=new xp(this,s.uri),this.groups.push(n)),n.children.length===0||So._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Mc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Zs(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new So(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?y("aria.result.0","No results found"):this.references.length===1?y("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?y("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):y("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,r=i.parent.groups.length;return r===1||t&&n+1<s||!t&&n>0?(t?n=(n+1)%s:n=(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%r,i.parent.groups[n].children[0]):(n=(n+r-1)%r,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map((n,s)=>({idx:s,prefixLen:cm(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((n,s)=>n.prefixLen>s.prefixLen?-1:n.prefixLen<s.prefixLen?1:n.offsetDist<s.offsetDist?-1:n.offsetDist>s.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&B.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return YL.compare(e.uri,t.uri)||B.compareRangesUsingStarts(e.range,t.range)}}var Wy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},By=function(o,e){return function(t,i){e(t,i,o)}},hC;let uC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof So||e instanceof xp}getChildren(e){if(e instanceof So)return e.groups;if(e instanceof xp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};uC=Wy([By(0,aa)],uC);class y4{getHeight(){return 23}getTemplateId(e){return e instanceof xp?mv.id:_v.id}}let gC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Mc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Ua(e.uri)}};gC=Wy([By(0,us)],gC);class w4{getId(e){return e instanceof Mc?e.id:e.uri}}let fC=class extends je{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new LE(i,{supportHighlights:!0})),this.badge=new $A(ft(i,St(".count")),{},qA),e.appendChild(i)}set(e,t){const i=G0(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(y("referencesCount","{0} references",n)):this.badge.setTitleFormat(y("referenceCount","{0} reference",n))}};fC=Wy([By(1,lp)],fC);var Dd;let mv=(Dd=class{constructor(e){this._instantiationService=e,this.templateId=hC.id}renderTemplate(e){return this._instantiationService.createInstance(fC,e)}renderElement(e,t,i){i.set(e.element,fy(e.filterData))}disposeTemplate(e){e.dispose()}},hC=Dd,Dd.id="FileReferencesRenderer",Dd);mv=hC=Wy([By(0,li)],mv);class S4 extends je{constructor(e){super(),this.label=this._register(new KA(e))}set(e,t){var n;const i=(n=e.parent.getPreview(e))==null?void 0:n.preview(e.range);if(!i||!i.value)this.label.set(`${Ua(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!cp.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,fy(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const yb=class yb{constructor(){this.templateId=yb.id}renderTemplate(e){return new S4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};yb.id="OneReferenceRenderer";let _v=yb;class C4{getWidgetAriaLabel(){return y("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var x4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yh=function(o,e){return function(t,i){e(t,i,o)}};const wb=class wb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new We,this._callOnModelChange=new We,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let n=0,s=e.children.length;n<s;n++){const r=e.children[n];this._decorationIgnoreSet.has(r.id)||r.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:r.range,options:wb.DecorationOptions}),i.push(n))}this._editor.changeDecorations(n=>{const s=n.deltaDecorations([],t);for(let r=0;r<s.length;r++)this._decorations.set(s[r],e.children[i[r]])})}_onDecorationChanged(){const e=[],t=this._editor.getModel();if(t){for(const[i,n]of this._decorations){const s=t.getDecorationRange(i);if(!s)continue;let r=!1;if(!B.equalsRange(s,n.range)){if(B.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,c=s.endColumn-s.startColumn;a!==c&&(r=!0)}r?(this._decorationIgnoreSet.add(n.id),e.push(i)):n.range=s}}for(let i=0,n=e.length;i<n;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};wb.DecorationOptions=Ei.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let pC=wb;class L4{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const n=JSON.parse(e);t=n.ratio,i=n.heightInLines}catch{}return{ratio:t||.7,heightInLines:i||18}}}class k4 extends XA{}let mC=class extends pv{constructor(e,t,i,n,s,r,a,c,h){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=c,this._keybindingService=h,this._disposeOnNewModel=new We,this._callOnDispose=new We,this._onDidSelectReference=new fi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Cn(0,0),this._isClosing=!1,this._applyTheme(n.getColorTheme()),this._callOnDispose.add(n.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),Zs(this._preview),Zs(this._previewNotAvailableMessage),Zs(this._tree),Zs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(_4)||Ii.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(m4)||Ii.transparent,primaryHeadingColor:e.getColor(KM),secondaryHeadingColor:e.getColor(GM)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=ft(e,St("div.messages")),No(this._messageContainer),this._splitView=new GA(e,{orientation:1}),this._previewContainer=ft(e,St("div.preview.inline"));const t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(Er,this._previewContainer,t,{},this.editor),No(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ec,y("missingPreviewMessage","no preview available"),dp,ec.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=ft(e,St("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new C4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(gC),identityProvider:new w4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:v4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(bl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(k4,"ReferencesWidget",this._treeContainer,new y4,[this._instantiationService.createInstance(mv),this._instantiationService.createInstance(_v)],this._instantiationService.createInstance(uC),i),this._splitView.addView({onDidChange:ms.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},JL.Distribute),this._splitView.addView({onDidChange:ms.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:s=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${s}px`,this._tree.layout(this._dim.height,s)}},JL.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const n=(s,r)=>{s instanceof Mc&&(r==="show"&&this._revealReference(s,!1),this._onDidSelectReference.fire({element:s,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(s=>{s.sideBySide?n(s.element,"side"):s.editorOptions.pinned?n(s.element,"goto"):n(s.element,"show")})),No(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Cn(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=y("noResults","No results"),wr(this._messageContainer),Promise.resolve(void 0)):(No(this._messageContainer),this._decorationsManager=new pC(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),wr(this._treeContainer),wr(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof Mc)return e;if(e instanceof xp&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==ro.inMemory?this.setTitle(ZA(e.uri),this._uriLabel.getUriLabel(G0(e.uri))):this.setTitle(y("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const n=await i;if(!this._model){n.dispose();return}Zs(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=B.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(s.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,r)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}};mC=x4([Yh(3,Pr),Yh(4,aa),Yh(5,li),Yh(6,qM),Yh(7,lp),Yh(8,us)],mC);var I4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Jh=function(o,e){return function(t,i){e(t,i,o)}},M_;const Fh=new Oi("referenceSearchVisible",!1,y("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Ed;let Ch=(Ed=class{static get(e){return e.getContribution(M_.ID)}constructor(e,t,i,n,s,r,a,c){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=c,this._disposables=new We,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Fh.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)==null||e.dispose(),(t=this._model)==null||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const s="peekViewLayout",r=L4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(mC,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(y("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(c=>{const{element:h,kind:g}=c;if(h)switch(g){case"open":(c.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(h,!1,!1);break;case"side":this.openReference(h,!0,!1);break;case"goto":i?this._gotoReference(h,!0):this.openReference(h,!1,!0);break}}));const a=++this._requestIdPool;t.then(c=>{var h;if(a!==this._requestIdPool||!this._widget){c.dispose();return}return(h=this._model)==null||h.dispose(),this._model=c,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(y("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const g=this._editor.getModel().uri,f=new Pt(e.startLineNumber,e.startColumn),p=this._model.nearestReference(g,f);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},c=>{this._notificationService.error(c)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;const i=B.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(s=>{if(this._ignoreModelChangeEvent=!1,!s||!this._widget){this.closeWidget();return}if(this._editor===s)this._widget.show(i),this._widget.focusOnReferenceTree();else{const r=M_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Ls(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,bn(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},M_=Ed,Ed.ID="editor.contrib.referencesController",Ed);Ch=M_=I4([Jh(2,qi),Jh(3,rs),Jh(4,to),Jh(5,li),Jh(6,Fc),Jh(7,An)],Ch);function Hh(o,e){const t=f4(o);if(!t)return;const i=Ch.get(t);i&&e(i)}Ka.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:hs(2089,60),when:le.or(Fh,co.inPeekEditor),handler(o){Hh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ka.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:le.or(Fh,co.inPeekEditor),handler(o){Hh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ka.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:le.or(Fh,co.inPeekEditor),handler(o){Hh(o,e=>{e.goToNextOrPreviousReference(!1)})}});kn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");kn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");kn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");kn.registerCommand("closeReferenceSearch",o=>Hh(o,e=>e.closeWidget()));Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:le.and(co.inPeekEditor,le.not("config.editor.stablePeek"))});Ka.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:le.and(Fh,le.not("config.editor.stablePeek"),le.or(N.editorTextFocus,YA.negate()))});Ka.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:le.and(Fh,kE,IE.negate(),DE.negate()),handler(o){var i;const t=(i=o.get(Z0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Hh(o,n=>n.revealReference(t[0]))}});Ka.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:le.and(Fh,kE,IE.negate(),DE.negate()),handler(o){var i;const t=(i=o.get(Z0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Hh(o,n=>n.openReference(t[0],!0,!0))}});kn.registerCommand("openReference",o=>{var i;const t=(i=o.get(Z0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Hh(o,n=>n.openReference(t[0],!1,!0))});var XM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cf=function(o,e){return function(t,i){e(t,i,o)}};const O1=new Oi("hasSymbols",!1,y("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),zy=Dl("ISymbolNavigationService");let _C=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=O1.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)==null||e.dispose(),(t=this._currentMessage)==null||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new vC(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),c=r.getPosition();if(!a||!c)return;let h=!1,g=!1;for(const f of t.references)if(U_(f.uri,a.uri))h=!0,g=g||B.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=EE(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:B.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?y("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):y("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};_C=XM([Cf(0,qi),Cf(1,rs),Cf(2,to),Cf(3,us)],_C);El(zy,_C,1);Rt(new class extends go{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:O1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(zy).revealNext(e)}});Ka.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:O1,primary:9,handler(o){o.get(zy).reset()}});let vC=class{constructor(e){this._listener=new Map,this._disposables=new We,this._onDidChange=new fi,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Zs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,EE(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))==null||t.dispose(),this._listener.delete(e)}};vC=XM([Cf(0,rs)],vC);function bC(o,e){return e.uri.scheme===o.uri.scheme?!0:!JA(e.uri,ro.walkThroughSnippet,ro.vscodeChatCodeBlock,ro.vscodeChatCodeCompareBlock)}async function ym(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{os(h)})),a=await Promise.all(r);return _l(a.flat()).filter(c=>bC(o,c))}function wm(o,e,t,i,n){return ym(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function F1(o,e,t,i,n){return ym(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function H1(o,e,t,i,n){return ym(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function W1(o,e,t,i,n){return ym(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Sm(o,e,t,i,n,s){return ym(e,t,o,n,async(r,a,c)=>{var f,p;const h=(f=await r.provideReferences(a,c,{includeDeclaration:!0},s))==null?void 0:f.filter(v=>bC(a,v));if(!i||!h||h.length!==2)return h;const g=(p=await r.provideReferences(a,c,{includeDeclaration:!1},s))==null?void 0:p.filter(v=>bC(a,v));return g&&g.length===1?g:h})}async function Ga(o){const e=await o(),t=new So(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}fo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Tt),n=wm(i.definitionProvider,e,t,!1,pi.None);return Ga(()=>n)});fo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=wm(i.definitionProvider,e,t,!0,pi.None);return Ga(()=>n)});fo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Tt),n=W1(i.typeDefinitionProvider,e,t,!1,pi.None);return Ga(()=>n)});fo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=W1(i.typeDefinitionProvider,e,t,!0,pi.None);return Ga(()=>n)});fo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Tt),n=F1(i.declarationProvider,e,t,!1,pi.None);return Ga(()=>n)});fo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=F1(i.declarationProvider,e,t,!0,pi.None);return Ga(()=>n)});fo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Tt),n=Sm(i.referenceProvider,e,t,!1,!1,pi.None);return Ga(()=>n)});fo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=Sm(i.referenceProvider,e,t,!1,!0,pi.None);return Ga(()=>n)});fo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Tt),n=H1(i.implementationProvider,e,t,!1,pi.None);return Ga(()=>n)});fo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=H1(i.implementationProvider,e,t,!0,pi.None);return Ga(()=>n)});kr.appendMenuItem(ct.EditorContext,{submenu:ct.EditorContextPeek,title:y("peek.submenu","Peek"),group:"navigation",order:100});class Cg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Cg||Pt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const hr=class hr extends ia{static all(){return hr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of hl.wrap(t.menu))(i.id===ct.EditorContext||i.id===ct.EditorContextPeek)&&(i.when=le.and(e.precondition,i.when));return t}constructor(e,t){super(hr._patchConfig(t)),this.configuration=e,hr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(to),r=e.get(rs),a=e.get(em),c=e.get(zy),h=e.get(Tt),g=e.get(li),f=t.getModel(),p=t.getPosition(),v=Cg.is(i)?i:new Cg(f,p),_=new sg(t,5),w=Jp(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var R;if(!S||_.token.isCancellationRequested)return;Ir(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const z=this._getAlternativeCommand(t);!hr._activeAlternativeCommands.has(z)&&hr._allSymbolNavigationCommands.has(z)&&(D=hr._allSymbolNavigationCommands.get(z))}const E=S.references.length;if(E===0){if(!this.configuration.muteMessage){const z=f.getWordAtPosition(p);(R=wo.get(t))==null||R.showMessage(this._getNoResultFoundMessage(z),p)}}else if(E===1&&D)hr._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(z=>D.runEditorCommand(z,t,i,n).finally(()=>{hr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,S,n)},S=>{s.error(S)}).finally(()=>{_.dispose()});return a.showWhile(w,250),w}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Er)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),c=n.references.length>1&&r==="gotoAndPeek",h=await this._openReference(i,e,a,this.configuration.openToSide,!c);c&&h?this._openInPeek(h,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(QA(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:B.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const c=a.getModel(),h=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===c&&h.clear()},350)}return a}}_openInPeek(e,t,i){const n=Ch.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Ls(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};hr._allSymbolNavigationCommands=new Map,hr._activeAlternativeCommands=new Set;let xl=hr;class Cm extends xl{async _getLocationModel(e,t,i,n){return new So(await wm(e.definitionProvider,t,i,!1,n),y("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?y("noResultWord","No definition found for '{0}'",e.word):y("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var mc;an((mc=class extends Cm{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:mc.id,title:{...It("actions.goToDecl.label","Go to Definition"),mnemonicTitle:y({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:N.hasDefinitionProvider,keybinding:[{when:N.editorTextFocus,primary:70,weight:100},{when:le.and(N.editorTextFocus,PE),primary:2118,weight:100}],menu:[{id:ct.EditorContext,group:"navigation",order:1.1},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),kn.registerCommandAlias("editor.action.goToDeclaration",mc.id)}},mc.id="editor.action.revealDefinition",mc));var _c;an((_c=class extends Cm{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:_c.id,title:It("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:le.and(N.hasDefinitionProvider,N.isInEmbeddedEditor.toNegated()),keybinding:[{when:N.editorTextFocus,primary:hs(2089,70),weight:100},{when:le.and(N.editorTextFocus,PE),primary:hs(2089,2118),weight:100}]}),kn.registerCommandAlias("editor.action.openDeclarationToTheSide",_c.id)}},_c.id="editor.action.revealDefinitionAside",_c));var vc;an((vc=class extends Cm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:vc.id,title:It("actions.previewDecl.label","Peek Definition"),precondition:le.and(N.hasDefinitionProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),keybinding:{when:N.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:ct.EditorContextPeek,group:"peek",order:2}}),kn.registerCommandAlias("editor.action.previewDeclaration",vc.id)}},vc.id="editor.action.peekDefinition",vc));class YM extends xl{async _getLocationModel(e,t,i,n){return new So(await F1(e.declarationProvider,t,i,!1,n),y("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Pd;an((Pd=class extends YM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Pd.id,title:{...It("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:y({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:le.and(N.hasDeclarationProvider,N.isInEmbeddedEditor.toNegated()),menu:[{id:ct.EditorContext,group:"navigation",order:1.3},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}},Pd.id="editor.action.revealDeclaration",Pd));an(class extends YM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:It("actions.peekDecl.label","Peek Declaration"),precondition:le.and(N.hasDeclarationProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),menu:{id:ct.EditorContextPeek,group:"peek",order:3}})}});class JM extends xl{async _getLocationModel(e,t,i,n){return new So(await W1(e.typeDefinitionProvider,t,i,!1,n),y("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?y("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):y("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Td;an((Td=class extends JM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Td.ID,title:{...It("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:y({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:N.hasTypeDefinitionProvider,keybinding:{when:N.editorTextFocus,primary:0,weight:100},menu:[{id:ct.EditorContext,group:"navigation",order:1.4},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Td.ID="editor.action.goToTypeDefinition",Td));var Md;an((Md=class extends JM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Md.ID,title:It("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:le.and(N.hasTypeDefinitionProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),menu:{id:ct.EditorContextPeek,group:"peek",order:4}})}},Md.ID="editor.action.peekTypeDefinition",Md));class QM extends xl{async _getLocationModel(e,t,i,n){return new So(await H1(e.implementationProvider,t,i,!1,n),y("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?y("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):y("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Nd;an((Nd=class extends QM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Nd.ID,title:{...It("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:y({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:N.hasImplementationProvider,keybinding:{when:N.editorTextFocus,primary:2118,weight:100},menu:[{id:ct.EditorContext,group:"navigation",order:1.45},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Nd.ID="editor.action.goToImplementation",Nd));var Rd;an((Rd=class extends QM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Rd.ID,title:It("actions.peekImplementation.label","Peek Implementations"),precondition:le.and(N.hasImplementationProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),keybinding:{when:N.editorTextFocus,primary:3142,weight:100},menu:{id:ct.EditorContextPeek,group:"peek",order:5}})}},Rd.ID="editor.action.peekImplementation",Rd));class eN extends xl{_getNoResultFoundMessage(e){return e?y("references.no","No references found for '{0}'",e.word):y("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}an(class extends eN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...It("goToReferences.label","Go to References"),mnemonicTitle:y({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:le.and(N.hasReferenceProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),keybinding:{when:N.editorTextFocus,primary:1094,weight:100},menu:[{id:ct.EditorContext,group:"navigation",order:1.45},{id:ct.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new So(await Sm(e.referenceProvider,t,i,!0,!1,n),y("ref.title","References"))}});an(class extends eN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:It("references.action.label","Peek References"),precondition:le.and(N.hasReferenceProvider,co.notInPeekEditor,N.isInEmbeddedEditor.toNegated()),menu:{id:ct.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new So(await Sm(e.referenceProvider,t,i,!1,!1,n),y("ref.title","References"))}});class D4 extends xl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:It("label.generic","Go to Any Symbol"),precondition:le.and(co.notInPeekEditor,N.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new So(this._references,y("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&y("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}kn.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:gn},{name:"position",description:"The position at which to start",constraint:Pt.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(o,e,t,i,n,s,r)=>{Ki(gn.isUri(e)),Ki(Pt.isIPosition(t)),Ki(Array.isArray(i)),Ki(typeof n>"u"||typeof n=="string"),Ki(typeof r>"u"||typeof r=="boolean");const a=o.get(rs),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(TE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends D4{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(li).invokeFunction(g.run.bind(g),c)})}});kn.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:gn},{name:"position",description:"The position at which to start",constraint:Pt.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(o,e,t,i,n)=>{o.get(ws).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});kn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Ki(gn.isUri(e)),Ki(Pt.isIPosition(t));const i=o.get(Tt),n=o.get(rs);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!TE(s)||!s.hasModel())return;const r=Ch.get(s);if(!r)return;const a=Ls(h=>Sm(i.referenceProvider,s.getModel(),Pt.lift(t),!1,!1,h).then(g=>new So(g,y("ref.title","References")))),c=new B(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});kn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function E4(o,e,t,i){const n=o.get(aa),s=o.get(Rg),r=o.get(ws),a=o.get(li),c=o.get(to);if(await i.item.resolve(pi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(kr.getMenuItems(ct.EditorContext).map(v=>eO(v)?v.command.id:Ny()));for(const v of xl.all())f.has(v.desc.id)&&g.push(new cg(v.desc.id,dg.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const w=new Cg(_.object.textEditorModel,B.getStartPosition(h.range)),S=i.item.anchor.range;await a.invokeFunction(v.runEditorCommand.bind(v),e,w,S)}finally{_.dispose()}}));if(i.part.command){const{command:v}=i.part;g.push(new rp),g.push(new cg(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:X0.Error,source:i.item.provider.displayName,message:_})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const v=lo(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function tN(o,e,t,i){const s=await o.get(aa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(qi),h=co.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new Cm({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Cg(s.object.textEditorModel,B.getStartPosition(i.range)),B.lift(i.range))}),s.dispose()}var P4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qh=function(o,e){return function(t,i){e(t,i,o)}},gu;class vv{constructor(){this._entries=new im(50)}get(e){const t=vv._key(e);return this._entries.get(t)}set(e,t){const i=vv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const iN=Dl("IInlayHintsCache");El(iN,vv,1);class yC{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class T4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var dl;let Lp=(dl=class{static get(e){return e.getContribution(gu.ID)??void 0}constructor(e,t,i,n,s,r,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=r,this._instaService=a,this._disposables=new We,this._sessionDisposables=new We,this._decorationsMetadata=new Map,this._ruleFactory=new _E(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(c=>{c.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,c;e.enabled==="onUnlessPressed"?(a=0,c=1):(a=1,c=0),this._activeRenderMode=a,this._sessionDisposables.add(tO.getInstance().event(h=>{if(!this._editor.hasModel())return;const g=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:a;if(g!==this._activeRenderMode){this._activeRenderMode=g;const f=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(f);this._updateHintsDecorators([f.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(Nn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new _s(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new ks;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await gv.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(r.delay=this._debounceInfo.update(t,Date.now()-a),h.isCancellationRequested){g.dispose();return}for(const f of g.provider)typeof f.onDidChangeInlayHints=="function"&&!s.has(f)&&(s.add(f),this._sessionDisposables.add(f.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(g),this._updateHintsDecorators(g.ranges,g.items),this._cacheHintsForFastRestore(t)}catch(h){bn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Nn(()=>n==null?void 0:n.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!r.isScheduled())&&r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{n==null||n.cancel();const c=Math.max(r.delay,1250);r.schedule(c)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new We,t=e.add(new Hy(this._editor)),i=new We;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(n=>{const[s]=n,r=this._getInlayHintLabelPart(s),a=this._editor.getModel();if(!r||!a){i.clear();return}const c=new ks;i.add(Nn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new T4(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new B(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(Nn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([g],f)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async n=>{const s=this._getInlayHintLabelPart(n);if(s){const r=s.part;r.location?this._instaService.invokeFunction(tN,n,this._editor,r.location):iO.is(r.command)&&await this._invokeCommand(r.command,s.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(pi.None),Fo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Xn.replace(B.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!nO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(E4,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var i;if(e.target.type!==6)return;const t=(i=e.target.detail.injectedText)==null?void 0:i.options;if(t instanceof Y0&&(t==null?void 0:t.attachedData)instanceof yC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:X0.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const s=e.getDecorationRange(i);if(s){const r=new jM(s,n.item.anchor.direction),a=n.item.with({anchor:r});t.set(n.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(const s of i.sort(B.compareRangesUsingStarts)){const r=t.validateRange(new B(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!B.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=B.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,w;const i=[],n=(S,D,E,R,z)=>{const H={content:E,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:R,attachedData:z};i.push({item:S,classNameRef:D,decoration:{range:S.anchor.range,options:{description:"InlayHint",showIfCollapsed:S.anchor.range.isEmpty(),collapseOnReplaceEdit:!S.anchor.range.isEmpty(),stickiness:0,[S.anchor.direction]:this._activeRenderMode===0?H:void 0}}})},s=(S,D)=>{const E=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,E," ",D?vu.Right:vu.None)},{fontSize:r,fontFamily:a,padding:c,isUniform:h}=this._getLayoutInfo(),g="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(g,a);let f={line:0,totalLen:0};for(const S of t){if(f.line!==S.anchor.range.startLineNumber&&(f={line:S.anchor.range.startLineNumber,totalLen:0}),f.totalLen>gu._MAX_LABEL_LEN)continue;S.hint.paddingLeft&&s(S,!1);const D=typeof S.hint.label=="string"?[{label:S.hint.label}]:S.hint.label;for(let E=0;E<D.length;E++){const R=D[E],z=E===0,H=E===D.length-1,ee={fontSize:`${r}px`,fontFamily:`var(${g}), ${$0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};Fo(S.hint.textEdits)&&(ee.cursor="default"),this._fillInColors(ee,S.hint),(R.command||R.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===E&&(ee.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ee.color=fs(sO),ee.cursor="pointer")),c&&(z&&H?(ee.padding=`1px ${Math.max(1,r/4)|0}px`,ee.borderRadius=`${r/4|0}px`):z?(ee.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,ee.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(ee.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,ee.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):ee.padding="1px 0 1px 0");let X=R.label;f.totalLen+=X.length;let fe=!1;const Le=f.totalLen-gu._MAX_LABEL_LEN;if(Le>0&&(X=X.slice(0,-Le)+"…",fe=!0),n(S,this._ruleFactory.createClassNameRef(ee),M4(X),H&&!S.hint.paddingRight?vu.Right:vu.None,new yC(S,E)),fe)break}if(S.hint.paddingRight&&s(S,!0),i.length>gu._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const E=(w=this._editor.getModel())==null?void 0:w.getDecorationRange(S);E&&e.some(R=>R.containsRange(E))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=ag.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(E=>E.decoration));for(let E=0;E<D.length;E++){const R=i[E];this._decorationsMetadata.set(D[E],R)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===QL.Parameter?(e.backgroundColor=fs(oO),e.color=fs(rO)):t.kind===QL.Type?(e.backgroundColor=fs(aO),e.color=fs(lO)):(e.backgroundColor=fs(cO),e.color=fs(dO))}_getLayoutInfo(){const e=this._editor.getOption(142),t=e.padding,i=this._editor.getOption(52),n=this._editor.getOption(49);let s=e.fontSize;(!s||s<5||s>i)&&(s=i);const r=e.fontFamily||n;return{fontSize:s,fontFamily:r,padding:t,isUniform:!t&&r===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},gu=dl,dl.ID="editor.contrib.InlayHints",dl._MAX_DECORATORS=1500,dl._MAX_LABEL_LEN=43,dl);Lp=gu=P4([Qh(1,Tt),Qh(2,sr),Qh(3,iN),Qh(4,ws),Qh(5,to),Qh(6,li)],Lp);function M4(o){return o.replace(/[ \t]/g," ")}kn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Ki(gn.isUri(t)),Ki(B.isIRange(i));const{inlayHintsProvider:n}=o.get(Tt),s=await o.get(aa).createModelReference(t);try{const r=await gv.create(n,s.object.textEditorModel,[B.lift(i)],pi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var N4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bl=function(o,e){return function(t,i){e(t,i,o)}};class aI extends E_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let bv=class extends Cp{constructor(e,t,i,n,s,r,a,c,h){super(e,t,i,r,c,n,s,h),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!Lp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof Y0&&i.attachedData instanceof yC?new aI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof aI?new Yr(async n=>{const{part:s}=e;if(await s.item.resolve(i),i.isCancellationRequested)return;let r;typeof s.item.hint.tooltip=="string"?r=new Ks().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Sr(this,e.range,[r],!1,0)),Fo(s.item.hint.textEdits)&&n.emitOne(new Sr(this,e.range,[new Ks().appendText(y("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ks().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Sr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?ja?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):ja?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Ks().appendText(y("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Ks().appendText(y("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Ks(`[${y("hint.cmd","Execute Command")}](${a4(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new Sr(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):Yr.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Yr.EMPTY;const{uri:i,range:n}=e.part.location,s=await this._resolverService.createModelReference(i);try{const r=s.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(r)?R1(this._languageFeaturesService.hoverProvider,r,new Pt(n.startLineNumber,n.startColumn),t).filter(a=>!ap(a.hover.contents)).map(a=>new Sr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Yr.EMPTY}finally{s.dispose()}}};bv=N4([Bl(1,ra),Bl(2,sa),Bl(3,us),Bl(4,rm),Bl(5,An),Bl(6,aa),Bl(7,Tt),Bl(8,ws)],bv);class B1 extends je{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new wC(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=B1.computeHoverPositions(e,a.range,c);this.shouldAppearBeforeContent=c.some(f=>f.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=g,this.initialMousePosX=a.initialMousePosX,this.initialMousePosY=a.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const g=e._getViewModel(),f=g.coordinatesConverter,p=f.convertModelRangeToViewRange(t),v=g.getLineMinColumn(p.startLineNumber),_=new Pt(p.startLineNumber,v);n=f.convertViewPositionToModelPosition(_).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const g of i){const f=g.range,p=f.startLineNumber===s,v=f.endLineNumber===s;if(p&&v){const w=f.startColumn,S=Math.min(r,w);r=Math.max(S,n)}g.forceShowAtRange&&(a=f)}let c,h;if(a){const g=a.getStartPosition();c=g,h=g}else c=t.getStartPosition(),h=new Pt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class R4{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}const Sb=class Sb extends je{constructor(e,t,i,n,s){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=s,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,s,n)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return je.None;let i=t[0].range;for(const s of t){const r=s.range;i=B.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Sb._DECORATION_OPTIONS}]),Nn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new uv(n),r={fragment:this._fragment,statusBar:s,...i},a=new We;for(const h of e){const g=this._renderHoverPartsForParticipant(t,h,r);a.add(g);for(const f of g.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:h,hoverPart:f.hoverPart,hoverElement:f.hoverElement})}const c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),Nn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Sh([])}_renderStatusBar(e,t){if(t.hasContent)return new R4(e,t)}_registerListenersOnRenderedParts(){const e=new We;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add($i(n,Un.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add($i(n,Un.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Cp&&!(i instanceof bv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof wp)}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(n===void 0)return;const s=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n,i);s&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:s.hoverPart,hoverElement:s.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){var e;return((e=this._colorHoverParticipant)==null?void 0:e.isColorPickerVisible())??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;const s=this._renderedParts.findIndex(r=>r.type==="hoverPart"&&r.participant===e);if(s===-1)throw new hg;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Sb._DECORATION_OPTIONS=Ei.register({description:"content-hover-highlight",className:"hoverHighlight"});let wC=Sb;var A4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lI=function(o,e){return function(t,i){e(t,i,o)}};let SC=class extends je{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new fi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(lC,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new hv(this._editor,this._participants),this._hoverOperation=this._register(new HM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Oh.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>{var i;return(i=t.handleResize)==null?void 0:i.call(t)})})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new WM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(bl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(bl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(py.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):!1;const a=this._editor.getOption(60).sticky,c=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&c?(e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0):e?this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;const n=e.hoverParts.length===0,s=this._computer.insistOnKeepingHoverVisible;n&&s||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new B1(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const s=i[0];return this._startShowingOrUpdateHover(s,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const s=n.suggestHoverAnchor(e);s&&t.push(s)}const i=e.target;switch(i.type){case 6:{t.push(new Mw(0,i.range,e.event.posx,e.event.posy));break}case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<n))break;t.push(new Mw(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((n,s)=>s.priority-n.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!Fy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Mw(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){var n;(n=this._renderedContentHover)==null||n.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){var e;return((e=this._renderedContentHover)==null?void 0:e.focusedHoverPartIndex)??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){var e;return((e=this._renderedContentHover)==null?void 0:e.isColorPickerVisible())??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};SC=A4([lI(1,li),lI(2,us)],SC);var O4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cI=function(o,e){return function(t,i){e(t,i,o)}},CC,Ad;let Us=(Ad=class extends je{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new fi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new We,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new _s(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(CC.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){var i;const t=(i=this._contentWidget)==null?void 0:i.getDomNode();return t?Fy(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=(r,a)=>{const c=this._isMouseOnContentHoverWidget(r);return a&&c},n=r=>{var h;const a=this._isMouseOnContentHoverWidget(r),c=((h=this._contentWidget)==null?void 0:h.isColorPickerVisible)??!1;return a&&c},s=(r,a)=>{var c,h,g,f;return(a&&((h=this._contentWidget)==null?void 0:h.containsNode((c=r.event.browserEvent.view)==null?void 0:c.document.activeElement))&&!((f=(g=r.event.browserEvent.view)==null?void 0:g.getSelection())!=null&&f.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,c,h,g;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(c=this._contentWidget)!=null&&c.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((h=this._contentWidget)!=null&&h.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((g=this._contentWidget)==null?void 0:g.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var c;if(!e)return;const i=(c=e.target.element)==null?void 0:c.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(i&&(n==="click"&&!r||n==="hover"&&!s||n==="clickAndHover"&&!s&&!r)||!i&&!s&&!r){this._hideWidgets();return}this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){var n;if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1||t.kind===2&&(t.commandId===RM||t.commandId===Ay||t.commandId===Oy)&&((n=this._contentWidget)==null?void 0:n.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||i||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&((e=this._contentWidget)!=null&&e.isColorPickerVisible)||Sg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(SC,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){var e;return((e=this._contentWidget)==null?void 0:e.widget.isResizing)||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isVisible}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._contentWidget)==null||e.dispose()}},CC=Ad,Ad.ID="editor.contrib.contentHover",Ad);Us=CC=O4([cI(1,li),cI(2,us)],Us);const kL=class kL extends je{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==IM||!i.range)return;const n=this._editor.getContribution(Us.ID);if(n&&!n.isColorPickerVisible){const s=new B(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};kL.ID="editor.contrib.colorContribution";let yv=kL;yi(yv.ID,yv,2);Oh.register(wp);var nN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cu=function(o,e){return function(t,i){e(t,i,o)}},xC,LC,Od;let xh=(Od=class extends je{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=N.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=N.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)==null||e.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(kC,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(xC.ID)}},xC=Od,Od.ID="editor.contrib.standaloneColorPickerController",Od);xh=xC=nN([Cu(1,qi),Cu(2,li)],xh);yi(xh.ID,xh,1);const dI=8,F4=22;var Fd;let kC=(Fd=class extends je{constructor(e,t,i,n,s,r,a){var f;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=r,this._editorWorkerService=a,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new fi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Sp,this._editor),this._position=(f=this._editor._getViewModel())==null?void 0:f.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),h=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},g=this._register(og(this._body));this._register(g.onDidBlur(p=>{this.hide()})),this._register(g.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var _;const v=(_=p.target.element)==null?void 0:_.classList;v&&v.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(h),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return LC.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new H4(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new yp(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),n=this._register(new uv(this._keybindingService)),s={fragment:i,statusBar:n,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const r=this._standaloneColorPickerParticipant.renderHoverParts(s,[e]);if(!r)return;this._register(r.disposables);const a=r.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),a.layout();const c=a.body,h=c.saturationBox.domNode.clientWidth,g=c.domNode.clientWidth-h-F4-dI,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+dI+"px";const _=p.originalColorNode;_.style.width=g+"px";const w=a.header.closeButton;w==null||w.onClicked(()=>{this.hide()}),t&&(f&&(f.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},LC=Fd,Fd.ID="editor.contrib.standaloneColorPickerWidget",Fd);kC=LC=nN([Cu(3,li),Cu(4,us),Cu(5,Tt),Cu(6,Pl)],kC);class H4{constructor(e,t){this.value=e,this.foundInEditor=t}}class W4 extends ia{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...It("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:y({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:ct.CommandPalette}],metadata:{description:It("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){var i;(i=xh.get(t))==null||i.showOrFocus()}}class B4 extends Ce{constructor(){super({id:"editor.action.hideColorPicker",label:y({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:N.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:It("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=xh.get(t))==null||i.hide()}}class z4 extends Ce{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:y({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:N.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:It("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=xh.get(t))==null||i.insertColor()}}oe(B4);oe(z4);an(W4);class nc{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length,s=e.length;if(i+n>s)return!1;for(let r=0;r<n;r++){const a=e.charCodeAt(i+r),c=t.charCodeAt(r);if(a!==c&&!(a>=65&&a<=90&&a+32===c)&&!(c>=65&&c<=90&&c+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,c=e.startColumn,h=e.endLineNumber,g=e.endColumn,f=s.getLineContent(a),p=s.getLineContent(h);let v=f.lastIndexOf(t,c-1+t.length),_=p.indexOf(i,g-1-i.length);if(v!==-1&&_!==-1)if(a===h)f.substring(v+t.length,_).indexOf(i)>=0&&(v=-1,_=-1);else{const S=f.substring(v+t.length),D=p.substring(0,_);(S.indexOf(i)>=0||D.indexOf(i)>=0)&&(v=-1,_=-1)}let w;v!==-1&&_!==-1?(n&&v+t.length<f.length&&f.charCodeAt(v+t.length)===32&&(t=t+" "),n&&_>0&&p.charCodeAt(_-1)===32&&(i=" "+i,_-=1),w=nc._createRemoveBlockCommentOperations(new B(a,v+t.length+1,h,_+1),t,i)):(w=nc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=w.length===1?i:null);for(const S of w)r.addTrackedEditOperation(S.range,S.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return B.isEmpty(e)?n.push(Xn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Xn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Xn.delete(new B(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return B.isEmpty(e)?s.push(Xn.replace(new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Xn.insert(new Pt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Xn.insert(new Pt(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),r=this.languageConfigurationService.getLanguageConfiguration(s).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const n=i[0],s=i[1];return new Gt(n.range.endLineNumber,n.range.endColumn,s.range.startLineNumber,s.range.startColumn)}else{const n=i[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new Gt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class Qa{constructor(e,t,i,n,s,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),r=n.getLanguageConfiguration(s).comments,a=r?r.lineCommentToken:null;if(!a)return null;const c=[];for(let h=0,g=i-t+1;h<g;h++)c[h]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return c}static _analyzeLines(e,t,i,n,s,r,a,c){let h=!0,g;e===0?g=!0:e===1?g=!1:g=!0;for(let f=0,p=n.length;f<p;f++){const v=n[f],_=s+f;if(_===s&&a){v.ignore=!0;continue}const w=i.getLineContent(_),S=gS(w);if(S===-1){v.ignore=r,v.commentStrOffset=w.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!nc._haystackHasNeedleAtOffset(w,v.commentStr,S)&&(e===0?g=!1:e===1||(v.ignore=!0)),g&&t){const D=S+v.commentStrLength;D<w.length&&w.charCodeAt(D)===32&&(v.commentStrLength+=1)}}if(e===0&&h){g=!1;for(let f=0,p=n.length;f<p;f++)n[f].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,c){const h=Qa._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:Qa._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=Qa._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(Qa._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Pt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),B.isEmpty(s[a].range)&&B.getStartPosition(s[a].range).equals(r)&&e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(s[a].text||"").length);this._selectionId=t.trackSelection(n)}_attemptRemoveBlockComment(e,t,i,n){let s=t.startLineNumber,r=t.endLineNumber;const a=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let c=e.getLineContent(s).lastIndexOf(i,a-1),h=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return c!==-1&&h===-1&&(h=e.getLineContent(s).indexOf(n,c+i.length),r=s),c===-1&&h!==-1&&(c=e.getLineContent(r).lastIndexOf(i,h),s=r),t.isEmpty()&&(c===-1||h===-1)&&(c=e.getLineContent(s).indexOf(i),c!==-1&&(h=e.getLineContent(s).indexOf(n,c+i.length))),c!==-1&&e.getLineContent(s).charCodeAt(c+i.length)===32&&(i+=" "),h!==-1&&e.getLineContent(r).charCodeAt(h-1)===32&&(n=" "+n,h-=1),c!==-1&&h!==-1?nc._createRemoveBlockCommentOperations(new B(s,c+i.length+1,r,h+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!s||!s.blockCommentStartToken||!s.blockCommentEndToken)return;const r=s.blockCommentStartToken,a=s.blockCommentEndToken;let c=this._attemptRemoveBlockComment(e,i,r,a);if(!c){if(i.isEmpty()){const h=e.getLineContent(i.startLineNumber);let g=gS(h);g===-1&&(g=h.length),c=nc._createAddBlockCommentOperations(new B(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=nc._createAddBlockCommentOperations(new B(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);c.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const h of c)t.addEditOperation(h.range,h.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new B(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
|
|
19
|
-
`),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=Qa._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new Gt(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];r.ignore||i.push(Xn.delete(new B(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],n=this._insertSpace?" ":"";for(let s=0,r=e.length;s<r;s++){const a=e[s];a.ignore||i.push(Xn.insert(new Pt(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let c=0,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(let p=0,v=t[c].commentStrOffset;f<s&&p<v;p++)f=Qa.nextVisibleColumn(f,n,g.charCodeAt(p)===9,1);f<s&&(s=f)}s=Math.floor(s/n)*n;for(let c=0,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(r=0,a=t[c].commentStrOffset;f<s&&r<a;r++)f=Qa.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class z1 extends Ce{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Ss);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((g,f)=>({selection:g,index:f,ignoreFirstLine:!1}));c.sort((g,f)=>B.compareRangesUsingStarts(g.selection,f.selection));let h=c[0];for(let g=1;g<c.length;g++){const f=c[g];h.selection.endLineNumber===f.selection.startLineNumber&&(h.index<f.index?f.ignoreFirstLine=!0:(h.ignoreFirstLine=!0,h=f))}for(const g of c)s.push(new Qa(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class V4 extends z1{constructor(){super(0,{id:"editor.action.commentLine",label:y("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:ct.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class j4 extends z1{constructor(){super(1,{id:"editor.action.addCommentLine",label:y("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2081),weight:100}})}}class U4 extends z1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:y("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2099),weight:100}})}}class $4 extends Ce{constructor(){super({id:"editor.action.blockComment",label:y("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:ct.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(Ss);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new nc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}oe(V4);oe(j4);oe(U4);oe($4);var q4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qc=function(o,e){return function(t,i){e(t,i,o)}},IC,Hd;let xg=(Hd=class{static get(e){return e.getContribution(IC.ID)}constructor(e,t,i,n,s,r,a,c){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=c,this._toDispose=new We,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(h=>this._onContextMenu(h))),this._toDispose.add(this._editor.onMouseWheel(h=>{if(this._contextMenuIsBeingShownCount>0){const g=this._contextViewService.getContextViewElement(),f=h.srcElement;f.shadowRoot&&hO(g)===f.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(h=>{this._editor.getOption(24)&&h.keyCode===58&&(h.preventDefault(),h.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,r]=s;let a=0;for(const c of r)if(c instanceof uO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new ek(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new rp)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=lo(this._editor.getDomNode()),c=a.left+r.left,h=a.top+r.top+r.height;n={x:c,y:h}}const s=this._editor.getOption(128)&&!fS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:r=>{const a=this._keybindingFor(r);if(a)return new hS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new hS(r,r,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:r=>this._keybindingFor(r),onHide:r=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||gO(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=h=>({id:`menu-action-${++i}`,label:h.label,tooltip:"",class:void 0,enabled:typeof h.enabled>"u"?!0:h.enabled,checked:h.checked,run:h.run}),s=(h,g)=>new ek(`menu-action-${++i}`,h,g,void 0),r=(h,g,f,p,v)=>{if(!g)return n({label:h,enabled:g,run:()=>{}});const _=S=>()=>{this._configurationService.updateValue(f,S)},w=[];for(const S of v)w.push(n({label:S.label,checked:p===S.value,run:_(S.value)}));return s(h,w)},a=[];a.push(n({label:y("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new rp),a.push(n({label:y("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(y("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:y("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:y("context.minimap.size.fill","Fill"),value:"fill"},{label:y("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(y("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:y("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:y("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!fS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:h=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},IC=Hd,Hd.ID="editor.contrib.contextmenu",Hd);xg=IC=q4([qc(1,Rg),qc(2,ly),qc(3,qi),qc(4,us),qc(5,Ph),qc(6,An),qc(7,ng)],xg);class K4 extends Ce{constructor(){super({id:"editor.action.showContextMenu",label:y("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=xg.get(t))==null||i.showContextMenu()}}yi(xg.ID,xg,2);oe(K4);class Rw{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}}class Aw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Cb=class Cb extends je{static get(e){return e.getContribution(Cb.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new Rw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Aw(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new Aw(new Rw(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new Aw(new Rw(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}};Cb.ID="editor.contrib.cursorUndoRedoController";let Lg=Cb;class G4 extends Ce{constructor(){super({id:"cursorUndo",label:y("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Lg.get(t))==null||n.cursorUndo()}}class Z4 extends Ce{constructor(){super({id:"cursorRedo",label:y("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Lg.get(t))==null||n.cursorRedo()}}yi(Lg.ID,Lg,0);oe(G4);oe(Z4);class X4{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new B(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Gt(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Gt(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new Gt(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new Gt(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new Gt(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}}function eu(o){return ja?o.altKey:o.ctrlKey}const Kl=class Kl extends je{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(eu(e)&&(this._modifierPressed=!0),this._mouseDown&&eu(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(eu(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Kl.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const n=(this._editor.getSelections()||[]).filter(s=>t.position&&s.containsPosition(t.position));if(n.length===1)this._dragSelection=n[0];else return}eu(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Pt(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const n=this._editor.getSelection();if(n){const{selectionStartLineNumber:s,selectionStartColumn:r}=n;i=[new Gt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Gt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(eu(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Kl.ID,new X4(this._dragSelection,t,eu(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new B(e.lineNumber,e.column,e.lineNumber,e.column),options:Kl._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};Kl.ID="editor.contrib.dragAndDrop",Kl.TRIGGER_KEY_VALUE=ja?6:5,Kl._DECORATION_OPTIONS=Ei.register({description:"dnd-target",className:"dnd-target"});let wv=Kl;yi(wv.ID,wv,2);yi(Cl.ID,Cl,0);Fg(VS);Rt(new class extends go{constructor(){super({id:rM,precondition:I1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=Cl.get(e))==null?void 0:t.changePasteType()}});Rt(new class extends go{constructor(){super({id:"editor.hidePasteWidget",precondition:I1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=Cl.get(e))==null||t.clearWidgets()}});var Wd;oe((Wd=class extends Ce{constructor(){super({id:"editor.action.pasteAs",label:y("pasteAs","Paste As..."),alias:"Paste As...",precondition:N.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Wd.argsSchema}]}})}run(e,t,i){var s;let n=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!n&&i&&(n=typeof i.id=="string"?i.id:void 0),(s=Cl.get(t))==null?void 0:s.pasteAs(n?new Rn(n):void 0)}},Wd.argsSchema={type:"object",properties:{kind:{type:"string",description:y("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},Wd));oe(class extends Ce{constructor(){super({id:"editor.action.pasteAsText",label:y("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:N.writable})}run(o,e){var t;return(t=Cl.get(e))==null?void 0:t.pasteAs({providerId:_h.id})}});class Y4{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class hI{constructor(e){this.identifier=e}}const sN=Dl("treeViewsDndService");El(sN,Y4,1);var J4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Km=function(o,e){return function(t,i){e(t,i,o)}},DC;const oN="editor.experimental.dropIntoEditor.defaultProvider",rN="editor.changeDropType",V1=new Oi("dropWidgetVisible",!1,y("dropWidgetVisible","Whether the drop widget is showing"));var Bd;let kg=(Bd=class extends je{static get(e){return e.getContribution(DC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=BS.getInstance(),this._dropProgressManager=this._register(t.createInstance(lv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(dv,"dropIntoEditor",e,V1,{id:rN,label:y("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var s;if(!i.dataTransfer||!e.hasModel())return;(s=this._currentOperation)==null||s.cancel(),e.focus(),e.setPosition(t);const n=Ls(async r=>{const a=new We,c=a.add(new sg(e,1,void 0,r));try{const h=await this.extractDataTransferData(i);if(h.size===0||c.token.isCancellationRequested)return;const g=e.getModel();if(!g)return;const f=this._languageFeaturesService.documentDropEditProvider.ordered(g).filter(v=>v.dropMimeTypes?v.dropMimeTypes.some(_=>h.matches(_)):!0),p=a.add(await this.getDropEdits(f,g,t,h,c));if(c.token.isCancellationRequested)return;if(p.edits.length){const v=this.getInitialActiveEditIndex(g,p.edits),_=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([B.fromPositions(t)],{activeEditIndex:v,allEdits:p.edits},_,async w=>w,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,y("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new We,a=await Jp(Promise.all(e.map(async h=>{try{const g=await h.provideDocumentDropEdits(t,i,n,s.token);return g&&r.add(g),g==null?void 0:g.edits.map(f=>({...f,providerId:h.id}))}catch(g){console.error(g)}})),s.token),c=_l(a??[]).flat();return{edits:sM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(oN,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Rn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&ZT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new GT;const t=JT(e.dataTransfer);if(this.treeItemsTransfer.hasData(hI.prototype)){const i=this.treeItemsTransfer.getData(hI.prototype);if(Array.isArray(i))for(const n of i){const s=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(s)for(const[r,a]of s)t.replace(r,a)}}return t}},DC=Bd,Bd.ID="editor.contrib.dropIntoEditorController",Bd);kg=DC=J4([Km(1,li),Km(2,An),Km(3,Tt),Km(4,sN)],kg);yi(kg.ID,kg,2);Fg(zS);Rt(new class extends go{constructor(){super({id:rN,precondition:V1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=kg.get(e))==null||i.changeDropType()}});Rt(new class extends go{constructor(){super({id:"editor.hideDropWidget",precondition:V1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=kg.get(e))==null||i.clearWidgets()}});na.as(tm.Configuration).registerConfiguration({...dy,properties:{[oN]:{type:"object",scope:5,description:y("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Bs=class Bs{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const n=i.options;if(n===Bs._FIND_MATCH_DECORATION||n===Bs._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let n=0,s=this._decorations.length;n<s;n++){const r=this._editor.getModel().getDecorationRange(this._decorations[n]);if(e.equalsRange(r)){t=this._decorations[n],i=n+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(n=>{if(this._highlightedDecorationId!==null&&(n.changeDecorationOptions(this._highlightedDecorationId,Bs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Bs._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let s=this._editor.getModel().getDecorationRange(t);if(s.startLineNumber!==s.endLineNumber&&s.endColumn===1){const r=s.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(r);s=new B(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Bs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Bs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Bs._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),h=this._editor.getLayoutInfo().height/a,g=Math.max(2,Math.ceil(3/h));let f=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let v=1,_=e.length;v<_;v++){const w=e[v].range;p+g>=w.startLineNumber?w.endLineNumber>p&&(p=w.endLineNumber):(s.push({range:new B(f,1,p,1),options:Bs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=w.startLineNumber,p=w.endLineNumber)}s.push({range:new B(f,1,p,1),options:Bs._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,c=e.length;a<c;a++)r[a]={range:e[a].range,options:n};this._decorations=i.deltaDecorations(this._decorations,r),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,s),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,Bs._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(!(!n||n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){const n=this._decorations[t],s=this._editor.getModel().getDecorationRange(n);if(!(!s||s.startLineNumber<e.lineNumber)){if(s.startLineNumber>e.lineNumber)return s;if(!(s.startColumn<e.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}};Bs._CURRENT_FIND_MATCH_DECORATION=Ei.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:fs(gw),position:Ha.Center},minimap:{color:fs(tk),position:1}}),Bs._FIND_MATCH_DECORATION=Ei.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:fs(gw),position:Ha.Center},minimap:{color:fs(tk),position:1}}),Bs._FIND_MATCH_NO_OVERVIEW_DECORATION=Ei.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Bs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Ei.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:fs(gw),position:Ha.Center}}),Bs._RANGE_HIGHLIGHT_DECORATION=Ei.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Bs._FIND_SCOPE_DECORATION=Ei.register({description:"find-scope",className:"findScope",isWholeLine:!0});let EC=Bs;class Q4{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const i=[];for(let r=0;r<this._ranges.length;r++)i.push({range:this._ranges[r],text:this._replaceStrings[r]});i.sort((r,a)=>B.compareRangesUsingStarts(r.range,a.range));const n=[];let s=i[0];for(let r=1;r<i.length;r++)s.range.endLineNumber===i[r].range.startLineNumber&&s.range.endColumn===i[r].range.startColumn?(s.range=s.range.plusRange(i[r].range),s.text=s.text+i[r].text):(n.push(s),s=i[r]);n.push(s);for(const r of n)t.addEditOperation(r.range,r.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}function aN(o,e){if(o&&o[0]!==""){const t=uI(o,e,"-"),i=uI(o,e,"_");return t&&!i?gI(o,e,"-"):!t&&i?gI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():fO(o[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):o[0][0].toUpperCase()!==o[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function uI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function gI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=aN([n[a]],r)+t}),s.slice(0,-1)}class fI{constructor(e){this.staticValue=e,this.kind=0}}class ez{constructor(e){this.pieces=e,this.kind=1}}class Ig{static fromStaticValue(e){return new Ig([wd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new fI(""):e.length===1&&e[0].staticValue!==null?this._state=new fI(e[0].staticValue):this._state=new ez(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?aN(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n<s;n++){const r=this._state.pieces[n];if(r.staticValue!==null){i+=r.staticValue;continue}let a=Ig._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const c=[],h=r.caseOps.length;let g=0;for(let f=0,p=a.length;f<p;f++){if(g>=h){c.push(a.slice(f));break}switch(r.caseOps[g]){case"U":c.push(a[f].toUpperCase());break;case"u":c.push(a[f].toUpperCase()),g++;break;case"L":c.push(a[f].toLowerCase());break;case"l":c.push(a[f].toLowerCase()),g++;break;default:c.push(a[f])}}a=c.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class wd{static staticValue(e){return new wd(e,-1,null)}static caseOps(e,t){return new wd(null,e,t)}constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}}class tz{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=wd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=wd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=wd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Ig(this._result)}}function iz(o){if(!o||o.length===0)return new Ig(null);const e=[],t=new tz(o);for(let i=0,n=o.length;i<n;i++){const s=o.charCodeAt(i);if(s===92){if(i++,i>=n)break;const r=o.charCodeAt(i);switch(r){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
|
|
20
|
-
`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(s===36){if(i++,i>=n)break;const r=o.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<n){const c=o.charCodeAt(i+1);if(48<=c&&c<=57){i++,a=a*10+(c-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}const Nl=new Oi("findWidgetVisible",!1);Nl.toNegated();const Vy=new Oi("findInputFocussed",!1),j1=new Oi("replaceInputFocussed",!1),Gm={primary:545,mac:{primary:2593}},Zm={primary:565,mac:{primary:2613}},Xm={primary:560,mac:{primary:2608}},Ym={primary:554,mac:{primary:2602}},Jm={primary:558,mac:{primary:2606}},_n={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},sc=19999,nz=240;class jf{constructor(e,t){this._toDispose=new We,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Qp,this._decorations=new EC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new _s(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Zs(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},nz)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let c=a.endLineNumber;return a.endColumn===1&&(c=c-1),new B(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,sc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=ME(n.map(c=>c.range),c=>B.compareRangesUsingStarts(c,s)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===1?(i===1?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new Pt(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const g=this._decorations.matchAfterPosition(e);g&&this._setCurrentFindMatch(g);return}if(this._decorations.getCount()<sc){let g=this._decorations.matchBeforePosition(e);g&&g.isEmpty()&&g.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),g=this._decorations.matchBeforePosition(e)),g&&this._setCurrentFindMatch(g);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=jf._getSearchRange(this._editor.getModel(),i);n.getEndPosition().isBefore(e)&&(e=n.getEndPosition()),e.isBefore(n.getStartPosition())&&(e=n.getEndPosition());const{lineNumber:s,column:r}=e,a=this._editor.getModel();let c=new Pt(s,r),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!h){if(!t&&!n.containsRange(h.range))return this._moveToPrevMatch(h.range.getStartPosition(),!0);this._setCurrentFindMatch(h.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Pt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<sc){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}const t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,n=!1){if(this._cannotFind())return null;const s=this._decorations.getFindScope(),r=jf._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:c}=e,h=this._editor.getModel();let g=new Pt(a,c),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&f&&f.range.isEmpty()&&f.range.getStartPosition().equals(g)&&(g=this._nextSearchPosition(g),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),f?!n&&!r.containsRange(f.range)?this._getNextMatch(f.range.getEndPosition(),t,i,!0):f:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?iz(this._state.replaceString):Ig.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),s=new Yp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Pt(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map(s=>jf._getSearchRange(this._editor.getModel(),s));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=sc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new pO(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let f="mu";i.ignoreCase&&(f+="i"),i.global&&(f+="g"),i=new RegExp(i.source,f)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let c;const h=this._state.preserveCase;a.hasReplacementPatterns||h?c=s.replace(i,function(){return a.buildReplaceString(arguments,h)}):c=s.replace(i,a.buildReplaceString(null,h));const g=new NE(r,c,this._editor.getSelection());this._executeEditorCommand("replaceAll",g)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let r=0,a=i.length;r<a;r++)n[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);const s=new Q4(this._editor.getSelection(),i.map(r=>r.range),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(s=>new Gt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn));const n=this._editor.getSelection();for(let s=0,r=i.length;s<r;s++)if(i[s].equalsRange(n)){i=[n].concat(i.slice(0,s)).concat(i.slice(s+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}const xb=class xb extends nm{constructor(e,t,i){super(),this._hideSoon=this._register(new _s(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:gd(AE),inputActiveOptionForeground:gd(RE),inputActiveOptionBackground:gd(V0)},s=this._register(pS());this.caseSensitive=this._register(new mO({appendTitle:this._keybindingLabelFor(_n.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new _O({appendTitle:this._keybindingLabelFor(_n.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new vO({appendTitle:this._keybindingLabelFor(_n.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register($i(this._domNode,Un.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register($i(this._domNode,"mouseover",r=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return xb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};xb.ID="editor.contrib.findOptionsWidget";let PC=xb;function Qm(o,e){return o===1?!0:o===2?!1:e}class sz extends je{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Qm(this._isRegexOverride,this._isRegex)}get wholeWord(){return Qm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Qm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Qm(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new fi),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),typeof i<"u"&&(B.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var g;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,c=this.matchCase,h=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((g=e.searchScope)!=null&&g.every(f=>{var p;return(p=this._searchScope)==null?void 0:p.some(v=>!B.equalsRange(v,f))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,n.isRegex=!0),a!==this.wholeWord&&(s=!0,n.wholeWord=!0),c!==this.matchCase&&(s=!0,n.matchCase=!0),h!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=sc}}const oz=y("defaultLabel","input"),rz=y("label.preserveCaseToggle","Preserve Case");class az extends OE{constructor(e){super({icon:ei.preserveCase,title:rz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??my("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class lz extends nm{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new fi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fi),this._onInput=this._register(new fi),this._onKeyUp=this._register(new fi),this._onPreserveCaseKeyDown=this._register(new fi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||oz;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,c=!!n.flexibleWidth,h=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new bO(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:c,flexibleMaxHeight:h,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new az({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const g=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const v=g.indexOf(this.domNode.ownerDocument.activeElement);if(v>=0){let _=-1;p.equals(17)?_=(v+1)%g.length:p.equals(15)&&(v===0?_=g.length-1:_=v-1),p.equals(9)?(g[v].blur(),this.inputBox.focus()):_>=0&&g[_].focus(),q_.stop(p,!0)}}});const f=document.createElement("div");f.className="controls",f.style.display=this._showOptionButtons?"block":"none",f.appendChild(this.preserveCase.domNode),this.domNode.appendChild(f),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var lN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cN=function(o,e){return function(t,i){e(t,i,o)}};const U1=new Oi("suggestWidgetVisible",!1,y("suggestWidgetVisible","Whether suggestion are visible")),$1="historyNavigationWidgetFocus",dN="historyNavigationForwardsEnabled",hN="historyNavigationBackwardsEnabled";let pl;const e_=[];function uN(o,e){if(e_.includes(e))throw new Error("Cannot register the same widget multiple times");e_.push(e);const t=new We,i=new Oi($1,!1).bindTo(o),n=new Oi(dN,!0).bindTo(o),s=new Oi(hN,!0).bindTo(o),r=()=>{i.set(!0),pl=e},a=()=>{i.set(!1),pl===e&&(pl=void 0)};return wO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Nn(()=>{e_.splice(e_.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let TC=class extends yO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(uN(s,this.inputBox))}};TC=lN([cN(3,qi)],TC);let MC=class extends lz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(uN(r,this.inputBox))}};MC=lN([cN(3,qi)],MC);Ka.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:le.and(le.has($1),le.equals(hN,!0),le.not("isComposing"),U1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{pl==null||pl.showPreviousValue()}});Ka.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:le.and(le.has($1),le.equals(dN,!0),le.not("isComposing"),U1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{pl==null||pl.showNextValue()}});function pI(o){var e,t;return((e=o.lookupKeybinding("history.showPrevious"))==null?void 0:e.getElectronAccelerator())==="Up"&&((t=o.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const mI=ns("find-collapsed",ei.chevronRight,y("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),_I=ns("find-expanded",ei.chevronDown,y("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),cz=ns("find-selection",ei.selection,y("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),dz=ns("find-replace",ei.replace,y("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),hz=ns("find-replace-all",ei.replaceAll,y("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),uz=ns("find-previous-match",ei.arrowUp,y("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),gz=ns("find-next-match",ei.arrowDown,y("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),fz=y("label.findDialog","Find / Replace"),pz=y("label.find","Find"),mz=y("placeholder.find","Find"),_z=y("label.previousMatchButton","Previous Match"),vz=y("label.nextMatchButton","Next Match"),bz=y("label.toggleSelectionFind","Find in Selection"),yz=y("label.closeButton","Close"),wz=y("label.replace","Replace"),Sz=y("placeholder.replace","Replace"),Cz=y("label.replaceButton","Replace"),xz=y("label.replaceAllButton","Replace All"),Lz=y("label.toggleReplaceButton","Toggle Replace"),kz=y("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",sc),Iz=y("label.matchesLocation","{0} of {1}"),vI=y("label.noResults","No results"),va=419,Dz=275,Ez=Dz-54;let hf=69;const Pz=33,bI="ctrlEnterReplaceAll.windows.donotask",yI=ja?256:2048;class Ow{constructor(e){this.afterLineNumber=e,this.heightInPx=Pz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function wI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function SI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const Lb=class Lb extends nm{constructor(e,t,i,n,s,r,a,c,h,g){super(),this._hoverService=g,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=n,this._keybindingService=s,this._contextKeyService=r,this._storageService=c,this._notificationService=h,this._ctrlEnterReplaceAllWarningPrompted=!!c.getBoolean(bI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Dc(500),this._register(Nn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(f=>this._onStateChanged(f))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(f=>{if(f.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),f.hasChanged(146)&&this._tryUpdateWidgetWidth(),f.hasChanged(2)&&this.updateAccessibilitySupport(),f.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const v=this._codeEditor.getOption(41).addExtraSpaceOnTop;v&&!this._viewZone&&(this._viewZone=new Ow(0),this._showViewZone()),!v&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const f=await this._controller.getGlobalBufferTerm();f&&f!==this._state.searchString&&(this._state.change({searchString:f},!1),this._findInput.select())}})),this._findInputFocused=Vy.bindTo(r),this._findFocusTracker=this._register(og(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=j1.bindTo(r),this._replaceFocusTracker=this._register(og(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new Ow(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(f=>{if(f.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return Lb.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=gr(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,bn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=hf+"px",this._state.matchesCount>=sc?this._matchesCount.title=kz:this._matchesCount.title="",(t=this._matchesCount.firstChild)==null||t.remove();let e;if(this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=sc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=J0(Iz,n,i)}else e=vI;this._matchesCount.appendChild(document.createTextNode(e)),Ir(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),hf=Math.max(hf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===vI)return i===""?y("ariaSearchNoResultEmpty","{0} found",e):y("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=y("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1?`${s.getLineContent(t.startLineNumber)}, ${n}`:n}return y("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=lo(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=n.left+(s?s.left:0),a=s?s.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const c=SO(this._domNode).left;r>c&&(t=!1);const h=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(h?h.left:0)>c&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(n=>{i.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new Ow(0));const i=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){const s=this._getHeight();if(s===i.heightInPx)return;const r=s-i.heightInPx;i.heightInPx=s,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r);return}else{let s=this._getHeight();if(s-=this._codeEditor.getOption(84).top,s<=0)return;i.heightInPx=s,this._viewZoneId=n.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,n=e.minimap.minimapWidth;let s=!1,r=!1,a=!1;if(this._resized&&gr(this._domNode)>va){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=gr(this._findInput.domNode);return}if(va+28+n>=i&&(r=!0),va+28+n-hf>=i&&(a=!0),va+28+n-hf>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const c=this._findInput.inputBox.element.clientWidth;c>0&&(this._replaceInput.width=c)}else this._isReplaceVisible&&(this._replaceInput.width=gr(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!B.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(yI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
|
|
21
|
-
`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return wI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return SI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(yI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{oy&&Og&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(y("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(bI,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
|
|
22
|
-
`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return wI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return SI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new TC(null,this._contextViewProvider,{width:Ez,label:pz,placeholder:mz,appendCaseSensitiveLabel:this._keybindingLabelFor(_n.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(_n.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(_n.ToggleRegexCommand),validation:g=>{if(g.length===0||!this._findInput.getRegex())return null;try{return new RegExp(g,"gu"),null}catch(f){return{content:f.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>pI(this._keybindingService),inputBoxStyles:nk,toggleStyles:ik},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(g=>this._onFindInputKeyDown(g))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(g=>{g.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),g.preventDefault())})),this._register(this._findInput.onRegexKeyDown(g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),g.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(g=>{this._tryUpdateHeight()&&this._showViewZone()})),CO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(pS());this._prevBtn=this._register(new tu({label:_z+this._keybindingLabelFor(_n.PreviousMatchFindAction),icon:uz,hoverDelegate:i,onTrigger:()=>{bu(this._codeEditor.getAction(_n.PreviousMatchFindAction)).run().then(void 0,bn)}},this._hoverService)),this._nextBtn=this._register(new tu({label:vz+this._keybindingLabelFor(_n.NextMatchFindAction),icon:gz,hoverDelegate:i,onTrigger:()=>{bu(this._codeEditor.getAction(_n.NextMatchFindAction)).run().then(void 0,bn)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new OE({icon:cz,title:bz+this._keybindingLabelFor(_n.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:gd(V0),inputActiveOptionBorder:gd(AE),inputActiveOptionForeground:gd(RE)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let g=this._codeEditor.getSelections();g=g.map(f=>(f.endColumn===1&&f.endLineNumber>f.startLineNumber&&(f=f.setEndPosition(f.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(f.endLineNumber-1))),f.isEmpty()?null:f)).filter(f=>!!f),g.length&&this._state.change({searchScope:g},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new tu({label:yz+this._keybindingLabelFor(_n.CloseFindWidgetCommand),icon:FE,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),g.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new MC(null,void 0,{label:wz,placeholder:Sz,appendPreserveCaseLabel:this._keybindingLabelFor(_n.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>pI(this._keybindingService),inputBoxStyles:nk,toggleStyles:ik},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(g=>this._onReplaceInputKeyDown(g))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(g=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(g=>{g.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),g.preventDefault())}));const r=this._register(pS());this._replaceBtn=this._register(new tu({label:Cz+this._keybindingLabelFor(_n.ReplaceOneAction),icon:dz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new tu({label:xz+this._keybindingLabelFor(_n.ReplaceAllAction),icon:hz,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const c=document.createElement("div");c.className="replace-actions",a.appendChild(c),c.appendChild(this._replaceBtn.domNode),c.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new tu({label:Lz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=gr(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=fz,this._domNode.role="dialog",this._domNode.style.width=`${va}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new mu(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=va;this._register(this._resizeSash.onDidStart(()=>{h=gr(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<va)return;const p=parseFloat(xO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=gr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=gr(this._domNode);if(g<va)return;let f=va;if(!this._resized||g===va){const p=this._codeEditor.getLayoutInfo();f=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=gr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};Lb.ID="editor.contrib.findWidget";let NC=Lb;class tu extends nm{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Xi.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupManagedHover(e.hoverDelegate??my("element"),this._domNode,this._opts.label)),this.onclick(this._domNode,n=>{this._opts.onTrigger(),n.preventDefault()}),this.onkeydown(this._domNode,n=>{var s,r;if(n.equals(10)||n.equals(3)){this._opts.onTrigger(),n.preventDefault();return}(r=(s=this._opts).onKeyDown)==null||r.call(s,n)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...Xi.asClassNameArray(mI)),this._domNode.classList.add(...Xi.asClassNameArray(_I))):(this._domNode.classList.remove(...Xi.asClassNameArray(_I)),this._domNode.classList.add(...Xi.asClassNameArray(mI)))}}cy((o,e)=>{const t=o.getColor(mE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${sp(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(LO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${sp(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(vl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(kO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(IO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var gN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qo=function(o,e){return function(t,i){e(t,i,o)}},RC;const Tz=524288;function AC(o,e="single",t=!1){if(!o.hasModel())return null;const i=o.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const n=o.getConfiguredWordAtPosition(i.getStartPosition());if(n&&t===!1)return n.word}else if(o.getModel().getValueLengthInRange(i)<Tz)return o.getModel().getValueInRange(i)}return null}var zd;let ho=(zd=class extends je{get editor(){return this._editor}static get(e){return e.getContribution(RC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Nl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Dc(500),this._state=this._register(new sz),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!Vy.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=op(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const n=AC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=op(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=AC(this._editor,e.seedSearchStringFromSelection);n&&(i.searchString=n)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const n=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;n&&(i.searchString=n)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const n=this._editor.getSelections();n.some(s=>!s.isEmpty())&&(i.searchScope=n)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new jf(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?(e=this._editor.getModel())!=null&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(y("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}},RC=zd,zd.ID="editor.contrib.findController",zd);ho=RC=gN([Qo(1,qi),Qo(2,Fc),Qo(3,Ag),Qo(4,to),Qo(5,rm)],ho);let OC=class extends ho{constructor(e,t,i,n,s,r,a,c,h){super(e,i,a,c,r,h),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new NC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new PC(this._editor,this._state,this._keybindingService))}};OC=gN([Qo(1,ly),Qo(2,qi),Qo(3,us),Qo(4,Pr),Qo(5,to),Qo(6,Fc),Qo(7,Ag),Qo(8,rm)],OC);const Mz=HE(new WE({id:_n.StartFindAction,label:y("startFindAction","Find"),alias:"Find",precondition:le.or(N.focus,le.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ct.MenubarEditMenu,group:"3_find",title:y({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Mz.addImplementation(0,(o,e,t)=>{const i=ho.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const Nz={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class Rz extends Ce{constructor(){super({id:_n.StartFindWithArgs,label:y("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Nz})}async run(e,t,i){const n=ho.get(t);if(n){const s=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},s),n.setGlobalBufferTerm(n.getState().searchString)}}}class Az extends Ce{constructor(){super({id:_n.StartFindWithSelection,label:y("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=ho.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class fN extends Ce{async run(e,t){const i=ho.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class Oz extends fN{constructor(){super({id:_n.NextMatchFindAction,label:y("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:N.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:le.and(N.focus,Vy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class Fz extends fN{constructor(){super({id:_n.PreviousMatchFindAction,label:y("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:N.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:le.and(N.focus,Vy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class Hz extends Ce{constructor(){super({id:_n.GoToMatchFindAction,label:y("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Nl}),this._highlightDecorations=[]}run(e,t,i){const n=ho.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(to).notify({severity:X0.Warning,message:y("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Il),a=new We,c=a.add(r.createInputBox());c.placeholder=y("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const h=f=>{const p=parseInt(f);if(isNaN(p))return;const v=n.getState().matchesCount;if(p>0&&p<=v)return p-1;if(p<0&&p>=-v)return v+p},g=f=>{const p=h(f);if(typeof p=="number"){c.validationMessage=void 0,n.goToMatch(p);const v=n.getState().currentMatch;v&&this.addDecorations(t,v)}else c.validationMessage=y("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(c.onDidChangeValue(f=>{g(f)})),a.add(c.onDidAccept(()=>{const f=h(c.value);typeof f=="number"?(n.goToMatch(f),c.hide()):c.validationMessage=y("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(c.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),c.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:fs(BE),position:Ha.Full}}}])})}}class pN extends Ce{async run(e,t){const i=ho.get(t);if(!i)return;const n=AC(t,"single",!1);n&&i.setSearchString(n),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class Wz extends pN{constructor(){super({id:_n.NextSelectionMatchFindAction,label:y("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class Bz extends pN{constructor(){super({id:_n.PreviousSelectionMatchFindAction,label:y("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const zz=HE(new WE({id:_n.StartFindReplaceAction,label:y("startReplace","Replace"),alias:"Replace",precondition:le.or(N.focus,le.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ct.MenubarEditMenu,group:"3_find",title:y({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));zz.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=ho.get(e);if(!i)return!1;const n=e.getSelection(),s=i.isFindInputFocused(),r=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!s,a=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});yi(ho.ID,OC,0);oe(Rz);oe(Az);oe(Oz);oe(Fz);oe(Hz);oe(Wz);oe(Bz);const la=go.bindToContribution(ho.get);Rt(new la({id:_n.CloseFindWidgetCommand,precondition:Nl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:le.and(N.focus,le.not("isComposing")),primary:9,secondary:[1033]}}));Rt(new la({id:_n.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:N.focus,primary:Gm.primary,mac:Gm.mac,win:Gm.win,linux:Gm.linux}}));Rt(new la({id:_n.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:N.focus,primary:Zm.primary,mac:Zm.mac,win:Zm.win,linux:Zm.linux}}));Rt(new la({id:_n.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:N.focus,primary:Xm.primary,mac:Xm.mac,win:Xm.win,linux:Xm.linux}}));Rt(new la({id:_n.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:N.focus,primary:Ym.primary,mac:Ym.mac,win:Ym.win,linux:Ym.linux}}));Rt(new la({id:_n.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:N.focus,primary:Jm.primary,mac:Jm.mac,win:Jm.win,linux:Jm.linux}}));Rt(new la({id:_n.ReplaceOneAction,precondition:Nl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:N.focus,primary:3094}}));Rt(new la({id:_n.ReplaceOneAction,precondition:Nl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:le.and(N.focus,j1),primary:3}}));Rt(new la({id:_n.ReplaceAllAction,precondition:Nl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:N.focus,primary:2563}}));Rt(new la({id:_n.ReplaceAllAction,precondition:Nl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:le.and(N.focus,j1),primary:void 0,mac:{primary:2051}}}));Rt(new la({id:_n.SelectAllMatchesAction,precondition:Nl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:N.focus,primary:515}}));const Vz={0:" ",1:"u",2:"r"},CI=65535,Ur=16777215,xI=4278190080;class Fw{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){const i=e/32|0,n=e%32,s=this._states[i];t?this._states[i]=s|1<<n:this._states[i]=s&~(1<<n)}}class Ao{constructor(e,t,i){if(e.length!==t.length||e.length>CI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Fw(e.length),this._userDefinedStates=new Fw(e.length),this._recoveredStates=new Fw(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,n)=>{const s=e[e.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=n};for(let i=0,n=this._startIndexes.length;i<n;i++){const s=this._startIndexes[i],r=this._endIndexes[i];if(s>Ur||r>Ur)throw new Error("startLineNumber or endLineNumber must not exceed "+Ur);for(;e.length>0&&!t(s,r);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=s+((a&255)<<24),this._endIndexes[i]=r+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Ur}getEndLineNumber(e){return this._endIndexes[e]&Ur}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n<this._types.length;n++)this._types[n]===e&&(this.setCollapsed(n,t),i=!0);return i}toRegion(e){return new jz(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&xI)>>>24)+((this._endIndexes[e]&xI)>>>16);return t===CI?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){const n=Math.floor((t+i)/2);e<this.getStartLineNumber(n)?i=n:t=n+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${Vz[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Ur,endLineNumber:this._endIndexes[e]&Ur,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),n=new Uint32Array(t);let s=[],r=!1;for(let c=0;c<t;c++){const h=e[c];i[c]=h.startLineNumber,n[c]=h.endLineNumber,s.push(h.type),h.type&&(r=!0)}r||(s=void 0);const a=new Ao(i,n,s);for(let c=0;c<t;c++)e[c].isCollapsed&&a.setCollapsed(c,!0),a.setSource(c,e[c].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(S,D)=>Array.isArray(S)?(E=>E<D?S[E]:void 0):(E=>E<D?S.toFoldRange(E):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,h=0,g=r(0),f=a(0);const p=[];let v,_=0;const w=[];for(;g||f;){let S;if(f&&(!g||g.startLineNumber>=f.startLineNumber))g&&g.startLineNumber===f.startLineNumber?(f.source===1?S=f:(S=g,S.isCollapsed=f.isCollapsed&&(g.endLineNumber===f.endLineNumber||!(n!=null&&n.startsInside(g.startLineNumber+1,g.endLineNumber+1))),S.source=0),g=r(++c)):(S=f,f.isCollapsed&&f.source===0&&(S.source=2)),f=a(++h);else{let D=h,E=f;for(;;){if(!E||E.startLineNumber>g.endLineNumber){S=g;break}if(E.source===1&&E.endLineNumber>g.endLineNumber)break;E=a(++D)}g=r(++c)}if(S){for(;v&&v.endLineNumber<S.startLineNumber;)v=p.pop();S.endLineNumber>S.startLineNumber&&S.startLineNumber>_&&S.endLineNumber<=i&&(!v||v.endLineNumber>=S.endLineNumber)&&(w.push(S),_=S.startLineNumber,v&&p.push(v),v=S)}}return w}}class jz{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class Uz{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new fi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Ao(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,n)=>i.regionIndex-n.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,s=-1,r=-1;const a=c=>{for(;n<c;){const h=this._regions.getEndLineNumber(n),g=this._regions.isCollapsed(n);if(h<=s){const f=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(g,h<=r,f))}g&&h>r&&(r=h),n++}};for(const c of e){const h=c.regionIndex,g=this._editorDecorationIds[h];if(g&&!t[g]){t[g]=!0,a(h);const f=!this._regions.isCollapsed(h);this._regions.setCollapsed(h,f),s=Math.max(s,this._regions.getEndLineNumber(h))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=n=>{for(const s of e)if(!(s.startLineNumber>n.endLineNumber||n.startLineNumber>s.endLineNumber))return!0;return!1};for(let n=0;n<this._regions.length;n++){const s=this._regions.toFoldRange(n);(s.source===0||!i(s))&&t.push(s)}this.updatePost(Ao.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Ao.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Ao.fromFoldRanges(n))}updatePost(e){const t=[];let i=-1;for(let n=0,s=e.length;n<s;n++){const r=e.getStartLineNumber(n),a=e.getEndLineNumber(n),c=e.isCollapsed(n),h=e.getSource(n)!==0,g={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:g,options:this._decorationProvider.getDecorationOption(c,a<=i,h)}),c&&a>i&&(i=a)}this._decorationProvider.changeDecorations(n=>this._editorDecorationIds=n.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i<n;i++){let s=this.regions.isCollapsed(i);const r=this.regions.getSource(i);if(s||r!==0){const a=this._regions.toFoldRange(i),c=this._textModel.getDecorationRange(this._editorDecorationIds[i]);c&&(s&&(e!=null&&e.startsInside(c.startLineNumber+1,c.endLineNumber))&&(s=!1),t.push({startLineNumber:c.startLineNumber,endLineNumber:c.endLineNumber,type:a.type,isCollapsed:s,source:r}))}}return t}getMemento(){const e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>i)continue;const a=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,isCollapsed:r.isCollapsed,source:r.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const r=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);(!s.checksum||r===s.checksum)&&t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=Ao.sanitizeAndMerge(this._regions,t,i);this.updatePost(Ao.fromFoldRanges(n))}_getLinesChecksum(e,t){return zE(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const r=this._regions.toRegion(n);(!t||t(r,s))&&i.push(r),s++,n=r.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const r=[];for(let a=n,c=this._regions.length;a<c;a++){const h=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!h.containedBy(r[r.length-1]);)r.pop();r.push(h),t(h,r.length)&&i.push(h)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const c=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(c))&&i.push(c);else break}return i}}function q1(o,e,t){const i=[];for(const n of t){const s=o.getRegionAtLine(n);if(s){const r=!s.isCollapsed;if(i.push(s),e>1){const a=o.getRegionsInside(s,(c,h)=>c.isCollapsed!==r&&h<e);i.push(...a)}}}o.toggleCollapseState(i)}function Ug(o,e,t=Number.MAX_VALUE,i){const n=[];if(i&&i.length>0)for(const s of i){const r=o.getRegionAtLine(s);if(r&&(r.isCollapsed!==e&&n.push(r),t>1)){const a=o.getRegionsInside(r,(c,h)=>c.isCollapsed!==e&&h<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function mN(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,c)=>a.isCollapsed!==e&&c<=t);n.push(...r)}o.toggleCollapseState(n)}function $z(o,e,t){const i=[];for(const n of t){const s=o.getAllRegionsAtLine(n,r=>r.isCollapsed!==e);s.length>0&&i.push(s[0])}o.toggleCollapseState(i)}function qz(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(c=>r.containsLine(c)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function _N(o,e,t){const i=[];for(const r of t){const a=o.getAllRegionsAtLine(r,void 0);a.length>0&&i.push(a[0])}const n=r=>i.every(a=>!a.containedBy(r)&&!r.containedBy(a))&&r.isCollapsed!==e,s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function K1(o,e,t){const i=o.textModel,n=o.regions,s=[];for(let r=n.length-1;r>=0;r--)if(t!==n.isCollapsed(r)){const a=n.getStartLineNumber(r);e.test(i.getLineContent(a))&&s.push(n.toRegion(r))}o.toggleCollapseState(s)}function G1(o,e,t){const i=o.regions,n=[];for(let s=i.length-1;s>=0;s--)t!==i.isCollapsed(s)&&e===i.getType(s)&&n.push(i.toRegion(s));o.toggleCollapseState(n)}function Kz(o,e){let t=null;const i=e.getRegionAtLine(o);if(i!==null&&(t=i.startLineNumber,o===t)){const n=i.parentIndex;n!==-1?t=e.regions.getStartLineNumber(n):t=null}return t}function Gz(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){if(o!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let n=0;for(i!==-1&&(n=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<o)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function Zz(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){const i=t.parentIndex;let n=0;if(i!==-1)n=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;n=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>o)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}class Xz{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new fi,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||DO(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,r=-1;const a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;const c=a.getStartLineNumber(i)+1,h=a.getEndLineNumber(i);s<=c&&h<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===c&&this._hiddenRanges[n].endLineNumber===h?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new B(c,1,h,1))),s=c,r=h)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return LI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!Yz(r,n))&&(n=LI(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let c=e[r];const h=s(c.startLineNumber);h&&(c=c.setStartPosition(h,i.getLineMaxColumn(h)),t=!0);const g=s(c.endLineNumber);g&&(c=c.setEndPosition(g,i.getLineMaxColumn(g)),t=!0),e[r]=c}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function Yz(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function LI(o,e){const t=ME(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const Jz=5e3,Qz="indent";class Z1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=Qz}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(iV(this.editorModel,i,n,this.foldingRangesLimit))}}let eV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Ur||t>Ur)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),n=new Uint32Array(this._length);for(let s=this._length-1,r=0;s>=0;s--,r++)i[r]=this._startIndexes[s],n[r]=this._endIndexes[s];return new Ao(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let c=0;c<this._indentOccurrences.length;c++){const h=this._indentOccurrences[c];if(h){if(h+i>t){n=c;break}i+=h}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let c=this._length-1,h=0;c>=0;c--){const g=this._startIndexes[c],f=e.getLineContent(g),p=H0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new Ao(r,a)}}};const tV={limit:Jz,update:()=>{}};function iV(o,e,t,i=tV){const n=o.getOptions().tabSize,s=new eV(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],c=o.getLineCount()+1;a.push({indent:-1,endAbove:c,line:c});for(let h=o.getLineCount();h>0;h--){const g=o.getLineContent(h),f=H0(g,n);let p=a[a.length-1];if(f===-1){e&&(p.endAbove=h);continue}let v;if(r&&(v=g.match(r)))if(v[1]){let _=a.length-1;for(;_>0&&a[_].indent!==-2;)_--;if(_>0){a.length=_+1,p=a[_],s.insertFirst(h,p.line,f),p.line=h,p.indent=f,p.endAbove=h;continue}}else{a.push({indent:-2,endAbove:h,line:h});continue}if(p.indent>f){do a.pop(),p=a[a.length-1];while(p.indent>f);const _=p.endAbove-1;_-h>=1&&s.insertFirst(h,_,f)}p.indent===f?p.endAbove=h:a.push({indent:f,endAbove:h,line:h})}return s.toIndentRanges(o)}const nV=Ct("editor.foldBackground",{light:Ba(sk,.3),dark:Ba(sk,.3),hcDark:null,hcLight:null},y("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);Ct("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},y("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));Ct("editorGutter.foldingControlForeground",EO,y("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Sv=ns("folding-expanded",ei.chevronDown,y("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Cv=ns("folding-collapsed",ei.chevronRight,y("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),kI=ns("folding-manual-collapsed",Cv,y("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),II=ns("folding-manual-expanded",Sv,y("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Hw={color:fs(nV),position:1},iu=y("linesCollapsed","Click to expand the range."),t_=y("linesExpanded","Click to collapse the range."),ss=class ss{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ss.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ss.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ss.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ss.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ss.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ss.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ss.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ss.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ss.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ss.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ss.MANUALLY_EXPANDED_VISUAL_DECORATION:ss.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ss.COLLAPSED_VISUAL_DECORATION=Ei.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Xi.asClassName(Cv)}),ss.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ei.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Hw,isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Xi.asClassName(Cv)}),ss.MANUALLY_COLLAPSED_VISUAL_DECORATION=Ei.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Xi.asClassName(kI)}),ss.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ei.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Hw,isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:Xi.asClassName(kI)}),ss.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Ei.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu}),ss.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Ei.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Hw,isWholeLine:!0,linesDecorationsTooltip:iu}),ss.EXPANDED_VISUAL_DECORATION=Ei.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Xi.asClassName(Sv),linesDecorationsTooltip:t_}),ss.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ei.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Xi.asClassName(Sv),linesDecorationsTooltip:t_}),ss.MANUALLY_EXPANDED_VISUAL_DECORATION=Ei.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Xi.asClassName(II),linesDecorationsTooltip:t_}),ss.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ei.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Xi.asClassName(II),linesDecorationsTooltip:t_}),ss.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Ei.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ss.HIDDEN_RANGE_DECORATION=Ei.register({description:"folding-hidden-range-decoration",stickiness:1});let FC=ss;const sV={},oV="syntax";class X1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=oV,this.disposables=new We,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return rV(this.providers,this.editorModel,e).then(t=>{var i;return t?lV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function rV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,sV,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const c=e.getLineCount();for(const h of a)h.start>0&&h.end>h.start&&h.end<=c&&i.push({start:h.start,end:h.end,rank:r,kind:h.kind})}},os));return Promise.all(n).then(s=>i)}class aV{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>Ur||t>Ur)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._nestingLevels[s]=n,this._types[s]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let n=0;n<this._length;n++)t[n]=this._startIndexes[n],i[n]=this._endIndexes[n];return new Ao(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){const c=this._nestingLevelCounts[a];if(c){if(c+t>e){i=a;break}t+=c}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,c=0;a<this._length;a++){const h=this._nestingLevels[a];(h<i||h===i&&t++<e)&&(n[c]=this._startIndexes[a],s[c]=this._endIndexes[a],r[c]=this._types[a],c++)}return new Ao(n,s,r)}}}function lV(o,e){const t=o.sort((r,a)=>{let c=r.start-a.start;return c===0&&(c=r.rank-a.rank),c}),i=new aV(e);let n;const s=[];for(const r of t)if(!n)n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else if(r.start>n.start)if(r.end<=n.end)s.push(n),n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else{if(r.start>n.end){do n=s.pop();while(n&&r.start>n.end);n&&s.push(n),n=r}i.add(r.start,r.end,r.kind&&r.kind.value,s.length)}return i.toIndentRanges()}var cV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uf=function(o,e){return function(t,i){e(t,i,o)}},Yc;const Ts=new Oi("foldingEnabled",!1);var Vd;let Nc=(Vd=class extends je{static get(e){return e.getContribution(Yc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Yc._foldingRangeSelector)==null?void 0:n.call(Yc,i,t))??i}constructor(e,t,i,n,s,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new We),this.editor=e,this._foldingLimitReporter=new vN(e);const a=this.editor.getOptions();this._isEnabled=a.get(43),this._useFoldingProviders=a.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(46),this.updateDebounceInfo=s.for(r.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new FC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Ts.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(c=>{if(c.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),c.hasChanged(47)&&this.onModelChanged(),c.hasChanged(111)||c.hasChanged(45)){const h=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=h.get(111),this.foldingDecorationProvider.showFoldingHighlights=h.get(45),this.triggerFoldingModelChanged()}c.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),c.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),c.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new Uz(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Xz(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Dc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new _s(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)==null||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)==null||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new Z1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Yc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new X1(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)==null||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new xo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Ls(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(dm.Imports.value,!0);h&&(r=ag.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,dV(a)),r==null||r.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(bn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const n=[];for(const s of i){const r=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&n.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}n.length&&(t.toggleCollapseState(n),this.reveal(i[0].getPosition()))}}}).then(void 0,bn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const c=e.event.altKey;let h=[];if(c){const g=p=>!p.containedBy(r)&&!r.containedBy(p),f=t.getRegionsInside(null,g);for(const p of f)p.isCollapsed&&h.push(p);h.length===0&&(h=f)}else{const g=e.event.middleButton||e.event.shiftKey;if(g)for(const f of t.getRegionsInside(r))f.isCollapsed===a&&h.push(f);(a||!g||h.length===0)&&h.push(r)}t.toggleCollapseState(h),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Yc=Vd,Vd.ID="editor.contrib.folding",Vd);Nc=Yc=cV([uf(1,qi),uf(2,Ss),uf(3,to),uf(4,sr),uf(5,Tt)],Nc);class vN{constructor(e){this.editor=e,this._onDidChange=new fi,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class As extends Ce{runEditorCommand(e,t,i){const n=e.get(Ss),s=Nc.get(t);if(!s)return;const r=s.getFoldingModel();if(r)return this.reportTelemetry(e,t),r.then(a=>{if(a){this.invoke(s,a,t,i,n);const c=t.getSelection();c&&s.reveal(c.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function dV(o){return!o||o.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(const i of o){const n=i.startLineNumber;if(n>=e&&n<=t)return!0}return!1}}}function bN(o){if(!vf(o)){if(!VE(o))return!1;const e=o;if(!vf(e.levels)&&!ok(e.levels)||!vf(e.direction)&&!fE(e.direction)||!vf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(ok)))return!1}return!0}class hV extends As{constructor(){super({id:"editor.unfold",label:y("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
23
|
-
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
24
|
-
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
25
|
-
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
|
|
26
|
-
`,constraint:bN,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,r=this.getLineNumbers(n,i);n&&n.direction==="up"?mN(t,!1,s,r):Ug(t,!1,s,r)}}class uV extends As{constructor(){super({id:"editor.unfoldRecursively",label:y("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2142),weight:100}})}invoke(e,t,i,n){Ug(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class gV extends As{constructor(){super({id:"editor.fold",label:y("foldAction.label","Fold"),alias:"Fold",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
27
|
-
* 'levels': Number of levels to fold.
|
|
28
|
-
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
29
|
-
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
|
|
30
|
-
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
31
|
-
`,constraint:bN,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),r=n&&n.levels,a=n&&n.direction;typeof r!="number"&&typeof a!="string"?$z(t,!0,s):a==="up"?mN(t,!0,r||1,s):Ug(t,!0,r||1,s)}}class fV extends As{constructor(){super({id:"editor.toggleFold",label:y("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);q1(t,1,n)}}class pV extends As{constructor(){super({id:"editor.foldRecursively",label:y("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Ug(t,!0,Number.MAX_VALUE,n)}}class mV extends As{constructor(){super({id:"editor.toggleFoldRecursively",label:y("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);q1(t,Number.MAX_VALUE,n)}}class _V extends As{constructor(){super({id:"editor.foldAllBlockComments",label:y("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())G1(t,dm.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const c=new RegExp("^\\s*"+op(a.blockCommentStartToken));K1(t,c,!0)}}}}class vV extends As{constructor(){super({id:"editor.foldAllMarkerRegions",label:y("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())G1(t,dm.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const c=new RegExp(a.markers.start);K1(t,c,!0)}}}}class bV extends As{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())G1(t,dm.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const c=new RegExp(a.markers.start);K1(t,c,!1)}}}}class yV extends As{constructor(){super({id:"editor.foldAllExcept",label:y("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);_N(t,!0,n)}}class wV extends As{constructor(){super({id:"editor.unfoldAllExcept",label:y("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);_N(t,!1,n)}}class SV extends As{constructor(){super({id:"editor.foldAll",label:y("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2069),weight:100}})}invoke(e,t,i){Ug(t,!0)}}class CV extends As{constructor(){super({id:"editor.unfoldAll",label:y("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2088),weight:100}})}invoke(e,t,i){Ug(t,!1)}}const Pu=class Pu extends As{getFoldingLevel(){return parseInt(this.id.substr(Pu.ID_PREFIX.length))}invoke(e,t,i){qz(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Pu.ID_PREFIX="editor.foldLevel",Pu.ID=e=>Pu.ID_PREFIX+e;let xv=Pu;class xV extends As{constructor(){super({id:"editor.gotoParentFold",label:y("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Kz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class LV extends As{constructor(){super({id:"editor.gotoPreviousFold",label:y("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Gz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class kV extends As{constructor(){super({id:"editor.gotoNextFold",label:y("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Zz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class IV extends As{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:y("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let c=a.endLineNumber;a.endColumn===1&&--c,c>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:c,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((c,h)=>c.startLineNumber-h.startLineNumber);const a=Ao.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Ao.fromFoldRanges(a))}}}}class DV extends As{constructor(){super({id:"editor.removeManualFoldingRanges",label:y("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:c}=r;s.push(c>=a?{startLineNumber:a,endLineNumber:c}:{endLineNumber:c,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}yi(Nc.ID,Nc,0);oe(hV);oe(uV);oe(gV);oe(pV);oe(mV);oe(SV);oe(CV);oe(_V);oe(vV);oe(bV);oe(yV);oe(wV);oe(fV);oe(xV);oe(LV);oe(kV);oe(IV);oe(DV);for(let o=1;o<=7;o++)PO(new xv({id:xv.ID(o),label:y("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ts,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2048|21+o),weight:100}}));kn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof gn))throw ul();const i=o.get(Tt),n=o.get(io).getModel(t);if(!n)throw ul();const s=o.get(An);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(Ss),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new Z1(n,r,c);let g=h;if(a!=="indentation"){const v=Nc.getFoldingRangeProviders(i,n);v.length&&(g=new X1(n,v,()=>{},c,h))}const f=await g.compute(pi.None),p=[];try{if(f)for(let v=0;v<f.length;v++){const _=f.getType(v);p.push({start:f.getStartLineNumber(v),end:f.getEndLineNumber(v),kind:_?dm.fromValue(_):void 0})}return p}finally{g.dispose()}});class EV extends Ce{constructor(){super({id:"editor.action.fontZoomIn",label:y("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){hp.setZoomLevel(hp.getZoomLevel()+1)}}class PV extends Ce{constructor(){super({id:"editor.action.fontZoomOut",label:y("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){hp.setZoomLevel(hp.getZoomLevel()-1)}}class TV extends Ce{constructor(){super({id:"editor.action.fontZoomReset",label:y("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){hp.setZoomLevel(0)}}oe(EV);oe(PV);oe(TV);var yN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uf=function(o,e){return function(t,i){e(t,i,o)}},Zu;let Lv=(Zu=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new We,this._sessionDisposables=new We,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(s=>{s.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new K_;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(n=>{const s=n.charCodeAt(n.length-1);i.has(s)&&this._trigger(String.fromCharCode(s))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new ks,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,c=r.changes.length;a<c;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});TO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Fo(r)&&(this._accessibilitySignalService.playSignal(UE.format,{userGesture:!1}),MO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Zu.ID="editor.contrib.autoFormat",Zu);Lv=yN([Uf(1,Tt),Uf(2,Pl),Uf(3,jE)],Lv);var Xu;let kv=(Xu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new We,this._callOnModel=new We,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction($E,this.editor,e,2,al.None,pi.None,!1).catch(bn))}},Xu.ID="editor.contrib.formatOnPaste",Xu);kv=yN([Uf(1,Tt),Uf(2,li)],kv);class MV extends Ce{constructor(){super({id:"editor.action.formatDocument",label:y("formatDocument.label","Format Document"),alias:"Format Document",precondition:le.and(N.notInCompositeEditor,N.writable,N.hasDocumentFormattingProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(li);await e.get(em).showWhile(i.invokeFunction(NO,t,1,al.None,pi.None,!0),250)}}}class NV extends Ce{constructor(){super({id:"editor.action.formatSelection",label:y("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:le.and(N.writable,N.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2084),weight:100},contextMenuOpts:{when:N.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(li),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new B(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(em).showWhile(i.invokeFunction($E,t,s,1,al.None,pi.None,!0),250)}}yi(Lv.ID,Lv,2);yi(kv.ID,kv,2);oe(MV);oe(NV);kn.registerCommand("editor.action.format",async o=>{const e=o.get(rs).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(ws);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var RV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ww=function(o,e){return function(t,i){e(t,i,o)}};class xu{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;t.children.get(n)!==void 0;s++)n=`${i}_${s}`;return n}static empty(e){return e.children.size===0}}class HC extends xu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class wN extends xu{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class tl extends xu{static create(e,t,i){const n=new ks(i),s=new tl(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=xu.findId(`provider_${g}`,s),p=new wN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])tl._makeOutlineElement(_,p);return p},v=>(os(v),p)).then(v=>{xu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Va(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?tl.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=xu.findId(e,t),n=new HC(i,t,e);if(e.children)for(const s of e.children)tl._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=hl.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof HC?e.push(t.symbol):e.push(...hl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>B.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return tl._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Pt.compare(B.getStartPosition(i.range),B.getStartPosition(n.range))||Pt.compare(B.getEndPosition(n.range),B.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&tl._flattenDocumentSymbols(e,n.children,n.name)}}const xm=Dl("IOutlineModelService");let WC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new We,this._cache=new im(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(n=>{this._cache.delete(n.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!Va(s.provider,n)){const a=new ks;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:tl.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(h=>{s.model=h,this._debounceInformation.update(e,Date.now()-c)}).catch(h=>{this._cache.delete(e.id)})}if(s.model)return s.model;s.promiseCnt+=1;const r=t.onCancellationRequested(()=>{--s.promiseCnt===0&&(s.source.cancel(),this._cache.delete(e.id))});try{return await s.promise}finally{r.dispose()}}};WC=RV([Ww(0,Tt),Ww(1,sr),Ww(2,io)],WC);El(xm,WC,1);kn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Ki(gn.isUri(t));const i=o.get(xm),s=await o.get(aa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,pi.None)).getTopLevelSymbols()}finally{s.dispose()}});const Ca=class Ca extends je{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Ca.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Ca.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Ca.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Ca.suppressSuggestions.bindTo(this.contextKeyService),this._register(jn(i=>{const n=this.model.read(i),s=n==null?void 0:n.state.read(i),r=!!(s!=null&&s.inlineCompletion)&&(s==null?void 0:s.primaryGhostText)!==void 0&&!(s!=null&&s.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(r),s!=null&&s.primaryGhostText&&(s!=null&&s.inlineCompletion)&&this.suppressSuggestions.set(s.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(jn(i=>{const n=this.model.read(i);let s=!1,r=!0;const a=n==null?void 0:n.primaryGhostText.read(i);if(n!=null&&n.selectedSuggestItem&&a&&a.parts.length>0){const{column:c,lines:h}=a.parts[0],g=h[0],f=n.textModel.getLineIndentColumn(a.lineNumber);if(c<=f){let v=gS(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=RO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Ca.inlineSuggestionVisible=new Oi("inlineSuggestionVisible",!1,y("inlineSuggestionVisible","Whether an inline suggestion is visible")),Ca.inlineSuggestionHasIndentation=new Oi("inlineSuggestionHasIndentation",!1,y("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Ca.inlineSuggestionHasIndentationLessThanTabSize=new Oi("inlineSuggestionHasIndentationLessThanTabSize",!0,y("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Ca.suppressSuggestions=new Oi("inlineSuggestionSuppressSuggestions",void 0,y("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Co=Ca;function AV(o){const e=new We,t=e.add(qE());return e.add(jn(i=>{t.setStyle(o.read(i))})),e}class kp{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new KE([...this.parts.map(s=>new yl(B.fromPositions(new Pt(1,s.column)),s.lines.join(`
|
|
32
|
-
`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class Iv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=_y(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class BC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new Iv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=_y(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
33
|
-
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function DI(o,e){return Va(o,e,SN)}function SN(o,e){return o===e?!0:!o||!e?!1:o instanceof kp&&e instanceof kp||o instanceof BC&&e instanceof BC?o.equals(e):!1}const OV=[];function FV(){return OV}class CN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new hg(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new B(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function xN(o,e){const t=new We,i=o.createDecorationsCollection();return t.add(AO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function HV(o,e){return new Pt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function EI(o,e){return new Pt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var WV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},BV=function(o,e){return function(t,i){e(t,i,o)}};const PI="ghost-text";let zC=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Ho(this,!1),this.currentTextModel=vo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=on(this,n=>{if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;const a=r instanceof BC?r.columnRange:void 0,c=[],h=[];function g(w,S){if(h.length>0){const D=h[h.length-1];S&&D.decorations.push(new up(D.content.length+1,D.content.length+1+w[0].length,S,0)),D.content+=w[0],w=w.slice(1)}for(const D of w)h.push({content:D,decorations:S?[new up(1,D.length+1,S,0)]:[]})}const f=s.getLineContent(r.lineNumber);let p,v=0;for(const w of r.parts){let S=w.lines;p===void 0?(c.push({column:w.column,text:S[0],preview:w.preview}),S=S.slice(1)):g([f.substring(v,w.column-1)],void 0),S.length>0&&(g(S,PI),p===void 0&&w.column<=f.length&&(p=w.column)),v=w.column-1}p!==void 0&&g([f.substring(v)],void 0);const _=p!==void 0?new CN(p,f.length+1):void 0;return{replacedRange:a,inlineTexts:c,additionalLines:h,hiddenRange:_,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=on(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];s.replacedRange&&r.push({range:s.replacedRange.toRange(s.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const a of s.inlineTexts)r.push({range:B.fromPositions(new Pt(s.lineNumber,a.column)),options:{description:PI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:vu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new zV(this.editor,this.languageService.languageIdCodec,on(n=>{const s=this.uiState.read(n);return s?{lineNumber:s.lineNumber,additionalLines:s.additionalLines,minReservedLineCount:s.additionalReservedLineCount,targetTextModel:s.targetTextModel}:void 0}))),this._register(Nn(()=>{this.isDisposed.set(!0,void 0)})),this._register(xN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};zC=WV([BV(2,ra)],zC);class zV extends je{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=pd("editorOptionChanged",ms.filter(this.editor.onDidChangeConfiguration,n=>n.hasChanged(33)||n.hasChanged(118)||n.hasChanged(100)||n.hasChanged(95)||n.hasChanged(51)||n.hasChanged(50)||n.hasChanged(67))),this._register(jn(n=>{const s=this.lines.read(n);this.editorOptionsChanged.read(n),s?this.updateLines(s.lineNumber,s.additionalLines,s.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones(r=>{this._viewZoneId&&(r.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const c=document.createElement("div");VV(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function VV(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",c=i.get(95),h=i.get(51),g=i.get(50),f=i.get(67),p=new ZE(1e4);p.appendString('<div class="suggest-preview-text">');for(let w=0,S=t.length;w<S;w++){const D=t[w],E=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(w*f)),p.appendString('px;width:1000000px;">');const R=QE(E),z=OO(E),H=FO.createEmpty(E,n);XE(new YE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,E,!1,R,z,0,H,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==HO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),JE(o,g);const v=p.build(),_=TI?TI.createHTML(v):v;o.innerHTML=_}const TI=GE("editorGhostText",{createHTML:o=>o});function jV(o,e){const t=new VO,i=new BO(t,h=>e.getLanguageConfiguration(h)),n=new WO(new UV([o]),i),s=zO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=af(g,h.openingBracket.length),h.child&&(c(h.child,g),g=af(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=af(g,h.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(h.openingBracket.languageId).findClosingTokenText(h.openingBracket.bracketIds);r+=p}else if(h.kind!==3){if(h.kind===0||h.kind===1)r+=a.substring(rk(g),rk(af(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=af(g,f.length)}}return c(s,jO),r}class UV{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function LN(o,e,t,i,n=pi.None,s){const r=e instanceof Pt?KV(e,t):e,a=o.all(t),c=new UO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const E=[];for(const R of D.yieldsToGroupIds||[]){const z=c.get(R);for(const H of z)E.push(H)}return E}const g=new Map,f=new Set;function p(D,E){if(E=[...E,D],f.has(D))return E;f.add(D);try{const R=h(D);for(const z of R){const H=p(z,E);if(H)return H}}finally{f.delete(D)}}function v(D){const E=g.get(D);if(E)return E;const R=p(D,[]);R&&os(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${R.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const z=new ry;return g.set(D,z.p),(async()=>{var H;if(!R){const ee=h(D);for(const X of ee){const fe=await v(X);if(fe&&fe.items.length>0)return}}try{return e instanceof Pt?await D.provideInlineCompletions(t,e,i,n):await((H=D.provideInlineEdits)==null?void 0:H.call(D,t,e,i,n))}catch(ee){os(ee);return}})().then(H=>z.complete(H),H=>z.error(H)),z.p}const _=await Promise.all(a.map(async D=>({provider:D,completions:await v(D)}))),w=new Map,S=[];for(const D of _){const E=D.completions;if(!E)continue;const R=new qV(E,D.provider);S.push(R);for(const z of E.items){const H=Dv.from(z,R,r,t,s);w.set(H.hash(),H)}}return new $V(Array.from(w.values()),new Set(w.keys()),S)}class $V{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class qV{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class Dv{static from(e,t,i,n,s){let r,a,c=e.range?B.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=MI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+h))}a=void 0}else if("snippet"in e.insertText){const h=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=MI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new vh().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof bo?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else $O(e.insertText);return new Dv(r,e.command,c,r,a,e.additionalTextEdits||FV(),e,t)}constructor(e,t,i,n,s,r,a,c){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=c,e=e.replace(/\r\n|\r/g,`
|
|
34
|
-
`),n=e.replace(/\r\n|\r/g,`
|
|
35
|
-
`)}withRange(e){return new Dv(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new yl(this.range,this.insertText)}}function KV(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new B(o.lineNumber,t.startColumn,o.lineNumber,i):B.fromPositions(o,o.with(void 0,i))}function MI(o,e,t,i){const s=t.getLineContent(e.lineNumber).substring(0,e.column-1)+o,r=t.tokenization.tokenizeLineWithEdit(e,s.length-(e.column-1),o),a=r==null?void 0:r.sliceAndInflate(e.column-1,s.length,0);return a?jV(a,i):o}function Sd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=cm(n,o.text),r=G_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=B.fromPositions(r,o.range.getEndPosition());return new yl(c,a)}function kN(o,e){return o.text.startsWith(e.text)&&GV(o.range,e.range)}function NI(o,e,t,i,n=0){let s=Sd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Ns(r).length;if(s.range.startColumn-1<=a){const _=Ns(s.text).length,w=r.substring(s.range.startColumn-1,a),[S,D]=[s.range.getStartPosition(),s.range.getEndPosition()],E=S.column+w.length<=D.column?S.delta(0,w.length):D,R=B.fromPositions(E,D),z=s.text.startsWith(w)?s.text.substring(w.length):s.text.substring(_);s=new yl(R,z)}const h=e.getValueInRange(s.range),g=ZV(h,s.text);if(!g)return;const f=s.range.startLineNumber,p=new Array;if(t==="prefix"){const _=g.filter(w=>w.originalLength===0);if(_.length>1||_.length===1&&_[0].originalStart!==h.length)return}const v=s.text.length-n;for(const _ of g){const w=s.range.startColumn+_.originalStart+_.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&w<i.column||_.originalLength>0)return;if(_.modifiedLength===0)continue;const S=_.modifiedStart+_.modifiedLength,D=Math.max(_.modifiedStart,Math.min(S,v)),E=s.text.substring(_.modifiedStart,D),R=s.text.substring(D,Math.max(_.modifiedStart,S));E.length>0&&p.push(new Iv(w,E,!1)),R.length>0&&p.push(new Iv(w,R,!0))}return new kp(f,p)}function GV(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ba;function ZV(o,e){if((ba==null?void 0:ba.originalValue)===o&&(ba==null?void 0:ba.newValue)===e)return ba==null?void 0:ba.changes;{let t=AI(o,e,!0);if(t){const i=RI(t);if(i>0){const n=AI(o,e,!1);n&&RI(n)<i&&(t=n)}}return ba={originalValue:o,newValue:e,changes:t},t}}function RI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function AI(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(h){let g=0;for(let f=0,p=h.length;f<p;f++){const v=h.charCodeAt(f);v>g&&(g=v)}return g}const n=Math.max(i(o),i(e));function s(h){if(h<0)throw new Error("unexpected");return n+h+1}function r(h){let g=0,f=0;const p=new Int32Array(h.length);for(let v=0,_=h.length;v<_;v++)if(t&&h[v]==="("){const w=f*100+g;p[v]=s(2*w),g++}else if(t&&h[v]===")"){g=Math.max(g-1,0);const w=f*100+g;p[v]=s(2*w+1),g===0&&f++}else p[v]=h.charCodeAt(v);return p}const a=r(o),c=r(e);return new qO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var XV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},OI=function(o,e){return function(t,i){e(t,i,o)}};let VC=class extends je{constructor(e,t,i,n,s){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=n,this.languageConfigurationService=s,this._updateOperation=this._register(new Bo),this.inlineCompletions=mS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=mS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new JV(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((g=this._updateOperation.value)!=null&&g.request.satisfies(n))return this._updateOperation.value.promise;if((f=s.get())!=null&&f.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new ks,c=(async()=>{if((r||t.triggerKind===gl.Automatic)&&await YV(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const v=new Date,_=await LN(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const w=new Date;this._debounceValue.update(this.textModel,w.getTime()-v.getTime());const S=new ej(_,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!_.has(D)&&S.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),Th(D=>{s.set(S,D)}),!0})(),h=new QV(n,a,c);return this._updateOperation.value=h,c}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(t=this._updateOperation.value)!=null&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};VC=XV([OI(3,Tt),OI(4,Ss)],VC);function YV(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}class JV{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&KO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,ZO())&&(e.context.triggerKind===gl.Automatic||this.context.triggerKind===gl.Explicit)&&this.versionId===e.versionId}}class QV{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class ej{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,n){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=n,this._refCount=1,this._prependedInlineCompletionItems=[];const s=i.deltaDecorations([],e.completions.map(r=>({range:r.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((r,a)=>new FI(r,s[a],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const n=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new FI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class FI{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=rl({owner:this,equalsFn:B.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Bw)}toSingleTextEdit(e){return new yl(this._updatedRange.read(e)??Bw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Sd(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const r=e.getValueInRange(n.range,1),a=n.text,c=Math.max(0,t.column-n.range.startColumn);let h=a.substring(0,c),g=a.substring(c),f=r.substring(0,c),p=r.substring(c);const v=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=v&&(f=f.trimStart(),f.length===0&&(p=p.trimStart()),h=h.trimStart(),h.length===0&&(g=g.trimStart())),h.startsWith(f)&&!!GO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&G_.ofRange(i).isGreaterThanOrEqualTo(G_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new yl(this._updatedRange.read(e)??Bw,this.inlineCompletion.filterText)}}const Bw=new B(1,1,1,1),Jt={Visible:U1,HasFocusedSuggestion:new Oi("suggestWidgetHasFocusedSuggestion",!1,y("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Oi("suggestWidgetDetailsVisible",!1,y("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Oi("suggestWidgetMultipleSuggestions",!1,y("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Oi("suggestionMakesTextEdit",!0,y("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Oi("acceptSuggestionOnEnter",!0,y("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Oi("suggestionHasInsertAndReplaceRange",!1,y("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Oi("suggestionInsertMode",void 0,{type:"string",description:y("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Oi("suggestionCanResolve",!1,y("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},dc=new ct("suggestWidgetStatusBar");class tj{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=cp.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(s=t.label)==null?void 0:s.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,B.isIRange(t.range)?(this.editStart=new Pt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Pt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Pt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||B.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Pt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Pt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Pt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||B.spansMultipleLines(t.range.insert)||B.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof n.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new xo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Oc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const kb=class kb{constructor(e=2,t=new Set,i=new Set,n=new Map,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=s}};kb.default=new kb;let Ip=kb;class ij{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function Y1(o,e,t,i=Ip.default,n={triggerKind:0},s=pi.None){const r=new xo;t=t.clone();const a=e.getWordAtPosition(t),c=a?new B(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):B.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new We,p=[];let v=!1;const _=(S,D,E)=>{var z;let R=!1;if(!D)return R;for(const H of D.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&((z=H==null?void 0:H.tags)!=null&&z.includes(1)))continue;H.range||(H.range=h),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!v&&H.insertTextRules&&H.insertTextRules&4&&(v=vh.guessNeedsClipboard(H.insertText)),g.push(new tj(t,H,D,S)),R=!0}return eP(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:E.elapsed()}),R},w=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async E=>{if(i.providerItemsToReuse.has(E)){const R=i.providerItemsToReuse.get(E);R.forEach(z=>g.push(z)),D=D||R.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(E)))try{const R=new xo,z=await E.provideCompletionItems(e,t,n,s);D=_(E,z,R)||D}catch(R){os(R)}})),D||s.isCancellationRequested)break}return await w,s.isCancellationRequested?(f.dispose(),Promise.reject(new ay)):new ij(g.sort(oj(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function J1(o,e){if(o.sortTextLow&&e.sortTextLow){if(o.sortTextLow<e.sortTextLow)return-1;if(o.sortTextLow>e.sortTextLow)return 1}return o.textLabel<e.textLabel?-1:o.textLabel>e.textLabel?1:o.completion.kind-e.completion.kind}function nj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return J1(o,e)}function sj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return J1(o,e)}const jy=new Map;jy.set(0,nj);jy.set(2,sj);jy.set(1,J1);function oj(o){return jy.get(o)}kn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Ki(gn.isUri(t)),Ki(Pt.isIPosition(i)),Ki(typeof n=="string"||!n),Ki(typeof s=="number"||!s);const{completionProvider:r}=o.get(Tt),a=await o.get(aa).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await Y1(r,a.object.textEditorModel,g,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of f.items)h.length<(s??0)&&h.push(p.resolve(pi.None)),c.incomplete=c.incomplete||p.container.incomplete,c.suggestions.push(p.completion);try{return await Promise.all(h),c}finally{setTimeout(()=>f.disposable.dispose(),100)}}finally{a.dispose()}});function rj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Lu{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function HI(o,e=oy){return XO(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var aj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lj=function(o,e){return function(t,i){e(t,i,o)}};class WI{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class BI{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const s=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);s&&(i=s.value,n=s.multiline)}if(i&&n&&e.snippet){const s=this._model.getLineContent(this._selection.startLineNumber),r=Ns(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof bo&&(a=Ns(_y(h.value).pop())),!0));const c=cm(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(h,g,f)=>`${g}${a.substr(c)}${f}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class zI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Of(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Of(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return YO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(G0(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class VI{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(n=>!JO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Ev=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n){if(t==="LINE_COMMENT")return n.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return n.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return n.blockCommentEndToken||void 0}}};Ev=aj([lj(2,Ss)],Ev);const xa=class xa{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return xa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return xa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return xa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return xa.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,c=a<10?"0"+a:a;return n+r+":"+c}}};xa.dayNames=[y("Sunday","Sunday"),y("Monday","Monday"),y("Tuesday","Tuesday"),y("Wednesday","Wednesday"),y("Thursday","Thursday"),y("Friday","Friday"),y("Saturday","Saturday")],xa.dayNamesShort=[y("SundayShort","Sun"),y("MondayShort","Mon"),y("TuesdayShort","Tue"),y("WednesdayShort","Wed"),y("ThursdayShort","Thu"),y("FridayShort","Fri"),y("SaturdayShort","Sat")],xa.monthNames=[y("January","January"),y("February","February"),y("March","March"),y("April","April"),y("May","May"),y("June","June"),y("July","July"),y("August","August"),y("September","September"),y("October","October"),y("November","November"),y("December","December")],xa.monthNamesShort=[y("JanuaryShort","Jan"),y("FebruaryShort","Feb"),y("MarchShort","Mar"),y("AprilShort","Apr"),y("MayShort","May"),y("JuneShort","Jun"),y("JulyShort","Jul"),y("AugustShort","Aug"),y("SeptemberShort","Sep"),y("OctoberShort","Oct"),y("NovemberShort","Nov"),y("DecemberShort","Dec")];let Pv=xa;class jI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=QO(this._workspaceService.getWorkspace());if(!e2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(ak(e))return Of(e.uri.path);let t=Of(e.configPath.path);return t.endsWith(lk)&&(t=t.substr(0,t.length-lk.length-1)),t}_resoveWorkspacePath(e){if(ak(e))return HI(e.uri.fsPath);const t=Of(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?HI(i):"/"}}class UI{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return Ny()}}var cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dj=function(o,e){return function(t,i){e(t,i,o)}},Fr;const ur=class ur{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=ck(t.placeholders,ir.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),s=this._snippet.fullLen(i),r=B.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?ur._decor.inactiveFinal:ur._decor.inactive,c=t.addDecoration(r,a);this._placeholderDecorations.set(i,c)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx])if(s.transform){const r=this._placeholderDecorations.get(s),a=this._editor.getModel().getDecorationRange(r),c=this._editor.getModel().getValueInRange(a),h=s.transform.resolve(c).split(/\r\n|\r|\n/);for(let g=1;g<h.length;g++)h[g]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+h[g]);n.push(Xn.replace(a,h.join(this._editor.getModel().getEOL())))}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(n=>{const s=new Set,r=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const c=this._placeholderDecorations.get(a),h=this._editor.getModel().getDecorationRange(c);r.push(new Gt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?ur._decor.activeFinal:ur._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?ur._decor.activeFinal:ur._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?ur._decor.inactiveFinal:ur._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof ir){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const s=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(s);if(!r){e.delete(n.index);break}i.push(r)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof jg,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(s._offset!==-1),console.assert(!s._placeholderDecorations);const r=s._snippet.placeholderInfo.last.index;for(const c of s._snippet.placeholderInfo.all)c.isFinalTabstop?c.index=n.index+(r+1)/this._nestingLevel:c.index=n.index+c.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const a=this._placeholderDecorations.get(n);i.removeDecoration(a),this._placeholderDecorations.delete(n);for(const c of s._snippet.placeholders){const h=s._snippet.offset(c),g=s._snippet.fullLen(c),f=B.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,ur._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=ck(this._snippet.placeholders,ir.compareByIndex)})}};ur._decor={active:Ei.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Ei.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Ei.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Ei.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Tv=ur;const $I={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Mv=Fr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Ns(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof bo)||h.parent instanceof jg||s&&!s.has(h))return!0;const g=h.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(h);if(p===0)g[0]=e.normalizeIndentation(g[0]);else{c=c??n.toString();const v=c.charCodeAt(p-1);(v===10||v===13)&&(g[0]=e.normalizeIndentation(a+g[0]))}for(let v=1;v<g.length;v++)g[v]=e.normalizeIndentation(a+g[v])}const f=g.join(e.getEOL());return f!==h.value&&(h.parent.replace(h,[new bo(f)]),c=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,c=r+n,h=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:c});t=Gt.createWithDirection(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,c,h){const g=[],f=[];if(!e.hasModel())return{edits:g,snippets:f};const p=e.getModel(),v=e.invokeWithinContext(z=>z.get(ng)),_=e.invokeWithinContext(z=>new zI(z.get(lp),p)),w=()=>a,S=p.getValueInRange(Fr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Fr.adjustSelection(p,e.getSelection(),0,n)),E=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),R=e.getSelections().map((z,H)=>({selection:z,idx:H})).sort((z,H)=>B.compareRangesUsingStarts(z.selection,H.selection));for(const{selection:z,idx:H}of R){let ee=Fr.adjustSelection(p,z,i,0),X=Fr.adjustSelection(p,z,0,n);S!==p.getValueInRange(ee)&&(ee=z),D!==p.getValueInRange(X)&&(X=z);const fe=z.setStartPosition(ee.startLineNumber,ee.startColumn).setEndPosition(X.endLineNumber,X.endColumn),Le=new vh().parse(t,!0,s),Ue=fe.getStartPosition(),xe=Fr.adjustWhitespace(p,Ue,r||H>0&&E!==p.getLineFirstNonWhitespaceColumn(z.positionLineNumber),Le);Le.resolveVariables(new WI([_,new VI(w,H,R.length,e.getOption(79)==="spread"),new BI(p,z,H,c),new Ev(p,z,h),new Pv,new jI(v),new UI])),g[H]=Xn.replace(fe,Le.toString()),g[H].identifier={major:H,minor:0},g[H]._isTracked=!0,f[H]=new Tv(e,Le,xe)}return{edits:g,snippets:f}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const c=[],h=e.getModel(),g=new vh,f=new _m,p=new WI([e.invokeWithinContext(_=>new zI(_.get(lp),h)),new VI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new BI(h,e.getSelection(),0,r),new Ev(h,e.getSelection(),a),new Pv,new jI(e.invokeWithinContext(_=>_.get(ng))),new UI]);t=t.sort((_,w)=>B.compareRangesUsingStarts(_.range,w.range));let v=0;for(let _=0;_<t.length;_++){const{range:w,template:S}=t[_];if(_>0){const H=t[_-1].range,ee=B.fromPositions(H.getEndPosition(),w.getStartPosition()),X=new bo(h.getValueInRange(ee));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);Fr.adjustWhitespace(h,w.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const E=f.toString(),R=E.slice(v);v=E.length;const z=Xn.replace(w,R);z.identifier={major:_,minor:0},z._isTracked=!0,c.push(z)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new Tv(e,f,"")]}}constructor(e,t,i=$I,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Zs(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?Fr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Fr.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const n=i.filter(s=>!!s.identifier);for(let s=0;s<t.length;s++)t[s].initialize(n[s].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(s=>Gt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=$I){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Fr.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,s=>{const r=s.filter(c=>!!c.identifier);for(let c=0;c<n.length;c++)n[c].initialize(r[c].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const c of this._snippets)c.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(c=>Gt.fromPositions(c.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;const t=new Map;for(const i of this._snippets){const n=i.computePossibleSelections();if(t.size===0)for(const[s,r]of n){r.sort(B.compareRangesUsingStarts);for(const a of e)if(r[0].containsRange(a)){t.set(s,[]);break}}if(t.size===0)return!1;t.forEach((s,r)=>{s.push(...n.get(r))})}e.sort(B.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(B.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};Mv=Fr=cj([dj(3,Ss)],Mv);var hj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},i_=function(o,e){return function(t,i){e(t,i,o)}},fu;const qI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ma;let eo=(Ma=class{static get(e){return e.getContribution(fu.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new We,this._modelVersionId=-1,this._inSnippet=fu.InSnippetMode.bindTo(n),this._hasNextTabstop=fu.HasNextTabstop.bindTo(n),this._hasPrevTabstop=fu.HasPrevTabstop.bindTo(n)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?qI:{...qI,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(Ki(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Mv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(g,f)=>{if(!this._session||g!==this._editor.getModel()||!Pt.equals(this._editor.getPosition(),f))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const v=g.getValueInRange(p.range),_=!!p.choice.options.find(S=>S.value===v),w=[];for(let S=0;S<p.choice.options.length;S++){const D=p.choice.options[S];w.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(S+1),range:p.range,filterText:_?`${v}_${D.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:y("next","Go to next placeholder...")}})}return{suggestions:w}}},s=this._editor.getModel();let r,a=!1;const c=()=>{r==null||r.dispose(),a=!1},h=()=>{a||(r=this._languageFeaturesService.completionProvider.register({language:s.getLanguageId(),pattern:s.uri.fsPath,scheme:s.uri.scheme,exclusive:!0},n),this._snippetListener.add(r),a=!0)};this._choiceCompletions={provider:n,enable:h,disable:c}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(n=>n.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){(t=this._choiceCompletions)==null||t.disable(),this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{rj(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},fu=Ma,Ma.ID="snippetController2",Ma.InSnippetMode=new Oi("inSnippetMode",!1,y("inSnippetMode","Whether the editor in current in snippet mode")),Ma.HasNextTabstop=new Oi("hasNextTabstop",!1,y("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ma.HasPrevTabstop=new Oi("hasPrevTabstop",!1,y("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ma);eo=fu=hj([i_(1,Mh),i_(2,Tt),i_(3,qi),i_(4,Ss)],eo);yi(eo.ID,eo,4);const Uy=go.bindToContribution(eo.get);Rt(new Uy({id:"jumpToNextSnippetPlaceholder",precondition:le.and(eo.InSnippetMode,eo.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:N.textInputFocus,primary:2}}));Rt(new Uy({id:"jumpToPrevSnippetPlaceholder",precondition:le.and(eo.InSnippetMode,eo.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:N.textInputFocus,primary:1026}}));Rt(new Uy({id:"leaveSnippet",precondition:eo.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:N.textInputFocus,primary:9,secondary:[1033]}}));Rt(new Uy({id:"acceptSnippet",precondition:eo.InSnippetMode,handler:o=>o.finish()}));var uj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zw=function(o,e){return function(t,i){e(t,i,o)}};let jC=class extends je{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,c,h,g,f,p){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=r,this._suggestPreviewMode=a,this._inlineSuggestMode=c,this._enabled=h,this._instantiationService=g,this._commandService=f,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(VC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Ho(this,!1),this._forceUpdateExplicitlySignal=Q0(this),this._selectedInlineCompletionId=Ho(this,void 0),this._primaryPosition=on(this,_=>this._positions.read(_)[0]??new Pt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([el.Redo,el.Undo,el.AcceptWord]),this._fetchInlineCompletionsPromise=tP({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:gl.Automatic}),handleChange:(_,w)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?w.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(w.inlineCompletionTriggerKind=gl.Explicit),!0)},(_,w)=>{if(this._forceUpdateExplicitlySignal.read(_),!(this._enabled.read(_)&&this.selectedSuggestItem.read(_)||this._isActive.read(_))){this._source.cancelUpdate();return}this._textModelVersionId.read(_);const D=this._source.suggestWidgetInlineCompletions.get(),E=this.selectedSuggestItem.read(_);if(D&&!E){const X=this._source.inlineCompletions.get();Th(fe=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),fe),this._source.clearSuggestWidgetInlineCompletions(fe)})}const R=this._primaryPosition.read(_),z={triggerKind:w.inlineCompletionTriggerKind,selectedSuggestionInfo:E==null?void 0:E.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),ee=w.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(R,z,ee)}),this._filteredInlineCompletionItems=rl({owner:this,equalsFn:_S()},_=>{const w=this._source.inlineCompletions.read(_);if(!w)return[];const S=this._primaryPosition.read(_);return w.inlineCompletions.filter(E=>E.isVisible(this.textModel,S,_))}),this.selectedInlineCompletionIndex=on(this,_=>{const w=this._selectedInlineCompletionId.read(_),S=this._filteredInlineCompletionItems.read(_),D=this._selectedInlineCompletionId===void 0?-1:S.findIndex(E=>E.semanticId===w);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=on(this,_=>{const w=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return w[S]}),this.activeCommands=rl({owner:this,equalsFn:_S()},_=>{var w;return((w=this.selectedInlineCompletion.read(_))==null?void 0:w.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,_=>_==null?void 0:_.request.context.triggerKind),this.inlineCompletionsCount=on(this,_=>{if(this.lastTriggerKind.read(_)===gl.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=rl({owner:this,equalsFn:(_,w)=>!_||!w?_===w:DI(_.ghostTexts,w.ghostTexts)&&_.inlineCompletion===w.inlineCompletion&&_.suggestItem===w.suggestItem},_=>{const w=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=Sd(S.toSingleTextEdit(),w),E=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!E)return;const z=(E==null?void 0:E.edit)??D,H=E?E.edit.text.length-D.text.length:0,ee=this._suggestPreviewMode.read(_),X=this._positions.read(_),fe=[z,...Vw(this.textModel,X,z)],Le=fe.map((xe,pt)=>NI(xe,w,ee,X[pt],H)).filter(v_),Ue=Le[0]??new kp(z.range.endLineNumber,[]);return{edits:fe,primaryGhostText:Ue,ghostTexts:Le,inlineCompletion:E==null?void 0:E.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const E=D.toSingleTextEdit(_),R=this._inlineSuggestMode.read(_),z=this._positions.read(_),H=[E,...Vw(this.textModel,z,E)],ee=H.map((X,fe)=>NI(X,w,R,z[fe],0)).filter(v_);return ee[0]?{edits:H,primaryGhostText:ee[0],ghostTexts:ee,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=rl({owner:this,equalsFn:DI},_=>{const w=this.state.read(_);if(w)return w.ghostTexts}),this.primaryGhostText=rl({owner:this,equalsFn:SN},_=>{const w=this.state.read(_);if(w)return w==null?void 0:w.primaryGhostText}),this._register(iP(this._fetchInlineCompletionsPromise));let v;this._register(jn(_=>{var D,E;const w=this.state.read(_),S=w==null?void 0:w.inlineCompletion;if((S==null?void 0:S.semanticId)!==(v==null?void 0:v.semanticId)&&(v=S,S)){const R=S.inlineCompletion,z=R.source;(E=(D=z.provider).handleItemDidShow)==null||E.call(D,z.inlineCompletions,R.sourceInlineCompletion,R.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?el.Undo:e!=null&&e.isRedoing?el.Redo:this.isAcceptingPartially?el.AcceptWord:el.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Z_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Z_(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,n=this._source.suggestWidgetInlineCompletions.read(t),s=n?n.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(v_);return t2(s,a=>{let c=a.toSingleTextEdit(t);return c=Sd(c,i,B.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),kN(c,e)?{completion:a,edit:c}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var n;if(e.getModel()!==this.textModel)throw new hg;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[Xn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=eo.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=KI(s).map(a=>Gt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Xn.replace(a.range,a.text)),...i.additionalTextEdits]),e.setSelections(r,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,os),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const n=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(n),r=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),a=i.match(r);let c=0;a&&a.index!==void 0?a.index===0?c=a[0].length:c=a.index:c=i.length;const g=/\s+/g.exec(i);return g&&g.index!==void 0&&g.index+g[0].length<c&&(c=g.index+g[0].length),c},0)}async acceptNextLine(e){await this._acceptNext(e,(t,i)=>{const n=i.match(/\n/);return n&&n.index!==void 0?n.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new hg;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,r=n.inlineCompletion.toInlineCompletion(void 0);if(r.snippetInfo||r.filterText!==r.insertText){await this.accept(e);return}const a=s.parts[0],c=new Pt(s.lineNumber,a.column),h=a.text,g=t(c,h);if(g===h.length&&s.parts.length===1){this.accept(e);return}const f=h.substring(0,g),p=this._positions.get(),v=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const _=B.fromPositions(v,c),w=e.getModel().getValueInRange(_)+f,S=new yl(_,w),D=[S,...Vw(this.textModel,p,S)],E=KI(D).map(R=>Gt.fromPositions(R));e.executeEdits("inlineSuggestion.accept",D.map(R=>Xn.replace(R.range,R.text))),e.setSelections(E,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=B.fromPositions(r.range.getStartPosition(),G_.ofText(f).addToPosition(c)),w=e.getModel().getValueInRange(_,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,w.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Sd(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const n=i.completion.inlineCompletion;(r=(s=n.source.provider).handlePartialAccept)==null||r.call(s,n.source.inlineCompletions,n.sourceInlineCompletion,t.text.length,{kind:2})}};jC=uj([zw(9,li),zw(10,ws),zw(11,Ss)],jC);var el;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(el||(el={}));function Vw(o,e,t){if(e.length===1)return[];const i=e[0],n=e.slice(1),s=t.range.getStartPosition(),r=t.range.getEndPosition(),a=o.getValueInRange(B.fromPositions(i,r)),c=EI(i,s);if(c.lineNumber<1)return bn(new hg(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
-
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=gj(t.text,c);return n.map(g=>{const f=HV(EI(g,s),r),p=o.getValueInRange(B.fromPositions(g,f)),v=cm(a,p),_=B.fromPositions(g,g.delta(0,v));return new yl(_,h)})}function gj(o,e){let t="";const i=n2(o);for(let n=e.lineNumber-1;n<i.length;n++)t+=i[n].substring(n===e.lineNumber-1?e.column-1:0);return t}function KI(o){const e=i2.createSortPermutation(o,am(s=>s.range,B.compareRangesUsingStarts)),i=new KE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var fj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GI=function(o,e){return function(t,i){e(t,i,o)}},xf;class Q1{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const n=i[0].score[0];for(let s=0;s<i.length;s++){const{score:r,completion:a}=i[s];if(r[0]!==n)break;if(a.preselect)return s}return 0}}class ZI extends Q1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class pj extends Q1{constructor(){super("recentlyUsed"),this._cache=new im(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,c=-1;for(let h=0;h<i.length&&i[h].score[0]===s;h++){const g=`${e.getLanguageId()}/${i[h].textLabel}`,f=this._cache.peek(g);if(f&&f.touch>c&&f.type===i[h].completion.kind&&f.insertText===i[h].completion.insertText&&(c=f.touch,a=h),i[h].completion.preselect&&r===-1)return r=h}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:e1.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class mj extends Q1{constructor(){super("recentlyUsedByPrefix"),this._trie=s2.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind:c,insertText:h}=i[a].completion;if(c===r.type&&h===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:e1.fromString(i.type),this._trie.set(t,i)}}}var bc;let UC=(bc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new We,this._persistSoon=new _s(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===U0.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((n=this._strategy)==null?void 0:n.name)!==i){this._saveState();const s=xf._strategyCtors.get(i)||ZI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${xf._storagePrefix}/${i}`,a);c&&this._strategy.fromJSON(JSON.parse(c))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${xf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},xf=bc,bc._strategyCtors=new Map([["recentlyUsedByPrefix",mj],["recentlyUsed",pj],["first",ZI]]),bc._storagePrefix="suggest/memories",bc);UC=xf=fj([GI(0,Fc),GI(1,An)],UC);const $y=Dl("ISuggestMemories");El($y,UC,1);var _j=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vj=function(o,e){return function(t,i){e(t,i,o)}},$C,jd;let Nv=(jd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=$C.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(124)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(124)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),n=this._editor.getSelection(),s=i.getWordAtPosition(n.getStartPosition());if(!s){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(s.endColumn===n.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},$C=jd,jd.AtEnd=new Oi("atEndOfWord",!1),jd);Nv=$C=_j([vj(1,qi)],Nv);var bj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yj=function(o,e){return function(t,i){e(t,i,o)}},Lf,Ud;let Dg=(Ud=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Lf.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(Lf._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,!(n===i||!t.items[n].completion.additionalTextEdits));s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=Lf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Lf=Ud,Ud.OtherSuggestions=new Oi("hasOtherSuggestions",!1),Ud);Dg=Lf=bj([yj(1,qi)],Dg);class wj{constructor(e,t,i,n){this._disposables=new We,this._disposables.add(i.onDidSuggest(s=>{s.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(s=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(s=>{if(this._active&&!t.isFrozen()&&i.state!==0){const r=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(r)&&e.getOption(0)&&n(this._active.item)}}))}_onItem(e){if(!e||!Fo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new K_;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}const Xo=class Xo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Xo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Xo._bracketsLeftYield(a,0,e,n,r,s))}return i}static _bracketsRightYield(e,t,i,n,s){const r=new Map,a=Date.now();for(;;){if(t>=Xo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Xo._maxDuration){setTimeout(()=>Xo._bracketsRightYield(e,t+1,i,n,s));break}if(c.bracketInfo.isOpeningBracket){const g=c.bracketInfo.bracketText,f=r.has(g)?r.get(g):0;r.set(g,f+1)}else{const g=c.bracketInfo.getOpeningBrackets()[0].bracketText;let f=r.has(g)?r.get(g):0;if(f-=1,r.set(g,Math.max(0,f)),f<0){let p=s.get(g);p||(p=new nP,s.set(g,p)),p.push(c.range)}}n=c.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,c=Date.now();for(;;){if(t>=Xo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Xo._maxDuration){setTimeout(()=>Xo._bracketsLeftYield(e,t+1,i,n,s,r));break}if(h.bracketInfo.isOpeningBracket){const f=h.bracketInfo.bracketText;let p=a.has(f)?a.get(f):0;if(p-=1,a.set(f,Math.max(0,p)),p<0){const v=s.get(f);if(v){const _=v.shift();v.size===0&&s.delete(f);const w=B.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=B.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:w}),r.push({range:S}),Xo._addBracketLeading(i,S,r)}}}else{const f=h.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(f)?a.get(f):0;a.set(f,p+1)}n=h.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);s!==0&&s!==t.startColumn&&(i.push({range:B.fromPositions(new Pt(n,s),t.getEndPosition())}),i.push({range:B.fromPositions(new Pt(n,1),t.getEndPosition())}));const r=n-1;if(r>0){const a=e.getLineFirstNonWhitespaceColumn(r);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:B.fromPositions(new Pt(r,a),t.getEndPosition())}),i.push({range:B.fromPositions(new Pt(r,1),t.getEndPosition())}))}}};Xo._maxDuration=30,Xo._maxRounds=2;let Rv=Xo;const La=class La{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return La.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return La.None;const[s]=await new Rv().provideSelectionRanges(i,[n]);if(s.length===0)return La.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return La.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends La{distance(c,h){if(!n.equals(t.getPosition()))return 0;if(h.kind===17)return 2<<20;const g=typeof h.label=="string"?h.label:h.label.label,f=r[g];if(o2(f))return 2<<20;const p=X_(f,B.fromPositions(c),B.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const w of s){if(!B.containsRange(w.range,v))break;_-=1}return _}}}};La.None=new class extends La{distance(){return 0}};let Av=La,XI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Zl{constructor(e,t,i,n,s,r,a=sP.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Zl._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=s,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,r==="top"?this._snippetCompareFn=Zl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Zl._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const e=new Set;for(const[t,i]of this.getItemsByProvider())i.length>0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const r=this._refilterKind===1?this._items:this._filteredItems,a=[],c=!this._options.filterGraceful||r.length>2e3?oP:r2;for(let h=0;h<r.length;h++){const g=r[h];if(g.isInvalid)continue;const f=this._itemsByProvider.get(g.provider);f?f.push(g):this._itemsByProvider.set(g.provider,[g]);const p=g.position.column-g.editStart.column,v=p+i-(g.position.column-this._column);if(n.length!==v&&(n=v===0?"":t.slice(-v),s=n.toLowerCase()),g.word=n,v===0)g.score=cp.Default;else{let _=0;for(;_<p;){const w=n.charCodeAt(_);if(w===32||w===9)_+=1;else break}if(_>=v)g.score=cp.Default;else if(typeof g.completion.filterText=="string"){const w=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!w)continue;a2(g.completion.filterText,g.textLabel)===0?g.score=w:(g.score=l2(n,s,_,g.textLabel,g.labelLow,0),g.score[0]=w[0])}else{const w=c(n,s,_,g.textLabel,g.labelLow,0,this._fuzzyScoreOptions);if(!w)continue;g.score=w}}g.idx=h,g.distance=this._wordDistance.distance(g.position,g.completion),a.push(g),e.push(g.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?c2(e.length-.85,e,(h,g)=>h-g):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return Zl._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return Zl._compareCompletionItems(e,t)}}var Sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zl=function(o,e){return function(t,i){e(t,i,o)}},qC;class Kc{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!(!n||n.endColumn!==i.column&&n.startColumn+1!==i.column||!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function Cj(o,e,t){if(!e.getContextKeyValue(Co.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function xj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Ov=qC=class{constructor(e,t,i,n,s,r,a,c,h){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=c,this._envService=h,this._toDispose=new We,this._triggerCharacterListener=new We,this._triggerQuickSuggest=new Qp,this._triggerState=void 0,this._completionDisposables=new We,this._onDidCancel=new fi,this._onDidTrigger=new fi,this._onDidSuggest=new fi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Gt(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let g=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{g=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{g=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(f=>{g||this._onCursorChange(f)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!g&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Zs(this._triggerCharacterListener),Zs([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of i.triggerCharacters||[]){let s=e.get(n);s||(s=new Set,e.set(n,s)),s.add(i)}const t=i=>{var r;if(!xj(this._editor,this._contextKeyService,this._configurationService)||Kc.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let n="";h2(i.charCodeAt(i.length-1))?u2(i.charCodeAt(i.length-2))&&(n=i.substr(i.length-2)):n=i.charAt(i.length-1);const s=e.get(n);if(s){const a=new Map;if(this._completionModel)for(const[c,h]of this._completionModel.getItemsByProvider())s.has(c)||a.set(c,h);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)==null?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;Lu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=eo.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Kc.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=this._editor.getOption(90);if(!Lu.isAllOff(n)){if(!Lu.isAllOn(n)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),r=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(Lu.valueFor(n,r)!=="on")return}Cj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Ki(this._editor.hasModel()),Ki(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Kc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,v,_;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Kc(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new ks;const s=this._editor.getOption(113);let r=1;switch(s){case"top":r=0;break;case"bottom":r=2;break}const{itemKind:a,showDeprecated:c}=qC.createSuggestFilter(this._editor),h=new Ip(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(v=e.completionOptions)==null?void 0:v.providerFilter,(_=e.completionOptions)==null?void 0:_.providerItemsToReuse,c),g=Av.create(this._editorWorkerService,this._editor),f=Y1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([w,S])=>{var H;if((H=this._requestToken)==null||H.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&w.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const E=this._editor.getModel(),R=new Kc(E,this._editor.getPosition(),e),z={...sP.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Zl(w.items,this._context.column,{leadingLineContent:R.leadingLineContent,characterCountDelta:R.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),z,D),this._completionDisposables.add(w.disposable),this._onNewContext(R),this._reportDurationsTelemetry(w.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const ee of w.items)ee.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ee.provider._debugDisplayName}`,ee.completion)}).catch(bn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const n=e.getOption(119);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Ns(e.leadingLineContent)!==Ns(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(Kc.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[n,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(n):t.set(n,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const n=Kc.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(n&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};Ov=qC=Sj([zl(1,Pl),zl(2,Ag),zl(3,oa),zl(4,Mh),zl(5,qi),zl(6,An),zl(7,Tt),zl(8,d2)],Ov);const Ib=class Ib{constructor(e,t){this._disposables=new We,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),n=i.length;let s=!1;for(let a=0;a<n;a++)if(!i[a].isEmpty()){s=!0;break}if(!s){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const r=e.getModel();for(let a=0;a<n;a++){const c=i[a];if(r.getValueLengthInRange(c)>Ib._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(c),multiline:c.startLineNumber!==c.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};Ib._maxSelectionLength=51200;let KC=Ib;var Lj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jw=function(o,e){return function(t,i){e(t,i,o)}};let GC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new We,this.element=ft(e,St(".suggest-status-bar"));const r=(a=>a instanceof dg?i.createInstance(g2,a,{useComma:!0}):void 0);this._leftActions=new np(this.element,{actionViewItemProvider:r}),this._rightActions=new np(this.element,{actionViewItemProvider:r}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],n=[];for(const[s,r]of e.getActions())s==="left"?i.push(...r):n.push(...r);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};GC=Lj([jw(2,li),jw(3,Ph),jw(4,qi)],GC);var kj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ij=function(o,e){return function(t,i){e(t,i,o)}};function eL(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let ZC=class{constructor(e,t){this._editor=e,this._onDidClose=new fi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new fi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new We,this._renderDisposeable=new We,this._borderWidth=1,this._size=new Cn(330,0),this.domNode=St(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Hg,{editor:e}),this._body=St(".body"),this._scrollbar=new rP(this._body,{alwaysConsumeMouseWheel:!0}),ft(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=ft(this._body,St(".header")),this._close=ft(this._header,St("span"+Xi.asCSSSelector(ei.close))),this._close.title=y("details.close","Close"),this._type=ft(this._header,St("p.type")),this._docs=ft(this._body,St("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,r=t.fontWeight,a=`${n}px`,c=`${s}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${s/n}`,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=c,this._close.style.width=c}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=y("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var s;this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let r="";r+=`score: ${e.score[0]}
|
|
37
|
-
`,r+=`prefix: ${e.word??"(no prefix)"}
|
|
38
|
-
`,r+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
|
|
39
|
-
`,r+=`distance: ${e.distance} (localityBonus-setting)
|
|
40
|
-
`,r+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
|
|
41
|
-
`,r+=`commit_chars: ${(s=e.completion.commitCharacters)==null?void 0:s.join("")}
|
|
42
|
-
`,n=new Ks().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!eL(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){const r=i.length>1e5?`${i.substr(0,1e5)}…`:i;this._type.textContent=r,this._type.title=r,wr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Wa(this._type),this._type.title="",No(this._type),this.domNode.classList.add("no-type");if(Wa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Wa(this._docs);const r=this._markdownRenderer.render(n);this._docs.appendChild(r.element),this._renderDisposeable.add(r),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=r=>{r.preventDefault(),r.stopPropagation()},this._close.onclick=r=>{r.preventDefault(),r.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Cn(e,t);Cn.equals(i,this._size)||(this._size=i,f2(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};ZC=kj([Ij(1,li)],ZC);class Dj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new We,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new N1,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,n,s=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&n){this.widget.layout(a.dimension.width,a.dimension.height);let c=!1;a.west&&(r=n.width-a.dimension.width,c=!0),a.north&&(s=n.height-a.dimension.height,c=!0),c&&this._applyTopLeft({top:i.top+s,left:i.left+r})}a.done&&(i=void 0,n=void 0,s=0,r=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=om(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Cn(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),ee=-s.borderWidth+e.left+e.width,X=new Cn(H,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ee,fit:H-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(H,r.width))}})(),h=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,ee=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new Cn(H,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ee,fit:H-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(H,r.width))}})(),g=(function(){const H=e.left,ee=-s.borderWidth+e.top+e.height,X=new Cn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:ee,left:H,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(H=>H.fit>=0)??f.sort((H,ee)=>ee.fit-H.fit)[0],v=e.top+e.height-s.borderHeight;let _,w=t.height;const S=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);w>S&&(w=S);let D;i?w<=p.maxSizeTop.height?(_=!0,D=p.maxSizeTop):(_=!1,D=p.maxSizeBottom):w<=p.maxSizeBottom.height?(_=!1,D=p.maxSizeBottom):(_=!0,D=p.maxSizeTop);let{top:E,left:R}=p;!_&&w>e.height&&(E=v-w);const z=this._editor.getDomNode();if(z){const H=z.getBoundingClientRect();E-=H.top,R-=H.left}this._applyTopLeft({left:R,top:E}),this._resizable.enableSashes(!_,p===c,_,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(w,Math.min(D.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Oa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Oa||(Oa={}));const Ej=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function n_(o,e,t,i,n){if(Xi.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(gn.isUri(n))return[];const s=i===Oa.ROOT_FOLDER?["rootfolder-icon"]:i===Oa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===ro.data)r=Y_.parseMetaData(t).get(Y_.META_DATA_LABEL);else{const a=t.path.match(Ej);a?(r=s_(a[2].toLowerCase()),a[1]&&s.push(`${s_(a[1].toLowerCase())}-name-dir-icon`)):r=s_(t.authority.toLowerCase())}if(i===Oa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Oa.FOLDER)s.push(`${r}-name-folder-icon`);else{if(r){if(s.push(`${r}-name-file-icon`),s.push("name-file-icon"),r.length<=255){const c=r.split(".");for(let h=1;h<c.length;h++)s.push(`${c.slice(h).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=Pj(o,e,t);a&&s.push(`${s_(a)}-lang-file-icon`)}}return s}function Pj(o,e,t){if(!t)return null;let i=null;if(t.scheme===ro.data){const s=Y_.parseMetaData(t).get(Y_.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==dp?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function s_(o){return o.replace(/[\s]/g,"/")}var Tj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uw=function(o,e){return function(t,i){e(t,i,o)}};function IN(o){return`suggest-aria-id:${o}`}const Mj=ns("suggest-more-info",ei.chevronRight,y("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Gr;const Nj=new(Gr=class{extract(e,t){if(e.textLabel.match(Gr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Gr._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,n=Gr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Gr._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Gr._regexStrict=new RegExp(`^${Gr._regexRelaxed.source}$`,"i"),Gr);let XC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new fi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new We,i=e;i.classList.add("show-file-icons");const n=ft(e,St(".icon")),s=ft(n,St("span.colorspan")),r=ft(e,St(".contents")),a=ft(r,St(".main")),c=ft(a,St(".icon-label.codicon")),h=ft(a,St("span.left")),g=ft(a,St("span.right")),f=new LE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=ft(h,St("span.signature-label")),v=ft(h,St("span.qualifier-label")),_=ft(g,St("span.details-label")),w=ft(g,St("span.readMore"+Xi.asCSSSelector(Mj)));return w.title=y("readMore","Read More"),{root:i,left:h,right:g,icon:n,colorspan:s,iconLabel:f,iconContainer:c,parametersLabel:p,qualifierLabel:v,detailsLabel:_,readMore:w,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),E=D.get(50),R=E.getMassagedFontFamily(),z=E.fontFeatureSettings,H=D.get(120)||E.fontSize,ee=D.get(121)||E.lineHeight,X=E.fontWeight,fe=E.letterSpacing,Le=`${H}px`,Ue=`${ee}px`,xe=`${fe}px`;i.style.fontSize=Le,i.style.fontWeight=X,i.style.letterSpacing=xe,a.style.fontFamily=R,a.style.fontFeatureSettings=z,a.style.lineHeight=Ue,n.style.height=Ue,n.style.width=Ue,w.style.height=Ue,w.style.width=Ue}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=IN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:fy(e.score)},r=[];if(n.kind===19&&Nj.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(n.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=n_(this._modelService,this._languageService,gn.from({scheme:"fake",path:e.textLabel}),Oa.FILE),c=n_(this._modelService,this._languageService,gn.from({scheme:"fake",path:n.detail}),Oa.FILE);s.extraClasses=a.length>c.length?a:c}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[n_(this._modelService,this._languageService,gn.from({scheme:"fake",path:e.textLabel}),Oa.FOLDER),n_(this._modelService,this._languageService,gn.from({scheme:"fake",path:n.detail}),Oa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Xi.asClassNameArray(e1.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(s.extraClasses=(s.extraClasses||[]).concat(["deprecated"]),s.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,s),typeof n.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=$w(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=$w(n.label.detail||""),i.detailsLabel.textContent=$w(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?wr(i.detailsLabel):No(i.detailsLabel),eL(e)?(i.right.classList.add("can-expand-details"),wr(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),No(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};XC=Tj([Uw(1,io),Uw(2,ra),Uw(3,Pr)],XC);function $w(o){return o.replace(/\r\n|\r|\n/g,"")}var Rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},o_=function(o,e){return function(t,i){e(t,i,o)}},pu;Ct("editorSuggestWidget.background",aP,y("editorSuggestWidgetBackground","Background color of the suggest widget."));Ct("editorSuggestWidget.border",p2,y("editorSuggestWidgetBorder","Border color of the suggest widget."));const Aj=Ct("editorSuggestWidget.foreground",lm,y("editorSuggestWidgetForeground","Foreground color of the suggest widget."));Ct("editorSuggestWidget.selectedForeground",lP,y("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));Ct("editorSuggestWidget.selectedIconForeground",m2,y("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Oj=Ct("editorSuggestWidget.selectedBackground",cP,y("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));Ct("editorSuggestWidget.highlightForeground",dP,y("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));Ct("editorSuggestWidget.focusHighlightForeground",_2,y("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));Ct("editorSuggestWidgetStatus.foreground",Ba(Aj,.5),y("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Fj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Er}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Cn.is(t))return Cn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var yc;let YC=(yc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Bo,this._pendingShowDetails=new Bo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Qp,this._disposables=new We,this._onDidSelect=new dk,this._onDidFocus=new dk,this._onDidHide=new fi,this._onDidShow=new fi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new fi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new N1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Hj(this,e),this._persistedSize=new Fj(t,e);class r{constructor(v,_,w=!1,S=!1){this.persistedSize=v,this.currentSize=_,this.persistHeight=w,this.persistWidth=S}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(p=>{var v,_;if(this._resize(p.dimension.width,p.dimension.height),a&&(a.persistHeight=a.persistHeight||!!p.north||!!p.south,a.persistWidth=a.persistWidth||!!p.east||!!p.west),!!p.done){if(a){const{itemHeight:w,defaultSize:S}=this.getLayoutInfo(),D=Math.round(w/2);let{width:E,height:R}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-R)<=D)&&(R=((v=a.persistedSize)==null?void 0:v.height)??S.height),(!a.persistWidth||Math.abs(a.currentSize.width-E)<=D)&&(E=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new Cn(E,R))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=ft(this.element.domNode,St(".message")),this._listElement=ft(this.element.domNode,St(".tree"));const c=this._disposables.add(s.createInstance(ZC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Dj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(XC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new z0("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[g],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>y("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let v=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:E}=p.completion.label;D&&E?v=y("label.full","{0} {1}, {2}",v,D,E):D?v=y("label.detail","{0} {1}",v,D):E&&(v=y("label.desc","{0}, {1}",v,E))}if(!p.isResolved||!this._isDetailsVisible())return v;const{documentation:_,detail:w}=p.completion,S=J0("{0}{1}",w||"",_?typeof _=="string"?_:_.value:"");return y("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(hP({listInactiveFocusBackground:Oj,listInactiveFocusOutline:hh})),this._status=s.createInstance(GC,this.element.domNode,dc);const f=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);f(),this._disposables.add(n.onDidColorThemeChange(p=>this._onThemeChange(p))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onTap(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onDidChangeSelection(p=>this._onListSelection(p))),this._disposables.add(this._list.onDidChangeFocus(p=>this._onListFocus(p))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(119)&&(f(),h()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Jt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Jt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Jt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Jt.HasFocusedSuggestion.bindTo(i),this._disposables.add(bl(this._details.widget.domNode,"keydown",p=>{this._onDetailsKeydown.fire(p)})),this._disposables.add(this.editor.onMouseDown(p=>this._onEditorMouseDown(p)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=sp(e.type)?2:1}_onListFocus(e){var n;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&((n=this._currentSuggestionDetails)==null||n.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=Ls(async s=>{const r=ip(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=s.onCancellationRequested(()=>r.dispose());try{return await t.resolve(s)}finally{r.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:IN(i)}))}).catch(bn)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:No(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=pu.LOADING_MESSAGE,No(this._listElement,this._status.element),wr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,rg(pu.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=pu.NO_SUGGESTIONS_MESSAGE,No(this._listElement,this._status.element),wr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,rg(pu.NO_SUGGESTIONS_MESSAGE);break;case 3:No(this._messageElement),wr(this._listElement,this._status.element),this._show();break;case 4:No(this._messageElement),wr(this._listElement,this._status.element),this._show();break;case 5:No(this._messageElement),wr(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=ip(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var c,h;if(this._contentWidget.setPosition(this.editor.getPosition()),(c=this._loadingTimeout)==null||c.dispose(),(h=this._currentSuggestionDetails)==null||h.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(n?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=hk(fd(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(eL(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=hk(fd(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var i;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(i=this._loadingTimeout)==null||i.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){var r,a;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const t=om(this.element.domNode.ownerDocument.body),i=this.getLayoutInfo();e||(e=i.defaultSize);let n=e.height,s=e.width;if(this._status.element.style.height=`${i.itemHeight}px`,this._state===2||this._state===1)n=i.itemHeight+i.borderHeight,s=i.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Cn(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);const h=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,g=i.statusBarHeight+this._list.contentHeight+i.borderHeight,f=i.itemHeight+i.statusBarHeight,p=lo(this.editor.getDomNode()),v=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),_=p.top+v.top+v.height,w=Math.min(t.height-_-i.verticalPadding,g),S=p.top+v.top-i.verticalPadding,D=Math.min(S,g);let E=Math.min(Math.max(D,w)+i.borderHeight,g);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<f&&(n=f),n>E&&(n=E),n>w||this._forceRenderingAbove&&S>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),E=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),E=w),this.element.preferredSize=new Cn(h,i.defaultSize.height),this.element.maxSize=new Cn(c,E),this.element.minSize=new Cn(220,f),this._cappedHeight=n===g?{wanted:((a=this._cappedHeight)==null?void 0:a.wanted)??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=`${t-s}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=v2(this.editor.getOption(121)||e.lineHeight,8,1e3),i=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:t,n=this._details.widget.borderWidth,s=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:s,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Cn(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},pu=yc,yc.LOADING_MESSAGE=y("suggestWidget.loading","Loading..."),yc.NO_SUGGESTIONS_MESSAGE=y("suggestWidget.noSuggestions","No suggestions."),yc);YC=pu=Rj([o_(1,Fc),o_(2,qi),o_(3,Pr),o_(4,li)],YC);class Hj{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new Cn(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var Wj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nu=function(o,e){return function(t,i){e(t,i,o)}},JC;class Bj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Ei.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const n=e.getOffsetAt(t),s=e.getPositionAt(n+1);e.changeDecorations(r=>{this._marker&&r.removeDecoration(this._marker),this._marker=r.addDecoration(B.fromPositions(t,s),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}var $d;let Cr=($d=class{static get(e){return e.getContribution(JC.ID)}constructor(e,t,i,n,s,r,a){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=s,this._logService=r,this._telemetryService=a,this._lineSuffix=new Bo,this._toDispose=new We,this._selectors=new zj(f=>f.priority),this._onWillInsertSuggestItem=new fi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Ov,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Jt.InsertMode.bindTo(n);c.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>c.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new fw(fd(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(YC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new wj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Jt.MakesTextEdit.bindTo(this._contextKeyService),_=Jt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),w=Jt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Nn(()=>{v.reset(),_.reset(),w.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),E=S.editStart.column,R=D.column;let z=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&R-E===S.completion.insertText.length&&(z=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:E,endLineNumber:D.lineNumber,endColumn:R})!==S.completion.insertText),v.set(z),_.set(!Pt.equals(S.editInsertEnd,S.editReplaceEnd)),w.set(!!S.provider.resolveCompletionItem||!!S.completion.documentation||S.completion.detail!==S.completion.label)})),this._toDispose.add(f.onDetailsKeyDown(S=>{if(S.toKeyCodeChord().equals(new uk(!0,!1,!1,!1,33))||ja&&S.toKeyCodeChord().equals(new uk(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new fw(fd(e.getDomNode()),()=>this._toDispose.add(new KC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new fw(fd(e.getDomNode()),()=>this._toDispose.add(new Dg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Nv,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new Bj(this.editor.getModel(),f.position)})),this._toDispose.add(this.model.onDidSuggest(f=>{if(f.triggerOptions.shy)return;let p=-1;for(const _ of this._selectors.itemsOrderedByPriorityDesc)if(p=_.select(this.editor.getModel(),this.editor.getPosition(),f.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let v=!1;if(f.triggerOptions.auto){const _=this.editor.getOption(119);_.selectionMode==="never"||_.selectionMode==="always"?v=_.selectionMode==="never":_.selectionMode==="whenTriggerCharacter"?v=f.triggerOptions.triggerKind!==1:_.selectionMode==="whenQuickSuggestion"&&(v=f.triggerOptions.triggerKind===1&&!f.triggerOptions.refilter)}this.widget.value.showSuggestions(f.completionModel,p,f.isFrozen,f.triggerOptions.auto,v)})),this._toDispose.add(this.model.onDidCancel(f=>{f.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const h=Jt.AcceptSuggestionsOnEnter.bindTo(n),g=()=>{const f=this.editor.getOption(1);h.set(f==="on"||f==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>g())),g()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=eo.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],c=new ks;t&1||this.editor.pushUndoStop();const h=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const g=r.isResolved;let f=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const _=ag.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(w=>{let S=B.lift(w.range);if(S.startLineNumber===r.position.lineNumber&&S.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,E=D,R=B.spansMultipleLines(S)?0:D;S=new B(S.startLineNumber,S.startColumn+E,S.endLineNumber,S.endColumn+R)}return Xn.replaceMove(S,w.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new xo;let w;const S=n.onDidChangeContent(z=>{if(z.isFlush){c.cancel(),S.dispose();return}for(const H of z.changes){const ee=B.getEndPosition(H.range);(!w||Pt.isBefore(ee,w))&&(w=ee)}}),D=t;t|=2;let E=!1;const R=this.editor.onWillType(()=>{R.dispose(),E=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(w&&r.completion.additionalTextEdits.some(H=>Pt.isBefore(w,B.getStartPosition(H.range))))return!1;E&&this.editor.pushUndoStop();const z=ag.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Xn.replaceMove(B.lift(H.range),H.text))),z.restoreRelativeVerticalPositionOfCursor(this.editor),(E||!(D&2))&&this.editor.pushUndoStop(),!0}).then(z=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",_.elapsed(),z),p=z===!0?1:z===!1?0:-2}).finally(()=>{S.dispose(),R.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=vh.escape(v)),this.model.cancel(),i.insert(v,{overwriteBefore:h.overwriteBefore,overwriteAfter:h.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===Fv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new xo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(w=>{r.completion.extensionId?os(w):bn(w)}).finally(()=>{f=_.elapsed()}))}t&4&&this._alternatives.value.set(e,_=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(_,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,g,f,p,e.index,e.model.items),this.model.clear(),c.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const c=new Map;for(let v=0;v<Math.min(30,a.length);v++){const _=a[v].textLabel;c.has(_)?c.get(_).push(v):c.set(_,[v])}const h=c.get(e.textLabel),f=h&&h.length>1?h[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:zE(Ua(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:b2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){Ki(this.editor.hasModel());let i=this.editor.getOption(119).insertMode==="replace";t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,r=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:n+r,overwriteAfter:s+a}}_alertCompletionItem(e){if(Fo(e.completion.additionalTextEdits)){const t=y("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Ir(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=s=>{if(s.completion.insertTextRules&4||s.completion.additionalTextEdits)return!0;const r=this.editor.getPosition(),a=s.editStart.column,c=r.column;return c-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:c})!==s.completion.insertText};ms.once(this.model.onDidTrigger)(s=>{const r=[];ms.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Zs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Zs(r),a.items.length===0){i();return}const c=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),h=a.items[c];if(!n(h)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:c,item:h,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},JC=$d,$d.ID="editor.contrib.suggestController",$d);Cr=JC=Wj([nu(1,$y),nu(2,ws),nu(3,qi),nu(4,li),nu(5,Mh),nu(6,oa)],Cr);class zj{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}const Db=class Db extends Ce{constructor(){super({id:Db.id,label:y("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:le.and(N.writable,N.hasCompletionItemProvider,Jt.Visible.toNegated()),kbOpts:{kbExpr:N.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Cr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};Db.id="editor.action.triggerSuggest";let Fv=Db;yi(Cr.ID,Cr,2);oe(Fv);const zo=190,no=go.bindToContribution(Cr.get);Rt(new no({id:"acceptSelectedSuggestion",precondition:le.and(Jt.Visible,Jt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:le.and(Jt.Visible,N.textInputFocus),weight:zo},{primary:3,kbExpr:le.and(Jt.Visible,N.textInputFocus,Jt.AcceptSuggestionsOnEnter,Jt.MakesTextEdit),weight:zo}],menuOpts:[{menuId:dc,title:y("accept.insert","Insert"),group:"left",order:1,when:Jt.HasInsertAndReplaceRange.toNegated()},{menuId:dc,title:y("accept.insert","Insert"),group:"left",order:1,when:le.and(Jt.HasInsertAndReplaceRange,Jt.InsertMode.isEqualTo("insert"))},{menuId:dc,title:y("accept.replace","Replace"),group:"left",order:1,when:le.and(Jt.HasInsertAndReplaceRange,Jt.InsertMode.isEqualTo("replace"))}]}));Rt(new no({id:"acceptAlternativeSelectedSuggestion",precondition:le.and(Jt.Visible,N.textInputFocus,Jt.HasFocusedSuggestion),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:dc,group:"left",order:2,when:le.and(Jt.HasInsertAndReplaceRange,Jt.InsertMode.isEqualTo("insert")),title:y("accept.replace","Replace")},{menuId:dc,group:"left",order:2,when:le.and(Jt.HasInsertAndReplaceRange,Jt.InsertMode.isEqualTo("replace")),title:y("accept.insert","Insert")}]}));kn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Rt(new no({id:"hideSuggestWidget",precondition:Jt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:9,secondary:[1033]}}));Rt(new no({id:"selectNextSuggestion",precondition:le.and(Jt.Visible,le.or(Jt.MultipleSuggestions,Jt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Rt(new no({id:"selectNextPageSuggestion",precondition:le.and(Jt.Visible,le.or(Jt.MultipleSuggestions,Jt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:12,secondary:[2060]}}));Rt(new no({id:"selectLastSuggestion",precondition:le.and(Jt.Visible,le.or(Jt.MultipleSuggestions,Jt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Rt(new no({id:"selectPrevSuggestion",precondition:le.and(Jt.Visible,le.or(Jt.MultipleSuggestions,Jt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Rt(new no({id:"selectPrevPageSuggestion",precondition:le.and(Jt.Visible,le.or(Jt.MultipleSuggestions,Jt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:11,secondary:[2059]}}));Rt(new no({id:"selectFirstSuggestion",precondition:le.and(Jt.Visible,le.or(Jt.MultipleSuggestions,Jt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Rt(new no({id:"focusSuggestion",precondition:le.and(Jt.Visible,Jt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Rt(new no({id:"focusAndAcceptSuggestion",precondition:le.and(Jt.Visible,Jt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Rt(new no({id:"toggleSuggestionDetails",precondition:le.and(Jt.Visible,Jt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:dc,group:"right",order:1,when:le.and(Jt.DetailsVisible,Jt.CanResolve),title:y("detail.more","Show Less")},{menuId:dc,group:"right",order:1,when:le.and(Jt.DetailsVisible.toNegated(),Jt.CanResolve),title:y("detail.less","Show More")}]}));Rt(new no({id:"toggleExplainMode",precondition:Jt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Rt(new no({id:"toggleSuggestionFocus",precondition:Jt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:2570,mac:{primary:778}}}));Rt(new no({id:"insertBestCompletion",precondition:le.and(N.textInputFocus,le.equals("config.editor.tabCompletion","on"),Nv.AtEnd,Jt.Visible.toNegated(),Dg.OtherSuggestions.toNegated(),eo.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(VE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:zo,primary:2}}));Rt(new no({id:"insertNextSuggestion",precondition:le.and(N.textInputFocus,le.equals("config.editor.tabCompletion","on"),Dg.OtherSuggestions,Jt.Visible.toNegated(),eo.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:2}}));Rt(new no({id:"insertPrevSuggestion",precondition:le.and(N.textInputFocus,le.equals("config.editor.tabCompletion","on"),Dg.OtherSuggestions,Jt.Visible.toNegated(),eo.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:zo,kbExpr:N.textInputFocus,primary:1026}}));oe(class extends Ce{constructor(){super({id:"editor.action.resetSuggestSize",label:y("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Cr.get(e))==null||t.resetWidgetSize()}});class Vj extends je{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new fi),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const n=Cr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,c,h)=>{const g=this.editor.getModel();if(!g)return-1;const f=this.suggestControllerPreselector(),p=f?Sd(f,g):void 0;if(!p)return-1;const v=Pt.lift(c),_=h.map((S,D)=>{const E=$f.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),R=Sd(E.toSingleTextEdit(),g),z=kN(p,R);return{index:D,valid:z,prefixLength:R.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),w=y2(_,am(S=>S.prefixLength,gy));return w?w.index:-1}}));let s=!1;const r=()=>{s||(s=!0,this._register(n.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(n.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(n.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(ms.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const c=this.editor.getPosition(),h=this.editor.getModel();if(!c||!h)return;const g=$f.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!jj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Cr.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),n=this.editor.getModel();if(!(!t||!i||!n))return $f.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Cr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Cr.get(this.editor);e==null||e.forceRenderingAbove()}}class $f{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new vh().parse(r);h.children.length<100&&Mv.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new $f(B.fromPositions(i.delta(0,-c.overwriteBefore),i.delta(0,Math.max(c.overwriteAfter,0))),r,n.completion.kind,a)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new w2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new yl(this.range,this.insertText)}}function jj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var Uj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ja=function(o,e){return function(t,i){e(t,i,o)}},QC,qd;let nr=(qd=class extends je{static get(e){return e.getContribution(QC.ID)}constructor(e,t,i,n,s,r,a,c,h,g){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=c,this._keybindingService=h,this._accessibilityService=g,this._editorObs=Pa(this.editor),this._positions=on(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new Pt(1,1)]}),this._suggestWidgetAdaptor=this._register(new Vj(this.editor,()=>{var p,v;return this._editorObs.forceUpdate(),(v=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:v.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(v=>{var _;(_=this.model.get())==null||_.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=vo(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=vo(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=vo(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=on(this,p=>this._enabledInConfig.read(p)&&(!this._isScreenReaderEnabled.read(p)||!this._editorDictationInProgress.read(p))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=Ec(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(jC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=on(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=$j(this._ghostTexts,this._store),this._ghostTextWidgets=S2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(zC,this.editor,{ghostText:p,minReservedLineCount:ll(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=Q0(this),this._fontFamily=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Co(this._contextKeyService,this.model)),this._register(gk(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([b_.Tab.id,b_.DeleteLeft.id,b_.DeleteRight.id,AM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var w;(w=this.model.get())==null||w.trigger(_)})})),this._register(gk(this._editorObs.selections,(p,v)=>{var _;v.some(w=>w.reason===3||w.source==="api")&&((_=this.model.get())==null||_.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||Sg.dropDownVisible||Th(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(jn(p=>{var _;const v=(_=this.model.read(p))==null?void 0:_.state.read(p);v!=null&&v.suggestItem?v.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(Nn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=hy(this,(p,v)=>{var S;const _=this.model.read(p),w=_==null?void 0:_.state.read(p);return this._suggestWidgetSelectedItem.get()?v:(S=w==null?void 0:w.inlineCompletion)==null?void 0:S.semanticId});this._register(C2(on(p=>(this._playAccessibilitySignal.read(p),f.read(p),{})),async(p,v,_)=>{const w=this.model.get(),S=w==null?void 0:w.state.get();if(!S||!w)return;const D=w.textModel.getLineContent(S.primaryGhostText.lineNumber);await vy(50,vS(_)),await x2(this._suggestWidgetSelectedItem,vf,()=>!1,vS(_)),await this._accessibilitySignalService.playSignal(UE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new rC(this.editor,this.model,this._instantiationService)),this._register(AV(on(p=>{const v=this._fontFamily.read(p);return v===""||v==="default"?"":`
|
|
43
|
-
.monaco-editor .ghost-text-decoration,
|
|
44
|
-
.monaco-editor .ghost-text-decoration-preview,
|
|
45
|
-
.monaco-editor .ghost-text {
|
|
46
|
-
font-family: ${v};
|
|
47
|
-
}`}))),this._register(this._configurationService.onDidChangeConfiguration(p=>{p.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=y("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Ir(n?e+", "+n:e)}shouldShowHoverAt(e){var i;const t=(i=this.model.get())==null?void 0:i.primaryGhostText.get();return t?t.parts.some(n=>e.containsPosition(new Pt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},QC=qd,qd.ID="editor.contrib.inlineCompletionsController",qd);nr=QC=Uj([Ja(1,li),Ja(2,qi),Ja(3,An),Ja(4,ws),Ja(5,sr),Ja(6,Tt),Ja(7,jE),Ja(8,us),Ja(9,uy)],nr);function $j(o,e){const t=Ho("result",[]),i=[];return e.add(jn(n=>{const s=o.read(n);Th(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Ho("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const Eb=class Eb extends Ce{constructor(){super({id:Eb.ID,label:y("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:le.and(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=nr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Eb.ID=FM;let ex=Eb;const Pb=class Pb extends Ce{constructor(){super({id:Pb.ID,label:y("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:le.and(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=nr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Pb.ID=OM;let tx=Pb;class qj extends Ce{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:y("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:N.writable})}async run(e,t){const i=nr.get(t);await uP(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n)),i==null||i.playAccessibilitySignal(n)})}}class Kj extends Ce{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:y("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:le.and(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:le.and(N.writable,Co.inlineSuggestionVisible)},menuOpts:[{menuId:ct.InlineSuggestionToolbar,title:y("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=nr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class Gj extends Ce{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:y("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:le.and(N.writable,Co.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:ct.InlineSuggestionToolbar,title:y("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=nr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class Zj extends Ce{constructor(){super({id:AM,label:y("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Co.inlineSuggestionVisible,menuOpts:[{menuId:ct.InlineSuggestionToolbar,title:y("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:le.and(Co.inlineSuggestionVisible,N.tabMovesFocus.toNegated(),Co.inlineSuggestionHasIndentationLessThanTabSize,Jt.Visible.toNegated(),N.hoverFocused.toNegated())}})}async run(e,t){var n;const i=nr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Tb=class Tb extends Ce{constructor(){super({id:Tb.ID,label:y("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Co.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=nr.get(t);Th(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Tb.ID="editor.action.inlineSuggest.hide";let ix=Tb;const Mb=class Mb extends uo{constructor(){super({id:Mb.ID,title:y("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:ct.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:le.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(An),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};Mb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let nx=Mb;var Xj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gf=function(o,e){return function(t,i){e(t,i,o)}};class Yj{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let sx=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=s,this._telemetryService=r,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=nr.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new E_(1e3,this,B.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new E_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new E_(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=nr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Yj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new We,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=this._instantiationService.createInstance(Sg,this._editor,!1,ll(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const c={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new Sh([c])}renderScreenReaderText(e,t){const i=new We,n=St,s=n("div.hover-row.markdown-hover"),r=ft(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Hg({editor:this._editor},this._languageService,this._openerService)),c=h=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const g=y("inlineSuggestionFollows","Suggestion:"),f=i.add(a.render(new Ks().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(jn(h=>{var f;const g=(f=t.controller.model.read(h))==null?void 0:f.primaryGhostText.read(h);if(g){const p=this._editor.getModel().getLineContent(g.lineNumber);c(g.renderForScreenReader(p))}else $_(r)})),e.fragment.appendChild(s),i}};sx=Xj([gf(1,ra),gf(2,sa),gf(3,uy),gf(4,li),gf(5,oa)],sx);class Jj{}const qy=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};yi(nr.ID,nr,3);oe(qj);oe(ex);oe(tx);oe(Kj);oe(Gj);oe(Zj);oe(ix);an(nx);Oh.register(sx);qy.register(new Jj);var Qj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qw=function(o,e){return function(t,i){e(t,i,o)}},kf,wc;let Dp=(wc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new We,this.toUnhookForKeyboard=new We,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Hy(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(s.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{bn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(kf.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var r;this.toUnhookForKeyboard.clear();const t=e?(r=this.editor.getModel())==null?void 0:r.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new gP(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Ls(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){bn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?B.lift(n[0].originSelectionRange):new B(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=B.plusRange(a,c));this.addDecoration(a,new Ks().appendText(y("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(c=>{if(!c.object||!c.object.textEditorModel){c.dispose();return}const{object:{textEditorModel:h}}=c,{startLineNumber:g}=a.range;if(g<1||g>h.getLineCount()){c.dispose();return}const f=this.getPreviewValue(h,g,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(h.uri);this.addDecoration(s,f?new Ks().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=kf.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let s=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){const c=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,c)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${s-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),n=Math.min(e.getLineCount(),t+kf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new B(t,1,s+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){var i;return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(((i=e.target.detail.injectedText)==null?void 0:i.options)instanceof Y0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?wm(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const n=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new Cm({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(qi);return co.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},kf=wc,wc.ID="editor.contrib.gotodefinitionatposition",wc.MAX_SOURCE_PREVIEW_LINES=8,wc);Dp=kf=Qj([qw(1,aa),qw(2,ra),qw(3,Tt)],Dp);yi(Dp.ID,Dp,2);var DN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hv=function(o,e){return function(t,i){e(t,i,o)}};class YI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let ox=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new fi,this.onDidChange=this._onDidChange.event,this._dispoables=new We,this._markers=[],this._nextIdx=-1,gn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let h=fk(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=B.compareRangesUsingStarts(a,c)||Xs.compare(a.severity,c.severity):h=Xs.compare(a.severity,c.severity)||B.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:gn.isUri(e)?e:void 0,severities:Xs.Error|Xs.Warning|Xs.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(s)};r(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(c=>this._resourceFilter(c)))&&(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new YI(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,s=this._markers.findIndex(r=>r.resource.toString()===e.uri.toString());s<0&&(s=X_(this._markers,{resource:e.uri},(r,a)=>fk(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=B.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new B(a.startLineNumber,c.startColumn,a.startLineNumber,c.endColumn))}if(t&&(a.containsPosition(t)||t.isBeforeOrEqual(a.getStartPosition()))){this._nextIdx=r,n=!0;break}if(this._markers[r].resource.toString()!==e.uri.toString())break}n||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;const n=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),n!==this._nextIdx}find(e,t){let i=this._markers.findIndex(n=>n.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(B.containsPosition(this._markers[i],t))return new YI(this._markers[i],i+1,this._markers.length)}}};ox=DN([Hv(1,j0),Hv(2,An)],ox);const EN=Dl("IMarkerNavigationService");let rx=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new nP}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new ox(e,this._markerService,this._configService)}};rx=DN([Hv(0,j0),Hv(1,An)],rx);El(EN,rx,1);var ax;(function(o){function e(t){switch(t){case Hm.Ignore:return"severity-ignore "+Xi.asClassName(ei.info);case Hm.Info:return Xi.asClassName(ei.info);case Hm.Warning:return Xi.asClassName(ei.warning);case Hm.Error:return Xi.asClassName(ei.error);default:return""}}o.className=e})(ax||(ax={}));var e6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},su=function(o,e){return function(t,i){e(t,i,o)}},lx;class t6{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new We,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(bl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new T2(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){Zs(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:s}=e;let r=((t==null?void 0:t.length)||0)+2;s&&(typeof s=="string"?r+=s.length:r+=s.value.length);const a=_y(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Wa(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let c=this._messageBlock;for(const p of a)c=document.createElement("div"),c.innerText=p,p===""&&(c.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(c);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),c.appendChild(p),t){const v=document.createElement("span");v.innerText=t,v.classList.add("source"),p.appendChild(v)}if(s)if(typeof s=="string"){const v=document.createElement("span");v.innerText=`(${s})`,v.classList.add("code"),p.appendChild(v)}else{this._codeLink=St("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=ft(this._codeLink,St("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(Wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Fo(n)){const p=this._relatedBlock.appendChild(document.createElement("div"));p.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const v of n){const _=document.createElement("div"),w=document.createElement("a");w.classList.add("filename"),w.innerText=`${this._labelService.getUriBasenameLabel(v.resource)}(${v.startLineNumber}, ${v.startColumn}): `,w.title=this._labelService.getUriLabel(v.resource),this._relatedDiagnostics.set(w,v);const S=document.createElement("span");S.innerText=v.message,_.appendChild(w),_.appendChild(S),this._lines+=1,p.appendChild(_)}}const h=this._editor.getOption(50),g=Math.ceil(h.typicalFullwidthCharacterWidth*this._longestLineLength*.75),f=h.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:g,scrollHeight:f})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case Xs.Error:t=y("Error","Error");break;case Xs.Warning:t=y("Warning","Warning");break;case Xs.Info:t=y("Info","Info");break;case Xs.Hint:t=y("Hint","Hint");break}let i=y("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();return n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1&&(i=`${n.getLineContent(e.startLineNumber)}, ${i}`),i}}var Kd;let Ep=(Kd=class extends pv{constructor(e,t,i,n,s,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new We,this._onDidSelectRelatedInformation=new fi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Xs.Warning,this._backgroundColor=Ii.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(o6);let t=cx,i=i6;this._severity===Xs.Warning?(t=N_,i=n6):this._severity===Xs.Info&&(t=dx,i=s6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(KM),secondaryHeadingColor:e.getColor(GM)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(n=>this.editor.focus()));const t=[],i=this._menuService.getMenuActions(lx.TitleMenu,this._contextKeyService);q0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=ft(e,St(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new t6(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=B.lift(e),s=this.editor.getPosition(),r=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(r,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const c=i>1?y("problems","{0} of {1} problems",t,i):y("change","{0} of {1} problem",t,i);this.setTitle(Ua(a.uri),c)}this._icon.className=`codicon ${ax.className(Xs.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(r,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}},lx=Kd,Kd.TitleMenu=new ct("gotoErrorTitleMenu"),Kd);Ep=lx=e6([su(1,Pr),su(2,sa),su(3,Ph),su(4,li),su(5,qi),su(6,lp)],Ep);const JI=t1(k2,L2),QI=t1(D2,I2),eD=t1(uS,E2),cx=Ct("editorMarkerNavigationError.background",{dark:JI,light:JI,hcDark:vl,hcLight:vl},y("editorMarkerNavigationError","Editor marker navigation widget error color.")),i6=Ct("editorMarkerNavigationError.headerBackground",{dark:Ba(cx,.1),light:Ba(cx,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),N_=Ct("editorMarkerNavigationWarning.background",{dark:QI,light:QI,hcDark:vl,hcLight:vl},y("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),n6=Ct("editorMarkerNavigationWarning.headerBackground",{dark:Ba(N_,.1),light:Ba(N_,.1),hcDark:"#0C141F",hcLight:Ba(N_,.2)},y("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),dx=Ct("editorMarkerNavigationInfo.background",{dark:eD,light:eD,hcDark:vl,hcLight:vl},y("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),s6=Ct("editorMarkerNavigationInfo.headerBackground",{dark:Ba(dx,.1),light:Ba(dx,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),o6=Ct("editorMarkerNavigation.background",P2,y("editorMarkerNavigationBackground","Editor marker navigation widget background."));var r6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},r_=function(o,e){return function(t,i){e(t,i,o)}},If,Gd;let Lh=(Gd=class{static get(e){return e.getContribution(If.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new We,this._editor=e,this._widgetVisible=PN.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(Ep,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var n,s,r;(!((n=this._model)!=null&&n.selected)||!B.containsPosition((s=this._model)==null?void 0:s.selected.marker,i.position))&&((r=this._model)==null||r.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:B.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Pt(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,n;if(this._editor.hasModel()){const s=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(s.move(e,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=await this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&((i=If.get(r))==null||i.close(),(n=If.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},If=Gd,Gd.ID="editor.contrib.markerController",Gd);Lh=If=r6([r_(1,EN),r_(2,qi),r_(3,rs),r_(4,li)],Lh);class Ky extends Ce{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Lh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const id=class id extends Ky{constructor(){super(!0,!1,{id:id.ID,label:id.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:578,weight:100},menuOpts:{menuId:Ep.TitleMenu,title:id.LABEL,icon:ns("marker-navigation-next",ei.arrowDown,y("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};id.ID="editor.action.marker.next",id.LABEL=y("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Wv=id;const nd=class nd extends Ky{constructor(){super(!1,!1,{id:nd.ID,label:nd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:1602,weight:100},menuOpts:{menuId:Ep.TitleMenu,title:nd.LABEL,icon:ns("marker-navigation-previous",ei.arrowUp,y("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};nd.ID="editor.action.marker.prev",nd.LABEL=y("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let hx=nd;class a6 extends Ky{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:y("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:66,weight:100},menuOpts:{menuId:ct.MenubarGoMenu,title:y({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class l6 extends Ky{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:y("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:1090,weight:100},menuOpts:{menuId:ct.MenubarGoMenu,title:y({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}yi(Lh.ID,Lh,4);oe(Wv);oe(hx);oe(a6);oe(l6);const PN=new Oi("markersNavigationVisible",!1),c6=go.bindToContribution(Lh.get);Rt(new c6({id:"closeMarkersNavigation",precondition:PN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:N.focus,primary:9,secondary:[1033]}}));var Br;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Br||(Br={}));class d6 extends Ce{constructor(){super({id:RM,label:y({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:It("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[Br.NoAutoFocus,Br.FocusIfVisible,Br.AutoFocusImmediately],enumDescriptions:[y("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),y("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),y("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Br.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Us.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Br.FocusIfVisible;Object.values(Br).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Br.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new B(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==Br.NoAutoFocus?n.focus():a(c):a(c||r===Br.AutoFocusImmediately)}}class h6 extends Ce{constructor(){super({id:DB,label:y({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:It("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Us.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new B(n.lineNumber,n.column,n.lineNumber,n.column),r=Dp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class u6 extends Ce{constructor(){super({id:EB,label:y({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:16,weight:100},metadata:{description:It("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.scrollUp()}}class g6 extends Ce{constructor(){super({id:PB,label:y({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:18,weight:100},metadata:{description:It("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.scrollDown()}}class f6 extends Ce{constructor(){super({id:TB,label:y({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:15,weight:100},metadata:{description:It("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.scrollLeft()}}class p6 extends Ce{constructor(){super({id:MB,label:y({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:17,weight:100},metadata:{description:It("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.scrollRight()}}class m6 extends Ce{constructor(){super({id:NB,label:y({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:It("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.pageUp()}}class _6 extends Ce{constructor(){super({id:RB,label:y({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:It("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.pageDown()}}class v6 extends Ce{constructor(){super({id:AB,label:y({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:It("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.goToTop()}}class b6 extends Ce{constructor(){super({id:OB,label:y({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:N.hoverFocused,kbOpts:{kbExpr:N.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:It("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Us.get(t);i&&i.goToBottom()}}class y6 extends Ce{constructor(){super({id:Ay,label:FB,alias:"Increase Hover Verbosity Level",precondition:N.hoverVisible})}run(e,t,i){const n=Us.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(tr.Increase,s,i==null?void 0:i.focus)}}class w6 extends Ce{constructor(){super({id:Oy,label:HB,alias:"Decrease Hover Verbosity Level",precondition:N.hoverVisible})}run(e,t,i){var r;const n=Us.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Us.get(t))==null||r.updateHoverVerbosityLevel(tr.Decrease,s,i==null?void 0:i.focus)}}var S6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kw=function(o,e){return function(t,i){e(t,i,o)}};const lr=St;class C6{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const tD={type:1,filter:{include:xn.QuickFix},triggerAction:Lo.QuickFixHover};let ux=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];for(const a of t){const c=a.range.startLineNumber===n?a.range.startColumn:1,h=a.range.endLineNumber===n?a.range.endColumn:s,g=this._markerDecorationsService.getMarker(i.uri,a);if(!g)continue;const f=new B(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new C6(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new Sh([]);const i=new We,n=[];t.forEach(r=>{const a=this._renderMarkerHover(r);e.fragment.appendChild(a.hoverElement),n.push(a)});const s=t.length===1?t[0]:t.sort((r,a)=>Xs.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Sh(n)}_renderMarkerHover(e){const t=new We,i=lr("div.hover-row"),n=ft(i,lr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=ft(n,lr("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=lr("span");if(s){const w=ft(f,lr("span"));w.innerText=s}const p=ft(f,lr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add($i(p,"click",w=>{this._openerService.open(a.target,{allowCommands:!0}),w.preventDefault(),w.stopPropagation()}));const v=ft(p,lr("span"));v.innerText=a.value;const _=ft(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=ft(n,lr("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Fo(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const w=ft(n,lr("div"));w.style.marginTop="8px";const S=ft(w,lr("a"));S.innerText=`${Ua(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add($i(S,"click",E=>{if(E.stopPropagation(),E.preventDefault(),this._openerService){const R={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:R}).catch(bn)}}));const D=ft(w,lr("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Xs.Error||t.marker.severity===Xs.Warning||t.marker.severity===Xs.Info){const n=Lh.get(this._editor);n&&e.statusBar.addAction({label:y("view problem","View Problem"),commandId:Wv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(lr("div"));this.recentMarkerCodeActionsInfo&&(pk.makeKey(this.recentMarkerCodeActionsInfo.marker)===pk.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=y("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?je.None:ip(()=>n.textContent=y("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Nn(()=>r.cancel())),r.then(a=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),n.textContent=y("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(Nn(()=>{c||a.dispose()})),e.statusBar.addAction({label:y("quick fixes","Quick Fix..."),commandId:E1,run:h=>{c=!0;const g=yg.get(this._editor),f=lo(h);e.hide(),g==null||g.showCodeActions(tD,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},bn)}}getCodeActions(e){return Ls(t=>wu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),tD,al.None,t))}};ux=S6([Kw(1,M2),Kw(2,sa),Kw(3,Tt)],ux);class x6{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=j_.Center}computeSync(){var s;const e=r=>({value:r}),t=this._editor.getLineDecorations(this._lineNumber),i=[],n=this._laneOrLine==="lineNo";if(!t)return i;for(const r of t){const a=((s=r.options.glyphMargin)==null?void 0:s.position)??j_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||ap(c)||i.push(...xE(c).map(e))}return i}}var L6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},iD=function(o,e){return function(t,i){e(t,i,o)}},gx;const nD=St;var Zd;let fx=(Zd=class extends je{constructor(e,t,i){super(),this._renderDisposeables=this._register(new We),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new CE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Hg({editor:this._editor},t,i)),this._computer=new x6(this._editor),this._hoverOperation=this._register(new HM(this._editor,this._computer)),this._register(this._hoverOperation.onResult(n=>{this._withResult(n.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(50)&&this._updateFont()})),this._register(bl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return gx.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const s=nD("div.hover-row.markdown-hover"),r=ft(s,nD("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(n.value));r.appendChild(a.element),i.appendChild(s)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,a=i-n-(r-s)/2,c=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${c}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!Fy(t,e.x,e.y))&&this.hide()}},gx=Zd,Zd.ID="editor.contrib.modesGlyphHoverWidget",Zd);fx=gx=L6([iD(1,ra),iD(2,sa)],fx);var k6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},I6=function(o,e){return function(t,i){e(t,i,o)}},Yu;let Bv=(Yu=class extends je{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new We,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new _s(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(e)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(e){var i;const t=(i=this._glyphWidget)==null?void 0:i.getDomNode();return t?Fy(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){!e||this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&(e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||this._hideWidgets())}_hideWidgets(){var e;(e=this._glyphWidget)==null||e.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(fx,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Yu.ID="editor.contrib.marginHover",Yu);Bv=k6([I6(1,li)],Bv);class D6{}class E6{}class P6{}yi(Us.ID,Us,2);yi(Bv.ID,Bv,2);oe(d6);oe(h6);oe(u6);oe(g6);oe(f6);oe(p6);oe(m6);oe(_6);oe(v6);oe(b6);oe(y6);oe(w6);Oh.register(Cp);Oh.register(ux);cy((o,e)=>{const t=o.getColor(N2);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});qy.register(new D6);qy.register(new E6);qy.register(new P6);function _o(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function qf(o,e,t){o=o<0?0:o;let i="";if(!t){const n=Math.floor(o/e);o=o%e;for(let s=0;s<n;s++)i+=" "}for(let n=0;n<o;n++)i+=" ";return i}function TN(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return[];const n=e.getLanguageConfiguration(o.getLanguageId()).indentRulesSupport;if(!n)return[];const s=new R2(o,n,e);for(i=Math.min(i,o.getLineCount());t<=i&&s.shouldIgnore(t);)t++;if(t>i-1)return[];const{tabSize:r,indentSize:a,insertSpaces:c}=o.getOptions(),h=(w,S)=>(S=S||1,ug.shiftIndent(w,w.length+S,r,a,c)),g=(w,S)=>(S=S||1,ug.unshiftIndent(w,w.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=Ns(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let w=t;w<=i;w++){if(T6(o,w))continue;const S=o.getLineContent(w),D=Ns(S),E=_;s.shouldDecrease(w,E)&&(_=g(_),v=g(v)),D!==_&&f.push(Xn.replaceMove(new Gt(w,1,w,D.length+1),A2(_,a,c))),!s.shouldIgnore(w)&&(s.shouldIncrease(w,E)?(v=h(v),_=v):s.shouldIndentNextLine(w,E)?_=h(_):_=v)}return f}function T6(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var M6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},N6=function(o,e){return function(t,i){e(t,i,o)}};const Nb=class Nb extends Ce{constructor(){super({id:Nb.ID,label:y("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:N.writable,metadata:{description:It("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new H6(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Nb.ID="editor.action.indentationToSpaces";let px=Nb;const Rb=class Rb extends Ce{constructor(){super({id:Rb.ID,label:y("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:N.writable,metadata:{description:It("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new W6(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};Rb.ID="editor.action.indentationToTabs";let mx=Rb;class tL extends Ce{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Il),n=e.get(io),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),c=[1,2,3,4,5,6,7,8].map(g=>({id:g.toString(),label:g.toString(),description:g===r.tabSize&&g===a.tabSize?y("configuredTabSize","Configured Tab Size"):g===r.tabSize?y("defaultTabSize","Default Tab Size"):g===a.tabSize?y("currentTabSize","Current Tab Size"):void 0})),h=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:y({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:c[h]}).then(g=>{if(g&&s&&!s.isDisposed()){const f=parseInt(g.label,10);this.displaySizeOnly?s.updateOptions({tabSize:f}):s.updateOptions({tabSize:f,indentSize:f,insertSpaces:this.insertSpaces})}})},50)}}const Ab=class Ab extends tL{constructor(){super(!1,!1,{id:Ab.ID,label:y("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:It("indentUsingTabsDescription","Use indentation with tabs.")}})}};Ab.ID="editor.action.indentUsingTabs";let _x=Ab;const Ob=class Ob extends tL{constructor(){super(!0,!1,{id:Ob.ID,label:y("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:It("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Ob.ID="editor.action.indentUsingSpaces";let vx=Ob;const Fb=class Fb extends tL{constructor(){super(!0,!0,{id:Fb.ID,label:y("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:It("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};Fb.ID="editor.action.changeTabDisplaySize";let bx=Fb;const Hb=class Hb extends Ce{constructor(){super({id:Hb.ID,label:y("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:It("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(io),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Hb.ID="editor.action.detectIndentation";let yx=Hb;class R6 extends Ce{constructor(){super({id:"editor.action.reindentlines",label:y("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:N.writable,metadata:{description:It("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Ss),n=t.getModel();if(!n)return;const s=TN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class A6 extends Ce{constructor(){super({id:"editor.action.reindentselectedlines",label:y("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:N.writable,metadata:{description:It("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Ss),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let c=a.startLineNumber,h=a.endLineNumber;if(c!==h&&a.endColumn===1&&h--,c===1){if(c===h)continue}else c--;const g=TN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class O6{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(B.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}var Ju;let zv=(Ju=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new We,this.callOnModel=new We,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||F6(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:c}=i.getOptions(),h=[],g={shiftIndent:_=>ug.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>ug.unshiftIndent(_,_.length+1,r,a,c)};let f=e.startLineNumber;for(;f<=e.endLineNumber;){if(this.shouldIgnoreLine(i,f)){f++;continue}break}if(f>e.endLineNumber)return;let p=i.getLineContent(f);if(!/\S/.test(p.substring(0,e.startColumn-1))){const _=Ff(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const w=Ns(p),S=_o(_,r),D=_o(w,r);if(S!==D){const E=qf(S,r,c);h.push({range:new B(f,1,f,w.length+1),text:E}),p=E+p.substring(w.length)}else{const E=fP(i,f,this._languageConfigurationService);if(E===0||E===8)return}}}const v=f;for(;f<e.endLineNumber;){if(!/\S/.test(i.getLineContent(f+1))){f++;continue}break}if(f!==e.endLineNumber){const w=Ff(s,{tokenization:{getLineTokens:S=>i.tokenization.getLineTokens(S),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(S,D)=>i.getLanguageIdAtPosition(S,D)},getLineContent:S=>S===v?p:i.getLineContent(S)},i.getLanguageId(),f+1,g,this._languageConfigurationService);if(w!==null){const S=_o(w,r),D=_o(Ns(i.getLineContent(f+1)),r);if(S!==D){const E=S-D;for(let R=f+1;R<=e.endLineNumber;R++){const z=i.getLineContent(R),H=Ns(z),X=_o(H,r)+E,fe=qf(X,r,c);fe!==H&&h.push({range:new B(R,1,R,H.length+1),text:fe})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new O6(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",_),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=s=>s.trim().length===0;let n=!0;if(t.startLineNumber===t.endLineNumber){const r=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);n=i(r)}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const r=e.getLineContent(s);if(s===t.startLineNumber){const a=r.substring(t.startColumn-1);n=i(a)}else if(s===t.endLineNumber){const a=r.substring(0,t.endColumn-1);n=i(a)}else n=e.getLineFirstNonWhitespaceColumn(s)===0;if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const s=n.findTokenIndexAtOffset(i);if(s>=0&&n.getStandardTokenType(s)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},Ju.ID="editor.contrib.autoIndentOnPaste",Ju);zv=M6([N6(1,Ss)],zv);function F6(o,e){const t=i=>O2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function MN(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n="";for(let r=0;r<t;r++)n+=" ";const s=new RegExp(n,"gi");for(let r=1,a=o.getLineCount();r<=a;r++){let c=o.getLineFirstNonWhitespaceColumn(r);if(c===0&&(c=o.getLineMaxColumn(r)),c===1)continue;const h=new B(r,1,r,c),g=o.getValueInRange(h),f=i?g.replace(/\t/ig,n):g.replace(s," ");e.addEditOperation(h,f)}}class H6{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),MN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class W6{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),MN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}yi(zv.ID,zv,2);oe(px);oe(mx);oe(_x);oe(vx);oe(bx);oe(yx);oe(R6);oe(A6);yi(Lp.ID,Lp,1);Oh.register(bv);class B6{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Gt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Gt(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var z6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},V6=function(o,e){return function(t,i){e(t,i,o)}},R_,Sc;let Eg=(Sc=class{static get(e){return e.getContribution(R_.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var c;(c=this.currentRequest)==null||c.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new gP(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Ls(h=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(h=>{var _;if(!h||!h.range||!h.value||!r.validate(this.editor))return;const g=B.lift(h.range);let f=h.range;const p=h.value.length-(s.endColumn-s.startColumn);f={startLineNumber:f.startLineNumber,startColumn:f.startColumn,endLineNumber:f.endLineNumber,endColumn:f.startColumn+h.value.length},p>1&&(s=new Gt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new B6(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:R_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=vy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(bn)}).catch(bn)):Promise.resolve(void 0)}},R_=Sc,Sc.ID="editor.contrib.inPlaceReplaceController",Sc.DECORATION=Ei.register({description:"in-place-replace",className:"valueSetReplacement"}),Sc);Eg=R_=z6([V6(1,Pl)],Eg);class j6 extends Ce{constructor(){super({id:"editor.action.inPlaceReplace.up",label:y("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Eg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class U6 extends Ce{constructor(){super({id:"editor.action.inPlaceReplace.down",label:y("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Eg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}yi(Eg.ID,Eg,4);oe(j6);oe(U6);class $6 extends Ce{constructor(){super({id:"expandLineSelection",label:y("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:N.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const n=t._getViewModel();n.model.pushStackElement(),n.setCursorStates(i.source,3,i1.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}oe($6);class q6{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=K6(e,this._cursors,this._trimInRegexesAndStrings);for(let n=0,s=i.length;n<s;n++){const r=i[n];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}function K6(o,e,t){e.sort((a,c)=>a.lineNumber===c.lineNumber?a.column-c.column:a.lineNumber-c.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let n=0,s=0;const r=e.length;for(let a=1,c=o.getLineCount();a<=c;a++){const h=o.getLineContent(a),g=h.length+1;let f=0;if(s<r&&e[s].lineNumber===a&&(f=e[s].column,s++,f===g)||h.length===0)continue;const p=y_(h);let v=0;if(p===-1)v=1;else if(p!==h.length-1)v=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const _=o.tokenization.getLineTokens(a),w=_.getStandardTokenType(_.findTokenIndexAtOffset(v));if(w===2||w===3)continue}v=Math.max(f,v),i[n++]=Xn.delete(new B(a,v,a,g))}return i}class NN{constructor(e,t,i){this._selection=e,this._isCopyingDown=t,this._noop=i||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let i=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._endLineNumberDelta=1,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=[];for(let r=i.startLineNumber;r<=i.endLineNumber;r++)n.push(e.getLineContent(r));const s=n.join(`
|
|
48
|
-
`);s===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new B(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
49
|
-
`):this._isCopyingDown?t.addEditOperation(new B(i.startLineNumber,1,i.startLineNumber,1),s+`
|
|
50
|
-
`):t.addEditOperation(new B(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
|
|
51
|
-
`+s),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let n=i.startLineNumber,s=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(n=n+this._startLineNumberDelta,s=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=Gt.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var G6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Z6=function(o,e){return function(t,i){e(t,i,o)}};let wx=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(f,p)=>e.getLanguageIdAtPosition(f,p),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:c,insertSpaces:h}=e.getOptions(),g=this.buildIndentConverter(a,c,h);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const f=r.startLineNumber,p=this._isMovingDown?f+1:f-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new B(1,1,1,1),null):(t.addEditOperation(new B(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new B(p,1,p,e.getLineMaxColumn(p)),null)),r=new Gt(p,1,p,1)}else{let f,p;if(this._isMovingDown){f=r.endLineNumber+1,p=e.getLineContent(f),t.addEditOperation(new B(f-1,e.getLineMaxColumn(f-1),f,e.getLineMaxColumn(f)),null);let v=p;if(this.shouldAutoIndent(e,r)){const _=this.matchEnterRule(e,g,a,f,r.startLineNumber-1);if(_!==null){const S=Ns(e.getLineContent(f)),D=_+_o(S,a);v=qf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:E=>E===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===r.startLineNumber?e.getLineContent(f):e.getLineContent(E)},D=Ff(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const E=Ns(e.getLineContent(f)),R=_o(D,a),z=_o(E,a);R!==z&&(v=qf(R,a,h)+this.trimStart(p))}}t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
|
|
52
|
-
`);const w=this.matchEnterRuleMovingDown(e,g,a,r.startLineNumber,f,v);if(w!==null)w!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,w);else{const S={tokenization:{getLineTokens:E=>E===r.startLineNumber?e.tokenization.getLineTokens(f):E>=r.startLineNumber+1&&E<=r.endLineNumber+1?e.tokenization.getLineTokens(E-1):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===r.startLineNumber?v:E>=r.startLineNumber+1&&E<=r.endLineNumber+1?e.getLineContent(E-1):e.getLineContent(E)},D=Ff(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const E=Ns(e.getLineContent(r.startLineNumber)),R=_o(D,a),z=_o(E,a);if(R!==z){const H=R-z;this.getIndentEditsOfMovingBlock(e,t,r,a,h,H)}}}}else t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
|
|
53
|
-
`)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new B(f,1,f+1,1),null),t.addEditOperation(new B(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
54
|
-
`+p),this.shouldAutoIndent(e,r)){const v={tokenization:{getLineTokens:w=>w===f?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(w),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:w=>w===f?e.getLineContent(r.startLineNumber):e.getLineContent(w)},_=this.matchEnterRule(e,g,a,r.startLineNumber,r.startLineNumber-2);if(_!==null)_!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,_);else{const w=Ff(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(w!==null){const S=Ns(e.getLineContent(r.startLineNumber)),D=_o(w,a),E=_o(S,a);if(D!==E){const R=D-E;this.getIndentEditsOfMovingBlock(e,t,r,a,h,R)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>ug.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>ug.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Wm.None||s.indentAction===Wm.Indent?r=s.indentation+s.appendText:s.indentAction===Wm.IndentOutdent?r=s.indentation:s.indentAction===Wm.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Ns(e.getLineContent(n));let h=Ns(r);const g=fP(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=_o(h,i),p=_o(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(y_(r)>=0){const a=e.getLineMaxColumn(s),c=pw(this._autoIndent,e,new B(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}else{let a=n-1;for(;a>=1;){const g=e.getLineContent(a);if(y_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=pw(this._autoIndent,e,new B(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let g;if(a===s&&r!==void 0?g=r:g=e.getLineContent(a),y_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=pw(this._autoIndent,e,new B(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const c=e.getLineContent(a),h=Ns(c),f=_o(h,n)+r,p=qf(f,n,s);p!==h&&(t.addEditOperation(new B(a,1,a,h.length+1),p),a===i.endLineNumber&&i.endColumn<=h.length+1&&p===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};wx=G6([Z6(3,Ss)],wx);const Tu=class Tu{static getCollator(){return Tu._COLLATOR||(Tu._COLLATOR=new Intl.Collator),Tu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=X6(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;const n=RN(e,t,i);if(!n)return!1;for(let s=0,r=n.before.length;s<r;s++)if(n.before[s]!==n.after[s])return!0;return!1}};Tu._COLLATOR=null;let Pp=Tu;function RN(o,e,t){const i=e.startLineNumber;let n=e.endLineNumber;if(e.endColumn===1&&n--,i>=n)return null;const s=[];for(let a=i;a<=n;a++)s.push(o.getLineContent(a));let r=s.slice(0);return r.sort(Pp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function X6(o,e,t){const i=RN(o,e,t);return i?Xn.replace(new B(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
-
`)):null}class AN extends Ce{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>B.compareRangesUsingStarts(r.selection,a.selection));let n=i[0];for(let r=1;r<i.length;r++){const a=i[r];n.selection.endLineNumber===a.selection.startLineNumber&&(n.index<a.index?a.ignore=!0:(n.ignore=!0,n=a))}const s=[];for(const r of i)s.push(new NN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Y6 extends AN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:y("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class J6 extends AN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:y("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class Q6 extends Ce{constructor(){super({id:"editor.action.duplicateSelection",label:y("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:N.writable,menuOpts:{menuId:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),r=t.getModel();for(const a of s)if(a.isEmpty())n.push(new NN(a,!0));else{const c=new Gt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new F2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class ON extends Ce{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Ss),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new wx(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class eU extends ON{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:y("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class tU extends ON{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:y("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class FN extends Ce{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new Gt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Pp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Pp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class iU extends FN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:N.writable})}}class nU extends FN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:N.writable})}}class sU extends Ce{constructor(){super({id:"editor.action.removeDuplicateLines",label:y("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:N.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const n=[],s=[];let r=0,a=!0,c=t.getSelections();c.length===1&&c[0].isEmpty()&&(c=[new Gt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const h of c){const g=new Set,f=[];for(let w=h.startLineNumber;w<=h.endLineNumber;w++){const S=i.getLineContent(w);g.has(S)||(f.push(S),g.add(S))}const p=new Gt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new Gt(v,1,v+f.length-1,f[f.length-1].length);n.push(Xn.replace(p,f.join(`
|
|
56
|
-
`))),s.push(_),r+=h.endLineNumber-h.startLineNumber+1-f.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const Wb=class Wb extends Ce{constructor(){super({id:Wb.ID,label:y("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:hs(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new Pt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(An),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new q6(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};Wb.ID="editor.action.trimTrailingWhitespace";let Sx=Wb;class oU extends Ce{constructor(){super({id:"editor.action.deleteLines",label:y("lines.delete","Delete Line"),alias:"Delete Line",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let s=0;const r=[],a=[];for(let c=0,h=i.length;c<h;c++){const g=i[c];let f=g.startLineNumber,p=g.endLineNumber,v=1,_=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,_=1):f>1&&(f-=1,v=n.getLineMaxColumn(f)),r.push(Xn.replace(new Gt(f,v,p,_),"")),a.push(new Gt(f-s,g.positionColumn,f-s,g.positionColumn)),s+=g.endLineNumber-g.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class rU extends Ce{constructor(){super({id:"editor.action.indentLines",label:y("lines.indent","Indent Line"),alias:"Indent Line",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,H2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class aU extends Ce{constructor(){super({id:"editor.action.outdentLines",label:y("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2140,weight:100}})}run(e,t){b_.Outdent.runEditorCommand(e,t,null)}}class lU extends Ce{constructor(){super({id:"editor.action.insertLineBefore",label:y("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,pP.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class cU extends Ce{constructor(){super({id:"editor.action.insertLineAfter",label:y("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,pP.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class HN extends Ce{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,h=n.length-1;c<h;c++){const g=n[c],f=n[c+1];B.intersectRanges(g,f)===null?s.push(g):n[c+1]=B.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Xn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class dU extends HN{constructor(){super({id:"deleteAllLeft",label:y("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach(r=>{let a;if(r.endColumn===1&&s>0){const c=r.startLineNumber-s;a=new Gt(c,r.startColumn,c,r.startColumn)}else a=new Gt(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);s+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:n.push(a)}),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const n=e.getModel();return n===null?[]:(i.sort(B.compareRangesUsingStarts),i=i.map(s=>{if(s.isEmpty())if(s.startColumn===1){const r=Math.max(1,s.startLineNumber-1),a=s.startLineNumber===1?1:n.getLineLength(r)+1;return new B(r,a,s.startLineNumber,1)}else return new B(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new B(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class hU extends HN{constructor(){super({id:"deleteAllRight",label:y("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,r=t.length,a=0;s<r;s++){const c=t[s],h=new Gt(c.startLineNumber-a,c.startColumn,c.startLineNumber-a,c.startColumn);c.intersectRanges(e)?i=h:n.push(h)}return i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const n=i.map(s=>{if(s.isEmpty()){const r=t.getLineMaxColumn(s.startLineNumber);return s.startColumn===r?new B(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new B(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(B.compareRangesUsingStarts),n}}class uU extends Ce{constructor(){super({id:"editor.action.joinLines",label:y("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:N.writable,kbOpts:{kbExpr:N.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let n=t.getSelection();if(n===null)return;i.sort(B.compareRangesUsingStarts);const s=[],r=i.reduce((p,v)=>p.isEmpty()?p.endLineNumber===v.startLineNumber?(n.equalsSelection(p)&&(n=v),v):v.startLineNumber>p.endLineNumber+1?(s.push(p),v):new Gt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new Gt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const c=[],h=[];let g=n,f=0;for(let p=0,v=s.length;p<v;p++){const _=s[p],w=_.startLineNumber,S=1;let D=0,E,R;const z=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(E=w+1,R=a.getLineMaxColumn(E)):(E=X.lineNumber,R=a.getLineMaxColumn(X.lineNumber))}else E=_.endLineNumber,R=a.getLineMaxColumn(E);let H=a.getLineContent(w);for(let X=w+1;X<=E;X++){const fe=a.getLineContent(X),Le=a.getLineFirstNonWhitespaceColumn(X);if(Le>=1){let Ue=!0;H===""&&(Ue=!1),Ue&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(Ue=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const xe=fe.substr(Le-1);H+=(Ue?" ":"")+xe,Ue?D=xe.length+1:D=xe.length}else D=0}const ee=new B(w,S,E,R);if(!ee.isEmpty()){let X;_.isEmpty()?(c.push(Xn.replace(ee,H)),X=new Gt(ee.startLineNumber-f,H.length-D+1,w-f,H.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(Xn.replace(ee,H)),X=new Gt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(Xn.replace(ee,H)),X=new Gt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,H.length-z)),B.intersectRanges(ee,n)!==null?g=X:h.push(X)}f+=ee.endLineNumber-ee.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class gU extends Ce{constructor(){super({id:"editor.action.transpose",label:y("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:N.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=[];for(let r=0,a=i.length;r<a;r++){const c=i[r];if(!c.isEmpty())continue;const h=c.getStartPosition(),g=n.getLineMaxColumn(h.lineNumber);if(h.column>=g){if(h.lineNumber===n.getLineCount())continue;const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new Yp(new Gt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new NE(f,p,new Gt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Wh extends Ce{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const c=a.getStartPosition(),h=t.getConfiguredWordAtPosition(c);if(!h)continue;const g=new B(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(Xn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(Xn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class fU extends Wh{constructor(){super({id:"editor.action.transformToUppercase",label:y("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:N.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class pU extends Wh{constructor(){super({id:"editor.action.transformToLowercase",label:y("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:N.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class ml{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}const Bb=class Bb extends Wh{constructor(){super({id:"editor.action.transformToTitlecase",label:y("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:N.writable})}_modifyText(e,t){const i=Bb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Bb.titleBoundary=new ml("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Vv=Bb;const Mu=class Mu extends Wh{constructor(){super({id:"editor.action.transformToSnakecase",label:y("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:N.writable})}_modifyText(e,t){const i=Mu.caseBoundary.get(),n=Mu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Mu.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Mu.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Kf=Mu;const zb=class zb extends Wh{constructor(){super({id:"editor.action.transformToCamelcase",label:y("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:N.writable})}_modifyText(e,t){const i=zb.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map(r=>r.substring(0,1).toLocaleUpperCase()+r.substring(1)).join("")}};zb.wordBoundary=new ml("[_\\s-]","gm");let jv=zb;const Nu=class Nu extends Wh{constructor(){super({id:"editor.action.transformToPascalcase",label:y("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:N.writable})}_modifyText(e,t){const i=Nu.wordBoundary.get(),n=Nu.wordBoundaryToMaintain.get();return!i||!n?e:e.split(n).map(a=>a.split(i)).flat().map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}};Nu.wordBoundary=new ml("[_\\s-]","gm"),Nu.wordBoundaryToMaintain=new ml("(?<=\\.)","gm");let Uv=Nu;const Gl=class Gl extends Wh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:y("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:N.writable})}_modifyText(e,t){const i=Gl.caseBoundary.get(),n=Gl.singleLetters.get(),s=Gl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Gl.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Gl.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Gl.underscoreBoundary=new ml("(\\S)(_)(\\S)","gm");let $v=Gl;oe(Y6);oe(J6);oe(Q6);oe(eU);oe(tU);oe(iU);oe(nU);oe(sU);oe(Sx);oe(oU);oe(rU);oe(aU);oe(lU);oe(cU);oe(dU);oe(hU);oe(uU);oe(gU);oe(fU);oe(pU);Kf.caseBoundary.isSupported()&&Kf.singleLetters.isSupported()&&oe(Kf);jv.wordBoundary.isSupported()&&oe(jv);Uv.wordBoundary.isSupported()&&oe(Uv);Vv.titleBoundary.isSupported()&&oe(Vv);$v.isSupported()&&oe($v);var mU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},a_=function(o,e){return function(t,i){e(t,i,o)}},A_;const WN=new Oi("LinkedEditingInputVisible",!1),_U="linked-editing-decoration";var Cc;let Pg=(Cc=class extends je{static get(e){return e.getContribution(A_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new We),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=WN.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new We),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(r=>{(r.hasChanged(70)||r.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(ms.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Dc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Dc(0),a=c=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(c))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(c=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const h=this._currentDecorations.getRange(0);if(h&&c.changes.every(g=>h.intersectRanges(g.range))){a(this._syncRangesToken);return}}s()})),this._localToDispose.add({dispose:()=>{n.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const r=n.match(this._currentWordPattern);if((r?r[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){const c=this._currentDecorations.getRange(r);if(c)if(c.startLineNumber!==c.endLineNumber)s.push({range:c,text:n});else{let h=t.getValueInRange(c),g=n,f=c.startColumn,p=c.endColumn;const v=cm(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=W2(h,g);p-=_,h=h.substr(0,h.length-_),g=g.substr(0,g.length-_),(f!==p||g.length!==0)&&s.push({range:new B(c.startLineNumber,f,c.endLineNumber,p),text:g})}}if(s.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",s),this._editor._getViewModel().setPrevEditOperationType(r)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new ks;try{const r=new xo(!1),a=await BN(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let c=[];a!=null&&a.ranges&&(c=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let h=!1;for(let f=0,p=c.length;f<p;f++)if(B.containsPosition(c[f],t)){if(h=!0,f!==0){const v=c[f];c.splice(f,1),c.unshift(v)}break}if(!h){this.clearRanges();return}const g=c.map(f=>({range:f,options:A_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){Oc(r)||bn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},A_=Cc,Cc.ID="editor.contrib.linkedEditing",Cc.DECORATION=Ei.register({description:"linked-editing",stickiness:0,className:_U}),Cc);Pg=A_=mU([a_(1,qi),a_(2,Tt),a_(3,Ss),a_(4,sr)],Pg);class vU extends Ce{constructor(){super({id:"editor.action.linkedEditing",label:y("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:le.and(N.writable,N.hasRenameProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(rs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return gn.isUri(n)&&Pt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},bn):super.runCommand(e,t)}run(e,t){const i=Pg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const bU=go.bindToContribution(Pg.get);Rt(new bU({id:"cancelLinkedEditingInput",precondition:WN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:N.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function BN(o,e,t,i){const n=o.ordered(e);return n1(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){os(r);return}}),s=>!!s&&Fo(s==null?void 0:s.ranges))}Ct("editor.linkedEditingBackground",{dark:Ii.fromHex("#f00").transparent(.3),light:Ii.fromHex("#f00").transparent(.3),hcDark:Ii.fromHex("#f00").transparent(.3),hcLight:Ii.white},y("editorLinkedEditingBackground","Background color when the editor auto renames on type."));fo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Tt);return BN(i,e,t,pi.None)});yi(Pg.ID,Pg,1);oe(vU);let yU=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class qv{constructor(e){this._disposables=new We;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new yU(r,n));t=qv._union(t,s),eP(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,r,a;for(n=0,r=0,s=e.length,a=t.length;n<s&&r<a;){const c=e[n],h=t[r];if(B.areIntersectingOrTouching(c.range,h.range)){n++;continue}B.compareRangesUsingStarts(c.range,h.range)<0?(i.push(c),n++):(i.push(h),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function zN(o,e,t){const i=[],n=o.ordered(e).reverse().map((s,r)=>Promise.resolve(s.provideLinks(e,t)).then(a=>{a&&(i[r]=[a,s])},os));return Promise.all(n).then(()=>{const s=new qv(_l(i));return t.isCancellationRequested?(s.dispose(),new qv([])):s})}kn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Ki(t instanceof gn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Tt),s=o.get(io).getModel(t);if(!s)return[];const r=await zN(n,s,pi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(pi.None);const a=r.links.slice(0);return r.dispose(),a});var wU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},l_=function(o,e){return function(t,i){e(t,i,o)}},Cx,Xd;let Tp=(Xd=class extends je{static get(e){return e.getContribution(Cx.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new _s(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Hy(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,c])=>{this._onEditorMouseMove(a,c)})),this._register(r.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(r.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=Ls(t=>zN(this.providers,e,t));try{const t=new xo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){bn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],n=Object.keys(this.currentOccurrences);for(const r of n){const a=this.currentOccurrences[r];i.push(a.decorationId)}const s=[];if(e)for(const r of e)s.push(Fu.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let c=0,h=a.length;c<h;c++){const g=new Fu(e[c],a[c]);this.currentOccurrences[g.decorationId]=g}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(78)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const n=this.getLinkOccurrence(e.target.position);n&&this.editor.changeDecorations(s=>{n.activate(s,i),this.activeLinkDecorationId=n.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(pi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===ro.file&&s.startsWith(`${ro.file}:`)){const a=gn.parse(s);if(a.scheme===ro.file){const c=B2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=z2(r,h))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(y("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(y("missing.url","Failed to open this link because its target is missing.")):bn(s)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const n=this.currentOccurrences[i.id];if(n)return n}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},Cx=Xd,Xd.ID="editor.linkDetector",Xd);Tp=Cx=wU([l_(1,sa),l_(2,to),l_(3,Tt),l_(4,sr)],Tp);const sD={general:Ei.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Ei.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Fu{static decoration(e,t){return{range:e.range,options:Fu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?sD.active:sD.general};return n.hoverMessage=SU(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Fu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Fu._getOptions(this.link,t,!1))}}function SU(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?y("links.navigate.executeCmd","Execute command"):y("links.navigate.follow","Follow link"),n=e?ja?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):ja?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");if(o.url){let s="";if(/^command:/i.test(o.url.toString())){const a=o.url.toString().match(/^command:([^?#]+)/);if(a){const c=a[1];s=y("tooltip.explanation","Execute command {0}",c)}}return new Ks("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ks().appendText(`${i} (${n})`)}class CU extends Ce{constructor(){super({id:"editor.action.openLink",label:y("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Tp.get(t);if(!i||!t.hasModel())return;const n=t.getSelections();for(const s of n){const r=i.getLinkOccurrence(s.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}}yi(Tp.ID,Tp,1);oe(CU);const IL=class IL extends je{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(118);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};IL.ID="editor.contrib.longLinesHelper";let Kv=IL;yi(Kv.ID,Kv,2);const xU=Ct("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},y("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);Ct("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},y("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);Ct("editor.wordHighlightTextBackground",xU,y("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const LU=Ct("editor.wordHighlightBorder",{light:null,dark:null,hcDark:hh,hcLight:hh},y("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));Ct("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:hh,hcLight:hh},y("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));Ct("editor.wordHighlightTextBorder",LU,y("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const kU=Ct("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",y("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),IU=Ct("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",y("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),DU=Ct("editorOverviewRuler.wordHighlightTextForeground",mP,y("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),EU=Ei.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:fs(IU),position:Ha.Center},minimap:{color:fs(by),position:1}}),PU=Ei.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:fs(DU),position:Ha.Center},minimap:{color:fs(by),position:1}}),TU=Ei.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:fs(mP),position:Ha.Center},minimap:{color:fs(by),position:1}}),MU=Ei.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),NU=Ei.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:fs(kU),position:Ha.Center},minimap:{color:fs(by),position:1}});function RU(o){return o===J_.Write?EU:o===J_.Text?PU:NU}function AU(o){return o?MU:TU}cy((o,e)=>{const t=o.getColor(V2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var OU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FU=function(o,e){return function(t,i){e(t,i,o)}},xx;function Hc(o,e){const t=e.filter(i=>!o.find(n=>n.equals(i)));if(t.length>=1){const i=t.map(s=>`line ${s.viewState.position.lineNumber} column ${s.viewState.position.column}`).join(", "),n=t.length===1?y("cursorAdded","Cursor added: {0}",i):y("cursorsAdded","Cursors added: {0}",i);rg(n)}}class HU extends Ce{constructor(){super({id:"editor.action.insertCursorAbove",label:y("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,i1.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Hc(r,s.getCursorStates())}}class WU extends Ce{constructor(){super({id:"editor.action.insertCursorBelow",label:y("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,i1.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Hc(r,s.getCursorStates())}}class BU extends Ce{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:y("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n<e.endLineNumber;n++){const s=t.getLineMaxColumn(n);i.push(new Gt(n,s,n,s))}e.endColumn>1&&i.push(new Gt(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),r=s.getCursorStates(),a=[];n.forEach(c=>this.getCursorsForSelection(c,i,a)),a.length>0&&t.setSelections(a),Hc(r,s.getCursorStates())}}class zU extends Ce{constructor(){super({id:"editor.action.addCursorsToBottom",label:y("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let c=i[0].startLineNumber;c<=n;c++)s.push(new Gt(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Hc(a,r.getCursorStates())}}class VU extends Ce{constructor(){super({id:"editor.action.addCursorsToTop",label:y("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let a=i[0].startLineNumber;a>=1;a--)n.push(new Gt(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Hc(r,s.getCursorStates())}}class c_{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Mp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Mp(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n=!1,s,r;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(n=!0,s=!0,r=!0):(s=i.wholeWord,r=i.matchCase);const c=e.getSelection();let h,g=null;if(c.isEmpty()){const f=e.getConfiguredWordAtPosition(c.getStartPosition());if(!f)return null;h=f.word,g=new Gt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
|
|
57
|
-
`);return new Mp(e,t,n,h,s,r,g)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new c_(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new c_(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Gt(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new c_(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new c_(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Gt(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}const Vb=class Vb extends je{static get(e){return e.getContribution(Vb.ID)}constructor(e){super(),this._sessionDispose=this._register(new We),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Mp.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(n=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(n=>{(n.matchCase||n.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Gt(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const n=e.getState().matchCase;if(!VN(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let c=0,h=t.length;c<h;c++)a[c]=this._expandEmptyToWord(r,t[c]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const n=this._editor.getModel();i.searchScope?t=n.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=n.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const n=this._editor.getSelection();for(let s=0,r=t.length;s<r;s++){const a=t[s];if(a.range.intersectRanges(n)){t[s]=t[0],t[0]=a;break}}this._setSelections(t.map(s=>new Gt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Vb.ID="editor.contrib.multiCursorController";let Tg=Vb;class $g extends Ce{run(e,t){const i=Tg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=ho.get(t);if(r)this._run(i,r);else{const a=e.get(li).createInstance(ho,t);this._run(i,a),a.dispose()}Hc(s,n.getCursorStates())}}}class jU extends $g{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:y("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:2082,weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class UU extends $g{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:y("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class $U extends $g{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:y("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:hs(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class qU extends $g{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:y("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class KU extends $g{constructor(){super({id:"editor.action.selectHighlights",label:y("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:3114,weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"3_multi",title:y({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class GU extends $g{constructor(){super({id:"editor.action.changeAll",label:y("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:le.and(N.writable,N.editorTextFocus),kbOpts:{kbExpr:N.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class ZU{constructor(e,t,i,n,s){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,s&&this._model===s._model&&this._searchText===s._searchText&&this._matchCase===s._matchCase&&this._wordSeparators===s._wordSeparators&&this._modelVersionId===s._modelVersionId&&(this._cachedFindMatches=s._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(B.compareRangesUsingStarts)),this._cachedFindMatches}}var Yd;let Gv=(Yd=class extends je{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new _s(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(n=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(n=>{this._isEnabled&&(n.selection.isEmpty()?n.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(n=>{this._setState(null)})),this._register(e.onDidChangeModelContent(n=>{this._isEnabled&&this.updateSoon.schedule()}));const i=ho.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(xx._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const s=Tg.get(i);if(!s)return null;const r=ho.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const g=i.getSelections();if(g.length>1){const p=r.getState().matchCase;if(!VN(i.getModel(),g,p))return null}a=Mp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const c=r.getState(),h=c.matchCase;if(c.isRevealed){let g=c.searchString;h||(g=g.toLowerCase());let f=a.searchText;if(h||(f=f.toLowerCase()),g===f&&a.matchCase===c.matchCase&&a.wholeWord===c.wholeWord&&!c.isRegex)return null}return new ZU(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(B.compareRangesUsingStarts);const s=[];for(let h=0,g=0,f=i.length,p=n.length;h<f;){const v=i[h];if(g>=p)s.push(v),h++;else{const _=B.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!B.areIntersecting(v,n[g]))&&s.push(v),h++):(_>0||h++,g++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,c=s.map(h=>({range:h,options:AU(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},xx=Yd,Yd.ID="editor.contrib.selectionHighlighter",Yd);Gv=xx=OU([FU(1,Tt)],Gv);function VN(o,e,t){const i=oD(o,e[0],!t);for(let n=1,s=e.length;n<s;n++){const r=e[n];if(r.isEmpty())return!1;const a=oD(o,r,!t);if(i!==a)return!1}return!0}function oD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class XU extends Ce{constructor(){super({id:"editor.action.focusNextCursor",label:y("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:y("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.shift();r&&(s.push(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Hc(s,n.getCursorStates()))}}class YU extends Ce{constructor(){super({id:"editor.action.focusPreviousCursor",label:y("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:y("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.pop();r&&(s.unshift(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Hc(s,n.getCursorStates()))}}yi(Tg.ID,Tg,4);yi(Gv.ID,Gv,1);oe(HU);oe(WU);oe(BU);oe(jU);oe(UU);oe($U);oe(qU);oe(KU);oe(GU);oe(zU);oe(VU);oe(XU);oe(YU);const JU="editor.action.inlineEdit.accept",QU="editor.action.inlineEdit.reject",e$="editor.action.inlineEdit.jumpTo",t$="editor.action.inlineEdit.jumpBack";var i$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},n$=function(o,e){return function(t,i){e(t,i,o)}};const Gw="inline-edit";let Lx=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Ho(this,!1),this.currentTextModel=vo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=on(this,n=>{var E;if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;let a=(E=this.model.range)==null?void 0:E.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const c=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,h=r.parts.length===1&&r.parts[0].lines.every(R=>R.length===0),g=[],f=[];function p(R,z){if(f.length>0){const H=f[f.length-1];z&&H.decorations.push(new up(H.content.length+1,H.content.length+1+R[0].length,z,0)),H.content+=R[0],R=R.slice(1)}for(const H of R)f.push({content:H,decorations:z?[new up(1,H.length+1,z,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,w=0;if(!h&&(c||!a)){for(const R of r.parts){let z=R.lines;a&&!c&&(p(z,Gw),z=[]),_===void 0?(g.push({column:R.column,text:z[0],preview:R.preview}),z=z.slice(1)):p([v.substring(w,R.column-1)],void 0),z.length>0&&(p(z,Gw),_===void 0&&R.column<=v.length&&(_=R.column)),w=R.column-1}_!==void 0&&p([v.substring(w)],void 0)}const S=_!==void 0?new CN(_,v.length+1):void 0,D=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:g,additionalLines:f,hiddenRange:S,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:h}}),this.decorations=on(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];if(s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),s.range){const a=[];if(s.isSingleLine)a.push(s.range);else if(!s.isPureRemove){const c=s.range.endLineNumber-s.range.startLineNumber;for(let h=0;h<c;h++){const g=s.range.startLineNumber+h,f=s.targetTextModel.getLineFirstNonWhitespaceColumn(g),p=s.targetTextModel.getLineLastNonWhitespaceColumn(g),v=new B(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:s1})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new B(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:o1})}for(const a of s.inlineTexts)r.push({range:B.fromPositions(new Pt(s.lineNumber,a.column)),options:{description:Gw,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:vu.Left},showIfCollapsed:!0}});return r}),this._register(Nn(()=>{this.isDisposed.set(!0,void 0)})),this._register(xN(this.editor,this.decorations))}};Lx=i$([n$(2,ra)],Lx);var iL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Da=function(o,e){return function(t,i){e(t,i,o)}},O_;let kx=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=on(this,n=>{var c,h;const s=(c=this.model.read(n))==null?void 0:c.model.ghostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Pt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(sm((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(Ix,this.editor,!0,this.position));e.addContentWidget(a),s.add(Nn(()=>e.removeContentWidget(a)))}))}};kx=iL([Da(2,li)],kx);var xc;let Ix=(xc=class extends je{constructor(e,t,i,n,s,r){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=s,this._menuService=r,this.id=`InlineEditHintsContentWidget${O_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=yr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[yr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ct.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(Dx,this.nodes.toolBar,this.editor,ct.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof dg)return n.createInstance(s$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{O_._dropDownVisible=a})),this._register(jn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(jn(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof dg&&c.push(f);c.length>0&&c.unshift(new rp),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},O_=xc,xc._dropDownVisible=!1,xc.id=0,xc);Ix=O_=iL([Da(3,li),Da(4,qi),Da(5,Ph)],Ix);class s$ extends bE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=yr("div.keybinding").root;this._register(new W0(t,B0,{disableTitle:!0,...yE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Dx=class extends wE{constructor(e,t,i,n,s,r,a,c,h,g){super(e,{resetMenu:i,...n},s,r,a,c,h,g),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,c,h;const e=[],t=[];q0(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Va(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Dx=iL([Da(4,Ph),Da(5,qi),Da(6,Rg),Da(7,us),Da(8,ws),Da(9,oa)],Dx);var jN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},F_=function(o,e){return function(t,i){e(t,i,o)}},Df,Ex;function*o$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Zw(o){var i;const e=((i=o[0].match(/^\s*/))==null?void 0:i[0])??"",t=e.length;return{text:o.map(n=>n.replace(new RegExp("^"+e),"")),shift:t}}var Jd;let Px=(Jd=class extends je{static _createUniqueUri(){return gn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Df._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=on(this,r=>{const a=this._model.read(r);if(!a||a.text.length===0||a.range.startLineNumber===a.range.endLineNumber&&!(a.range.startColumn===a.range.endColumn&&a.range.startColumn===1))return null;const c=this._editor.getModel();if(!c)return null;const h=Array.from(o$(a.range.startLineNumber,a.range.endLineNumber+1)),g=h.map(w=>c.getLineLastNonWhitespaceColumn(w)),f=Math.max(...g),p=h[g.indexOf(f)],v=new Pt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=on(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=Zw(a.text.split(`
|
|
58
|
-
`));return{text:c.text.join(`
|
|
59
|
-
`),shift:c.shift}}),this._originalModel=Ec(()=>this._modelService.createModel("",null,Df._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Ec(()=>this._modelService.createModel("",null,Df._createUniqueUri())).keepObserved(this._store),this._diff=on(this,r=>{var a,c;return(c=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:c.data}),this._diffPromise=on(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=Zw(c.getValueInRange(a.range).split(`
|
|
60
|
-
`)).text.join(`
|
|
61
|
-
`),g=Zw(a.text.split(`
|
|
62
|
-
`)).text.join(`
|
|
63
|
-
`);this._originalModel.get().setValue(h),this._modifiedModel.get().setValue(g);const f=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return _P.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},pi.None);if(!p.identical)return p.changes})}),this._register(sm((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(Tx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(Nn(()=>e.removeOverlayWidget(h)))}))}},Df=Jd,Jd._modelId=0,Jd);Px=Df=jN([F_(2,li),F_(3,r1),F_(4,io)],Px);var Qd;let Tx=(Qd=class extends je{constructor(e,t,i,n,s,r){var a;super(),this._editor=e,this._position=t,this._text=i,this._shift=n,this._diff=s,this._instantiationService=r,this.id=`InlineEditSideBySideContentWidget${Ex.id++}`,this.allowEditorOverflow=!1,this._nodes=St("div.inlineEditSideBySide",void 0),this._scrollChanged=pd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Er,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=Pa(this._previewEditor),this._editorObs=Pa(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(ec,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??dp,ec.DEFAULT_CREATION_OPTIONS,null)),this._setText=on(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=on(this,c=>{this._setText.read(c);const h=this._position.read(c);if(!h)return{org:[],mod:[]};const g=this._diff.read(c);if(!g)return{org:[],mod:[]};const f=[],p=[];if(g.length===1&&g[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const v=this._shift.get(),_=w=>new B(w.startLineNumber+h.top-1,w.startColumn+v,w.endLineNumber+h.top-1,w.endColumn+v);for(const w of g)if(w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:o1}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:vP}),w.modified.isEmpty||w.original.isEmpty)w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:bP}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:yP});else for(const S of w.innerChanges||[])w.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?wP:s1}),w.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?SP:CP});return{org:f,mod:p}}),this._originalDecorations=on(this,c=>this._decorations.read(c).org),this._modifiedDecorations=on(this,c=>this._decorations.read(c).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(jn(c=>{const h=this._previewEditorObs.contentWidth.read(c),g=this._text.read(c).split(`
|
|
64
|
-
`).length-1,f=this._editor.getOption(67)*g;h<=0||this._previewEditor.layout({height:f,width:h})})),this._register(jn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(jn(c=>{this._scrollChanged.read(c),this._position.read(c)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Pt(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}},Ex=Qd,Qd.id=0,Qd);Tx=Ex=jN([F_(5,li)],Tx);var r$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gc=function(o,e){return function(t,i){e(t,i,o)}},Ef,er;let Ys=(er=class extends je{static get(e){return e.getContribution(Ef.ID)}constructor(e,t,i,n,s,r,a,c){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=c,this._isVisibleContext=Ef.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Ef.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Ho(this,void 0),this._currentWidget=Ec(this._currentEdit,_=>{const w=this._currentEdit.read(_);if(!w)return;const S=w.range.endLineNumber,D=w.range.endColumn,E=w.text.endsWith(`
|
|
65
|
-
`)&&!(w.range.startLineNumber===w.range.endLineNumber&&w.range.startColumn===w.range.endColumn)?w.text.slice(0,-1):w.text,R=new kp(S,[new Iv(D,E,!1)]),z=w.range.startLineNumber===w.range.endLineNumber&&R.parts.length===1&&R.parts[0].lines.length===1,H=w.text==="";return!z&&!H?void 0:this.instantiationService.createInstance(Lx,this.editor,{ghostText:ll(R),minReservedLineCount:ll(0),targetTextModel:ll(this.editor.getModel()??void 0),range:ll(w.range)})}),this._isAccepting=Ho(this,!1),this._enabled=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=pd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(jn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=vo(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(jn(_=>{if(!this._enabled.read(_))return;const w=g.read(_);w&&this.checkCursorPosition(w)})),this._register(jn(_=>{const w=this._currentEdit.read(_);if(this._isCursorAtInlineEditContext.set(!1),!w){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const S=e.getPosition();S&&this.checkCursorPosition(S)}));const f=pd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(jn(async _=>{var w;this._enabled.read(_)&&(f.read(_),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((w=this._currentRequestCts)==null||w.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=pd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(jn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(qE());this._register(jn(_=>{const w=this._fontFamily.read(_);v.setStyle(w===""||w==="default"?"":`
|
|
66
|
-
.monaco-editor .inline-edit-decoration,
|
|
67
|
-
.monaco-editor .inline-edit-decoration-preview,
|
|
68
|
-
.monaco-editor .inline-edit {
|
|
69
|
-
font-family: ${w};
|
|
70
|
-
}`)})),this._register(new kx(this.editor,this._currentWidget,this.instantiationService)),this._register(new Px(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const t=this._currentEdit.get();if(!t){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(B.containsPosition(t.range,e))}validateInlineEdit(e,t){var i;if(t.text.includes(`
|
|
71
|
-
`)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const s=t.range.endLineNumber,r=t.range.endColumn,a=((i=e.getModel())==null?void 0:i.getLineLength(s))??0;if(r!==a+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const n=i.getVersionId(),s=this.languageFeaturesService.inlineEditProvider.all(i);if(s.length===0)return;const r=s[0];this._currentRequestCts=new ks;const a=this._currentRequestCts.token,c=t?mk.Automatic:mk.Invoke;if(t&&await a$(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const g=await r.provideInlineEdit(i,{triggerKind:c},a);if(g&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,g))return g}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith(`
|
|
72
|
-
`)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[Xn.replace(B.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,os),this.freeEdit(e),Th(i=>{this._currentEdit.set(void 0,i),this._isAccepting.set(!1,i)})}jumpToCurrent(){var i;this._jumpBackPosition=(i=this.editor.getSelection())==null?void 0:i.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Pt.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&(t!=null&&t.rejected)&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,os),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},Ef=er,er.ID="editor.contrib.inlineEditController",er.inlineEditVisibleKey="inlineEditVisible",er.inlineEditVisibleContext=new Oi(er.inlineEditVisibleKey,!1),er.cursorAtInlineEditKey="cursorAtInlineEdit",er.cursorAtInlineEditContext=new Oi(er.cursorAtInlineEditKey,!1),er);Ys=Ef=r$([Gc(1,li),Gc(2,qi),Gc(3,Tt),Gc(4,ws),Gc(5,An),Gc(6,r1),Gc(7,io)],Ys);function a$(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}let l$=class extends Ce{constructor(){super({id:JU,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:le.and(N.writable,Ys.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:le.and(N.writable,Ys.inlineEditVisibleContext,Ys.cursorAtInlineEditContext)}],menuOpts:[{menuId:ct.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Ys.get(t);await(i==null?void 0:i.accept())}};class c$ extends Ce{constructor(){const e=le.and(N.writable,le.not(Ys.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=Ys.get(t);i==null||i.trigger()}}class d$ extends Ce{constructor(){const e=le.and(N.writable,Ys.inlineEditVisibleContext,le.not(Ys.cursorAtInlineEditKey));super({id:e$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:ct.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Ys.get(t);i==null||i.jumpToCurrent()}}class h$ extends Ce{constructor(){const e=le.and(N.writable,Ys.cursorAtInlineEditContext);super({id:t$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:ct.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Ys.get(t);i==null||i.jumpBack()}}class u$ extends Ce{constructor(){const e=le.and(N.writable,Ys.inlineEditVisibleContext);super({id:QU,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:ct.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Ys.get(t);await(i==null?void 0:i.clear())}}oe(l$);oe(u$);oe(d$);oe(h$);oe(c$);yi(Ys.ID,Ys,3);const g$="editor.action.inlineEdits.accept",f$="editor.action.inlineEdits.showPrevious",p$="editor.action.inlineEdits.showNext",Mg=new Oi("inlineEditsVisible",!1,y("inlineEditsVisible","Whether an inline edit is visible")),m$=new Oi("inlineEditsIsPinned",!1,y("isPinned","Whether an inline edit is visible")),DL=class DL extends je{constructor(e){super(),this._editor=e,this._editorObs=Pa(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=rl({owner:this,equalsFn:xP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=_$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=SE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=yr("div.editorPlaceholder");i.add(jn(s=>{const r=this._state.read(s),a=(r==null?void 0:r.placeholder)!==void 0;n.root.style.display=a?"block":"none",n.root.innerText=(r==null?void 0:r.placeholder)??""})),i.add(jn(s=>{const r=this._editorObs.layoutInfo.read(s);n.root.style.left=`${r.contentLeft}px`,n.root.style.width=r.contentWidth-r.verticalScrollbarWidth+"px",n.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),i.add(jn(s=>{n.root.style.fontFamily=this._editorObs.getOption(49).read(s),n.root.style.fontSize=this._editorObs.getOption(52).read(s)+"px",n.root.style.lineHeight=this._editorObs.getOption(67).read(s)+"px"})),i.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:ll(0),position:ll(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};DL.ID="editor.contrib.placeholderText";let Np=DL;function _$(o,e){return hy(o,(t,i)=>i===!0?!0:e(t))}var v$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},b$=function(o,e){return function(t,i){e(t,i,o)}};class y${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Mx=class extends je{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Pa(this._editor),this._elements=yr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[yr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[yr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),yr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),yr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Gh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Gh("defs",[Gh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Gh("stop",{offset:"0%",class:"gradient-stop"}),Gh("stop",{offset:"100%",class:"gradient-stop"})])]),Gh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ec,"",dp,ec.DEFAULT_CREATION_OPTIONS,null)),this._setText=on(r=>{const a=this._edit.read(r);a&&this._previewTextModel.setValue(a.newLines.join(`
|
|
73
|
-
`))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(ec,"",dp,ec.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Er,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:j2},{contributions:U2.getSomeEditorContributions([Cr.ID,Np.ID,xg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Er,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=Pa(this._previewEditor),this._decorations=on(this,r=>{var g;this._setText.read(r);const a=(g=this._edit.read(r))==null?void 0:g.changes;if(!a)return[];const c=[],h=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const f of a)if(f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:o1}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:vP}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:bP}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:yP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?wP:s1}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?SP:CP});return h}),this._layout1=on(this,r=>{const a=this._editor.getModel(),c=this._edit.read(r);if(!c)return null;const h=c.range;let g=0;for(let v=h.startLineNumber;v<h.endLineNumberExclusive;v++){const _=a.getLineMaxColumn(v),w=this._editor.getOffsetForColumn(v,_);g=Math.max(g,w)}return{left:this._editor.getLayoutInfo().contentLeft+g}}),this._layout=on(this,r=>{const a=this._edit.read(r);if(!a)return null;const c=a.range,h=this._editorObs.scrollLeft.read(r),g=this._layout1.read(r).left+20-h,f=this._editor.getTopForLineNumber(c.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(c.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),v=new ku(g,f),_=new ku(g,p),w=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,E=w-D,R=new ku(g+S,f+E/2),z=new ku(g+S,p-E/2);return{topCode:v,bottomCode:_,codeHeight:w,topEdit:R,bottomEdit:z,editHeight:D}});const s=on(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register($2(this._elements.root,{display:on(this,r=>s.read(r)?"block":"none")})),this._register(q2(this._editor.getDomNode(),this._elements.root)),this._register(Pa(e).createOverlayWidget({domNode:this._elements.root,position:ll(null),allowEditorOverflow:!1,minContentWidthInPx:on(r=>{var h;const a=(h=this._layout1.read(r))==null?void 0:h.left;if(a===void 0)return 0;const c=this._previewEditorObs.contentWidth.read(r);return a+c})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(jn(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:c,bottomCode:h,topEdit:g,bottomEdit:f,editHeight:p}=a,v=10,_=0,w=40,S=new S$().moveTo(c).lineTo(c.deltaX(v)).curveTo(c.deltaX(v+w),g.deltaX(-w-_),g.deltaX(-_)).lineTo(g).lineTo(f).lineTo(f.deltaX(-_)).curveTo(f.deltaX(-w-_),h.deltaX(v+w),h.deltaX(v)).lineTo(h).build();this._elements.path.setAttribute("d",S),this._elements.editorContainer.style.top=`${g.y}px`,this._elements.editorContainer.style.left=`${g.x}px`,this._elements.editorContainer.style.height=`${p}px`;const D=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:D})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(C$(w$(this._userPrompt,r=>r??"",r=>r),Pa(this._promptEditor).value)),this._register(jn(r=>{const a=Pa(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Mx=v$([b$(3,li)],Mx);function w$(o,e,t){return LP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class ku{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new ku(this.x+e,this.y)}}class S${constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}function C$(o,e){const t=new We;return t.add(jn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(jn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var x$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xw=function(o,e){return function(t,i){e(t,i,o)}},Pf,eh;let Nx=(eh=class extends je{static _createUniqueUri(){return gn.from({scheme:"inline-edits",path:new Date().toString()+String(Pf._modelId++)})}constructor(e,t,i,n,s,r,a){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=r,this._modelService=a,this._forceUpdateExplicitlySignal=Q0(this),this._selectedInlineCompletionId=Ho(this,void 0),this._isActive=Ho(this,!1),this._originalModel=Ec(()=>this._modelService.createModel("",null,Pf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Ec(()=>this._modelService.createModel("",null,Pf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new k$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Ho(this,void 0),this.inlineEdit=on(this,c=>{var h,g;return(g=(h=this._inlineEdit.read(c))==null?void 0:h.promiseResult.read(c))==null?void 0:g.data}),this._inlineEdit=on(this,c=>{const h=this.selectedInlineEdit.read(c);if(!h)return;const g=h.inlineCompletion.range;if(h.inlineCompletion.insertText.trim()==="")return;let f=h.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(S){var E;const D=((E=S[0].match(/^\s*/))==null?void 0:E[0])??"";return S.map(R=>R.replace(new RegExp("^"+D),""))}f=p(f);let _=this.textModel.getValueInRange(g).split(/\r\n|\r|\n/);_=p(_),this._originalModel.get().setValue(_.join(`
|
|
74
|
-
`)),this._modifiedModel.get().setValue(f.join(`
|
|
75
|
-
`));const w=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return _P.fromFn(async()=>{const S=await w.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},pi.None);if(!S.identical)return new y$(K2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new We),this._inlineEditsFetchResult=mS(this,void 0),this._inlineEdits=rl({owner:this,equalsFn:xP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new L$(g)))??[]}),this._fetchInlineEditsPromise=tP({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:gl.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=gl.Explicit),!0)},async(c,h)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function g(w,S){return S(w)}const f=this._pinnedRange.range.read(c)??g(this._selection.read(c),w=>w.isEmpty()?void 0:w);if(!f){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:h.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(c)},v=vS(this._fetchStore);await vy(200,v);const _=await LN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=rl({owner:this,equalsFn:_S()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=on(this,c=>{const h=this._selectedInlineCompletionId.read(c),g=this._filteredInlineEditItems.read(c),f=this._selectedInlineCompletionId===void 0?-1:g.findIndex(p=>p.semanticId===h);return f===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):f}),this.selectedInlineEdit=on(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(iP(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Z_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Z_(e,t=>{this.userPrompt.set(void 0,t),this._isActive.set(!1,t),this._inlineEditsFetchResult.set(void 0,t),this._pinnedRange.setRange(void 0,t)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new hg;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Pf=eh,eh._modelId=0,eh);Nx=Pf=x$([Xw(4,Tt),Xw(5,r1),Xw(6,io)],Nx);class L${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class k$ extends je{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Ho(this,[]),this.range=on(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Nn(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var I$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ff=function(o,e){return function(t,i){e(t,i,o)}},Rx,th;let Ll=(th=class extends je{static get(e){return e.getContribution(Rx.ID)}constructor(e,t,i,n,s,r){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=s,this._configurationService=r,this._enabled=G2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Pa(this.editor),this._selection=on(this,a=>this._editorObs.cursorSelection.read(a)??new Gt(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Ec(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const c=this._editorObs.model.read(a);return c?this._instantiationService.createInstance(bS(Nx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=hy(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=Ec(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(bS(Mx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),D$(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Ho("empty","")}))}),this._register(_k(Mg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(_k(m$,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},Rx=th,th.ID="editor.contrib.inlineEditsController",th);Ll=Rx=I$([ff(1,li),ff(2,qi),ff(3,sr),ff(4,Tt),ff(5,An)],Ll);function D$(o){return LP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function Lm(o){return{label:o.value,alias:o.original}}const jb=class jb extends Ce{constructor(){super({id:jb.ID,...Lm(It("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:le.and(N.writable,Mg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};jb.ID=p$;let Ax=jb;const Ub=class Ub extends Ce{constructor(){super({id:Ub.ID,...Lm(It("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:le.and(N.writable,Mg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Ub.ID=f$;let Ox=Ub;class E$ extends Ce{constructor(){super({id:"editor.action.inlineEdits.trigger",...Lm(It("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:N.writable})}async run(e,t){const i=Ll.get(t);await uP(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class P$ extends Ce{constructor(){super({id:g$,...Lm(It("action.inlineEdits.accept","Accept Inline Edit")),precondition:Mg,menuOpts:{menuId:ct.InlineEditsActions,title:y("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:ei.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Mg}})}async run(e,t){var n;t instanceof Er&&(t=t.getParentEditor());const i=Ll.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const $b=class $b extends Ce{constructor(){super({id:$b.ID,...Lm(It("action.inlineEdits.hide","Hide Inline Edit")),precondition:Mg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Th(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};$b.ID="editor.action.inlineEdits.hide";let Fx=$b;yi(Ll.ID,Ll,3);oe(E$);oe(Ax);oe(Ox);oe(P$);oe(Fx);const kh={Visible:new Oi("parameterHintsVisible",!1),MultipleSignatures:new Oi("parameterHintsMultipleSignatures",!1)};async function UN(o,e,t,i,n){const s=o.ordered(e);for(const r of s)try{const a=await r.provideSignatureHelp(e,t,n,i);if(a)return a}catch(a){os(a)}}kn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Ki(gn.isUri(t)),Ki(Pt.isIPosition(i)),Ki(typeof n=="string"||!n);const s=o.get(Tt),r=await o.get(aa).createModelReference(t);try{const a=await UN(s.signatureHelpProvider,r.object.textEditorModel,Pt.lift(i),{triggerKind:ac.Invoke,isRetrigger:!1,triggerCharacter:n},pi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var $l;(function(o){o.Default={type:0};class e{constructor(n,s){this.request=n,this.previouslyActiveHints=s,this.type=2}}o.Pending=e;class t{constructor(n){this.hints=n,this.type=1}}o.Active=t})($l||($l={}));const qb=class qb extends je{constructor(e,t,i=qb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new fi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=$l.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Bo),this.triggerChars=new K_,this.retriggerChars=new K_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Dc(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(n=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(n=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(n=>this.onCursorChange(n))),this._register(this.editor.onDidChangeModelContent(n=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(n=>this.onDidType(n))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=$l.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(bn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new $l.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const n=this._pendingTriggers.reduce(T$);this._pendingTriggers=[];const s={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),a=this.editor.getPosition();this.state=new $l.Pending(Ls(c=>UN(this.providers,r,a,s,c)),i);try{const c=await this.state.request;return e!==this.triggerId?(c==null||c.dispose(),!1):!c||!c.value.signatures||c.value.signatures.length===0?(c==null||c.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new $l.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=$l.Default),bn(c),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:ac.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:ac.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:ac.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};qb.DEFAULT_DELAY=120;let Hx=qb;function T$(o,e){switch(e.triggerKind){case ac.Invoke:return e;case ac.ContentChange:return o;case ac.TriggerCharacter:default:return e}}var M$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},d_=function(o,e){return function(t,i){e(t,i,o)}},Wx;const Eo=St,N$=ns("parameter-hints-next",ei.chevronDown,y("parameterHintsNextIcon","Icon for show next parameter hint.")),R$=ns("parameter-hints-previous",ei.chevronUp,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var ih;let Bx=(ih=class extends je{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new We),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Hg({editor:e},s,n)),this.keyVisible=kh.Visible.bindTo(i),this.keyMultipleSignatures=kh.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Eo(".editor-widget.parameter-hints-widget"),t=ft(e,Eo(".phwrapper"));t.tabIndex=-1;const i=ft(t,Eo(".controls")),n=ft(i,Eo(".button"+Xi.asCSSSelector(R$))),s=ft(i,Eo(".overloads")),r=ft(i,Eo(".button"+Xi.asCSSSelector(N$)));this._register($i(n,"click",p=>{q_.stop(p),this.previous()})),this._register($i(r,"click",p=>{q_.stop(p),this.next()}));const a=Eo(".body"),c=new rP(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=ft(a,Eo(".signature")),g=ft(a,Eo(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:h,overloads:s,docs:g,scrollbar:c},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const f=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),v=this.domNodes.element;v.style.fontSize=`${p.fontSize}px`,v.style.lineHeight=`${p.lineHeight/p.fontSize}`,v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",$0.fontFamily)};f(),this._register(ms.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(v=>v.hasChanged(50)))(f)),this._register(this.editor.onDidLayoutChange(p=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=ft(this.domNodes.signature,Eo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=ft(n,Eo("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=Eo("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}ft(this.domNodes.docs,Eo("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")ft(this.domNodes.docs,Eo("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);ft(this.domNodes.docs,h.element)}const c=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let h="";const g=i.parameters[r];Array.isArray(g.label)?h=i.label.substring(g.label[0],g.label[1]):h=g.label,g.documentation&&(h+=typeof g.documentation=="string"?`, ${g.documentation}`:`, ${g.documentation.value}`),i.documentation&&(h+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==h&&(Ir(y("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new xo,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var s;(s=this.domNodes)==null||s.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&bu(t.documentation).length>0||t&&typeof t.documentation=="object"&&bu(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&bu(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&bu(e.documentation.value).length>0)}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const a=document.createElement("span");a.textContent=t.label.substring(n,s),a.className="parameter active";const c=document.createElement("span");c.textContent=t.label.substring(s),ft(e,r,a,c)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const n=new RegExp(`(\\W|^)${op(i.label)}(?=\\W|$)`,"g");n.test(e.label);const s=n.lastIndex-i.label.length;return s>=0?[s,n.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Wx.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}},Wx=ih,ih.ID="editor.widget.parameterHintsWidget",ih);Bx=Wx=M$([d_(2,qi),d_(3,sa),d_(4,ra),d_(5,oa)],Bx);Ct("editorHoverWidget.highlightForeground",dP,y("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var A$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rD=function(o,e){return function(t,i){e(t,i,o)}},zx,nh;let Ng=(nh=class extends je{static get(e){return e.getContribution(zx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Hx(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(n=>{var s;n?(this.widget.value.show(),this.widget.value.render(n)):(s=this.widget.rawValue)==null||s.hide()})),this.widget=new F0(()=>this._register(t.createInstance(Bx,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},zx=nh,nh.ID="editor.controller.parameterHints",nh);Ng=zx=A$([rD(1,li),rD(2,Tt)],Ng);class O$ extends Ce{constructor(){super({id:"editor.action.triggerParameterHints",label:y("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:N.hasSignatureHelpProvider,kbOpts:{kbExpr:N.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Ng.get(t);i==null||i.trigger({triggerKind:ac.Invoke})}}yi(Ng.ID,Ng,2);oe(O$);const nL=175,sL=go.bindToContribution(Ng.get);Rt(new sL({id:"closeParameterHints",precondition:kh.Visible,handler:o=>o.cancel(),kbOpts:{weight:nL,kbExpr:N.focus,primary:9,secondary:[1033]}}));Rt(new sL({id:"showPrevParameterHint",precondition:le.and(kh.Visible,kh.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:nL,kbExpr:N.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Rt(new sL({id:"showNextParameterHint",precondition:le.and(kh.Visible,kh.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:nL,kbExpr:N.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var F$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},H$=function(o,e){return function(t,i){e(t,i,o)}};class W${constructor(e){this.instantiationService=e}init(...e){}}function B$(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=sm((n,s)=>{const r=bS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function z$(o){return Z2()?B$(o,Vx):o()}let Vx=class extends W${constructor(e,t){super(t),this.init(e)}};Vx=F$([H$(1,li)],Vx);yi(Np.ID,z$(()=>Np),0);Ct("editor.placeholder.foreground",X2,y("placeholderForeground","Foreground color of the placeholder text in the editor."));var V$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},h_=function(o,e){return function(t,i){e(t,i,o)}};const qg=new Oi("renameInputVisible",!1,y("renameInputVisible","Whether the rename input widget is visible"));new Oi("renameInputFocused",!1,y("renameInputFocused","Whether the rename input widget is focused"));let jx=class{constructor(e,t,i,n,s,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new We,this._visibleContextKey=qg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new xo,this._inputWithButton=new j$,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new oL(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e,t,i;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((t=this._renameCandidateProvidersCts)==null?void 0:t.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(i=this._renameCandidateListView)==null||i.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(Y2),i=e.getColor(J2);this._domNode.style.backgroundColor=String(e.getColor(aP)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(Q2)??"");const n=e.getColor(eF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(vk)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(vk)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=(n==null?void 0:n.toString())??"none"}_updateFont(){if(this._domNode===void 0)return;Ki(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=om(this.getDomNode().ownerDocument.body),t=lo(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=Rp.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>s*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=y({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;Ki(this._renameCandidateListView),Ki(this._nPxAvailableAbove!==void 0),Ki(this._nPxAvailableBelow!==void 0);const t=_u(this._inputWithButton.domNode),i=_u(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:gr(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=s;const c=new We;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),c.add($i(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add($i(this._inputWithButton.button,Un.KEY_DOWN,g=>{const f=new a1(g);(f.equals(3)||f.equals(10))&&(f.stopPropagation(),f.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Pt(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),c.add(Nn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(Nn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(Nn(()=>this._candidates.clear()));const h=new ry;return h.p.finally(()=>{c.dispose(),this._hide()}),this._currentCancelInput=g=>{var f;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(f=this._renameCandidateListView)==null||f.clearCandidates(),h.complete(g),!0},this._currentAcceptInput=g=>{this._trace("invoking _currentAcceptInput"),Ki(this._renameCandidateListView!==void 0);const f=this._renameCandidateListView.nCandidates;let p,v;const _=this._renameCandidateListView.focusedCandidate;if(_!==void 0?(this._trace("using new name from renameSuggestion"),p=_,v={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,v=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),h.complete({newName:p,wantsPreview:i&&g,stats:{source:v,nRenameSuggestions:f,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},c.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),c.add(this._editor.onDidBlurEditorWidget(()=>{var g;return this.cancelInput(!((g=this._domNode)!=null&&g.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),h.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),Ki(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new ks;const i=t?yS.Invoke:yS.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(n.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){Ki(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!B.isEmpty(i)&&!B.spansMultipleLines(i)&&B.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...h)=>this._trace("_updateRenameCandidates",...h);n("start");const s=await Jp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(h=>h.status==="fulfilled"&&v_(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=uE(r,h=>h.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const c=a.filter(({newSymbolName:h})=>h.trim().length>0&&h!==this._inputWithButton.input.value&&h!==t&&!this._candidates.has(h));if(n(`valid distinct candidates - ${r.length} candidates.`),c.forEach(h=>this._candidates.add(h.newSymbolName)),c.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(c),n("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};jx=V$([h_(2,Pr),h_(3,us),h_(4,qi),h_(5,Mh)],jx);class oL{constructor(e,t){this._disposables=new We,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=oL._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(hP({listInactiveFocusForeground:lP,listInactiveFocusBackground:cP}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,rg(y("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=Rp.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(n=>n.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(r){return"candidate"}getHeight(r){return t}},s=new class{constructor(){this.templateId="candidate"}renderTemplate(r){return new Rp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new z0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class j${constructor(){this._onDidInputChange=new fi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new We}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",y("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=y("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=y("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=tF().setupManagedHover(my("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add($i(this.input,Un.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add($i(this.input,Un.KEY_DOWN,e=>{const t=new a1(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add($i(this.input,Un.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add($i(this.input,Un.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add($i(this.input,Un.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Ki(this._inputNode),this._inputNode}get button(){return Ki(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=wS(ei.sparkle)),Wa(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState="stop",this._stopIcon??(this._stopIcon=wS(ei.primitiveSquare)),Wa(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const tp=class tp{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${tp._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=wS(ei.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),JE(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var i;const t=!!((i=e.tags)!=null&&i.includes(iF.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+tp._PADDING*2}}dispose(){}};tp._PADDING=2;let Rp=tp;var U$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vl=function(o,e){return function(t,i){e(t,i,o)}},Ux;class rL{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;const s=await n.resolveRenameLocation(this.model,this.position,e);if(s){if(s.rejectReason){t.push(s.rejectReason);continue}return s}}this._providerRenameIdx=0;const i=this.model.getWordAtPosition(this.position);return i?{range:new B(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
76
|
-
`):void 0}:{range:B.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
|
|
77
|
-
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join(`
|
|
78
|
-
`)};const r=await s.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(y("no result","No result.")),n);return r}}async function $$(o,e,t,i){const n=new rL(e,t,o),s=await n.resolveRenameLocation(pi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,pi.None)}var sh;let Rc=(sh=class{static get(e){return e.getContribution(Ux.ID)}constructor(e,t,i,n,s,r,a,c,h){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=c,this._telemetryService=h,this._disposableStore=new We,this._cts=new ks,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(jx,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var _,w;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new ks,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new rL(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new sg(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const S=i.resolveRenameLocation(n.token);this._progressService.showWhile(S,250),s=await S,e("resolved rename location")}catch(S){S instanceof ay?e("resolve rename location cancelled",JSON.stringify(S,null," ")):(e("resolve rename location failed",S instanceof Error?S:JSON.stringify(S,null," ")),(typeof S=="string"||m_(S))&&((_=wo.get(this.editor))==null||_.showMessage(S||y("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(w=wo.get(this.editor))==null||w.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new sg(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),h=await Promise.all(c.map(async S=>[S,await S.supportsAutomaticNewSymbolNamesTriggerKind??!1])),g=(S,D)=>{let E=h.slice();return S===yS.Automatic&&(E=E.filter(([R,z])=>z)),E.map(([R])=>R.provideNewSymbolNames(a,s.range,S,D))};e("creating rename input field and awaiting its result");const f=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,f,c.length>0?g:void 0,r);if(e("received response from rename input field"),c.length>0&&this._reportTelemetry(c.length,a.getLanguageId(),p),typeof p=="boolean"){e(`returning early - rename input field response - ${p}`),p&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const v=Jp(i.provideRenameEdits(p.newName,r.token),r.token).then(async S=>{if(!S){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(S.rejectReason){e(`returning early - rejected with reason: ${S.rejectReason}`),this._notificationService.info(S.rejectReason);return}this.editor.setSelection(B.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(S,{editor:this.editor,showPreview:p.wantsPreview,label:y("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:y("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&Ir(y("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,D.ariaSummary))}).catch(D=>{e(`error when applying edits ${JSON.stringify(D,null," ")}`),this._notificationService.error(y("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},S=>{e("error when providing rename edits",JSON.stringify(S,null," ")),this._notificationService.error(y("rename.failed","Rename failed to compute edits")),this._logService.error(S)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(v,250),v}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},Ux=sh,sh.ID="editor.contrib.renameController",sh);Rc=Ux=U$([Vl(1,li),Vl(2,to),Vl(3,sy),Vl(4,em),Vl(5,Mh),Vl(6,nF),Vl(7,Tt),Vl(8,oa)],Rc);class q$ extends Ce{constructor(){super({id:"editor.action.rename",label:y("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:le.and(N.writable,N.hasRenameProvider),kbOpts:{kbExpr:N.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(rs),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return gn.isUri(n)&&Pt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},bn):super.runCommand(e,t)}run(e,t){const i=e.get(Mh),n=Rc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}yi(Rc.ID,Rc,4);oe(q$);const aL=go.bindToContribution(Rc.get);Rt(new aL({id:"acceptRenameInput",precondition:qg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:le.and(N.focus,le.not("isComposing")),primary:3}}));Rt(new aL({id:"acceptRenameInputWithPreview",precondition:le.and(qg,le.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:le.and(N.focus,le.not("isComposing")),primary:2051}}));Rt(new aL({id:"cancelRenameInput",precondition:qg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:N.focus,primary:9,secondary:[1033]}}));an(class extends uo{constructor(){super({id:"focusNextRenameSuggestion",title:{...It("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:qg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(rs).getFocusedCodeEditor();if(!t)return;const i=Rc.get(t);i&&i.focusNextRenameSuggestion()}});an(class extends uo{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...It("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:qg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(rs).getFocusedCodeEditor();if(!t)return;const i=Rc.get(t);i&&i.focusPreviousRenameSuggestion()}});fo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Ki(typeof n=="string");const{renameProvider:s}=o.get(Tt);return $$(s,e,t,n)});fo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Tt),s=await new rL(e,t,i).resolveRenameLocation(pi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});na.as(tm.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:y("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var K$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aD=function(o,e){return function(t,i){e(t,i,o)}},Qu;let Zv=(Qu=class extends je{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const s=(r=this.editor.getModel())==null?void 0:r.getLanguageId();s&&n.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new _s(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(s=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(s)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(s=>{if(!s.shouldBeInComments)return!0;const r=t.validateRange(s.range),a=t.tokenization.getLineTokens(r.startLineNumber),c=a.findTokenIndexAtOffset(r.startColumn-1),h=a.getStandardTokenType(c);return a.getLanguageId(c)===t.getLanguageId()&&h===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>G$(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,c=r.length;a<c;a++){const h={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[h.decorationId]=h}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Qu.ID="editor.sectionHeaderDetector",Qu);Zv=K$([aD(1,Ss),aD(2,Pl)],Zv);function G$(o){return{range:o.range,options:Ei.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}yi(Zv.ID,Zv,1);function Z$(o){for(let e=0,t=o.length;e<t;e+=4){const i=o[e+0],n=o[e+1],s=o[e+2],r=o[e+3];o[e+0]=r,o[e+1]=s,o[e+2]=n,o[e+3]=i}}function X$(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return sF()||Z$(e),oF.wrap(e)}function $N(o){const e=new Uint32Array(Y$(o));let t=0;if(e[t++]=o.id,o.type==="full")e[t++]=1,e[t++]=o.data.length,e.set(o.data,t),t+=o.data.length;else{e[t++]=2,e[t++]=o.deltas.length;for(const i of o.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return X$(e)}function Y$(o){let e=0;if(e+=2,o.type==="full")e+=1+o.data.length;else{e+=1,e+=3*o.deltas.length;for(const t of o.deltas)t.data&&(e+=t.data.length)}return e}function Gy(o){return o&&!!o.data}function qN(o){return o&&Array.isArray(o.edits)}class J${constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function KN(o,e){return o.has(e)}function Q$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function GN(o,e,t,i,n){const s=Q$(o,e),r=await Promise.all(s.map(async a=>{let c,h=null;try{c=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(g){h=g,c=null}return(!c||!Gy(c)&&!qN(c))&&(c=null),new J$(a,c,h)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function e5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class t5{constructor(e,t){this.provider=e,this.tokens=t}}function i5(o,e){return o.has(e)}function ZN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function lL(o,e,t,i){const n=ZN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){os(c),a=null}return(!a||!Gy(a))&&(a=null),new t5(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}kn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Ki(t instanceof gn);const i=o.get(io).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Tt),s=e5(n,i);return s?s[0].getLegend():o.get(ws).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});kn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Ki(t instanceof gn);const i=o.get(io).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Tt);if(!KN(n,i))return o.get(ws).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await GN(n,i,null,null,pi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Gy(a))return;const c=$N({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});kn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Ki(t instanceof gn);const n=o.get(io).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Tt),r=ZN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!B.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await lL(s,n,B.lift(i),pi.None);if(a)return a.provider.getLegend()});kn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Ki(t instanceof gn),Ki(B.isIRange(i));const n=o.get(io).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Tt),r=await lL(s,n,B.lift(i),pi.None);if(!(!r||!r.tokens))return $N({id:0,type:"full",data:r.tokens.data})});const cL="editor.semanticHighlighting";function H_(o,e,t){var n;const i=(n=t.getValue(cL,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var XN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ea=function(o,e){return function(t,i){e(t,i,o)}},Ul;let $x=class extends je{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new qx(g,e,i,s,r)},c=(g,f)=>{f.dispose(),delete this._watchers[g.uri.toString()]},h=()=>{for(const g of t.getModels()){const f=this._watchers[g.uri.toString()];H_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{H_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{H_(g,i,n)&&a(g)})),this._register(t.onModelRemoved(g=>{const f=this._watchers[g.uri.toString()];f&&c(g,f)})),this._register(n.onDidChangeConfiguration(g=>{g.affectsConfiguration(cL)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};$x=XN([Ea(0,l1),Ea(1,io),Ea(2,Pr),Ea(3,An),Ea(4,sr),Ea(5,Tt)],$x);var Lc;let qx=(Lc=class extends je{constructor(e,t,i,n,s){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:Ul.REQUEST_MIN_DELAY,max:Ul.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new _s(()=>this._fetchDocumentSemanticTokensNow(),Ul.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const r=()=>{Zs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),Zs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!KN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new ks,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=GN(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(c=>{s.push(c)}),a=new xo(!1);n.then(c=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!c)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:h,tokens:g}=c,f=this._semanticTokensStylingService.getStyling(h);this._setDocumentSemanticTokens(h,g||null,f,s)}},c=>{c&&(Oc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||bn(c),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(qN(t)){if(!s){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:s.data};else{let a=0;for(const p of t.edits)a+=(p.data?p.data.length:0)-p.deleteCount;const c=s.data,h=new Uint32Array(c.length+a);let g=c.length,f=h.length;for(let p=t.edits.length-1;p>=0;p--){const v=t.edits[p];if(v.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,v.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const _=g-(v.start+v.deleteCount);_>0&&(Ul._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Ul._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Ul._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(Gy(t)){this._currentDocumentResponse=new n5(e,t.resultId,t.data);const a=kP(t,i,this._model.getLanguageId());if(n.length>0)for(const c of n)for(const h of a)for(const g of c.changes)h.applyEdit(g.range,g.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},Ul=Lc,Lc.REQUEST_MIN_DELAY=300,Lc.REQUEST_MAX_DELAY=2e3,Lc);qx=Ul=XN([Ea(1,l1),Ea(2,Pr),Ea(3,sr),Ea(4,Tt)],qx);class n5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Fg($x);var s5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pf=function(o,e){return function(t,i){e(t,i,o)}},eg;let Xv=(eg=class extends je{constructor(e,t,i,n,s,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new _s(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(c=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(c=>{c.affectsConfiguration(cL)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!H_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!i5(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),n=Ls(r=>Promise.resolve(lL(this._provider,e,t,r))),s=new xo(!1);return n.then(r=>{if(this._debounceInformation.update(e,s.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:c}=r,h=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,kP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},eg.ID="editor.contrib.viewportSemanticTokens",eg);Xv=s5([pf(1,l1),pf(2,Pr),pf(3,An),pf(4,sr),pf(5,Tt)],Xv);yi(Xv.ID,Xv,1);class o5{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s),this.selectSubwords&&this._addInWordRanges(s,e,n),this._addWordRanges(s,e,n),this._addWhitespaceLine(s,e,n),s.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:r}=n,a=i.column-r;let c=a,h=a,g=0;for(;c>=0;c--){const f=s.charCodeAt(c);if(c!==a&&(f===95||f===45))break;if(bk(f)&&yk(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(yk(f)&&bk(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new B(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new B(i.lineNumber,n.startColumn,i.lineNumber,n.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new B(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var r5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},a5=function(o,e){return function(t,i){e(t,i,o)}},Kx;class dL{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new dL(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var oh;let Ap=(oh=class{static get(e){return e.getContribution(Kx.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await JN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),pi.None).then(s=>{var r;if(!(!Fo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Va(this._editor.getSelections(),t,(a,c)=>a.equalsSelection(c)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(c=>c.containsPosition(t[a].getStartPosition())&&c.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new dL(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(s=>s.mov(e));const n=this._state.map(s=>Gt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Kx=oh,oh.ID="editor.contrib.smartSelectController",oh);Ap=Kx=r5([a5(1,Tt)],Ap);class YN extends Ce{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Ap.get(t);i&&await i.run(this._forward)}}class l5 extends YN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:y("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}kn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class c5 extends YN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:y("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:ct.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}yi(Ap.ID,Ap,4);oe(l5);oe(c5);async function JN(o,e,t,i,n){const s=o.all(e).concat(new o5(i.selectSubwords));s.length===1&&s.unshift(new Rv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(Fo(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])B.isIRange(f.range)&&B.containsPosition(f.range,t[g])&&a[g].push(B.lift(f.range))}},os));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>Pt.isBefore(p.getStartPosition(),v.getStartPosition())?1:Pt.isBefore(v.getStartPosition(),p.getStartPosition())||Pt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:Pt.isBefore(v.getEndPosition(),p.getEndPosition())?1:0);const h=[];let g;for(const p of c)(!g||B.containsRange(p,g)&&!B.equalsRange(p,g))&&(h.push(p),g=p);if(!i.selectLeadingAndTrailingWhitespace)return h;const f=[h[0]];for(let p=1;p<h.length;p++){const v=h[p-1],_=h[p];if(_.startLineNumber!==v.startLineNumber||_.endLineNumber!==v.endLineNumber){const w=new B(v.startLineNumber,e.getLineFirstNonWhitespaceColumn(v.startLineNumber),v.endLineNumber,e.getLineLastNonWhitespaceColumn(v.endLineNumber));w.containsRange(v)&&!w.equalsRange(v)&&_.containsRange(w)&&!_.equalsRange(w)&&f.push(w);const S=new B(v.startLineNumber,1,v.endLineNumber,e.getLineMaxColumn(v.endLineNumber));S.containsRange(v)&&!S.equalsRange(w)&&_.containsRange(S)&&!_.equalsRange(S)&&f.push(S)}f.push(_)}return f})}kn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Ki(gn.isUri(t));const n=o.get(Tt).selectionRangeProvider,s=await o.get(aa).createModelReference(t);try{return JN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},pi.None)}finally{s.dispose()}});const d5=Object.freeze({View:It("view","View"),Help:It("help","Help"),Test:It("test","Test"),File:It("file","File"),Preferences:It("preferences","Preferences"),Developer:It({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Gf{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&Va(this.startLineNumbers,e.startLineNumbers)&&Va(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Gf([],[],0)}}const lD=GE("stickyScrollViewLayer",{createHTML:o=>o}),Yw="data-sticky-line-index",cD="data-sticky-is-line",h5="data-sticky-is-line-number",dD="data-sticky-is-folding-icon";class u5 extends je{constructor(e){super(),this._editor=e,this._foldingIconStore=new We,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Er),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(s=>!i.startLineNumbers.includes(s));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),s=this._lineNumbers.slice(i);for(const[a,c]of s.entries()){const h=this._renderChildNode(a+i,c,t,n);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._renderedStickyLines.push(h))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add($i(this._lineNumbersDomNode,Un.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add($i(this._lineNumbersDomNode,Un.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,n){const s=this._editor._getViewModel();if(!s)return;const r=s.coordinatesConverter.convertModelPositionToViewPosition(new Pt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=up.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new YE(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,h,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),f=new ZE(2e3),p=XE(g,f);let v;lD?v=lD.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Yw,String(e)),_.setAttribute(cD,""),_.setAttribute("role","listitem"),_.tabIndex=0,_.className="sticky-line-content",_.classList.add(`stickyLine${t}`),_.style.lineHeight=`${this._lineHeight}px`,_.innerHTML=v;const w=document.createElement("span");w.setAttribute(Yw,String(e)),w.setAttribute(h5,""),w.className="sticky-line-number",w.style.lineHeight=`${this._lineHeight}px`;const S=n.contentLeft;w.style.width=`${S}px`;const D=document.createElement("span");c.renderType===1||c.renderType===3&&t%10===0?D.innerText=t.toString():c.renderType===2&&(D.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),D.className="sticky-line-number-inner",D.style.lineHeight=`${this._lineHeight}px`,D.style.width=`${n.lineNumbersWidth}px`,D.style.paddingLeft=`${n.lineNumbersLeft}px`,w.appendChild(D);const E=this._renderFoldingIconForLine(i,t);E&&w.appendChild(E.domNode),this._editor.applyFontInfo(_),this._editor.applyFontInfo(D),w.style.lineHeight=`${this._lineHeight}px`,_.style.lineHeight=`${this._lineHeight}px`,w.style.height=`${this._lineHeight}px`,_.style.height=`${this._lineHeight}px`;const R=new g5(e,t,_,w,E,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(R)}_updateTopAndZIndexOfStickyLine(e){var g;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const c=`${t*this._lineHeight+this._lastLineRelativePosition+((g=e.foldingIcon)!=null&&g.isCollapsed?1:0)}px`,h=`${t*this._lineHeight}px`;return i.style.top=s?c:h,n.style.top=s?c:h,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const c=n.isCollapsed(s),h=new f5(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(dD,""),h}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=rF(t.characterMapping,e,0);return new Pt(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,Yw);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,cD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,dD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class g5{constructor(e,t,i,n,s,r,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=s,this.characterMapping=r,this.scrollWidth=a}}class f5{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=Xi.asClassName(e?Cv:Sv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Zf{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Yv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class QN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Zy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Op=function(o,e){return function(t,i){e(t,i,o)}},Xf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Xf||(Xf={}));var oc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(oc||(oc={}));let Gx=class extends je{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Dc(300)),this._updateOperation=this._register(new We),this._editor.getOption(116).defaultModel){case Xf.OUTLINE_MODEL:this._modelProviders.push(new Zx(this._editor,n));case Xf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Yx(this._editor,t,n));case Xf.INDENTATION_MODEL:this._modelProviders.push(new Xx(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const s=await i;if(this._modelPromise!==n)return null;switch(s){case oc.CANCELED:return this._updateOperation.clear(),null;case oc.VALID:return t.stickyModel}}return null}).catch(t=>(bn(t),null))}};Gx=Zy([Op(2,li),Op(3,Tt)],Gx);class eR extends je{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,oc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Ls(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?oc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),oc.VALID):this._invalid()).then(void 0,i=>(bn(i),oc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Zx=class extends eR{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return tl.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),s=this._editor.getModel();return new QN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(hl.first(e.children.values())instanceof wN){const a=hl.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",h=-1,g;for(const[f,p]of e.children.entries()){const v=this._findSumOfRangesOfGroup(p);v>h&&(g=p,h=v,c=p.id)}t=c,i=g.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const h=new Zf(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Zf(c.symbol.range.startLineNumber,c.symbol.range.endLineNumber);return this._comparator(h,g)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Yv(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const r of s.children.values())i.push(this._stickyModelFromOutlineElement(r,s.symbol.selectionRange.startLineNumber));i.sort((s,r)=>this._comparator(s.range,r.range));const n=new Zf(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Yv(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof HC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Zx=Zy([Op(1,Tt)],Zx);class tR extends eR{constructor(e){super(e),this._foldingLimitReporter=new vN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new QN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Yv(void 0,[],void 0);for(let s=0;s<t;s++){const r=e.getParentIndex(s);let a;r!==-1?a=i[r]:a=n;const c=new Yv(new Zf(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Xx=class extends tR{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new Z1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Xx=Zy([Op(1,Ss)],Xx);let Yx=class extends tR{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Nc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new X1(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t;return((t=this.provider)==null?void 0:t.compute(e))??null}};Yx=Zy([Op(2,Tt)],Yx);var p5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hD=function(o,e){return function(t,i){e(t,i,o)}};class m5{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Jx=class extends je{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new fi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new We),this._updateSoon=this._register(new _s(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Nn(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new Gx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new ks,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let g=0;g<t.children.length;g++){const f=t.children[g];f.range&&a.push(f.range.startLineNumber)}const c=this.updateIndex(X_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(X_(a,e.startLineNumber+n,(g,f)=>g-f));for(let g=c;g<=h;g++){const f=t.children[g];if(!f)return;if(f.range){const p=f.range.startLineNumber,v=f.range.endLineNumber;e.startLineNumber<=v+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new m5(p,v-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,i,n,s)}}getCandidateStickyLinesIntersecting(e){var n,s;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(s=this._editor._getViewModel())==null?void 0:s.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};Jx=p5([hD(1,Tt),hD(2,Ss)],Jx);var _5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ou=function(o,e){return function(t,i){e(t,i,o)}},Qx,rh;let kl=(rh=class extends je{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new We,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new u5(this._editor),this._stickyLineCandidateProvider=new Jx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Gf.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register($i(c,Un.CONTEXT_MENU,async g=>{this._onContextMenu(fd(c),g)})),this._stickyScrollFocusedContextKey=N.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=N.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(og(c));this._register(h.onDidBlur(g=>{this._positionRevealed===!1&&c.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(h.onDidFocus(g=>{this.focus()})),this._registerMouseListeners(),this._register($i(c,Un.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Qx.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new We,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(B.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new We),t=this._register(new Hy(this._editor,{extractLineNumberFromMouseEvent:s=>{const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);return r?r.lineNumber:0}})),i=s=>{if(!this._editor.hasModel()||s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return null;const r=s.target.element;if(!r||r.innerText!==r.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new B(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(bl(n,Un.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const h=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(h===null)return;const g=new Pt(this._endLineNumbers[h],1);this._revealLineInCenterIfOutsideViewport(g);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(h);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let c=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!c){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(h===null)return;c=new Pt(h,1)}this._revealPosition(c)})),this._register(bl(n,Un.MOUSE_MOVE,s=>{if(s.shiftKey){const r=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(r===null||this._showEndForLine!==null&&this._showEndForLine===r)return;this._showEndForLine=r,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register($i(n,Un.MOUSE_LEAVE,s=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([s,r])=>{const a=i(s);if(!a||!s.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:c,textElement:h}=a;if(!c.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=c,e.clear();else if(h.style.textDecoration==="underline")return;const g=new ks;e.add(Nn(()=>g.dispose(!0)));let f;wm(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Pt(c.startLineNumber,c.startColumn+1),!1,g.token).then((p=>{if(!g.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const v=h;f!==v?(e.clear(),f=v,f.style.textDecoration="underline",e.add(Nn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(Nn(()=>{f.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async s=>{if(s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(tN,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new aF(e,t);this._contextMenuService.showContextMenu({menuId:ct.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;q1(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const n of e.ranges)if(i>=n.fromLineNumber&&i<=n.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i;this._minRebuildFromLine=void 0,this._foldingModel=await((i=Nc.get(this._editor))==null?void 0:i.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=Gf.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const c=new Zf(a[0].startLineNumber,a[a.length-1].endLineNumber),h=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const g of h){const f=g.startLineNumber,p=g.endLineNumber,v=g.nestingDepth;if(p-f>0){const _=(v-1)*e,w=v*e,S=this._editor.getBottomForLineNumber(f)-i,D=this._editor.getTopForLineNumber(p)-i,E=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=E){s.push(f),r.push(p+1),n=E-w;break}else w>S&&w<=E&&(s.push(f),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new Gf(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Qx=rh,rh.ID="store.contrib.stickyScrollController",rh);kl=Qx=_5([ou(1,Rg),ou(2,Tt),ou(3,li),ou(4,Ss),ou(5,sr),ou(6,qi)],kl);class v5 extends uo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...It("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:y({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:It("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:d5.View,toggled:{condition:le.equals("config.editor.stickyScroll.enabled",!0),title:y("stickyScroll","Sticky Scroll"),mnemonicTitle:y({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:ct.CommandPalette},{id:ct.MenubarAppearanceMenu,group:"4_editor",order:3},{id:ct.StickyScrollContext}]})}async run(e){const t=e.get(An),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Xy=100;class b5 extends ia{constructor(){super({id:"editor.action.focusStickyScroll",title:{...It("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:y({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:le.and(le.has("config.editor.stickyScroll.enabled"),N.stickyScrollVisible),menu:[{id:ct.CommandPalette}]})}runEditorCommand(e,t){var i;(i=kl.get(t))==null||i.focus()}}class y5 extends ia{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:It("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Xy,primary:18}})}runEditorCommand(e,t){var i;(i=kl.get(t))==null||i.focusNext()}}class w5 extends ia{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:It("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Xy,primary:16}})}runEditorCommand(e,t){var i;(i=kl.get(t))==null||i.focusPrevious()}}class S5 extends ia{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:It("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Xy,primary:3}})}runEditorCommand(e,t){var i;(i=kl.get(t))==null||i.goToFocused()}}class C5 extends ia{constructor(){super({id:"editor.action.selectEditor",title:It("selectEditor.title","Select Editor"),precondition:N.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Xy,primary:9}})}runEditorCommand(e,t){var i;(i=kl.get(t))==null||i.selectEditor()}}yi(kl.ID,kl,1);an(v5);an(b5);an(w5);an(y5);an(S5);an(C5);var iR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Tf=function(o,e){return function(t,i){e(t,i,o)}};class x5{constructor(e,t,i,n,s,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=s,this.completion=r}}let e0=class extends lF{constructor(e,t,i,n,s,r){super(s.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),n=hl.slice(t,i),s=hl.slice(t,0,i);let r=5;for(const a of hl.concat(n,s)){if(a.score===cp.Default)continue;const c=new B(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),h=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new x5(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(pi.None)}return e}};e0=iR([Tf(5,$y)],e0);let t0=class extends je{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var v;if(i.selectedSuggestionInfo)return;let s;for(const _ of this._editorService.listCodeEditors())if(_.getModel()===e){s=_;break}if(!s)return;const r=s.getOption(90);if(Lu.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),c=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Lu.valueFor(r,c)!=="inline")return;let h=e.getWordAtPosition(t),g;if(h!=null&&h.word||(g=this._getTriggerCharacterInfo(e,t)),!(h!=null&&h.word)&&!g||(h||(h=e.getWordUntilPosition(t)),h.endColumn!==t.column))return;let f;const p=e.getValueInRange(new B(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new XI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await Y1(this._languageFeatureService.completionProvider,e,t,new Ip(void 0,Ov.createSuggestFilter(s).itemKind,g==null?void 0:g.providers),g&&{triggerKind:1,triggerCharacter:g.ch},n);let w;_.needsClipboard&&(w=await this._clipboardService.readText());const S=new Zl(_.items,t.column,new XI(p,0),Av.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},w);f=new e0(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(pi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(B.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const r of this._languageFeatureService.completionProvider.all(e))(s=r.triggerCharacters)!=null&&s.includes(i)&&n.add(r);if(n.size!==0)return{providers:n,ch:i}}};t0=iR([Tf(0,Tt),Tf(1,Ag),Tf(2,$y),Tf(3,rs)],t0);Fg(t0);class L5 extends Ce{constructor(){super({id:"editor.action.forceRetokenize",label:y("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new xo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}oe(L5);const Kb=class Kb extends uo{constructor(){super({id:Kb.ID,title:It({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:It("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!wk.getTabFocusMode();wk.setTabFocusMode(t),t?Ir(y("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Ir(y("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Kb.ID="editor.action.toggleTabFocusMode";let i0=Kb;an(i0);var k5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uD=function(o,e){return function(t,i){e(t,i,o)}};let n0=class extends je{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=ft(e,St("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??my("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new mw(this.el,"click")),a=this._register(new mw(this.el,"keypress")),c=ms.chain(a.event,f=>f.map(p=>new a1(p)).filter(p=>p.keyCode===3)),h=this._register(new mw(this.el,cF.Tap)).event;this._register(pE.addTarget(this.el));const g=ms.any(r.event,c,h);this._register(g(f=>{this.enabled&&(q_.stop(f,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};n0=k5([uD(3,rm),uD(4,sa)],n0);var nR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sR=function(o,e){return function(t,i){e(t,i,o)}};const I5=26;let s0=class extends je{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(o0))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,I5)}};s0=nR([sR(1,li)],s0);let o0=class extends je{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Hg,{}),this.element=St("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=St("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Wa(this.element)}show(e){Wa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=ft(this.element,St("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(St(`div${Xi.asCSSSelector(e.icon)}`));const n=ft(this.element,St("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=ft(this.element,St("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(n0,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=ft(this.element,St("div.action-container"));this.actionBar=this._register(new np(s)),this.actionBar.push(this._register(new cg("banner.close","Close Banner",Xi.asClassName(FE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};o0=nR([sR(0,li)],o0);var hL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hu=function(o,e){return function(t,i){e(t,i,o)}};const D5=ns("extensions-warning-message",ei.warning,y("warningIcon","Icon shown with a warning message in the extensions editor."));var tg;let Fp=(tg=class extends je{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=s=>{if(s&&s.hasMore){if(this._bannerClosed)return;const r=Math.max(s.ambiguousCharacterCount,s.nonBasicAsciiCharacterCount,s.invisibleCharacterCount);let a;if(s.nonBasicAsciiCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Wp};else if(s.ambiguousCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Ih};else if(s.invisibleCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Hp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:D5,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(s0,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(s=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(s=>{s.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=E5(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?dF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new r0(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new P5(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},tg.ID="editor.contrib.unicodeHighlighter",tg);Fp=hL([Hu(1,Pl),Hu(2,hF),Hu(3,li)],Fp);function E5(o,e){return{nonBasicASCII:e.nonBasicASCII===_w?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===_w?!o:e.includeComments,includeStrings:e.includeStrings===_w?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let r0=class extends je{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new _s(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:Jv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!IP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:rR(i,this._options),inComment:EP(t,e),inString:DP(t,e)}}};r0=hL([Hu(3,Pl)],r0);class P5 extends je{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new _s(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const s=PP.computeUnicodeHighlights(this._model,this._options,n);for(const r of s.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||s.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:Jv.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return IP(t,e)?{reason:rR(i,this._options),inComment:EP(t,e),inString:DP(t,e)}:null}}const oR=y("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let a0=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=this._editor.getContribution(Fp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const c of t){const h=n.getDecorationInfo(c);if(!h)continue;const f=i.getValueInRange(c.range).codePointAt(0),p=Jw(f);let v;switch(h.reason.kind){case 0:{QE(h.reason.confusableWith)?v=y("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,Jw(h.reason.confusableWith.codePointAt(0))):v=y("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,Jw(h.reason.confusableWith.codePointAt(0)));break}case 1:v=y("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:v=y("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(v))continue;r.add(v);const _={codePoint:f,reason:h.reason,inComment:h.inComment,inString:h.inString},w=y("unicodeHighlight.adjustSettings","Adjust settings"),S=`command:${Qv.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Ks("",!0).appendMarkdown(v).appendText(" ").appendLink(S,w,oR);s.push(new Sr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return o4(e,t,this._editor,this._languageService,this._openerService)}};a0=hL([Hu(1,ra),Hu(2,sa)],a0);function l0(o){return`U+${o.toString(16).padStart(4,"0")}`}function Jw(o){let e=`\`${l0(o)}\``;return TP.isInvisibleCharacter(o)||(e+=` "${`${T5(o)}`}"`),e}function T5(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function rR(o,e){return PP.computeUnicodeHighlightReason(o,e)}const Gb=class Gb{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=Ei.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};Gb.instance=new Gb;let Jv=Gb;class M5 extends Ce{constructor(){super({id:Ih.ID,label:y("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(An);n&&this.runAction(n)}async runAction(e){await e.updateValue(wl.includeComments,!1,2)}}class N5 extends Ce{constructor(){super({id:Ih.ID,label:y("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(An);n&&this.runAction(n)}async runAction(e){await e.updateValue(wl.includeStrings,!1,2)}}const Zb=class Zb extends Ce{constructor(){super({id:Zb.ID,label:y("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(An);n&&this.runAction(n)}async runAction(e){await e.updateValue(wl.ambiguousCharacters,!1,2)}};Zb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Ih=Zb;const Xb=class Xb extends Ce{constructor(){super({id:Xb.ID,label:y("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(An);n&&this.runAction(n)}async runAction(e){await e.updateValue(wl.invisibleCharacters,!1,2)}};Xb.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Hp=Xb;const Yb=class Yb extends Ce{constructor(){super({id:Yb.ID,label:y("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(An);n&&this.runAction(n)}async runAction(e){await e.updateValue(wl.nonBasicASCII,!1,2)}};Yb.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Wp=Yb;const Jb=class Jb extends Ce{constructor(){super({id:Jb.ID,label:y("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:r,inComment:a}=i,c=String.fromCodePoint(n),h=e.get(Il),g=e.get(An);function f(_){return TP.isInvisibleCharacter(_)?y("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",l0(_)):y("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${l0(_)} "${c}"`)}const p=[];if(s.kind===0)for(const _ of s.notAmbiguousInLocales)p.push({label:y("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',_),run:async()=>{A5(g,[_])}});if(p.push({label:f(n),run:()=>R5(g,[n])}),a){const _=new M5;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new N5;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new Ih;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new Hp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new Wp;p.push({label:_.label,run:async()=>_.runAction(g)})}else O5(s);const v=await h.pick(p,{title:oR});v&&await v.run()}};Jb.ID="editor.action.unicodeHighlight.showExcludeOptions";let Qv=Jb;async function R5(o,e){const t=o.getValue(wl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(wl.allowedCharacters,i,2)}async function A5(o,e){var n;const t=(n=o.inspect(wl.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const s of e)i[s]=!0;await o.updateValue(wl.allowedLocales,i,2)}function O5(o){throw new Error(`Unexpected value: ${o}`)}oe(Ih);oe(Hp);oe(Wp);oe(Qv);yi(Fp.ID,Fp,1);Oh.register(a0);var F5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gD=function(o,e){return function(t,i){e(t,i,o)}};const aR="ignoreUnusualLineTerminators";function H5(o,e,t){o.setModelProperty(e.uri,aR,t)}function W5(o,e){return o.getModelProperty(e.uri,aR)}var ig;let eb=(ig=class extends je{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(n=>{n.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||W5(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:y("unusualLineTerminators.title","Unusual Line Terminators"),message:y("unusualLineTerminators.message","Detected unusual line terminators"),detail:y("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",Ua(e.uri)),primaryButton:y({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:y("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){H5(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},ig.ID="editor.contrib.unusualLineTerminatorsDetector",ig);eb=F5([gD(1,c1),gD(2,rs)],eb);yi(eb.ID,eb,1);var B5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},z5=function(o,e){return function(t,i){e(t,i,o)}};class fD{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],s=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return s?e.isDisposed()?void 0:e.findMatches(s.word,!0,!1,!0,Sk,!1).map(a=>({range:a.range,kind:J_.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Ic,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const h=a.findMatches(r.word,!0,!1,!0,Sk,!1).map(g=>({range:g.range,kind:J_.Text}));h&&s.set(a.uri,h)}return s}}let c0=class extends je{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new fD)),this._register(e.multiDocumentHighlightProvider.register("*",new fD))}};c0=B5([z5(0,Tt)],c0);var lR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},W_=function(o,e){return function(t,i){e(t,i,o)}},Qn,d0;const uL=new Oi("hasWordHighlights",!1);function cR(o,e,t,i){const n=o.ordered(e);return n1(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,os)),s=>s!=null).then(s=>{if(s){const r=new Ic;return r.set(e.uri,s),r}return new Ic})}function V5(o,e,t,i,n,s){const r=o.ordered(e);return n1(r.map(a=>()=>{const c=s.filter(h=>gF(h)).filter(h=>fF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,os)}),a=>a!=null)}class dR{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=Ls(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new B(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let c=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let h=0,g=i.length;!c&&h<g;h++){const f=i.getRange(h);f&&f.startLineNumber===n&&f.startColumn<=s&&f.endColumn>=r&&(c=!0)}return c}cancel(){this.result.cancel()}}class j5 extends dR{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return cR(this._providers,e,t.getPosition(),n).then(s=>s||new Ic)}}class U5 extends dR{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return V5(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ic)}}function $5(o,e,t,i,n){return new j5(e,t,n,o)}function q5(o,e,t,i,n,s){return new U5(e,t,n,o,s)}fo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Tt),n=await cR(i.documentHighlightProvider,e,t,pi.None);return n==null?void 0:n.get(e.uri)});var kc;let h0=(kc=class{constructor(e,t,i,n,s){this.toUnhook=new We,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ic,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Dc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=uL.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(r=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(r)})})),this.toUnhook.add(e.onDidFocusEditorText(r=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(r=>{uF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Qn.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var c,h;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((h=(c=Qn.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":Qn.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",a);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,Qn.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(B.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Ir(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Ir(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Qn.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Qn.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||U_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=Qn.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Ac.get(n);r!=null&&r.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(const n of i)Qn.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==ro.vscodeNotebookCell&&((i=(t=Qn.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==ro.vscodeNotebookCell?(Qn.query=null,this._run()):(n=Qn.query)!=null&&n.modelInfo&&(Qn.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==ro.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===ro.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===ro.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!MP(s))continue;const r=s.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const s of n){const r=s.getModel();r&&r!==e&&i.push(r)}return i}_run(e){var n,s;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){Qn.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){Qn.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Qn.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!Qn.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if(U_(this.editor.getModel().uri,(n=Qn.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const c=this.decorations.getRanges();for(const h of c)if(h.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!Qn.query||!Qn.query.modelInfo||Qn.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Qn.query.modelInfo.model,Qn.query.modelInfo.selection,Qn.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},bn)}}computeWithModel(e,t,i,n){return n.length?q5(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):$5(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,n;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const s of e){const r=Ac.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=Qn.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:RU(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),Qn.storedDecorationIDs=Qn.storedDecorationIDs.set(c,f),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},Qn=kc,kc.storedDecorationIDs=new Ic,kc.query=null,kc);h0=Qn=lR([W_(4,rs)],h0);var ah;let Ac=(ah=class extends je{static get(e){return e.getContribution(d0.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new h0(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},d0=ah,ah.ID="editor.contrib.wordHighlighter",ah);Ac=d0=lR([W_(1,qi),W_(2,Tt),W_(3,rs)],Ac);class hR extends Ce{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Ac.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class K5 extends hR{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:y("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:uL,kbOpts:{kbExpr:N.editorTextFocus,primary:65,weight:100}})}}class G5 extends hR{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:y("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:uL,kbOpts:{kbExpr:N.editorTextFocus,primary:1089,weight:100}})}}class Z5 extends Ce{constructor(){super({id:"editor.action.wordHighlight.trigger",label:y("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:N.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Ac.get(t);n&&n.restoreViewState(!0)}}yi(Ac.ID,Ac,0);oe(K5);oe(G5);oe(Z5);Fg(c0);class Yy extends go{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Nh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new Pt(h.positionLineNumber,h.positionColumn),f=this._move(n,s,g,this._wordNavigationType,a);return this._moveTo(h,f,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,c.map(h=>pF.fromModelSelection(h))),c.length===1){const h=new Pt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new Gt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Gt(t.lineNumber,t.column,t.lineNumber,t.column)}}class Wc extends Yy{_move(e,t,i,n,s){return hm.moveWordLeft(e,t,i,n,s)}}class Bc extends Yy{_move(e,t,i,n,s){return hm.moveWordRight(e,t,i,n)}}class X5 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Y5 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class J5 extends Wc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(yy,wy))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Q5 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class e8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class t8 extends Wc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(yy,wy))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class i8 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Nh(Sy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class n8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Nh(Sy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class s8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class o8 extends Bc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(yy,wy))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class r8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class a8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class l8 extends Bc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:le.and(N.textInputFocus,(e=le.and(yy,wy))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class c8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class d8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Nh(Sy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class h8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Nh(Sy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Jy extends go{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Ss);if(!t.hasModel())return;const s=Nh(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),c=t.getOption(6),h=t.getOption(11),g=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),f=t._getViewModel(),p=a.map(v=>{const _=this._delete({wordSeparators:s,model:r,selection:v,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:c,autoClosingQuotes:h,autoClosingPairs:g,autoClosedCharacters:f.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Yp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class gL extends Jy{_delete(e,t){const i=hm.deleteWordLeft(e,t);return i||new B(1,1,1,1)}}class fL extends Jy{_delete(e,t){const i=hm.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class u8 extends gL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:N.writable})}}class g8 extends gL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:N.writable})}}class f8 extends gL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class p8 extends fL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:N.writable})}}class m8 extends fL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:N.writable})}}class _8 extends fL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class v8 extends Ce{constructor(){super({id:"deleteInsideWord",precondition:N.writable,label:y("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Nh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=hm.deleteInsideWord(n,s,c);return new Yp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Rt(new X5);Rt(new Y5);Rt(new J5);Rt(new Q5);Rt(new e8);Rt(new t8);Rt(new s8);Rt(new o8);Rt(new r8);Rt(new a8);Rt(new l8);Rt(new c8);Rt(new i8);Rt(new n8);Rt(new d8);Rt(new h8);Rt(new u8);Rt(new g8);Rt(new f8);Rt(new p8);Rt(new m8);Rt(new _8);oe(v8);class b8 extends Jy{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=Cy.deleteWordPartLeft(e);return i||new B(1,1,1,1)}}class y8 extends Jy{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:N.writable,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=Cy.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class uR extends Yy{_move(e,t,i,n,s){return Cy.moveWordPartLeft(e,t,i,s)}}class w8 extends uR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}kn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class S8 extends uR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}kn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class gR extends Yy{_move(e,t,i,n,s){return Cy.moveWordPartRight(e,t,i)}}class C8 extends gR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class x8 extends gR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:N.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Rt(new b8);Rt(new y8);Rt(new w8);Rt(new S8);Rt(new C8);Rt(new x8);const EL=class EL extends je{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=wo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ks(y("editor.simple.readonly","Cannot edit in read-only input")):t=new Ks(y("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};EL.ID="editor.contrib.readOnlyMessageController";let tb=EL;yi(tb.ID,tb,2);var L8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pD=function(o,e){return function(t,i){e(t,i,o)}};let u0=class extends je{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Ho(this,void 0);const n=pd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=pd("_textModel.onDidChangeContent",ms.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(sm(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new vF),h=await this._outlineModelService.getOrCreate(this._textModel,c.token);a.isDisposed||this._currentModel.set(h,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(s=>e.contains(s.range.startLineNumber)&&!e.contains(s.range.endLineNumber));return n.sort(_F(am(s=>s.range.endLineNumber-s.range.startLineNumber,gy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};u0=L8([pD(1,Tt),pD(2,xm)],u0);mF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(u0,o));const PL=class PL extends je{constructor(e){super(),this.editor=e,this.widget=null,fS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new g0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};PL.ID="editor.contrib.iPadShowKeyboard";let ib=PL;const Qb=class Qb extends je{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register($i(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register($i(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return Qb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};Qb.ID="editor.contrib.ShowKeyboardWidget";let g0=Qb;yi(ib.ID,ib,3);var k8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mD=function(o,e){return function(t,i){e(t,i,o)}},f0,lh;let Bp=(lh=class extends je{static get(e){return e.getContribution(f0.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(n=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(n=>this.stop())),this._register(py.onDidChange(n=>this.stop())),this._register(this._editor.onKeyUp(n=>n.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new p0(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},f0=lh,lh.ID="editor.contrib.inspectTokens",lh);Bp=f0=k8([mD(1,NP),mD(2,ra)],Bp);class I8 extends Ce{constructor(){super({id:"editor.action.inspectTokens",label:SF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Bp.get(t);i==null||i.launch()}}function D8(o){let e="";for(let t=0,i=o.length;t<i;t++){const n=o.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function E8(o,e){const t=py.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>bF,tokenize:(n,s,r)=>wF(e,r),tokenizeEncoded:(n,s,r)=>yF(i,r)}}const ey=class ey extends je{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=E8(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return ey._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let c=t.tokens1.length-1;c>=0;c--){const h=t.tokens1[c];if(e.column-1>=h.offset){i=c;break}}let n=0;for(let c=t.tokens2.length>>>1;c>=0;c--)if(e.column-1>=t.tokens2[c<<1]){n=c;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const c=t.tokens1[i].offset,h=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(c,h)}$_(this._domNode,St("h2.tm-token",void 0,D8(r),St("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),ft(this._domNode,St("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;ft(this._domNode,St("table.tm-metadata-table",void 0,St("tbody",void 0,St("tr",void 0,St("td.tm-metadata-key",void 0,"language"),St("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),St("tr",void 0,St("td.tm-metadata-key",void 0,"token type"),St("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),St("tr",void 0,St("td.tm-metadata-key",void 0,"font style"),St("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),St("tr",void 0,St("td.tm-metadata-key",void 0,"foreground"),St("td.tm-metadata-value",void 0,`${a?Ii.Format.CSS.formatHex(a.foreground):"-?-"}`)),St("tr",void 0,St("td.tm-metadata-key",void 0,"background"),St("td.tm-metadata-value",void 0,`${a?Ii.Format.CSS.formatHex(a.background):"-?-"}`))))),ft(this._domNode,St("hr.tokens-inspect-separator")),i<t.tokens1.length&&ft(this._domNode,St("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=py.getColorMap(),i=lf.getLanguageId(e),n=lf.getTokenType(e),s=lf.getFontStyle(e),r=lf.getForeground(e),a=lf.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:s,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};ey._ID="editor.contrib.inspectTokensWidget";let p0=ey;yi(Bp.ID,Bp,4);oe(I8);var P8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_D=function(o,e){return function(t,i){e(t,i,o)}},Mf,ch;let m0=(ch=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=na.as(um.Quickaccess)}provide(e){const t=new We;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(Mf.PREFIX.length));n&&n.prefix&&n.prefix!==Mf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Mf.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:y("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Mf=ch,ch.PREFIX="?",ch);m0=Mf=P8([_D(0,Il),_D(1,us)],m0);na.as(um.Quickaccess).registerQuickAccessProvider({ctor:m0,prefix:"",helpEntries:[{description:CF.helpQuickAccessActionLabel}]});class fR{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new We;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Bo);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new We,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=RP(s);if(a){let c=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{c=s.saveViewState()??void 0})),r.restoreViewState=()=>{c&&s===this.activeTextEditorControl&&s.restoreViewState(c)},n.add(AP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(Nn(()=>this.clearDecorations(s))),n.add(this.provideWithTextEditor(r,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&rg(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return MP(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:fs(BE),position:Ha.Full}}}],[r,a]=i.deltaDecorations(n,s);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const ty=class ty extends fR{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=y("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,je.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new We;s.add(t.onDidAccept(c=>{const[h]=t.selectedItems;if(h){if(!this.isValidLineNumber(n,h.lineNumber))return;this.gotoLocation(e,{range:this.toRange(h.lineNumber,h.column),keyMods:t.keyMods,preserveFocus:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr(ty.PREFIX.length)),h=this.getPickLabel(n,c.lineNumber,c.column);if(t.items=[{lineNumber:c.lineNumber,column:c.column,label:h}],t.ariaLabel=h,!this.isValidLineNumber(n,c.lineNumber)){this.clearDecorations(n);return}const g=this.toRange(c.lineNumber,c.column);n.revealRangeInCenter(g,0),this.addDecorations(n,g)};r(),s.add(t.onDidChangeValue(()=>r()));const a=RP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(Nn(()=>a.updateOptions({lineNumbers:"relative"})))),s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(s=>parseInt(s,10)).filter(s=>!isNaN(s)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?y("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):y("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?y("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):y("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};ty.PREFIX=":";let _0=ty;var T8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},M8=function(o,e){return function(t,i){e(t,i,o)}};let zp=class extends _0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ms.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};zp=T8([M8(0,rs)],zp);var dh;let pR=(dh=class extends Ce{constructor(){super({id:dh.ID,label:OP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Il).quickAccess.show(zp.PREFIX)}},dh.ID="editor.action.gotoLine",dh);oe(pR);na.as(um.Quickaccess).registerQuickAccessProvider({ctor:zp,prefix:zp.PREFIX,helpEntries:[{description:OP.gotoLineActionLabel,commandId:pR.ID}]});const mR=[void 0,[]];function Qw(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?N8(o,n.values,t,i):_R(o,e,t,i)}function N8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=_R(o,r,t,i);if(typeof a!="number")return mR;n+=a,s.push(...c)}return[n,R8(s)]}function _R(o,e,t,i){const n=oP(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],fy(n)]:mR}function R8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!A8(i,n)?(i=n,t.push(n)):(i.start=Math.min(i.start,n.start),i.end=Math.max(i.end,n.end));return t}function A8(o,e){return!(o.end<e.start||e.end<o.start)}function vD(o){return o.startsWith('"')&&o.endsWith('"')}const vR=" ";function v0(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=bD(o),s=t.indexOf(SS)>=0,r=vD(o);let a;const c=o.split(vR);if(c.length>1)for(const h of c){const g=vD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=bD(h);p&&(a||(a=[]),a.push({original:h,originalLowercase:h.toLowerCase(),pathNormalized:f,normalized:p,normalizedLowercase:v,expectContiguousMatch:g}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function bD(o){let e;oy?e=o.replace(/\//g,SS):e=o.replace(/\\/g,SS);const t=xF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function yD(o){return Array.isArray(o)?v0(o.map(e=>e.original).join(vR)):v0(o.original)}var O8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wD=function(o,e){return function(t,i){e(t,i,o)}},B_,Zr;let Cd=(Zr=class extends fR{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,y("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),je.None}provideWithTextEditor(e,t,i,n){const s=e.editor,r=this.getModel(s);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,n):this.doProvideWithoutEditorSymbols(e,r,t,i):je.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new We;return this.provideLabelPick(i,y("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,s)||n.isCancellationRequested||s.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new ry,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Nn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new We;a.add(i.onDidAccept(p=>{var _;const[v]=i.selectedItems;v&&v.range&&(this.gotoLocation(e,{range:v.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(_=s==null?void 0:s.handleAccept)==null||_.call(s,v),p.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:p})=>{p&&p.range&&(this.gotoLocation(e,{range:p.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const c=this.getDocumentSymbols(t,n);let h;const g=async p=>{h==null||h.dispose(!0),i.busy=!1,h=new ks(n),i.busy=!0;try{const v=v0(i.value.substr(B_.PREFIX.length).trim()),_=await this.doGetSymbolPicks(c,v,void 0,h.token,t);if(n.isCancellationRequested)return;if(_.length>0){if(i.items=_,p&&v.original.length===0){const w=DF(_,S=>!!(S.type!=="separator"&&S.range&&B.containsPosition(S.range.decoration,p)));w&&(i.activeItems=[w])}}else v.original.length>0?this.provideLabelPick(i,y("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,y("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>g(void 0))),g((f=r.getSelection())==null?void 0:f.getPosition()),a.add(i.onDidChangeActive(()=>{const[p]=i.activeItems;p&&p.range&&(r.revealRangeInCenter(p.range.selection,0),this.addDecorations(r,p.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,s){var S,D;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(B_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=yD(t.values[0]),g=yD(t.values.slice(1))):h=t;let f;const p=(D=(S=this.options)==null?void 0:S.openSideBySideDirection)==null?void 0:D.call(S);p&&(f=[{iconClass:p==="right"?Xi.asClassName(ei.splitHorizontal):Xi.asClassName(ei.splitVertical),tooltip:p==="right"?y("openToSide","Open to the Side"):y("openToBottom","Open to the Bottom")}]);const v=[];for(let E=0;E<r.length;E++){const R=r[E],z=LF(R.name),H=`$(${kF.toIcon(R.kind).id}) ${z}`,ee=H.length-z.length;let X=R.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let fe,Le,Ue,xe;if(t.original.length>c){let kt=!1;if(h!==t&&([fe,Le]=Qw(H,{...t,values:void 0},c,ee),typeof fe=="number"&&(kt=!0)),typeof fe!="number"&&([fe,Le]=Qw(H,h,c,ee),typeof fe!="number"))continue;if(!kt&&g){if(X&&g.original.length>0&&([Ue,xe]=Qw(X,g)),typeof Ue!="number")continue;typeof fe=="number"&&(fe+=Ue)}}const pt=R.tags&&R.tags.indexOf(1)>=0;v.push({index:E,kind:R.kind,score:fe,label:H,ariaLabel:IF(R.name,R.kind),description:X,highlights:pt?void 0:{label:Le,description:xe},range:{selection:B.collapseToStart(R.selectionRange),decoration:R.range},uri:s.uri,symbolName:z,strikethrough:pt,buttons:f})}const _=v.sort((E,R)=>a?this.compareByKindAndScore(E,R):this.compareByScore(E,R));let w=[];if(a){let H=function(){R&&typeof E=="number"&&z>0&&(R.label=J0(tS[E]||eS,z))},E,R,z=0;for(const ee of _)E!==ee.kind?(H(),E=ee.kind,z=1,R={type:"separator"},w.push(R)):z++,w.push(ee);H()}else _.length>0&&(w=[{label:y("symbols","symbols ({0})",v.length),type:"separator"},..._]);return w}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=tS[e.kind]||eS,n=tS[t.kind]||eS,s=i.localeCompare(n);return s===0?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},B_=Zr,Zr.PREFIX="@",Zr.SCOPE_PREFIX=":",Zr.PREFIX_BY_CATEGORY=`${Zr.PREFIX}${Zr.SCOPE_PREFIX}`,Zr);Cd=B_=O8([wD(0,Tt),wD(1,xm)],Cd);const eS=y("property","properties ({0})"),tS={5:y("method","methods ({0})"),11:y("function","functions ({0})"),8:y("_constructor","constructors ({0})"),12:y("variable","variables ({0})"),4:y("class","classes ({0})"),22:y("struct","structs ({0})"),23:y("event","events ({0})"),24:y("operator","operators ({0})"),10:y("interface","interfaces ({0})"),2:y("namespace","namespaces ({0})"),3:y("package","packages ({0})"),25:y("typeParameter","type parameters ({0})"),1:y("modules","modules ({0})"),6:y("property","properties ({0})"),9:y("enum","enumerations ({0})"),21:y("enumMember","enumeration members ({0})"),14:y("string","strings ({0})"),0:y("file","files ({0})"),17:y("array","arrays ({0})"),15:y("number","numbers ({0})"),16:y("boolean","booleans ({0})"),18:y("object","objects ({0})"),19:y("key","keys ({0})"),7:y("field","fields ({0})"),13:y("constant","constants ({0})")};var F8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},iS=function(o,e){return function(t,i){e(t,i,o)}};let b0=class extends Cd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=ms.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};b0=F8([iS(0,rs),iS(1,Tt),iS(2,xm)],b0);const iy=class iy extends Ce{constructor(){super({id:iy.ID,label:CS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:N.hasDocumentSymbolProvider,kbOpts:{kbExpr:N.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Il).quickAccess.show(Cd.PREFIX,{itemActivation:EF.NONE})}};iy.ID="editor.action.quickOutline";let nb=iy;oe(nb);na.as(um.Quickaccess).registerQuickAccessProvider({ctor:b0,prefix:Cd.PREFIX,helpEntries:[{description:CS.quickOutlineActionLabel,prefix:Cd.PREFIX,commandId:nb.ID},{description:CS.quickOutlineByCategoryActionLabel,prefix:Cd.PREFIX_BY_CATEGORY}]});function H8(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Yf{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const c of a.chunks){const h=this.computeSimilarityScore(c,i,n);h>0&&s.push({key:r,score:h})}}return s}static termFrequencies(e){return H8(Yf.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const n=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(n.length>1)for(const s of n)s.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(s)&&(yield t(s))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const i=[];for(const n of t.textChunks){const s=Yf.termFrequencies(n);for(const r of s.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:s})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const s=this.chunkOccurrences.get(n);if(typeof s=="number"){const r=s-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,r]of Object.entries(t)){const a=e.tf.get(s);if(!a)continue;let c=i.get(s);typeof c!="number"&&(c=this.computeIdf(s),i.set(s,c));const h=a*c;n+=h*r}return n}computeEmbedding(e){const t=Yf.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const s=this.computeIdf(i);s>0&&(t[i]=n*s)}return t}}function W8(o){var i;const e=o.slice(0);e.sort((n,s)=>s.score-n.score);const t=((i=e[0])==null?void 0:i.score)??0;if(t>0)for(const n of e)n.score/=t;return e}var Iu;(function(o){o[o.NO_ACTION=0]="NO_ACTION",o[o.CLOSE_PICKER=1]="CLOSE_PICKER",o[o.REFRESH_PICKER=2]="REFRESH_PICKER",o[o.REMOVE_ITEM=3]="REMOVE_ITEM"})(Iu||(Iu={}));function nS(o){return Array.isArray(o.items)}function SD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class B8 extends je{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new We;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Bo),a=async()=>{var S;const g=r.value=new We;s==null||s.dispose(!0),e.busy=!1,s=new ks(t);const f=s.token;let p=e.value.substring(this.prefix.length);(S=this.options)!=null&&S.shouldSkipTrimPickFilter||(p=p.trim());const v=this._getPicks(p,g,f,i),_=(D,E)=>{var H;let R,z;if(nS(D)?(R=D.items,z=D.active):R=D,R.length===0){if(E)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(PF(this.options.noResultsPick)?R=[this.options.noResultsPick(p)]:R=[this.options.noResultsPick])}return e.items=R,z&&(e.activeItems=[z]),!0},w=async D=>{let E=!1,R=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await vy(D.mergeDelay),f.isCancellationRequested)||R||(E=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const z=await D.additionalPicks;if(f.isCancellationRequested)return;let H,ee;nS(D.picks)?(H=D.picks.items,ee=D.picks.active):H=D.picks;let X,fe;if(nS(z)?(X=z.items,fe=z.active):X=z,X.length>0||!E){let Le;if(!ee&&!fe){const Ue=e.activeItems[0];Ue&&H.indexOf(Ue)!==-1&&(Le=Ue)}_({items:[...H,...X],active:ee||fe||Le})}}finally{f.isCancellationRequested||(e.busy=!1),R=!0}})()])};if(v!==null)if(SD(v))await w(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;SD(D)?await w(D):_(D)}finally{f.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(g=>{var p;if(i!=null&&i.handleAccept){g.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[f]=e.selectedItems;typeof(f==null?void 0:f.accept)=="function"&&(g.inBackground||e.hide(),f.accept(e.keyMods,g))}));const c=async(g,f)=>{var v;if(typeof f.trigger!="function")return;const p=((v=f.buttons)==null?void 0:v.indexOf(g))??-1;if(p>=0){const _=f.trigger(p,e.keyMods),w=typeof _=="number"?_:await _;if(t.isCancellationRequested)return;switch(w){case Iu.NO_ACTION:break;case Iu.CLOSE_PICKER:e.hide();break;case Iu.REFRESH_PICKER:a();break;case Iu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),E=D.splice(S,1),R=e.activeItems.filter(H=>H!==E[0]),z=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,R&&(e.activeItems=R),e.keepScrollPosition=z}break}}}};return n.add(e.onDidTriggerItemButton(({button:g,item:f})=>c(g,f))),n.add(e.onDidTriggerSeparatorButton(({button:g,separator:f})=>c(g,f))),n}}var bR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xl=function(o,e){return function(t,i){e(t,i,o)}},Jc,cs,Na;let y0=(Na=class extends B8{constructor(e,t,i,n,s,r){super(Jc.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(w0)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=AP(()=>{const w=new Yf;w.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=w.calculateScores(e,i);return W8(S).filter(D=>D.score>Jc.TFIDF_THRESHOLD).slice(0,Jc.TFIDF_MAX_RESULTS)}),a=[];for(const w of s){const S=Jc.WORD_FILTER(e,w.label)??void 0,D=w.commandAlias?Jc.WORD_FILTER(e,w.commandAlias)??void 0:void 0;if(S||D)w.highlights={label:S,detail:this.options.showAlias?D:void 0},a.push(w);else if(e===w.commandId)a.push(w);else if(e.length>=3){const E=r();if(i.isCancellationRequested)return[];const R=E.find(z=>z.key===w.commandId);R&&(w.tfIdfScore=R.score,a.push(w))}}const c=new Map;for(const w of a){const S=c.get(w.label);S?(w.description=w.commandId,S.description=S.commandId):c.set(w.label,w)}a.sort((w,S)=>{if(w.tfIdfScore&&S.tfIdfScore)return w.tfIdfScore===S.tfIdfScore?w.label.localeCompare(S.label):S.tfIdfScore-w.tfIdfScore;if(w.tfIdfScore)return 1;if(S.tfIdfScore)return-1;const D=this.commandsHistory.peek(w.commandId),E=this.commandsHistory.peek(S.commandId);if(D&&E)return D>E?-1:1;if(D)return-1;if(E)return 1;if(this.options.suggestedCommandIds){const R=this.options.suggestedCommandIds.has(w.commandId),z=this.options.suggestedCommandIds.has(S.commandId);if(R&&z)return 0;if(R)return-1;if(z)return 1}return w.label.localeCompare(S.label)});const h=[];let g=!1,f=!0,p=!!this.options.suggestedCommandIds;for(let w=0;w<a.length;w++){const S=a[w];w===0&&this.commandsHistory.peek(S.commandId)&&(h.push({type:"separator",label:y("recentlyUsed","recently used")}),g=!0),f&&S.tfIdfScore!==void 0&&(h.push({type:"separator",label:y("suggested","similar commands")}),f=!1),p&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&((v=this.options.suggestedCommandIds)!=null&&v.has(S.commandId))&&(h.push({type:"separator",label:y("commonlyUsed","commonly used")}),g=!0,p=!1),g&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&!((_=this.options.suggestedCommandIds)!=null&&_.has(S.commandId))&&(h.push({type:"separator",label:y("morecCommands","other commands")}),g=!1),h.push(this.toCommandPick(S,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:h,additionalPicks:(async()=>{var D;const w=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const S=w.map(E=>this.toCommandPick(E,n));return f&&((D=S[0])==null?void 0:D.type)!=="separator"&&S.unshift({type:"separator",label:y("suggested","similar commands")}),S})()}:h}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?y("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var s;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(s=e.args)!=null&&s.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){Oc(r)||this.dialogService.error(y("canNotRun","Command '{0}' resulted in an error",e.label),cv(r))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}},Jc=Na,Na.PREFIX=">",Na.TFIDF_THRESHOLD=.5,Na.TFIDF_MAX_RESULTS=5,Na.WORD_FILTER=TF(RF,NF,MF),Na);y0=Jc=bR([Xl(1,li),Xl(2,us),Xl(3,ws),Xl(4,oa),Xl(5,c1)],y0);var Xr;let w0=(Xr=class extends je{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===U0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=cs.getConfiguredCommandHistoryLength(this.configurationService),cs.cache&&cs.cache.limit!==this.configuredCommandsHistoryLength&&(cs.cache.limit=this.configuredCommandsHistoryLength,cs.hasChanges=!0))}load(){const e=this.storageService.get(cs.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=cs.cache=new im(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}cs.counter=this.storageService.getNumber(cs.PREF_KEY_COUNTER,0,cs.counter)}push(e){cs.cache&&(cs.cache.set(e,cs.counter++),cs.hasChanges=!0)}peek(e){var t;return(t=cs.cache)==null?void 0:t.peek(e)}saveState(){if(!cs.cache||!cs.hasChanges)return;const e={usesLRU:!0,entries:[]};cs.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(cs.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(cs.PREF_KEY_COUNTER,cs.counter,0,0),cs.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,s;const i=(s=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:s.history;return typeof i=="number"?i:cs.DEFAULT_COMMANDS_HISTORY_LENGTH}},cs=Xr,Xr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Xr.PREF_KEY_CACHE="commandPalette.mru.cache",Xr.PREF_KEY_COUNTER="commandPalette.mru.counter",Xr.counter=1,Xr.hasChanges=!1,Xr);w0=cs=bR([Xl(0,Fc),Xl(1,An),Xl(2,Mh)],w0);class z8 extends y0{constructor(e,t,i,n,s,r){super(e,t,i,n,s,r)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let s;(i=n.metadata)!=null&&i.description&&(AF(n.metadata.description)?s=n.metadata.description:s={original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:s,label:OF(n.label)||n.id})}return t}}var V8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ru=function(o,e){return function(t,i){e(t,i,o)}};let Vp=class extends z8{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,r){super({showAlias:!1},e,i,n,s,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};Vp=V8([ru(0,li),ru(1,rs),ru(2,us),ru(3,ws),ru(4,oa),ru(5,c1)],Vp);const ny=class ny extends Ce{constructor(){super({id:ny.ID,label:FP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:N.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Il).quickAccess.show(Vp.PREFIX)}};ny.ID="editor.action.quickCommand";let sb=ny;oe(sb);na.as(um.Quickaccess).registerQuickAccessProvider({ctor:Vp,prefix:Vp.PREFIX,helpEntries:[{description:FP.quickCommandHelp,commandId:sb.ID}]});var j8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},au=function(o,e){return function(t,i){e(t,i,o)}};let S0=class extends Ch{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};S0=j8([au(1,qi),au(2,rs),au(3,to),au(4,li),au(5,Fc),au(6,An)],S0);yi(Ch.ID,S0,4);class U8 extends Ce{constructor(){super({id:"editor.action.toggleHighContrast",label:FF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(NP),n=i.getColorTheme();sp(n.type)?(i.setTheme(this._originalThemeName||(Ck(n.type)?HF:WF)),this._originalThemeName=null):(i.setTheme(Ck(n.type)?BF:zF),this._originalThemeName=n.themeName)}}oe(U8);let C0=null;function $8(o){C0=o}function q8(o={}){return{"Content-Type":"application/json",...o}}async function wi(o,e,t){const i=await fetch(e,{method:o,headers:q8(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw C0&&C0(),new Error("Unauthorized");if(!i.ok){const n=await i.json().catch(()=>({error:i.statusText}));throw new Error(n.error??i.statusText)}return i.json()}async function K8(){return await(await fetch("/she/auth/mode")).json()}async function G8(o){const e=await fetch("/she/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:o})});if(!e.ok){const t=await e.json().catch(()=>({error:e.statusText}));throw new Error(t.error??"Login failed")}}async function Z8(){await fetch("/she/auth/logout",{method:"POST"})}async function X8(o,e,t,i){const n=await fetch("/she/auth/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o,password:e,proxyHeader:t,proxyLogoutUrl:i})});if(!n.ok){const s=await n.json().catch(()=>({error:n.statusText}));throw new Error(s.error??"Setup failed")}}function Y8(){return wi("GET","/she/scripts/tree")}function sS(o){return wi("GET",`/she/scripts/${o}`)}function Zc(o,e){return wi("PUT",`/she/scripts/${o}`,{content:e})}function u_(o){return wi("DELETE",`/she/scripts/${o}`)}function CD(o,e){return wi("POST",`/she/scripts/${o}/rename`,{newPath:e})}function J8(o){return wi("POST","/she/scripts/mkdir",{path:o})}function Q8(){return wi("GET","/she/git/status")}function Nf(){return wi("GET","/she/status")}function yR(){return wi("POST","/she/restart")}function e7(){return wi("POST","/she/update")}function t7(){return wi("POST","/she/check-update")}function i7(o,e){return wi("POST","/she/git/commit",{path:o,message:e})}function xD(o,e){return wi("POST","/she/git/commit",{files:o,message:e})}function LD(o){return wi("POST","/she/git/commit",{message:o})}function g_(o){return wi("POST","/she/git/push",{remote:o})}function n7(o,e){return wi("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function s7(o,e){return wi("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function pL(){return wi("GET","/she/config")}function o7(o){return wi("PUT","/she/config",o)}function wR(){return wi("GET","/she/db/docs")}function r7(o){return wi("GET",`/she/db/docs/${o}`)}function kD(o,e){return wi("PUT",`/she/db/docs/${o}`,e)}function a7(o){return wi("DELETE",`/she/db/docs/${o}`)}function SR(){return wi("GET","/she/db/views")}function l7(o){return wi("GET",`/she/db/views/${o}`)}function ID(o,e){return wi("PUT",`/she/db/views/${o}`,e)}function c7(o){return wi("DELETE",`/she/db/views/${o}`)}function d7(){return wi("GET","/she/deps")}function h7(o){return wi("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function u7(o,e){return wi("POST","/she/deps/install",{name:o,version:null})}function g7(o){return wi("POST","/she/deps/remove",{name:o})}function f7(o){return wi("POST","/she/deps/update",{name:o})}function p7(){return wi("GET","/she/deps/outdated")}function m7(){return wi("POST","/she/deps/check-outdated")}function _7(){return wi("GET","/she/ai/conversations")}function DD(o){return wi("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function v7(o,e,t){return wi("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function b7(o){return wi("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function oS(o){return wi("GET",`/she/db/views/${o}/result`)}function CR(){return wi("GET","/she/matter/devices")}function z_(o){return wi("GET",`/she/matter/devices/${o}`)}function y7(o){return wi("POST","/she/matter/commission",o)}function w7(o){return wi("DELETE",`/she/matter/devices/${o}`)}function S7(o,e,t,i,n){return wi("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function xR(){return wi("GET","/she/mqtt/state")}function ED(o,e,t=!1,i=0){return wi("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function LR(){return wi("GET","/she/ai/config")}function kR(){return wi("GET","/she/ai/models")}function x0(o){return wi("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function IR(o){return wi("POST","/she/ai/prompt",o)}async function DR(o,e,t,i){const s=await fetch("/she/ai/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t});if(!s.ok){const h=await s.json().catch(()=>({error:s.statusText}));throw new Error(h.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let c="";try{for(;;){const{done:h,value:g}=await r.read();if(h)break;c+=a.decode(g,{stream:!0});const f=c.split(`
|
|
79
|
-
`);c=f.pop()??"";for(const p of f){if(!p.startsWith("data: "))continue;const v=p.slice(6).trim();if(v==="[DONE]")return;try{const _=JSON.parse(v);if(_.error)throw new Error(_.error);if(_.type==="tool_call"||_.type==="tool_result"){i==null||i({type:_.type,name:_.name??"",args:_.args,content:_.content});continue}_.token&&e(_.token)}catch(_){if(_ instanceof SyntaxError)continue;throw _}}}}finally{r.releaseLock()}}const C7=2e3,V_=[];function x7(){return V_.slice()}let rc=null;const ob=new Set,Du=new Map;let L0=null;function jp(){let o=ob.size;for(const e of Du.values())o+=e.size;return o}function L7(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function mL(){if(rc)return;const o=L7(),e=new WebSocket(o);rc=e,e.onmessage=t=>{try{const i=JSON.parse(t.data);if(i.type==="log"){const s={level:i.level,msg:i.msg,ts:i.ts};V_.length>=C7&&V_.shift(),V_.push(s),ob.forEach(r=>r(s))}const n=Du.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{rc===e&&(rc=null),jp()>0&&(L0=setTimeout(mL,3e3))},e.onerror=()=>{e.close()}}function ER(){L0&&clearTimeout(L0),rc==null||rc.close(),rc=null}function PR(o){return ob.add(o),jp()===1&&mL(),()=>{ob.delete(o),jp()===0&&ER()}}function Fa(o,e){return Du.has(o)||Du.set(o,new Set),Du.get(o).add(e),jp()===1&&mL(),()=>{var t;(t=Du.get(o))==null||t.delete(e),jp()===0&&ER()}}var k7=M('<button class="cancel svelte-1eh8v5n">Cancel</button>'),I7=M('<div class="backdrop svelte-1eh8v5n" role="presentation"></div> <div class="dialog svelte-1eh8v5n" role="dialog" aria-modal="true"><p class="svelte-1eh8v5n"> </p> <div class="actions svelte-1eh8v5n"><!> <button> </button></div></div>',1);function Kg(o,e){Vo(e,!0);let t=W(!1),i=W(""),n=W("Confirm"),s=W(!1),r=W(!1),a=null;function c(w,S){return k(i,w,!0),k(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),k(s,(S==null?void 0:S.danger)??!1,!0),k(r,(S==null?void 0:S.alert)??!1,!0),k(t,!0),new Promise(D=>a=D)}function h(w){k(t,!1),a==null||a(w),a=null}function g(w){u(t)&&(w.key==="Escape"&&h(!1),w.key==="Enter"&&h(!0))}var f={show:c},p=js();ds("keydown",vd,g);var v=vt(p);{var _=w=>{var S=I7(),D=vt(S),E=x(D,2),R=C(E),z=C(R),H=x(R,2),ee=C(H);{var X=xe=>{var pt=k7();J("click",pt,()=>h(!1)),T(xe,pt)};U(ee,xe=>{u(r)||xe(X)})}var fe=x(ee,2);let Le;var Ue=C(fe);G(()=>{$(z,u(i)),Le=Kt(fe,1,"svelte-1eh8v5n",null,Le,{danger:u(s)}),$(Ue,u(n))}),J("click",D,()=>h(!1)),J("click",fe,()=>h(!0)),T(w,S)};U(v,w=>{u(t)&&w(_)})}return T(o,p),jo(f)}Tr(["click"]);var D7=M('<div class="backdrop svelte-1vi95tb" role="presentation"></div> <div class="dialog svelte-1vi95tb" role="dialog" aria-modal="true"><p class="svelte-1vi95tb"> </p> <input class="svelte-1vi95tb"/> <div class="actions svelte-1vi95tb"><button class="cancel svelte-1vi95tb">Cancel</button> <button class="svelte-1vi95tb"> </button></div></div>',1);function E7(o,e){Vo(e,!0);let t=W(!1),i=W(""),n=W(""),s=W("OK"),r=W(""),a=null,c=W(void 0);function h(D,E){return k(i,D,!0),k(n,(E==null?void 0:E.placeholder)??"",!0),k(s,(E==null?void 0:E.confirm)??"OK",!0),k(r,(E==null?void 0:E.initial)??"",!0),k(t,!0),setTimeout(()=>{if(u(c)){u(c).focus();const R=u(c).value.length;u(c).setSelectionRange(R,R)}},0),new Promise(R=>a=R)}function g(){const D=u(r).trim();D&&(k(t,!1),a==null||a(D),a=null,k(r,""))}function f(){k(t,!1),a==null||a(null),a=null,k(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=js();ds("keydown",vd,p);var w=vt(_);{var S=D=>{var E=D7(),R=vt(E),z=x(R,2),H=C(z),ee=C(H),X=x(H,2);xs(X,pt=>k(c,pt),()=>u(c));var fe=x(X,2),Le=C(fe),Ue=x(Le,2),xe=C(Ue);G(pt=>{$(ee,u(i)),vn(X,"placeholder",u(n)),Ue.disabled=pt,$(xe,u(s))},[()=>!u(r).trim()]),J("click",R,f),J("keydown",X,pt=>{pt.key==="Enter"&&(pt.preventDefault(),g())}),ki(X,()=>u(r),pt=>k(r,pt)),J("click",Le,f),J("click",Ue,g),T(D,E)};U(w,D=>{u(t)&&D(S)})}return T(o,_),jo(v)}Tr(["click","keydown"]);function TR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var rS,PD;function P7(){if(PD)return rS;PD=1;function o(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach(ne=>{const me=A[ne],Qe=typeof me;(Qe==="object"||Qe==="function")&&!Object.isFrozen(me)&&o(me)}),A}class e{constructor(ne){ne.data===void 0&&(ne.data={}),this.data=ne.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(A){return A.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(A,...ne){const me=Object.create(null);for(const Qe in A)me[Qe]=A[Qe];return ne.forEach(function(Qe){for(const lt in Qe)me[lt]=Qe[lt]}),me}const n="</span>",s=A=>!!A.scope,r=(A,{prefix:ne})=>{if(A.startsWith("language:"))return A.replace("language:","language-");if(A.includes(".")){const me=A.split(".");return[`${ne}${me.shift()}`,...me.map((Qe,lt)=>`${Qe}${"_".repeat(lt+1)}`)].join(" ")}return`${ne}${A}`};class a{constructor(ne,me){this.buffer="",this.classPrefix=me.classPrefix,ne.walk(this)}addText(ne){this.buffer+=t(ne)}openNode(ne){if(!s(ne))return;const me=r(ne.scope,{prefix:this.classPrefix});this.span(me)}closeNode(ne){s(ne)&&(this.buffer+=n)}value(){return this.buffer}span(ne){this.buffer+=`<span class="${ne}">`}}const c=(A={})=>{const ne={children:[]};return Object.assign(ne,A),ne};class h{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(ne){this.top.children.push(ne)}openNode(ne){const me=c({scope:ne});this.add(me),this.stack.push(me)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(ne){return this.constructor._walk(ne,this.rootNode)}static _walk(ne,me){return typeof me=="string"?ne.addText(me):me.children&&(ne.openNode(me),me.children.forEach(Qe=>this._walk(ne,Qe)),ne.closeNode(me)),ne}static _collapse(ne){typeof ne!="string"&&ne.children&&(ne.children.every(me=>typeof me=="string")?ne.children=[ne.children.join("")]:ne.children.forEach(me=>{h._collapse(me)}))}}class g extends h{constructor(ne){super(),this.options=ne}addText(ne){ne!==""&&this.add(ne)}startScope(ne){this.openNode(ne)}endScope(){this.closeNode()}__addSublanguage(ne,me){const Qe=ne.root;me&&(Qe.scope=`language:${me}`),this.add(Qe)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(A){return A?typeof A=="string"?A:A.source:null}function p(A){return w("(?=",A,")")}function v(A){return w("(?:",A,")*")}function _(A){return w("(?:",A,")?")}function w(...A){return A.map(me=>f(me)).join("")}function S(A){const ne=A[A.length-1];return typeof ne=="object"&&ne.constructor===Object?(A.splice(A.length-1,1),ne):{}}function D(...A){return"("+(S(A).capture?"":"?:")+A.map(Qe=>f(Qe)).join("|")+")"}function E(A){return new RegExp(A.toString()+"|").exec("").length-1}function R(A,ne){const me=A&&A.exec(ne);return me&&me.index===0}const z=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(A,{joinWith:ne}){let me=0;return A.map(Qe=>{me+=1;const lt=me;let q=f(Qe),re="";for(;q.length>0;){const he=z.exec(q);if(!he){re+=q;break}re+=q.substring(0,he.index),q=q.substring(he.index+he[0].length),he[0][0]==="\\"&&he[1]?re+="\\"+String(Number(he[1])+lt):(re+=he[0],he[0]==="("&&me++)}return re}).map(Qe=>`(${Qe})`).join(ne)}const ee=/\b\B/,X="[a-zA-Z]\\w*",fe="[a-zA-Z_]\\w*",Le="\\b\\d+(\\.\\d+)?",Ue="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",xe="\\b(0b[01]+)",pt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",kt=(A={})=>{const ne=/^#![ ]*\//;return A.binary&&(A.begin=w(ne,/.*\b/,A.binary,/\b.*/)),i({scope:"meta",begin:ne,end:/$/,relevance:0,"on:begin":(me,Qe)=>{me.index!==0&&Qe.ignoreMatch()}},A)},dt={begin:"\\\\[\\s\\S]",relevance:0},oi={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[dt]},jt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[dt]},ti={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Ge=function(A,ne,me={}){const Qe=i({scope:"comment",begin:A,end:ne,contains:[]},me);Qe.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const lt=D("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Qe.contains.push({begin:w(/[ ]+/,"(",lt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Qe},Je=Ge("//","$"),Ae=Ge("/\\*","\\*/"),it=Ge("#","$"),Ht={scope:"number",begin:Le,relevance:0},Yt={scope:"number",begin:Ue,relevance:0},ci={scope:"number",begin:xe,relevance:0},Zt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[dt,{begin:/\[/,end:/\]/,relevance:0,contains:[dt]}]},Dt={scope:"title",begin:X,relevance:0},_i={scope:"title",begin:fe,relevance:0},ui={begin:"\\.\\s*"+fe,relevance:0};var Fi=Object.freeze({__proto__:null,APOS_STRING_MODE:oi,BACKSLASH_ESCAPE:dt,BINARY_NUMBER_MODE:ci,BINARY_NUMBER_RE:xe,COMMENT:Ge,C_BLOCK_COMMENT_MODE:Ae,C_LINE_COMMENT_MODE:Je,C_NUMBER_MODE:Yt,C_NUMBER_RE:Ue,END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(ne,me)=>{me.data._beginMatch=ne[1]},"on:end":(ne,me)=>{me.data._beginMatch!==ne[1]&&me.ignoreMatch()}})},HASH_COMMENT_MODE:it,IDENT_RE:X,MATCH_NOTHING_RE:ee,METHOD_GUARD:ui,NUMBER_MODE:Ht,NUMBER_RE:Le,PHRASAL_WORDS_MODE:ti,QUOTE_STRING_MODE:jt,REGEXP_MODE:Zt,RE_STARTERS_RE:pt,SHEBANG:kt,TITLE_MODE:Dt,UNDERSCORE_IDENT_RE:fe,UNDERSCORE_TITLE_MODE:_i});function In(A,ne){A.input[A.index-1]==="."&&ne.ignoreMatch()}function On(A,ne){A.className!==void 0&&(A.scope=A.className,delete A.className)}function Dn(A,ne){ne&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=In,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,A.relevance===void 0&&(A.relevance=0))}function En(A,ne){Array.isArray(A.illegal)&&(A.illegal=D(...A.illegal))}function Pi(A,ne){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function yn(A,ne){A.relevance===void 0&&(A.relevance=1)}const fn=(A,ne)=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const me=Object.assign({},A);Object.keys(A).forEach(Qe=>{delete A[Qe]}),A.keywords=me.keywords,A.begin=w(me.beforeMatch,p(me.begin)),A.starts={relevance:0,contains:[Object.assign(me,{endsParent:!0})]},A.relevance=0,delete me.beforeMatch},en=["of","and","for","in","not","or","if","then","parent","list","value"],Fn="keyword";function pn(A,ne,me=Fn){const Qe=Object.create(null);return typeof A=="string"?lt(me,A.split(" ")):Array.isArray(A)?lt(me,A):Object.keys(A).forEach(function(q){Object.assign(Qe,pn(A[q],ne,q))}),Qe;function lt(q,re){ne&&(re=re.map(he=>he.toLowerCase())),re.forEach(function(he){const et=he.split("|");Qe[et[0]]=[q,ln(et[0],et[1])]})}}function ln(A,ne){return ne?Number(ne):zn(A)?0:1}function zn(A){return en.includes(A.toLowerCase())}const cn={},tn=A=>{console.error(A)},Jn=(A,...ne)=>{console.log(`WARN: ${A}`,...ne)},Xe=(A,ne)=>{cn[`${A}/${ne}`]||(console.log(`Deprecated as of ${A}. ${ne}`),cn[`${A}/${ne}`]=!0)},bt=new Error;function ri(A,ne,{key:me}){let Qe=0;const lt=A[me],q={},re={};for(let he=1;he<=ne.length;he++)re[he+Qe]=lt[he],q[he+Qe]=!0,Qe+=E(ne[he-1]);A[me]=re,A[me]._emit=q,A[me]._multi=!0}function Ci(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw tn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),bt;if(typeof A.beginScope!="object"||A.beginScope===null)throw tn("beginScope must be object"),bt;ri(A,A.begin,{key:"beginScope"}),A.begin=H(A.begin,{joinWith:""})}}function Ti(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw tn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),bt;if(typeof A.endScope!="object"||A.endScope===null)throw tn("endScope must be object"),bt;ri(A,A.end,{key:"endScope"}),A.end=H(A.end,{joinWith:""})}}function mn(A){A.scope&&typeof A.scope=="object"&&A.scope!==null&&(A.beginScope=A.scope,delete A.scope)}function dn(A){mn(A),typeof A.beginScope=="string"&&(A.beginScope={_wrap:A.beginScope}),typeof A.endScope=="string"&&(A.endScope={_wrap:A.endScope}),Ci(A),Ti(A)}function Kn(A){function ne(re,he){return new RegExp(f(re),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(he?"g":""))}class me{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(he,et){et.position=this.position++,this.matchIndexes[this.matchAt]=et,this.regexes.push([et,he]),this.matchAt+=E(he)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const he=this.regexes.map(et=>et[1]);this.matcherRe=ne(H(he,{joinWith:"|"}),!0),this.lastIndex=0}exec(he){this.matcherRe.lastIndex=this.lastIndex;const et=this.matcherRe.exec(he);if(!et)return null;const ii=et.findIndex((ge,rt)=>rt>0&&ge!==void 0),_t=this.matchIndexes[ii];return et.splice(0,ii),Object.assign(et,_t)}}class Qe{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(he){if(this.multiRegexes[he])return this.multiRegexes[he];const et=new me;return this.rules.slice(he).forEach(([ii,_t])=>et.addRule(ii,_t)),et.compile(),this.multiRegexes[he]=et,et}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(he,et){this.rules.push([he,et]),et.type==="begin"&&this.count++}exec(he){const et=this.getMatcher(this.regexIndex);et.lastIndex=this.lastIndex;let ii=et.exec(he);if(this.resumingScanAtSamePosition()&&!(ii&&ii.index===this.lastIndex)){const _t=this.getMatcher(0);_t.lastIndex=this.lastIndex+1,ii=_t.exec(he)}return ii&&(this.regexIndex+=ii.position+1,this.regexIndex===this.count&&this.considerAll()),ii}}function lt(re){const he=new Qe;return re.contains.forEach(et=>he.addRule(et.begin,{rule:et,type:"begin"})),re.terminatorEnd&&he.addRule(re.terminatorEnd,{type:"end"}),re.illegal&&he.addRule(re.illegal,{type:"illegal"}),he}function q(re,he){const et=re;if(re.isCompiled)return et;[On,Pi,dn,fn].forEach(_t=>_t(re,he)),A.compilerExtensions.forEach(_t=>_t(re,he)),re.__beforeBegin=null,[Dn,En,yn].forEach(_t=>_t(re,he)),re.isCompiled=!0;let ii=null;return typeof re.keywords=="object"&&re.keywords.$pattern&&(re.keywords=Object.assign({},re.keywords),ii=re.keywords.$pattern,delete re.keywords.$pattern),ii=ii||/\w+/,re.keywords&&(re.keywords=pn(re.keywords,A.case_insensitive)),et.keywordPatternRe=ne(ii,!0),he&&(re.begin||(re.begin=/\B|\b/),et.beginRe=ne(et.begin),!re.end&&!re.endsWithParent&&(re.end=/\B|\b/),re.end&&(et.endRe=ne(et.end)),et.terminatorEnd=f(et.end)||"",re.endsWithParent&&he.terminatorEnd&&(et.terminatorEnd+=(re.end?"|":"")+he.terminatorEnd)),re.illegal&&(et.illegalRe=ne(re.illegal)),re.contains||(re.contains=[]),re.contains=[].concat(...re.contains.map(function(_t){return $n(_t==="self"?re:_t)})),re.contains.forEach(function(_t){q(_t,et)}),re.starts&&q(re.starts,he),et.matcher=lt(et),et}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=i(A.classNameAliases||{}),q(A)}function Pn(A){return A?A.endsWithParent||Pn(A.starts):!1}function $n(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map(function(ne){return i(A,{variants:null},ne)})),A.cachedVariants?A.cachedVariants:Pn(A)?i(A,{starts:A.starts?i(A.starts):null}):Object.isFrozen(A)?i(A):A}var Gn="11.11.1";class Hn extends Error{constructor(ne,me){super(ne),this.name="HTMLInjectionError",this.html=me}}const $e=t,Z=i,Be=Symbol("nomatch"),mt=7,xt=function(A){const ne=Object.create(null),me=Object.create(null),Qe=[];let lt=!0;const q="Could not find the language '{}', did you forget to load/include a language module?",re={disableAutodetect:!0,name:"Plain text",contains:[]};let he={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function et(F){return he.noHighlightRe.test(F)}function ii(F){let K=F.className+" ";K+=F.parentNode?F.parentNode.className:"";const Pe=he.languageDetectRe.exec(K);if(Pe){const Me=Qt(Pe[1]);return Me||(Jn(q.replace("{}",Pe[1])),Jn("Falling back to no-highlight mode for this block.",F)),Me?Pe[1]:"no-highlight"}return K.split(/\s+/).find(Me=>et(Me)||Qt(Me))}function _t(F,K,Pe){let Me="",qe="";typeof K=="object"?(Me=F,Pe=K.ignoreIllegals,qe=K.language):(Xe("10.7.0","highlight(lang, code, ...args) has been deprecated."),Xe("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),qe=F,Me=K),Pe===void 0&&(Pe=!0);const ke={code:Me,language:qe};ni("before:highlight",ke);const ht=ke.result?ke.result:ge(ke.language,ke.code,Pe);return ht.code=ke.code,ni("after:highlight",ht),ht}function ge(F,K,Pe,Me){const qe=Object.create(null);function ke(ce,Oe){return ce.keywords[Oe]}function ht(){if(!Ee.keywords){He.addText(ve);return}let ce=0;Ee.keywordPatternRe.lastIndex=0;let Oe=Ee.keywordPatternRe.exec(ve),at="";for(;Oe;){at+=ve.substring(ce,Oe.index);const tt=De.case_insensitive?Oe[0].toLowerCase():Oe[0],Ke=ke(Ee,tt);if(Ke){const[At,Bt]=Ke;if(He.addText(at),at="",qe[tt]=(qe[tt]||0)+1,qe[tt]<=mt&&(be+=Bt),At.startsWith("_"))at+=Oe[0];else{const un=De.classNameAliases[At]||At;we(Oe[0],un)}}else at+=Oe[0];ce=Ee.keywordPatternRe.lastIndex,Oe=Ee.keywordPatternRe.exec(ve)}at+=ve.substring(ce),He.addText(at)}function $t(){if(ve==="")return;let ce=null;if(typeof Ee.subLanguage=="string"){if(!ne[Ee.subLanguage]){He.addText(ve);return}ce=ge(Ee.subLanguage,ve,!0,Et[Ee.subLanguage]),Et[Ee.subLanguage]=ce._top}else ce=Mt(ve,Ee.subLanguage.length?Ee.subLanguage:null);Ee.relevance>0&&(be+=ce.relevance),He.__addSublanguage(ce._emitter,ce.language)}function ue(){Ee.subLanguage!=null?$t():ht(),ve=""}function we(ce,Oe){ce!==""&&(He.startScope(Oe),He.addText(ce),He.endScope())}function ut(ce,Oe){let at=1;const tt=Oe.length-1;for(;at<=tt;){if(!ce._emit[at]){at++;continue}const Ke=De.classNameAliases[ce[at]]||ce[at],At=Oe[at];Ke?we(At,Ke):(ve=At,ht(),ve=""),at++}}function Ne(ce,Oe){return ce.scope&&typeof ce.scope=="string"&&He.openNode(De.classNameAliases[ce.scope]||ce.scope),ce.beginScope&&(ce.beginScope._wrap?(we(ve,De.classNameAliases[ce.beginScope._wrap]||ce.beginScope._wrap),ve=""):ce.beginScope._multi&&(ut(ce.beginScope,Oe),ve="")),Ee=Object.create(ce,{parent:{value:Ee}}),Ee}function nt(ce,Oe,at){let tt=R(ce.endRe,at);if(tt){if(ce["on:end"]){const Ke=new e(ce);ce["on:end"](Oe,Ke),Ke.isMatchIgnored&&(tt=!1)}if(tt){for(;ce.endsParent&&ce.parent;)ce=ce.parent;return ce}}if(ce.endsWithParent)return nt(ce.parent,Oe,at)}function Ut(ce){return Ee.matcher.regexIndex===0?(ve+=ce[0],1):(gt=!0,0)}function V(ce){const Oe=ce[0],at=ce.rule,tt=new e(at),Ke=[at.__beforeBegin,at["on:begin"]];for(const At of Ke)if(At&&(At(ce,tt),tt.isMatchIgnored))return Ut(Oe);return at.skip?ve+=Oe:(at.excludeBegin&&(ve+=Oe),ue(),!at.returnBegin&&!at.excludeBegin&&(ve=Oe)),Ne(at,ce),at.returnBegin?0:Oe.length}function Y(ce){const Oe=ce[0],at=K.substring(ce.index),tt=nt(Ee,ce,at);if(!tt)return Be;const Ke=Ee;Ee.endScope&&Ee.endScope._wrap?(ue(),we(Oe,Ee.endScope._wrap)):Ee.endScope&&Ee.endScope._multi?(ue(),ut(Ee.endScope,ce)):Ke.skip?ve+=Oe:(Ke.returnEnd||Ke.excludeEnd||(ve+=Oe),ue(),Ke.excludeEnd&&(ve=Oe));do Ee.scope&&He.closeNode(),!Ee.skip&&!Ee.subLanguage&&(be+=Ee.relevance),Ee=Ee.parent;while(Ee!==tt.parent);return tt.starts&&Ne(tt.starts,ce),Ke.returnEnd?0:Oe.length}function Ie(){const ce=[];for(let Oe=Ee;Oe!==De;Oe=Oe.parent)Oe.scope&&ce.unshift(Oe.scope);ce.forEach(Oe=>He.openNode(Oe))}let Fe={};function Re(ce,Oe){const at=Oe&&Oe[0];if(ve+=ce,at==null)return ue(),0;if(Fe.type==="begin"&&Oe.type==="end"&&Fe.index===Oe.index&&at===""){if(ve+=K.slice(Oe.index,Oe.index+1),!lt){const tt=new Error(`0 width match regex (${F})`);throw tt.languageName=F,tt.badRule=Fe.rule,tt}return 1}if(Fe=Oe,Oe.type==="begin")return V(Oe);if(Oe.type==="illegal"&&!Pe){const tt=new Error('Illegal lexeme "'+at+'" for mode "'+(Ee.scope||"<unnamed>")+'"');throw tt.mode=Ee,tt}else if(Oe.type==="end"){const tt=Y(Oe);if(tt!==Be)return tt}if(Oe.type==="illegal"&&at==="")return ve+=`
|
|
81
|
-
`,1;if(Se>1e5&&Se>Oe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ve+=at,at.length}const De=Qt(F);if(!De)throw tn(q.replace("{}",F)),new Error('Unknown language: "'+F+'"');const Nt=Kn(De);let ot="",Ee=Me||Nt;const Et={},He=new he.__emitter(he);Ie();let ve="",be=0,ye=0,Se=0,gt=!1;try{if(De.__emitTokens)De.__emitTokens(K,He);else{for(Ee.matcher.considerAll();;){Se++,gt?gt=!1:Ee.matcher.considerAll(),Ee.matcher.lastIndex=ye;const ce=Ee.matcher.exec(K);if(!ce)break;const Oe=K.substring(ye,ce.index),at=Re(Oe,ce);ye=ce.index+at}Re(K.substring(ye))}return He.finalize(),ot=He.toHTML(),{language:F,value:ot,relevance:be,illegal:!1,_emitter:He,_top:Ee}}catch(ce){if(ce.message&&ce.message.includes("Illegal"))return{language:F,value:$e(K),illegal:!0,relevance:0,_illegalBy:{message:ce.message,index:ye,context:K.slice(ye-100,ye+100),mode:ce.mode,resultSoFar:ot},_emitter:He};if(lt)return{language:F,value:$e(K),illegal:!1,relevance:0,errorRaised:ce,_emitter:He,_top:Ee};throw ce}}function rt(F){const K={value:$e(F),illegal:!1,relevance:0,_top:re,_emitter:new he.__emitter(he)};return K._emitter.addText(F),K}function Mt(F,K){K=K||he.languages||Object.keys(ne);const Pe=rt(F),Me=K.filter(Qt).filter(Ot).map(ue=>ge(ue,F,!1));Me.unshift(Pe);const qe=Me.sort((ue,we)=>{if(ue.relevance!==we.relevance)return we.relevance-ue.relevance;if(ue.language&&we.language){if(Qt(ue.language).supersetOf===we.language)return 1;if(Qt(we.language).supersetOf===ue.language)return-1}return 0}),[ke,ht]=qe,$t=ke;return $t.secondBest=ht,$t}function Xt(F,K,Pe){const Me=K&&me[K]||Pe;F.classList.add("hljs"),F.classList.add(`language-${Me}`)}function si(F){let K=null;const Pe=ii(F);if(et(Pe))return;if(ni("before:highlightElement",{el:F,language:Pe}),F.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",F);return}if(F.children.length>0&&(he.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(F)),he.throwUnescapedHTML))throw new Hn("One of your code blocks includes unescaped HTML.",F.innerHTML);K=F;const Me=K.textContent,qe=Pe?_t(Me,{language:Pe,ignoreIllegals:!0}):Mt(Me);F.innerHTML=qe.value,F.dataset.highlighted="yes",Xt(F,Pe,qe.language),F.result={language:qe.language,re:qe.relevance,relevance:qe.relevance},qe.secondBest&&(F.secondBest={language:qe.secondBest.language,relevance:qe.secondBest.relevance}),ni("after:highlightElement",{el:F,result:qe,text:Me})}function ai(F){he=Z(he,F)}const Q=()=>{Ze(),Xe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _e(){Ze(),Xe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Te=!1;function Ze(){function F(){Ze()}if(document.readyState==="loading"){Te||window.addEventListener("DOMContentLoaded",F,!1),Te=!0;return}document.querySelectorAll(he.cssSelector).forEach(si)}function yt(F,K){let Pe=null;try{Pe=K(A)}catch(Me){if(tn("Language definition for '{}' could not be registered.".replace("{}",F)),lt)tn(Me);else throw Me;Pe=re}Pe.name||(Pe.name=F),ne[F]=Pe,Pe.rawDefinition=K.bind(null,A),Pe.aliases&&Vt(Pe.aliases,{languageName:F})}function Ye(F){delete ne[F];for(const K of Object.keys(me))me[K]===F&&delete me[K]}function wt(){return Object.keys(ne)}function Qt(F){return F=(F||"").toLowerCase(),ne[F]||ne[me[F]]}function Vt(F,{languageName:K}){typeof F=="string"&&(F=[F]),F.forEach(Pe=>{me[Pe.toLowerCase()]=K})}function Ot(F){const K=Qt(F);return K&&!K.disableAutodetect}function Wi(F){F["before:highlightBlock"]&&!F["before:highlightElement"]&&(F["before:highlightElement"]=K=>{F["before:highlightBlock"](Object.assign({block:K.el},K))}),F["after:highlightBlock"]&&!F["after:highlightElement"]&&(F["after:highlightElement"]=K=>{F["after:highlightBlock"](Object.assign({block:K.el},K))})}function hn(F){Wi(F),Qe.push(F)}function Bi(F){const K=Qe.indexOf(F);K!==-1&&Qe.splice(K,1)}function ni(F,K){const Pe=F;Qe.forEach(function(Me){Me[Pe]&&Me[Pe](K)})}function Vi(F){return Xe("10.7.0","highlightBlock will be removed entirely in v12.0"),Xe("10.7.0","Please use highlightElement now."),si(F)}Object.assign(A,{highlight:_t,highlightAuto:Mt,highlightAll:Ze,highlightElement:si,highlightBlock:Vi,configure:ai,initHighlighting:Q,initHighlightingOnLoad:_e,registerLanguage:yt,unregisterLanguage:Ye,listLanguages:wt,getLanguage:Qt,registerAliases:Vt,autoDetection:Ot,inherit:Z,addPlugin:hn,removePlugin:Bi}),A.debugMode=function(){lt=!1},A.safeMode=function(){lt=!0},A.versionString=Gn,A.regex={concat:w,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const F in Fi)typeof Fi[F]=="object"&&o(Fi[F]);return Object.assign(A,Fi),A},Wt=xt({});return Wt.newInstance=()=>xt({}),rS=Wt,Wt.HighlightJS=Wt,Wt.default=Wt,rS}var T7=P7();const rb=TR(T7),TD="[A-Za-z$_][0-9A-Za-z$_]*",M7=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],N7=["true","false","null","undefined","NaN","Infinity"],MR=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],NR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],RR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],A7=[].concat(RR,MR,NR);function AR(o){const e=o.regex,t=(Ge,{after:Je})=>{const Ae="</"+Ge[0].slice(1);return Ge.input.indexOf(Ae,Je)!==-1},i=TD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ge,Je)=>{const Ae=Ge[0].length+Ge.index,it=Ge.input[Ae];if(it==="<"||it===","){Je.ignoreMatch();return}it===">"&&(t(Ge,{after:Ae})||Je.ignoreMatch());let Ht;const Yt=Ge.input.substring(Ae);if(Ht=Yt.match(/^\s*=/)){Je.ignoreMatch();return}if((Ht=Yt.match(/^\s+extends\s+/))&&Ht.index===0){Je.ignoreMatch();return}}},a={$pattern:TD,keyword:M7,literal:N7,built_in:A7,"variable.language":R7},c="[0-9](_?[0-9])*",h=`\\.(${c})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${g})((${h})|\\.)?|(${h}))[eE][+-]?(${c})\\b`},{begin:`\\b(${g})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},E={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},R=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,{match:/\$\d+/},f];p.contains=R.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(R)});const z=[].concat(E,p.contains),H=z.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(z)}]),ee={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},X={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},fe={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...MR,...NR]}},Le={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ue={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ee],illegal:/%/},xe={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function pt(Ge){return e.concat("(?!",Ge.join("|"),")")}const kt={match:e.concat(/\b/,pt([...RR,"super","import"].map(Ge=>`${Ge}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},dt={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},oi={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ee]},jt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",ti={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(jt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ee]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:fe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Le,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,E,{match:/\$\d+/},f,fe,{scope:"attr",match:i+e.lookahead(":"),relevance:0},ti,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,o.REGEXP_MODE,{className:"function",begin:jt,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},Ue,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ee,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},dt,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ee]},kt,xe,X,oi,{match:/\$[(.]/}]}}function _L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Bh=_L();function OR(o){Bh=o}var td={exec:()=>null};function lu(o){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),n=e[i];return n||(n=o(i),e[i]=n),n}}function Ln(o,e=""){let t=typeof o=="string"?o:o.source,i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(ao.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var O7=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),ao={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o=>new RegExp(`^( {0,3}${o})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:lu(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:lu(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:lu(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:lu(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:lu(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:lu(o=>new RegExp(`^ {0,${o}}>`))},F7=/^(?:[ \t]*(?:\n|$))+/,H7=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,W7=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,km=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,B7=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,vL=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,FR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,HR=Ln(FR).replace(/bull/g,vL).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),z7=Ln(FR).replace(/bull/g,vL).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),bL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,V7=/^[^\n]+/,yL=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,j7=Ln(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",yL).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),U7=Ln(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,vL).getRegex(),Qy="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",wL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,$7=Ln("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",wL).replace("tag",Qy).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),WR=Ln(bL).replace("hr",km).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Qy).getRegex(),q7=Ln(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",WR).getRegex(),SL={blockquote:q7,code:H7,def:j7,fences:W7,heading:B7,hr:km,html:$7,lheading:HR,list:U7,newline:F7,paragraph:WR,table:td,text:V7},MD=Ln("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",km).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Qy).getRegex(),K7={...SL,lheading:z7,table:MD,paragraph:Ln(bL).replace("hr",km).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",MD).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Qy).getRegex()},G7={...SL,html:Ln(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",wL).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:td,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ln(bL).replace("hr",km).replace("heading",` *#{1,6} *[^
|
|
82
|
-
]`).replace("lheading",HR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Z7=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,X7=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,BR=/^( {2,}|\\)\n(?!\s*$)/,Y7=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Gg=/[\p{P}\p{S}]/u,ew=/[\s\p{P}\p{S}]/u,CL=/[^\s\p{P}\p{S}]/u,J7=Ln(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,ew).getRegex(),zR=/(?!~)[\p{P}\p{S}]/u,Q7=/(?!~)[\s\p{P}\p{S}]/u,eq=/(?:[^\s\p{P}\p{S}]|~)/u,tq=Ln(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",O7?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),VR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,iq=Ln(VR,"u").replace(/punct/g,Gg).getRegex(),nq=Ln(VR,"u").replace(/punct/g,zR).getRegex(),jR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",sq=Ln(jR,"gu").replace(/notPunctSpace/g,CL).replace(/punctSpace/g,ew).replace(/punct/g,Gg).getRegex(),oq=Ln(jR,"gu").replace(/notPunctSpace/g,eq).replace(/punctSpace/g,Q7).replace(/punct/g,zR).getRegex(),rq=Ln("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,CL).replace(/punctSpace/g,ew).replace(/punct/g,Gg).getRegex(),aq=Ln(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Gg).getRegex(),lq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",cq=Ln(lq,"gu").replace(/notPunctSpace/g,CL).replace(/punctSpace/g,ew).replace(/punct/g,Gg).getRegex(),dq=Ln(/\\(punct)/,"gu").replace(/punct/g,Gg).getRegex(),hq=Ln(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),uq=Ln(wL).replace("(?:-->|$)","-->").getRegex(),gq=Ln("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",uq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ab=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,fq=Ln(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",ab).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),UR=Ln(/^!?\[(label)\]\[(ref)\]/).replace("label",ab).replace("ref",yL).getRegex(),$R=Ln(/^!?\[(ref)\](?:\[\])?/).replace("ref",yL).getRegex(),pq=Ln("reflink|nolink(?!\\()","g").replace("reflink",UR).replace("nolink",$R).getRegex(),ND=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,xL={_backpedal:td,anyPunctuation:dq,autolink:hq,blockSkip:tq,br:BR,code:X7,del:td,delLDelim:td,delRDelim:td,emStrongLDelim:iq,emStrongRDelimAst:sq,emStrongRDelimUnd:rq,escape:Z7,link:fq,nolink:$R,punctuation:J7,reflink:UR,reflinkSearch:pq,tag:gq,text:Y7,url:td},mq={...xL,link:Ln(/^!?\[(label)\]\((.*?)\)/).replace("label",ab).getRegex(),reflink:Ln(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ab).getRegex()},k0={...xL,emStrongRDelimAst:oq,emStrongLDelim:nq,delLDelim:aq,delRDelim:cq,url:Ln(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ND).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Ln(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ND).getRegex()},_q={...k0,br:Ln(BR).replace("{2,}","*").getRegex(),text:Ln(k0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},f_={normal:SL,gfm:K7,pedantic:G7},mf={normal:xL,gfm:k0,breaks:_q,pedantic:mq},vq={"&":"&","<":"<",">":">",'"':""","'":"'"},RD=o=>vq[o];function wa(o,e){if(e){if(ao.escapeTest.test(o))return o.replace(ao.escapeReplace,RD)}else if(ao.escapeTestNoEncode.test(o))return o.replace(ao.escapeReplaceNoEncode,RD);return o}function AD(o){try{o=encodeURI(o).replace(ao.percentDecode,"%")}catch{return null}return o}function OD(o,e){var s;let t=o.replace(ao.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(ao.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!((s=i.at(-1))!=null&&s.trim())&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;n<i.length;n++)i[n]=i[n].trim().replace(ao.slashPipe,"|");return i}function jl(o,e,t){let i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function FD(o){let e=o.split(`
|
|
83
|
-
`),t=e.length-1;for(;t>=0&&ao.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
-
`)}function bq(o,e){if(o.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<o.length;i++)if(o[i]==="\\")i++;else if(o[i]===e[0])t++;else if(o[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function yq(o,e=0){let t=e,i="";for(let n of o)if(n===" "){let s=4-t%4;i+=" ".repeat(s),t+=s}else i+=n,t++;return i}function HD(o,e,t,i,n){let s=e.href,r=e.title||null,a=o[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let c={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,c}function wq(o,e,t){let i=o.match(t.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(`
|
|
85
|
-
`).map(s=>{let r=s.match(t.other.beginningSpace);if(r===null)return s;let[a]=r;return a.length>=n.length?s.slice(n.length):s}).join(`
|
|
86
|
-
`)}var lb=class{constructor(o){Ui(this,"options");Ui(this,"rules");Ui(this,"lexer");this.options=o||Bh}space(o){let e=this.rules.block.newline.exec(o);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(o){let e=this.rules.block.code.exec(o);if(e){let t=this.options.pedantic?e[0]:FD(e[0]),i=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:i}}}fences(o){let e=this.rules.block.fences.exec(o);if(e){let t=e[0],i=wq(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(o){let e=this.rules.block.heading.exec(o);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=jl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:jl(e[0],`
|
|
87
|
-
`),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(o){let e=this.rules.block.hr.exec(o);if(e)return{type:"hr",raw:jl(e[0],`
|
|
88
|
-
`)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=jl(e[0],`
|
|
89
|
-
`).split(`
|
|
90
|
-
`),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],c;for(c=0;c<t.length;c++)if(this.rules.other.blockquoteStart.test(t[c]))a.push(t[c]),r=!0;else if(!r)a.push(t[c]);else break;t=t.slice(c);let h=a.join(`
|
|
91
|
-
`),g=h.replace(this.rules.other.blockquoteSetextReplace,`
|
|
92
|
-
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
|
|
93
|
-
${h}`:h,n=n?`${n}
|
|
94
|
-
${g}`:g;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(g,s,!0),this.lexer.state.top=f,t.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let v=p,_=v.raw+`
|
|
95
|
-
`+t.join(`
|
|
96
|
-
`),w=this.blockquote(_);s[s.length-1]=w,i=i.substring(0,i.length-v.raw.length)+w.raw,n=n.substring(0,n.length-v.text.length)+w.text;break}else if((p==null?void 0:p.type)==="list"){let v=p,_=v.raw+`
|
|
97
|
-
`+t.join(`
|
|
98
|
-
`),w=this.list(_);s[s.length-1]=w,i=i.substring(0,i.length-p.raw.length)+w.raw,n=n.substring(0,n.length-v.raw.length)+w.raw,t=_.substring(s.at(-1).raw.length).split(`
|
|
99
|
-
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(o){let e=this.rules.block.list.exec(o);if(e){let t=e[1].trim(),i=t.length>1,n={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),r=!1;for(;o;){let c=!1,h="",g="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;h=e[0],o=o.substring(h.length);let f=yq(e[2].split(`
|
|
100
|
-
`,1)[0],e[1].length),p=o.split(`
|
|
101
|
-
`,1)[0],v=!f.trim(),_=0;if(this.options.pedantic?(_=2,g=f.trimStart()):v?_=e[1].length+1:(_=f.search(this.rules.other.nonSpaceChar),_=_>4?1:_,g=f.slice(_),_+=e[1].length),v&&this.rules.other.blankLine.test(p)&&(h+=p+`
|
|
102
|
-
`,o=o.substring(p.length+1),c=!0),!c){let w=this.rules.other.nextBulletRegex(_),S=this.rules.other.hrRegex(_),D=this.rules.other.fencesBeginRegex(_),E=this.rules.other.headingBeginRegex(_),R=this.rules.other.htmlBeginRegex(_),z=this.rules.other.blockquoteBeginRegex(_);for(;o;){let H=o.split(`
|
|
103
|
-
`,1)[0],ee;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),ee=p):ee=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||E.test(p)||R.test(p)||z.test(p)||w.test(p)||S.test(p))break;if(ee.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
|
|
104
|
-
`+ee.slice(_);else{if(v||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(f)||E.test(f)||S.test(f))break;g+=`
|
|
105
|
-
`+p}v=!p.trim(),h+=H+`
|
|
106
|
-
`,o=o.substring(H.length+1),f=ee.slice(_)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(r=!0)),n.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),n.raw+=h}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let c of n.items){this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]);let h=c.tokens[0];if(c.task&&((h==null?void 0:h.type)==="text"||(h==null?void 0:h.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),h.raw=h.raw.replace(this.rules.other.listReplaceTask,""),h.text=h.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let g=this.rules.other.listTaskCheckbox.exec(c.raw);if(g){let f={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};c.checked=f.checked,n.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}else c.task&&(c.task=!1);if(!n.loose){let g=c.tokens.filter(p=>p.type==="space"),f=g.length>0&&g.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=f}}if(n.loose)for(let c of n.items){c.loose=!0;for(let h of c.tokens)h.type==="text"&&(h.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=FD(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(o){let e=this.rules.block.def.exec(o);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:jl(e[0],`
|
|
107
|
-
`),href:i,title:n}}}table(o){var r;let e=this.rules.block.table.exec(o);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=OD(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(r=e[3])!=null&&r.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
108
|
-
`):[],s={type:"table",raw:jl(e[0],`
|
|
109
|
-
`),header:[],align:[],rows:[]};if(t.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?s.align.push("right"):this.rules.other.tableAlignCenter.test(a)?s.align.push("center"):this.rules.other.tableAlignLeft.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<t.length;a++)s.header.push({text:t[a],tokens:this.lexer.inline(t[a]),header:!0,align:s.align[a]});for(let a of n)s.rows.push(OD(a,s.header.length).map((c,h)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:s.align[h]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:jl(e[0],`
|
|
110
|
-
`),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(o){let e=this.rules.block.paragraph.exec(o);if(e){let t=e[1].charAt(e[1].length-1)===`
|
|
111
|
-
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(o){let e=this.rules.block.text.exec(o);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(o){let e=this.rules.inline.escape.exec(o);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(o){let e=this.rules.inline.tag.exec(o);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(o){let e=this.rules.inline.link.exec(o);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=jl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=bq(e[2],"()");if(s===-2)return;if(s>-1){let r=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],n=s[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?i=i.slice(1):i=i.slice(1,-1)),HD(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(o,e){let t;if((t=this.rules.inline.reflink.exec(o))||(t=this.rules.inline.nolink.exec(o))){let i=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return HD(t,n,t[0],this.lexer,this.rules)}}emStrong(o,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(o);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,c=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*o.length+n);(i=h.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(r=[...s].length,i[3]||i[4]){a+=r;continue}else if((i[5]||i[6])&&n%3&&!((n+r)%3)){c+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+c);let g=[...i[0]][0].length,f=o.slice(0,n+i.index+g+r);if(Math.min(n,r)%2){let v=f.slice(1,-1);return{type:"em",raw:f,text:v,tokens:this.lexer.inlineTokens(v)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(o){let e=this.rules.inline.code.exec(o);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(o){let e=this.rules.inline.br.exec(o);if(e)return{type:"br",raw:e[0]}}del(o,e,t=""){let i=this.rules.inline.delLDelim.exec(o);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*o.length+n);(i=c.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(r=[...s].length,r!==n))continue;if(i[3]||i[4]){a+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a);let h=[...i[0]][0].length,g=o.slice(0,n+i.index+h+r),f=g.slice(n,-n);return{type:"del",raw:g,text:f,tokens:this.lexer.inlineTokens(f)}}}}autolink(o){let e=this.rules.inline.autolink.exec(o);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(o){var t;let e;if(e=this.rules.inline.url.exec(o)){let i,n;if(e[2]==="@")i=e[0],n="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(o){let e=this.rules.inline.text.exec(o);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},qr=class I0{constructor(e){Ui(this,"tokens");Ui(this,"options");Ui(this,"state");Ui(this,"inlineQueue");Ui(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Bh,this.options.tokenizer=this.options.tokenizer||new lb,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:ao,block:f_.normal,inline:mf.normal};this.options.pedantic?(t.block=f_.pedantic,t.inline=mf.pedantic):this.options.gfm&&(t.block=f_.gfm,this.options.breaks?t.inline=mf.breaks:t.inline=mf.gfm),this.tokenizer.rules=t}static get rules(){return{block:f_,inline:mf}}static lex(e,t){return new I0(t).lex(e)}static lexInline(e,t){return new I0(t).inlineTokens(e)}lex(e){e=e.replace(ao.carriageReturn,`
|
|
112
|
-
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){var s,r,a;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(ao.tabCharGlobal," ").replace(ao.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let c;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(g=>(c=g.call({lexer:this},e,t))?(e=e.substring(c.raw.length),t.push(c),!0):!1))continue;if(c=this.tokenizer.space(e)){e=e.substring(c.raw.length);let g=t.at(-1);c.raw.length===1&&g!==void 0?g.raw+=`
|
|
113
|
-
`:t.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
|
|
114
|
-
`)?"":`
|
|
115
|
-
`)+c.raw,g.text+=`
|
|
116
|
-
`+c.text,this.inlineQueue.at(-1).src=g.text):t.push(c);continue}if(c=this.tokenizer.fences(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.heading(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.hr(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.blockquote(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.list(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.html(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.def(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
|
|
117
|
-
`)?"":`
|
|
118
|
-
`)+c.raw,g.text+=`
|
|
119
|
-
`+c.raw,this.inlineQueue.at(-1).src=g.text):this.tokens.links[c.tag]||(this.tokens.links[c.tag]={href:c.href,title:c.title},t.push(c));continue}if(c=this.tokenizer.table(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.lheading(e)){e=e.substring(c.raw.length),t.push(c);continue}let h=e;if((a=this.options.extensions)!=null&&a.startBlock){let g=1/0,f=e.slice(1),p;this.options.extensions.startBlock.forEach(v=>{p=v.call({lexer:this},f),typeof p=="number"&&p>=0&&(g=Math.min(g,p))}),g<1/0&&g>=0&&(h=e.substring(0,g+1))}if(this.state.top&&(c=this.tokenizer.paragraph(h))){let g=t.at(-1);i&&(g==null?void 0:g.type)==="paragraph"?(g.raw+=(g.raw.endsWith(`
|
|
120
|
-
`)?"":`
|
|
121
|
-
`)+c.raw,g.text+=`
|
|
122
|
-
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.text):t.push(c),i=h.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
|
|
123
|
-
`)?"":`
|
|
124
|
-
`)+c.raw,g.text+=`
|
|
125
|
-
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.text):t.push(c);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){var h,g,f,p,v;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let _=Object.keys(this.tokens.links);if(_.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)_.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=n[2]?n[2].length:0,i=i.slice(0,n.index+s)+"["+"a".repeat(n[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=((g=(h=this.options.hooks)==null?void 0:h.emStrongMask)==null?void 0:g.call({lexer:this},i))??i;let r=!1,a="",c=1/0;for(;e;){if(e.length<c)c=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let _;if((p=(f=this.options.extensions)==null?void 0:f.inline)!=null&&p.some(S=>(_=S.call({lexer:this},e,t))?(e=e.substring(_.raw.length),t.push(_),!0):!1))continue;if(_=this.tokenizer.escape(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.tag(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.link(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(_.raw.length);let S=t.at(-1);_.type==="text"&&(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);continue}if(_=this.tokenizer.emStrong(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.codespan(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.br(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.del(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.autolink(e)){e=e.substring(_.raw.length),t.push(_);continue}if(!this.state.inLink&&(_=this.tokenizer.url(e))){e=e.substring(_.raw.length),t.push(_);continue}let w=e;if((v=this.options.extensions)!=null&&v.startInline){let S=1/0,D=e.slice(1),E;this.options.extensions.startInline.forEach(R=>{E=R.call({lexer:this},D),typeof E=="number"&&E>=0&&(S=Math.min(S,E))}),S<1/0&&S>=0&&(w=e.substring(0,S+1))}if(_=this.tokenizer.inlineText(w)){e=e.substring(_.raw.length),_.raw.slice(-1)!=="_"&&(a=_.raw.slice(-1)),r=!0;let S=t.at(-1);(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},cb=class{constructor(o){Ui(this,"options");Ui(this,"parser");this.options=o||Bh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(ao.notSpaceStart))==null?void 0:s[0],n=o.replace(ao.endingNewline,"")+`
|
|
126
|
-
`;return i?'<pre><code class="language-'+wa(i)+'">'+(t?n:wa(n,!0))+`</code></pre>
|
|
127
|
-
`:"<pre><code>"+(t?n:wa(n,!0))+`</code></pre>
|
|
128
|
-
`}blockquote({tokens:o}){return`<blockquote>
|
|
129
|
-
${this.parser.parse(o)}</blockquote>
|
|
130
|
-
`}html({text:o}){return o}def(o){return""}heading({tokens:o,depth:e}){return`<h${e}>${this.parser.parseInline(o)}</h${e}>
|
|
131
|
-
`}hr(o){return`<hr>
|
|
132
|
-
`}list(o){let e=o.ordered,t=o.start,i="";for(let r=0;r<o.items.length;r++){let a=o.items[r];i+=this.listitem(a)}let n=e?"ol":"ul",s=e&&t!==1?' start="'+t+'"':"";return"<"+n+s+`>
|
|
133
|
-
`+i+"</"+n+`>
|
|
134
|
-
`}listitem(o){return`<li>${this.parser.parse(o.tokens)}</li>
|
|
135
|
-
`}checkbox({checked:o}){return"<input "+(o?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>
|
|
136
|
-
`}table(o){let e="",t="";for(let n=0;n<o.header.length;n++)t+=this.tablecell(o.header[n]);e+=this.tablerow({text:t});let i="";for(let n=0;n<o.rows.length;n++){let s=o.rows[n];t="";for(let r=0;r<s.length;r++)t+=this.tablecell(s[r]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
137
|
-
<thead>
|
|
138
|
-
`+e+`</thead>
|
|
139
|
-
`+i+`</table>
|
|
140
|
-
`}tablerow({text:o}){return`<tr>
|
|
141
|
-
${o}</tr>
|
|
142
|
-
`}tablecell(o){let e=this.parser.parseInline(o.tokens),t=o.header?"th":"td";return(o.align?`<${t} align="${o.align}">`:`<${t}>`)+e+`</${t}>
|
|
143
|
-
`}strong({tokens:o}){return`<strong>${this.parser.parseInline(o)}</strong>`}em({tokens:o}){return`<em>${this.parser.parseInline(o)}</em>`}codespan({text:o}){return`<code>${wa(o,!0)}</code>`}br(o){return"<br>"}del({tokens:o}){return`<del>${this.parser.parseInline(o)}</del>`}link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t),n=AD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+wa(e)+'"'),s+=">"+i+"</a>",s}image({href:o,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let n=AD(o);if(n===null)return wa(t);o=n;let s=`<img src="${o}" alt="${wa(t)}"`;return e&&(s+=` title="${wa(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:wa(o.text)}},LL=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},Kr=class D0{constructor(e){Ui(this,"options");Ui(this,"renderer");Ui(this,"textRenderer");this.options=e||Bh,this.options.renderer=this.options.renderer||new cb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new LL}static parse(e,t){return new D0(t).parse(e)}static parseInline(e,t){return new D0(t).parseInline(e)}parse(e){var i,n;this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let r=e[s];if((n=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&n[r.type]){let c=r,h=this.options.extensions.renderers[c.type].call({parser:this},c);if(h!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){t+=h||"";continue}}let a=r;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return t}parseInline(e,t=this.renderer){var n,s;this.renderer.parser=this;let i="";for(let r=0;r<e.length;r++){let a=e[r];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let h=this.options.extensions.renderers[a.type].call({parser:this},a);if(h!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=h||"";continue}}let c=a;switch(c.type){case"escape":{i+=t.text(c);break}case"html":{i+=t.html(c);break}case"link":{i+=t.link(c);break}case"image":{i+=t.image(c);break}case"checkbox":{i+=t.checkbox(c);break}case"strong":{i+=t.strong(c);break}case"em":{i+=t.em(c);break}case"codespan":{i+=t.codespan(c);break}case"br":{i+=t.br(c);break}case"del":{i+=t.del(c);break}case"text":{i+=t.text(c);break}default:{let h='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(h),"";throw new Error(h)}}}return i}},p_,Rf=(p_=class{constructor(o){Ui(this,"options");Ui(this,"block");this.options=o||Bh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?qr.lex:qr.lexInline}provideParser(o=this.block){return o?Kr.parse:Kr.parseInline}},Ui(p_,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Ui(p_,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),p_),Sq=class{constructor(...o){Ui(this,"defaults",_L());Ui(this,"options",this.setOptions);Ui(this,"parse",this.parseMarkdown(!0));Ui(this,"parseInline",this.parseMarkdown(!1));Ui(this,"Parser",Kr);Ui(this,"Renderer",cb);Ui(this,"TextRenderer",LL);Ui(this,"Lexer",qr);Ui(this,"Tokenizer",lb);Ui(this,"Hooks",Rf);this.use(...o)}walkTokens(o,e){var i,n;let t=[];for(let s of o)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let r=s;for(let a of r.header)t=t.concat(this.walkTokens(a.tokens,e));for(let a of r.rows)for(let c of a)t=t.concat(this.walkTokens(c.tokens,e));break}case"list":{let r=s;t=t.concat(this.walkTokens(r.items,e));break}default:{let r=s;(n=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&n[r.type]?this.defaults.extensions.childTokens[r.type].forEach(a=>{let c=r[a].flat(1/0);t=t.concat(this.walkTokens(c,e))}):r.tokens&&(t=t.concat(this.walkTokens(r.tokens,e)))}}return t}use(...o){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return o.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let s=e.renderers[n.name];s?e.renderers[n.name]=function(...r){let a=n.renderer.apply(this,r);return a===!1&&(a=s.apply(this,r)),a}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[n.level];s?s.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),t.renderer){let n=this.defaults.renderer||new cb(this.defaults);for(let s in t.renderer){if(!(s in n))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let r=s,a=t.renderer[r],c=n[r];n[r]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new lb(this.defaults);for(let s in t.tokenizer){if(!(s in n))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let r=s,a=t.tokenizer[r],c=n[r];n[r]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new Rf;for(let s in t.hooks){if(!(s in n))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let r=s,a=t.hooks[r],c=n[r];Rf.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&Rf.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await a.call(n,h);return c.call(n,f)})();let g=a.call(n,h);return c.call(n,g)}:n[r]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await a.apply(n,h);return f===!1&&(f=await c.apply(n,h)),f})();let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}i.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(r){let a=[];return a.push(s.call(this,r)),n&&(a=a.concat(n.call(this,r))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(o){return this.defaults={...this.defaults,...o},this}lexer(o,e){return qr.lex(o,e??this.defaults)}parser(o,e){return Kr.parse(o,e??this.defaults)}parseMarkdown(o){return(e,t)=>{let i={...t},n={...this.defaults,...i},s=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=o),n.async)return(async()=>{let r=n.hooks?await n.hooks.preprocess(e):e,a=await(n.hooks?await n.hooks.provideLexer(o):o?qr.lex:qr.lexInline)(r,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let h=await(n.hooks?await n.hooks.provideParser(o):o?Kr.parse:Kr.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(h):h})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?qr.lex:qr.lexInline)(e,n);n.hooks&&(r=n.hooks.processAllTokens(r)),n.walkTokens&&this.walkTokens(r,n.walkTokens);let a=(n.hooks?n.hooks.provideParser(o):o?Kr.parse:Kr.parseInline)(r,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(r){return s(r)}}}onError(o,e){return t=>{if(t.message+=`
|
|
144
|
-
Please report this to https://github.com/markedjs/marked.`,o){let i="<p>An error occurred:</p><pre>"+wa(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Dh=new Sq;function Bn(o,e){return Dh.parse(o,e)}Bn.options=Bn.setOptions=function(o){return Dh.setOptions(o),Bn.defaults=Dh.defaults,OR(Bn.defaults),Bn};Bn.getDefaults=_L;Bn.defaults=Bh;Bn.use=function(...o){return Dh.use(...o),Bn.defaults=Dh.defaults,OR(Bn.defaults),Bn};Bn.walkTokens=function(o,e){return Dh.walkTokens(o,e)};Bn.parseInline=Dh.parseInline;Bn.Parser=Kr;Bn.parser=Kr.parse;Bn.Renderer=cb;Bn.TextRenderer=LL;Bn.Lexer=qr;Bn.lexer=qr.lex;Bn.Tokenizer=lb;Bn.Hooks=Rf;Bn.parse=Bn;Bn.options;Bn.setOptions;Bn.use;Bn.walkTokens;Bn.parseInline;Kr.parse;qr.lex;var Cq=M('<span class="chat-model svelte-10ayso4"><!></span>'),xq=M('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),Lq=M('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),kq=M('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),Iq=M('<ul class="history-list svelte-10ayso4"></ul>'),Dq=M('<div class="history-panel svelte-10ayso4"><div class="history-hdr svelte-10ayso4"><span class="svelte-10ayso4">Conversations</span> <button class="new-conv-btn svelte-10ayso4">+ New</button></div> <!></div>'),Eq=M('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),Pq=M('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Tq=M('<button class="chip svelte-10ayso4"> </button>'),Mq=M('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Nq=M('<div class="msg-content user-text svelte-10ayso4"> </div>'),WD=M('<span class="tool-args svelte-10ayso4"> </span>'),BD=M('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),zD=M('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),VD=M('<div class="tool-events svelte-10ayso4"></div>'),jD=M('<div class="text-block svelte-10ayso4"></div>'),Rq=M('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Aq=M('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Oq=M('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Fq=M('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Hq=M('<button class="expand-btn svelte-10ayso4"> </button>'),Wq=M('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span> <div class="code-actions svelte-10ayso4"><button class="svelte-10ayso4">Copy</button> <!></div></div> <div><pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre> <!></div></div>'),Bq=M('<!> <div class="msg-content svelte-10ayso4"></div>',1),zq=M("<div><!></div>"),Vq=M('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),jq=M('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span></div> <pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre></div>'),Uq=M('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),$q=M('<div class="chat-error svelte-10ayso4"> </div>'),qq=M('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),Kq=M('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),Gq=M('<span class="file-chip svelte-10ayso4"><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4" title="Remove from context">×</button></span>'),Zq=M('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),Xq=M('<button class="send-btn svelte-10ayso4">↑</button>'),Yq=M('<option class="svelte-10ayso4"> </option>'),Jq=M('<select class="model-select svelte-10ayso4"></select>'),Qq=M('<span class="model-name svelte-10ayso4"> </span>'),eK=M('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),tK=M('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),iK=M('<p class="info-status svelte-10ayso4">Loading…</p>'),nK=M('<p class="info-status info-err svelte-10ayso4"> </p>'),sK=M('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),oK=M('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),rK=M('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),aK=M('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),lK=M('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),cK=M('<div class="running-model svelte-10ayso4"> </div>'),dK=M('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),hK=M('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),uK=M('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),gK=M('<div class="info-overlay svelte-10ayso4"><div class="info-popup svelte-10ayso4"><div class="info-popup-header svelte-10ayso4"><span class="svelte-10ayso4"> </span> <button title="Close" class="svelte-10ayso4">✕</button></div> <div class="info-popup-body svelte-10ayso4"><!></div></div></div>'),fK=M('<div class="chat-panel svelte-10ayso4"><div class="chat-header svelte-10ayso4"><span class="chat-title svelte-10ayso4">AI Assistant</span> <!> <button title="Conversation history"><svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-10ayso4"><circle cx="8" cy="8" r="6" class="svelte-10ayso4"></circle><polyline points="8,5 8,8 10,10" class="svelte-10ayso4"></polyline></svg></button> <!></div> <!> <div class="messages svelte-10ayso4"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-10ayso4"><label title="Include she API reference in context" class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> she API</label> <label title="Let the AI query MQTT state, sheDB documents and Matter devices on demand. Disables real-time streaming." class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> 😎 Agent</label> <span class="req-size svelte-10ayso4"> <!></span></div> <div class="files-row svelte-10ayso4"><!> <!> <button class="add-file-btn svelte-10ayso4" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-10ayso4"/></div> <div><div><textarea rows="3" class="svelte-10ayso4"></textarea></div> <!></div> <!></div> <!>',1);function pK(o,e){Vo(e,!0),rb.registerLanguage("javascript",AR),Bn.use({breaks:!0,gfm:!0});let t=vg(e,"currentScript",3,null),i=vg(e,"extraFiles",31,()=>gi([])),n=W(gi([])),s=W(null),r=W(""),a=W(!1),c=W(""),h=W(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=W(gi(localStorage.getItem(g)??f())),v=W(gi([])),_=W(!1);Wn(()=>{localStorage.setItem(g,u(p))});let w=W(gi([])),S=W(gi(localStorage.getItem("she:selectedModel")??"")),D=W(null);const E=st(()=>{var V;return u(D)!==null&&((V=t())==null?void 0:V.path)===u(D)});let R=W(gi(new Set)),z=W(!1),H=W(null),ee=W(!1),X=W(""),fe=W(0),Le=null,Ue=W(0);const xe=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…","[core] solving P=NP as a warmup…","[gpu] burning GPU cycles for warmth…","[mem] compressing knowledge into tensors…","[net] asking my inner voice (busy)…","[fs] mining opinions from the void…","[core] summoning attention heads…","[io] tokenizing the vibes…","[sched] hallucinating thoughtfully…","[net] traversing the knowledge graph…","[model] manifesting an answer…"];let pt=W(!0),kt=W(!0),dt=W(!0),oi=W(!1),jt,ti=W(gi([])),Ge,Je;const Ae=st(()=>({apiref:u(pt),tools:u(kt)})),it=st(()=>{var V;return((V=u(h))==null?void 0:V.configured)??!1}),Ht=st(()=>{var V;return u(it)||!!((V=u(h))!=null&&V.provider)&&!!u(S)}),Yt=st(()=>u(fe)+new TextEncoder().encode(u(r)).length),ci=st(()=>u(dt)?t():null);Wn(()=>{var Y;const V=(Y=t())==null?void 0:Y.path;k(dt,!0),u(D)!==null&&V!==u(D)&&k(D,null)}),Wn(()=>{var Fe;if(!u(E))return;const V=u(n).at(-1);if(!V||V.role!=="assistant")return;const Ie=Dt(V.content).find(Re=>Re.type==="code"&&Pi(Re.lang));if(Ie){const Re=yn(Ie.text);(Fe=e.onApply)==null||Fe.call(e,Re?Re.code:Ie.text)}});async function Zt(){try{const V=await LR();k(h,V,!0),V.configured&&!u(S)&&k(S,V.model,!0)}catch{}}Wn(()=>(window.addEventListener("she:config-changed",Zt),()=>window.removeEventListener("she:config-changed",Zt))),Wn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Wn(()=>{var V;(V=u(h))!=null&&V.provider&&kR().then(Y=>{k(w,Y.models,!0),!u(S)&&Y.models.length>0&&k(S,Y.models[0],!0)}).catch(()=>{})}),Wn(()=>{u(S),k(H,null),k(X,"")}),Wn(()=>{var Y,Ie;if(((Y=u(h))==null?void 0:Y.provider)!=="ollama")return;const V=u(S)||((Ie=u(h))==null?void 0:Ie.model);!V||u(H)||x0(V).then(Fe=>{k(H,Fe,!0)}).catch(()=>{})}),Wn(()=>{if(!u(a))return;k(Ue,Math.floor(Math.random()*xe.length),!0);const V=setInterval(()=>{k(Ue,(u(Ue)+1)%xe.length)},1e4);return()=>clearInterval(V)}),Wn(()=>{var V;Je&&(u(n).length+(((V=u(s))==null?void 0:V.length)??0),requestAnimationFrame(()=>{Je&&(Je.scrollTop=Je.scrollHeight)}))}),Wn(()=>{const V=u(Ae),Y=u(ci),Ie=i();u(Ht)&&IR({context:V,currentScript:Y??null,extraFiles:Ie.length>0?Ie:void 0}).then(Fe=>{k(fe,new TextEncoder().encode(Fe.prompt).length,!0)}).catch(()=>{})});function Dt(V){const Y=V.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
-
$2
|
|
146
|
-
`),Ie=[],Fe=/```(\w*)\n([\s\S]*?)```/g;let Re=0,De;for(;(De=Fe.exec(Y))!==null;)De.index>Re&&Ie.push({type:"text",text:Y.slice(Re,De.index)}),Ie.push({type:"code",lang:De[1]||"text",text:De[2].trimEnd()}),Re=De.index+De[0].length;return Re<Y.length&&Ie.push({type:"text",text:Y.slice(Re)}),Ie}const _i=15;function ui(V){return V.split(`
|
|
147
|
-
`).length>_i}function Yi(V){const Y=new Set(u(R));Y.has(V)?Y.delete(V):Y.add(V),k(R,Y,!0)}function Fi(V,Y){if(Pi(Y))try{return rb.highlight(V,{language:"javascript"}).value}catch{}return V.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function In(V){return Bn.parse(V)}function On(V){const Y=V.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
-
$2
|
|
149
|
-
`),Ie=[],Fe=/```(\w*)\n([\s\S]*?)```/g;let Re=0,De;for(;(De=Fe.exec(Y))!==null;)De.index>Re&&Ie.push({type:"text",text:Y.slice(Re,De.index)}),Ie.push({type:"code",lang:De[1]||"text",text:De[2].trimEnd()}),Re=De.index+De[0].length;const Nt=Y.slice(Re),ot=Nt.match(/```(\w*)\n([\s\S]*)$/);return ot?(ot.index>0&&Ie.push({type:"text",text:Nt.slice(0,ot.index)}),Ie.push({type:"code",lang:ot[1]||"text",text:ot[2]})):Nt&&Ie.push({type:"text",text:Nt}),Ie}function Dn(V){navigator.clipboard.writeText(V).catch(()=>{})}function En(V,Y=!1){var Ie;Y&&t()&&k(D,t().path,!0),(Ie=e.onApply)==null||Ie.call(e,V)}function Pi(V){return!V||V==="js"||V==="javascript"}function yn(V){const Y=V.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return Y?{filename:Y[1],code:V.slice(Y[0].length)}:null}function fn(V){return V>=1e9?`${(V/1e9).toFixed(1)} GB`:V>=1e6?`${(V/1e6).toFixed(0)} MB`:V>=1024?`${(V/1024).toFixed(1)} kB`:`${V} B`}async function en(){if(k(z,!0),!(u(H)||u(ee))){k(ee,!0),k(X,"");try{k(H,await x0(u(S)||u(h).model),!0)}catch(V){k(X,V.message,!0)}k(ee,!1)}}function Fn(V){const Y=V.match(/\.([^.]+)$/);return Y?Y[1].toUpperCase():"?"}function pn(V){switch(V){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return V}}function ln(V){i(i().filter((Y,Ie)=>Ie!==V))}function zn(){jt.click()}async function cn(V){if(!(!V||V.length===0))for(const Y of Array.from(V)){const Ie=await Y.text();i([...i(),{name:Y.name,content:Ie}])}}function tn(V){const Y=V.target;cn(Y.files),Y.value=""}function Jn(V){var Y;V.preventDefault(),k(oi,!1),cn(((Y=V.dataTransfer)==null?void 0:Y.files)??null)}function Xe(V){var Y;(Y=V.dataTransfer)!=null&&Y.types.includes("Files")&&(V.preventDefault(),k(oi,!0))}function bt(){k(oi,!1)}async function ri(){try{k(v,await _7(),!0)}catch{}}async function Ci(){var Y;if(u(n).length===0)return;const V=((Y=u(n).find(Ie=>Ie.role==="user"))==null?void 0:Y.content.slice(0,80))??u(p);try{await v7(u(p),V,u(n)),await ri()}catch{}}async function Ti(V){try{const Y=await DD(V);k(n,Y.messages,!0),k(p,V,!0),k(_,!1),k(c,"")}catch{}}async function mn(V){try{await b7(V),await ri(),V===u(p)&&dn()}catch{}}function dn(){k(n,[],!0),k(c,""),k(p,f(),!0),k(_,!1)}Mr(async()=>{Zt();try{const V=await DD(u(p));k(n,V.messages,!0)}catch{}await ri()});async function Kn(){const V=u(r).trim();if(!V||u(a))return;k(r,""),k(c,""),k(a,!0);const Y={role:"user",content:V};k(n,[...u(n),Y],!0),Le=new AbortController,k(ti,[],!0);try{await DR({messages:u(n),currentScript:u(ci),context:u(Ae),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Ie=>{k(s,(u(s)??"")+Ie)},Le.signal,Ie=>{k(ti,[...u(ti),Ie],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ti).length>0?[...u(ti)]:void 0}],!0),k(ti,[],!0)}catch(Ie){if(Ie.name==="AbortError"){const Fe=u(s);Fe&&Fe.trim()&&k(n,[...u(n),{role:"assistant",content:Fe+`
|
|
150
|
-
|
|
151
|
-
*[stopped]*`,toolEvents:u(ti).length>0?[...u(ti)]:void 0}],!0)}else k(c,Ie.message,!0)}finally{Le=null,k(s,null),k(ti,[],!0),k(a,!1),Ci()}}function Pn(){Le==null||Le.abort()}function $n(V){V.key==="Enter"&&!V.shiftKey&&(V.preventDefault(),Kn())}function Gn(){dn()}const Hn=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function $e(V){k(r,V,!0),Ge==null||Ge.focus()}var Z=fK(),Be=vt(Z),mt=C(Be),xt=x(C(mt),2);{var Wt=V=>{var Y=Cq(),Ie=C(Y);{var Fe=Nt=>{var ot=ea();G(()=>$(ot,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(Nt,ot)},Re=Nt=>{var ot=ea();G(()=>$(ot,`${u(h).provider??""} · pick a model below`)),T(Nt,ot)},De=Nt=>{var ot=ea("Not configured");T(Nt,ot)};U(Ie,Nt=>{u(Ht)?Nt(Fe):u(h).provider?Nt(Re,1):Nt(De,-1)})}G(()=>vn(Y,"title",`Provider: ${u(h).provider??""}`)),T(V,Y)};U(xt,V=>{u(h)&&V(Wt)})}var A=x(xt,2);let ne;var me=x(A,2);{var Qe=V=>{var Y=xq();J("click",Y,Gn),T(V,Y)};U(me,V=>{u(n).length>0&&V(Qe)})}var lt=x(mt,2);{var q=V=>{var Y=Dq(),Ie=C(Y),Fe=x(C(Ie),2),Re=x(Ie,2);{var De=ot=>{var Ee=Lq();T(ot,Ee)},Nt=ot=>{var Ee=Iq();di(Ee,21,()=>u(v),Et=>Et.id,(Et,He)=>{var ve=kq();let be;var ye=C(ve),Se=C(ye),gt=x(ye,2);G(()=>{be=Kt(ve,1,"history-item svelte-10ayso4",null,be,{"history-active":u(He).id===u(p)}),vn(ye,"title",u(He).id),$(Se,u(He).title||u(He).id)}),J("click",ye,()=>Ti(u(He).id)),J("click",gt,()=>mn(u(He).id)),T(Et,ve)}),T(ot,Ee)};U(Re,ot=>{u(v).length===0?ot(De):ot(Nt,-1)})}J("click",Fe,dn),T(V,Y)};U(lt,V=>{u(_)&&V(q)})}var re=x(lt,2),he=C(re);{var et=V=>{var Y=Eq();T(V,Y)},ii=V=>{var Y=Mq(),Ie=C(Y),Fe=C(Ie);{var Re=ot=>{var Ee=Pq(),Et=x(vt(Ee)),He=C(Et);G(ve=>$(He,ve),[()=>t().path.split("/").pop()]),T(ot,Ee)},De=ot=>{var Ee=ea("No script open. Ask a general she scripting question.");T(ot,Ee)};U(Fe,ot=>{t()?ot(Re):ot(De,-1)})}var Nt=x(Ie,2);di(Nt,17,()=>Hn,Mn,(ot,Ee)=>{var Et=Tq(),He=C(Et);G(()=>$(He,u(Ee))),J("click",Et,()=>$e(u(Ee))),T(ot,Et)}),T(V,Y)};U(he,V=>{u(it)?u(n).length===0&&u(s)===null&&V(ii,1):V(et)})}var _t=x(he,2);di(_t,17,()=>u(n),Mn,(V,Y,Ie)=>{var Fe=zq(),Re=C(Fe);{var De=ot=>{var Ee=Nq(),Et=C(Ee);G(()=>$(Et,u(Y).content)),T(ot,Ee)},Nt=ot=>{const Ee=st(()=>Dt(u(Y).content));var Et=Bq(),He=vt(Et);{var ve=ye=>{var Se=VD();di(Se,21,()=>u(Y).toolEvents,Mn,(gt,ce)=>{var Oe=js(),at=vt(Oe);{var tt=At=>{var Bt=BD(),un=x(C(Bt),2),Hi=C(un),wn=x(un,2);{var es=qt=>{var Gi=WD(),Di=C(Gi);G(gs=>$(Di,gs),[()=>Object.entries(u(ce).args).map(([gs,so])=>`${gs}=${JSON.stringify(so)}`).join(", ")]),T(qt,Gi)},vi=st(()=>u(ce).args&&Object.keys(u(ce).args).length>0);U(wn,qt=>{u(vi)&&qt(es)})}G(qt=>$(Hi,qt),[()=>u(ce).name.replace(/_/g," ")]),T(At,Bt)},Ke=At=>{var Bt=zD(),un=x(C(Bt),2),Hi=C(un);G(wn=>$(Hi,wn),[()=>u(ce).name.replace(/_/g," ")]),T(At,Bt)};U(at,At=>{u(ce).type==="tool_call"?At(tt):At(Ke,-1)})}T(gt,Oe)}),T(ye,Se)};U(He,ye=>{var Se;(Se=u(Y).toolEvents)!=null&&Se.length&&ye(ve)})}var be=x(He,2);di(be,21,()=>u(Ee),Mn,(ye,Se,gt)=>{var ce=js(),Oe=vt(ce);{var at=Ke=>{var At=jD();ic(At,()=>In(u(Se).text),!0),T(Ke,At)},tt=Ke=>{const At=st(()=>Pi(u(Se).lang)?yn(u(Se).text):null),Bt=st(()=>u(At)?u(At).code:u(Se).text),un=st(()=>`${Ie}:${gt}`),Hi=st(()=>ui(u(Bt))),wn=st(()=>u(R).has(u(un)));var es=Wq(),vi=C(es),qt=C(vi),Gi=C(qt),Di=x(qt,2),gs=C(Di),so=x(gs,2);{var Uo=Cs=>{var Os=Rq();J("click",Os,()=>e.onCreateFile(u(At).filename,u(At).code)),T(Cs,Os)},Nr=Cs=>{var Os=Fq(),ca=vt(Os),da=x(ca,2);{var Vc=$o=>{var ua=Aq();T($o,ua)},ha=$o=>{var ua=Oq();J("click",ua,()=>En(u(Se).text,!0)),T($o,ua)};U(da,$o=>{u(E)?$o(Vc):$o(ha,-1)})}J("click",ca,()=>En(u(Se).text)),T(Cs,Os)},Rl=st(()=>Pi(u(Se).lang)&&t());U(so,Cs=>{u(At)&&e.onCreateFile?Cs(Uo):u(Rl)&&Cs(Nr,1)})}var Zn=x(vi,2);let Za;var Rr=C(Zn),Mi=C(Rr);ic(Mi,()=>Fi(u(Bt),u(Se).lang??""),!0);var zc=x(Rr,2);{var $s=Cs=>{var Os=Hq(),ca=C(Os);G(()=>$(ca,u(wn)?"▲ collapse":"▼ expand")),J("click",Os,()=>Yi(u(un))),T(Cs,Os)};U(zc,Cs=>{u(Hi)&&Cs($s)})}G(()=>{$(Gi,u(At)?`new: ${u(At).filename}`:u(Se).lang),Za=Kt(Zn,1,"code-body svelte-10ayso4",null,Za,{collapsed:u(Hi)&&!u(wn)})}),J("click",gs,()=>Dn(u(Bt))),T(Ke,es)};U(Oe,Ke=>{u(Se).type==="text"?Ke(at):Ke(tt,-1)})}T(ye,ce)}),T(ot,Et)};U(Re,ot=>{u(Y).role==="user"?ot(De):ot(Nt,-1)})}G(()=>Kt(Fe,1,`message ${u(Y).role??""}`,"svelte-10ayso4")),T(V,Fe)});var ge=x(_t,2);{var rt=V=>{var Y=VD();di(Y,21,()=>u(ti),Mn,(Ie,Fe)=>{var Re=js(),De=vt(Re);{var Nt=Ee=>{var Et=BD(),He=x(C(Et),2),ve=C(He),be=x(He,2);{var ye=gt=>{var ce=WD(),Oe=C(ce);G(at=>$(Oe,at),[()=>Object.entries(u(Fe).args).map(([at,tt])=>`${at}=${JSON.stringify(tt)}`).join(", ")]),T(gt,ce)},Se=st(()=>u(Fe).args&&Object.keys(u(Fe).args).length>0);U(be,gt=>{u(Se)&>(ye)})}G(gt=>$(ve,gt),[()=>u(Fe).name.replace(/_/g," ")]),T(Ee,Et)},ot=Ee=>{var Et=zD(),He=x(C(Et),2),ve=C(He);G(be=>$(ve,be),[()=>u(Fe).name.replace(/_/g," ")]),T(Ee,Et)};U(De,Ee=>{u(Fe).type==="tool_call"?Ee(Nt):Ee(ot,-1)})}T(Ie,Re)}),T(V,Y)};U(ge,V=>{u(ti).length>0&&V(rt)})}var Mt=x(ge,2);{var Xt=V=>{var Y=Vq(),Ie=C(Y),Fe=C(Ie),Re=C(Fe);G(()=>$(Re,xe[u(Ue)])),T(V,Y)};U(Mt,V=>{u(a)&&u(s)===null&&u(ti).length===0&&V(Xt)})}var si=x(Mt,2);{var ai=V=>{var Y=Uq(),Ie=C(Y);di(Ie,21,()=>On(u(s)),Mn,(Fe,Re)=>{var De=js(),Nt=vt(De);{var ot=Et=>{var He=jD();ic(He,()=>In(u(Re).text),!0),T(Et,He)},Ee=Et=>{var He=jq(),ve=C(He),be=C(ve),ye=C(be),Se=x(ve,2),gt=C(Se);ic(gt,()=>Fi(u(Re).text,u(Re).lang??""),!0),G(()=>$(ye,u(Re).lang)),T(Et,He)};U(Nt,Et=>{u(Re).type==="text"?Et(ot):Et(Ee,-1)})}T(Fe,De)}),T(V,Y)};U(si,V=>{u(s)!==null&&V(ai)})}xs(re,V=>Je=V,()=>Je);var Q=x(re,2);{var _e=V=>{var Y=$q(),Ie=C(Y);G(()=>$(Ie,u(c))),T(V,Y)};U(Q,V=>{u(c)&&V(_e)})}var Te=x(Q,2),Ze=C(Te),yt=C(Ze),Ye=x(Ze,2),wt=C(Ye),Qt=x(Ye,2),Vt=C(Qt),Ot=x(Vt);{var Wi=V=>{const Y=st(()=>Math.min(100,Math.round(u(Yt)/4/u(H).contextLength*100)));var Ie=qq(),Fe=C(Ie),Re=x(C(Fe));G((De,Nt)=>{vn(Ie,"title",`~${u(Y)??""}% of ${De??""} token context window used`),vn(Re,"stroke",u(Y)>80?"var(--fg-err)":u(Y)>50?"var(--fg-warn)":"var(--fg-ok)"),vn(Re,"stroke-dasharray",`${Nt??""} 31.4`)},[()=>u(H).contextLength.toLocaleString(),()=>(u(Y)/100*31.4).toFixed(1)]),T(V,Ie)};U(Ot,V=>{var Y;(Y=u(H))!=null&&Y.contextLength&&V(Wi)})}var hn=x(Te,2),Bi=C(hn);{var ni=V=>{const Y=st(()=>Fn(t().path.split("/").pop()??t().path));var Ie=Kq();let Fe;var Re=C(Ie),De=C(Re),Nt=x(Re,2),ot=C(Nt),Ee=x(Nt,2),Et=C(Ee);G((He,ve)=>{Fe=Kt(Ie,1,"file-chip svelte-10ayso4",null,Fe,{inactive:!u(dt)}),Kt(Re,1,`badge badge-${He??""}`,"svelte-10ayso4"),$(De,ve),$(ot,t().path),vn(Ee,"title",u(dt)?"Remove from context":"Re-add to context"),$(Et,u(dt)?"×":"+")},[()=>u(Y).toLowerCase(),()=>pn(u(Y))]),J("click",Ee,()=>k(dt,!u(dt))),T(V,Ie)};U(Bi,V=>{t()&&V(ni)})}var Vi=x(Bi,2);di(Vi,17,i,Mn,(V,Y,Ie)=>{const Fe=st(()=>Fn(u(Y).name));var Re=Gq(),De=C(Re),Nt=C(De),ot=x(De,2),Ee=C(ot),Et=x(ot,2);G((He,ve)=>{Kt(De,1,`badge badge-${He??""}`,"svelte-10ayso4"),$(Nt,ve),$(Ee,u(Y).name)},[()=>u(Fe).toLowerCase(),()=>pn(u(Fe))]),J("click",Et,()=>ln(Ie)),T(V,Re)});var F=x(Vi,2),K=x(F,2);xs(K,V=>jt=V,()=>jt);var Pe=x(hn,2);let Me;var qe=C(Pe);let ke;var ht=C(qe);xs(ht,V=>Ge=V,()=>Ge);var $t=x(qe,2);{var ue=V=>{var Y=Zq();J("click",Y,Pn),T(V,Y)},we=V=>{var Y=Xq();G(Ie=>Y.disabled=Ie,[()=>!u(r).trim()||!u(Ht)]),J("click",Y,Kn),T(V,Y)};U($t,V=>{u(a)?V(ue):V(we,-1)})}var ut=x(Pe,2);{var Ne=V=>{var Y=tK(),Ie=C(Y),Fe=C(Ie),Re=x(Ie,2);{var De=Et=>{var He=Jq();di(He,21,()=>u(w),Mn,(ve,be)=>{var ye=Yq(),Se=C(ye),gt={};G(()=>{$(Se,u(be)),gt!==(gt=u(be))&&(ye.value=(ye.__value=u(be))??"")}),T(ve,ye)}),G(()=>He.disabled=u(a)),$r(He,()=>u(S),ve=>k(S,ve)),T(Et,He)},Nt=Et=>{var He=Qq(),ve=C(He);G(()=>$(ve,u(S)||u(h).model)),T(Et,He)};U(Re,Et=>{u(w).length>0?Et(De):Et(Nt,-1)})}var ot=x(Re,2);{var Ee=Et=>{var He=eK();J("click",He,en),T(Et,He)};U(ot,Et=>{u(h).provider==="ollama"&&Et(Ee)})}G(()=>$(Fe,u(h).provider)),T(V,Y)};U(ut,V=>{var Y;(Y=u(h))!=null&&Y.provider&&(u(it)||u(w).length>0)&&V(Ne)})}var nt=x(Be,2);{var Ut=V=>{var Y=gK(),Ie=C(Y),Fe=C(Ie),Re=C(Fe),De=C(Re),Nt=x(Re,2),ot=x(Fe,2),Ee=C(ot);{var Et=be=>{var ye=iK();T(be,ye)},He=be=>{var ye=nK(),Se=C(ye);G(()=>$(Se,u(X))),T(be,ye)},ve=be=>{var ye=uK(),Se=C(ye);{var gt=vi=>{var qt=sK(),Gi=x(vt(qt)),Di=C(Gi);G(()=>$(Di,u(H).version)),T(vi,qt)};U(Se,vi=>{u(H).version&&vi(gt)})}var ce=x(Se,2);{var Oe=vi=>{var qt=oK(),Gi=x(vt(qt)),Di=C(Gi);G(()=>$(Di,u(H).details.family)),T(vi,qt)};U(ce,vi=>{var qt;(qt=u(H).details)!=null&&qt.family&&vi(Oe)})}var at=x(ce,2);{var tt=vi=>{var qt=rK(),Gi=x(vt(qt)),Di=C(Gi);G(()=>$(Di,u(H).details.parameter_size)),T(vi,qt)};U(at,vi=>{var qt;(qt=u(H).details)!=null&&qt.parameter_size&&vi(tt)})}var Ke=x(at,2);{var At=vi=>{var qt=aK(),Gi=x(vt(qt)),Di=C(Gi);G(()=>$(Di,u(H).details.quantization_level)),T(vi,qt)};U(Ke,vi=>{var qt;(qt=u(H).details)!=null&&qt.quantization_level&&vi(At)})}var Bt=x(Ke,2);{var un=vi=>{var qt=lK(),Gi=x(vt(qt)),Di=C(Gi);G(()=>$(Di,u(H).details.format)),T(vi,qt)};U(Bt,vi=>{var qt;(qt=u(H).details)!=null&&qt.format&&vi(un)})}var Hi=x(Bt,2);{var wn=vi=>{var qt=dK(),Gi=x(vt(qt),2);di(Gi,21,()=>u(H).running,Mn,(Di,gs)=>{var so=cK(),Uo=C(so);G(Nr=>$(Uo,`${u(gs).name??""} · ${Nr??""} VRAM`),[()=>fn(u(gs).size_vram)]),T(Di,so)}),T(vi,qt)},es=vi=>{var qt=hK();T(vi,qt)};U(Hi,vi=>{u(H).running&&u(H).running.length>0?vi(wn):u(H).running!==null&&vi(es,1)})}T(be,ye)};U(Ee,be=>{u(ee)?be(Et):u(X)?be(He,1):u(H)&&be(ve,2)})}G(()=>{var be;return $(De,`Ollama · ${(u(S)||((be=u(h))==null?void 0:be.model))??""}`)}),J("click",Y,()=>k(z,!1)),J("click",Ie,be=>be.stopPropagation()),J("click",Nt,()=>k(z,!1)),T(V,Y)};U(nt,V=>{u(z)&&V(Ut)})}G(V=>{ne=Kt(A,1,"icon-hdr-btn svelte-10ayso4",null,ne,{active:u(_)}),$(Vt,V),Me=Kt(Pe,1,"input-row svelte-10ayso4",null,Me,{"drag-over":u(oi)}),ke=Kt(qe,1,"textarea-wrap svelte-10ayso4",null,ke,{loading:u(a)}),vn(ht,"placeholder",u(Ht)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(it)?"Select a model above to start chatting":"AI not configured"),ht.disabled=u(a)||!u(Ht)},[()=>fn(u(Yt))]),J("click",A,()=>k(_,!u(_))),zs(yt,()=>u(pt),V=>k(pt,V)),zs(wt,()=>u(kt),V=>k(kt,V)),J("click",F,zn),J("change",K,tn),ds("dragover",Pe,Xe),ds("dragleave",Pe,bt),ds("drop",Pe,Jn),J("keydown",ht,$n),ki(ht,()=>u(r),V=>k(r,V)),T(o,Z),jo()}Tr(["click","change","keydown"]);const mK={OnOff:["onOff","globalSceneControl","onTime","offWaitTime"],LevelControl:["currentLevel","remainingTime","minLevel","maxLevel","currentFrequency","onOffTransitionTime","onLevel"],ColorControl:["currentHue","currentSaturation","remainingTime","currentX","currentY","colorTemperatureMireds","colorMode","colorTempPhysicalMinMireds","colorTempPhysicalMaxMireds"],BasicInformation:["vendorName","vendorId","productName","productId","nodeLabel","location","softwareVersion","softwareVersionString","serialNumber"],Identify:["identifyTime","identifyType"],Groups:["nameSupport"],OccupancySensing:["occupancy","occupancySensorType"],IlluminanceMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance","lightSensorType"],TemperatureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],RelativeHumidityMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],PressureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"],Thermostat:["localTemperature","outdoorTemperature","occupiedCoolingSetpoint","occupiedHeatingSetpoint","unoccupiedCoolingSetpoint","unoccupiedHeatingSetpoint","minHeatSetpointLimit","maxHeatSetpointLimit","systemMode","thermostatRunningMode","occupancy"],DoorLock:["lockState","lockType","actuatorEnabled","doorState"],WindowCovering:["type","currentPositionLiftPercent100ths","currentPositionTiltPercent100ths","operationalStatus","targetPositionLiftPercent100ths","targetPositionTiltPercent100ths","endProductType","mode"],FanControl:["fanMode","fanModeSequence","percentSetting","percentCurrent","speedMax","speedSetting","speedCurrent"],Descriptor:["deviceTypeList","serverList","clientList","partsList"],PowerSource:["status","order","description","wiredCurrentType","wiredMaximumCurrent","batteryVoltage","batteryPercentRemaining","batChargeLevel"],Switch:["numberOfPositions","currentPosition","multiPressMax"],BooleanState:["stateValue"],FlowMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"]},_K={OnOff:["on","off","toggle"],LevelControl:["moveToLevel","move","step","stop","moveToLevelWithOnOff","moveWithOnOff","stepWithOnOff","stopWithOnOff"],ColorControl:["moveToHue","moveHue","stepHue","moveToSaturation","moveSaturation","stepSaturation","moveToHueAndSaturation","moveToColor","moveColor","stepColor","moveToColorTemperature","moveColorTemperature","stepColorTemperature"],Identify:["identify","triggerEffect"],Groups:["addGroup","viewGroup","getGroupMembership","removeGroup","removeAllGroups","addGroupIfIdentifying"],Thermostat:["setpointRaiseLower","setWeeklySchedule","getWeeklySchedule","clearWeeklySchedule"],DoorLock:["lockDoor","unlockDoor","unlockWithTimeout"],WindowCovering:["upOrOpen","downOrClose","stopMotion","goToLiftValue","goToLiftPercentage","goToTiltValue","goToTiltPercentage"],FanControl:[]};let E0=[],P0=[],T0=[];const db=new Map;let qR=[];const M0=new Map,N0=new Map;async function UD(){try{E0=(await xR()).map(e=>e.topic)}catch{}}async function $D(){try{const[o,e]=await Promise.all([wR(),SR()]);P0=o,T0=e}catch{}}async function qD(){try{const o=await CR();qR=o.map(e=>e.nodeId),M0.clear(),N0.clear();for(const e of o)e.name&&(M0.set(e.nodeId,e.name),N0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!db.has(e.nodeId))try{db.set(e.nodeId,await z_(e.nodeId))}catch{}}))}catch{}}function vK(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,c=o.match(a);if(c){const h=c[1],g=bK(h),f=yK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=cu(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=cu(h,0),v=KD(h,1)??cu(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=cu(h,0),v=KD(h,1)??cu(h,1),_=cu(h,2),w=/she\.matter\.send\s*\(/.test(o);if(p&&v!==null&&_)return{type:"matter-attr",nodeId:p,endpointId:v,cluster:_,isSend:w}}}return null}function bK(o){let e=0,t=0,i=!1,n="";for(const s of o){if(i){s===n&&(i=!1);continue}if(s==='"'||s==="'"){i=!0,n=s;continue}if(s==="("||s==="["||s==="{"){e++;continue}if(s===")"||s==="]"||s==="}"){e--;continue}s===","&&e===0&&t++}return t}function yK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function cu(o,e){var s;const i=(s=KR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function KD(o,e){var s;const i=(s=KR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function KR(o){const e=[];let t="",i=0,n=!1,s="";for(const r of o){if(n){r===s&&(n=!1),t+=r;continue}if(r==='"'||r==="'"){n=!0,s=r,t+=r;continue}if(r==="("||r==="["||r==="{"){i++,t+=r;continue}if(r===")"||r==="]"||r==="}"){i--,t+=r;continue}if(r===","&&i===0){e.push(t),t="";continue}t+=r}return e.push(t),e}const Eh=Qc.CompletionItemKind;function wK(o,e){return(e?E0.filter(i=>i.startsWith(e)):E0).map(i=>({label:i,kind:Eh.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function SK(o,e,t){const i=t?[...P0,...T0]:P0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Eh.Value,insertText:s,range:o,detail:T0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function CK(o,e){return qR.map(t=>{const i=M0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Eh.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function GR(o){return N0.get(o)??o}function xK(o,e){if(typeof e=="number")return o.endpoints.find(i=>i.endpointId===e);const t=parseInt(e,10);return isNaN(t)?o.endpoints.find(i=>i.name===e):o.endpoints.find(i=>i.endpointId===t)}function LK(o,e){const t=db.get(GR(e));return t?t.endpoints.map(i=>{const n=i.name??String(i.endpointId),s=i.clusters.map(r=>r.name).join(", ");return{label:n,kind:Eh.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function kK(o,e,t){const i=db.get(GR(e));if(!i)return[];const n=xK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Eh.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function IK(o,e,t){return(t?_K[e]??[]:mK[e]??[]).map(n=>({label:n,kind:t?Eh.Function:Eh.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let GD=!1;function DK(){GD||(GD=!0,UD(),$D(),qD(),setInterval(UD,15e3),setInterval($D,1e4),setInterval(qD,6e4),Qc.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=vK(t);if(!i)return null;const n=o.getWordUntilPosition(e),s=Math.max(t.lastIndexOf("'"),t.lastIndexOf('"')),r=s>=0?s+2:n.startColumn,a={startLineNumber:e.lineNumber,endLineNumber:e.lineNumber,startColumn:r,endColumn:e.column};switch(i.type){case"mqtt":return{suggestions:wK(a,i.prefix)};case"db":return{suggestions:SK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:CK(a,i.prefix)};case"matter-endpointId":return{suggestions:LK(a,i.nodeId)};case"matter-cluster":return{suggestions:kK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:IK(a,i.cluster,i.isSend)};default:return null}}}))}var EK=M('<button class="svelte-1pyfjii">New file here</button> <button class="svelte-1pyfjii">New subfolder here</button> <hr class="svelte-1pyfjii"/> <button class="svelte-1pyfjii">Rename folder…</button> <button class="danger svelte-1pyfjii">Delete folder…</button>',1),PK=M('<button class="svelte-1pyfjii">Show git history</button>'),TK=M('<button class="svelte-1pyfjii">Open</button> <button class="svelte-1pyfjii">Rename…</button> <button class="svelte-1pyfjii">Add to AI context</button> <!> <hr class="svelte-1pyfjii"/> <button class="danger svelte-1pyfjii">Delete</button>',1),MK=M('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),NK=M('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),ZD=M('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),RK=M('<ul class="tree-children svelte-1pyfjii"></ul>'),AK=M('<li class="tree-dir svelte-1pyfjii"><div role="treeitem" tabindex="-1" draggable="true"><button>›</button> <span role="button" tabindex="0"> </span> <!> <label class="lib-label svelte-1pyfjii" title="Library directory — files here are not auto-loaded as scripts"><input type="checkbox" class="svelte-1pyfjii"/> <span class="lib-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3V3z"></path><line x1="3" y1="12" x2="13" y2="12"></line><line x1="6" y1="3" x2="6" y2="12"></line></svg></label> <label class="dis-label svelte-1pyfjii" title="Disable — scripts in this folder will not be executed"><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label></div> <!></li>'),OK=M('<span class="dirty-dot svelte-1pyfjii">●</span>'),FK=M('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),HK=M('<span class="err-dot svelte-1pyfjii">●</span>'),WK=M('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),BK=M('<span class="dis-spacer svelte-1pyfjii"></span>'),zK=M('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),VK=M('<div class="err svelte-1pyfjii"> </div>'),jK=M('<div class="history-empty svelte-1pyfjii">Loading…</div>'),UK=M('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),$K=M('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),qK=M('<button class="history-load-more svelte-1pyfjii"> </button>'),KK=M("<!> <!>",1),GK=M('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),ZK=M('<span class="tab-dirty svelte-1pyfjii">●</span>'),XK=M('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),YK=M('<div class="tab-bar svelte-1pyfjii"></div>'),JK=M('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),QK=M('<div class="changes-err svelte-1pyfjii"> </div>'),eG=M('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),tG=M('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),iG=M('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),nG=M('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),sG=M('<span class="git-behind svelte-1pyfjii"> </span>'),oG=M('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),rG=M('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save & Commit</button></div>',1),aG=M('<button class="danger svelte-1pyfjii">Delete</button>'),lG=M(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
|
|
152
|
-
or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md" target="_blank" rel="noopener" class="svelte-1pyfjii">README</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find & Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),cG=M('<button class="svelte-1pyfjii">Always accept in this session</button>'),dG=M('<button class="svelte-1pyfjii">Disable auto-accept</button>'),hG=M('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),uG=M('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),gG=M('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),fG=M('<div class="diff-container svelte-1pyfjii"></div>'),pG=M('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),mG=M('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),_G=M('<span class="log-file svelte-1pyfjii"> </span>'),vG=M("<option> </option>"),bG=M('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),yG=M('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),wG=M('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),SG=M('<div class="log-body svelte-1pyfjii"><!> <!></div>'),CG=M('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),xG=M('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function LG(o,e){Vo(e,!0);let t=W(gi([])),i=W(gi({})),n=W(null),s=W(null),r=W(null),a=W(null),c=W(gi([])),h=W(null),g=W(!1),f=W(""),p=W(!1),v=W(!0),_=W(null),w=W(!1),S=W(!1),D=W(null),E=W(gi([])),R=W(!1),z=W(30),H=W(void 0),ee=null,X=null,fe=null,Le=W(!1),Ue=W(""),xe=W(!1),pt=W(void 0),kt=W(gi(new Set));const dt=new Set;let oi=W(gi(new Set)),jt=W(gi([])),ti=W("all"),Ge=W(""),Je=W(!1);const Ae=["all","debug","info","warn","error"],it={debug:0,info:1,warn:2,error:3};function Ht(O){if(u(ti)!=="all"&&it[O.level]<it[u(ti)])return!1;if(!u(Ge))return!0;if(u(Je))try{return new RegExp(u(Ge),"i").test(O.msg)}catch{}return O.msg.toLowerCase().includes(u(Ge).toLowerCase())}let Yt=W(null);function ci(O){const ie=O.currentTarget.getBoundingClientRect();k(Yt,{x:ie.left,y:ie.top},!0)}function Zt(){k(Yt,null)}let Dt,_i,ui,Yi=!1,Fi=null,In=null,On=!1,Dn=!1,En=W(!1),Pi=W(null),yn=W(!1),fn=W(!1),en=W(void 0),Fn=null,pn=null,ln=null,zn=W(gi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),cn=W(gi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),tn=W(gi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Jn=W(gi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Xe=!1,bt=0,ri=0,Ci=!1,Ti=0,mn=0,dn=!1,Kn=0,Pn=0,$n=!1,Gn=0,Hn=0;const $e=st(()=>{var O;return u(h)&&u(re)?{path:u(h),content:((O=u(re).model)==null?void 0:O.getValue())??u(re).savedContent}:null}),Z=st(()=>{var O;return new Set(((O=u(_))==null?void 0:O.changes.map(ie=>ie.file))??[])}),Be=st(()=>{const O=new Set;for(const ie of u(Z)){const pe=ie.split("/");for(let ae=1;ae<pe.length;ae++)O.add(pe.slice(0,ae).join("/"))}return O});let mt=W(!1),xt=W(!1),Wt=W(""),A=W(!1),ne=W(""),me=W(gi(new Set));async function Qe(){var O;if(!(!u(Wt).trim()||u(me).size===0)){k(A,!0),k(ne,"");try{const ie=u(_).changes.filter(pe=>u(me).has(pe.file)).map(pe=>pe.file);if(ie.length===u(_).changes.length?await LD(u(Wt).trim()):await xD(ie,u(Wt).trim()),u(S))try{await g_()}catch{}k(Wt,""),await Ye(),(O=u(_))!=null&&O.changes.length?k(me,new Set(u(_).changes.map(pe=>pe.file)),!0):k(mt,!1)}catch(ie){k(ne,ie.message,!0)}finally{k(A,!1)}}}let lt,q,re=st(()=>u(c).find(O=>O.path===u(h))??null);const he="she-tabs",et="she-active-tab",ii="she-log-open",_t="she-chat-open";let ge=vg(e,"active",3,!0);Wn(()=>{Dn&&(localStorage.setItem(he,JSON.stringify(u(c).map(O=>O.path))),u(h)?localStorage.setItem(et,u(h)):localStorage.removeItem(et))}),Wn(()=>{Dn&&localStorage.setItem(_t,String(u(En)))}),Wn(()=>{ge()&&_i&&_i.layout()});const rt=`
|
|
153
|
-
declare const she: {
|
|
154
|
-
log(...args: any[]): void;
|
|
155
|
-
info(...args: any[]): void;
|
|
156
|
-
debug(...args: any[]): void;
|
|
157
|
-
warn(...args: any[]): void;
|
|
158
|
-
error(...args: any[]): void;
|
|
159
|
-
now(): number;
|
|
160
|
-
/** Schedule with a cron string, Date, node-schedule literal, array of any of those,
|
|
161
|
-
* or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
|
|
162
|
-
* opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
|
|
163
|
-
schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
|
|
164
|
-
mqtt: {
|
|
165
|
-
sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
|
|
166
|
-
pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
|
|
167
|
-
get(topic: string): any;
|
|
168
|
-
getProp(topic: string, ...prop: string[]): any;
|
|
169
|
-
link(source: string | string[], target: string | string[], value?: any): void;
|
|
170
|
-
age(topic: string): number;
|
|
171
|
-
or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
172
|
-
and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
173
|
-
max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
|
|
174
|
-
min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
|
|
175
|
-
timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
176
|
-
};
|
|
177
|
-
http: {
|
|
178
|
-
fetch(url: string, opts?: RequestInit): Promise<any>;
|
|
179
|
-
sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
|
|
180
|
-
};
|
|
181
|
-
api: {
|
|
182
|
-
get(path: string, handler: (req: any) => any): void;
|
|
183
|
-
post(path: string, handler: (req: any, body: any) => any): void;
|
|
184
|
-
put(path: string, handler: (req: any, body: any) => any): void;
|
|
185
|
-
delete(path: string, handler: (req: any) => any): void;
|
|
186
|
-
};
|
|
187
|
-
db: {
|
|
188
|
-
get(id: string): any;
|
|
189
|
-
set(id: string, doc: object): void;
|
|
190
|
-
extend(id: string, partial: object): void;
|
|
191
|
-
delete(id: string): void;
|
|
192
|
-
prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
|
|
193
|
-
sub(pattern: string, callback: (id: string, doc: any) => void): void;
|
|
194
|
-
query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
|
|
195
|
-
};
|
|
196
|
-
matter: {
|
|
197
|
-
sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
|
|
198
|
-
unsub(listenerId: number): void;
|
|
199
|
-
get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
|
|
200
|
-
send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
|
|
201
|
-
on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
|
|
202
|
-
};
|
|
203
|
-
influx: {
|
|
204
|
-
query(fluxQuery: string): Promise<any[]>;
|
|
205
|
-
write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
|
|
206
|
-
getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
|
|
207
|
-
getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
|
|
208
|
-
};
|
|
209
|
-
elastic: {
|
|
210
|
-
search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
|
|
211
|
-
get(index: string, id: string): Promise<object | null>;
|
|
212
|
-
index(index: string, doc: object, id?: string): Promise<{ id: string }>;
|
|
213
|
-
find(index: string, field: string, text: string, size?: number): Promise<any[]>;
|
|
214
|
-
};
|
|
215
|
-
};
|
|
216
|
-
`;Mr(async()=>{var ae;k(v,localStorage.getItem(ii)!=="false"),k(En,localStorage.getItem(_t)==="true"),Qc.typescript.javascriptDefaults.addExtraLib(rt,"she-api.d.ts"),Qc.typescript.javascriptDefaults.setCompilerOptions({target:Qc.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Qc.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),DK(),ui=cr.createModel("","javascript"),_i=cr.create(Dt,{model:ui,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),_i.onDidChangeModelContent(()=>{if(Yi)return;const ze=u(c).find(Lt=>Lt.path===u(h));ze&&(ze.dirty=_i.getValue()!==ze.savedContent),Ee&&clearTimeout(Ee),Ee=setTimeout(Et,600)}),Fi=PR(ze=>{const Lt=ze.msg.match(/^([^:\n]+\.js):\s/);if(!Lt)return;const zt=Lt[1];if(ze.level==="error")dt.add(zt),u(kt).has(zt)||k(kt,new Set([...u(kt),zt]),!0);else if(dt.has(zt)){dt.delete(zt);const zi=new Set(u(kt));zi.delete(zt),k(kt,zi,!0)}const xi=u(c).find(zi=>zi.path===zt);xi&&(xi.logEntries=[...xi.logEntries.slice(-199),ze],xi.path===u(h)&&u(v)&&u(pt)&&I_().then(()=>{u(pt)&&(u(pt).scrollTop=u(pt).scrollHeight)}))}),In=Fa("script:running",ze=>{const Lt=ze.path;if(ze.running)k(oi,new Set([...u(oi),Lt]),!0);else{const zt=new Set(u(oi));zt.delete(Lt),k(oi,zt,!0)}}),await Mt(),Ye();try{const ze=await pL();typeof ze.gitAutoCommit=="boolean"&&k(w,ze.gitAutoCommit,!0),typeof ze.gitAutoPush=="boolean"&&k(S,ze.gitAutoPush,!0)}catch{}try{const ze=await getDaemonStatus();k(oi,new Set(ze.runningScripts??[]),!0)}catch{}const O=JSON.parse(localStorage.getItem(he)??"[]"),ie=localStorage.getItem(et);for(const ze of O)await _e(ze,!1);const pe=ie&&u(c).some(ze=>ze.path===ie)?ie:((ae=u(c)[0])==null?void 0:ae.path)??null;pe&&await Ze(pe),Dn=!0}),Py(()=>{var O;Ee&&clearTimeout(Ee),Fi==null||Fi(),In==null||In();for(const ie of u(c))(O=ie.model)==null||O.dispose();ui==null||ui.dispose(),_i==null||_i.dispose()});async function Mt(){try{if(k(t,await Y8(),!0),!On){let ie=function(pe){for(const ae of pe)ae.type==="dir"&&(O[ae.path]=!0,ae.children&&ie(ae.children))};On=!0;const O={};ie(u(t)),k(i,O,!0)}k(f,"")}catch(O){k(f,O.message,!0)}}function Xt(O){u(i)[O]=!u(i)[O]}function si(O){switch(O){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return O}}async function ai(O,ie){try{ie?await Zc(`${O}/.shelib`,""):await u_(`${O}/.shelib`),await Mt(),await wt("all",ie?`lib ${O}`:`unlib ${O}`)}catch(pe){k(f,pe.message,!0)}}async function Q(O,ie){const pe=O.split("/").pop(),ae=O.includes("/")?O.slice(0,O.lastIndexOf("/")):"",ze=ae?`${ae}/.shedisable-${pe}`:`.shedisable-${pe}`;try{ie?await Zc(ze,""):await u_(ze),await Mt(),await wt("all",ie?`disable ${O}`:`enable ${O}`)}catch(Lt){k(f,Lt.message,!0)}}async function _e(O,ie=!0){var pe;if(u(c).some(ae=>ae.path===O)){ie&&await Ze(O);return}try{const{content:ae}=await sS(O),ze=VF.parse(`file:///she-scripts/${encodeURIComponent(O)}`);(pe=cr.getModel(ze))==null||pe.dispose();const Lt=cr.createModel(ae,ot(O),ze);k(c,[...u(c),{path:O,dirty:!1,savedContent:ae,model:Lt,logEntries:[]}],!0),ie&&await Ze(O)}catch(ae){k(f,ae.message,!0)}}async function Te(O){await _e(O,!0)}async function Ze(O){const ie=u(c).find(pe=>pe.path===O);ie!=null&&ie.model&&(K(),k(Pi,null),k(h,O,!0),Yi=!0,_i.setModel(ie.model),Yi=!1,Et())}async function yt(O){var ae;const ie=u(c).find(ze=>ze.path===O);if(!ie||ie.dirty&&!await lt.show(`Discard unsaved changes to ${O}?`,{confirm:"Discard"}))return;const pe=u(c).findIndex(ze=>ze.path===O);if((ae=ie.model)==null||ae.dispose(),k(c,u(c).filter(ze=>ze.path!==O),!0),u(h)===O){const ze=u(c)[pe]??u(c)[pe-1]??null;ze?await Ze(ze.path):(k(h,null),_i.setModel(ui))}}async function Ye(){try{k(_,await Q8(),!0)}catch{k(_,null)}}async function wt(O,ie){if(u(_))try{if(O==="all"?await LD(ie):await xD(O,ie),u(S))try{await g_()}catch{}await Ye()}catch{}}async function Qt(){if(!u(h))return;const O=u(c).find(ie=>ie.path===u(h));if(O){k(g,!0);try{const ie=_i.getValue();await Zc(u(h),ie),O.savedContent=ie,O.dirty=!1,k(f,""),u(w)?await wt([u(h)],`update ${u(h)}`):Ye()}catch(ie){k(f,ie.message,!0)}finally{k(g,!1)}}}async function Vt(){if(!u(h)||(await Qt(),u(f)))return;const O=await q.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(O)try{if(await i7(u(h),O),u(S))try{await g_()}catch{}Ye()}catch(ie){k(f,"Git: "+ie.message)}}async function Ot(){k(p,!1);try{await g_(),await Ye(),k(f,"")}catch(O){k(f,"Git push: "+O.message)}}function Wi(O){const ie=Date.now()-new Date(O).getTime(),pe=Math.floor(ie/1e3);if(pe<60)return"just now";const ae=Math.floor(pe/60);if(ae<60)return`${ae}m ago`;const ze=Math.floor(ae/60);if(ze<24)return`${ze}h ago`;const Lt=Math.floor(ze/24);if(Lt<30)return`${Lt}d ago`;const zt=Math.floor(Lt/30);return zt<12?`${zt}mo ago`:`${Math.floor(zt/12)}y ago`}async function hn(O){ke(),k(D,O,!0),k(E,[],!0),k(z,30),await Bi()}async function Bi(){if(u(D)){k(R,!0);try{k(E,await n7(u(D).path,u(z)),!0)}catch{}finally{k(R,!1)}}}async function ni(){k(z,u(z)+30),await Bi()}function Vi(){k(D,null),k(E,[],!0),K()}async function F(O){if(!u(D))return;K(),await Te(u(D).path);let ie;try{ie=await s7(O.hash,u(D).path)}catch{return}if(k(Ue,O.hash,!0),k(xe,ie.binary,!0),k(Le,!0),ie.binary||ie.content===null)return;let pe="";const ae=u(c).find(Lt=>Lt.path===u(D).path);if(ae!=null&&ae.model)pe=ae.model.getValue();else try{pe=(await sS(u(D).path)).content}catch{}if(await I_(),!u(H))return;const ze=ot(u(D).path);X=cr.createModel(ie.content,ze),fe=cr.createModel(pe,ze),ee=cr.createDiffEditor(u(H),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),ee.setModel({original:X,modified:fe})}function K(){k(Le,!1),k(xe,!1),ee==null||ee.dispose(),ee=null,X==null||X.dispose(),X=null,fe==null||fe.dispose(),fe=null}async function Pe(){const O=u(n)?`${u(n)}/`:"",ie=await q.show("New script name:",{placeholder:O?`${O}myscript.js`:"myscript.js",initial:O,confirm:"Create"});if(!ie)return;const pe=ie.endsWith(".js")?`/* global she */
|
|
217
|
-
'use strict';
|
|
218
|
-
|
|
219
|
-
`:"";await Zc(ie,pe),await Mt(),await _e(ie,!0)}async function Me(){const O=u(n)?`${u(n)}/`:"",ie=await q.show("New folder name:",{placeholder:O?`${O}subfolder`:"myfolder",initial:O,confirm:"Create"});ie&&(await J8(ie),u(i)[ie]=!0,await Mt())}function qe(O,ie){O.preventDefault(),k(s,{x:O.clientX,y:O.clientY,entry:ie},!0)}function ke(){k(s,null)}async function ht(O){ke(),k(n,O,!0),u(i)[O]=!0,await Pe()}async function $t(O){ke(),k(n,O,!0),await Me()}async function ue(O){ke();const ie=O.path.includes("/")?O.path.slice(0,O.path.lastIndexOf("/")+1):"",pe=await q.show(O.type==="dir"?"Rename folder:":"Rename script:",{initial:O.name,placeholder:O.name,confirm:"Rename"});if(!pe||pe===O.name)return;const ae=ie+pe;try{await CD(O.path,ae);const ze=u(c).find(Lt=>Lt.path===O.path);ze&&(ze.path=ae,u(h)===O.path&&k(h,ae)),await Mt(),await wt("all",`rename ${O.path} → ${ae}`)}catch(ze){k(f,ze.message,!0)}}function we(O){if(!O.children)return 0;let ie=0;for(const pe of O.children)ie++,pe.type==="dir"&&(ie+=we(pe));return ie}async function ut(O){ke();let ie=`Delete ${O.type==="dir"?"folder":"file"} "${O.path}"?`;if(O.type==="dir"){const pe=we(O);pe>0&&(ie+=` This will also delete ${pe} item${pe===1?"":"s"} inside.`)}if(await lt.show(ie,{confirm:"Delete",danger:!0})){if(O.type==="dir")for(const pe of[...u(c)])pe.path.startsWith(O.path+"/")&&await yt(pe.path);else await yt(O.path);await u_(O.path),await Mt(),await wt("all",`delete ${O.path}`)}}async function Ne(O){ke();const{content:ie}=await sS(O.path);u(jt).some(pe=>pe.name===O.path)||k(jt,[...u(jt),{name:O.path,content:ie}],!0),k(En,!0)}function nt(O,ie){var pe;k(r,ie,!0),(pe=O.dataTransfer)==null||pe.setData("text/plain",ie)}function Ut(O,ie){if(O.preventDefault(),u(r)&&(u(r)===ie||ie.startsWith(u(r)+"/"))){O.dataTransfer&&(O.dataTransfer.dropEffect="none"),k(a,null);return}O.dataTransfer&&(O.dataTransfer.dropEffect="move"),k(a,ie,!0)}function V(){k(a,null)}async function Y(O,ie){var zt,xi,zi;O.preventDefault(),k(a,null);const pe=Array.from(((zt=O.dataTransfer)==null?void 0:zt.items)??[]).filter(mi=>mi.kind==="file");if(pe.length>0&&!u(r)){for(const mi of pe){const Ni=(xi=mi.webkitGetAsEntry)==null?void 0:xi.call(mi);Ni&&await Ie(Ni,ie,!0)}await Mt();return}const ae=u(r)??((zi=O.dataTransfer)==null?void 0:zi.getData("text/plain"));if(k(r,null),!ae||ae===ie||ie.startsWith(ae+"/"))return;const ze=ae.split("/").pop(),Lt=ie?`${ie}/${ze}`:ze;if(Lt!==ae)try{await CD(ae,Lt);for(const mi of u(c))if(mi.path===ae)u(h)===ae&&k(h,Lt,!0),mi.path=Lt;else if(mi.path.startsWith(ae+"/")){const Ni=Lt+mi.path.slice(ae.length);u(h)===mi.path&&k(h,Ni),mi.path=Ni}await Mt(),await wt("all",`rename ${ae} → ${Lt}`)}catch(mi){k(f,mi.message,!0)}}async function Ie(O,ie,pe){if(O.isFile){const ze=await(await new Promise((zt,xi)=>O.file(zt,xi))).text(),Lt=ie?`${ie}/${O.name}`:O.name;await Zc(Lt,ze),pe&&O.name.endsWith(".js")&&await Q(Lt,!0)}else if(O.isDirectory){const ae=O.createReader();let ze=[],Lt;do Lt=await new Promise((zt,xi)=>ae.readEntries(zt,xi)),ze=[...ze,...Lt];while(Lt.length>0);for(const zt of ze)await Ie(zt,ie?`${ie}/${O.name}`:O.name,!1);if(pe){const zt=ie?`${ie}/${O.name}`:O.name;await Q(zt,!0)}}}async function Fe(){if(!u(h)||!await lt.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const O=u(h);await yt(O),await u_(O),await Mt(),await wt("all",`delete ${O}`)}function Re(){u(re)&&(u(re).logEntries=[])}function De(){k(v,!u(v)),localStorage.setItem(ii,String(u(v)))}function Nt(O){return new Date(O).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ot(O){var ae;const ie=((ae=O.split(".").pop())==null?void 0:ae.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[ie]??"plaintext"}let Ee=null;async function Et(){const O=u(c).find(pe=>pe.path===u(h));if(!(O!=null&&O.model))return;const ie=O.model;try{const Lt=(await(await(await Qc.typescript.getJavaScriptWorker())(ie.uri)).getSyntacticDiagnostics(ie.uri.toString())).map(zt=>{const xi=ie.getPositionAt(zt.start??0),zi=ie.getPositionAt((zt.start??0)+(zt.length??0));return{severity:jF.Error,startLineNumber:xi.lineNumber,startColumn:xi.column,endLineNumber:zi.lineNumber,endColumn:zi.column,message:typeof zt.messageText=="string"?zt.messageText:JSON.stringify(zt.messageText),source:"she-syntax"}});if(cr.setModelMarkers(ie,"she-syntax",Lt),u(h)){if(Lt.length>0)dt.add(u(h)),u(kt).has(u(h))||k(kt,new Set([...u(kt),u(h)]),!0);else if(dt.has(u(h))){dt.delete(u(h));const zt=new Set(u(kt));zt.delete(u(h)),k(kt,zt,!0)}}}catch{}}function He(O){Xe=!0,bt=O.clientX,ri=u(zn),O.preventDefault()}function ve(O){Ci=!0,Ti=O.clientY,mn=u(cn),O.preventDefault()}function be(O){dn=!0,Kn=O.clientX,Pn=u(tn),O.preventDefault()}function ye(O){$n=!0,Gn=O.clientY,Hn=u(Jn),O.preventDefault()}function Se(O){Xe&&k(zn,Math.max(140,Math.min(500,ri+O.clientX-bt)),!0),Ci&&k(cn,Math.max(60,Math.min(500,mn-(O.clientY-Ti))),!0),dn&&k(tn,Math.max(200,Math.min(700,Pn-(O.clientX-Kn))),!0),$n&&k(Jn,Math.max(80,Math.min(600,Hn-(O.clientY-Gn))),!0)}function gt(){Xe&&(Xe=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(zn)))),Ci&&(Ci=!1,localStorage.setItem("she-scripts-log-height",String(u(cn)))),dn&&(dn=!1,localStorage.setItem("she-scripts-chat-width",String(u(tn)))),$n&&($n=!1,localStorage.setItem("she-scripts-history-height",String(u(Jn))))}function ce(O){(O.ctrlKey||O.metaKey)&&O.key==="s"&&(O.preventDefault(),Qt()),O.key==="Escape"&&(k(p,!1),k(s,null),k(xt,!1))}async function Oe(O,ie){const pe=await q.show("Save new script as:",{placeholder:"myscript.js",initial:O,confirm:"Create"});if(pe)try{await Zc(pe,ie),await Mt(),await _e(pe,!0)}catch(ae){k(f,ae.message,!0)}}async function at(O){var pe,ae;if(u(yn)&&u(h)){k(Pi,O,!0),await tt();return}if(k(Pi,O,!0),await I_(),!u(en))return;pn==null||pn.dispose(),ln==null||ln.dispose(),Fn==null||Fn.dispose();const ie=((ae=(pe=u(re))==null?void 0:pe.model)==null?void 0:ae.getValue())??"";pn=cr.createModel(ie,"javascript"),ln=cr.createModel(O,"javascript"),Fn=cr.createDiffEditor(u(en),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Fn.setModel({original:pn,modified:ln})}Wn(()=>{u(h),k(yn,!1),k(fn,!1)});async function tt(){if(u(Pi)===null||!u(h))return;const O=u(Pi);k(Pi,null);const ie=u(c).find(pe=>pe.path===u(h));ie!=null&&ie.model&&(Yi=!0,ie.model.setValue(O),Yi=!1,ie.dirty=!1,ie.savedContent=O);try{await Zc(u(h),O),k(f,""),u(w)?await wt([u(h)],`update ${u(h)}`):Ye()}catch(pe){k(f,pe.message,!0)}At()}function Ke(){k(Pi,null),At()}function At(){Fn==null||Fn.dispose(),Fn=null,pn==null||pn.dispose(),pn=null,ln==null||ln.dispose(),ln=null}var Bt=xG();ds("keydown",vd,ce),ds("mousemove",vd,Se),ds("mouseup",vd,gt);var un=vt(Bt);xs(Kg(un,{}),O=>lt=O,()=>lt);var Hi=x(un,2);xs(E7(Hi,{}),O=>q=O,()=>q);var wn=x(Hi,2);{var es=O=>{var ie=MK(),pe=vt(ie),ae=x(pe,2);let ze;var Lt=C(ae);{var zt=zi=>{var mi=EK(),Ni=vt(mi),bi=x(Ni,2),ji=x(bi,4),Ji=x(ji,2);J("click",Ni,()=>ht(u(s).entry.path)),J("click",bi,()=>$t(u(s).entry.path)),J("click",ji,()=>ue(u(s).entry)),J("click",Ji,()=>ut(u(s).entry)),T(zi,mi)},xi=zi=>{var mi=TK(),Ni=vt(mi),bi=x(Ni,2),ji=x(bi,2),Ji=x(ji,2);{var Vn=Li=>{var as=PK();J("click",as,()=>hn(u(s).entry)),T(Li,as)};U(Ji,Li=>{u(_)&&Li(Vn)})}var qn=x(Ji,4);J("click",Ni,()=>Te(u(s).entry.path)),J("click",bi,()=>ue(u(s).entry)),J("click",ji,()=>Ne(u(s).entry)),J("click",qn,()=>ut(u(s).entry)),T(zi,mi)};U(Lt,zi=>{u(s).entry.type==="dir"?zi(zt):zi(xi,-1)})}G(()=>ze=Ro(ae,"",ze,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),J("click",pe,ke),J("contextmenu",pe,zi=>{zi.preventDefault(),ke()}),T(O,ie)};U(wn,O=>{u(s)&&O(es)})}var vi=x(wn,2);{var qt=O=>{var ie=NK();let pe;G(()=>pe=Ro(ie,"",pe,{left:`${u(Yt).x??""}px`,top:`${u(Yt).y-4}px`})),T(O,ie)};U(vi,O=>{u(Yt)&&O(qt)})}var Gi=x(vi,2),Di=C(Gi);let gs;{const O=(pe,ae=Ly,ze)=>{let Lt=f1(()=>XF(ze==null?void 0:ze(),!1));var zt=js(),xi=vt(zt);{var zi=Ni=>{var bi=AK(),ji=C(bi);let Ji;var Vn=C(ji);let qn;var Li=x(Vn,2);let as;var Fs=C(Li),Is=x(Li,2);{var ts=nn=>{var Io=ZD();T(nn,Io)},is=st(()=>u(Z).has(ae().path)||u(Be).has(ae().path));U(Is,nn=>{u(is)&&nn(ts)})}var ls=x(Is,2),ps=C(ls),oo=x(ls,2),Go=C(oo),pa=x(ji,2);{var Ds=nn=>{var Io=RK();di(Io,21,()=>ae().children,rr=>rr.path,(rr,qs)=>{O(rr,()=>u(qs),()=>ae().disabled||u(Lt))}),T(nn,Io)};U(pa,nn=>{u(i)[ae().path]&&ae().children&&nn(Ds)})}G(()=>{Ji=Kt(ji,1,"dir-row svelte-1pyfjii",null,Ji,{"dir-selected":u(n)===ae().path,"drag-target":u(a)===ae().path}),vn(ji,"aria-selected",u(n)===ae().path),qn=Kt(Vn,1,"chevron svelte-1pyfjii",null,qn,{open:u(i)[ae().path]}),as=Kt(Li,1,"dir-name svelte-1pyfjii",null,as,{lib:ae().lib}),$(Fs,ae().name),jm(ps,ae().lib),jm(Go,ae().disabled)}),ds("dragstart",ji,nn=>nt(nn,ae().path)),ds("dragover",ji,nn=>Ut(nn,ae().path)),ds("dragleave",ji,V),ds("drop",ji,nn=>Y(nn,ae().path)),J("contextmenu",ji,nn=>qe(nn,ae())),J("click",Vn,()=>Xt(ae().path)),J("click",Li,()=>{k(n,ae().path,!0),u(i)[ae().path]=!0}),J("keydown",Li,nn=>nn.key==="Enter"&&k(n,ae().path,!0)),ds("mouseenter",ls,ci),ds("mouseleave",ls,Zt),J("change",ps,()=>ai(ae().path,!ae().lib)),J("change",Go,()=>Q(ae().path,!ae().disabled)),T(Ni,bi)},mi=Ni=>{const bi=st(()=>u(kt).has(ae().path)),ji=st(()=>u(Z).has(ae().path)),Ji=st(()=>u(c).some(Zi=>Zi.path===ae().path&&Zi.dirty)),Vn=st(()=>(ae().name.split(".").pop()??"txt").toUpperCase()),qn=st(()=>ae().name.endsWith(".js"));var Li=zK();let as;var Fs=C(Li),Is=C(Fs);let ts;var is=C(Is);let ls;var ps=C(is),oo=x(is,2),Go=C(oo),pa=x(oo,2);{var Ds=Zi=>{var Hs=ZD();T(Zi,Hs)};U(pa,Zi=>{u(ji)&&Zi(Ds)})}var nn=x(pa);{var Io=Zi=>{var Hs=OK();T(Zi,Hs)};U(nn,Zi=>{u(Ji)&&Zi(Io)})}var rr=x(nn,2);{var qs=Zi=>{var Hs=FK();T(Zi,Hs)},Fl=st(()=>u(qn)&&u(oi).has(ae().path)&&!u(bi));U(rr,Zi=>{u(Fl)&&Zi(qs)})}var sf=x(rr,2);{var Hl=Zi=>{var Hs=HK();T(Zi,Hs)};U(sf,Zi=>{u(bi)&&Zi(Hl)})}var ma=x(Is,2);{var Am=Zi=>{var Hs=WK();let Or;var qh=C(Hs);G(()=>{Or=Kt(Hs,1,"dis-label svelte-1pyfjii",null,Or,{"dis-locked":u(Lt)}),vn(Hs,"title",u(Lt)?"Disabled by parent directory":"Disable — this script will not be executed"),jm(qh,ae().disabled),qh.disabled=u(Lt)}),J("change",qh,()=>Q(ae().path,!ae().disabled)),T(Zi,Hs)},lw=Zi=>{var Hs=BK();T(Zi,Hs)};U(ma,Zi=>{u(qn)?Zi(Am):Zi(lw,-1)})}G((Zi,Hs,Or)=>{as=Kt(Li,1,"tree-file svelte-1pyfjii",null,as,Zi),ts=Kt(Is,1,"svelte-1pyfjii",null,ts,{lib:ae().lib,dis:ae().disabled,err:u(bi)}),ls=Kt(is,1,`badge badge-${Hs??""}`,"svelte-1pyfjii",ls,{"badge-shelib":ae().lib}),$(ps,Or),$(Go,ae().name)},[()=>({active:u(c).some(Zi=>Zi.path===ae().path),"active-tab":ae().path===u(h)}),()=>u(Vn).toLowerCase(),()=>si(u(Vn))]),ds("dragstart",Li,Zi=>nt(Zi,ae().path)),J("contextmenu",Li,Zi=>qe(Zi,ae())),J("click",Is,()=>Te(ae().path)),T(Ni,Li)};U(xi,Ni=>{ae().type==="dir"?Ni(zi):Ni(mi,-1)})}T(pe,zt)};var so=C(Di),Uo=C(so),Nr=x(Uo,2),Rl=x(Nr,2),Zn=x(so,2);{var Za=pe=>{var ae=VK(),ze=C(ae);G(()=>$(ze,u(f))),T(pe,ae)};U(Zn,pe=>{u(f)&&pe(Za)})}var Rr=x(Zn,2),Mi=C(Rr);let ie;var zc=x(Mi,2);di(zc,17,()=>u(t),pe=>pe.path,(pe,ae)=>{O(pe,()=>u(ae))});var $s=x(Rr,2);{var Cs=pe=>{var ae=GK();let ze;var Lt=C(ae),zt=x(Lt,2),xi=C(zt),zi=C(xi),mi=x(xi,2),Ni=x(zt,2),bi=C(Ni);{var ji=qn=>{var Li=jK();T(qn,Li)},Ji=qn=>{var Li=UK();T(qn,Li)},Vn=qn=>{var Li=KK(),as=vt(Li);di(as,17,()=>u(E),ts=>ts.hash,(ts,is)=>{var ls=$K(),ps=C(ls),oo=C(ps),Go=x(ps,2),pa=C(Go);G((Ds,nn)=>{$(oo,u(is).subject),$(pa,`${Ds??""} · ${nn??""}`)},[()=>u(is).hash.slice(0,7),()=>Wi(u(is).date)]),J("click",ls,()=>F(u(is))),T(ts,ls)});var Fs=x(as,2);{var Is=ts=>{var is=qK(),ls=C(is);G(()=>{is.disabled=u(R),$(ls,u(R)?"Loading…":"Load more")}),J("click",is,ni),T(ts,is)};U(Fs,ts=>{u(E).length>=u(z)&&ts(Is)})}T(qn,Li)};U(bi,qn=>{u(R)&&u(E).length===0?qn(ji):u(E).length===0?qn(Ji,1):qn(Vn,-1)})}G(()=>{ze=Ro(ae,"",ze,{height:`${u(Jn)??""}px`}),vn(xi,"title",u(D).path),$(zi,`History: ${u(D).name??""}`)}),J("mousedown",Lt,ye),J("click",mi,Vi),T(pe,ae)};U($s,pe=>{u(D)&&pe(Cs)})}G(()=>ie=Kt(Mi,1,"tree-root-drop svelte-1pyfjii",null,ie,{"drag-target":u(a)===""})),J("click",Uo,Pe),J("click",Nr,Me),J("click",Rl,Mt),ds("dragover",Mi,pe=>Ut(pe,"")),ds("dragleave",Mi,V),ds("drop",Mi,pe=>Y(pe,""))}var Os=x(Di,2),ca=x(Os,2),da=C(ca);{var Vc=O=>{var ie=YK();di(ie,21,()=>u(c),pe=>pe.path,(pe,ae)=>{var ze=XK();let Lt;var zt=C(ze),xi=C(zt),zi=x(zt,2);{var mi=bi=>{var ji=ZK();T(bi,ji)};U(zi,bi=>{u(ae).dirty&&bi(mi)})}var Ni=x(zi,2);G(bi=>{Lt=Kt(ze,1,"tab svelte-1pyfjii",null,Lt,{active:u(ae).path===u(h)}),$(xi,bi)},[()=>u(ae).path.split("/").pop()]),J("click",ze,()=>Ze(u(ae).path)),J("keydown",ze,bi=>bi.key==="Enter"&&Ze(u(ae).path)),J("click",Ni,bi=>{bi.stopPropagation(),yt(u(ae).path)}),T(pe,ze)}),T(O,ie)};U(da,O=>{u(c).length>0&&O(Vc)})}var ha=x(da,2),$o=C(ha),ua=C($o),or=x($o,2);{var tw=O=>{var ie=oG(),pe=C(ie),ae=C(pe),ze=x(pe,2);{var Lt=Ni=>{var bi=tG(),ji=C(bi),Ji=C(ji),Vn=x(ji,2);{var qn=Li=>{var as=eG(),Fs=vt(as),Is=x(Fs,2),ts=x(C(Is),2);di(ts,21,()=>u(_).changes,Mn,(Ds,nn)=>{var Io=JK(),rr=C(Io),qs=x(rr,2),Fl=C(qs),sf=x(qs,2),Hl=C(sf);G(ma=>{jm(rr,ma),$(Fl,u(nn).status),$(Hl,u(nn).file)},[()=>u(me).has(u(nn).file)]),J("change",rr,()=>{const ma=new Set(u(me));ma.has(u(nn).file)?ma.delete(u(nn).file):ma.add(u(nn).file),k(me,ma,!0)}),T(Ds,Io)});var is=x(ts,2),ls=C(is),ps=x(ls,2),oo=C(ps),Go=x(is,2);{var pa=Ds=>{var nn=QK(),Io=C(nn);G(()=>$(Io,u(ne))),T(Ds,nn)};U(Go,Ds=>{u(ne)&&Ds(pa)})}G(Ds=>{var nn;ps.disabled=Ds,$(oo,u(A)?"…":u(me).size===((nn=u(_))==null?void 0:nn.changes.length)?"Commit all":`Commit ${u(me).size}`)},[()=>!u(Wt).trim()||u(A)||u(me).size===0]),J("click",Fs,()=>k(mt,!1)),J("keydown",ls,Ds=>Ds.key==="Enter"&&Qe()),ki(ls,()=>u(Wt),Ds=>k(Wt,Ds)),J("click",ps,Qe),T(Li,as)};U(Vn,Li=>{u(mt)&&Li(qn)})}G(()=>{vn(ji,"title",`${u(_).changes.length??""} uncommitted change(s) — click to view`),$(Ji,`✎${u(_).changes.length??""}`)}),J("click",ji,()=>{u(mt)||k(me,new Set(u(_).changes.map(Li=>Li.file)),!0),k(mt,!u(mt)),k(ne,"")}),T(Ni,bi)};U(ze,Ni=>{u(_).changes.length>0&&Ni(Lt)})}var zt=x(ze,2);{var xi=Ni=>{var bi=nG(),ji=C(bi),Ji=C(ji),Vn=x(ji,2);{var qn=Li=>{var as=iG(),Fs=vt(as),Is=x(Fs,2),ts=C(Is),is=C(ts),ls=x(ts,2),ps=C(ls);G(()=>$(is,`${u(_).ahead??""} unpushed commit(s)`)),J("click",Fs,()=>k(xt,!1)),J("click",ps,()=>{k(xt,!1),Ot()}),T(Li,as)};U(Vn,Li=>{u(xt)&&Li(qn)})}G(()=>{vn(ji,"title",`${u(_).ahead??""} commit(s) ahead of upstream — click to push`),$(Ji,`↑${u(_).ahead??""}`)}),J("click",ji,()=>k(xt,!u(xt))),T(Ni,bi)};U(zt,Ni=>{u(_).ahead>0&&Ni(xi)})}var zi=x(zt,2);{var mi=Ni=>{var bi=sG(),ji=C(bi);G(()=>{vn(bi,"title",`${u(_).behind??""} commit(s) behind upstream`),$(ji,`↓${u(_).behind??""}`)}),T(Ni,bi)};U(zi,Ni=>{u(_).behind>0&&Ni(mi)})}G(()=>{vn(pe,"title",`Branch: ${u(_).branch??""}`),$(ae,`⎇ ${u(_).branch??""}`)}),T(O,ie)};U(or,O=>{u(_)&&O(tw)})}var qo=x(or,2),Im=C(qo),jc=C(Im),ga=C(jc),Zg=x(jc,2),Dm=x(Im,2);{var Xg=O=>{var ie=rG(),pe=vt(ie),ae=x(pe,2),ze=C(ae),Lt=x(ze,2);J("click",pe,()=>k(p,!1)),J("click",ze,()=>{k(p,!1),Qt()}),J("click",Lt,()=>{k(p,!1),Vt()}),T(O,ie)};U(Dm,O=>{u(p)&&O(Xg)})}var Em=x(qo,2);{var Pm=O=>{var ie=aG();J("click",ie,Fe),T(O,ie)};U(Em,O=>{u(h)&&O(Pm)})}var zh=x(Em,2);let Tm;var iw=x(ha,2),Vh=C(iw),Mm=C(Vh),Yg=C(Mm);xs(Yg,O=>Dt=O,()=>Dt);var Jg=x(Yg,2);{var jh=O=>{var ie=lG();T(O,ie)};U(Jg,O=>{u(h)||O(jh)})}var fa=x(Jg,2);{var nw=O=>{var ie=uG(),pe=C(ie),ae=C(pe),ze=x(C(ae)),Lt=C(ze),zt=x(ae,2),xi=C(zt),zi=C(xi),mi=C(zi),Ni=C(mi),bi=x(mi,2),ji=x(zi,2);{var Ji=Li=>{var as=hG(),Fs=vt(as),Is=x(Fs,2),ts=C(Is);{var is=ps=>{var oo=cG();J("click",oo,()=>{k(fn,!1),k(yn,!0),tt()}),T(ps,oo)},ls=ps=>{var oo=dG();J("click",oo,()=>{k(fn,!1),k(yn,!1)}),T(ps,oo)};U(ts,ps=>{u(yn)?ps(ls,-1):ps(is)})}J("click",Fs,()=>k(fn,!1)),T(Li,as)};U(ji,Li=>{u(fn)&&Li(Ji)})}var Vn=x(xi,2),qn=x(pe,2);xs(qn,Li=>k(en,Li),()=>u(en)),G(Li=>{$(Lt,Li),$(Ni,u(yn)?"Auto-accept ✓":"Accept")},[()=>{var Li;return(Li=u(h))==null?void 0:Li.split("/").pop()}]),J("click",mi,tt),J("click",bi,()=>k(fn,!u(fn))),J("click",Vn,Ke),T(O,ie)};U(fa,O=>{u(Pi)!==null&&O(nw)})}var Uc=x(fa,2);{var ko=O=>{var ie=pG(),pe=C(ie),ae=C(pe),ze=x(C(ae)),Lt=C(ze),zt=x(ze,2),xi=C(zt),zi=x(ae,2),mi=C(zi),Ni=x(pe,2);{var bi=Ji=>{var Vn=gG();T(Ji,Vn)},ji=Ji=>{var Vn=fG();xs(Vn,qn=>k(H,qn),()=>u(H)),T(Ji,Vn)};U(Ni,Ji=>{u(xe)?Ji(bi):Ji(ji,-1)})}G(Ji=>{var Vn;$(Lt,Ji),$(xi,(Vn=u(D))==null?void 0:Vn.name)},[()=>u(Ue).slice(0,7)]),J("click",mi,K),T(O,ie)};U(Uc,O=>{u(Le)&&O(ko)})}var Uh=x(Mm,2);let Qg,Nm;var $h=C(Uh);{var ef=O=>{var ie=mG();J("mousedown",ie,ve),T(O,ie)};U($h,O=>{u(v)&&O(ef)})}var Rm=x($h,2),tf=C(Rm),nf=C(tf),sw=x(nf);{var Ko=O=>{var ie=_G(),pe=C(ie);G(ae=>$(pe,`— ${ae??""}`),[()=>u(h).split("/").pop()]),T(O,ie)};U(sw,O=>{u(h)&&O(Ko)})}var Al=x(tf,2);{var ow=O=>{var ie=bG(),pe=vt(ie);di(pe,21,()=>Ae,Mn,(xi,zi)=>{var mi=vG(),Ni=C(mi),bi={};G(()=>{$(Ni,u(zi)),bi!==(bi=u(zi))&&(mi.value=(mi.__value=u(zi))??"")}),T(xi,mi)});var ae=x(pe,2),ze=x(ae,2),Lt=C(ze),zt=x(ze,2);$r(pe,()=>u(ti),xi=>k(ti,xi)),ki(ae,()=>u(Ge),xi=>k(Ge,xi)),zs(Lt,()=>u(Je),xi=>k(Je,xi)),J("click",zt,Re),T(O,ie)};U(Al,O=>{u(v)&&O(ow)})}var Ar=x(Rm,2);{var rw=O=>{var ie=SG(),pe=C(ie);di(pe,17,()=>{var Lt;return(((Lt=u(re))==null?void 0:Lt.logEntries)??[]).filter(Ht)},Lt=>Lt.ts+Lt.msg,(Lt,zt)=>{var xi=yG(),zi=C(xi),mi=C(zi),Ni=x(zi,2),bi=C(Ni),ji=x(Ni,2),Ji=C(ji);G((Vn,qn)=>{Kt(xi,1,`log-line ${u(zt).level??""}`,"svelte-1pyfjii"),$(mi,Vn),$(bi,qn),$(Ji,u(zt).msg)},[()=>Nt(u(zt).ts),()=>u(zt).level.toUpperCase()]),T(Lt,xi)});var ae=x(pe,2);{var ze=Lt=>{var zt=wG();T(Lt,zt)};U(ae,Lt=>{var zt;(((zt=u(re))==null?void 0:zt.logEntries.length)??0)===0&&Lt(ze)})}xs(ie,Lt=>k(pt,Lt),()=>u(pt)),T(O,ie)};U(Ar,O=>{u(v)&&O(rw)})}var Ol=x(Vh,2);{var aw=O=>{var ie=CG(),pe=vt(ie),ae=x(pe,2);let ze;var Lt=C(ae);pK(Lt,{get currentScript(){return u($e)},onApply:at,onCreateFile:Oe,get extraFiles(){return u(jt)},set extraFiles(zt){k(jt,zt,!0)}}),G(()=>ze=Ro(ae,"",ze,{width:`${u(tn)??""}px`})),J("mousedown",pe,be),T(O,ie)};U(Ol,O=>{u(En)&&O(aw)})}G(()=>{var O;gs=Ro(Di,"",gs,{width:`${u(zn)??""}px`}),$(ua,u(h)??"No file selected"),jc.disabled=!((O=u(re))!=null&&O.dirty)||u(g),$(ga,u(g)?"Saving…":"Save"),Zg.disabled=!u(h),Tm=Kt(zh,1,"ai-toggle svelte-1pyfjii",null,Tm,{"ai-open":u(En)}),vn(zh,"title",u(En)?"Close AI assistant":"Open AI assistant"),Qg=Kt(Uh,1,"log-panel svelte-1pyfjii",null,Qg,{collapsed:!u(v)}),Nm=Ro(Uh,"",Nm,{height:u(v)?`${u(cn)}px`:"26px"}),$(nf,`${u(v)?"▾":"▸"} Script Log `)}),J("mousedown",Os,He),J("click",jc,Qt),J("click",Zg,()=>k(p,!u(p))),J("click",zh,()=>k(En,!u(En))),J("click",tf,De),T(o,Bt),jo()}Tr(["click","contextmenu","keydown","change","mousedown"]);const ZR="she-theme";function kG(){return localStorage.getItem(ZR)??"dark"}function IG(o){localStorage.setItem(ZR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Af={exports:{}};/* @preserve
|
|
220
|
-
* Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
|
|
221
|
-
* (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
|
222
|
-
*/var DG=Af.exports,XD;function EG(){return XD||(XD=1,(function(o,e){(function(t,i){i(e)})(DG,(function(t){var i="1.9.4";function n(l){var d,m,b,I;for(m=1,b=arguments.length;m<b;m++){I=arguments[m];for(d in I)l[d]=I[d]}return l}var s=Object.create||(function(){function l(){}return function(d){return l.prototype=d,new l}})();function r(l,d){var m=Array.prototype.slice;if(l.bind)return l.bind.apply(l,m.call(arguments,1));var b=m.call(arguments,2);return function(){return l.apply(d,b.length?b.concat(m.call(arguments)):arguments)}}var a=0;function c(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function h(l,d,m){var b,I,P,j;return j=function(){b=!1,I&&(P.apply(m,I),I=!1)},P=function(){b?I=arguments:(l.apply(m,arguments),setTimeout(j,d),b=!0)},P}function g(l,d,m){var b=d[1],I=d[0],P=b-I;return l===b&&m?l:((l-I)%P+P)%P+I}function f(){return!1}function p(l,d){if(d===!1)return l;var m=Math.pow(10,d===void 0?6:d);return Math.round(l*m)/m}function v(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function _(l){return v(l).split(/\s+/)}function w(l,d){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var m in d)l.options[m]=d[m];return l.options}function S(l,d,m){var b=[];for(var I in l)b.push(encodeURIComponent(m?I.toUpperCase():I)+"="+encodeURIComponent(l[I]));return(!d||d.indexOf("?")===-1?"?":"&")+b.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function E(l,d){return l.replace(D,function(m,b){var I=d[b];if(I===void 0)throw new Error("No value provided for variable "+m);return typeof I=="function"&&(I=I(d)),I})}var R=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function z(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function ee(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function fe(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var Le=window.requestAnimationFrame||ee("RequestAnimationFrame")||fe,Ue=window.cancelAnimationFrame||ee("CancelAnimationFrame")||ee("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function xe(l,d,m){if(m&&Le===fe)l.call(d);else return Le.call(window,r(l,d))}function pt(l){l&&Ue.call(window,l)}var kt={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:c,throttle:h,wrapNum:g,falseFn:f,formatNum:p,trim:v,splitWords:_,setOptions:w,getParamString:S,template:E,isArray:R,indexOf:z,emptyImageUrl:H,requestFn:Le,cancelFn:Ue,requestAnimFrame:xe,cancelAnimFrame:pt};function dt(){}dt.extend=function(l){var d=function(){w(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},m=d.__super__=this.prototype,b=s(m);b.constructor=d,d.prototype=b;for(var I in this)Object.prototype.hasOwnProperty.call(this,I)&&I!=="prototype"&&I!=="__super__"&&(d[I]=this[I]);return l.statics&&n(d,l.statics),l.includes&&(oi(l.includes),n.apply(null,[b].concat(l.includes))),n(b,l),delete b.statics,delete b.includes,b.options&&(b.options=m.options?s(m.options):{},n(b.options,l.options)),b._initHooks=[],b.callInitHooks=function(){if(!this._initHooksCalled){m.callInitHooks&&m.callInitHooks.call(this),this._initHooksCalled=!0;for(var P=0,j=b._initHooks.length;P<j;P++)b._initHooks[P].call(this)}},d},dt.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},dt.mergeOptions=function(l){return n(this.prototype.options,l),this},dt.addInitHook=function(l){var d=Array.prototype.slice.call(arguments,1),m=typeof l=="function"?l:function(){this[l].apply(this,d)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(m),this};function oi(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=R(l)?l:[l];for(var d=0;d<l.length;d++)l[d]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var jt={on:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d);else{l=_(l);for(var I=0,P=l.length;I<P;I++)this._on(l[I],d,m)}return this},off:function(l,d,m){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var b in l)this._off(b,l[b],d);else{l=_(l);for(var I=arguments.length===1,P=0,j=l.length;P<j;P++)I?this._off(l[P]):this._off(l[P],d,m)}return this},_on:function(l,d,m,b){if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}if(this._listens(l,d,m)===!1){m===this&&(m=void 0);var I={fn:d,ctx:m};b&&(I.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(I)}},_off:function(l,d,m){var b,I,P;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(I=0,P=b.length;I<P;I++)b[I].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var j=this._listens(l,d,m);if(j!==!1){var se=b[j];this._firingCount&&(se.fn=f,this._events[l]=b=b.slice()),b.splice(j,1)}}},fire:function(l,d,m){if(!this.listens(l,m))return this;var b=n({},d,{type:l,target:this,sourceTarget:d&&d.sourceTarget||this});if(this._events){var I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var P=0,j=I.length;P<j;P++){var se=I[P],de=se.fn;se.once&&this.off(l,de,se.ctx),de.call(se.ctx||this,b)}this._firingCount--}}return m&&this._propagateEvent(b),this},listens:function(l,d,m,b){typeof l!="string"&&console.warn('"string" type argument expected');var I=d;typeof d!="function"&&(b=!!d,I=void 0,m=void 0);var P=this._events&&this._events[l];if(P&&P.length&&this._listens(l,I,m)!==!1)return!0;if(b){for(var j in this._eventParents)if(this._eventParents[j].listens(l,d,m,b))return!0}return!1},_listens:function(l,d,m){if(!this._events)return!1;var b=this._events[l]||[];if(!d)return!!b.length;m===this&&(m=void 0);for(var I=0,P=b.length;I<P;I++)if(b[I].fn===d&&b[I].ctx===m)return I;return!1},once:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d,!0);else{l=_(l);for(var I=0,P=l.length;I<P;I++)this._on(l[I],d,m,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[c(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[c(l)],this},_propagateEvent:function(l){for(var d in this._eventParents)this._eventParents[d].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};jt.addEventListener=jt.on,jt.removeEventListener=jt.clearAllEventListeners=jt.off,jt.addOneTimeEventListener=jt.once,jt.fireEvent=jt.fire,jt.hasEventListeners=jt.listens;var ti=dt.extend(jt);function Ge(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var Je=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Ge.prototype={clone:function(){return new Ge(this.x,this.y)},add:function(l){return this.clone()._add(Ae(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ae(l))},_subtract:function(l){return this.x-=l.x,this.y-=l.y,this},divideBy:function(l){return this.clone()._divideBy(l)},_divideBy:function(l){return this.x/=l,this.y/=l,this},multiplyBy:function(l){return this.clone()._multiplyBy(l)},_multiplyBy:function(l){return this.x*=l,this.y*=l,this},scaleBy:function(l){return new Ge(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Ge(this.x/l.x,this.y/l.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=Je(this.x),this.y=Je(this.y),this},distanceTo:function(l){l=Ae(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Ae(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ae(l),Math.abs(l.x)<=Math.abs(this.x)&&Math.abs(l.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function Ae(l,d,m){return l instanceof Ge?l:R(l)?new Ge(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Ge(l.x,l.y):new Ge(l,d,m)}function it(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}it.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof Ge||typeof l[0]=="number"||"x"in l)d=m=Ae(l);else if(l=Ht(l),d=l.min,m=l.max,!d||!m)return this;return!this.min&&!this.max?(this.min=d.clone(),this.max=m.clone()):(this.min.x=Math.min(d.x,this.min.x),this.max.x=Math.max(m.x,this.max.x),this.min.y=Math.min(d.y,this.min.y),this.max.y=Math.max(m.y,this.max.y)),this},getCenter:function(l){return Ae((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ae(this.min.x,this.max.y)},getTopRight:function(){return Ae(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var d,m;return typeof l[0]=="number"||l instanceof Ge?l=Ae(l):l=Ht(l),l instanceof it?(d=l.min,m=l.max):d=m=l,d.x>=this.min.x&&m.x<=this.max.x&&d.y>=this.min.y&&m.y<=this.max.y},intersects:function(l){l=Ht(l);var d=this.min,m=this.max,b=l.min,I=l.max,P=I.x>=d.x&&b.x<=m.x,j=I.y>=d.y&&b.y<=m.y;return P&&j},overlaps:function(l){l=Ht(l);var d=this.min,m=this.max,b=l.min,I=l.max,P=I.x>d.x&&b.x<m.x,j=I.y>d.y&&b.y<m.y;return P&&j},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var d=this.min,m=this.max,b=Math.abs(d.x-m.x)*l,I=Math.abs(d.y-m.y)*l;return Ht(Ae(d.x-b,d.y-I),Ae(m.x+b,m.y+I))},equals:function(l){return l?(l=Ht(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function Ht(l,d){return!l||l instanceof it?l:new it(l,d)}function Yt(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}Yt.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,I;if(l instanceof Zt)b=l,I=l;else if(l instanceof Yt){if(b=l._southWest,I=l._northEast,!b||!I)return this}else return l?this.extend(Dt(l)||ci(l)):this;return!d&&!m?(this._southWest=new Zt(b.lat,b.lng),this._northEast=new Zt(I.lat,I.lng)):(d.lat=Math.min(b.lat,d.lat),d.lng=Math.min(b.lng,d.lng),m.lat=Math.max(I.lat,m.lat),m.lng=Math.max(I.lng,m.lng)),this},pad:function(l){var d=this._southWest,m=this._northEast,b=Math.abs(d.lat-m.lat)*l,I=Math.abs(d.lng-m.lng)*l;return new Yt(new Zt(d.lat-b,d.lng-I),new Zt(m.lat+b,m.lng+I))},getCenter:function(){return new Zt((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new Zt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Zt(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof Zt||"lat"in l?l=Dt(l):l=ci(l);var d=this._southWest,m=this._northEast,b,I;return l instanceof Yt?(b=l.getSouthWest(),I=l.getNorthEast()):b=I=l,b.lat>=d.lat&&I.lat<=m.lat&&b.lng>=d.lng&&I.lng<=m.lng},intersects:function(l){l=ci(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),P=I.lat>=d.lat&&b.lat<=m.lat,j=I.lng>=d.lng&&b.lng<=m.lng;return P&&j},overlaps:function(l){l=ci(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),P=I.lat>d.lat&&b.lat<m.lat,j=I.lng>d.lng&&b.lng<m.lng;return P&&j},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=ci(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function ci(l,d){return l instanceof Yt?l:new Yt(l,d)}function Zt(l,d,m){if(isNaN(l)||isNaN(d))throw new Error("Invalid LatLng object: ("+l+", "+d+")");this.lat=+l,this.lng=+d,m!==void 0&&(this.alt=+m)}Zt.prototype={equals:function(l,d){if(!l)return!1;l=Dt(l);var m=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return m<=(d===void 0?1e-9:d)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return ui.distance(this,Dt(l))},wrap:function(){return ui.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return ci([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Zt(this.lat,this.lng,this.alt)}};function Dt(l,d,m){return l instanceof Zt?l:R(l)&&typeof l[0]!="object"?l.length===3?new Zt(l[0],l[1],l[2]):l.length===2?new Zt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Zt(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Zt(l,d,m)}var _i={latLngToPoint:function(l,d){var m=this.projection.project(l),b=this.scale(d);return this.transformation._transform(m,b)},pointToLatLng:function(l,d){var m=this.scale(d),b=this.transformation.untransform(l,m);return this.projection.unproject(b)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var d=this.projection.bounds,m=this.scale(l),b=this.transformation.transform(d.min,m),I=this.transformation.transform(d.max,m);return new it(b,I)},infinite:!1,wrapLatLng:function(l){var d=this.wrapLng?g(l.lng,this.wrapLng,!0):l.lng,m=this.wrapLat?g(l.lat,this.wrapLat,!0):l.lat,b=l.alt;return new Zt(m,d,b)},wrapLatLngBounds:function(l){var d=l.getCenter(),m=this.wrapLatLng(d),b=d.lat-m.lat,I=d.lng-m.lng;if(b===0&&I===0)return l;var P=l.getSouthWest(),j=l.getNorthEast(),se=new Zt(P.lat-b,P.lng-I),de=new Zt(j.lat-b,j.lng-I);return new Yt(se,de)}},ui=n({},_i,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,I=d.lat*m,P=Math.sin((d.lat-l.lat)*m/2),j=Math.sin((d.lng-l.lng)*m/2),se=P*P+Math.cos(b)*Math.cos(I)*j*j,de=2*Math.atan2(Math.sqrt(se),Math.sqrt(1-se));return this.R*de}}),Yi=6378137,Fi={R:Yi,MAX_LATITUDE:85.0511287798,project:function(l){var d=Math.PI/180,m=this.MAX_LATITUDE,b=Math.max(Math.min(m,l.lat),-m),I=Math.sin(b*d);return new Ge(this.R*l.lng*d,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var d=180/Math.PI;return new Zt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=Yi*Math.PI;return new it([-l,-l],[l,l])})()};function In(l,d,m,b){if(R(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=d,this._c=m,this._d=b}In.prototype={transform:function(l,d){return this._transform(l.clone(),d)},_transform:function(l,d){return d=d||1,l.x=d*(this._a*l.x+this._b),l.y=d*(this._c*l.y+this._d),l},untransform:function(l,d){return d=d||1,new Ge((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function On(l,d,m,b){return new In(l,d,m,b)}var Dn=n({},ui,{code:"EPSG:3857",projection:Fi,transformation:(function(){var l=.5/(Math.PI*Fi.R);return On(l,.5,-l,.5)})()}),En=n({},Dn,{code:"EPSG:900913"});function Pi(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function yn(l,d){var m="",b,I,P,j,se,de;for(b=0,P=l.length;b<P;b++){for(se=l[b],I=0,j=se.length;I<j;I++)de=se[I],m+=(I?"L":"M")+de.x+" "+de.y;m+=d?ge.svg?"z":"x":""}return m||"M0 0"}var fn=document.documentElement.style,en="ActiveXObject"in window,Fn=en&&!document.addEventListener,pn="msLaunchUri"in navigator&&!("documentMode"in document),ln=_t("webkit"),zn=_t("android"),cn=_t("android 2")||_t("android 3"),tn=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Jn=zn&&_t("Google")&&tn<537&&!("AudioNode"in window),Xe=!!window.opera,bt=!pn&&_t("chrome"),ri=_t("gecko")&&!ln&&!Xe&&!en,Ci=!bt&&_t("safari"),Ti=_t("phantom"),mn="OTransition"in fn,dn=navigator.platform.indexOf("Win")===0,Kn=en&&"transition"in fn,Pn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!cn,$n="MozPerspective"in fn,Gn=!window.L_DISABLE_3D&&(Kn||Pn||$n)&&!mn&&!Ti,Hn=typeof orientation<"u"||_t("mobile"),$e=Hn&&ln,Z=Hn&&Pn,Be=!window.PointerEvent&&window.MSPointerEvent,mt=!!(window.PointerEvent||Be),xt="ontouchstart"in window||!!window.TouchEvent,Wt=!window.L_NO_TOUCH&&(xt||mt),A=Hn&&Xe,ne=Hn&&ri,me=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Qe=(function(){var l=!1;try{var d=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",f,d),window.removeEventListener("testPassiveEventSupport",f,d)}catch{}return l})(),lt=(function(){return!!document.createElement("canvas").getContext})(),q=!!(document.createElementNS&&Pi("svg").createSVGRect),re=!!q&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),he=!q&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var d=l.firstChild;return d.style.behavior="url(#default#VML)",d&&typeof d.adj=="object"}catch{return!1}})(),et=navigator.platform.indexOf("Mac")===0,ii=navigator.platform.indexOf("Linux")===0;function _t(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var ge={ie:en,ielt9:Fn,edge:pn,webkit:ln,android:zn,android23:cn,androidStock:Jn,opera:Xe,chrome:bt,gecko:ri,safari:Ci,phantom:Ti,opera12:mn,win:dn,ie3d:Kn,webkit3d:Pn,gecko3d:$n,any3d:Gn,mobile:Hn,mobileWebkit:$e,mobileWebkit3d:Z,msPointer:Be,pointer:mt,touch:Wt,touchNative:xt,mobileOpera:A,mobileGecko:ne,retina:me,passiveEvents:Qe,canvas:lt,svg:q,vml:he,inlineSvg:re,mac:et,linux:ii},rt=ge.msPointer?"MSPointerDown":"pointerdown",Mt=ge.msPointer?"MSPointerMove":"pointermove",Xt=ge.msPointer?"MSPointerUp":"pointerup",si=ge.msPointer?"MSPointerCancel":"pointercancel",ai={touchstart:rt,touchmove:Mt,touchend:Xt,touchcancel:si},Q={touchstart:Wi,touchmove:Ot,touchend:Ot,touchcancel:Ot},_e={},Te=!1;function Ze(l,d,m){return d==="touchstart"&&Vt(),Q[d]?(m=Q[d].bind(this,m),l.addEventListener(ai[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function yt(l,d,m){if(!ai[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ai[d],m,!1)}function Ye(l){_e[l.pointerId]=l}function wt(l){_e[l.pointerId]&&(_e[l.pointerId]=l)}function Qt(l){delete _e[l.pointerId]}function Vt(){Te||(document.addEventListener(rt,Ye,!0),document.addEventListener(Mt,wt,!0),document.addEventListener(Xt,Qt,!0),document.addEventListener(si,Qt,!0),Te=!0)}function Ot(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in _e)d.touches.push(_e[m]);d.changedTouches=[d],l(d)}}function Wi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&Di(d),Ot(l,d)}function hn(l){var d={},m,b;for(b in l)m=l[b],d[b]=m&&m.bind?m.bind(l):m;return l=d,d.type="dblclick",d.detail=2,d.isTrusted=!1,d._simulated=!0,d}var Bi=200;function ni(l,d){l.addEventListener("dblclick",d);var m=0,b;function I(P){if(P.detail!==1){b=P.detail;return}if(!(P.pointerType==="mouse"||P.sourceCapabilities&&!P.sourceCapabilities.firesTouchEvents)){var j=so(P);if(!(j.some(function(de){return de instanceof HTMLLabelElement&&de.attributes.for})&&!j.some(function(de){return de instanceof HTMLInputElement||de instanceof HTMLSelectElement}))){var se=Date.now();se-m<=Bi?(b++,b===2&&d(hn(P))):b=1,m=se}}}return l.addEventListener("click",I),{dblclick:d,simDblclick:I}}function Vi(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var F=Fe(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),K=Fe(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Pe=K==="webkitTransition"||K==="OTransition"?K+"End":"transitionend";function Me(l){return typeof l=="string"?document.getElementById(l):l}function qe(l,d){var m=l.style[d]||l.currentStyle&&l.currentStyle[d];if((!m||m==="auto")&&document.defaultView){var b=document.defaultView.getComputedStyle(l,null);m=b?b[d]:null}return m==="auto"?null:m}function ke(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function ht(l){var d=l.parentNode;d&&d.removeChild(l)}function $t(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function ue(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function we(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function ut(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=V(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function Ne(l,d){if(l.classList!==void 0)for(var m=_(d),b=0,I=m.length;b<I;b++)l.classList.add(m[b]);else if(!ut(l,d)){var P=V(l);Ut(l,(P?P+" ":"")+d)}}function nt(l,d){l.classList!==void 0?l.classList.remove(d):Ut(l,v((" "+V(l)+" ").replace(" "+d+" "," ")))}function Ut(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function V(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Y(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&Ie(l,d)}function Ie(l,d){var m=!1,b="DXImageTransform.Microsoft.Alpha";try{m=l.filters.item(b)}catch{if(d===1)return}d=Math.round(d*100),m?(m.Enabled=d!==100,m.Opacity=d):l.style.filter+=" progid:"+b+"(opacity="+d+")"}function Fe(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function Re(l,d,m){var b=d||new Ge(0,0);l.style[F]=(ge.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function De(l,d){l._leaflet_pos=d,ge.any3d?Re(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Nt(l){return l._leaflet_pos||new Ge(0,0)}var ot,Ee,Et;if("onselectstart"in document)ot=function(){Ke(window,"selectstart",Di)},Ee=function(){Bt(window,"selectstart",Di)};else{var He=Fe(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ot=function(){if(He){var l=document.documentElement.style;Et=l[He],l[He]="none"}},Ee=function(){He&&(document.documentElement.style[He]=Et,Et=void 0)}}function ve(){Ke(window,"dragstart",Di)}function be(){Bt(window,"dragstart",Di)}var ye,Se;function gt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ce(),ye=l,Se=l.style.outlineStyle,l.style.outlineStyle="none",Ke(window,"keydown",ce))}function ce(){ye&&(ye.style.outlineStyle=Se,ye=void 0,Se=void 0,Bt(window,"keydown",ce))}function Oe(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function at(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var tt={__proto__:null,TRANSFORM:F,TRANSITION:K,TRANSITION_END:Pe,get:Me,getStyle:qe,create:ke,remove:ht,empty:$t,toFront:ue,toBack:we,hasClass:ut,addClass:Ne,removeClass:nt,setClass:Ut,getClass:V,setOpacity:Y,testProp:Fe,setTransform:Re,setPosition:De,getPosition:Nt,get disableTextSelection(){return ot},get enableTextSelection(){return Ee},disableImageDrag:ve,enableImageDrag:be,preventOutline:gt,restoreOutline:ce,getSizedParentNode:Oe,getScale:at};function Ke(l,d,m,b){if(d&&typeof d=="object")for(var I in d)wn(l,I,d[I],m);else{d=_(d);for(var P=0,j=d.length;P<j;P++)wn(l,d[P],m,b)}return this}var At="_leaflet_events";function Bt(l,d,m,b){if(arguments.length===1)un(l),delete l[At];else if(d&&typeof d=="object")for(var I in d)es(l,I,d[I],m);else if(d=_(d),arguments.length===2)un(l,function(se){return z(d,se)!==-1});else for(var P=0,j=d.length;P<j;P++)es(l,d[P],m,b);return this}function un(l,d){for(var m in l[At]){var b=m.split(/\d/)[0];(!d||d(b))&&es(l,b,null,null,m)}}var Hi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function wn(l,d,m,b){var I=d+c(m)+(b?"_"+c(b):"");if(l[At]&&l[At][I])return this;var P=function(se){return m.call(b||l,se||window.event)},j=P;!ge.touchNative&&ge.pointer&&d.indexOf("touch")===0?P=Ze(l,d,P):ge.touch&&d==="dblclick"?P=ni(l,P):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(Hi[d]||d,P,ge.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(P=function(se){se=se||window.event,Zn(l,se)&&j(se)},l.addEventListener(Hi[d],P,!1)):l.addEventListener(d,j,!1):l.attachEvent("on"+d,P),l[At]=l[At]||{},l[At][I]=P}function es(l,d,m,b,I){I=I||d+c(m)+(b?"_"+c(b):"");var P=l[At]&&l[At][I];if(!P)return this;!ge.touchNative&&ge.pointer&&d.indexOf("touch")===0?yt(l,d,P):ge.touch&&d==="dblclick"?Vi(l,P):"removeEventListener"in l?l.removeEventListener(Hi[d]||d,P,!1):l.detachEvent("on"+d,P),l[At][I]=null}function vi(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function qt(l){return wn(l,"wheel",vi),this}function Gi(l){return Ke(l,"mousedown touchstart dblclick contextmenu",vi),l._leaflet_disable_click=!0,this}function Di(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function gs(l){return Di(l),vi(l),this}function so(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function Uo(l,d){if(!d)return new Ge(l.clientX,l.clientY);var m=at(d),b=m.boundingClientRect;return new Ge((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Nr=ge.linux&&ge.chrome?window.devicePixelRatio:ge.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Rl(l){return ge.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Nr:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function Zn(l,d){var m=d.relatedTarget;if(!m)return!0;try{for(;m&&m!==l;)m=m.parentNode}catch{return!1}return m!==l}var Za={__proto__:null,on:Ke,off:Bt,stopPropagation:vi,disableScrollPropagation:qt,disableClickPropagation:Gi,preventDefault:Di,stop:gs,getPropagationPath:so,getMousePosition:Uo,getWheelDelta:Rl,isExternalTarget:Zn,addListener:Ke,removeListener:Bt},Rr=ti.extend({run:function(l,d,m,b){this.stop(),this._el=l,this._inProgress=!0,this._duration=m||.25,this._easeOutPower=1/Math.max(b||.5,.2),this._startPos=Nt(l),this._offset=d.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=xe(this._animate,this),this._step()},_step:function(l){var d=+new Date-this._startTime,m=this._duration*1e3;d<m?this._runFrame(this._easeOut(d/m),l):(this._runFrame(1),this._complete())},_runFrame:function(l,d){var m=this._startPos.add(this._offset.multiplyBy(l));d&&m._round(),De(this._el,m),this.fire("step")},_complete:function(){pt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Mi=ti.extend({options:{crs:Dn,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,d){d=w(this,d),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),d.maxBounds&&this.setMaxBounds(d.maxBounds),d.zoom!==void 0&&(this._zoom=this._limitZoom(d.zoom)),d.center&&d.zoom!==void 0&&this.setView(Dt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=K&&ge.any3d&&!ge.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Ke(this._proxy,Pe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,d,m){if(d=d===void 0?this._zoom:this._limitZoom(d),l=this._limitCenter(Dt(l),d,this.options.maxBounds),m=m||{},this._stop(),this._loaded&&!m.reset&&m!==!0){m.animate!==void 0&&(m.zoom=n({animate:m.animate},m.zoom),m.pan=n({animate:m.animate,duration:m.duration},m.pan));var b=this._zoom!==d?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,d,m.zoom):this._tryAnimatedPan(l,m.pan);if(b)return clearTimeout(this._sizeTimer),this}return this._resetView(l,d,m.pan&&m.pan.noMoveStart),this},setZoom:function(l,d){return this._loaded?this.setView(this.getCenter(),l,{zoom:d}):(this._zoom=l,this)},zoomIn:function(l,d){return l=l||(ge.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(ge.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),I=this.getSize().divideBy(2),P=l instanceof Ge?l:this.latLngToContainerPoint(l),j=P.subtract(I).multiplyBy(1-1/b),se=this.containerPointToLatLng(I.add(j));return this.setView(se,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():ci(l);var m=Ae(d.paddingTopLeft||d.padding||[0,0]),b=Ae(d.paddingBottomRight||d.padding||[0,0]),I=this.getBoundsZoom(l,!1,m.add(b));if(I=typeof d.maxZoom=="number"?Math.min(d.maxZoom,I):I,I===1/0)return{center:l.getCenter(),zoom:I};var P=b.subtract(m).divideBy(2),j=this.project(l.getSouthWest(),I),se=this.project(l.getNorthEast(),I),de=this.unproject(j.add(se).divideBy(2).add(P),I);return{center:de,zoom:I}},fitBounds:function(l,d){if(l=ci(l),!l.isValid())throw new Error("Bounds are not valid.");var m=this._getBoundsCenterZoom(l,d);return this.setView(m.center,m.zoom,d)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,d){return this.setView(l,this._zoom,{pan:d})},panBy:function(l,d){if(l=Ae(l).round(),d=d||{},!l.x&&!l.y)return this.fire("moveend");if(d.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Rr,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){Ne(this._mapPane,"leaflet-pan-anim");var m=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,m,d.duration||.25,d.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,d,m){if(m=m||{},m.animate===!1||!ge.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),I=this.project(l),P=this.getSize(),j=this._zoom;l=Dt(l),d=d===void 0?j:d;var se=Math.max(P.x,P.y),de=se*this.getZoomScale(j,d),Ve=I.distanceTo(b)||1,Ft=1.42,Si=Ft*Ft;function Qi(Es){var Fm=Es?-1:1,oA=Es?de:se,rA=de*de-se*se+Fm*Si*Si*Ve*Ve,aA=2*oA*Si*Ve,cw=rA/aA,$L=Math.sqrt(cw*cw+1)-cw,lA=$L<1e-9?-18:Math.log($L);return lA}function po(Es){return(Math.exp(Es)-Math.exp(-Es))/2}function Ws(Es){return(Math.exp(Es)+Math.exp(-Es))/2}function ar(Es){return po(Es)/Ws(Es)}var Do=Qi(0);function Kh(Es){return se*(Ws(Do)/Ws(Do+Ft*Es))}function tA(Es){return se*(Ws(Do)*ar(Do+Ft*Es)-po(Do))/Si}function iA(Es){return 1-Math.pow(1-Es,1.5)}var nA=Date.now(),jL=(Qi(1)-Do)/Ft,sA=m.duration?1e3*m.duration:1e3*jL*.8;function UL(){var Es=(Date.now()-nA)/sA,Fm=iA(Es)*jL;Es<=1?(this._flyToFrame=xe(UL,this),this._move(this.unproject(b.add(I.subtract(b).multiplyBy(tA(Fm)/Ve)),j),this.getScaleZoom(se/Kh(Fm),j),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),UL.call(this),this},flyToBounds:function(l,d){var m=this._getBoundsCenterZoom(l,d);return this.flyTo(m.center,m.zoom,d)},setMaxBounds:function(l){return l=ci(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var d=this.options.minZoom;return this.options.minZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var d=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,d){this._enforcingBounds=!0;var m=this.getCenter(),b=this._limitCenter(m,this._zoom,ci(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Ae(d.paddingTopLeft||d.padding||[0,0]),b=Ae(d.paddingBottomRight||d.padding||[0,0]),I=this.project(this.getCenter()),P=this.project(l),j=this.getPixelBounds(),se=Ht([j.min.add(m),j.max.subtract(b)]),de=se.getSize();if(!se.contains(P)){this._enforcingBounds=!0;var Ve=P.subtract(se.getCenter()),Ft=se.extend(P).getSize().subtract(de);I.x+=Ve.x<0?-Ft.x:Ft.x,I.y+=Ve.y<0?-Ft.y:Ft.y,this.panTo(this.unproject(I),d),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=n({animate:!1,pan:!0},l===!0?{animate:!0}:l);var d=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var m=this.getSize(),b=d.divideBy(2).round(),I=m.divideBy(2).round(),P=b.subtract(I);return!P.x&&!P.y?this:(l.animate&&l.pan?this.panBy(P):(l.pan&&this._rawPanBy(P),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:d,newSize:m}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var d=r(this._handleGeolocationResponse,this),m=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(d,m,l):navigator.geolocation.getCurrentPosition(d,m,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var d=l.code,m=l.message||(d===1?"permission denied":d===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:d,message:"Geolocation error: "+m+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var d=l.coords.latitude,m=l.coords.longitude,b=new Zt(d,m),I=b.toBounds(l.coords.accuracy*2),P=this._locateOptions;if(P.setView){var j=this.getBoundsZoom(I);this.setView(b,P.maxZoom?Math.min(j,P.maxZoom):j)}var se={latlng:b,bounds:I,timestamp:l.timestamp};for(var de in l.coords)typeof l.coords[de]=="number"&&(se[de]=l.coords[de]);this.fire("locationfound",se)}},addHandler:function(l,d){if(!d)return this;var m=this[l]=new d(this);return this._handlers.push(m),this.options[l]&&m.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),ht(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(pt(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var l;for(l in this._layers)this._layers[l].remove();for(l in this._panes)ht(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,d){var m="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),b=ke("div",m,d||this._mapPane);return l&&(this._panes[l]=b),b},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),d=this.unproject(l.getBottomLeft()),m=this.unproject(l.getTopRight());return new Yt(d,m)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,d,m){l=ci(l),m=Ae(m||[0,0]);var b=this.getZoom()||0,I=this.getMinZoom(),P=this.getMaxZoom(),j=l.getNorthWest(),se=l.getSouthEast(),de=this.getSize().subtract(m),Ve=Ht(this.project(se,b),this.project(j,b)).getSize(),Ft=ge.any3d?this.options.zoomSnap:1,Si=de.x/Ve.x,Qi=de.y/Ve.y,po=d?Math.max(Si,Qi):Math.min(Si,Qi);return b=this.getScaleZoom(po,b),Ft&&(b=Math.round(b/(Ft/100))*(Ft/100),b=d?Math.ceil(b/Ft)*Ft:Math.floor(b/Ft)*Ft),Math.max(I,Math.min(P,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Ge(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,d){var m=this._getTopLeftPoint(l,d);return new it(m,m.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,d){var m=this.options.crs;return d=d===void 0?this._zoom:d,m.scale(l)/m.scale(d)},getScaleZoom:function(l,d){var m=this.options.crs;d=d===void 0?this._zoom:d;var b=m.zoom(l*m.scale(d));return isNaN(b)?1/0:b},project:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.latLngToPoint(Dt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Ae(l),d)},layerPointToLatLng:function(l){var d=Ae(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(Dt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Dt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(ci(l))},distance:function(l,d){return this.options.crs.distance(Dt(l),Dt(d))},containerPointToLayerPoint:function(l){return Ae(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ae(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Ae(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Dt(l)))},mouseEventToContainerPoint:function(l){return Uo(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var d=this._container=Me(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Ke(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&ge.any3d,Ne(l,"leaflet-container"+(ge.touch?" leaflet-touch":"")+(ge.retina?" leaflet-retina":"")+(ge.ielt9?" leaflet-oldie":"")+(ge.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=qe(l,"position");d!=="absolute"&&d!=="relative"&&d!=="fixed"&&d!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),De(this._mapPane,new Ge(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Ne(l.markerPane,"leaflet-zoom-hide"),Ne(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){De(this._mapPane,new Ge(0,0));var b=!this._loaded;this._loaded=!0,d=this._limitZoom(d),this.fire("viewprereset");var I=this._zoom!==d;this._moveStart(I,m)._move(l,d)._moveEnd(I),this.fire("viewreset"),b&&this.fire("load")},_moveStart:function(l,d){return l&&this.fire("zoomstart"),d||this.fire("movestart"),this},_move:function(l,d,m,b){d===void 0&&(d=this._zoom);var I=this._zoom!==d;return this._zoom=d,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),b?m&&m.pinch&&this.fire("zoom",m):((I||m&&m.pinch)&&this.fire("zoom",m),this.fire("move",m)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return pt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){De(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[c(this._container)]=this;var d=l?Bt:Ke;d(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&d(window,"resize",this._onResize,this),ge.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){pt(this._resizeRequest),this._resizeRequest=xe(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,d){for(var m=[],b,I=d==="mouseout"||d==="mouseover",P=l.target||l.srcElement,j=!1;P;){if(b=this._targets[c(P)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){j=!0;break}if(b&&b.listens(d,!0)&&(I&&!Zn(P,l)||(m.push(b),I))||P===this._container)break;P=P.parentNode}return!m.length&&!j&&!I&&this.listens(d,!0)&&(m=[this]),m},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var d=l.target||l.srcElement;if(!(!this._loaded||d._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(d))){var m=l.type;m==="mousedown"&>(d),this._fireDOMEvent(l,m)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,d,m){if(l.type==="click"){var b=n({},l);b.type="preclick",this._fireDOMEvent(b,b.type,m)}var I=this._findEventTargets(l,d);if(m){for(var P=[],j=0;j<m.length;j++)m[j].listens(d,!0)&&P.push(m[j]);I=P.concat(I)}if(I.length){d==="contextmenu"&&Di(l);var se=I[0],de={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Ve=se.getLatLng&&(!se._radius||se._radius<=10);de.containerPoint=Ve?this.latLngToContainerPoint(se.getLatLng()):this.mouseEventToContainerPoint(l),de.layerPoint=this.containerPointToLayerPoint(de.containerPoint),de.latlng=Ve?se.getLatLng():this.layerPointToLatLng(de.layerPoint)}for(j=0;j<I.length;j++)if(I[j].fire(d,de,!0),de.originalEvent._stopped||I[j].options.bubblingMouseEvents===!1&&z(this._mouseEvents,d)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,d=this._handlers.length;l<d;l++)this._handlers[l].disable()},whenReady:function(l,d){return this._loaded?l.call(d||this,{target:this}):this.on("load",l,d),this},_getMapPanePos:function(){return Nt(this._mapPane)||new Ge(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,d){var m=l&&d!==void 0?this._getNewPixelOrigin(l,d):this.getPixelOrigin();return m.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,d){var m=this.getSize()._divideBy(2);return this.project(l,d)._subtract(m)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return this.project(l,d)._subtract(b)},_latLngBoundsToNewLayerBounds:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return Ht([this.project(l.getSouthWest(),d)._subtract(b),this.project(l.getNorthWest(),d)._subtract(b),this.project(l.getSouthEast(),d)._subtract(b),this.project(l.getNorthEast(),d)._subtract(b)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,d,m){if(!m)return l;var b=this.project(l,d),I=this.getSize().divideBy(2),P=new it(b.subtract(I),b.add(I)),j=this._getBoundsOffset(P,m,d);return Math.abs(j.x)<=1&&Math.abs(j.y)<=1?l:this.unproject(b.add(j),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new it(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=Ht(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),I=b.min.subtract(l.min),P=b.max.subtract(l.max),j=this._rebound(I.x,-P.x),se=this._rebound(I.y,-P.y);return new Ge(j,se)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=ge.any3d?this.options.zoomSnap:1;return b&&(l=Math.round(l/b)*b),Math.max(d,Math.min(m,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){nt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,d){var m=this._getCenterOffset(l)._trunc();return(d&&d.animate)!==!0&&!this.getSize().contains(m)?!1:(this.panBy(m,d),!0)},_createAnimProxy:function(){var l=this._proxy=ke("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=F,b=this._proxy.style[m];Re(this._proxy,this.project(d.center,d.zoom),this.getZoomScale(d.zoom,1)),b===this._proxy.style[m]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ht(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();Re(this._proxy,this.project(l,d),this.getZoomScale(d,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,d,m){if(this._animatingZoom)return!0;if(m=m||{},!this._zoomAnimated||m.animate===!1||this._nothingToAnimate()||Math.abs(d-this._zoom)>this.options.zoomAnimationThreshold)return!1;var b=this.getZoomScale(d),I=this._getCenterOffset(l)._divideBy(1-1/b);return m.animate!==!0&&!this.getSize().contains(I)?!1:(xe(function(){this._moveStart(!0,m.noMoveStart||!1)._animateZoom(l,d,!0)},this),!0)},_animateZoom:function(l,d,m,b){this._mapPane&&(m&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=d,Ne(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:d,noUpdate:b}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&nt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function zc(l,d){return new Mi(l,d)}var $s=dt.extend({options:{position:"topright"},initialize:function(l){w(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var d=this._map;return d&&d.removeControl(this),this.options.position=l,d&&d.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var d=this._container=this.onAdd(l),m=this.getPosition(),b=l._controlCorners[m];return Ne(d,"leaflet-control"),m.indexOf("bottom")!==-1?b.insertBefore(d,b.firstChild):b.appendChild(d),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(ht(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(l){this._map&&l&&l.screenX>0&&l.screenY>0&&this._map.getContainer().focus()}}),Cs=function(l){return new $s(l)};Mi.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},d="leaflet-",m=this._controlContainer=ke("div",d+"control-container",this._container);function b(I,P){var j=d+I+" "+d+P;l[I+P]=ke("div",j,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)ht(this._controlCorners[l]);ht(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Os=$s.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,d,m,b){return m<b?-1:b<m?1:0}},initialize:function(l,d,m){w(this,m),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var b in l)this._addLayer(l[b],b);for(b in d)this._addLayer(d[b],b,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var d=0;d<this._layers.length;d++)this._layers[d].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return $s.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,d){return this._addLayer(l,d),this._map?this._update():this},addOverlay:function(l,d){return this._addLayer(l,d,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var d=this._getLayer(c(l));return d&&this._layers.splice(this._layers.indexOf(d),1),this._map?this._update():this},expand:function(){Ne(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(Ne(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):nt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return nt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=ke("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),Gi(d),qt(d);var b=this._section=ke("section",l+"-list");m&&(this._map.on("click",this.collapse,this),Ke(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=ke("a",l+"-toggle",d);I.href="#",I.title="Layers",I.setAttribute("role","button"),Ke(I,{keydown:function(P){P.keyCode===13&&this._expandSafely()},click:function(P){Di(P),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=ke("div",l+"-base",b),this._separator=ke("div",l+"-separator",b),this._overlaysList=ke("div",l+"-overlays",b),d.appendChild(b)},_getLayer:function(l){for(var d=0;d<this._layers.length;d++)if(this._layers[d]&&c(this._layers[d].layer)===l)return this._layers[d]},_addLayer:function(l,d,m){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:d,overlay:m}),this.options.sortLayers&&this._layers.sort(r(function(b,I){return this.options.sortFunction(b.layer,I.layer,b.name,I.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;$t(this._baseLayersList),$t(this._overlaysList),this._layerControlInputs=[];var l,d,m,b,I=0;for(m=0;m<this._layers.length;m++)b=this._layers[m],this._addItem(b),d=d||b.overlay,l=l||!b.overlay,I+=b.overlay?0:1;return this.options.hideSingleBase&&(l=l&&I>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=d&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var d=this._getLayer(c(l.target)),m=d.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;m&&this._map.fire(m,d)},_createRadioElement:function(l,d){var m='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(d?' checked="checked"':"")+"/>",b=document.createElement("div");return b.innerHTML=m,b.firstChild},_addItem:function(l){var d=document.createElement("label"),m=this._map.hasLayer(l.layer),b;l.overlay?(b=document.createElement("input"),b.type="checkbox",b.className="leaflet-control-layers-selector",b.defaultChecked=m):b=this._createRadioElement("leaflet-base-layers_"+c(this),m),this._layerControlInputs.push(b),b.layerId=c(l.layer),Ke(b,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var P=document.createElement("span");d.appendChild(P),P.appendChild(b),P.appendChild(I);var j=l.overlay?this._overlaysList:this._baseLayersList;return j.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],I=[];this._handlingClick=!0;for(var P=l.length-1;P>=0;P--)d=l[P],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||I.push(m);for(P=0;P<I.length;P++)this._map.hasLayer(I[P])&&this._map.removeLayer(I[P]);for(P=0;P<b.length;P++)this._map.hasLayer(b[P])||this._map.addLayer(b[P]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,d,m,b=this._map.getZoom(),I=l.length-1;I>=0;I--)d=l[I],m=this._getLayer(d.layerId).layer,d.disabled=m.options.minZoom!==void 0&&b<m.options.minZoom||m.options.maxZoom!==void 0&&b>m.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,Ke(l,"click",Di),this.expand();var d=this;setTimeout(function(){Bt(l,"click",Di),d._preventClick=!1})}}),ca=function(l,d,m){return new Os(l,d,m)},da=$s.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var d="leaflet-control-zoom",m=ke("div",d+" leaflet-bar"),b=this.options;return this._zoomInButton=this._createButton(b.zoomInText,b.zoomInTitle,d+"-in",m,this._zoomIn),this._zoomOutButton=this._createButton(b.zoomOutText,b.zoomOutTitle,d+"-out",m,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),m},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,d,m,b,I){var P=ke("a",m,b);return P.innerHTML=l,P.href="#",P.title=d,P.setAttribute("role","button"),P.setAttribute("aria-label",d),Gi(P),Ke(P,"click",gs),Ke(P,"click",I,this),Ke(P,"click",this._refocusOnMap,this),P},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";nt(this._zoomInButton,d),nt(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Ne(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Ne(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});Mi.mergeOptions({zoomControl:!0}),Mi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new da,this.addControl(this.zoomControl))});var Vc=function(l){return new da(l)},ha=$s.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=ke("div",d),b=this.options;return this._addScales(b,d+"-line",m),l.on(b.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),m},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,d,m){l.metric&&(this._mScale=ke("div",d,m)),l.imperial&&(this._iScale=ke("div",d,m))},_update:function(){var l=this._map,d=l.getSize().y/2,m=l.distance(l.containerPointToLatLng([0,d]),l.containerPointToLatLng([this.options.maxWidth,d]));this._updateScales(m)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var d=this._getRoundNum(l),m=d<1e3?d+" m":d/1e3+" km";this._updateScale(this._mScale,m,d/l)},_updateImperial:function(l){var d=l*3.2808399,m,b,I;d>5280?(m=d/5280,b=this._getRoundNum(m),this._updateScale(this._iScale,b+" mi",b/m)):(I=this._getRoundNum(d),this._updateScale(this._iScale,I+" ft",I/d))},_updateScale:function(l,d,m){l.style.width=Math.round(this.options.maxWidth*m)+"px",l.innerHTML=d},_getRoundNum:function(l){var d=Math.pow(10,(Math.floor(l)+"").length-1),m=l/d;return m=m>=10?10:m>=5?5:m>=3?3:m>=2?2:1,d*m}}),$o=function(l){return new ha(l)},ua='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',or=$s.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(ge.inlineSvg?ua+" ":"")+"Leaflet</a>"},initialize:function(l){w(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=ke("div","leaflet-control-attribution"),Gi(this._container);for(var d in l._layers)l._layers[d].getAttribution&&this.addAttribution(l._layers[d].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var d in this._attributions)this._attributions[d]&&l.push(d);var m=[];this.options.prefix&&m.push(this.options.prefix),l.length&&m.push(l.join(", ")),this._container.innerHTML=m.join(' <span aria-hidden="true">|</span> ')}}});Mi.mergeOptions({attributionControl:!0}),Mi.addInitHook(function(){this.options.attributionControl&&new or().addTo(this)});var tw=function(l){return new or(l)};$s.Layers=Os,$s.Zoom=da,$s.Scale=ha,$s.Attribution=or,Cs.layers=ca,Cs.zoom=Vc,Cs.scale=$o,Cs.attribution=tw;var qo=dt.extend({initialize:function(l){this._map=l},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});qo.addTo=function(l,d){return l.addHandler(d,this),this};var Im={Events:jt},jc=ge.touch?"touchstart mousedown":"mousedown",ga=ti.extend({options:{clickTolerance:3},initialize:function(l,d,m,b){w(this,b),this._element=l,this._dragStartTarget=d||l,this._preventOutline=m},enable:function(){this._enabled||(Ke(this._dragStartTarget,jc,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ga._dragging===this&&this.finishDrag(!0),Bt(this._dragStartTarget,jc,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!ut(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){ga._dragging===this&&this.finishDrag();return}if(!(ga._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(ga._dragging=this,this._preventOutline&>(this._element),ve(),ot(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=Oe(this._element);this._startPoint=new Ge(d.clientX,d.clientY),this._startPos=Nt(this._element),this._parentScale=at(m);var b=l.type==="mousedown";Ke(document,b?"mousemove":"touchmove",this._onMove,this),Ke(document,b?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var d=l.touches&&l.touches.length===1?l.touches[0]:l,m=new Ge(d.clientX,d.clientY)._subtract(this._startPoint);!m.x&&!m.y||Math.abs(m.x)+Math.abs(m.y)<this.options.clickTolerance||(m.x/=this._parentScale.x,m.y/=this._parentScale.y,Di(l),this._moved||(this.fire("dragstart"),this._moved=!0,Ne(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Ne(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(m),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),De(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){nt(document.body,"leaflet-dragging"),this._lastTarget&&(nt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Bt(document,"mousemove touchmove",this._onMove,this),Bt(document,"mouseup touchend touchcancel",this._onUp,this),be(),Ee();var d=this._moved&&this._moving;this._moving=!1,ga._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Zg(l,d,m){var b,I=[1,4,2,8],P,j,se,de,Ve,Ft,Si,Qi;for(P=0,Ft=l.length;P<Ft;P++)l[P]._code=fa(l[P],d);for(se=0;se<4;se++){for(Si=I[se],b=[],P=0,Ft=l.length,j=Ft-1;P<Ft;j=P++)de=l[P],Ve=l[j],de._code&Si?Ve._code&Si||(Qi=jh(Ve,de,Si,d,m),Qi._code=fa(Qi,d),b.push(Qi)):(Ve._code&Si&&(Qi=jh(Ve,de,Si,d,m),Qi._code=fa(Qi,d),b.push(Qi)),b.push(de));l=b}return l}function Dm(l,d){var m,b,I,P,j,se,de,Ve,Ft;if(!l||l.length===0)throw new Error("latlngs not passed");ko(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Si=Dt([0,0]),Qi=ci(l),po=Qi.getNorthWest().distanceTo(Qi.getSouthWest())*Qi.getNorthEast().distanceTo(Qi.getNorthWest());po<1700&&(Si=Xg(l));var Ws=l.length,ar=[];for(m=0;m<Ws;m++){var Do=Dt(l[m]);ar.push(d.project(Dt([Do.lat-Si.lat,Do.lng-Si.lng])))}for(se=de=Ve=0,m=0,b=Ws-1;m<Ws;b=m++)I=ar[m],P=ar[b],j=I.y*P.x-P.y*I.x,de+=(I.x+P.x)*j,Ve+=(I.y+P.y)*j,se+=j*3;se===0?Ft=ar[0]:Ft=[de/se,Ve/se];var Kh=d.unproject(Ae(Ft));return Dt([Kh.lat+Si.lat,Kh.lng+Si.lng])}function Xg(l){for(var d=0,m=0,b=0,I=0;I<l.length;I++){var P=Dt(l[I]);d+=P.lat,m+=P.lng,b++}return Dt([d/b,m/b])}var Em={__proto__:null,clipPolygon:Zg,polygonCenter:Dm,centroid:Xg};function Pm(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=Mm(l,m),l=iw(l,m),l}function zh(l,d,m){return Math.sqrt(Uc(l,d,m,!0))}function Tm(l,d,m){return Uc(l,d,m)}function iw(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,I=new b(m);I[0]=I[m-1]=1,Vh(l,I,d,0,m-1);var P,j=[];for(P=0;P<m;P++)I[P]&&j.push(l[P]);return j}function Vh(l,d,m,b,I){var P=0,j,se,de;for(se=b+1;se<=I-1;se++)de=Uc(l[se],l[b],l[I],!0),de>P&&(j=se,P=de);P>m&&(d[j]=1,Vh(l,d,m,b,j),Vh(l,d,m,j,I))}function Mm(l,d){for(var m=[l[0]],b=1,I=0,P=l.length;b<P;b++)nw(l[b],l[I])>d&&(m.push(l[b]),I=b);return I<P-1&&m.push(l[P-1]),m}var Yg;function Jg(l,d,m,b,I){var P=b?Yg:fa(l,m),j=fa(d,m),se,de,Ve;for(Yg=j;;){if(!(P|j))return[l,d];if(P&j)return!1;se=P||j,de=jh(l,d,se,m,I),Ve=fa(de,m),se===P?(l=de,P=Ve):(d=de,j=Ve)}}function jh(l,d,m,b,I){var P=d.x-l.x,j=d.y-l.y,se=b.min,de=b.max,Ve,Ft;return m&8?(Ve=l.x+P*(de.y-l.y)/j,Ft=de.y):m&4?(Ve=l.x+P*(se.y-l.y)/j,Ft=se.y):m&2?(Ve=de.x,Ft=l.y+j*(de.x-l.x)/P):m&1&&(Ve=se.x,Ft=l.y+j*(se.x-l.x)/P),new Ge(Ve,Ft,I)}function fa(l,d){var m=0;return l.x<d.min.x?m|=1:l.x>d.max.x&&(m|=2),l.y<d.min.y?m|=4:l.y>d.max.y&&(m|=8),m}function nw(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Uc(l,d,m,b){var I=d.x,P=d.y,j=m.x-I,se=m.y-P,de=j*j+se*se,Ve;return de>0&&(Ve=((l.x-I)*j+(l.y-P)*se)/de,Ve>1?(I=m.x,P=m.y):Ve>0&&(I+=j*Ve,P+=se*Ve)),j=l.x-I,se=l.y-P,b?j*j+se*se:new Ge(I,P)}function ko(l){return!R(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Uh(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ko(l)}function Qg(l,d){var m,b,I,P,j,se,de,Ve;if(!l||l.length===0)throw new Error("latlngs not passed");ko(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ft=Dt([0,0]),Si=ci(l),Qi=Si.getNorthWest().distanceTo(Si.getSouthWest())*Si.getNorthEast().distanceTo(Si.getNorthWest());Qi<1700&&(Ft=Xg(l));var po=l.length,Ws=[];for(m=0;m<po;m++){var ar=Dt(l[m]);Ws.push(d.project(Dt([ar.lat-Ft.lat,ar.lng-Ft.lng])))}for(m=0,b=0;m<po-1;m++)b+=Ws[m].distanceTo(Ws[m+1])/2;if(b===0)Ve=Ws[0];else for(m=0,P=0;m<po-1;m++)if(j=Ws[m],se=Ws[m+1],I=j.distanceTo(se),P+=I,P>b){de=(P-b)/I,Ve=[se.x-de*(se.x-j.x),se.y-de*(se.y-j.y)];break}var Do=d.unproject(Ae(Ve));return Dt([Do.lat+Ft.lat,Do.lng+Ft.lng])}var Nm={__proto__:null,simplify:Pm,pointToSegmentDistance:zh,closestPointOnSegment:Tm,clipSegment:Jg,_getEdgeIntersection:jh,_getBitCode:fa,_sqClosestPointOnSegment:Uc,isFlat:ko,_flat:Uh,polylineCenter:Qg},$h={project:function(l){return new Ge(l.lng,l.lat)},unproject:function(l){return new Zt(l.y,l.x)},bounds:new it([-180,-90],[180,90])},ef={R:6378137,R_MINOR:6356752314245179e-9,bounds:new it([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var d=Math.PI/180,m=this.R,b=l.lat*d,I=this.R_MINOR/m,P=Math.sqrt(1-I*I),j=P*Math.sin(b),se=Math.tan(Math.PI/4-b/2)/Math.pow((1-j)/(1+j),P/2);return b=-m*Math.log(Math.max(se,1e-10)),new Ge(l.lng*d*m,b)},unproject:function(l){for(var d=180/Math.PI,m=this.R,b=this.R_MINOR/m,I=Math.sqrt(1-b*b),P=Math.exp(-l.y/m),j=Math.PI/2-2*Math.atan(P),se=0,de=.1,Ve;se<15&&Math.abs(de)>1e-7;se++)Ve=I*Math.sin(j),Ve=Math.pow((1-Ve)/(1+Ve),I/2),de=Math.PI/2-2*Math.atan(P*Ve)-j,j+=de;return new Zt(j*d,l.x*d/m)}},Rm={__proto__:null,LonLat:$h,Mercator:ef,SphericalMercator:Fi},tf=n({},ui,{code:"EPSG:3395",projection:ef,transformation:(function(){var l=.5/(Math.PI*ef.R);return On(l,.5,-l,.5)})()}),nf=n({},ui,{code:"EPSG:4326",projection:$h,transformation:On(1/180,1,-1/180,.5)}),sw=n({},_i,{projection:$h,transformation:On(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,d){var m=d.lng-l.lng,b=d.lat-l.lat;return Math.sqrt(m*m+b*b)},infinite:!0});_i.Earth=ui,_i.EPSG3395=tf,_i.EPSG3857=Dn,_i.EPSG900913=En,_i.EPSG4326=nf,_i.Simple=sw;var Ko=ti.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(l){return l.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(l){return l&&l.removeLayer(this),this},getPane:function(l){return this._map.getPane(l?this.options[l]||l:this.options.pane)},addInteractiveTarget:function(l){return this._map._targets[c(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[c(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var d=l.target;if(d.hasLayer(this)){if(this._map=d,this._zoomAnimated=d._zoomAnimated,this.getEvents){var m=this.getEvents();d.on(m,this),this.once("remove",function(){d.off(m,this)},this)}this.onAdd(d),this.fire("add"),d.fire("layeradd",{layer:this})}}});Mi.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var d=c(l);return this._layers[d]?this:(this._layers[d]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var d=c(l);return this._layers[d]?(this._loaded&&l.onRemove(this),delete this._layers[d],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return c(l)in this._layers},eachLayer:function(l,d){for(var m in this._layers)l.call(d,this._layers[m]);return this},_addLayers:function(l){l=l?R(l)?l:[l]:[];for(var d=0,m=l.length;d<m;d++)this.addLayer(l[d])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[c(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var d=c(l);this._zoomBoundLayers[d]&&(delete this._zoomBoundLayers[d],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,d=-1/0,m=this._getZoomSpan();for(var b in this._zoomBoundLayers){var I=this._zoomBoundLayers[b].options;l=I.minZoom===void 0?l:Math.min(l,I.minZoom),d=I.maxZoom===void 0?d:Math.max(d,I.maxZoom)}this._layersMaxZoom=d===-1/0?void 0:d,this._layersMinZoom=l===1/0?void 0:l,m!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Al=Ko.extend({initialize:function(l,d){w(this,d),this._layers={};var m,b;if(l)for(m=0,b=l.length;m<b;m++)this.addLayer(l[m])},addLayer:function(l){var d=this.getLayerId(l);return this._layers[d]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var d=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[d]&&this._map.removeLayer(this._layers[d]),delete this._layers[d],this},hasLayer:function(l){var d=typeof l=="number"?l:this.getLayerId(l);return d in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var d=Array.prototype.slice.call(arguments,1),m,b;for(m in this._layers)b=this._layers[m],b[l]&&b[l].apply(b,d);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,d){for(var m in this._layers)l.call(d,this._layers[m]);return this},getLayer:function(l){return this._layers[l]},getLayers:function(){var l=[];return this.eachLayer(l.push,l),l},setZIndex:function(l){return this.invoke("setZIndex",l)},getLayerId:function(l){return c(l)}}),ow=function(l,d){return new Al(l,d)},Ar=Al.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Al.prototype.addLayer.call(this,l),this.fire("layeradd",{layer:l}))},removeLayer:function(l){return this.hasLayer(l)?(l in this._layers&&(l=this._layers[l]),l.removeEventParent(this),Al.prototype.removeLayer.call(this,l),this.fire("layerremove",{layer:l})):this},setStyle:function(l){return this.invoke("setStyle",l)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var l=new Yt;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),rw=function(l,d){return new Ar(l,d)},Ol=dt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){w(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,d){var m=this._getIconUrl(l);if(!m){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var b=this._createImg(m,d&&d.tagName==="IMG"?d:null);return this._setIconStyles(b,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(b.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),b},_setIconStyles:function(l,d){var m=this.options,b=m[d+"Size"];typeof b=="number"&&(b=[b,b]);var I=Ae(b),P=Ae(d==="shadow"&&m.shadowAnchor||m.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),P&&(l.style.marginLeft=-P.x+"px",l.style.marginTop=-P.y+"px"),I&&(l.style.width=I.x+"px",l.style.height=I.y+"px")},_createImg:function(l,d){return d=d||document.createElement("img"),d.src=l,d},_getIconUrl:function(l){return ge.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function aw(l){return new Ol(l)}var O=Ol.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(l){return typeof O.imagePath!="string"&&(O.imagePath=this._detectIconPath()),(this.options.imagePath||O.imagePath)+Ol.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,I){var P=b.exec(m);return P&&P[I]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=ke("div","leaflet-default-icon-path",document.body),d=qe(l,"background-image")||qe(l,"backgroundImage");if(document.body.removeChild(l),d=this._stripUrl(d),d)return d;var m=document.querySelector('link[href$="leaflet.css"]');return m?m.href.substring(0,m.href.length-11-1):""}}),ie=qo.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new ga(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Ne(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&nt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var d=this._marker,m=d._map,b=this._marker.options.autoPanSpeed,I=this._marker.options.autoPanPadding,P=Nt(d._icon),j=m.getPixelBounds(),se=m.getPixelOrigin(),de=Ht(j.min._subtract(se).add(I),j.max._subtract(se).subtract(I));if(!de.contains(P)){var Ve=Ae((Math.max(de.max.x,P.x)-de.max.x)/(j.max.x-de.max.x)-(Math.min(de.min.x,P.x)-de.min.x)/(j.min.x-de.min.x),(Math.max(de.max.y,P.y)-de.max.y)/(j.max.y-de.max.y)-(Math.min(de.min.y,P.y)-de.min.y)/(j.min.y-de.min.y)).multiplyBy(b);m.panBy(Ve,{animate:!1}),this._draggable._newPos._add(Ve),this._draggable._startPos._add(Ve),De(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=xe(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(pt(this._panRequest),this._panRequest=xe(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=Nt(d._icon),I=d._map.layerPointToLatLng(b);m&&De(m,b),d._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){pt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),pe=Ko.extend({options:{icon:new O,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,d){w(this,d),this._latlng=Dt(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var d=this._latlng;return this._latlng=Dt(l),this.update(),this.fire("move",{oldLatLng:d,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,d="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),m=l.icon.createIcon(this._icon),b=!1;m!==this._icon&&(this._icon&&this._removeIcon(),b=!0,l.title&&(m.title=l.title),m.tagName==="IMG"&&(m.alt=l.alt||"")),Ne(m,d),l.keyboard&&(m.tabIndex="0",m.setAttribute("role","button")),this._icon=m,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Ke(m,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),P=!1;I!==this._shadow&&(this._removeShadow(),P=!0),I&&(Ne(I,d),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&P&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Bt(this._icon,"focus",this._panOnFocus,this),ht(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ht(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&De(this._icon,l),this._shadow&&De(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(d)},_initInteraction:function(){if(this.options.interactive&&(Ne(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),ie)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new ie(this),l&&this.dragging.enable()}},setOpacity:function(l){return this.options.opacity=l,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var l=this.options.opacity;this._icon&&Y(this._icon,l),this._shadow&&Y(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var d=this.options.icon.options,m=d.iconSize?Ae(d.iconSize):Ae(0,0),b=d.iconAnchor?Ae(d.iconAnchor):Ae(0,0);l.panInside(this._latlng,{paddingTopLeft:b,paddingBottomRight:m.subtract(b)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function ae(l,d){return new pe(l,d)}var ze=Ko.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return w(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),Lt=ze.extend({options:{fill:!0,radius:10},initialize:function(l,d){w(this,d),this._latlng=Dt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=Dt(l),this.redraw(),this.fire("move",{oldLatLng:d,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var d=l&&l.radius||this._radius;return ze.prototype.setStyle.call(this,l),this.setRadius(d),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,d=this._radiusY||l,m=this._clickTolerance(),b=[l+m,d+m];this._pxBounds=new it(this._point.subtract(b),this._point.add(b))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(l){return l.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function zt(l,d){return new Lt(l,d)}var xi=Lt.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),w(this,d),this._latlng=Dt(l),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(l){return this._mRadius=l,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var l=[this._radius,this._radiusY||this._radius];return new Yt(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:ze.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===ui.distance){var I=Math.PI/180,P=this._mRadius/ui.R/I,j=m.project([d+P,l]),se=m.project([d-P,l]),de=j.add(se).divideBy(2),Ve=m.unproject(de).lat,Ft=Math.acos((Math.cos(P*I)-Math.sin(d*I)*Math.sin(Ve*I))/(Math.cos(d*I)*Math.cos(Ve*I)))/I;(isNaN(Ft)||Ft===0)&&(Ft=P/Math.cos(Math.PI/180*d)),this._point=de.subtract(m.getPixelOrigin()),this._radius=isNaN(Ft)?0:de.x-m.project([Ve,l-Ft]).x,this._radiusY=de.y-j.y}else{var Si=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(Si).x}this._updateBounds()}});function zi(l,d,m){return new xi(l,d,m)}var mi=ze.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,d){w(this,d),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var d=1/0,m=null,b=Uc,I,P,j=0,se=this._parts.length;j<se;j++)for(var de=this._parts[j],Ve=1,Ft=de.length;Ve<Ft;Ve++){I=de[Ve-1],P=de[Ve];var Si=b(l,I,P,!0);Si<d&&(d=Si,m=b(l,I,P))}return m&&(m.distance=Math.sqrt(d)),m},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Qg(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=Dt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Yt,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ko(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ko(l),b=0,I=l.length;b<I;b++)m?(d[b]=Dt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new it;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),d=new Ge(l,l);this._rawPxBounds&&(this._pxBounds=new it([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Zt,I=l.length,P,j;if(b){for(j=[],P=0;P<I;P++)j[P]=this._map.latLngToLayerPoint(l[P]),m.extend(j[P]);d.push(j)}else for(P=0;P<I;P++)this._projectLatlngs(l[P],d,m)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var d=this._parts,m,b,I,P,j,se,de;for(m=0,I=0,P=this._rings.length;m<P;m++)for(de=this._rings[m],b=0,j=de.length;b<j-1;b++)se=Jg(de[b],de[b+1],l,b,!0),se&&(d[I]=d[I]||[],d[I].push(se[0]),(se[1]!==de[b+1]||b===j-2)&&(d[I].push(se[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=Pm(l[m],d)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,d){var m,b,I,P,j,se,de=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,P=this._parts.length;m<P;m++)for(se=this._parts[m],b=0,j=se.length,I=j-1;b<j;I=b++)if(!(!d&&b===0)&&zh(l,se[I],se[b])<=de)return!0;return!1}});function Ni(l,d){return new mi(l,d)}mi._flat=Uh;var bi=mi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Dm(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=mi.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Zt&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){mi.prototype._setLatLngs.call(this,l),ko(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ko(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new Ge(d,d);if(l=new it(l.min.subtract(m),l.max.add(m)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var b=0,I=this._rings.length,P;b<I;b++)P=Zg(this._rings[b],l,!0),P.length&&this._parts.push(P)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,I,P,j,se,de,Ve;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(P=0,de=this._parts.length;P<de;P++)for(m=this._parts[P],j=0,Ve=m.length,se=Ve-1;j<Ve;se=j++)b=m[j],I=m[se],b.y>l.y!=I.y>l.y&&l.x<(I.x-b.x)*(l.y-b.y)/(I.y-b.y)+b.x&&(d=!d);return d||mi.prototype._containsPoint.call(this,l,!0)}});function ji(l,d){return new bi(l,d)}var Ji=Ar.extend({initialize:function(l,d){w(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=R(l)?l:l.features,m,b,I;if(d){for(m=0,b=d.length;m<b;m++)I=d[m],(I.geometries||I.geometry||I.features||I.coordinates)&&this.addData(I);return this}var P=this.options;if(P.filter&&!P.filter(l))return this;var j=Vn(l,P);return j?(j.feature=is(l),j.defaultOptions=j.options,this.resetStyle(j),P.onEachFeature&&P.onEachFeature(l,j),this.addLayer(j)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(d){this._setLayerStyle(d,l)},this)},_setLayerStyle:function(l,d){l.setStyle&&(typeof d=="function"&&(d=d(l.feature)),l.setStyle(d))}});function Vn(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,I=[],P=d&&d.pointToLayer,j=d&&d.coordsToLatLng||Li,se,de,Ve,Ft;if(!b&&!m)return null;switch(m.type){case"Point":return se=j(b),qn(P,l,se,d);case"MultiPoint":for(Ve=0,Ft=b.length;Ve<Ft;Ve++)se=j(b[Ve]),I.push(qn(P,l,se,d));return new Ar(I);case"LineString":case"MultiLineString":return de=as(b,m.type==="LineString"?0:1,j),new mi(de,d);case"Polygon":case"MultiPolygon":return de=as(b,m.type==="Polygon"?1:2,j),new bi(de,d);case"GeometryCollection":for(Ve=0,Ft=m.geometries.length;Ve<Ft;Ve++){var Si=Vn({geometry:m.geometries[Ve],type:"Feature",properties:l.properties},d);Si&&I.push(Si)}return new Ar(I);case"FeatureCollection":for(Ve=0,Ft=m.features.length;Ve<Ft;Ve++){var Qi=Vn(m.features[Ve],d);Qi&&I.push(Qi)}return new Ar(I);default:throw new Error("Invalid GeoJSON object.")}}function qn(l,d,m,b){return l?l(d,m):new pe(m,b&&b.markersInheritOptions&&b)}function Li(l){return new Zt(l[1],l[0],l[2])}function as(l,d,m){for(var b=[],I=0,P=l.length,j;I<P;I++)j=d?as(l[I],d-1,m):(m||Li)(l[I]),b.push(j);return b}function Fs(l,d){return l=Dt(l),l.alt!==void 0?[p(l.lng,d),p(l.lat,d),p(l.alt,d)]:[p(l.lng,d),p(l.lat,d)]}function Is(l,d,m,b){for(var I=[],P=0,j=l.length;P<j;P++)I.push(d?Is(l[P],ko(l[P])?0:d-1,m,b):Fs(l[P],b));return!d&&m&&I.length>0&&I.push(I[0].slice()),I}function ts(l,d){return l.feature?n({},l.feature,{geometry:d}):is(d)}function is(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var ls={toGeoJSON:function(l){return ts(this,{type:"Point",coordinates:Fs(this.getLatLng(),l)})}};pe.include(ls),xi.include(ls),Lt.include(ls),mi.include({toGeoJSON:function(l){var d=!ko(this._latlngs),m=Is(this._latlngs,d?1:0,!1,l);return ts(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),bi.include({toGeoJSON:function(l){var d=!ko(this._latlngs),m=d&&!ko(this._latlngs[0]),b=Is(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),ts(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),Al.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),ts(this,{type:"MultiPoint",coordinates:d})},toGeoJSON:function(l){var d=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(d==="MultiPoint")return this.toMultiPoint(l);var m=d==="GeometryCollection",b=[];return this.eachLayer(function(I){if(I.toGeoJSON){var P=I.toGeoJSON(l);if(m)b.push(P.geometry);else{var j=is(P);j.type==="FeatureCollection"?b.push.apply(b,j.features):b.push(j)}}}),m?ts(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function ps(l,d){return new Ji(l,d)}var oo=ps,Go=Ko.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=ci(d),w(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Ne(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ht(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(l){return this.options.opacity=l,this._image&&this._updateOpacity(),this},setStyle:function(l){return l.opacity&&this.setOpacity(l.opacity),this},bringToFront:function(){return this._map&&ue(this._image),this},bringToBack:function(){return this._map&&we(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=ci(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",d=this._image=l?this._url:ke("img");if(Ne(d,"leaflet-image-layer"),this._zoomAnimated&&Ne(d,"leaflet-zoom-animated"),this.options.className&&Ne(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onload=r(this.fire,this,"load"),d.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(d.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=d.src;return}d.src=this._url,d.alt=this.options.alt},_animateZoom:function(l){var d=this._map.getZoomScale(l.zoom),m=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Re(this._image,m,d)},_reset:function(){var l=this._image,d=new it(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();De(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){Y(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var l=this.options.errorOverlayUrl;l&&this._url!==l&&(this._url=l,this._image.src=l)},getCenter:function(){return this._bounds.getCenter()}}),pa=function(l,d,m){return new Go(l,d,m)},Ds=Go.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",d=this._image=l?this._url:ke("video");if(Ne(d,"leaflet-image-layer"),this._zoomAnimated&&Ne(d,"leaflet-zoom-animated"),this.options.className&&Ne(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onloadeddata=r(this.fire,this,"load"),l){for(var m=d.getElementsByTagName("source"),b=[],I=0;I<m.length;I++)b.push(m[I].src);this._url=m.length>0?b:[d.src];return}R(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(d.style,"objectFit")&&(d.style.objectFit="fill"),d.autoplay=!!this.options.autoplay,d.loop=!!this.options.loop,d.muted=!!this.options.muted,d.playsInline=!!this.options.playsInline;for(var P=0;P<this._url.length;P++){var j=ke("source");j.src=this._url[P],d.appendChild(j)}}});function nn(l,d,m){return new Ds(l,d,m)}var Io=Go.extend({_initImage:function(){var l=this._image=this._url;Ne(l,"leaflet-image-layer"),this._zoomAnimated&&Ne(l,"leaflet-zoom-animated"),this.options.className&&Ne(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function rr(l,d,m){return new Io(l,d,m)}var qs=Ko.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Zt||R(l))?(this._latlng=Dt(l),w(this,d)):(w(this,l),this._source=d),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&Y(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Y(this._container,1),this.bringToFront(),this.options.interactive&&(Ne(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Y(this._container,0),this._removeTimeout=setTimeout(r(ht,void 0,this._container),200)):ht(this._container),this.options.interactive&&(nt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Dt(l),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(l){return this._content=l,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var l={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ue(this._container),this},bringToBack:function(){return this._map&&we(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof Ar){d=null;var m=this._source._layers;for(var b in m)if(m[b]._map){d=m[b];break}if(!d)return!1;this._source=d}if(!l)if(d.getCenter)l=d.getCenter();else if(d.getLatLng)l=d.getLatLng();else if(d.getBounds)l=d.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,d=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof d=="string")l.innerHTML=d;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(d)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),d=Ae(this.options.offset),m=this._getAnchor();this._zoomAnimated?De(this._container,l.add(m)):d=d.add(l).add(m);var b=this._containerBottom=-d.y,I=this._containerLeft=-Math.round(this._containerWidth/2)+d.x;this._container.style.bottom=b+"px",this._container.style.left=I+"px"}},_getAnchor:function(){return[0,0]}});Mi.include({_initOverlay:function(l,d,m,b){var I=d;return I instanceof l||(I=new l(b).setContent(d)),m&&I.setLatLng(m),I}}),Ko.include({_initOverlay:function(l,d,m,b){var I=m;return I instanceof l?(w(I,b),I._source=this):(I=d&&!b?d:new l(b,this),I.setContent(m)),I}});var Fl=qs.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(l){return l=arguments.length?l:this._source._map,!l.hasLayer(this)&&l._popup&&l._popup.options.autoClose&&l.removeLayer(l._popup),l._popup=this,qs.prototype.openOn.call(this,l)},onAdd:function(l){qs.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof ze||this._source.on("preclick",vi))},onRemove:function(l){qs.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof ze||this._source.off("preclick",vi))},getEvents:function(){var l=qs.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",d=this._container=ke("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=ke("div",l+"-content-wrapper",d);if(this._contentNode=ke("div",l+"-content",m),Gi(d),qt(this._contentNode),Ke(d,"contextmenu",vi),this._tipContainer=ke("div",l+"-tip-container",d),this._tip=ke("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=ke("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">×</span>',Ke(b,"click",function(I){Di(I),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,d=l.style;d.width="",d.whiteSpace="nowrap";var m=l.offsetWidth;m=Math.min(m,this.options.maxWidth),m=Math.max(m,this.options.minWidth),d.width=m+1+"px",d.whiteSpace="",d.height="";var b=l.offsetHeight,I=this.options.maxHeight,P="leaflet-popup-scrolled";I&&b>I?(d.height=I+"px",Ne(l,P)):nt(l,P),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();De(this._container,d.add(m))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,d=parseInt(qe(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,I=new Ge(this._containerLeft,-m-this._containerBottom);I._add(Nt(this._container));var P=l.layerPointToContainerPoint(I),j=Ae(this.options.autoPanPadding),se=Ae(this.options.autoPanPaddingTopLeft||j),de=Ae(this.options.autoPanPaddingBottomRight||j),Ve=l.getSize(),Ft=0,Si=0;P.x+b+de.x>Ve.x&&(Ft=P.x+b-Ve.x+de.x),P.x-Ft-se.x<0&&(Ft=P.x-se.x),P.y+m+de.y>Ve.y&&(Si=P.y+m-Ve.y+de.y),P.y-Si-se.y<0&&(Si=P.y-se.y),(Ft||Si)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Ft,Si]))}},_getAnchor:function(){return Ae(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),sf=function(l,d){return new Fl(l,d)};Mi.mergeOptions({closePopupOnClick:!0}),Mi.include({openPopup:function(l,d,m){return this._initOverlay(Fl,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Ko.include({bindPopup:function(l,d){return this._popup=this._initOverlay(Fl,this._popup,l,d),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof Ar||(this._popup._source=this),this._popup._prepareOpen(l||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(l){return this._popup&&this._popup.setContent(l),this},getPopup:function(){return this._popup},_openPopup:function(l){if(!(!this._popup||!this._map)){gs(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof ze)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=d,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var Hl=qs.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){qs.prototype.onAdd.call(this,l),this.setOpacity(this.options.opacity),l.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(l){qs.prototype.onRemove.call(this,l),l.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var l=qs.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",d=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ke("div",d),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var d,m,b=this._map,I=this._container,P=b.latLngToContainerPoint(b.getCenter()),j=b.layerPointToContainerPoint(l),se=this.options.direction,de=I.offsetWidth,Ve=I.offsetHeight,Ft=Ae(this.options.offset),Si=this._getAnchor();se==="top"?(d=de/2,m=Ve):se==="bottom"?(d=de/2,m=0):se==="center"?(d=de/2,m=Ve/2):se==="right"?(d=0,m=Ve/2):se==="left"?(d=de,m=Ve/2):j.x<P.x?(se="right",d=0,m=Ve/2):(se="left",d=de+(Ft.x+Si.x)*2,m=Ve/2),l=l.subtract(Ae(d,m,!0)).add(Ft).add(Si),nt(I,"leaflet-tooltip-right"),nt(I,"leaflet-tooltip-left"),nt(I,"leaflet-tooltip-top"),nt(I,"leaflet-tooltip-bottom"),Ne(I,"leaflet-tooltip-"+se),De(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Y(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Ae(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),ma=function(l,d){return new Hl(l,d)};Mi.include({openTooltip:function(l,d,m){return this._initOverlay(Hl,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Ko.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Hl,this._tooltip,l,d),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var d=l?"off":"on",m={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?m.add=this._openTooltip:(m.mouseover=this._openTooltip,m.mouseout=this.closeTooltip,m.click=this._openTooltip,this._map?this._addFocusListeners():m.add=this._addFocusListeners),this._tooltip.options.sticky&&(m.mousemove=this._moveTooltip),this[d](m),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Ar||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var d=typeof l.getElement=="function"&&l.getElement();d&&(Ke(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Ke(d,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var d=typeof l.getElement=="function"&&l.getElement();d&&d.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var d=this;this._map.once("moveend",function(){d._openOnceFlag=!1,d._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var d=l.latlng,m,b;this._tooltip.options.sticky&&l.originalEvent&&(m=this._map.mouseEventToContainerPoint(l.originalEvent),b=this._map.containerPointToLayerPoint(m),d=this._map.layerPointToLatLng(b)),this._tooltip.setLatLng(d)}});var Am=Ol.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var d=l&&l.tagName==="DIV"?l:document.createElement("div"),m=this.options;if(m.html instanceof Element?($t(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Ae(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function lw(l){return new Am(l)}Ol.Default=O;var Zi=Ko.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ge.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){w(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),ht(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ue(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(we(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=h(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof Ge?l:new Ge(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var d=this.getPane().children,m=-l(-1/0,1/0),b=0,I=d.length,P;b<I;b++)P=d[b].style.zIndex,d[b]!==this._container&&P&&(m=l(m,+P));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!ge.ielt9){Y(this._container,this.options.opacity);var l=+new Date,d=!1,m=!1;for(var b in this._tiles){var I=this._tiles[b];if(!(!I.current||!I.loaded)){var P=Math.min(1,(l-I.loaded)/200);Y(I.el,P),P<1?d=!0:(I.active?m=!0:this._onOpaqueTile(I),I.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(pt(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=ke("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,d=this.options.maxZoom;if(l!==void 0){for(var m in this._levels)m=Number(m),this._levels[m].el.children.length||m===l?(this._levels[m].el.style.zIndex=d-Math.abs(l-m),this._onUpdateLevel(m)):(ht(this._levels[m].el),this._removeTilesAtZoom(m),this._onRemoveLevel(m),delete this._levels[m]);var b=this._levels[l],I=this._map;return b||(b=this._levels[l]={},b.el=ke("div","leaflet-tile-container leaflet-zoom-animated",this._container),b.el.style.zIndex=d,b.origin=I.project(I.unproject(I.getPixelOrigin()),l).round(),b.zoom=l,this._setZoomTransform(b,I.getCenter(),I.getZoom()),f(b.el.offsetWidth),this._onCreateLevel(b)),this._level=b,b}},_onUpdateLevel:f,_onRemoveLevel:f,_onCreateLevel:f,_pruneTiles:function(){if(this._map){var l,d,m=this._map.getZoom();if(m>this.options.maxZoom||m<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)d=this._tiles[l],d.retain=d.current;for(l in this._tiles)if(d=this._tiles[l],d.current&&!d.active){var b=d.coords;this._retainParent(b.x,b.y,b.z,b.z-5)||this._retainChildren(b.x,b.y,b.z,b.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var d in this._tiles)this._tiles[d].coords.z===l&&this._removeTile(d)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)ht(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,d,m,b){var I=Math.floor(l/2),P=Math.floor(d/2),j=m-1,se=new Ge(+I,+P);se.z=+j;var de=this._tileCoordsToKey(se),Ve=this._tiles[de];return Ve&&Ve.active?(Ve.retain=!0,!0):(Ve&&Ve.loaded&&(Ve.retain=!0),j>b?this._retainParent(I,P,j,b):!1)},_retainChildren:function(l,d,m,b){for(var I=2*l;I<2*l+2;I++)for(var P=2*d;P<2*d+2;P++){var j=new Ge(I,P);j.z=m+1;var se=this._tileCoordsToKey(j),de=this._tiles[se];if(de&&de.active){de.retain=!0;continue}else de&&de.loaded&&(de.retain=!0);m+1<b&&this._retainChildren(I,P,m+1,b)}},_resetView:function(l){var d=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),d,d)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var d=this.options;return d.minNativeZoom!==void 0&&l<d.minNativeZoom?d.minNativeZoom:d.maxNativeZoom!==void 0&&d.maxNativeZoom<l?d.maxNativeZoom:l},_setView:function(l,d,m,b){var I=Math.round(d);this.options.maxZoom!==void 0&&I>this.options.maxZoom||this.options.minZoom!==void 0&&I<this.options.minZoom?I=void 0:I=this._clampZoom(I);var P=this.options.updateWhenZooming&&I!==this._tileZoom;(!b||P)&&(this._tileZoom=I,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),I!==void 0&&this._update(l),m||this._pruneTiles(),this._noPrune=!!m),this._setZoomTransforms(l,d)},_setZoomTransforms:function(l,d){for(var m in this._levels)this._setZoomTransform(this._levels[m],l,d)},_setZoomTransform:function(l,d,m){var b=this._map.getZoomScale(m,l.zoom),I=l.origin.multiplyBy(b).subtract(this._map._getNewPixelOrigin(d,m)).round();ge.any3d?Re(l.el,I,b):De(l.el,I)},_resetGrid:function(){var l=this._map,d=l.options.crs,m=this._tileSize=this.getTileSize(),b=this._tileZoom,I=this._map.getPixelWorldBounds(this._tileZoom);I&&(this._globalTileRange=this._pxBoundsToTileRange(I)),this._wrapX=d.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,d.wrapLng[0]],b).x/m.x),Math.ceil(l.project([0,d.wrapLng[1]],b).x/m.y)],this._wrapY=d.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([d.wrapLat[0],0],b).y/m.x),Math.ceil(l.project([d.wrapLat[1],0],b).y/m.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var d=this._map,m=d._animatingZoom?Math.max(d._animateToZoom,d.getZoom()):d.getZoom(),b=d.getZoomScale(m,this._tileZoom),I=d.project(l,this._tileZoom).floor(),P=d.getSize().divideBy(b*2);return new it(I.subtract(P),I.add(P))},_update:function(l){var d=this._map;if(d){var m=this._clampZoom(d.getZoom());if(l===void 0&&(l=d.getCenter()),this._tileZoom!==void 0){var b=this._getTiledPixelBounds(l),I=this._pxBoundsToTileRange(b),P=I.getCenter(),j=[],se=this.options.keepBuffer,de=new it(I.getBottomLeft().subtract([se,-se]),I.getTopRight().add([se,-se]));if(!(isFinite(I.min.x)&&isFinite(I.min.y)&&isFinite(I.max.x)&&isFinite(I.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Ve in this._tiles){var Ft=this._tiles[Ve].coords;(Ft.z!==this._tileZoom||!de.contains(new Ge(Ft.x,Ft.y)))&&(this._tiles[Ve].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var Si=I.min.y;Si<=I.max.y;Si++)for(var Qi=I.min.x;Qi<=I.max.x;Qi++){var po=new Ge(Qi,Si);if(po.z=this._tileZoom,!!this._isValidTile(po)){var Ws=this._tiles[this._tileCoordsToKey(po)];Ws?Ws.current=!0:j.push(po)}}if(j.sort(function(Do,Kh){return Do.distanceTo(P)-Kh.distanceTo(P)}),j.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var ar=document.createDocumentFragment();for(Qi=0;Qi<j.length;Qi++)this._addTile(j[Qi],ar);this._level.el.appendChild(ar)}}}},_isValidTile:function(l){var d=this._map.options.crs;if(!d.infinite){var m=this._globalTileRange;if(!d.wrapLng&&(l.x<m.min.x||l.x>m.max.x)||!d.wrapLat&&(l.y<m.min.y||l.y>m.max.y))return!1}if(!this.options.bounds)return!0;var b=this._tileCoordsToBounds(l);return ci(this.options.bounds).overlaps(b)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var d=this._map,m=this.getTileSize(),b=l.scaleBy(m),I=b.add(m),P=d.unproject(b,l.z),j=d.unproject(I,l.z);return[P,j]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new Yt(d[0],d[1]);return this.options.noWrap||(m=this._map.wrapLatLngBounds(m)),m},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var d=l.split(":"),m=new Ge(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(ht(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Ne(l,"leaflet-tile");var d=this.getTileSize();l.style.width=d.x+"px",l.style.height=d.y+"px",l.onselectstart=f,l.onmousemove=f,ge.ielt9&&this.options.opacity<1&&Y(l,this.options.opacity)},_addTile:function(l,d){var m=this._getTilePos(l),b=this._tileCoordsToKey(l),I=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(I),this.createTile.length<2&&xe(r(this._tileReady,this,l,null,I)),De(I,m),this._tiles[b]={el:I,coords:l,current:!0},d.appendChild(I),this.fire("tileloadstart",{tile:I,coords:l})},_tileReady:function(l,d,m){d&&this.fire("tileerror",{error:d,tile:m,coords:l});var b=this._tileCoordsToKey(l);m=this._tiles[b],m&&(m.loaded=+new Date,this._map._fadeAnimated?(Y(m.el,0),pt(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(Ne(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ge.ielt9||!this._map._fadeAnimated?xe(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var d=new Ge(this._wrapX?g(l.x,this._wrapX):l.x,this._wrapY?g(l.y,this._wrapY):l.y);return d.z=l.z,d},_pxBoundsToTileRange:function(l){var d=this.getTileSize();return new it(l.min.unscaleBy(d).floor(),l.max.unscaleBy(d).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function Hs(l){return new Zi(l)}var Or=Zi.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,d){this._url=l,d=w(this,d),d.detectRetina&&ge.retina&&d.maxZoom>0?(d.tileSize=Math.floor(d.tileSize/2),d.zoomReverse?(d.zoomOffset--,d.minZoom=Math.min(d.maxZoom,d.minZoom+1)):(d.zoomOffset++,d.maxZoom=Math.max(d.minZoom,d.maxZoom-1)),d.minZoom=Math.max(0,d.minZoom)):d.zoomReverse?d.minZoom=Math.min(d.maxZoom,d.minZoom):d.maxZoom=Math.max(d.minZoom,d.maxZoom),typeof d.subdomains=="string"&&(d.subdomains=d.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,d){return this._url===l&&d===void 0&&(d=!0),this._url=l,d||this.redraw(),this},createTile:function(l,d){var m=document.createElement("img");return Ke(m,"load",r(this._tileOnLoad,this,d,m)),Ke(m,"error",r(this._tileOnError,this,d,m)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(m.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(m.referrerPolicy=this.options.referrerPolicy),m.alt="",m.src=this.getTileUrl(l),m},getTileUrl:function(l){var d={r:ge.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return E(this._url,n(d,this.options))},_tileOnLoad:function(l,d){ge.ielt9?setTimeout(r(l,this,null,d),0):l(null,d)},_tileOnError:function(l,d,m){var b=this.options.errorTileUrl;b&&d.getAttribute("src")!==b&&(d.src=b),l(m,d)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,d=this.options.maxZoom,m=this.options.zoomReverse,b=this.options.zoomOffset;return m&&(l=d-l),l+b},_getSubdomain:function(l){var d=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[d]},_abortLoading:function(){var l,d;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(d=this._tiles[l].el,d.onload=f,d.onerror=f,!d.complete)){d.src=H;var m=this._tiles[l].coords;ht(d),delete this._tiles[l],this.fire("tileabort",{tile:d,coords:m})}},_removeTile:function(l){var d=this._tiles[l];if(d)return d.el.setAttribute("src",H),Zi.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===H))return Zi.prototype._tileReady.call(this,l,d,m)}});function qh(l,d){return new Or(l,d)}var TL=Or.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,d){this._url=l;var m=n({},this.defaultWmsParams);for(var b in d)b in this.options||(m[b]=d[b]);d=w(this,d);var I=d.detectRetina&&ge.retina?2:1,P=this.getTileSize();m.width=P.x*I,m.height=P.y*I,this.wmsParams=m},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var d=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[d]=this._crs.code,Or.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=Ht(m.project(d[0]),m.project(d[1])),I=b.min,P=b.max,j=(this._wmsVersion>=1.3&&this._crs===nf?[I.y,I.x,P.y,P.x]:[I.x,I.y,P.x,P.y]).join(","),se=Or.prototype.getTileUrl.call(this,l);return se+S(this.wmsParams,se,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+j},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function XR(l,d){return new TL(l,d)}Or.WMS=TL,qh.wms=XR;var Xa=Ko.extend({options:{padding:.1},initialize:function(l){w(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Ne(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,d){var m=this._map.getZoomScale(d,this._zoom),b=this._map.getSize().multiplyBy(.5+this.options.padding),I=this._map.project(this._center,d),P=b.multiplyBy(-m).add(I).subtract(this._map._getNewPixelOrigin(l,d));ge.any3d?Re(this._container,P,m):De(this._container,P)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,d=this._map.getSize(),m=this._map.containerPointToLayerPoint(d.multiplyBy(-l)).round();this._bounds=new it(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ML=Xa.extend({options:{tolerance:0},getEvents:function(){var l=Xa.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Xa.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Ke(l,"mousemove",this._onMouseMove,this),Ke(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ke(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){pt(this._redrawRequest),delete this._ctx,ht(this._container),Bt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var d in this._layers)l=this._layers[d],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Xa.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=ge.retina?2:1;De(d,l.min),d.width=b*m.x,d.height=b*m.y,d.style.width=m.x+"px",d.style.height=m.y+"px",ge.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Xa.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(l)]=l;var d=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=d),this._drawLast=d,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var d=l._order,m=d.next,b=d.prev;m?m.prev=b:this._drawLast=b,b?b.next=m:this._drawFirst=m,delete l._order,delete this._layers[c(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var d=l.options.dashArray.split(/[, ]+/),m=[],b,I;for(I=0;I<d.length;I++){if(b=Number(d[I]),isNaN(b))return;m.push(b)}l.options._dashArray=m}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||xe(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new it,this._redrawBounds.extend(l._pxBounds.min.subtract([d,d])),this._redrawBounds.extend(l._pxBounds.max.add([d,d]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var d=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,d.x,d.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,d=this._redrawBounds;if(this._ctx.save(),d){var m=d.getSize();this._ctx.beginPath(),this._ctx.rect(d.min.x,d.min.y,m.x,m.y),this._ctx.clip()}this._drawing=!0;for(var b=this._drawFirst;b;b=b.next)l=b.layer,(!d||l._pxBounds&&l._pxBounds.intersects(d))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,d){if(this._drawing){var m,b,I,P,j=l._parts,se=j.length,de=this._ctx;if(se){for(de.beginPath(),m=0;m<se;m++){for(b=0,I=j[m].length;b<I;b++)P=j[m][b],de[b?"lineTo":"moveTo"](P.x,P.y);d&&de.closePath()}this._fillStroke(de,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var d=l._point,m=this._ctx,b=Math.max(Math.round(l._radius),1),I=(Math.max(Math.round(l._radiusY),1)||b)/b;I!==1&&(m.save(),m.scale(1,I)),m.beginPath(),m.arc(d.x,d.y/I,b,0,Math.PI*2,!1),I!==1&&m.restore(),this._fillStroke(m,l)}},_fillStroke:function(l,d){var m=d.options;m.fill&&(l.globalAlpha=m.fillOpacity,l.fillStyle=m.fillColor||m.color,l.fill(m.fillRule||"evenodd")),m.stroke&&m.weight!==0&&(l.setLineDash&&l.setLineDash(d.options&&d.options._dashArray||[]),l.globalAlpha=m.opacity,l.lineWidth=m.weight,l.strokeStyle=m.color,l.lineCap=m.lineCap,l.lineJoin=m.lineJoin,l.stroke())},_onClick:function(l){for(var d=this._map.mouseEventToLayerPoint(l),m,b,I=this._drawFirst;I;I=I.next)m=I.layer,m.options.interactive&&m._containsPoint(d)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(m))&&(b=m);this._fireEvent(b?[b]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var d=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,d)}},_handleMouseOut:function(l){var d=this._hoveredLayer;d&&(nt(this._container,"leaflet-interactive"),this._fireEvent([d],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,d){if(!this._mouseHoverThrottled){for(var m,b,I=this._drawFirst;I;I=I.next)m=I.layer,m.options.interactive&&m._containsPoint(d)&&(b=m);b!==this._hoveredLayer&&(this._handleMouseOut(l),b&&(Ne(this._container,"leaflet-interactive"),this._fireEvent([b],l,"mouseover"),this._hoveredLayer=b)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,d,m){this._map._fireDOMEvent(d,m||d.type,l)},_bringToFront:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(m)m.prev=b;else return;b?b.next=m:m&&(this._drawFirst=m),d.prev=this._drawLast,this._drawLast.next=d,d.next=null,this._drawLast=d,this._requestRedraw(l)}},_bringToBack:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(b)b.next=m;else return;m?m.prev=b:b&&(this._drawLast=b),d.prev=null,d.next=this._drawFirst,this._drawFirst.prev=d,this._drawFirst=d,this._requestRedraw(l)}}});function NL(l){return ge.canvas?new ML(l):null}var of=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(l){return document.createElement("<lvml:"+l+' class="lvml">')}}catch{}return function(l){return document.createElement("<"+l+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),YR={_initContainer:function(){this._container=ke("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Xa.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=of("shape");Ne(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=of("path"),d.appendChild(l._path),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){var d=l._container;this._container.appendChild(d),l.options.interactive&&l.addInteractiveTarget(d)},_removePath:function(l){var d=l._container;ht(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,I=l._container;I.stroked=!!b.stroke,I.filled=!!b.fill,b.stroke?(d||(d=l._stroke=of("stroke")),I.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=R(b.dashArray)?b.dashArray.join(" "):b.dashArray.replace(/( *, *)/g," "):d.dashStyle="",d.endcap=b.lineCap.replace("butt","flat"),d.joinstyle=b.lineJoin):d&&(I.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=of("fill")),I.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(I.removeChild(m),l._fill=null)},_updateCircle:function(l){var d=l._point.round(),m=Math.round(l._radius),b=Math.round(l._radiusY||m);this._setPath(l,l._empty()?"M0 0":"AL "+d.x+","+d.y+" "+m+","+b+" 0,"+65535*360)},_setPath:function(l,d){l._path.v=d},_bringToFront:function(l){ue(l._container)},_bringToBack:function(l){we(l._container)}},Om=ge.vml?of:Pi,rf=Xa.extend({_initContainer:function(){this._container=Om("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Om("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ht(this._container),Bt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Xa.prototype._update.call(this);var l=this._bounds,d=l.getSize(),m=this._container;(!this._svgSize||!this._svgSize.equals(d))&&(this._svgSize=d,m.setAttribute("width",d.x),m.setAttribute("height",d.y)),De(m,l.min),m.setAttribute("viewBox",[l.min.x,l.min.y,d.x,d.y].join(" ")),this.fire("update")}},_initPath:function(l){var d=l._path=Om("path");l.options.className&&Ne(d,l.options.className),l.options.interactive&&Ne(d,"leaflet-interactive"),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){ht(l._path),l.removeInteractiveTarget(l._path),delete this._layers[c(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var d=l._path,m=l.options;d&&(m.stroke?(d.setAttribute("stroke",m.color),d.setAttribute("stroke-opacity",m.opacity),d.setAttribute("stroke-width",m.weight),d.setAttribute("stroke-linecap",m.lineCap),d.setAttribute("stroke-linejoin",m.lineJoin),m.dashArray?d.setAttribute("stroke-dasharray",m.dashArray):d.removeAttribute("stroke-dasharray"),m.dashOffset?d.setAttribute("stroke-dashoffset",m.dashOffset):d.removeAttribute("stroke-dashoffset")):d.setAttribute("stroke","none"),m.fill?(d.setAttribute("fill",m.fillColor||m.color),d.setAttribute("fill-opacity",m.fillOpacity),d.setAttribute("fill-rule",m.fillRule||"evenodd")):d.setAttribute("fill","none"))},_updatePoly:function(l,d){this._setPath(l,yn(l._parts,d))},_updateCircle:function(l){var d=l._point,m=Math.max(Math.round(l._radius),1),b=Math.max(Math.round(l._radiusY),1)||m,I="a"+m+","+b+" 0 1,0 ",P=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+I+m*2+",0 "+I+-m*2+",0 ";this._setPath(l,P)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){ue(l._path)},_bringToBack:function(l){we(l._path)}});ge.vml&&rf.include(YR);function RL(l){return ge.svg||ge.vml?new rf(l):null}Mi.include({getRenderer:function(l){var d=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return d||(d=this._renderer=this._createRenderer()),this.hasLayer(d)||this.addLayer(d),d},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var d=this._paneRenderers[l];return d===void 0&&(d=this._createRenderer({pane:l}),this._paneRenderers[l]=d),d},_createRenderer:function(l){return this.options.preferCanvas&&NL(l)||RL(l)}});var AL=bi.extend({initialize:function(l,d){bi.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=ci(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function JR(l,d){return new AL(l,d)}rf.create=Om,rf.pointsToPath=yn,Ji.geometryToLayer=Vn,Ji.coordsToLatLng=Li,Ji.coordsToLatLngs=as,Ji.latLngToCoords=Fs,Ji.latLngsToCoords=Is,Ji.getFeature=ts,Ji.asFeature=is,Mi.mergeOptions({boxZoom:!0});var OL=qo.extend({initialize:function(l){this._map=l,this._container=l._container,this._pane=l._panes.overlayPane,this._resetStateTimeout=0,l.on("unload",this._destroy,this)},addHooks:function(){Ke(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Bt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ht(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(l){if(!l.shiftKey||l.which!==1&&l.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),ot(),ve(),this._startPoint=this._map.mouseEventToContainerPoint(l),Ke(document,{contextmenu:gs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=ke("div","leaflet-zoom-box",this._container),Ne(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new it(this._point,this._startPoint),m=d.getSize();De(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(ht(this._box),nt(this._container,"leaflet-crosshair")),Ee(),be(),Bt(document,{contextmenu:gs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var d=new Yt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(d).fire("boxzoomend",{boxZoomBounds:d})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Mi.addInitHook("addHandler","boxZoom",OL),Mi.mergeOptions({doubleClickZoom:!0});var FL=qo.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var d=this._map,m=d.getZoom(),b=d.options.zoomDelta,I=l.originalEvent.shiftKey?m-b:m+b;d.options.doubleClickZoom==="center"?d.setZoom(I):d.setZoomAround(l.containerPoint,I)}});Mi.addInitHook("addHandler","doubleClickZoom",FL),Mi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var HL=qo.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new ga(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}Ne(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){nt(this._map._container,"leaflet-grab"),nt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var d=ci(this._map.options.maxBounds);this._offsetLimit=Ht(this._map.latLngToContainerPoint(d.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(d.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var d=this._lastTime=+new Date,m=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(m),this._times.push(d),this._prunePositions(d)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),d=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=d.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,d){return l-(l-d)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),d=this._offsetLimit;l.x<d.min.x&&(l.x=this._viscousLimit(l.x,d.min.x)),l.y<d.min.y&&(l.y=this._viscousLimit(l.y,d.min.y)),l.x>d.max.x&&(l.x=this._viscousLimit(l.x,d.max.x)),l.y>d.max.y&&(l.y=this._viscousLimit(l.y,d.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,d=Math.round(l/2),m=this._initialWorldOffset,b=this._draggable._newPos.x,I=(b-d+m)%l+d-m,P=(b+d+m)%l-d-m,j=Math.abs(I+m)<Math.abs(P+m)?I:P;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=j},_onDragEnd:function(l){var d=this._map,m=d.options,b=!m.inertia||l.noInertia||this._times.length<2;if(d.fire("dragend",l),b)d.fire("moveend");else{this._prunePositions(+new Date);var I=this._lastPos.subtract(this._positions[0]),P=(this._lastTime-this._times[0])/1e3,j=m.easeLinearity,se=I.multiplyBy(j/P),de=se.distanceTo([0,0]),Ve=Math.min(m.inertiaMaxSpeed,de),Ft=se.multiplyBy(Ve/de),Si=Ve/(m.inertiaDeceleration*j),Qi=Ft.multiplyBy(-Si/2).round();!Qi.x&&!Qi.y?d.fire("moveend"):(Qi=d._limitOffset(Qi,d.options.maxBounds),xe(function(){d.panBy(Qi,{duration:Si,easeLinearity:j,noMoveStart:!0,animate:!0})}))}}});Mi.addInitHook("addHandler","dragging",HL),Mi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var WL=qo.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(l){this._map=l,this._setPanDelta(l.options.keyboardPanDelta),this._setZoomDelta(l.options.zoomDelta)},addHooks:function(){var l=this._map._container;l.tabIndex<=0&&(l.tabIndex="0"),Ke(l,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Bt(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,d=document.documentElement,m=l.scrollTop||d.scrollTop,b=l.scrollLeft||d.scrollLeft;this._map._container.focus(),window.scrollTo(b,m)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var d=this._panKeys={},m=this.keyCodes,b,I;for(b=0,I=m.left.length;b<I;b++)d[m.left[b]]=[-1*l,0];for(b=0,I=m.right.length;b<I;b++)d[m.right[b]]=[l,0];for(b=0,I=m.down.length;b<I;b++)d[m.down[b]]=[0,l];for(b=0,I=m.up.length;b<I;b++)d[m.up[b]]=[0,-1*l]},_setZoomDelta:function(l){var d=this._zoomKeys={},m=this.keyCodes,b,I;for(b=0,I=m.zoomIn.length;b<I;b++)d[m.zoomIn[b]]=l;for(b=0,I=m.zoomOut.length;b<I;b++)d[m.zoomOut[b]]=-l},_addHooks:function(){Ke(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Bt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var d=l.keyCode,m=this._map,b;if(d in this._panKeys){if(!m._panAnim||!m._panAnim._inProgress)if(b=this._panKeys[d],l.shiftKey&&(b=Ae(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Ae(b),m.options.maxBounds)),m.options.worldCopyJump){var I=m.wrapLatLng(m.unproject(m.project(m.getCenter()).add(b)));m.panTo(I)}else m.panBy(b)}else if(d in this._zoomKeys)m.setZoom(m.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[d]);else if(d===27&&m._popup&&m._popup.options.closeOnEscapeKey)m.closePopup();else return;gs(l)}}});Mi.addInitHook("addHandler","keyboard",WL),Mi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var BL=qo.extend({addHooks:function(){Ke(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Bt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Rl(l),m=this._map.options.wheelDebounceTime;this._delta+=d,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var b=Math.max(m-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),b),gs(l)},_performZoom:function(){var l=this._map,d=l.getZoom(),m=this._map.options.zoomSnap||0;l._stop();var b=this._delta/(this._map.options.wheelPxPerZoomLevel*4),I=4*Math.log(2/(1+Math.exp(-Math.abs(b))))/Math.LN2,P=m?Math.ceil(I/m)*m:I,j=l._limitZoom(d+(this._delta>0?P:-P))-d;this._delta=0,this._startTime=null,j&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+j):l.setZoomAround(this._lastMousePos,d+j))}});Mi.addInitHook("addHandler","scrollWheelZoom",BL);var QR=600;Mi.mergeOptions({tapHold:ge.touchNative&&ge.safari&&ge.mobile,tapTolerance:15});var zL=qo.extend({addHooks:function(){Ke(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Bt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var d=l.touches[0];this._startPos=this._newPos=new Ge(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Ke(document,"touchend",Di),Ke(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),QR),Ke(document,"touchend touchcancel contextmenu",this._cancel,this),Ke(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Bt(document,"touchend",Di),Bt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Bt(document,"touchend touchcancel contextmenu",this._cancel,this),Bt(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new Ge(d.clientX,d.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,d){var m=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:d.screenX,screenY:d.screenY,clientX:d.clientX,clientY:d.clientY});m._simulated=!0,d.target.dispatchEvent(m)}});Mi.addInitHook("addHandler","tapHold",zL),Mi.mergeOptions({touchZoom:ge.touch,bounceAtZoomLimits:!0});var VL=qo.extend({addHooks:function(){Ne(this._map._container,"leaflet-touch-zoom"),Ke(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){nt(this._map._container,"leaflet-touch-zoom"),Bt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var d=this._map;if(!(!l.touches||l.touches.length!==2||d._animatingZoom||this._zooming)){var m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=d.getSize()._divideBy(2),this._startLatLng=d.containerPointToLatLng(this._centerPoint),d.options.touchZoom!=="center"&&(this._pinchStartLatLng=d.containerPointToLatLng(m.add(b)._divideBy(2))),this._startDist=m.distanceTo(b),this._startZoom=d.getZoom(),this._moved=!1,this._zooming=!0,d._stop(),Ke(document,"touchmove",this._onTouchMove,this),Ke(document,"touchend touchcancel",this._onTouchEnd,this),Di(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var d=this._map,m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]),I=m.distanceTo(b)/this._startDist;if(this._zoom=d.getScaleZoom(I,this._startZoom),!d.options.bounceAtZoomLimits&&(this._zoom<d.getMinZoom()&&I<1||this._zoom>d.getMaxZoom()&&I>1)&&(this._zoom=d._limitZoom(this._zoom)),d.options.touchZoom==="center"){if(this._center=this._startLatLng,I===1)return}else{var P=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(I===1&&P.x===0&&P.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(P),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),pt(this._animRequest);var j=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=xe(j,this,!0),Di(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,pt(this._animRequest),Bt(document,"touchmove",this._onTouchMove,this),Bt(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Mi.addInitHook("addHandler","touchZoom",VL),Mi.BoxZoom=OL,Mi.DoubleClickZoom=FL,Mi.Drag=HL,Mi.Keyboard=WL,Mi.ScrollWheelZoom=BL,Mi.TapHold=zL,Mi.TouchZoom=VL,t.Bounds=it,t.Browser=ge,t.CRS=_i,t.Canvas=ML,t.Circle=xi,t.CircleMarker=Lt,t.Class=dt,t.Control=$s,t.DivIcon=Am,t.DivOverlay=qs,t.DomEvent=Za,t.DomUtil=tt,t.Draggable=ga,t.Evented=ti,t.FeatureGroup=Ar,t.GeoJSON=Ji,t.GridLayer=Zi,t.Handler=qo,t.Icon=Ol,t.ImageOverlay=Go,t.LatLng=Zt,t.LatLngBounds=Yt,t.Layer=Ko,t.LayerGroup=Al,t.LineUtil=Nm,t.Map=Mi,t.Marker=pe,t.Mixin=Im,t.Path=ze,t.Point=Ge,t.PolyUtil=Em,t.Polygon=bi,t.Polyline=mi,t.Popup=Fl,t.PosAnimation=Rr,t.Projection=Rm,t.Rectangle=AL,t.Renderer=Xa,t.SVG=rf,t.SVGOverlay=Io,t.TileLayer=Or,t.Tooltip=Hl,t.Transformation=In,t.Util=kt,t.VideoOverlay=Ds,t.bind=r,t.bounds=Ht,t.canvas=NL,t.circle=zi,t.circleMarker=zt,t.control=Cs,t.divIcon=lw,t.extend=n,t.featureGroup=rw,t.geoJSON=ps,t.geoJson=oo,t.gridLayer=Hs,t.icon=aw,t.imageOverlay=pa,t.latLng=Dt,t.latLngBounds=ci,t.layerGroup=ow,t.map=zc,t.marker=ae,t.point=Ae,t.polygon=ji,t.polyline=Ni,t.popup=sf,t.rectangle=JR,t.setOptions=w,t.stamp=c,t.svg=RL,t.svgOverlay=rr,t.tileLayer=qh,t.tooltip=ma,t.transformation=On,t.version=i,t.videoOverlay=nn;var eA=window.L;t.noConflict=function(){return window.L=eA,this},window.L=t}))})(Af,Af.exports)),Af.exports}var PG=EG();const _f=TR(PG),TG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",MG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",NG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Sn=(o,e=Ly)=>{var t=RG(),i=x(C(t),2),n=C(i);G(()=>$(n,e())),T(o,t)};var RG=M('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),AG=M("<button> </button>"),OG=M('<span class="err svelte-767znw"> </span>'),FG=M('<span class="ok svelte-767znw"> </span>'),HG=M('<div class="loading svelte-767znw">Loading…</div>'),WG=M('<section id="sec-appearance" class="svelte-767znw"><h3 class="svelte-767znw">Appearance</h3> <div class="field svelte-767znw"><label for="theme-select" class="svelte-767znw">Color theme</label> <select id="theme-select" class="svelte-767znw"><option>Dark</option><option>Light</option><option>System (OS preference)</option></select></div></section>'),BG=M('<div class="field svelte-767znw"><label class="svelte-767znw">CA certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client private key <!></label> <textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" spellcheck="false" class="svelte-767znw"></textarea></div>',1),zG=M('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),VG=M('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),jG=M('<div class="field svelte-767znw"><label class="svelte-767znw">Proxy user header <!></label> <input type="text" placeholder="X-Remote-User" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Logout URL <!></label> <input type="text" placeholder="https://auth.example.com/…/end-session/" class="svelte-767znw"/></div>',1),UG=M('<div class="field-error svelte-767znw"> </div>'),$G=M('<div class="field-ok svelte-767znw"> </div>'),qG=M('<section id="sec-auth" class="svelte-767znw"><h3 class="svelte-767znw">Authentication</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Mode <!></label> <select class="svelte-767znw"><option>None (open)</option><option>Password</option><option>Proxy header (nginx / authentik)</option></select></div> <!> <!> <!> <!> <div class="field svelte-767znw"><span></span> <button class="save-auth-btn svelte-767znw"> </button></div></section>'),KG=M('<section id="sec-webserver" class="svelte-767znw"><h3 class="svelte-767znw">Web server</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Port <!></label> <input type="number" min="0" max="65535" placeholder="8080" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Bind address <!></label> <input type="text" placeholder="0.0.0.0 (default)" class="svelte-767znw"/></div></section>'),GG=M('<section id="sec-scripts" class="svelte-767znw"><h3 class="svelte-767znw">Scripts</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Scripts directory <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable file watching <!></label></div></section>'),ZG=M('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),YD=M("<option> </option>"),XG=M('<div class="field svelte-767znw"><div class="map-label svelte-767znw">Map <span class="map-note svelte-767znw">(click or drag marker to set location — requires internet for tiles)</span></div> <div class="map-container svelte-767znw"></div></div>'),YG=M('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),JG=M('<section id="sec-logging" class="svelte-767znw"><h3 class="svelte-767znw">Logging</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Verbosity <!></label> <select class="svelte-767znw"><option>debug</option><option>info</option><option>warn</option><option>error</option></select></div></section>'),QG=M('<div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Retain document messages <!></label></div>'),e9=M('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Database path <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT topic prefix <!></label> <input type="text" placeholder="she/db/ (default)" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!></section>'),t9=M('<section id="sec-redis" class="svelte-767znw"><h3 class="svelte-767znw">Redis</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Redis URL <!></label> <input type="text" placeholder="leave empty to disable" class="svelte-767znw"/></div></section>'),i9=M('<span class="free-badge svelte-767znw">FREE</span> ',1),n9=M(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),s9=M("<div><!> <!></div>"),o9=M('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),r9=M('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),a9=M('<section id="sec-ai" class="svelte-767znw"><h3 class="svelte-767znw">AI Assistant</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Provider <!></label> <select class="svelte-767znw"></select></div> <!> <!> <div class="field svelte-767znw"><label class="svelte-767znw">Model <!></label> <input type="text" class="svelte-767znw"/></div> <!></section>'),l9=M('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),c9=M('<!> <div class="config-root svelte-767znw"><aside class="config-sidebar svelte-767znw"><div class="sidebar-search svelte-767znw"><svg class="search-icon svelte-767znw" width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="6.5" cy="6.5" r="4.5"></circle><line x1="10" y1="10" x2="14" y2="14"></line></svg> <input class="search-input svelte-767znw" type="search" placeholder="Filter settings…" autocomplete="off" spellcheck="false"/></div> <nav class="section-nav svelte-767znw"></nav></aside> <div class="config-main svelte-767znw"><div class="config-topbar svelte-767znw"><span class="topbar-title svelte-767znw">Settings</span> <!> <!> <button class="save-btn svelte-767znw"> </button></div> <!></div></div>',1);function d9(o,e){Vo(e,!0),delete _f.Icon.Default.prototype._getIconUrl,_f.Icon.Default.mergeOptions({iconUrl:TG,iconRetinaUrl:MG,shadowUrl:NG});let t=W(gi(kG())),i=W("~/.she"),n=W("mqtt"),s=W(""),r=W(""),a=W(""),c=W(""),h=W(""),g=W(""),f=W("logic"),p=W("var"),v=W(""),_=W(!1),w=W(8080),S=W(""),D=W("none"),E=W(""),R=W("X-Remote-User"),z=W(""),H=W(!1),ee=W(""),X=W(""),fe=W(""),Le=W(!1),Ue=W(!1),xe=W(!1),pt=W(""),kt=W(48.7408),dt=W(9.1778),oi=W(!1),jt=W(void 0),ti=W(!1),Ge=W(null),Je=W("info"),Ae=W(""),it=W(""),Ht=W(!1),Yt=W(!1),ci=W("");const Zt=[{id:"ollama",label:"Ollama (local)",provider:"ollama",baseUrl:"",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"lmstudio",label:"LM Studio (local)",provider:"openai",baseUrl:"http://localhost:1234",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"groq",label:"Groq — Qwen 2.5 Coder 32B (free)",provider:"openai",baseUrl:"https://api.groq.com/openai/v1",defaultModel:"qwen-2.5-coder-32b",freeNote:"14 400 req/day · no credit card needed",apiKeyUrl:"https://console.groq.com/keys"},{id:"gemini",label:"Google Gemini 2.0 Flash (free)",provider:"openai",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai",defaultModel:"gemini-2.0-flash",freeNote:"15 RPM · 1 000 000 tokens/day · no credit card",apiKeyUrl:"https://aistudio.google.com/apikey"},{id:"openai",label:"OpenAI (paid)",provider:"openai",baseUrl:"",defaultModel:"gpt-4o-mini",freeNote:"",apiKeyUrl:"https://platform.openai.com/api-keys"},{id:"anthropic",label:"Anthropic (paid)",provider:"anthropic",baseUrl:"",defaultModel:"claude-3-5-haiku-20241022",freeNote:"",apiKeyUrl:"https://console.anthropic.com/settings/keys"}];let Dt=W("ollama"),_i=W("ollama"),ui=W(""),Yi=W(""),Fi=W("");const In={};let On="ollama";function Dn(q,re){return q==="anthropic"?"anthropic":q==="ollama"?"ollama":re?re.includes("localhost:1234")?"lmstudio":re.includes("groq.com")?"groq":re.includes("googleapis.com")?"gemini":"openai":"openai"}function En(){In[On]={baseUrl:u(ui),model:u(Yi),apiKey:u(Fi)};const q=Zt.find(he=>he.id===u(Dt));if(!q)return;k(_i,q.provider,!0);const re=In[u(Dt)];k(ui,(re==null?void 0:re.baseUrl)??q.baseUrl,!0),k(Yi,(re==null?void 0:re.model)??q.defaultModel,!0),k(Fi,(re==null?void 0:re.apiKey)??"",!0),On=u(Dt)}const Pi=st(()=>Zt.find(q=>q.id===u(Dt)));let yn=W(gi({}));const fn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Wn(()=>{if(!u(jt))return;const q=typeof u(kt)=="number"?u(kt):48.7408,re=typeof u(dt)=="number"?u(dt):9.1778,he=_f.map(u(jt)).setView([q,re],10);_f.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(he);const et=_f.marker([q,re],{draggable:!0}).addTo(he);k(Ge,et,!0);const ii=_t=>{k(kt,+_t.lat.toFixed(6)),k(dt,+_t.lng.toFixed(6))};return et.on("dragend",()=>ii(et.getLatLng())),he.on("click",_t=>{et.setLatLng(_t.latlng),ii(_t.latlng)}),()=>{k(Ge,null),he.remove()}}),Wn(()=>{!u(Ge)||u(kt)===""||u(dt)===""||u(Ge).setLatLng([Number(u(kt)),Number(u(dt))])});let en;function Fn(){if(!navigator.geolocation){en.show("Geolocation is not supported by this browser.",{alert:!0});return}k(ti,!0),navigator.geolocation.getCurrentPosition(q=>{k(kt,+q.coords.latitude.toFixed(6)),k(dt,+q.coords.longitude.toFixed(6)),k(ti,!1)},()=>{k(ti,!1)})}let pn=W(!0),ln=W(!1),zn=W(""),cn=W(""),tn=W(""),Jn=W("appearance");const Xe=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"shedb",label:"sheDB",terms:["database","db","path","retain"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let bt=st(()=>Xe.filter(q=>{const re=u(tn).trim().toLowerCase();return!re||q.label.toLowerCase().includes(re)||q.terms.some(he=>he.includes(re))}));function ri(q){var re;k(Jn,q,!0),(re=document.getElementById("sec-"+q))==null||re.scrollIntoView({behavior:"smooth",block:"start"})}Mr(async()=>{try{const q=await Nf();q.dataDir&&k(i,q.dataDir,!0)}catch{}try{const q=await pL();if(typeof q.url=="string"&&q.url)try{const et=new URL(q.url);k(n,et.protocol.replace(":",""),!0),k(s,et.host,!0)}catch{k(s,q.url,!0)}typeof q.mqttUsername=="string"&&k(r,q.mqttUsername,!0),typeof q.mqttPassword=="string"&&k(a,q.mqttPassword,!0),typeof q.mqttCa=="string"&&k(c,q.mqttCa,!0),typeof q.mqttCert=="string"&&k(h,q.mqttCert,!0),typeof q.mqttKey=="string"&&k(g,q.mqttKey,!0),typeof q.mqttVersion=="string"&&k(v,q.mqttVersion,!0),typeof q.name=="string"&&k(f,q.name,!0),typeof q.variablePrefix=="string"&&k(p,q.variablePrefix,!0),typeof q.disableVariables=="boolean"&&k(_,q.disableVariables,!0),typeof q.port=="number"&&k(w,q.port,!0),typeof q.bindAddress=="string"&&k(S,q.bindAddress,!0),typeof q.auth=="string"&&k(D,q.auth,!0),typeof q.proxyHeader=="string"&&k(R,q.proxyHeader,!0),typeof q.proxyLogoutUrl=="string"&&k(z,q.proxyLogoutUrl,!0),typeof q.dir=="string"&&k(fe,q.dir,!0),typeof q.disableWatch=="boolean"&&k(Le,q.disableWatch,!0),typeof q.gitAutoCommit=="boolean"&&k(Ue,q.gitAutoCommit,!0),typeof q.gitAutoPush=="boolean"&&k(xe,q.gitAutoPush,!0),typeof q.latitude=="number"&&k(kt,q.latitude,!0),typeof q.longitude=="number"&&k(dt,q.longitude,!0),typeof q.timezone=="string"&&k(pt,q.timezone,!0),typeof q.verbosity=="string"&&k(Je,q.verbosity,!0),typeof q.dbPath=="string"&&k(Ae,q.dbPath,!0),typeof q.dbPrefix=="string"&&k(it,q.dbPrefix,!0),typeof q.dbPublish=="boolean"&&k(Ht,q.dbPublish,!0),typeof q.dbRetain=="boolean"&&k(Yt,q.dbRetain,!0);const re=q.redis;re!=null&&re.url&&k(ci,re.url,!0);const he=q.ai;he!=null&&he.provider&&k(_i,he.provider,!0),he!=null&&he.baseUrl&&k(ui,he.baseUrl,!0),he!=null&&he.model&&k(Yi,he.model,!0),he!=null&&he.apiKey&&k(Fi,he.apiKey,!0),k(Dt,Dn(u(_i),u(ui)),!0),On=u(Dt),k(yn,Object.fromEntries(Object.entries(q).filter(([et])=>!fn.has(et))),!0)}catch(q){k(cn,q.message,!0)}finally{k(pn,!1)}});async function Ci(){if(k(X,""),k(ee,""),u(D)==="password"&&!u(E)){k(X,"A password is required to enable password authentication.");return}k(H,!0);try{await X8(u(D),u(D)==="password"?u(E):void 0,u(D)==="proxy"?u(R):void 0,u(D)==="proxy"?u(z):void 0),k(E,""),k(ee,"Authentication settings saved.")}catch(q){k(X,q.message,!0)}finally{k(H,!1)}}async function Ti(){k(cn,""),k(zn,"");const q={...u(yn)};u(s)&&(q.url=`${u(n)}://${u(s)}`),q.name=u(f),q.variablePrefix=u(p),u(v)&&(q.mqttVersion=u(v)),u(_)&&(q.disableVariables=!0),u(r)&&(q.mqttUsername=u(r)),u(a)&&(q.mqttPassword=u(a)),u(c)&&(q.mqttCa=u(c)),u(h)&&(q.mqttCert=u(h)),u(g)&&(q.mqttKey=u(g)),u(w)!==""&&(q.port=Number(u(w))),u(S)&&(q.bindAddress=u(S)),u(fe)&&(q.dir=u(fe)),u(Le)&&(q.disableWatch=!0),u(Ue)&&(q.gitAutoCommit=!0),u(xe)&&(q.gitAutoPush=!0),u(kt)!==""&&(q.latitude=Number(u(kt))),u(dt)!==""&&(q.longitude=Number(u(dt))),u(pt)&&(q.timezone=u(pt)),q.verbosity=u(Je),u(Ae)&&(q.dbPath=u(Ae),u(it)&&(q.dbPrefix=u(it)),u(Ht)&&(q.dbPublish=!0,u(Yt)&&(q.dbRetain=!0))),u(ci)&&(q.redis={url:u(ci)}),u(_i)&&(q.ai={provider:u(_i),...u(ui)?{baseUrl:u(ui)}:{},...u(Yi)?{model:u(Yi)}:{},...u(Fi)?{apiKey:u(Fi)}:{}}),k(ln,!0);try{const re=await o7(q);window.dispatchEvent(new CustomEvent("she:config-changed")),k(zn,re.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(re){k(cn,re.message,!0)}finally{k(ln,!1)}}var mn=c9(),dn=vt(mn);xs(Kg(dn,{}),q=>en=q,()=>en);var Kn=x(dn,2),Pn=C(Kn),$n=C(Pn),Gn=x(C($n),2),Hn=x($n,2);di(Hn,21,()=>Xe,q=>q.id,(q,re)=>{var he=js(),et=vt(he);{var ii=ge=>{var rt=AG();let Mt;var Xt=C(rt);G(()=>{Mt=Kt(rt,1,"section-link svelte-767znw",null,Mt,{active:u(Jn)===u(re).id}),$(Xt,u(re).label)}),J("click",rt,()=>ri(u(re).id)),T(ge,rt)},_t=st(()=>u(bt).some(ge=>ge.id===u(re).id));U(et,ge=>{u(_t)&&ge(ii)})}T(q,he)});var $e=x(Pn,2),Z=C($e),Be=x(C(Z),2);{var mt=q=>{var re=OG(),he=C(re);G(()=>$(he,u(cn))),T(q,re)};U(Be,q=>{u(cn)&&q(mt)})}var xt=x(Be,2);{var Wt=q=>{var re=FG(),he=C(re);G(()=>$(he,u(zn))),T(q,re)};U(xt,q=>{u(zn)&&q(Wt)})}var A=x(xt,2),ne=C(A),me=x(Z,2);{var Qe=q=>{var re=HG();T(q,re)},lt=q=>{var re=l9(),he=C(re);{var et=ue=>{var we=WG(),ut=x(C(we),2),Ne=x(C(ut),2),nt=C(Ne);nt.value=nt.__value="dark";var Ut=x(nt);Ut.value=Ut.__value="light";var V=x(Ut);V.value=V.__value="system",J("change",Ne,()=>IG(u(t))),$r(Ne,()=>u(t),Y=>k(t,Y)),T(ue,we)},ii=st(()=>u(bt).some(ue=>ue.id==="appearance"));U(he,ue=>{u(ii)&&ue(et)})}var _t=x(he,2);{var ge=ue=>{var we=zG(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Ut=x(Ne,2),V=C(Ut);V.value=V.__value="mqtt";var Y=x(V);Y.value=Y.__value="mqtts";var Ie=x(Y);Ie.value=Ie.__value="ws";var Fe=x(Ie);Fe.value=Fe.__value="wss";var Re=x(ut,2),De=C(Re),Nt=x(C(De));Sn(Nt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var ot=x(De,2),Ee=x(Re,2),Et=C(Ee),He=x(C(Et));Sn(He,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var ve=x(Et,2),be=x(Ee,2),ye=C(be),Se=x(C(ye));Sn(Se,()=>"MQTT broker password. Stored in plain text in config.json.");var gt=x(ye,2),ce=x(be,2);{var Oe=Zn=>{var Za=BG(),Rr=vt(Za),Mi=C(Rr),zc=x(C(Mi));Sn(zc,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var $s=x(Mi,2),Cs=x(Rr,2),Os=C(Cs),ca=x(C(Os));Sn(ca,()=>"PEM-encoded client certificate for mutual TLS authentication.");var da=x(Os,2),Vc=x(Cs,2),ha=C(Vc),$o=x(C(ha));Sn($o,()=>"PEM-encoded private key matching the client certificate.");var ua=x(ha,2);ki($s,()=>u(c),or=>k(c,or)),ki(da,()=>u(h),or=>k(h,or)),ki(ua,()=>u(g),or=>k(g,or)),T(Zn,Za)};U(ce,Zn=>{(u(n)==="mqtts"||u(n)==="wss")&&Zn(Oe)})}var at=x(ce,2),tt=C(at),Ke=x(C(tt));Sn(Ke,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var At=x(tt,2),Bt=C(At);Bt.value=Bt.__value="";var un=x(Bt);un.value=un.__value="5";var Hi=x(at,2),wn=C(Hi),es=x(C(wn));Sn(es,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var vi=x(wn,2),qt=x(Hi,2),Gi=C(qt),Di=x(C(Gi));Sn(Di,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var gs=x(Gi,2),so=x(qt,2),Uo=x(C(so),2),Nr=C(Uo),Rl=x(Nr,4);Sn(Rl,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),$r(Ut,()=>u(n),Zn=>k(n,Zn)),ki(ot,()=>u(s),Zn=>k(s,Zn)),ki(ve,()=>u(r),Zn=>k(r,Zn)),ki(gt,()=>u(a),Zn=>k(a,Zn)),$r(At,()=>u(v),Zn=>k(v,Zn)),ki(vi,()=>u(f),Zn=>k(f,Zn)),ki(gs,()=>u(p),Zn=>k(p,Zn)),zs(Nr,()=>u(_),Zn=>k(_,Zn)),T(ue,we)},rt=st(()=>u(bt).some(ue=>ue.id==="mqtt"));U(_t,ue=>{u(rt)&&ue(ge)})}var Mt=x(_t,2);{var Xt=ue=>{var we=qG(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Ut=x(Ne,2),V=C(Ut);V.value=V.__value="none";var Y=x(V);Y.value=Y.__value="password";var Ie=x(Y);Ie.value=Ie.__value="proxy";var Fe=x(ut,2);{var Re=Se=>{var gt=VG(),ce=C(gt),Oe=C(ce),at=x(Oe);Sn(at,()=>"Set a new password. Leave empty to keep the current password (if already set).");var tt=x(ce,2);G(()=>$(Oe,`${u(E)?"New password":"Password"} `)),ki(tt,()=>u(E),Ke=>k(E,Ke)),T(Se,gt)};U(Fe,Se=>{u(D)==="password"&&Se(Re)})}var De=x(Fe,2);{var Nt=Se=>{var gt=jG(),ce=vt(gt),Oe=C(ce),at=x(C(Oe));Sn(at,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var tt=x(Oe,2),Ke=x(ce,2),At=C(Ke),Bt=x(C(At));Sn(Bt,()=>"URL to redirect to when the user clicks Logout (e.g. https://auth.example.com/application/o/she/end-session/ for Authentik). Leave empty to do nothing on logout.");var un=x(At,2);ki(tt,()=>u(R),Hi=>k(R,Hi)),ki(un,()=>u(z),Hi=>k(z,Hi)),T(Se,gt)};U(De,Se=>{u(D)==="proxy"&&Se(Nt)})}var ot=x(De,2);{var Ee=Se=>{var gt=UG(),ce=C(gt);G(()=>$(ce,u(X))),T(Se,gt)};U(ot,Se=>{u(X)&&Se(Ee)})}var Et=x(ot,2);{var He=Se=>{var gt=$G(),ce=C(gt);G(()=>$(ce,u(ee))),T(Se,gt)};U(Et,Se=>{u(ee)&&Se(He)})}var ve=x(Et,2),be=x(C(ve),2),ye=C(be);G(()=>{be.disabled=u(H)||u(D)==="password"&&!u(E),$(ye,u(H)?"Saving…":"Apply authentication settings")}),$r(Ut,()=>u(D),Se=>k(D,Se)),J("click",be,Ci),T(ue,we)},si=st(()=>u(bt).some(ue=>ue.id==="auth"));U(Mt,ue=>{u(si)&&ue(Xt)})}var ai=x(Mt,2);{var Q=ue=>{var we=KG(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Ut=x(Ne,2),V=x(ut,2),Y=C(V),Ie=x(C(Y));Sn(Ie,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Fe=x(Y,2);ki(Ut,()=>u(w),Re=>k(w,Re)),ki(Fe,()=>u(S),Re=>k(S,Re)),T(ue,we)},_e=st(()=>u(bt).some(ue=>ue.id==="webserver"));U(ai,ue=>{u(_e)&&ue(Q)})}var Te=x(ai,2);{var Ze=ue=>{var we=GG(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Ut=x(Ne,2),V=x(ut,2),Y=x(C(V),2),Ie=C(Y),Fe=x(Ie,4);Sn(Fe,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),G(()=>vn(Ut,"placeholder",`${u(i)??""}/scripts (default)`)),ki(Ut,()=>u(fe),Re=>k(fe,Re)),zs(Ie,()=>u(Le),Re=>k(Le,Re)),T(ue,we)},yt=st(()=>u(bt).some(ue=>ue.id==="scripts"));U(Te,ue=>{u(yt)&&ue(Ze)})}var Ye=x(Te,2);{var wt=ue=>{var we=ZG(),ut=x(C(we),2),Ne=x(C(ut),2),nt=C(Ne),Ut=x(nt,4);Sn(Ut,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var V=x(ut,2),Y=x(C(V),2),Ie=C(Y),Fe=x(Ie,4);Sn(Fe,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),zs(nt,()=>u(Ue),Re=>k(Ue,Re)),zs(Ie,()=>u(xe),Re=>k(xe,Re)),T(ue,we)},Qt=st(()=>u(bt).some(ue=>ue.id==="git"));U(Ye,ue=>{u(Qt)&&ue(wt)})}var Vt=x(Ye,2);{var Ot=ue=>{var we=YG(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Ut=x(Ne,2),V=x(Ut,2);di(V,20,()=>{var tt;return((tt=Intl.supportedValuesOf)==null?void 0:tt.call(Intl,"timeZone"))??[]},Mn,(tt,Ke)=>{var At=YD(),Bt=C(At),un={};G(()=>{$(Bt,Ke),un!==(un=Ke)&&(At.value=(At.__value=Ke)??"")}),T(tt,At)});var Y=x(ut,2),Ie=C(Y),Fe=x(C(Ie));Sn(Fe,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Re=x(Ie,2),De=x(Y,2),Nt=C(De),ot=x(C(Nt));Sn(ot,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ee=x(Nt,2),Et=x(De,2),He=x(C(Et),2),ve=C(He),be=C(ve);{var ye=tt=>{var Ke=ea("…");T(tt,Ke)},Se=tt=>{var Ke=ea("📍 Use my location");T(tt,Ke)};U(be,tt=>{u(ti)?tt(ye):tt(Se,-1)})}var gt=x(ve,2),ce=C(gt),Oe=x(Et,2);{var at=tt=>{var Ke=XG(),At=x(C(Ke),2);xs(At,Bt=>k(jt,Bt),()=>u(jt)),T(tt,Ke)};U(Oe,tt=>{u(oi)&&tt(at)})}G(()=>{ve.disabled=u(ti),$(ce,u(oi)?"Hide map":"Pick on map")}),ki(Ut,()=>u(pt),tt=>k(pt,tt)),ki(Re,()=>u(kt),tt=>k(kt,tt)),ki(Ee,()=>u(dt),tt=>k(dt,tt)),J("click",ve,Fn),J("click",gt,()=>k(oi,!u(oi))),T(ue,we)},Wi=st(()=>u(bt).some(ue=>ue.id==="solar"));U(Vt,ue=>{u(Wi)&&ue(Ot)})}var hn=x(Vt,2);{var Bi=ue=>{var we=JG(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Ut=x(Ne,2),V=C(Ut);V.value=V.__value="debug";var Y=x(V);Y.value=Y.__value="info";var Ie=x(Y);Ie.value=Ie.__value="warn";var Fe=x(Ie);Fe.value=Fe.__value="error",$r(Ut,()=>u(Je),Re=>k(Je,Re)),T(ue,we)},ni=st(()=>u(bt).some(ue=>ue.id==="logging"));U(hn,ue=>{u(ni)&&ue(Bi)})}var Vi=x(hn,2);{var F=ue=>{var we=e9(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Ut=x(Ne,2),V=x(ut,2),Y=C(V),Ie=x(C(Y));Sn(Ie,()=>"Prefix for all sheDB MQTT topics. Defaults to she/db/ — documents publish to {prefix}doc/{id}, views to {prefix}view/{id}, commands use {prefix}set/{id} etc.");var Fe=x(Y,2),Re=x(V,2),De=x(C(Re),2);let Nt;var ot=C(De),Ee=x(ot,4);Sn(Ee,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var Et=x(Re,2);{var He=ve=>{var be=QG(),ye=x(C(be),2);let Se;var gt=C(ye),ce=x(gt,4);Sn(ce,()=>"When enabled, MQTT messages for document changes are published as retained messages."),G(()=>{Se=Kt(ye,1,"check-label svelte-767znw",null,Se,{muted:!u(Ae)}),gt.disabled=!u(Ae)}),zs(gt,()=>u(Yt),Oe=>k(Yt,Oe)),T(ve,be)};U(Et,ve=>{u(Ht)&&ve(He)})}G(()=>{vn(Ut,"placeholder",`defaults to ${u(i)??""}/db`),Fe.disabled=!u(Ae),Nt=Kt(De,1,"check-label svelte-767znw",null,Nt,{muted:!u(Ae)}),ot.disabled=!u(Ae)}),ki(Ut,()=>u(Ae),ve=>k(Ae,ve)),ki(Fe,()=>u(it),ve=>k(it,ve)),zs(ot,()=>u(Ht),ve=>k(Ht,ve)),T(ue,we)},K=st(()=>u(bt).some(ue=>ue.id==="shedb"));U(Vi,ue=>{u(K)&&ue(F)})}var Pe=x(Vi,2);{var Me=ue=>{var we=t9(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"redis:// URL for the optional Redis write-through cache. All state store changes are written to the she:state hash. Leave empty to disable.");var Ut=x(Ne,2);ki(Ut,()=>u(ci),V=>k(ci,V)),T(ue,we)},qe=st(()=>u(bt).some(ue=>ue.id==="redis"));U(Pe,ue=>{u(qe)&&ue(Me)})}var ke=x(Pe,2);{var ht=ue=>{var we=a9(),ut=x(C(we),2),Ne=C(ut),nt=x(C(Ne));Sn(nt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Ut=x(Ne,2);di(Ut,21,()=>Zt,Mn,(He,ve)=>{var be=YD(),ye=C(be),Se={};G(()=>{$(ye,u(ve).label),Se!==(Se=u(ve).id)&&(be.value=(be.__value=u(ve).id)??"")}),T(He,be)});var V=x(ut,2);{var Y=He=>{var ve=s9();let be;var ye=C(ve);{var Se=Oe=>{var at=i9(),tt=x(vt(at));G(()=>$(tt,` ${u(Pi).freeNote??""}`)),T(Oe,at)};U(ye,Oe=>{u(Pi).freeNote&&Oe(Se)})}var gt=x(ye,2);{var ce=Oe=>{var at=n9(),tt=x(vt(at));G(()=>vn(tt,"href",u(Pi).apiKeyUrl)),T(Oe,at)};U(gt,Oe=>{u(Pi).apiKeyUrl&&Oe(ce)})}G(()=>be=Kt(ve,1,"preset-note svelte-767znw",null,be,{free:!!u(Pi).freeNote})),T(He,ve)};U(V,He=>{var ve,be;((ve=u(Pi))!=null&&ve.freeNote||(be=u(Pi))!=null&&be.apiKeyUrl)&&He(Y)})}var Ie=x(V,2);{var Fe=He=>{var ve=o9(),be=C(ve),ye=x(C(be));Sn(ye,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var Se=x(be,2);G(()=>{var gt;return vn(Se,"placeholder",u(Dt)==="ollama"?"http://localhost:11434":u(Dt)==="lmstudio"?"http://localhost:1234":((gt=u(Pi))==null?void 0:gt.baseUrl)??"")}),ki(Se,()=>u(ui),gt=>k(ui,gt)),T(He,ve)};U(Ie,He=>{u(Dt)!=="anthropic"&&He(Fe)})}var Re=x(Ie,2),De=C(Re),Nt=x(C(De));Sn(Nt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var ot=x(De,2),Ee=x(Re,2);{var Et=He=>{var ve=r9(),be=C(ve),ye=x(C(be));Sn(ye,()=>"Stored in config.json. Not needed for local providers.");var Se=x(be,2);ki(Se,()=>u(Fi),gt=>k(Fi,gt)),T(He,ve)};U(Ee,He=>{u(Dt)!=="ollama"&&u(Dt)!=="lmstudio"&&He(Et)})}G(()=>{var He;return vn(ot,"placeholder",((He=u(Pi))==null?void 0:He.defaultModel)||"e.g. llama3.2")}),J("change",Ut,En),$r(Ut,()=>u(Dt),He=>k(Dt,He)),ki(ot,()=>u(Yi),He=>k(Yi,He)),T(ue,we)},$t=st(()=>u(bt).some(ue=>ue.id==="ai"));U(ke,ue=>{u($t)&&ue(ht)})}T(q,re)};U(me,q=>{u(pn)?q(Qe):q(lt,-1)})}G(()=>{A.disabled=u(ln),$(ne,u(ln)?"Saving…":"Save")}),ki(Gn,()=>u(tn),q=>k(tn,q)),J("click",A,Ti),T(o,mn),jo()}Tr(["click","change"]);var h9=M("<option> </option>"),u9=M('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),g9=M('<div class="page svelte-18loop9"><div class="toolbar svelte-18loop9"><h2 class="svelte-18loop9">Logs</h2> <select class="svelte-18loop9"></select> <input class="filter-in svelte-18loop9" type="search" placeholder="Filter messages…"/> <label class="check-label svelte-18loop9" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Regex</label> <label class="check-label svelte-18loop9"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Auto-scroll</label> <button class="svelte-18loop9">Clear</button></div> <div class="log svelte-18loop9"></div></div>');function f9(o,e){Vo(e,!0);let t=W(gi(x7())),i,n=W(!0),s=W("all"),r=W(""),a=W(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};PR(X=>{k(t,[...u(t).slice(-1999),X],!0)}),Mr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Wn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){k(t,[],!0)}function f(X){if(u(s)!=="all"&&h[X.level]<h[u(s)])return!1;if(!u(r))return!0;if(u(a))try{return new RegExp(u(r),"i").test(X.msg)}catch{}return X.msg.toLowerCase().includes(u(r).toLowerCase())}function p(X){return new Date(X).toLocaleTimeString()}var v=g9(),_=C(v),w=x(C(_),2);di(w,21,()=>c,Mn,(X,fe)=>{var Le=h9(),Ue=C(Le),xe={};G(()=>{$(Ue,u(fe)),xe!==(xe=u(fe))&&(Le.value=(Le.__value=u(fe))??"")}),T(X,Le)});var S=x(w,2),D=x(S,2),E=C(D),R=x(D,2),z=C(R),H=x(R,2),ee=x(_,2);di(ee,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,fe)=>{var Le=u9(),Ue=C(Le),xe=C(Ue),pt=x(Ue,2),kt=C(pt),dt=x(pt,2),oi=C(dt);G((jt,ti)=>{Kt(Le,1,`line ${u(fe).level??""}`,"svelte-18loop9"),$(xe,jt),$(kt,ti),$(oi,u(fe).msg)},[()=>p(u(fe).ts),()=>u(fe).level.toUpperCase()]),T(X,Le)}),xs(ee,X=>i=X,()=>i),$r(w,()=>u(s),X=>k(s,X)),ki(S,()=>u(r),X=>k(r,X)),zs(E,()=>u(a),X=>k(a,X)),zs(z,()=>u(n),X=>k(n,X)),J("click",H,g),T(o,v),jo()}Tr(["click"]);var p9=M('<span class="chat-model svelte-1twuiul"><!></span>'),m9=M('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),_9=M('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),v9=M('Working on view <code class="svelte-1twuiul"> </code>',1),b9=M('<button class="chip svelte-1twuiul"> </button>'),y9=M('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),w9=M('<div class="msg-content user-text svelte-1twuiul"> </div>'),JD=M('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),QD=M('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),eE=M('<div class="tool-events svelte-1twuiul"></div>'),tE=M('<div class="text-block svelte-1twuiul"></div>'),S9=M('<button class="expand-btn svelte-1twuiul"> </button>'),C9=M('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span> <div class="code-actions svelte-1twuiul"><button class="svelte-1twuiul">Copy</button></div></div> <div><pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre> <!></div></div>'),x9=M('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),L9=M('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),k9=M("<div><!></div>"),I9=M('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),D9=M('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span></div> <pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre></div>'),E9=M('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),P9=M('<div class="chat-error svelte-1twuiul"> </div>'),T9=M('<span><span class="badge badge-db svelte-1twuiul">db</span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul"> </button></span>'),M9=M('<span class="file-chip svelte-1twuiul"><span> </span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul" title="Remove from context">×</button></span>'),N9=M('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),R9=M('<button class="send-btn svelte-1twuiul">↑</button>'),A9=M('<option class="svelte-1twuiul"> </option>'),O9=M('<select class="model-select svelte-1twuiul"></select>'),F9=M('<span class="model-name svelte-1twuiul"> </span>'),H9=M('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),W9=M('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),B9=M('<p class="info-status svelte-1twuiul">Loading…</p>'),z9=M('<p class="info-status info-err svelte-1twuiul"> </p>'),V9=M('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),j9=M('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),U9=M('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),$9=M('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),q9=M('<div class="running-model svelte-1twuiul"> </div>'),K9=M('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),G9=M('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),Z9=M('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),X9=M('<div class="info-overlay svelte-1twuiul"><div class="info-popup svelte-1twuiul"><div class="info-popup-header svelte-1twuiul"><span class="svelte-1twuiul"> </span> <button title="Close" class="svelte-1twuiul">✕</button></div> <div class="info-popup-body svelte-1twuiul"><!></div></div></div>'),Y9=M('<div class="chat-panel svelte-1twuiul"><div class="chat-header svelte-1twuiul"><span class="chat-title svelte-1twuiul">AI — View assistant</span> <!> <!></div> <div class="messages svelte-1twuiul"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-1twuiul"><label title="Include sheDB document IDs in context" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Doc IDs</label> <label title="Include sample document content in context (first 10 docs)" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Sample docs</label> <label title="Let the AI query sheDB documents on demand. Disables real-time streaming." class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> 😎 Agent</label> <span class="req-size svelte-1twuiul"> </span></div> <div class="files-row svelte-1twuiul"><!> <!> <button class="add-file-btn svelte-1twuiul" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-1twuiul"/></div> <div><div><textarea rows="3" class="svelte-1twuiul"></textarea></div> <!></div> <!></div> <!>',1);function J9(o,e){Vo(e,!0),rb.registerLanguage("javascript",AR),Bn.use({breaks:!0,gfm:!0});let t=vg(e,"currentView",3,null);const i="she:viewchat:messages";let n=W(gi(JSON.parse(localStorage.getItem(i)??"[]"))),s=W(null),r=W(""),a=W(!1),c=W(""),h=W(null),g=W(gi([])),f=W(gi(localStorage.getItem("she:selectedModel")??""));Wn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=W(gi(new Set)),v=W(!1),_=W(null),w=W(!1),S=W(""),D=null,E=W(0);const R=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…"];let z=W(!0),H=W(!0),ee=W(!0),X=W(gi([])),fe=W(!0),Le=W(!1),Ue,xe=W(gi([])),pt=W(0),kt,dt;const oi=st(()=>({apiref:!1,shedb:u(z),sampleDocs:u(H),tools:u(ee)})),jt=st(()=>{var F;return((F=u(h))==null?void 0:F.configured)??!1}),ti=st(()=>u(pt)+new TextEncoder().encode(u(r)).length),Ge=st(()=>u(fe)?t():null);async function Je(){try{const F=await LR();k(h,F,!0),F.configured&&!u(f)&&k(f,F.model,!0)}catch{}}Wn(()=>(window.addEventListener("she:config-changed",Je),()=>window.removeEventListener("she:config-changed",Je))),Mr(()=>{Je()}),Wn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Wn(()=>{var F;(F=u(h))!=null&&F.provider&&kR().then(K=>{k(g,K.models,!0),!u(f)&&K.models.length>0&&k(f,K.models[0],!0)}).catch(()=>{})}),Wn(()=>{u(f),k(_,null),k(S,"")}),Wn(()=>{const F=u(oi),K=u(Ge),Pe=u(X);u(jt)&&IR({context:F,currentView:K??null,extraFiles:Pe.length>0?Pe:void 0}).then(Me=>{k(pt,new TextEncoder().encode(Me.prompt).length,!0)}).catch(()=>{})}),Wn(()=>{if(!u(a))return;k(E,Math.floor(Math.random()*R.length),!0);const F=setInterval(()=>{k(E,(u(E)+1)%R.length)},1e4);return()=>clearInterval(F)}),Wn(()=>{var F;dt&&(u(n).length+(((F=u(s))==null?void 0:F.length)??0),requestAnimationFrame(()=>{dt&&(dt.scrollTop=dt.scrollHeight)}))});function Ae(F){const K=[],Pe=/```(\w*)\n([\s\S]*?)```/g;let Me=0,qe;for(;(qe=Pe.exec(F))!==null;)qe.index>Me&&K.push({type:"text",text:F.slice(Me,qe.index)}),K.push({type:"code",lang:qe[1]||"text",text:qe[2].trimEnd()}),Me=qe.index+qe[0].length;return Me<F.length&&K.push({type:"text",text:F.slice(Me)}),K}function it(F){const K=[],Pe=/```(\w*)\n([\s\S]*?)```/g;let Me=0,qe;for(;(qe=Pe.exec(F))!==null;)qe.index>Me&&K.push({type:"text",text:F.slice(Me,qe.index)}),K.push({type:"code",lang:qe[1]||"text",text:qe[2].trimEnd()}),Me=qe.index+qe[0].length;const ke=F.slice(Me),ht=ke.match(/```(\w*)\n([\s\S]*)$/);return ht?(ht.index>0&&K.push({type:"text",text:ke.slice(0,ht.index)}),K.push({type:"code",lang:ht[1]||"text",text:ht[2]})):ke&&K.push({type:"text",text:ke}),K}function Ht(F){const K={};for(const Pe of F)if(Pe.type==="code"){if(Pe.lang==="filter")K.filter=Pe.text.trim();else if(Fi(Pe.lang)){const Me=Pe.text.split(`
|
|
223
|
-
`)[0].trim();Me==="// @view-map"?K.map=Pe.text.split(`
|
|
224
|
-
`).slice(1).join(`
|
|
225
|
-
`).trim():Me==="// @view-reduce"&&(K.reduce=Pe.text.split(`
|
|
226
|
-
`).slice(1).join(`
|
|
227
|
-
`).trim())}}return K}function Yt(F){return F.filter!==void 0||F.map!==void 0||F.reduce!==void 0}function ci(F){const K=[];return F.filter!==void 0&&K.push("filter"),F.map!==void 0&&K.push("map"),F.reduce!==void 0&&K.push("reduce"),`Apply ${K.join(" + ")}`}const Zt=15;function Dt(F){return F.split(`
|
|
228
|
-
`).length>Zt}function _i(F){const K=new Set(u(p));K.has(F)?K.delete(F):K.add(F),k(p,K,!0)}function ui(F,K){if(Fi(K))try{return rb.highlight(F,{language:"javascript"}).value}catch{}return F.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Yi(F){return Bn.parse(F)}function Fi(F){return!F||F==="js"||F==="javascript"}function In(F){navigator.clipboard.writeText(F).catch(()=>{})}async function On(){if(k(v,!0),!(u(_)||u(w))){k(w,!0),k(S,"");try{k(_,await x0(u(f)||u(h).model),!0)}catch(F){k(S,F.message,!0)}k(w,!1)}}function Dn(F){return F>=1e9?`${(F/1e9).toFixed(1)} GB`:F>=1e6?`${(F/1e6).toFixed(0)} MB`:`${F} B`}function En(F){const K=F.match(/\.([^.]+)$/);return K?K[1].toUpperCase():"?"}function Pi(F){switch(F){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return F}}function yn(F){k(X,u(X).filter((K,Pe)=>Pe!==F),!0)}function fn(){Ue.click()}async function en(F){if(!(!F||F.length===0))for(const K of Array.from(F)){const Pe=await K.text();k(X,[...u(X),{name:K.name,content:Pe}],!0)}}function Fn(F){const K=F.target;en(K.files),K.value=""}function pn(F){var K;F.preventDefault(),k(Le,!1),en(((K=F.dataTransfer)==null?void 0:K.files)??null)}function ln(F){var K;(K=F.dataTransfer)!=null&&K.types.includes("Files")&&(F.preventDefault(),k(Le,!0))}function zn(){k(Le,!1)}async function cn(){const F=u(r).trim();if(!(!F||u(a))){k(r,""),k(c,""),k(a,!0),k(n,[...u(n),{role:"user",content:F}],!0),D=new AbortController,k(xe,[],!0);try{await DR({messages:u(n),currentView:u(Ge),context:u(oi),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},K=>{k(s,(u(s)??"")+K)},D.signal,K=>{k(xe,[...u(xe),K],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(xe).length>0?[...u(xe)]:void 0}],!0),k(xe,[],!0)}catch(K){if(K.name==="AbortError"){const Pe=u(s);Pe!=null&&Pe.trim()&&k(n,[...u(n),{role:"assistant",content:Pe+`
|
|
229
|
-
|
|
230
|
-
*[stopped]*`,toolEvents:u(xe).length>0?[...u(xe)]:void 0}],!0)}else k(c,K.message,!0)}finally{D=null,k(s,null),k(xe,[],!0),k(a,!1)}}}function tn(){D==null||D.abort()}function Jn(F){F.key==="Enter"&&!F.shiftKey&&(F.preventDefault(),cn())}function Xe(){k(n,[],!0),k(c,"")}const bt=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function ri(F){k(r,F,!0),kt==null||kt.focus()}var Ci=Y9(),Ti=vt(Ci),mn=C(Ti),dn=x(C(mn),2);{var Kn=F=>{var K=p9(),Pe=C(K);{var Me=ke=>{var ht=ea();G(()=>$(ht,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(ke,ht)},qe=ke=>{var ht=ea("Not configured");T(ke,ht)};U(Pe,ke=>{u(jt)?ke(Me):ke(qe,-1)})}G(()=>vn(K,"title",`Provider: ${u(h).provider??""}`)),T(F,K)};U(dn,F=>{u(h)&&F(Kn)})}var Pn=x(dn,2);{var $n=F=>{var K=m9();J("click",K,Xe),T(F,K)};U(Pn,F=>{u(n).length>0&&F($n)})}var Gn=x(mn,2),Hn=C(Gn);{var $e=F=>{var K=_9();T(F,K)},Z=F=>{var K=y9(),Pe=C(K),Me=C(Pe);{var qe=$t=>{var ue=v9(),we=x(vt(ue)),ut=C(we);G(()=>$(ut,t().id)),T($t,ue)},ke=$t=>{var ue=ea("No view selected. Ask a general sheDB view question.");T($t,ue)};U(Me,$t=>{t()?$t(qe):$t(ke,-1)})}var ht=x(Pe,2);di(ht,17,()=>bt,Mn,($t,ue)=>{var we=b9(),ut=C(we);G(()=>$(ut,u(ue))),J("click",we,()=>ri(u(ue))),T($t,we)}),T(F,K)};U(Hn,F=>{u(jt)?u(n).length===0&&u(s)===null&&F(Z,1):F($e)})}var Be=x(Hn,2);di(Be,17,()=>u(n),Mn,(F,K,Pe)=>{var Me=k9(),qe=C(Me);{var ke=$t=>{var ue=w9(),we=C(ue);G(()=>$(we,u(K).content)),T($t,ue)},ht=$t=>{const ue=st(()=>Ae(u(K).content)),we=st(()=>Ht(u(ue)));var ut=L9(),Ne=vt(ut);{var nt=Re=>{var De=eE();di(De,21,()=>u(K).toolEvents,Mn,(Nt,ot)=>{var Ee=js(),Et=vt(Ee);{var He=be=>{var ye=JD(),Se=x(C(ye)),gt=C(Se);G(ce=>$(gt,ce),[()=>u(ot).name.replace(/_/g," ")]),T(be,ye)},ve=be=>{var ye=QD(),Se=x(C(ye)),gt=C(Se);G(ce=>$(gt,ce),[()=>u(ot).name.replace(/_/g," ")]),T(be,ye)};U(Et,be=>{u(ot).type==="tool_call"?be(He):be(ve,-1)})}T(Nt,Ee)}),T(Re,De)};U(Ne,Re=>{var De;(De=u(K).toolEvents)!=null&&De.length&&Re(nt)})}var Ut=x(Ne,2),V=C(Ut);di(V,17,()=>u(ue),Mn,(Re,De,Nt)=>{var ot=js(),Ee=vt(ot);{var Et=ve=>{var be=tE();ic(be,()=>Yi(u(De).text),!0),T(ve,be)},He=ve=>{const be=st(()=>`${Pe}:${Nt}`),ye=st(()=>Dt(u(De).text)),Se=st(()=>u(p).has(u(be))),gt=st(()=>u(De).lang==="filter");var ce=C9(),Oe=C(ce),at=C(Oe),tt=C(at),Ke=x(at,2),At=C(Ke),Bt=x(Oe,2);let un;var Hi=C(Bt),wn=C(Hi);ic(wn,()=>ui(u(De).text,u(De).lang??""),!0);var es=x(Hi,2);{var vi=qt=>{var Gi=S9(),Di=C(Gi);G(()=>$(Di,u(Se)?"▲ collapse":"▼ expand")),J("click",Gi,()=>_i(u(be))),T(qt,Gi)};U(es,qt=>{u(ye)&&qt(vi)})}G(()=>{$(tt,u(gt)?"filter":u(De).lang),un=Kt(Bt,1,"code-body svelte-1twuiul",null,un,{collapsed:u(ye)&&!u(Se)})}),J("click",At,()=>In(u(De).text)),T(ve,ce)};U(Ee,ve=>{u(De).type==="text"?ve(Et):ve(He,-1)})}T(Re,ot)});var Y=x(V,2);{var Ie=Re=>{var De=x9(),Nt=C(De),ot=C(Nt);G(Ee=>$(ot,Ee),[()=>ci(u(we))]),J("click",Nt,()=>e.onApplyView(u(we))),T(Re,De)},Fe=st(()=>Yt(u(we))&&e.onApplyView);U(Y,Re=>{u(Fe)&&Re(Ie)})}T($t,ut)};U(qe,$t=>{u(K).role==="user"?$t(ke):$t(ht,-1)})}G(()=>Kt(Me,1,`message ${u(K).role??""}`,"svelte-1twuiul")),T(F,Me)});var mt=x(Be,2);{var xt=F=>{var K=eE();di(K,21,()=>u(xe),Mn,(Pe,Me)=>{var qe=js(),ke=vt(qe);{var ht=ue=>{var we=JD(),ut=x(C(we)),Ne=C(ut);G(nt=>$(Ne,nt),[()=>u(Me).name.replace(/_/g," ")]),T(ue,we)},$t=ue=>{var we=QD(),ut=x(C(we)),Ne=C(ut);G(nt=>$(Ne,nt),[()=>u(Me).name.replace(/_/g," ")]),T(ue,we)};U(ke,ue=>{u(Me).type==="tool_call"?ue(ht):ue($t,-1)})}T(Pe,qe)}),T(F,K)};U(mt,F=>{u(xe).length>0&&F(xt)})}var Wt=x(mt,2);{var A=F=>{var K=I9(),Pe=C(K),Me=C(Pe),qe=C(Me);G(()=>$(qe,R[u(E)])),T(F,K)};U(Wt,F=>{u(a)&&u(s)===null&&u(xe).length===0&&F(A)})}var ne=x(Wt,2);{var me=F=>{var K=E9(),Pe=C(K);di(Pe,21,()=>it(u(s)),Mn,(Me,qe)=>{var ke=js(),ht=vt(ke);{var $t=we=>{var ut=tE();ic(ut,()=>Yi(u(qe).text),!0),T(we,ut)},ue=we=>{var ut=D9(),Ne=C(ut),nt=C(Ne),Ut=C(nt),V=x(Ne,2),Y=C(V);ic(Y,()=>ui(u(qe).text,u(qe).lang??""),!0),G(()=>$(Ut,u(qe).lang)),T(we,ut)};U(ht,we=>{u(qe).type==="text"?we($t):we(ue,-1)})}T(Me,ke)}),T(F,K)};U(ne,F=>{u(s)!==null&&F(me)})}xs(Gn,F=>dt=F,()=>dt);var Qe=x(Gn,2);{var lt=F=>{var K=P9(),Pe=C(K);G(()=>$(Pe,u(c))),T(F,K)};U(Qe,F=>{u(c)&&F(lt)})}var q=x(Qe,2),re=C(q),he=C(re),et=x(re,2),ii=C(et),_t=x(et,2),ge=C(_t),rt=x(_t,2),Mt=C(rt),Xt=x(q,2),si=C(Xt);{var ai=F=>{var K=T9();let Pe;var Me=x(C(K),2),qe=C(Me),ke=x(Me,2),ht=C(ke);G(()=>{Pe=Kt(K,1,"file-chip svelte-1twuiul",null,Pe,{inactive:!u(fe)}),$(qe,t().id),vn(ke,"title",u(fe)?"Remove from context":"Re-add to context"),$(ht,u(fe)?"×":"+")}),J("click",ke,()=>k(fe,!u(fe))),T(F,K)};U(si,F=>{t()&&F(ai)})}var Q=x(si,2);di(Q,17,()=>u(X),Mn,(F,K,Pe)=>{const Me=st(()=>En(u(K).name));var qe=M9(),ke=C(qe),ht=C(ke),$t=x(ke,2),ue=C($t),we=x($t,2);G((ut,Ne)=>{Kt(ke,1,`badge badge-${ut??""}`,"svelte-1twuiul"),$(ht,Ne),$(ue,u(K).name)},[()=>u(Me).toLowerCase(),()=>Pi(u(Me))]),J("click",we,()=>yn(Pe)),T(F,qe)});var _e=x(Q,2),Te=x(_e,2);xs(Te,F=>Ue=F,()=>Ue);var Ze=x(Xt,2);let yt;var Ye=C(Ze);let wt;var Qt=C(Ye);xs(Qt,F=>kt=F,()=>kt);var Vt=x(Ye,2);{var Ot=F=>{var K=N9();J("click",K,tn),T(F,K)},Wi=F=>{var K=R9();G(Pe=>K.disabled=Pe,[()=>!u(r).trim()||!u(jt)]),J("click",K,cn),T(F,K)};U(Vt,F=>{u(a)?F(Ot):F(Wi,-1)})}var hn=x(Ze,2);{var Bi=F=>{var K=W9(),Pe=C(K),Me=C(Pe),qe=x(Pe,2);{var ke=we=>{var ut=O9();di(ut,21,()=>u(g),Mn,(Ne,nt)=>{var Ut=A9(),V=C(Ut),Y={};G(()=>{$(V,u(nt)),Y!==(Y=u(nt))&&(Ut.value=(Ut.__value=u(nt))??"")}),T(Ne,Ut)}),G(()=>ut.disabled=u(a)),$r(ut,()=>u(f),Ne=>k(f,Ne)),T(we,ut)},ht=we=>{var ut=F9(),Ne=C(ut);G(()=>$(Ne,u(f)||u(h).model)),T(we,ut)};U(qe,we=>{u(g).length>0?we(ke):we(ht,-1)})}var $t=x(qe,2);{var ue=we=>{var ut=H9();J("click",ut,On),T(we,ut)};U($t,we=>{u(h).provider==="ollama"&&we(ue)})}G(()=>$(Me,u(h).provider)),T(F,K)};U(hn,F=>{u(jt)&&u(h)&&F(Bi)})}var ni=x(Ti,2);{var Vi=F=>{var K=X9(),Pe=C(K),Me=C(Pe),qe=C(Me),ke=C(qe),ht=x(qe,2),$t=x(Me,2),ue=C($t);{var we=nt=>{var Ut=B9();T(nt,Ut)},ut=nt=>{var Ut=z9(),V=C(Ut);G(()=>$(V,u(S))),T(nt,Ut)},Ne=nt=>{var Ut=Z9(),V=C(Ut);{var Y=ve=>{var be=V9(),ye=x(vt(be)),Se=C(ye);G(()=>$(Se,u(_).version)),T(ve,be)};U(V,ve=>{u(_).version&&ve(Y)})}var Ie=x(V,2);{var Fe=ve=>{var be=j9(),ye=x(vt(be)),Se=C(ye);G(()=>$(Se,u(_).details.family)),T(ve,be)};U(Ie,ve=>{var be;(be=u(_).details)!=null&&be.family&&ve(Fe)})}var Re=x(Ie,2);{var De=ve=>{var be=U9(),ye=x(vt(be)),Se=C(ye);G(()=>$(Se,u(_).details.parameter_size)),T(ve,be)};U(Re,ve=>{var be;(be=u(_).details)!=null&&be.parameter_size&&ve(De)})}var Nt=x(Re,2);{var ot=ve=>{var be=$9(),ye=x(vt(be)),Se=C(ye);G(()=>$(Se,u(_).details.quantization_level)),T(ve,be)};U(Nt,ve=>{var be;(be=u(_).details)!=null&&be.quantization_level&&ve(ot)})}var Ee=x(Nt,2);{var Et=ve=>{var be=K9(),ye=x(vt(be),2);di(ye,21,()=>u(_).running,Mn,(Se,gt)=>{var ce=q9(),Oe=C(ce);G(at=>$(Oe,`${u(gt).name??""} · ${at??""} VRAM`),[()=>Dn(u(gt).size_vram)]),T(Se,ce)}),T(ve,be)},He=ve=>{var be=G9();T(ve,be)};U(Ee,ve=>{u(_).running&&u(_).running.length>0?ve(Et):u(_).running!==null&&ve(He,1)})}T(nt,Ut)};U(ue,nt=>{u(w)?nt(we):u(S)?nt(ut,1):u(_)&&nt(Ne,2)})}G(()=>{var nt;return $(ke,`Ollama · ${(u(f)||((nt=u(h))==null?void 0:nt.model))??""}`)}),J("click",K,()=>k(v,!1)),J("click",Pe,nt=>nt.stopPropagation()),J("click",ht,()=>k(v,!1)),T(F,K)};U(ni,F=>{u(v)&&F(Vi)})}G(F=>{$(Mt,F),yt=Kt(Ze,1,"input-row svelte-1twuiul",null,yt,{"drag-over":u(Le)}),wt=Kt(Ye,1,"textarea-wrap svelte-1twuiul",null,wt,{loading:u(a)}),vn(Qt,"placeholder",u(jt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Qt.disabled=u(a)||!u(jt)},[()=>Dn(u(ti))]),zs(he,()=>u(z),F=>k(z,F)),zs(ii,()=>u(H),F=>k(H,F)),zs(ge,()=>u(ee),F=>k(ee,F)),J("click",_e,fn),J("change",Te,Fn),ds("dragover",Ze,ln),ds("dragleave",Ze,zn),ds("drop",Ze,pn),J("keydown",Qt,Jn),ki(Qt,()=>u(r),F=>k(r,F)),T(o,Ci),jo()}Tr(["click","change","keydown"]);var Q9=M('<div class="me svelte-1pxdb1"></div>');function aS(o,e){Vo(e,!0);let t=vg(e,"value",15,""),i=vg(e,"language",3,"javascript"),n,s,r=!1;Mr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=cr.create(n,{value:t(),language:i(),theme:"vs-dark",minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', monospace",automaticLayout:!0,wordWrap:"on",lineNumbers:"on",renderLineHighlight:"none",overviewRulerLanes:0,scrollbar:{verticalScrollbarSize:6,horizontalScrollbarSize:6},...c}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Py(()=>s==null?void 0:s.dispose()),Wn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=Q9();xs(a,c=>n=c,()=>n),T(o,a),jo()}var eZ=M('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document — call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),tZ=M('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),iE=M('<div class="form-error svelte-rrt0o"> </div>'),iZ=M('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),nE=M("<li> </li>"),sE=M('<div class="error-bar svelte-rrt0o"> </div>'),oE=M('<div class="loading svelte-rrt0o">Loading…</div>'),nZ=M('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),sZ=M('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),oZ=M('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),rZ=M('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),aZ=M('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),lZ=M('<span class="badge-error svelte-rrt0o">error</span>'),cZ=M('<span class="badge-ok svelte-rrt0o"> </span>'),dZ=M('<pre class="result-error svelte-rrt0o"> </pre>'),hZ=M('<pre class="result-json svelte-rrt0o"> </pre>'),uZ=M('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),gZ=M('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document · call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),fZ=M('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),pZ=M('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),mZ=M('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),_Z=M('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function vZ(o,e){Vo(e,!0);const t=$e=>{var Z=eZ(),Be=vt(Z);xs(Kg(Be,{}),mt=>Pi=mt,()=>Pi),T($e,Z)};let i=W(gi([])),n=W(null),s=W("{}"),r=W(!1),a=W(null);const c="she-db-selected-view";let h=W(gi([])),g=W(gi(localStorage.getItem(c))),f=W("#"),p=W("// emit(this.someProperty)"),v=W(""),_=W(""),w=W(!1),S=W(!1),D=W(null),E=W(!1),R=W(null),z=W("she/db/view/");const H="she-db-panel";let ee=W(gi(localStorage.getItem(H)??"docs")),X=W(""),fe=W(!1),Le=W(null),Ue=W(""),xe=W(!1),pt=W(null);const kt="she-db-sidebar-width";let dt=W(gi(parseInt(localStorage.getItem(kt)??"220",10))),oi=!1,jt=0,ti=0;const Ge="she-db-chat-width",Je="she-db-chat-open";let Ae=W(localStorage.getItem(Je)==="true"),it=W(gi(parseInt(localStorage.getItem(Ge)??"320",10))),Ht=!1,Yt=0,ci=0;const Zt=st(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function Dt($e){$e.filter!==void 0&&k(f,$e.filter,!0),$e.map!==void 0&&k(p,$e.map,!0),$e.reduce!==void 0&&k(v,$e.reduce,!0)}Wn(()=>{localStorage.setItem(Je,String(u(Ae)))}),Wn(()=>{localStorage.setItem(H,u(ee))}),Wn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function _i($e){oi=!0,jt=$e.clientX,ti=u(dt),$e.preventDefault()}function ui($e){oi&&k(dt,Math.max(140,Math.min(500,ti+$e.clientX-jt)),!0),Ht&&k(it,Math.max(240,Math.min(600,ci-($e.clientX-Yt))),!0)}function Yi(){oi&&(oi=!1,localStorage.setItem(kt,String(u(dt)))),Ht&&(Ht=!1,localStorage.setItem(Ge,String(u(it))))}function Fi($e){Ht=!0,Yt=$e.clientX,ci=u(it),$e.preventDefault()}async function In(){try{k(i,await wR(),!0)}catch{}}async function On(){try{k(h,await SR(),!0)}catch{}}async function Dn($e){k(n,$e,!0),k(a,null),k(r,!0);try{const Z=await r7($e);k(s,JSON.stringify(Z,null,2),!0)}catch(Z){k(a,Z instanceof Error?Z.message:String(Z),!0)}finally{k(r,!1)}}async function En(){if(u(n)){k(a,null);try{const $e=JSON.parse(u(s));await kD(u(n),$e)}catch($e){k(a,$e instanceof Error?$e.message:String($e),!0)}}}let Pi;async function yn(){if(u(n)&&await Pi.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await a7(u(n)),k(n,null),k(s,"{}")}catch($e){k(a,$e instanceof Error?$e.message:String($e),!0)}}async function fn(){const $e=u(X).trim();if($e){k(Le,null);try{await kD($e,{}),k(fe,!1),k(X,""),await Dn($e)}catch(Z){k(Le,Z instanceof Error?Z.message:String(Z),!0)}}}async function en($e){k(g,$e,!0),k(R,null),k(E,!0),k(D,null);try{const Z=await l7($e);k(f,Z.filter??"",!0),k(p,Z.map,!0),k(v,Z.reduce??"",!0),k(_,Z.description??"",!0),k(w,Z.mqttpub??!1,!0),k(S,Z.retain??!1,!0),k(D,await oS($e).catch(()=>null),!0)}catch(Z){k(R,Z instanceof Error?Z.message:String(Z),!0)}finally{k(E,!1)}}async function Fn(){if(u(g)){k(R,null);try{const $e={map:u(p)};u(f).trim()&&($e.filter=u(f).trim()),u(v).trim()&&($e.reduce=u(v).trim()),u(_).trim()&&($e.description=u(_).trim()),u(w)&&($e.mqttpub=!0),u(S)&&($e.retain=!0),await ID(u(g),$e)}catch($e){k(R,$e instanceof Error?$e.message:String($e),!0)}}}async function pn(){if(u(g))try{k(D,await oS(u(g)),!0)}catch($e){k(R,$e instanceof Error?$e.message:String($e),!0)}}async function ln(){if(u(g)&&await Pi.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await c7(u(g)),k(g,null),k(f,""),k(p,"// emit(this.someProperty)"),k(v,""),k(_,""),k(w,!1),k(S,!1),k(D,null)}catch($e){k(R,$e instanceof Error?$e.message:String($e),!0)}}async function zn(){if(!u(Ue).trim())return;const $e=u(Ue).trim();k(pt,null);try{await ID($e,{map:"// emit(this.someProperty)"}),k(xe,!1),k(Ue,""),await On(),await en($e)}catch(Z){k(pt,Z instanceof Error?Z.message:String(Z),!0)}}let cn=W(""),tn=W(""),Jn=st(()=>[...u(i)].filter($e=>!u(cn)||$e.toLowerCase().includes(u(cn).toLowerCase())).sort()),Xe=st(()=>[...u(h)].filter($e=>!u(tn)||$e.toLowerCase().includes(u(tn).toLowerCase())).sort());Mr(()=>{In(),On().then(()=>{u(g)&&u(h).includes(u(g))?en(u(g)):k(g,null)}),pL().then(xt=>{const Wt=xt.dbPrefix||"she/db/",A=Wt.endsWith("/")?Wt:Wt+"/";k(z,A+"view/")}).catch(()=>{});const $e=Fa("db:ids",xt=>{k(i,xt.ids??[],!0)}),Z=Fa("db:viewIds",xt=>{k(h,xt.ids??[],!0)}),Be=Fa("db:change",async xt=>{const Wt=xt.id;u(n)===Wt&&(xt.doc===null?(k(n,null),k(s,"{}")):k(s,JSON.stringify(xt.doc,null,2),!0))}),mt=Fa("db:viewUpdate",async xt=>{const Wt=xt.id;u(g)===Wt&&k(D,await oS(Wt).catch(()=>null),!0)});return()=>{$e(),Z(),Be(),mt()}});var bt=_Z(),ri=C(bt),Ci=C(ri);let Ti;var mn=x(Ci,2);let dn;var Kn=x(mn,2);{var Pn=$e=>{var Z=tZ();let Be;G(()=>{Be=Kt(Z,1,"ai-toggle svelte-rrt0o",null,Be,{"ai-open":u(Ae)}),vn(Z,"title",u(Ae)?"Close AI assistant":"Open AI assistant")}),J("click",Z,()=>k(Ae,!u(Ae))),T($e,Z)};U(Kn,$e=>{u(ee)==="views"&&$e(Pn)})}var $n=x(ri,2);{var Gn=$e=>{var Z=oZ(),Be=C(Z);let mt;var xt=C(Be),Wt=C(xt),A=x(xt,2);{var ne=_t=>{var ge=iZ(),rt=vt(ge),Mt=C(rt),Xt=x(Mt,2),si=x(rt,2);{var ai=Q=>{var _e=iE(),Te=C(_e);G(()=>$(Te,u(Le))),T(Q,_e)};U(si,Q=>{u(Le)&&Q(ai)})}J("keydown",Mt,Q=>Q.key==="Enter"&&fn()),ki(Mt,()=>u(X),Q=>k(X,Q)),J("click",Xt,fn),T(_t,ge)};U(A,_t=>{u(fe)&&_t(ne)})}var me=x(A,2),Qe=C(me),lt=x(me,2);di(lt,20,()=>u(Jn),_t=>_t,(_t,ge)=>{var rt=nE();let Mt;var Xt=C(rt);G(()=>{Mt=Kt(rt,1,"flat-item svelte-rrt0o",null,Mt,{"active-item":u(n)===ge}),$(Xt,ge)}),J("click",rt,()=>Dn(ge)),T(_t,rt)});var q=x(Be,2),re=x(q,2),he=C(re);{var et=_t=>{var ge=sZ(),rt=vt(ge),Mt=C(rt),Xt=C(Mt),si=x(Mt,2),ai=x(si,2),Q=x(rt,2);{var _e=Ye=>{var wt=sE(),Qt=C(wt);G(()=>$(Qt,u(a))),T(Ye,wt)};U(Q,Ye=>{u(a)&&Ye(_e)})}var Te=x(Q,2);{var Ze=Ye=>{var wt=oE();T(Ye,wt)},yt=Ye=>{var wt=nZ(),Qt=C(wt);aS(Qt,{language:"json",get value(){return u(s)},set value(Vt){k(s,Vt,!0)}}),T(Ye,wt)};U(Te,Ye=>{u(r)?Ye(Ze):Ye(yt,-1)})}G(()=>$(Xt,u(n))),J("click",si,En),J("click",ai,yn),T(_t,ge)},ii=_t=>{t(_t)};U(he,_t=>{u(n)?_t(et):_t(ii,-1)})}G(()=>mt=Ro(Be,"",mt,{width:`${u(dt)??""}px`})),J("click",Wt,()=>{k(fe,!u(fe)),k(Le,null)}),ki(Qe,()=>u(cn),_t=>k(cn,_t)),J("mousedown",q,_i),T($e,Z)},Hn=$e=>{var Z=mZ(),Be=C(Z);let mt;var xt=C(Be),Wt=C(xt),A=x(xt,2);{var ne=rt=>{var Mt=rZ(),Xt=vt(Mt),si=C(Xt),ai=x(si,2),Q=x(Xt,2);{var _e=Te=>{var Ze=iE(),yt=C(Ze);G(()=>$(yt,u(pt))),T(Te,Ze)};U(Q,Te=>{u(pt)&&Te(_e)})}J("keydown",si,Te=>Te.key==="Enter"&&zn()),ki(si,()=>u(Ue),Te=>k(Ue,Te)),J("click",ai,zn),T(rt,Mt)};U(A,rt=>{u(xe)&&rt(ne)})}var me=x(A,2),Qe=C(me),lt=x(me,2);di(lt,20,()=>u(Xe),rt=>rt,(rt,Mt)=>{var Xt=nE();let si;var ai=C(Xt);G(()=>{si=Kt(Xt,1,"flat-item svelte-rrt0o",null,si,{"active-item":u(g)===Mt}),$(ai,Mt)}),J("click",Xt,()=>en(Mt)),T(rt,Xt)});var q=x(Be,2),re=x(q,2),he=C(re);{var et=rt=>{var Mt=fZ(),Xt=vt(Mt),si=C(Xt),ai=C(si),Q=x(si,2),_e=x(Q,2),Te=x(_e,2),Ze=x(Xt,2);{var yt=Vt=>{var Ot=sE(),Wi=C(Ot);G(()=>$(Wi,u(R))),T(Vt,Ot)};U(Ze,Vt=>{u(R)&&Vt(yt)})}var Ye=x(Ze,2);{var wt=Vt=>{var Ot=oE();T(Vt,Ot)},Qt=Vt=>{var Ot=gZ(),Wi=C(Ot),hn=x(C(Wi),2),Bi=C(hn),ni=x(Wi,2),Vi=x(C(ni),2),F=C(Vi),K=x(ni,2),Pe=x(C(K),2),Me=C(Pe);aS(Me,{language:"javascript",get value(){return u(p)},set value(Fe){k(p,Fe,!0)}});var qe=x(K,2),ke=x(C(qe),2),ht=C(ke);aS(ht,{language:"javascript",get value(){return u(v)},set value(Fe){k(v,Fe,!0)}});var $t=x(qe,2),ue=C($t),we=C(ue),ut=x(we,4),Ne=x(C(ut)),nt=C(Ne),Ut=x(ue,2);{var V=Fe=>{var Re=aZ(),De=C(Re);zs(De,()=>u(S),Nt=>k(S,Nt)),T(Fe,Re)};U(Ut,Fe=>{u(w)&&Fe(V)})}var Y=x($t,2);{var Ie=Fe=>{var Re=uZ(),De=C(Re),Nt=x(C(De));{var ot=be=>{var ye=lZ();T(be,ye)},Ee=be=>{var ye=cZ(),Se=C(ye);G(()=>$(Se,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(be,ye)};U(Nt,be=>{u(D).error?be(ot):be(Ee,-1)})}var Et=x(De,2);{var He=be=>{var ye=dZ(),Se=C(ye);G(()=>$(Se,u(D).error)),T(be,ye)},ve=be=>{var ye=hZ(),Se=C(ye);G(gt=>$(Se,gt),[()=>JSON.stringify(u(D).result,null,2)]),T(be,ye)};U(Et,be=>{u(D).error?be(He):be(ve,-1)})}T(Fe,Re)};U(Y,Fe=>{u(D)&&Fe(Ie)})}G(()=>$(nt,`${u(z)??""}${u(g)??""} on every update`)),ki(Bi,()=>u(_),Fe=>k(_,Fe)),ki(F,()=>u(f),Fe=>k(f,Fe)),zs(we,()=>u(w),Fe=>k(w,Fe)),T(Vt,Ot)};U(Ye,Vt=>{u(E)?Vt(wt):Vt(Qt,-1)})}G(()=>$(ai,u(g))),J("click",Q,Fn),J("click",_e,pn),J("click",Te,ln),T(rt,Mt)},ii=rt=>{t(rt)};U(he,rt=>{u(g)?rt(et):rt(ii,-1)})}var _t=x(re,2);{var ge=rt=>{var Mt=pZ(),Xt=vt(Mt),si=x(Xt,2);let ai;var Q=C(si);J9(Q,{get currentView(){return u(Zt)},onApplyView:Dt}),G(()=>ai=Ro(si,"",ai,{width:`${u(it)??""}px`})),J("mousedown",Xt,Fi),T(rt,Mt)};U(_t,rt=>{u(Ae)&&rt(ge)})}G(()=>mt=Ro(Be,"",mt,{width:`${u(dt)??""}px`})),J("click",Wt,()=>{k(xe,!u(xe)),k(pt,null)}),ki(Qe,()=>u(tn),rt=>k(tn,rt)),J("mousedown",q,_i),T($e,Z)};U($n,$e=>{u(ee)==="docs"?$e(Gn):$e(Hn,-1)})}G(()=>{Ti=Kt(Ci,1,"svelte-rrt0o",null,Ti,{active:u(ee)==="docs"}),dn=Kt(mn,1,"svelte-rrt0o",null,dn,{active:u(ee)==="views"})}),J("mousemove",bt,ui),J("mouseup",bt,Yi),ds("mouseleave",bt,Yi),J("click",Ci,()=>k(ee,"docs")),J("click",mn,()=>k(ee,"views")),T(o,bt),jo()}Tr(["mousemove","mouseup","click","keydown","mousedown"]);var bZ=M('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),yZ=M('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),rE=M('<p class="err svelte-1ua3isv"> </p>'),wZ=M('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),SZ=M('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),CZ=M('<span class="device-name svelte-1ua3isv"> </span>'),xZ=M('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),LZ=M('<li class="empty svelte-1ua3isv">No paired devices</li>'),kZ=M('<p class="info svelte-1ua3isv">Loading…</p>'),IZ=M('<p class="device-subtitle svelte-1ua3isv"> </p>'),DZ=M('<span class="ep-chip svelte-1ua3isv"> </span>'),EZ=M('<span class="attr-id svelte-1ua3isv"> </span>'),PZ=M('<button class="attr-action-btn svelte-1ua3isv"> </button>'),TZ=M('<div class="attr-actions svelte-1ua3isv"></div>'),MZ=M('<span class="cmd-sep svelte-1ua3isv">,</span>'),NZ=M('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),RZ=M('<span class="cmd-id svelte-1ua3isv"> </span>'),AZ=M("<!> <!>",1),OZ=M('<span class="cmd-list svelte-1ua3isv"></span>'),FZ=M(' <span class="cmd-id svelte-1ua3isv"> </span>',1),HZ=M('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),WZ=M('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),BZ=M('<th class="svelte-1ua3isv"> </th>'),zZ=M('<td class="svelte-1ua3isv"> </td>'),VZ=M('<tr class="svelte-1ua3isv"></tr>'),jZ=M('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),UZ=M('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),$Z=M('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),qZ=M('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),KZ=M('<span class="attr-val svelte-1ua3isv"> </span>'),GZ=M('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),ZZ=M('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),XZ=M('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),YZ=M('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),JZ=M('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),QZ=M('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),eX=M('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),tX=M('<span class="stream-badge svelte-1ua3isv"> </span>'),iX=M('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),lS=M(' <span class="e-sub svelte-1ua3isv"> </span>',1),nX=M('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),sX=M('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),oX=M('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),rX=M('<div class="stream-body svelte-1ua3isv"><!></div>'),aX=M('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div>',1);function lX(o,e){Vo(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(Z,Be,mt,xt,Wt){try{await S7(Z,Be,mt,xt,Wt)}catch(A){console.error("matter command failed",A)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(Z,Be){const mt=n[Z];return Be.map(xt=>{const Wt=typeof xt=="number"?xt:Number(xt);return{id:Wt,name:(mt==null?void 0:mt[Wt])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},c={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function h(Z){return"0x"+Z.toString(16).toUpperCase().padStart(4,"0")}let g=W(gi([])),f=gi(new Map);function p(Z){if(Z==null)return"—";if(typeof Z=="boolean"||typeof Z=="number")return String(Z);if(typeof Z=="string")return Z.length>50?Z.slice(0,47)+"…":Z;const Be=JSON.stringify(Z);return Be.length>60?Be.slice(0,57)+"…":Be}function v(Z){return Z==null?"—":typeof Z=="boolean"||typeof Z=="number"?String(Z):typeof Z=="string"?Z:JSON.stringify(Z)}function _(Z){return Z!==null&&typeof Z=="object"&&!Array.isArray(Z)}function w(Z){return Array.isArray(Z)&&Z.length>0&&Z.every(_)}function S(Z,Be){return!!(Be==="attributeList"||Array.isArray(Z)&&Z.length===0||_(Z)&&Object.keys(Z).length===0)}function D(Z){return new Date(Z).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const E=500,R=20,z=32;let H=0,ee=W(gi([])),X=W(!0),fe=W(180),Le=st(()=>{const Z=Math.max(1,Math.floor((u(fe)-z)/R)+1);return u(ee).slice(0,Z)});function Ue(Z){Z.preventDefault();const Be=Z.clientY,mt=u(fe);function xt(A){k(fe,Math.max(60,Math.min(600,mt+Be-A.clientY)),!0)}function Wt(){document.removeEventListener("mousemove",xt),document.removeEventListener("mouseup",Wt)}document.addEventListener("mousemove",xt),document.addEventListener("mouseup",Wt)}let xe=W(null),pt=W(!1),kt=W(null),dt=W(!1),oi=W("passcode"),jt=W(""),ti=W(""),Ge=W(""),Je=W(!1),Ae=W(null),it=W("");const Ht="she:matter:selectedNodeId";async function Yt(){try{k(g,await CR(),!0);for(const Z of u(g))z_(Z.nodeId).then(Be=>{f.set(Z.nodeId,Be)}).catch(()=>{});if(u(g).length>0&&!u(xe)){const Z=localStorage.getItem(Ht),Be=Z&&u(g).find(mt=>mt.nodeId===Z)?Z:u(g)[0].nodeId;ci(Be)}}catch{k(g,[],!0)}}async function ci(Z){k(pt,!0),k(kt,null);try{k(xe,await z_(Z),!0),f.set(Z,u(xe)),localStorage.setItem(Ht,Z)}catch(Be){k(kt,Be instanceof Error?Be.message:String(Be),!0)}finally{k(pt,!1)}}let Zt;async function Dt(Z){var Be;if(await Zt.show(`Unpair device ${Z}?`,{confirm:"Unpair",danger:!0}))try{await w7(Z),((Be=u(xe))==null?void 0:Be.nodeId)===Z&&k(xe,null),await Yt()}catch(mt){k(kt,mt instanceof Error?mt.message:String(mt),!0)}}async function _i(){k(Je,!0),k(Ae,null);try{let Z;u(oi)==="passcode"?(Z={passcode:Number(u(jt))},u(ti)&&(Z={...Z,discriminator:Number(u(ti))})):Z={pairingCode:u(Ge).trim()},u(it).trim()&&(Z={...Z,discoveryAddress:u(it).trim()}),await y7(Z),k(dt,!1),k(jt,""),k(ti,""),k(Ge,""),k(it,""),await Yt()}catch(Z){k(Ae,Z instanceof Error?Z.message:String(Z),!0)}finally{k(Je,!1)}}Mr(()=>{Yt()});const ui=Fa("matter:deviceList",Z=>{if(!Array.isArray(Z.devices))return;const Be=Z.devices;for(const mt of Be)f.has(mt.nodeId)||z_(mt.nodeId).then(xt=>{f.set(mt.nodeId,xt)}).catch(()=>{});k(g,Be,!0)}),Yi=Fa("matter:deviceStatus",Z=>{if(Z.nodeId===void 0)return;const Be=String(Z.nodeId),mt=!!Z.online;k(g,u(g).map(xt=>xt.nodeId===Be?{...xt,online:mt}:xt),!0),k(ee,[{id:H++,kind:"status",nodeId:Be,online:mt,ts:Date.now()},...u(ee).slice(0,E-1)],!0)}),Fi=Fa("matter:attr",Z=>{const Be=String(Z.nodeId),mt=Z.endpointId,xt=String(Z.clusterName),Wt=String(Z.attrName),A=Z.value;if(u(xe)&&u(xe).nodeId===Be){const me=u(xe).endpoints.find(lt=>lt.endpointId===mt),Qe=me==null?void 0:me.clusters.find(lt=>lt.name===xt);Qe&&(Qe.attrs[Wt]=A)}const ne=f.get(Be);if(ne){const me=ne.endpoints.find(lt=>lt.endpointId===mt),Qe=me==null?void 0:me.clusters.find(lt=>lt.name===xt);Qe&&(Qe.attrs[Wt]=A)}k(ee,[{id:H++,kind:"attr",nodeId:Be,endpointId:mt,clusterName:xt,attrName:Wt,value:A,ts:Z.ts??Date.now()},...u(ee).slice(0,E-1)],!0)});Py(()=>{ui(),Yi(),Fi()});var In=aX(),On=vt(In);xs(Kg(On,{}),Z=>Zt=Z,()=>Zt);var Dn=x(On,2),En=C(Dn),Pi=C(En),yn=C(Pi),fn=x(C(yn),2),en=x(yn,2);{var Fn=Z=>{var Be=wZ(),mt=C(Be),xt=C(mt);let Wt;var A=x(xt,2);let ne;var me=x(mt,2);{var Qe=ge=>{var rt=bZ(),Mt=vt(rt),Xt=x(C(Mt)),si=x(Mt,2),ai=x(C(si));ki(Xt,()=>u(jt),Q=>k(jt,Q)),ki(ai,()=>u(ti),Q=>k(ti,Q)),T(ge,rt)},lt=ge=>{var rt=yZ(),Mt=x(C(rt));ki(Mt,()=>u(Ge),Xt=>k(Ge,Xt)),T(ge,rt)};U(me,ge=>{u(oi)==="passcode"?ge(Qe):ge(lt,-1)})}var q=x(me,2),re=x(C(q)),he=x(q,2);{var et=ge=>{var rt=rE(),Mt=C(rt);G(()=>$(Mt,u(Ae))),T(ge,rt)};U(he,ge=>{u(Ae)&&ge(et)})}var ii=x(he,2),_t=C(ii);G(()=>{Wt=Kt(xt,1,"svelte-1ua3isv",null,Wt,{active:u(oi)==="passcode"}),ne=Kt(A,1,"svelte-1ua3isv",null,ne,{active:u(oi)==="pairingCode"}),ii.disabled=u(Je),$(_t,u(Je)?"Commissioning…":"Commission")}),J("click",xt,()=>k(oi,"passcode")),J("click",A,()=>k(oi,"pairingCode")),ki(re,()=>u(it),ge=>k(it,ge)),J("click",ii,_i),T(Z,Be)};U(en,Z=>{u(dt)&&Z(Fn)})}var pn=x(en,2),ln=C(pn);di(ln,17,()=>u(g),Z=>Z.nodeId,(Z,Be)=>{var mt=xZ();let xt;var Wt=C(mt),A=C(Wt);let ne;var me=x(A,2),Qe=C(me);{var lt=he=>{var et=SZ(),ii=vt(et),_t=C(ii),ge=x(ii,2),rt=C(ge);G(()=>{$(_t,u(Be).name),$(rt,`#${u(Be).nodeId??""}`)}),T(he,et)},q=he=>{var et=CZ(),ii=C(et);G(()=>$(ii,`Node ${u(Be).nodeId??""}`)),T(he,et)};U(Qe,he=>{u(Be).name?he(lt):he(q,-1)})}var re=x(Wt,2);G(()=>{var he;xt=Kt(mt,1,"svelte-1ua3isv",null,xt,{selected:((he=u(xe))==null?void 0:he.nodeId)===u(Be).nodeId}),ne=Kt(A,1,"status-dot svelte-1ua3isv",null,ne,{online:u(Be).online})}),J("click",Wt,()=>ci(u(Be).nodeId)),J("click",re,()=>Dt(u(Be).nodeId)),T(Z,mt)});var zn=x(ln,2);{var cn=Z=>{var Be=LZ();T(Z,Be)};U(zn,Z=>{u(g).length===0&&Z(cn)})}var tn=x(Pi,2),Jn=C(tn);{var Xe=Z=>{var Be=kZ();T(Z,Be)},bt=Z=>{var Be=rE(),mt=C(Be);G(()=>$(mt,u(kt))),T(Z,Be)},ri=Z=>{var Be=QZ(),mt=vt(Be),xt=C(mt),Wt=C(xt),A=x(xt,2);{var ne=q=>{var re=IZ(),he=C(re);G(()=>$(he,u(xe).subtitle)),T(q,re)};U(A,q=>{u(xe).subtitle&&q(ne)})}var me=x(A,2),Qe=C(me),lt=x(mt,2);di(lt,17,()=>u(xe).endpoints,q=>q.endpointId,(q,re)=>{var he=JZ(),et=C(he),ii=C(et),_t=x(ii),ge=C(_t),rt=x(_t,2);di(rt,21,()=>u(re).clusters,Mn,(ai,Q)=>{var _e=DZ(),Te=C(_e);G(()=>$(Te,u(Q).name)),T(ai,_e)});var Mt=x(et,2);{var Xt=ai=>{var Q=XZ(),_e=x(C(Q));di(_e,21,()=>u(re).clusters,Mn,(Te,Ze)=>{var yt=ZZ(),Ye=vt(yt),wt=C(Ye),Qt=C(wt),Vt=x(Ye,2);di(Vt,17,()=>Object.entries(u(Ze).attrs),Mn,(Ot,Wi)=>{var hn=st(()=>Lk(u(Wi),2));let Bi=()=>u(hn)[0],ni=()=>u(hn)[1];var Vi=js(),F=vt(Vi);{var K=Me=>{const qe=st(()=>{var ye;return(ye=t[u(Ze).name])==null?void 0:ye[Bi()]}),ke=st(()=>(Bi()==="acceptedCommandList"||Bi()==="generatedCommandList")&&Array.isArray(ni())),ht=st(()=>{var ye;return((ye=c[u(Ze).name])==null?void 0:ye[Bi()])??a[Bi()]});var $t=GZ(),ue=C($t),we=C(ue),ut=C(we),Ne=x(we);{var nt=ye=>{var Se=EZ(),gt=C(Se);G(ce=>$(gt,`(${ce??""})`),[()=>h(u(ht))]),T(ye,Se)};U(Ne,ye=>{u(ht)!==void 0&&ye(nt)})}var Ut=x(ue),V=C(Ut);{var Y=ye=>{var Se=TZ();di(Se,21,()=>u(qe),Mn,(gt,ce)=>{var Oe=PZ(),at=C(Oe);G(()=>$(at,u(ce).label)),J("click",Oe,()=>i(u(xe).nodeId,u(re).endpointId,u(Ze).name,u(ce).command,u(ce).args)),T(gt,Oe)}),T(ye,Se)};U(V,ye=>{u(qe)&&ye(Y)})}var Ie=x(Ut),Fe=C(Ie);{var Re=ye=>{var Se=OZ();di(Se,21,()=>s(u(Ze).name,ni()),Mn,(gt,ce,Oe)=>{var at=AZ(),tt=vt(at);{var Ke=Hi=>{var wn=MZ();T(Hi,wn)};U(tt,Hi=>{Oe>0&&Hi(Ke)})}var At=x(tt,2);{var Bt=Hi=>{var wn=NZ(),es=vt(wn),vi=C(es),qt=x(es),Gi=C(qt);G(()=>{$(vi,u(ce).name),$(Gi,`(${u(ce).id??""})`)}),T(Hi,wn)},un=Hi=>{var wn=RZ(),es=C(wn);G(()=>$(es,u(ce).id)),T(Hi,wn)};U(At,Hi=>{u(ce).name?Hi(Bt):Hi(un,-1)})}T(gt,at)}),T(ye,Se)},De=ye=>{var Se=WZ(),gt=x(C(Se));di(gt,21,ni,Mn,(ce,Oe)=>{const at=st(()=>u(Oe)),tt=st(()=>u(at).deviceType),Ke=st(()=>r[u(tt)]);var At=HZ(),Bt=C(At),un=C(Bt);{var Hi=qt=>{var Gi=FZ(),Di=vt(Gi),gs=x(Di),so=C(gs);G(Uo=>{$(Di,`${u(Ke)??""} `),$(so,`(${Uo??""})`)},[()=>h(u(tt))]),T(qt,Gi)},wn=qt=>{var Gi=ea();G(Di=>$(Gi,Di),[()=>h(u(tt))]),T(qt,Gi)};U(un,qt=>{u(Ke)?qt(Hi):qt(wn,-1)})}var es=x(Bt),vi=C(es);G(qt=>$(vi,qt),[()=>v(u(at).revision)]),T(ce,At)}),T(ye,Se)},Nt=st(()=>Bi()==="deviceTypeList"&&Array.isArray(ni())),ot=ye=>{const Se=st(()=>[...new Set(ni().flatMap(tt=>Object.keys(tt)))]);var gt=jZ(),ce=C(gt),Oe=C(ce);di(Oe,21,()=>u(Se),Mn,(tt,Ke)=>{var At=BZ(),Bt=C(At);G(()=>$(Bt,u(Ke))),T(tt,At)});var at=x(ce);di(at,21,ni,Mn,(tt,Ke)=>{var At=VZ();di(At,21,()=>u(Se),Mn,(Bt,un)=>{var Hi=zZ(),wn=C(Hi);G(es=>$(wn,es),[()=>v(u(Ke)[u(un)])]),T(Bt,Hi)}),T(tt,At)}),T(ye,gt)},Ee=st(()=>w(ni())),Et=ye=>{var Se=$Z(),gt=C(Se);di(gt,21,()=>Object.entries(ni()),Mn,(ce,Oe)=>{var at=st(()=>Lk(u(Oe),2));let tt=()=>u(at)[0],Ke=()=>u(at)[1];var At=UZ(),Bt=C(At),un=C(Bt),Hi=x(Bt),wn=C(Hi);G(es=>{$(un,tt()),$(wn,es)},[()=>v(Ke())]),T(ce,At)}),T(ye,Se)},He=st(()=>_(ni())),ve=ye=>{var Se=qZ(),gt=C(Se);G(()=>{vn(Se,"href",ni()),$(gt,ni())}),T(ye,Se)},be=ye=>{var Se=KZ(),gt=C(Se);G(ce=>$(gt,ce),[()=>v(ni())]),T(ye,Se)};U(Fe,ye=>{u(ke)?ye(Re):u(Nt)?ye(De,1):u(Ee)?ye(ot,2):u(He)?ye(Et,3):(Bi()==="productUrl"||Bi()==="productURL")&&typeof ni()=="string"?ye(ve,4):ye(be,-1)})}G(()=>{vn(ue,"title",Bi()),$(ut,Bi())}),T(Me,$t)},Pe=st(()=>!S(ni(),Bi()));U(F,Me=>{u(Pe)&&Me(K)})}T(Ot,Vi)}),G(()=>$(Qt,u(Ze).name)),T(Te,yt)}),T(ai,Q)},si=ai=>{var Q=YZ();T(ai,Q)};U(Mt,ai=>{u(re).clusters.length>0?ai(Xt):ai(si,-1)})}G(()=>{$(ii,`${u(re).name??`Endpoint ${u(re).endpointId}`??""} `),$(ge,`ep${u(re).endpointId??""}`)}),T(q,he)}),G(()=>{$(Wt,u(xe).name??`Node ${u(xe).nodeId}`),$(Qe,`Node ID: ${u(xe).nodeId??""}`)}),T(Z,Be)},Ci=Z=>{var Be=eX();T(Z,Be)};U(Jn,Z=>{u(pt)?Z(Xe):u(kt)?Z(bt,1):u(xe)?Z(ri,2):Z(Ci,-1)})}var Ti=x(En,2),mn=C(Ti),dn=x(mn,2),Kn=x(C(dn),2);{var Pn=Z=>{var Be=tX(),mt=C(Be);G(()=>$(mt,u(ee).length)),T(Z,Be)};U(Kn,Z=>{!u(X)&&u(ee).length>0&&Z(Pn)})}var $n=x(Kn,2),Gn=C($n),Hn=x(dn,2);{var $e=Z=>{var Be=rX(),mt=C(Be);{var xt=A=>{var ne=iX();T(A,ne)},Wt=A=>{var ne=js(),me=vt(ne);di(me,17,()=>u(Le),Qe=>Qe.id,(Qe,lt)=>{const q=st(()=>{var Xt,si;return((Xt=f.get(u(lt).nodeId))==null?void 0:Xt.name)??((si=u(g).find(ai=>ai.nodeId===u(lt).nodeId))==null?void 0:si.name)??null}),re=st(()=>{var Xt,si;return u(lt).endpointId!==void 0?((si=(Xt=f.get(u(lt).nodeId))==null?void 0:Xt.endpoints.find(ai=>ai.endpointId===u(lt).endpointId))==null?void 0:si.name)??null:null}),he=st(()=>u(lt).attrName??u(lt).clusterName);var et=oX(),ii=C(et),_t=C(ii),ge=x(ii,2);{var rt=Xt=>{var si=nX(),ai=x(vt(si),2),Q=C(ai),_e=x(Q);{var Te=wt=>{var Qt=lS(),Vt=x(vt(Qt)),Ot=C(Vt);G(()=>$(Ot,`(#${u(lt).nodeId??""})`)),T(wt,Qt)};U(_e,wt=>{u(q)&&wt(Te)})}var Ze=x(ai,2);let yt;var Ye=C(Ze);G(()=>{$(Q,u(q)??`#${u(lt).nodeId}`),yt=Kt(Ze,1,"e-val svelte-1ua3isv",null,yt,{"e-online":u(lt).online,"e-offline":!u(lt).online}),$(Ye,u(lt).online?"online":"offline")}),T(Xt,si)},Mt=Xt=>{var si=sX(),ai=x(vt(si),2),Q=C(ai),_e=x(Q);{var Te=ni=>{var Vi=lS(),F=x(vt(Vi)),K=C(F);G(()=>$(K,`(#${u(lt).nodeId??""})`)),T(ni,Vi)};U(_e,ni=>{u(q)&&ni(Te)})}var Ze=x(ai,2),yt=C(Ze),Ye=x(yt);{var wt=ni=>{var Vi=lS(),F=x(vt(Vi)),K=C(F);G(()=>$(K,`(ep ${u(lt).endpointId??""})`)),T(ni,Vi)};U(Ye,ni=>{u(re)&&ni(wt)})}var Qt=x(Ze,2),Vt=C(Qt),Ot=x(Qt,2),Wi=C(Ot),hn=x(Ot,2),Bi=C(hn);G(ni=>{$(Q,u(q)??`#${u(lt).nodeId}`),$(yt,u(re)??`ep${u(lt).endpointId}`),$(Vt,u(lt).clusterName),$(Wi,u(he)),$(Bi,ni)},[()=>p(u(lt).value)]),T(Xt,si)};U(ge,Xt=>{u(lt).kind==="status"?Xt(rt):Xt(Mt,-1)})}G(Xt=>$(_t,Xt),[()=>D(u(lt).ts)]),T(Qe,et)}),T(A,ne)};U(mt,A=>{u(Le).length===0?A(xt):A(Wt,-1)})}T(Z,Be)};U(Hn,Z=>{u(X)&&Z($e)})}G(()=>{Ro(Ti,u(X)?`height: ${u(fe)}px;`:""),$(Gn,u(X)?"▾":"▸")}),J("click",fn,()=>k(dt,!u(dt))),J("mousedown",mn,Ue),J("click",$n,()=>{k(X,!u(X))}),T(o,In),jo()}Tr(["click","mousedown"]);var cX=M("<button>›</button>"),dX=M('<span class="chev-ph svelte-1vejtrc"></span>'),hX=M('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),uX=M('<div class="tc svelte-1vejtrc"></div>'),gX=M('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),fX=M("<option></option>"),pX=M('<span class="pub-ok svelte-1vejtrc">✓</span>'),mX=M('<span class="pub-err svelte-1vejtrc"> </span>'),_X=M('<div class="info svelte-1vejtrc">Loading…</div>'),vX=M('<div class="info err svelte-1vejtrc"> </div>'),bX=M('<div class="info svelte-1vejtrc">No topics match.</div>'),yX=M('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),wX=M('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),SX=M('<div class="info svelte-1vejtrc">No topics yet.</div>'),CX=M('<div class="tree-wrap svelte-1vejtrc"><!></div>'),xX=M('<span class="stream-badge"> </span>'),LX=M('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),kX=M('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),IX=M('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),DX=M('<div class="stream-body svelte-1vejtrc"><!></div>'),EX=M('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),PX=M('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),TX=M('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),MX=M('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function NX(o,e){Vo(e,!0);const t=(Q,_e=Ly)=>{const Te=st(()=>u(f).has(_e().path)),Ze=st(()=>u(a)>=0&&_e().children.size>0),yt=st(()=>u(a)>=0&&_e().isLeaf&&!n.has(_e().path));var Ye=gX(),wt=C(Ye);let Qt;var Vt=C(wt);{var Ot=Me=>{var qe=cX();let ke;G(()=>{ke=Kt(qe,1,"chev svelte-1vejtrc",null,ke,{open:u(Te)}),vn(qe,"aria-label",u(Te)?"Collapse":"Expand")}),J("click",qe,()=>p(_e().path)),T(Me,qe)},Wi=Me=>{var qe=dX();T(Me,qe)};U(Vt,Me=>{u(Ze)?Me(Ot):Me(Wi,-1)})}var hn=x(Vt,2),Bi=C(hn),ni=x(hn,2);{var Vi=Me=>{var qe=hX(),ke=vt(qe),ht=C(ke),$t=x(ke,2),ue=C($t);G((we,ut,Ne)=>{vn(ke,"title",we),$(ht,ut),$(ue,Ne)},[()=>{var we;return Dn((we=yn(_e().path))==null?void 0:we.val)},()=>{var we;return Dn((we=yn(_e().path))==null?void 0:we.val)},()=>{var we;return((we=yn(_e().path))==null?void 0:we.ts)!=null?En(yn(_e().path).ts):""}]),T(Me,qe)},F=st(()=>_e().isLeaf&&i.has(_e().path));U(ni,Me=>{u(F)&&Me(Vi)})}var K=x(wt,2);{var Pe=Me=>{var qe=uX();di(qe,21,()=>[..._e().children.values()].sort((ke,ht)=>ke.seg.localeCompare(ht.seg)),ke=>ke.path,(ke,ht)=>{t(ke,()=>u(ht))}),T(Me,qe)};U(K,Me=>{u(Ze)&&u(Te)&&Me(Pe)})}G(()=>{Qt=Kt(wt,1,"tr svelte-1vejtrc",null,Qt,{stale:u(yt)}),$(Bi,_e().seg)}),J("click",wt,()=>{k(pt,_e().path+"/#")}),J("contextmenu",wt,Me=>{Me.preventDefault(),k(it,{x:Me.clientX,y:Me.clientY,topic:_e().path},!0)}),T(Q,Ye)},i=new Map,n=new Set,s=new Set;let r=null,a=W(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const Q of s)g(Q);s.clear(),Dk(a)}))}const h=new Map;function g(Q){const _e=Q.split("/");let Te=h,Ze="";for(let yt=0;yt<_e.length;yt++){const Ye=_e[yt];Ze=yt===0?Ye:`${Ze}/${Ye}`,Te.has(Ye)||Te.set(Ye,{seg:Ye,path:Ze,children:new Map,isLeaf:!1});const wt=Te.get(Ye);yt===_e.length-1&&(wt.isLeaf=!0),Te=wt.children}}let f=W(gi(new Set));function p(Q){const _e=new Set(u(f));_e.has(Q)?_e.delete(Q):_e.add(Q),k(f,_e,!0)}let v=W("");const _=24,w=5;let S=W(0),D=W(300),E=st(()=>{if(u(a),!u(v))return[];const Q=u(v).toLowerCase().split(/\s+/).filter(Boolean),_e=[];for(const[Te,Ze]of i){const yt=Te.toLowerCase();Q.every(Ye=>yt.includes(Ye))&&_e.push({topic:Te,...Ze})}return _e.sort((Te,Ze)=>Te.topic.localeCompare(Ze.topic))}),R=st(()=>{const Q=u(E).length,_e=Math.max(0,Math.floor(u(S)/_)-w),Te=Math.min(Q,Math.ceil((u(S)+u(D))/_)+w);return{start:_e,end:Te,totalH:Q*_,top:_e*_}});const z=1e3,H=200,ee=20,X=36;let fe=0,Le=W(gi([])),Ue=W(gi([])),xe=W(!0),pt=W("#"),kt=W(200);Wn(()=>{const Q=u(pt).trim(),_e=Ml(()=>u(Le)),Te=!Q||Q==="#"?_e.slice(0,H):_e.filter(Ze=>dt(Q,Ze.topic)).slice(0,H);if(Q&&Q!=="#"){const Ze=new Set(Te.map(Ye=>Ye.topic)),yt=[];for(const[Ye,wt]of i)Ze.has(Ye)||dt(Q,Ye)&&yt.push({id:-(yt.length+1),topic:Ye,val:wt.val,ts:wt.ts,retained:!0});yt.sort((Ye,wt)=>Ye.topic.localeCompare(wt.topic)),k(Ue,[...Te,...yt],!0)}else k(Ue,Te,!0)});function dt(Q,_e){if(Q==="#")return!0;const Te=Q.split("/"),Ze=_e.split("/");for(let yt=0;yt<Te.length;yt++){if(Te[yt]==="#")return!0;if(yt>=Ze.length||Te[yt]!=="+"&&Te[yt]!==Ze[yt])return!1}return Te.length===Ze.length}function oi(Q){Q.preventDefault();const _e=Q.clientY,Te=u(kt);function Ze(Ye){k(kt,Math.max(60,Math.min(800,Te+_e-Ye.clientY)),!0)}function yt(){document.removeEventListener("mousemove",Ze),document.removeEventListener("mouseup",yt)}document.addEventListener("mousemove",Ze),document.addEventListener("mouseup",yt)}let jt=st(()=>{const Q=Math.max(1,Math.floor((u(kt)-X)/ee)+1);return u(Ue).slice(0,Q)}),ti=W(!0),Ge=W(null);async function Je(){k(ti,!0),k(Ge,null);try{const Q=await xR();for(const _e of Q)i.set(_e.topic,{val:_e.val,ts:_e.ts}),g(_e.topic)}catch(Q){k(Ge,Q instanceof Error?Q.message:String(Q),!0)}finally{k(ti,!1),Dk(a)}}const Ae=Fa("mqtt",Q=>{const{topic:_e,val:Te,ts:Ze}=Q;i.set(_e,{val:Te,ts:Ze}),n.add(_e),s.add(_e),c();const yt={id:fe++,topic:_e,val:Te,ts:Ze};k(Le,[yt,...u(Le).slice(0,z-1)],!0);const Ye=u(pt).trim();(!Ye||Ye==="#"||dt(Ye,_e))&&k(Ue,[yt,...u(Ue).filter(wt=>!(wt.retained&&wt.topic===_e)).slice(0,H-1)],!0)});let it=W(null),Ht=W(null);async function Yt(Q,_e){const Te=[Q];if(_e){const Ze=Q+"/";for(const yt of i.keys())yt.startsWith(Ze)&&Te.push(yt)}for(const Ze of Te)await ED(Ze,"",!0,0)}let ci=st(()=>(u(a),[...i.keys()].sort())),Zt=W(""),Dt=W(""),_i=W(!1),ui=W(0),Yi=W(!1),Fi=W(null),In=W(!1);async function On(){if(u(Zt)){k(Yi,!0),k(Fi,null),k(In,!1);try{await ED(u(Zt),u(Dt),u(_i),u(ui)),k(In,!0),setTimeout(()=>{k(In,!1)},2e3)}catch(Q){k(Fi,Q instanceof Error?Q.message:String(Q),!0)}finally{k(Yi,!1)}}}function Dn(Q){return Q==null?"":typeof Q=="object"?JSON.stringify(Q):String(Q)}function En(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Pi(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function yn(Q){return u(a),i.get(Q)}let fn=st(()=>(u(a),[...h.values()].sort((Q,_e)=>Q.seg.localeCompare(_e.seg)))),en=st(()=>(u(a),i.size));Mr(Je),Py(()=>{Ae(),r!==null&&cancelAnimationFrame(r)});var Fn=MX(),pn=x(C(Fn),2),ln=C(pn),zn=C(ln),cn=x(zn,2);di(cn,20,()=>u(ci),Q=>Q,(Q,_e)=>{var Te=fX(),Ze={};G(()=>{Ze!==(Ze=_e)&&(Te.value=(Te.__value=_e)??"")}),T(Q,Te)});var tn=x(cn,2),Jn=x(tn,2),Xe=C(Jn),bt=x(Jn,2),ri=C(bt);ri.value=ri.__value=0;var Ci=x(ri);Ci.value=Ci.__value=1;var Ti=x(Ci);Ti.value=Ti.__value=2;var mn=x(bt,2),dn=x(mn,2);{var Kn=Q=>{var _e=pX();T(Q,_e)};U(dn,Q=>{u(In)&&Q(Kn)})}var Pn=x(dn,2);{var $n=Q=>{var _e=mX(),Te=C(_e);G(()=>$(Te,u(Fi))),T(Q,_e)};U(Pn,Q=>{u(Fi)&&Q($n)})}var Gn=x(ln,2),Hn=C(Gn),$e=x(Hn,2),Z=C($e);{var Be=Q=>{var _e=ea();G(()=>$(_e,`${u(E).length??""} /`)),T(Q,_e)};U(Z,Q=>{u(v)&&Q(Be)})}var mt=x(Z),xt=x(Gn,2);{var Wt=Q=>{var _e=_X();T(Q,_e)},A=Q=>{var _e=vX(),Te=C(_e);G(()=>$(Te,u(Ge))),T(Q,_e)},ne=Q=>{var _e=js(),Te=vt(_e);{var Ze=Ye=>{var wt=bX();T(Ye,wt)},yt=Ye=>{var wt=wX(),Qt=C(wt),Vt=C(Qt);di(Vt,21,()=>u(E).slice(u(R).start,u(R).end),Ot=>Ot.topic,(Ot,Wi)=>{var hn=yX(),Bi=C(hn),ni=C(Bi),Vi=x(Bi,2),F=C(Vi),K=x(Vi,2),Pe=C(K);G((Me,qe,ke)=>{$(ni,u(Wi).topic),vn(Vi,"title",Me),$(F,qe),$(Pe,ke)},[()=>Dn(u(Wi).val),()=>Dn(u(Wi).val),()=>En(u(Wi).ts)]),T(Ot,hn)}),G(()=>{Ro(Qt,`height: ${u(R).totalH??""}px; position: relative;`),Ro(Vt,`top: ${u(R).top??""}px;`)}),ds("scroll",wt,Ot=>{k(S,Ot.currentTarget.scrollTop,!0)}),kW(wt,"clientHeight",Ot=>k(D,Ot)),T(Ye,wt)};U(Te,Ye=>{u(E).length===0?Ye(Ze):Ye(yt,-1)})}T(Q,_e)},me=Q=>{var _e=CX(),Te=C(_e);{var Ze=Ye=>{var wt=SX();T(Ye,wt)},yt=Ye=>{var wt=js(),Qt=vt(wt);di(Qt,17,()=>u(fn),Vt=>Vt.path,(Vt,Ot)=>{t(Vt,()=>u(Ot))}),T(Ye,wt)};U(Te,Ye=>{u(fn).length===0?Ye(Ze):Ye(yt,-1)})}T(Q,_e)};U(xt,Q=>{u(ti)?Q(Wt):u(Ge)?Q(A,1):u(v)?Q(ne,2):Q(me,-1)})}var Qe=x(pn,2),lt=C(Qe),q=x(lt,2),re=C(q),he=x(re,2);{var et=Q=>{var _e=xX(),Te=C(_e);G(()=>$(Te,u(Ue).length)),T(Q,_e)};U(he,Q=>{!u(xe)&&u(Ue).length>0&&Q(et)})}var ii=x(he,2),_t=C(ii),ge=x(q,2);{var rt=Q=>{var _e=DX(),Te=C(_e);{var Ze=Ye=>{var wt=LX();T(Ye,wt)},yt=Ye=>{var wt=js(),Qt=vt(wt);di(Qt,17,()=>u(jt),Vt=>Vt.id,(Vt,Ot)=>{var Wi=IX();let hn;var Bi=C(Wi),ni=C(Bi),Vi=x(Bi,2);{var F=ke=>{var ht=kX();T(ke,ht)};U(Vi,ke=>{u(Ot).retained&&ke(F)})}var K=x(Vi,2),Pe=C(K),Me=x(K,2),qe=C(Me);G((ke,ht,$t)=>{hn=Kt(Wi,1,"sr svelte-1vejtrc",null,hn,{retained:u(Ot).retained}),$(ni,ke),$(Pe,u(Ot).topic),vn(Me,"title",ht),$(qe,$t)},[()=>Pi(u(Ot).ts),()=>Dn(u(Ot).val),()=>Dn(u(Ot).val)]),T(Vt,Wi)}),T(Ye,wt)};U(Te,Ye=>{u(jt).length===0?Ye(Ze):Ye(yt,-1)})}T(Q,_e)};U(ge,Q=>{u(xe)&&Q(rt)})}var Mt=x(Qe,2);{var Xt=Q=>{var _e=EX(),Te=vt(_e),Ze=x(Te,2);let yt;var Ye=C(Ze),wt=x(Ye,2);G(()=>yt=Ro(Ze,"",yt,{left:`${u(it).x??""}px`,top:`${u(it).y??""}px`})),J("click",Te,()=>k(it,null)),J("contextmenu",Te,Qt=>{Qt.preventDefault(),k(it,null)}),J("click",Ye,()=>{navigator.clipboard.writeText(u(it).topic),k(it,null)}),J("click",wt,()=>{const Qt=u(it).topic,Vt=Qt+"/",Ot=[...i.keys()].some(Wi=>Wi.startsWith(Vt));k(Ht,{topic:Qt,hasChildren:Ot,recursive:!1},!0),k(it,null)}),T(Q,_e)};U(Mt,Q=>{u(it)&&Q(Xt)})}var si=x(Mt,2);{var ai=Q=>{var _e=TX(),Te=vt(_e),Ze=x(Te,2),yt=x(C(Ze),2),Ye=C(yt),wt=x(C(Ye)),Qt=C(wt),Vt=x(Ye,2);{var Ot=ni=>{var Vi=PX(),F=C(Vi);zs(F,()=>u(Ht).recursive,K=>u(Ht).recursive=K),T(ni,Vi)};U(Vt,ni=>{u(Ht).hasChildren&&ni(Ot)})}var Wi=x(yt,2),hn=C(Wi),Bi=x(hn,2);G(()=>$(Qt,u(Ht).topic)),J("click",Te,()=>k(Ht,null)),J("click",hn,()=>k(Ht,null)),J("click",Bi,()=>{const{topic:ni,recursive:Vi}=u(Ht);k(Ht,null),Yt(ni,Vi)}),T(Q,_e)};U(si,Q=>{u(Ht)&&Q(ai)})}G(()=>{mn.disabled=u(Yi)||!u(Zt),$(mt,` ${u(en)??""}`),Ro(Qe,u(xe)?`height: ${u(kt)}px;`:""),$(_t,u(xe)?"▾":"▸")}),ki(zn,()=>u(Zt),Q=>k(Zt,Q)),ki(tn,()=>u(Dt),Q=>k(Dt,Q)),zs(Xe,()=>u(_i),Q=>k(_i,Q)),$r(bt,()=>u(ui),Q=>k(ui,Q)),J("click",mn,On),ki(Hn,()=>u(v),Q=>k(v,Q)),J("mousedown",lt,oi),ki(re,()=>u(pt),Q=>k(pt,Q)),J("click",ii,()=>{k(xe,!u(xe))}),T(o,Fn),jo()}Tr(["click","contextmenu","mousedown"]);var RX=M('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),AX=M('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),OX=M('<div class="err svelte-twakcj"> </div>'),FX=M('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),HX=M('<p class="empty svelte-twakcj">No packages installed.</p>'),WX=M('<p class="empty svelte-twakcj">No match.</p>'),BX=M('<span class="dep-latest svelte-twakcj"> </span>'),zX=ET('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="8" cy="8" r="6" stroke-dasharray="18" stroke-dashoffset="4"></circle></svg>'),VX=ET('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg>'),jX=M('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),UX=M('<span class="result-author svelte-twakcj"> </span>'),$X=M('<span class="result-date svelte-twakcj"> </span>'),qX=M('<span class="result-desc svelte-twakcj"> </span>'),KX=M('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),GX=M('<div class="results-list svelte-twakcj"></div>'),ZX=M('<pre class="npm-output svelte-twakcj"> </pre>'),XX=M(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),YX=M('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function JX(o,e){Vo(e,!0);let t=W(gi([])),i=W(""),n=W(gi({})),s=W(!1),r=W(""),a=W(gi([])),c=W(!1),h=W(!1),g=W(!1),f=W(""),p=W(""),v=gi({});const _=st(()=>u(i).trim()?u(t).filter(Xe=>Xe.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),w=st(()=>Object.keys(u(n)).length);Mr(async()=>{await Promise.all([S(),D()])});async function S(){try{k(t,await d7(),!0),k(f,"")}catch(Xe){k(f,Xe.message,!0)}}async function D(){try{k(n,await p7(),!0)}catch{}}async function E(){k(s,!0);try{k(n,await m7(),!0)}catch{}finally{k(s,!1)}}async function R(){const Xe=u(r).trim();if(!Xe){k(a,[],!0);return}k(g,!0),k(f,"");try{k(a,await h7(Xe),!0)}catch(bt){k(f,bt.message,!0)}finally{k(g,!1)}}function z(Xe){if(!Xe)return"";try{return new Date(Xe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function H(Xe,bt){v[Xe]=!0,k(f,""),k(p,"");try{const ri=await u7(Xe,bt);k(p,ri.stdout||ri.stderr||"Done.",!0),k(c,!0),await S()}catch(ri){k(f,ri.message,!0)}finally{v[Xe]=!1}}async function ee(Xe){v[Xe]=!0,k(f,""),k(p,"");try{const bt=await g7(Xe);k(p,bt.stdout||bt.stderr||"Done.",!0),k(c,!0);const ri={...u(n)};delete ri[Xe],k(n,ri,!0),await S()}catch(bt){k(f,bt.message,!0)}finally{v[Xe]=!1}}async function X(Xe){v[Xe]=!0,k(f,""),k(p,"");try{const bt=await f7(Xe);k(p,bt.stdout||bt.stderr||"Done.",!0),k(c,!0);const ri={...u(n)};delete ri[Xe],k(n,ri,!0),await S()}catch(bt){k(f,bt.message,!0)}finally{v[Xe]=!1}}let fe;async function Le(){if(await fe.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){k(h,!0);try{await yR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var Ue=YX(),xe=vt(Ue);xs(Kg(xe,{}),Xe=>fe=Xe,()=>fe);var pt=x(xe,2),kt=C(pt);{var dt=Xe=>{var bt=RX();T(Xe,bt)},oi=Xe=>{var bt=AX(),ri=x(C(bt));J("click",ri,Le),T(Xe,bt)};U(kt,Xe=>{u(h)?Xe(dt):u(c)&&Xe(oi,1)})}var jt=x(kt,2);{var ti=Xe=>{var bt=OX(),ri=C(bt);G(()=>$(ri,u(f))),T(Xe,bt)};U(jt,Xe=>{u(f)&&Xe(ti)})}var Ge=x(jt,2),Je=C(Ge),Ae=C(Je),it=x(C(Ae),2),Ht=C(it),Yt=x(it,2);{var ci=Xe=>{var bt=FX(),ri=C(bt);G(()=>$(ri,`${u(w)??""} outdated`)),T(Xe,bt)};U(Yt,Xe=>{u(w)>0&&Xe(ci)})}var Zt=x(Yt,2),Dt=C(Zt);let _i;var ui=x(Ae,2),Yi=C(ui),Fi=x(ui,2),In=C(Fi);{var On=Xe=>{var bt=HX();T(Xe,bt)},Dn=Xe=>{var bt=WX();T(Xe,bt)},En=Xe=>{var bt=js(),ri=vt(bt);di(ri,17,()=>u(_),Ci=>Ci.name,(Ci,Ti)=>{var mn=jX();let dn;var Kn=C(mn),Pn=C(Kn),$n=C(Pn),Gn=x(Pn,2),Hn=C(Gn),$e=x(Gn,2);{var Z=Qe=>{var lt=BX(),q=C(lt);G(()=>$(q,`→ v${u(n)[u(Ti).name].latest??""}`)),T(Qe,lt)};U($e,Qe=>{u(n)[u(Ti).name]&&Qe(Z)})}var Be=x(Kn,2),mt=C(Be);let xt;var Wt=C(mt);{var A=Qe=>{var lt=zX();T(Qe,lt)},ne=Qe=>{var lt=VX();T(Qe,lt)};U(Wt,Qe=>{v[u(Ti).name]?Qe(A):Qe(ne,-1)})}var me=x(mt,2);G(()=>{dn=Kt(mn,1,"dep-row svelte-twakcj",null,dn,{"dep-busy":!!v[u(Ti).name]}),vn(Pn,"href",u(Ti).url??`https://www.npmjs.com/package/${u(Ti).name}`),$($n,u(Ti).name),$(Hn,u(Ti).installedVersion??u(Ti).version),xt=Kt(mt,1,"icon-btn svelte-twakcj",null,xt,{"icon-btn--update":!!u(n)[u(Ti).name]}),mt.disabled=!!v[u(Ti).name],vn(mt,"title",u(n)[u(Ti).name]?`Update to v${u(n)[u(Ti).name].latest}`:"Update to latest"),me.disabled=!!v[u(Ti).name]}),J("click",mt,()=>X(u(Ti).name)),J("click",me,()=>ee(u(Ti).name)),T(Ci,mn)}),T(Xe,bt)};U(In,Xe=>{u(t).length===0?Xe(On):u(_).length===0?Xe(Dn,1):Xe(En,-1)})}var Pi=x(Je,2),yn=x(C(Pi),2),fn=C(yn),en=x(fn,2),Fn=C(en),pn=x(yn,2);{var ln=Xe=>{var bt=GX();di(bt,21,()=>u(a),ri=>ri.name,(ri,Ci)=>{var Ti=KX(),mn=C(Ti),dn=C(mn),Kn=C(dn),Pn=x(dn,2),$n=C(Pn),Gn=x(Pn,2);{var Hn=A=>{var ne=UX(),me=C(ne);G(()=>$(me,u(Ci).author)),T(A,ne)};U(Gn,A=>{u(Ci).author&&A(Hn)})}var $e=x(Gn,2);{var Z=A=>{var ne=$X(),me=C(ne);G(Qe=>{vn(ne,"title",u(Ci).date),$(me,Qe)},[()=>z(u(Ci).date)]),T(A,ne)};U($e,A=>{u(Ci).date&&A(Z)})}var Be=x($e,2);{var mt=A=>{var ne=qX(),me=C(ne);G(()=>$(me,u(Ci).description)),T(A,ne)};U(Be,A=>{u(Ci).description&&A(mt)})}var xt=x(mn,2),Wt=C(xt);G(()=>{vn(dn,"href",u(Ci).url??`https://www.npmjs.com/package/${u(Ci).name}`),$(Kn,u(Ci).name),$($n,u(Ci).version),xt.disabled=!!v[u(Ci).name],$(Wt,v[u(Ci).name]?"Installing…":"Install")}),J("click",xt,()=>H(u(Ci).name)),T(ri,Ti)}),T(Xe,bt)};U(pn,Xe=>{u(a).length>0&&Xe(ln)})}var zn=x(pn,2);{var cn=Xe=>{var bt=ZX(),ri=C(bt);G(()=>$(ri,u(p))),T(Xe,bt)};U(zn,Xe=>{u(p)&&Xe(cn)})}var tn=x(zn,2);{var Jn=Xe=>{var bt=XX();T(Xe,bt)};U(tn,Xe=>{!u(a).length&&!u(p)&&Xe(Jn)})}G(()=>{$(Ht,u(t).length),Zt.disabled=u(s),_i=Kt(Dt,0,"svelte-twakcj",null,_i,{spinning:u(s)}),en.disabled=u(g),$(Fn,u(g)?"Searching…":"Search")}),J("click",Zt,E),ki(Yi,()=>u(i),Xe=>k(i,Xe)),J("keydown",fn,Xe=>Xe.key==="Enter"&&R()),ki(fn,()=>u(r),Xe=>k(r,Xe)),J("click",en,R),T(o,Ue),jo()}Tr(["click","keydown"]);var QX=M('<span class="mqtt-dot svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),eY=M('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),tY=M('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),iY=M('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),nY=M('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),sY=M('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),oY=M('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),rY=M('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),aY=M('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),lY=M('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),cY=M('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),dY=M('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),hY=M('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),uY=M('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),gY=M('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs</button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),fY=M('<div class="login-error svelte-1n46o8q"> </div>'),pY=M('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),mY=M('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),_Y=M('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),vY=M("<!> <!> <!> <!>",1);function bY(o,e){Vo(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const Je=location.hash.slice(1);return t.includes(Je)?Je:"scripts"}let n=W(gi(i())),s=W(null),r=W(!1),a=W(!1),c=W(!1),h=W(!1),g=W("none"),f=W(""),p=W(!1),v=W(""),_=W(""),w=W(!1),S=W(!1);$8(()=>{k(p,!0)});async function D(){k(_,""),k(w,!0);try{await G8(u(v)),k(v,""),k(p,!1)}catch(Je){k(_,Je.message??"Login failed",!0)}finally{k(w,!1)}}async function E(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await Z8(),k(p,!0)}let R=W(null),z=W(!1),H=W(!1);async function ee(){if(!await u(R).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;k(z,!0);let Je;try{Je=(await Nf()).startedAt}catch{}try{await yR()}catch{}const Ae=Date.now()+6e4;for(;Date.now()<Ae;){await new Promise(it=>setTimeout(it,250));try{const it=await Nf();if(Je===void 0||it.startedAt!==Je){location.reload();return}}catch{}}location.reload()}async function X(){k(c,!0);try{const Je=await t7();u(s)&&k(s,{...u(s),latestVersion:Je.latestVersion??void 0},!0)}catch{}finally{k(c,!1)}}async function fe(){var it,Ht;if(!await u(R).show(`Update to v${(it=u(s))==null?void 0:it.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;k(a,!1),k(h,!0);const Je=(Ht=u(s))==null?void 0:Ht.startedAt;try{await e7()}catch{}const Ae=Date.now()+18e4;for(;Date.now()<Ae;){await new Promise(Yt=>setTimeout(Yt,1e3));try{const Yt=await Nf();if(Je===void 0||Yt.startedAt!==Je){location.reload();return}}catch{k(h,!1),k(z,!0)}}location.reload()}function Le(Je){k(n,Je,!0),location.hash=Je}Mr(async()=>{location.hash||(location.hash=u(n));const Je=()=>{k(n,i(),!0)};window.addEventListener("hashchange",Je);try{const Yt=await K8();k(g,Yt.mode,!0),k(f,Yt.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&k(p,!0)}catch{}k(S,!0);async function Ae(){try{k(s,await Nf(),!0)}catch{}}Ae();const it=setInterval(Ae,5e3),Ht=Fa("mqtt:status",Yt=>{k(H,Yt.ready===!1)});return()=>{window.removeEventListener("hashchange",Je),clearInterval(it),Ht()}});var Ue=vY();ds("click",lT,()=>{u(r)&&k(r,!1),u(a)&&k(a,!1)});var xe=vt(Ue);{var pt=Je=>{var Ae=gY(),it=C(Ae),Ht=x(C(it),2);let Yt;var ci=x(Ht,2);let Zt;var Dt=x(ci,2);let _i;var ui=x(C(Dt),2);{var Yi=ge=>{var rt=QX();T(ge,rt)};U(ui,ge=>{u(H)&&ge(Yi)})}var Fi=x(Dt,2);let In;var On=x(Fi,2);let Dn;var En=x(On,2);let Pi;var yn=x(En,4),fn=x(C(yn),2),en=C(fn),Fn=C(en);Fn.nodeValue="v1.0.5 ";var pn=x(Fn);{var ln=ge=>{var rt=eY();T(ge,rt)};U(pn,ge=>{var rt,Mt;(rt=u(s))!=null&&rt.latestVersion&&!((Mt=u(s))!=null&&Mt.docker)&&ge(ln)})}var zn=x(en,2);{var cn=ge=>{var rt=sY(),Mt=C(rt),Xt=x(C(Mt));Xt.textContent="v1.0.5";var si=x(Xt,2);{var ai=Vt=>{var Ot=tY(),Wi=x(vt(Ot)),hn=C(Wi);G(()=>$(hn,`v${u(s).latestVersion??""}`)),T(Vt,Ot)},Q=Vt=>{var Ot=iY();T(Vt,Ot)};U(si,Vt=>{var Ot;(Ot=u(s))!=null&&Ot.latestVersion?Vt(ai):Vt(Q,-1)})}var _e=x(Mt,2),Te=C(_e);{var Ze=Vt=>{var Ot=nY(),Wi=x(C(Ot));G(()=>$(Wi,` Update to v${u(s).latestVersion??""}`)),J("click",Ot,fe),T(Vt,Ot)};U(Te,Vt=>{var Ot;(Ot=u(s))!=null&&Ot.latestVersion&&Vt(Ze)})}var yt=x(Te,2),Ye=C(yt);let wt;var Qt=x(Ye);G(()=>{yt.disabled=u(c),wt=Kt(Ye,0,"svelte-1n46o8q",null,wt,{spinning:u(c)}),$(Qt,` ${u(c)?"Checking…":"Check for updates"}`)}),J("click",rt,Vt=>Vt.stopPropagation()),J("click",yt,X),T(ge,rt)};U(zn,ge=>{var rt;u(a)&&!((rt=u(s))!=null&&rt.docker)&&ge(cn)})}var tn=x(fn,2),Jn=C(tn),Xe=x(Jn,2);{var bt=ge=>{var rt=hY(),Mt=C(rt);{var Xt=Te=>{var Ze=lY(),yt=C(Ze);{var Ye=$t=>{const ue=st(()=>Math.floor((Date.now()-u(s).startedAt)/1e3)),we=st(()=>Math.floor(u(ue)/86400)),ut=st(()=>Math.floor(u(ue)%86400/3600)),Ne=st(()=>Math.floor(u(ue)%3600/60));var nt=oY(),Ut=x(vt(nt)),V=C(Ut);G(()=>$(V,`${u(we)>0?u(we)+"d ":""}${u(ut)>0||u(we)>0?u(ut)+"h ":""}${u(Ne)??""}m`)),T($t,nt)};U(yt,$t=>{u(s).startedAt&&$t(Ye)})}var wt=x(yt,3),Qt=C(wt),Vt=x(wt,3),Ot=C(Vt),Wi=x(Vt,3),hn=C(Wi),Bi=x(Wi,2);{var ni=$t=>{var ue=rY(),we=x(vt(ue)),ut=C(we),Ne=x(we,3),nt=C(Ne);G(()=>{$(ut,u(s).matterNodes??0),$(nt,u(s).matterEndpoints??0)}),T($t,ue)};U(Bi,$t=>{u(s).matterEnabled&&$t(ni)})}var Vi=x(Bi,2);{var F=$t=>{var ue=aY(),we=x(vt(ue)),ut=C(we),Ne=x(we,3),nt=C(Ne);G(()=>{$(ut,u(s).dbDocs??"—"),$(nt,u(s).dbViews??"—")}),T($t,ue)};U(Vi,$t=>{u(s).dbEnabled&&$t(F)})}var K=x(Vi,3),Pe=C(K),Me=x(K,3),qe=C(Me),ke=x(Me,3),ht=C(ke);G(()=>{$(Qt,u(s).scripts),$(Ot,u(s).topics),$(hn,u(s).mqttMsgPerSec??"—"),$(Pe,u(s).handlers??"—"),$(qe,u(s).memMb!=null?u(s).memMb+" MB":"—"),$(ht,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(Te,Ze)},si=Te=>{var Ze=cY();T(Te,Ze)};U(Mt,Te=>{u(s)?Te(Xt):Te(si,-1)})}var ai=x(Mt,2),Q=C(ai);{var _e=Te=>{var Ze=dY();J("click",Ze,()=>{k(r,!1),ee()}),T(Te,Ze)};U(Q,Te=>{var Ze;(Ze=u(s))!=null&&Ze.docker||Te(_e)})}J("click",rt,Te=>Te.stopPropagation()),T(ge,rt)};U(Xe,ge=>{u(r)&&ge(bt)})}var ri=x(tn,2);let Ci;var Ti=x(ri,2);{var mn=ge=>{var rt=uY();J("click",rt,E),T(ge,rt)};U(Ti,ge=>{u(g)==="password"&&ge(mn)})}var dn=x(it,2),Kn=C(dn);xs(Kg(Kn,{}),ge=>k(R,ge,!0),()=>u(R));var Pn=x(Kn,2);let $n;var Gn=C(Pn);{let ge=st(()=>u(n)==="scripts");LG(Gn,{get active(){return u(ge)}})}var Hn=x(Pn,2);let $e;var Z=C(Hn);JX(Z,{});var Be=x(Hn,2);let mt;var xt=C(Be);NX(xt,{});var Wt=x(Be,2);let A;var ne=C(Wt);lX(ne,{});var me=x(Wt,2);let Qe;var lt=C(me);vZ(lt,{});var q=x(me,2);let re;var he=C(q);d9(he,{});var et=x(q,2);let ii;var _t=C(et);f9(_t,{}),G(()=>{Yt=Kt(Ht,1,"svelte-1n46o8q",null,Yt,{active:u(n)==="scripts"}),Zt=Kt(ci,1,"svelte-1n46o8q",null,Zt,{active:u(n)==="packages"}),_i=Kt(Dt,1,"svelte-1n46o8q",null,_i,{active:u(n)==="mqtt"}),In=Kt(Fi,1,"svelte-1n46o8q",null,In,{active:u(n)==="matter"}),Dn=Kt(On,1,"svelte-1n46o8q",null,Dn,{active:u(n)==="db"}),Pi=Kt(En,1,"svelte-1n46o8q",null,Pi,{active:u(n)==="logs"}),Ci=Kt(ri,1,"nav-settings svelte-1n46o8q",null,Ci,{active:u(n)==="config"}),$n=Kt(Pn,1,"page-wrap svelte-1n46o8q",null,$n,{hidden:u(n)!=="scripts"}),$e=Kt(Hn,1,"page-wrap svelte-1n46o8q",null,$e,{hidden:u(n)!=="packages"}),mt=Kt(Be,1,"page-wrap svelte-1n46o8q",null,mt,{hidden:u(n)!=="mqtt"}),A=Kt(Wt,1,"page-wrap svelte-1n46o8q",null,A,{hidden:u(n)!=="matter"}),Qe=Kt(me,1,"page-wrap svelte-1n46o8q",null,Qe,{hidden:u(n)!=="db"}),re=Kt(q,1,"page-wrap svelte-1n46o8q",null,re,{hidden:u(n)!=="config"}),ii=Kt(et,1,"page-wrap svelte-1n46o8q",null,ii,{hidden:u(n)!=="logs"})}),J("click",Ht,()=>Le("scripts")),J("click",ci,()=>Le("packages")),J("click",Dt,()=>Le("mqtt")),J("click",Fi,()=>Le("matter")),J("click",On,()=>Le("db")),J("click",En,()=>Le("logs")),J("click",en,ge=>{ge.stopPropagation(),k(a,!u(a)),k(r,!1)}),J("click",Jn,ge=>{ge.stopPropagation(),k(r,!u(r)),k(a,!1)}),J("click",ri,()=>Le("config")),T(Je,Ae)};U(xe,Je=>{u(S)&&!u(p)&&Je(pt)})}var kt=x(xe,2);{var dt=Je=>{var Ae=pY(),it=C(Ae),Ht=x(C(it),4),Yt=x(C(Ht),2),ci=x(Ht,2);{var Zt=ui=>{var Yi=fY(),Fi=C(Yi);G(()=>$(Fi,u(_))),T(ui,Yi)};U(ci,ui=>{u(_)&&ui(Zt)})}var Dt=x(ci,2),_i=C(Dt);G(()=>{Yt.disabled=u(w),Dt.disabled=u(w)||!u(v),$(_i,u(w)?"Signing in…":"Sign in")}),ds("submit",it,ui=>{ui.preventDefault(),D()}),ki(Yt,()=>u(v),ui=>k(v,ui)),T(Je,Ae)};U(kt,Je=>{u(p)&&Je(dt)})}var oi=x(kt,2);{var jt=Je=>{var Ae=mY();T(Je,Ae)};U(oi,Je=>{u(z)&&Je(jt)})}var ti=x(oi,2);{var Ge=Je=>{var Ae=_Y();T(Je,Ae)};U(ti,Je=>{u(h)&&Je(Ge)})}T(o,Ue),jo()}Tr(["click"]);uW(bY,{target:document.getElementById("app")});export{VT as t};
|