smart-home-engine 1.20.6 → 1.20.7

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.
@@ -0,0 +1,234 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-5LOOlJtc.js"])))=>i.map(i=>d[i]);
2
+ var c3=Object.defineProperty;var LS=o=>{throw TypeError(o)};var d3=(o,e,t)=>e in o?c3(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Un=(o,e,t)=>d3(o,typeof e!="symbol"?e+"":e,t),Kb=(o,e,t)=>e.has(o)||LS("Cannot "+t);var Ae=(o,e,t)=>(Kb(o,e,"read from private field"),t?t.call(o):e.get(o)),Mn=(o,e,t)=>e.has(o)?LS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Rn=(o,e,t,i)=>(Kb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),ys=(o,e,t)=>(Kb(o,e,"access private method"),t);import{_ as uA,m as hA,l as Ei,A as Ko,C as Ue,I as Ds,D as Mp,a as $s,g as fA,M as si,b as tn,E as Sa,c as K,r as as,d as ta,e as S,f as u3,h as Cs,R as Nn,S as Xi,i as Fo,j as ia,k as Gn,n as Sn,o as Te,p as _t,K as Zs,q as xi,s as Ot,t as io,u as ee,v as Tn,O as tl,w as Qs,P as wi,x as Zb,y as Rp,z as gA,B as Ll,F as Da,G as YC,H as vo,U as ds,J as qf,L as Si,N as Nl,Q as h3,T as jo,V as QC,W as f3,X as pA,$ as pi,Y as Qn,Z as qn,a0 as Ls,a1 as gn,a2 as Er,a3 as Wg,a4 as Nt,a5 as Qx,a6 as g3,a7 as p3,a8 as to,a9 as x3,aa as Aa,ab as Zo,ac as Ii,ad as xA,ae as ws,af as v3,ag as m3,ah as Uo,ai as E0,aj as Xs,ak as j_,al as Ho,am as dd,an as Dw,ao as $_,ap as fo,aq as Gf,ar as go,as as U_,at as q_,au as _3,av as Np,aw as y0,ax as Kl,ay as b3,az as w0,aA as C3,aB as Aw,aC as E3,aD as y3,aE as IS,aF as js,aG as Il,aH as Wo,aI as _n,aJ as Al,aK as w3,aL as ol,aM as _r,aN as lo,aO as ka,aP as kw,aQ as so,aR as Ws,aS as Av,aT as mn,aU as vA,aV as S3,aW as Bw,aX as G_,aY as Fw,aZ as Lw,a_ as jd,a$ as D3,b0 as Iw,b1 as A3,b2 as Pw,b3 as Zl,b4 as Xl,b5 as Kf,b6 as zg,b7 as rr,b8 as Op,b9 as kv,ba as Xb,bb as ps,bc as Tw,bd as Hp,be as K_,bf as k3,bg as mA,bh as Vg,bi as Zf,bj as jg,bk as Wp,bl as Z_,bm as Yn,bn as ud,bo as zp,bp as B3,bq as F3,br as Mw,bs as L3,bt as Bv,bu as Mr,bv as Rw,bw as Xf,bx as Yl,by as S0,bz as Fn,bA as Yf,bB as _A,bC as Vp,bD as I3,bE as $d,bF as ai,bG as PS,bH as Jx,bI as bA,bJ as oa,bK as Ca,bL as ms,bM as Qf,bN as Zr,bO as Jf,bP as Fs,bQ as $g,bR as ah,bS as JC,bT as CA,bU as EA,bV as yA,bW as Nw,bX as er,bY as os,bZ as jp,b_ as wA,b$ as Pl,c0 as X_,c1 as P3,c2 as nf,c3 as TS,c4 as $p,c5 as SA,c6 as sf,c7 as T3,c8 as Vr,c9 as Y_,ca as M3,cb as Xo,cc as Ba,cd as Up,ce as Ug,cf as DA,cg as Ir,ch as qp,ci as Q_,cj as R3,ck as N3,cl as O3,cm as D0,cn as rl,co,cp as H3,cq as Ow,cr as W3,cs as z3,ct as MS,cu as V3,cv as Gp,cw as Ol,cx as e1,cy as zu,cz as Hl,cA as j3,cB as il,cC as Xr,cD as gr,cE as RS,cF as Po,cG as Kp,cH as td,cI as al,cJ as $3,cK as Fa,cL as qg,cM as J_,cN as AA,cO as U3,cP as q3,cQ as Hw,cR as G3,cS as Gg,cT as K3,cU as kc,cV as Kg,cW as NS,cX as Z3,cY as X3,cZ as dl,c_ as Y3,c$ as Ww,d0 as kA,d1 as BA,d2 as FA,d3 as LA,d4 as Q3,d5 as J3,d6 as IA,d7 as PA,d8 as e4,d9 as zw,da as t4,db as i4,dc as Is,dd as n4,de as Vw,df as s4,dg as of,dh as OS,di as o4,dj as r4,dk as a4,dl as l4,dm as c4,dn as d4,dp as e0,dq as eb,dr as t1,ds as u4,dt as h4,du as HS,dv as i1,dw as f4,dx as WS,dy as Yb,dz as g4,dA as TA,dB as p4,dC as MA,dD as n1,dE as x4,dF as v4,dG as m4,dH as RA,dI as NA,dJ as _4,dK as Fv,dL as OA,dM as tb,dN as b4,dO as C4,dP as id,dQ as jw,dR as E4,dS as zS,dT as VS,dU as y4,dV as rf,dW as HA,dX as w4,dY as S4,dZ as D4,d_ as A4,d$ as WA,e0 as zA,e1 as VA,e2 as jA,e3 as k4,e4 as nl,e5 as jS,e6 as B4,e7 as Zp,e8 as F4,e9 as tg,ea as $A,eb as $S,ec as Zg,ed as UA,ee as Lv,ef as L4,eg as qA,eh as I4,ei as GA,ej as P4,ek as T4,el as KA,em as ZA,en as Wl,eo as ib,ep as M4,eq as XA,er as br,es as Ud,et as YA,eu as R4,ev as N4,ew as QA,ex as JA,ey as O4,ez as ek,eA as tk,eB as Xg,eC as H4,eD as W4,eE as z4,eF as V4,eG as $0,eH as US,eI as j4,eJ as $4,eK as U4,eL as Iv,eM as yo,eN as q4,eO as s1,eP as lh,eQ as G4,eR as Sl,eS as K4,eT as Z4,eU as ik,eV as X4,eW as mg,eX as Y4,eY as Q4,eZ as J4,e_ as e7,e$ as qS,f0 as GS,f1 as KS,f2 as ch,f3 as $w,f4 as nk,f5 as o1,f6 as ev,f7 as sk,f8 as Pv,f9 as t7,fa as i7,fb as n7,fc as s7,fd as Uw,fe as ok,ff as o7,fg as Tv,fh as rk,fi as ak,fj as r7,fk as a7,fl as l7,fm as c7,fn as d7,fo as u7,fp as h7,fq as f7,fr as lk,fs as g7,ft as Mv,fu as ck,fv as p7,fw as dk,fx as x7,fy as uk,fz as hk,fA as v7,fB as ZS,fC as fk,fD as XS,fE as m7,fF as Qb,fG as YS,fH as _7,fI as b7,fJ as C7,fK as Ka,fL as nd,fM as E7,fN as QS,fO as tv,fP as y7,fQ as kl,fR as nb,fS as r1,fT as w7,fU as gk,fV as pk,fW as To,fX as JS,fY as mx,fZ as qw,f_ as S7,f$ as D7,g0 as A7,g1 as k7,g2 as B7,g3 as F7,g4 as L7,g5 as I7,g6 as e8,g7 as P7,g8 as T7,g9 as M7,ga as t0,gb as _g,gc as xk,gd as R7,ge as Gw,gf as iv,gg as _x,gh as Jb,gi as N7,gj as O7,gk as vk,gl as H7,gm as Kw,gn as W7,go as z7,gp as mk,gq as sb,gr as V7,gs as Rv,gt as Zw,gu as Xw,gv as Yw,gw as _k,gx as bk,gy as Ck,gz as Ek,gA as yk,gB as wk,gC as Sk,gD as t8,gE as Dk,gF as Ph,gG as j7,gH as $7,gI as U7,gJ as q7,gK as Ak,gL as G7,gM as K7,gN as i8,gO as a1,gP as Mc,gQ as Z7,gR as X7,gS as Y7,gT as Q7,gU as J7,gV as eL,gW as n8,gX as Qw,gY as l1,gZ as tL,g_ as c1,g$ as iL,h0 as nL,h1 as sL,h2 as oL,h3 as Jw,h4 as kk,h5 as s8,h6 as o8,h7 as rL,h8 as aL,h9 as lL,ha as r8,hb as eC,hc as cL,hd as dL,he as uL,hf as tC,hg as Bk,hh as Fk,hi as Lk,hj as Ik,hk as zl,hl as Pk,hm as e9,hn as a8,ho as hL,hp as Tk,hq as fL,hr as gL,hs as ob,ht as rb,hu as dh,hv as ab,hw as Xp,hx as pL,hy as lb,hz as xL,hA as vL,hB as mL,hC as Mk,hD as U0,hE as _L,hF as bL,hG as CL,hH as EL,hI as Yp,hJ as yL,hK as Rk,hL as Nk,hM as Ok,hN as d1,hO as wL,hP as SL,hQ as DL,hR as AL,hS as kL,hT as u1,hU as BL,hV as FL,hW as LL,hX as IL,hY as PL,hZ as TL,h_ as ML,h$ as RL,i0 as Hk,i1 as NL,i2 as OL,i3 as HL,i4 as l8,i5 as WL,i6 as zL,i7 as Bd,i8 as dr,i9 as h1,ia as Wk,ib as VL,ic as jL}from"./monaco-langs-Dt8a9eeo.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 zk=!1;var t9=Array.isArray,$L=Array.prototype.indexOf,Nv=Array.prototype.includes,cb=Array.from,UL=Object.defineProperty,yf=Object.getOwnPropertyDescriptor,qL=Object.getOwnPropertyDescriptors,GL=Object.prototype,KL=Array.prototype,Vk=Object.getPrototypeOf,c8=Object.isExtensible;const db=()=>{};function ZL(o){for(var e=0;e<o.length;e++)o[e]()}function jk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function XL(o,e,t=!1){return o===void 0?t?e():e:o}function d8(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 No=2,i0=4,ub=8,$k=1<<24,Ea=16,wa=32,sd=64,f1=128,Jr=512,wo=1024,Ao=2048,ll=4096,ir=8192,ea=16384,A0=32768,g1=1<<25,n0=65536,Ov=1<<17,YL=1<<18,k0=1<<19,QL=1<<20,Qa=1<<25,Vu=65536,Hv=1<<21,wf=1<<22,Rc=1<<23,qd=Symbol("$state"),JL=Symbol("legacy props"),eI=Symbol(""),nv=Symbol("attributes"),p1=Symbol("class"),x1=Symbol("style"),ig=Symbol("text"),sv=Symbol("form reset"),hb=new class extends Error{constructor(){super(...arguments);Un(this,"name","StaleReactionError");Un(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var lA;const tI=!!((lA=globalThis.document)!=null&&lA.contentType)&&globalThis.document.contentType.includes("xml");function Uk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function iI(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function nI(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function sI(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function oI(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function rI(o){throw new Error("https://svelte.dev/e/effect_orphan")}function aI(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function lI(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function cI(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function dI(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function uI(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function hI(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const fI=1,gI=2,qk=4,pI=8,xI=16,vI=1,mI=4,_I=8,bI=16,CI=1,EI=2,Eo=Symbol("uninitialized"),Gk="http://www.w3.org/1999/xhtml",yI="http://www.w3.org/2000/svg",wI="http://www.w3.org/1998/Math/MathML";function SI(){console.warn("https://svelte.dev/e/derived_inert")}function DI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function AI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Kk(o){return o===this.v}function kI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Zk(o){return!kI(o,this.v)}let BI=!1,Ro=null;function s0(o){Ro=o}function Js(o,e=!1,t){Ro={p:Ro,i:!1,c:null,e:null,s:o,x:null,r:rs,l:null}}function eo(o){var e=Ro,t=e.e;if(t!==null){e.e=null;for(var i of t)v6(i)}return o!==void 0&&(e.x=o),e.i=!0,Ro=e.p,o??{}}function Xk(){return!0}let Td=[];function Yk(){var o=Td;Td=[],ZL(o)}function Nc(o){if(Td.length===0&&!Cg){var e=Td;queueMicrotask(()=>{e===Td&&Yk()})}Td.push(o)}function FI(){for(;Td.length>0;)Yk()}function Qk(o){var e=rs;if(e===null)return ss.f|=Rc,o;if((e.f&A0)===0&&(e.f&i0)===0)throw o;Bc(o,e)}function Bc(o,e){for(;e!==null;){if((e.f&f1)!==0){if((e.f&A0)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const LI=-7169;function ro(o,e){o.f=o.f&LI|e}function i9(o){(o.f&Jr)!==0||o.deps===null?ro(o,wo):ro(o,ll)}function Jk(o){if(o!==null)for(const e of o)(e.f&No)===0||(e.f&Vu)===0||(e.f^=Vu,Jk(e.deps))}function e6(o,e,t){(o.f&Ao)!==0?e.add(o):(o.f&ll)!==0&&t.add(o),Jk(o.deps),ro(o,wo)}let bx=!1;function II(o){var e=bx;try{return bx=!1,[o(),bx]}finally{bx=e}}let iC=null,Th=null,xn=null,bg=null,Lo=null,v1=null,Cg=!1,nC=!1,af=null,ov=null;var u8=0;let PI=1;var kf,Sc,Od,Bf,Ff,Lf,Cl,If,ur,Bp,El,ha,$a,Pf,Hd,Ps,m1,ng,_1,t6,i6,Xh,TI,sg;const Xm=class Xm{constructor(){Mn(this,Ps);Un(this,"id",PI++);Mn(this,kf,!1);Un(this,"linked",!0);Mn(this,Sc,null);Mn(this,Od,null);Un(this,"async_deriveds",new Map);Un(this,"current",new Map);Un(this,"previous",new Map);Mn(this,Bf,new Set);Mn(this,Ff,new Set);Mn(this,Lf,0);Mn(this,Cl,new Map);Mn(this,If,null);Mn(this,ur,[]);Mn(this,Bp,[]);Mn(this,El,new Set);Mn(this,ha,new Set);Mn(this,$a,new Map);Mn(this,Pf,new Set);Un(this,"is_fork",!1);Mn(this,Hd,!1);Th===null?iC=Th=this:(Rn(Th,Od,this),Rn(this,Sc,Th)),Th=this}skip_effect(e){Ae(this,$a).has(e)||Ae(this,$a).set(e,{d:[],m:[]}),Ae(this,Pf).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=Ae(this,$a).get(e);if(i){Ae(this,$a).delete(e);for(var n of i.d)ro(n,Ao),t(n);for(n of i.m)ro(n,ll),t(n)}Ae(this,Pf).add(e)}capture(e,t,i=!1){e.v!==Eo&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Rc)===0&&(this.current.set(e,[t,i]),Lo==null||Lo.set(e,t)),this.is_fork||(e.v=t)}activate(){xn=this}deactivate(){xn=null,Lo=null}flush(){try{nC=!0,xn=this,ys(this,Ps,ng).call(this)}finally{u8=0,v1=null,af=null,ov=null,nC=!1,xn=null,Lo=null,Gd.clear()}}discard(){var e;for(const t of Ae(this,Ff))t(this);Ae(this,Ff).clear(),ys(this,Ps,sg).call(this),(e=Ae(this,If))==null||e.resolve()}register_created_effect(e){Ae(this,Bp).push(e)}increment(e,t){if(Rn(this,Lf,Ae(this,Lf)+1),e){let i=Ae(this,Cl).get(t)??0;Ae(this,Cl).set(t,i+1)}}decrement(e,t){if(Rn(this,Lf,Ae(this,Lf)-1),e){let i=Ae(this,Cl).get(t)??0;i===1?Ae(this,Cl).delete(t):Ae(this,Cl).set(t,i-1)}Ae(this,Hd)||(Rn(this,Hd,!0),Nc(()=>{Rn(this,Hd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)Ae(this,El).add(i);for(const i of t)Ae(this,ha).add(i);e.clear(),t.clear()}oncommit(e){Ae(this,Bf).add(e)}ondiscard(e){Ae(this,Ff).add(e)}settled(){return(Ae(this,If)??Rn(this,If,jk())).promise}static ensure(){if(xn===null){const e=xn=new Xm;!nC&&!Cg&&Nc(()=>{Ae(e,kf)||e.flush()})}return xn}apply(){{Lo=null;return}}schedule(e){var n;if(v1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(i0|ub|$k))!==0&&(e.f&A0)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(af!==null&&t===rs&&(ss===null||(ss.f&No)===0))return;if((i&(sd|wa))!==0){if((i&wo)===0)return;t.f^=wo}}Ae(this,ur).push(t)}};kf=new WeakMap,Sc=new WeakMap,Od=new WeakMap,Bf=new WeakMap,Ff=new WeakMap,Lf=new WeakMap,Cl=new WeakMap,If=new WeakMap,ur=new WeakMap,Bp=new WeakMap,El=new WeakMap,ha=new WeakMap,$a=new WeakMap,Pf=new WeakMap,Hd=new WeakMap,Ps=new WeakSet,m1=function(){if(this.is_fork)return!0;for(const i of Ae(this,Cl).keys()){for(var e=i,t=!1;e.parent!==null;){if(Ae(this,$a).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},ng=function(){var d,u,f,g;Rn(this,kf,!0),u8++>1e3&&(ys(this,Ps,sg).call(this),RI());for(const p of Ae(this,El))Ae(this,ha).delete(p),ro(p,Ao),this.schedule(p);for(const p of Ae(this,ha))ro(p,ll),this.schedule(p);const e=Ae(this,ur);Rn(this,ur,[]),this.apply();var t=af=[],i=[],n=ov=[];for(const p of e)try{ys(this,Ps,_1).call(this,p,t,i)}catch(C){throw o6(p),ys(this,Ps,m1).call(this)||this.discard(),C}if(xn=null,n.length>0){var s=Xm.ensure();for(const p of n)s.schedule(p)}if(af=null,ov=null,ys(this,Ps,m1).call(this)){ys(this,Ps,Xh).call(this,i),ys(this,Ps,Xh).call(this,t);for(const[p,C]of Ae(this,$a))s6(p,C);n.length>0&&ys(d=xn,Ps,ng).call(d);return}const r=ys(this,Ps,t6).call(this);if(r){ys(this,Ps,Xh).call(this,i),ys(this,Ps,Xh).call(this,t),ys(u=r,Ps,i6).call(u,this);return}Ae(this,El).clear(),Ae(this,ha).clear();for(const p of Ae(this,Bf))p(this);Ae(this,Bf).clear(),bg=this,h8(i),h8(t),bg=null,(f=Ae(this,If))==null||f.resolve();var a=xn;if(Ae(this,Lf)===0&&(Ae(this,ur).length===0||a!==null)&&ys(this,Ps,sg).call(this),Ae(this,ur).length>0)if(a!==null){const p=a;Ae(p,ur).push(...Ae(this,ur).filter(C=>!Ae(p,ur).includes(C)))}else a=this;a!==null&&ys(g=a,Ps,ng).call(g)},_1=function(e,t,i){e.f^=wo;for(var n=e.first;n!==null;){var s=n.f,r=(s&(wa|sd))!==0,a=r&&(s&wo)!==0,d=a||(s&ir)!==0||Ae(this,$a).has(n);if(!d&&n.fn!==null){r?n.f^=wo:(s&i0)!==0?t.push(n):Jp(n)&&((s&Ea)!==0&&Ae(this,ha).add(n),r0(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},t6=function(){for(var e=Ae(this,Sc);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=Ae(e,Sc)}return null},i6=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(Ae(e,El),Ae(e,ha));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&No)!==0)t(d);else{var a=d;r&(wf|Ea)&&!this.async_deriveds.has(a)&&(Ae(this,ha).delete(a),ro(a,Ao),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),ys(i=e,Ps,sg).call(i),xn=this,ys(this,Ps,ng).call(this)},Xh=function(e){for(var t=0;t<e.length;t+=1)e6(e[t],Ae(this,El),Ae(this,ha))},TI=function(){var f;for(let g=iC;g!==null;g=Ae(g,Od)){var e=g.id<this.id,t=[];for(const[p,[C,b]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&C!==i)g.current.set(p,[C,b]);else continue}t.push(p)}if(e)for(const[p,C]of this.async_deriveds){const b=g.async_deriveds.get(p);b&&C.promise.then(b.resolve).catch(b.reject)}if(Ae(g,kf)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of Ae(this,Pf))g.unskip_effect(p,C=>{var b;(C.f&(Ea|wf))!==0?g.schedule(C):ys(b=g,Ps,Xh).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)n6(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,C])=>{const b=this.current.get(p);return b?b[0]!==C[0]||b[1]!==C[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of Ae(this,Bp))(p.f&(ea|ir|Ov))===0&&n9(p,d,r)&&((p.f&(wf|Ea))!==0?(ro(p,Ao),g.schedule(p)):Ae(g,El).add(p));if(Ae(g,ur).length>0&&!Ae(g,Hd)){g.apply();for(var u of Ae(g,ur))ys(f=g,Ps,_1).call(f,u,[],[]);Rn(g,ur,[])}g.deactivate()}}}},sg=function(){if(this.linked){var e=Ae(this,Sc),t=Ae(this,Od);e===null?iC=t:Rn(e,Od,t),t===null?Th=e:Rn(t,Sc,e),this.linked=!1}};let ju=Xm;function MI(o){var e=Cg;Cg=!0;try{for(var t;;){if(FI(),xn===null)return t;xn.flush()}}finally{Cg=e}}function RI(){try{aI()}catch(o){Bc(o,v1)}}let ca=null;function h8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(ea|ir))===0&&Jp(i)&&(ca=new Set,r0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&b6(i),(ca==null?void 0:ca.size)>0)){Gd.clear();for(const n of ca){if((n.f&(ea|ir))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)ca.has(r)&&(ca.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(ea|ir))===0&&r0(d)}}ca.clear()}}ca=null}}function n6(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&No)!==0?n6(n,e,t,i):(s&(wf|Ea))!==0&&(s&Ao)===0&&n9(n,e,i)&&(ro(n,Ao),s9(n))}}function n9(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(Nv.call(e,n))return!0;if((n.f&No)!==0&&n9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function s9(o){xn.schedule(o)}function s6(o,e){if(!((o.f&wa)!==0&&(o.f&wo)!==0)){(o.f&Ao)!==0?e.d.push(o):(o.f&ll)!==0&&e.m.push(o),ro(o,wo);for(var t=o.first;t!==null;)s6(t,e),t=t.next}}function o6(o){ro(o,wo);for(var e=o.first;e!==null;)o6(e),e=e.next}function NI(o){let e=0,t=$u(0),i;return()=>{l9()&&(l(t),gb(()=>(e===0&&(i=Jl(()=>o(()=>Eg(t)))),e+=1,()=>{Nc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Eg(t))})})))}}var OI=n0|k0;function HI(o,e,t,i){new WI(o,e,t,i)}var $r,Sw,Ur,Wd,hr,qr,Qo,kr,yl,zd,Dc,Tf,Fp,Lp,wl,Ym,ao,zI,VI,jI,b1,rv,av,C1,E1;class WI{constructor(e,t,i,n){Mn(this,ao);Un(this,"parent");Un(this,"is_pending",!1);Un(this,"transform_error");Mn(this,$r);Mn(this,Sw,null);Mn(this,Ur);Mn(this,Wd);Mn(this,hr);Mn(this,qr,null);Mn(this,Qo,null);Mn(this,kr,null);Mn(this,yl,null);Mn(this,zd,0);Mn(this,Dc,0);Mn(this,Tf,!1);Mn(this,Fp,new Set);Mn(this,Lp,new Set);Mn(this,wl,null);Mn(this,Ym,NI(()=>(Rn(this,wl,$u(Ae(this,zd))),()=>{Rn(this,wl,null)})));var s;Rn(this,$r,e),Rn(this,Ur,t),Rn(this,Wd,r=>{var a=rs;a.b=this,a.f|=f1,i(r)}),this.parent=rs.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Rn(this,hr,u9(()=>{ys(this,ao,b1).call(this)},OI))}defer_effect(e){e6(e,Ae(this,Fp),Ae(this,Lp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!Ae(this,Ur).pending}update_pending_count(e,t){ys(this,ao,C1).call(this,e,t),Rn(this,zd,Ae(this,zd)+e),!(!Ae(this,wl)||Ae(this,Tf))&&(Rn(this,Tf,!0),Nc(()=>{Rn(this,Tf,!1),Ae(this,wl)&&o0(Ae(this,wl),Ae(this,zd))}))}get_effect_pending(){return Ae(this,Ym).call(this),l(Ae(this,wl))}error(e){if(!Ae(this,Ur).onerror&&!Ae(this,Ur).failed)throw e;xn!=null&&xn.is_fork?(Ae(this,qr)&&xn.skip_effect(Ae(this,qr)),Ae(this,Qo)&&xn.skip_effect(Ae(this,Qo)),Ae(this,kr)&&xn.skip_effect(Ae(this,kr)),xn.oncommit(()=>{ys(this,ao,E1).call(this,e)})):ys(this,ao,E1).call(this,e)}}$r=new WeakMap,Sw=new WeakMap,Ur=new WeakMap,Wd=new WeakMap,hr=new WeakMap,qr=new WeakMap,Qo=new WeakMap,kr=new WeakMap,yl=new WeakMap,zd=new WeakMap,Dc=new WeakMap,Tf=new WeakMap,Fp=new WeakMap,Lp=new WeakMap,wl=new WeakMap,Ym=new WeakMap,ao=new WeakSet,zI=function(){try{Rn(this,qr,Gr(()=>Ae(this,Wd).call(this,Ae(this,$r))))}catch(e){this.error(e)}},VI=function(e){const t=Ae(this,Ur).failed;t&&Rn(this,kr,Gr(()=>{t(Ae(this,$r),()=>e,()=>()=>{})}))},jI=function(){const e=Ae(this,Ur).pending;e&&(this.is_pending=!0,Rn(this,Qo,Gr(()=>e(Ae(this,$r)))),Nc(()=>{var t=Rn(this,yl,document.createDocumentFragment()),i=Tl();t.append(i),Rn(this,qr,ys(this,ao,av).call(this,()=>Gr(()=>Ae(this,Wd).call(this,i)))),Ae(this,Dc)===0&&(Ae(this,$r).before(t),Rn(this,yl,null),Zd(Ae(this,Qo),()=>{Rn(this,Qo,null)}),ys(this,ao,rv).call(this,xn))}))},b1=function(){try{if(this.is_pending=this.has_pending_snippet(),Rn(this,Dc,0),Rn(this,zd,0),Rn(this,qr,Gr(()=>{Ae(this,Wd).call(this,Ae(this,$r))})),Ae(this,Dc)>0){var e=Rn(this,yl,document.createDocumentFragment());f9(Ae(this,qr),e);const t=Ae(this,Ur).pending;Rn(this,Qo,Gr(()=>t(Ae(this,$r))))}else ys(this,ao,rv).call(this,xn)}catch(t){this.error(t)}},rv=function(e){this.is_pending=!1,e.transfer_effects(Ae(this,Fp),Ae(this,Lp))},av=function(e){var t=rs,i=ss,n=Ro;cl(Ae(this,hr)),na(Ae(this,hr)),s0(Ae(this,hr).ctx);try{return ju.ensure(),e()}catch(s){return Qk(s),null}finally{cl(t),na(i),s0(n)}},C1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&ys(i=this.parent,ao,C1).call(i,e,t);return}Rn(this,Dc,Ae(this,Dc)+e),Ae(this,Dc)===0&&(ys(this,ao,rv).call(this,t),Ae(this,Qo)&&Zd(Ae(this,Qo),()=>{Rn(this,Qo,null)}),Ae(this,yl)&&(Ae(this,$r).before(Ae(this,yl)),Rn(this,yl,null)))},E1=function(e){Ae(this,qr)&&(Cr(Ae(this,qr)),Rn(this,qr,null)),Ae(this,Qo)&&(Cr(Ae(this,Qo)),Rn(this,Qo,null)),Ae(this,kr)&&(Cr(Ae(this,kr)),Rn(this,kr,null));var t=Ae(this,Ur).onerror;let i=Ae(this,Ur).failed;var n=!1,s=!1;const r=()=>{if(n){AI();return}n=!0,s&&hI(),Ae(this,kr)!==null&&Zd(Ae(this,kr),()=>{Rn(this,kr,null)}),ys(this,ao,av).call(this,()=>{ys(this,ao,b1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){Bc(u,Ae(this,hr)&&Ae(this,hr).parent)}i&&Rn(this,kr,ys(this,ao,av).call(this,()=>{try{return Gr(()=>{var u=rs;u.b=this,u.f|=f1,i(Ae(this,$r),()=>d,()=>r)})}catch(u){return Bc(u,Ae(this,hr).parent),null}}))};Nc(()=>{var d;try{d=this.transform_error(e)}catch(u){Bc(u,Ae(this,hr)&&Ae(this,hr).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>Bc(u,Ae(this,hr)&&Ae(this,hr).parent)):a(d)})};function $I(o,e,t,i){const n=Yg;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=rs,a=UI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&ea)===0){a();try{i(p)}catch(C){Bc(C,r)}Wv()}}var f=r6();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>qI(p))).then(p=>u([...e.map(n),...p])).catch(p=>Bc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Wv()}):g()}function UI(){var o=rs,e=ss,t=Ro,i=xn;return function(s=!0){cl(o),na(e),s0(t),s&&(o.f&ea)===0&&(i==null||i.activate(),i==null||i.apply())}}function Wv(o=!0){cl(null),na(null),s0(null),o&&(xn==null||xn.deactivate())}function r6(){var o=rs,e=o.b,t=xn,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 Yg(o){var e=No|Ao;return rs!==null&&(rs.f|=k0),{ctx:Ro,deps:null,effects:null,equals:Kk,f:e,fn:o,reactions:null,rv:0,v:Eo,wv:0,parent:rs,ac:null}}const Cx=Symbol("obsolete");function qI(o,e,t){let i=rs;i===null&&iI();var n=void 0,s=$u(Eo),r=!ss,a=new Set;return sP(()=>{var C,b;var d=rs,u=jk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,E=>{E!==hb&&u.reject(E)}).finally(Wv)}catch(E){u.reject(E),Wv()}var f=xn;if(r){if((d.f&A0)!==0)var g=r6();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(Cx);else for(const E of a.values())E.reject(Cx);a.add(u),f.async_deriveds.set(d,u)}const p=(E,w=void 0)=>{g==null||g(),a.delete(u),w!==Cx&&(f.activate(),w?(s.f|=Rc,o0(s,w)):((s.f&Rc)!==0&&(s.f^=Rc),o0(s,E)),f.deactivate())};u.promise.then(p,E=>p(null,E||"unknown"))}),c9(()=>{for(const d of a)d.reject(Cx)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Ft(o){const e=Yg(o);return y6(e),e}function o9(o){const e=Yg(o);return e.equals=Zk,e}function GI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Cr(e[t])}}function r9(o){var e,t=rs,i=o.parent;if(!Vl&&i!==null&&o.v!==Eo&&(i.f&(ea|ir))!==0)return SI(),o.v;cl(i);try{o.f&=~Vu,GI(o),e=A6(o)}finally{cl(t)}return e}function a6(o){var e=r9(o);if(!o.equals(e)&&(o.wv=S6(),(!(xn!=null&&xn.is_fork)||o.deps===null)&&(xn!==null?(xn.capture(o,e,!0),bg==null||bg.capture(o,e,!0)):o.v=e,o.deps===null))){ro(o,wo);return}Vl||(Lo!==null?(l9()||xn!=null&&xn.is_fork)&&Lo.set(o,e):i9(o))}function KI(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(hb),i.fn!==null&&(i.teardown=db),i.ac=null,Qg(i,0),h9(i))}function l6(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&r0(e)}let zv=new Set;const Gd=new Map;let c6=!1;function $u(o,e){var t={f:0,v:o,reactions:null,equals:Kk,rv:0,wv:0};return t}function B(o,e){const t=$u(o);return y6(t),t}function ZI(o,e=!1,t=!0){const i=$u(o);return e||(i.equals=Zk),i}function x(o,e,t=!1){ss!==null&&(!ya||(ss.f&Ov)!==0)&&Xk()&&(ss.f&(No|Ea|wf|Ov))!==0&&(sl===null||!sl.has(o))&&uI();let i=t?_i(e):e;return o0(o,i,ov)}function o0(o,e,t=null){if(!o.equals(e)){Gd.set(o,Vl?e:o.v);var i=ju.ensure();if(i.capture(o,e),(o.f&No)!==0){const n=o;(o.f&Ao)!==0&&r9(n),Lo===null&&i9(n)}o.wv=S6(),d6(o,Ao,t),rs!==null&&(rs.f&wo)!==0&&(rs.f&(wa|sd))===0&&(jr===null?rP([o]):jr.push(o)),!i.is_fork&&zv.size>0&&!c6&&XI()}return e}function XI(){c6=!1;for(const o of zv){(o.f&wo)!==0&&ro(o,ll);let e;try{e=Jp(o)}catch{e=!0}e&&r0(o)}zv.clear()}function f8(o,e=1){var t=l(o),i=e===1?t++:t--;return x(o,t),i}function Eg(o){x(o,o.v+1)}function d6(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,d=(a&Ao)===0;if(d&&ro(r,e),(a&Ov)!==0)zv.add(r);else if((a&No)!==0){var u=r;Lo==null||Lo.delete(u),(a&Vu)===0&&(a&Jr&&(rs===null||(rs.f&Hv)===0)&&(r.f|=Vu),d6(u,ll,t))}else if(d){var f=r;(a&Ea)!==0&&ca!==null&&ca.add(f),t!==null?t.push(f):s9(f)}}}function _i(o){if(typeof o!="object"||o===null||qd in o)return o;const e=Vk(o);if(e!==GL&&e!==KL)return o;var t=new Map,i=t9(o),n=B(0),s=Xd,r=a=>{if(Xd===s)return a();var d=ss,u=Xd;na(null),v8(s);var f=a();return na(d),v8(u),f};return i&&t.set("length",B(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&cI();var f=t.get(d);return f===void 0?r(()=>{var g=B(u.value);return t.set(d,g),g}):x(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>B(Eo));t.set(d,f),Eg(n)}}else x(u,Eo),Eg(n);return!0},get(a,d,u){var C;if(d===qd)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=yf(a,d))!=null&&C.writable)&&(f=r(()=>{var b=_i(g?a[d]:Eo),E=B(b);return E}),t.set(d,f)),f!==void 0){var p=l(f);return p===Eo?void 0:p}return Reflect.get(a,d,u)},getOwnPropertyDescriptor(a,d){var u=Reflect.getOwnPropertyDescriptor(a,d);if(u&&"value"in u){var f=t.get(d);f&&(u.value=l(f))}else if(u===void 0){var g=t.get(d),p=g==null?void 0:g.v;if(g!==void 0&&p!==Eo)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===qd)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Eo||Reflect.has(a,d);if(u!==void 0||rs!==null&&(!f||(p=yf(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?_i(a[d]):Eo,b=B(C);return b}),t.set(d,u));var g=l(u);if(g===Eo)return!1}return f},set(a,d,u,f){var T;var g=t.get(d),p=d in a;if(i&&d==="length")for(var C=u;C<g.v;C+=1){var b=t.get(C+"");b!==void 0?x(b,Eo):C in a&&(b=r(()=>B(Eo)),t.set(C+"",b))}if(g===void 0)(!p||(T=yf(a,d))!=null&&T.writable)&&(g=r(()=>B(void 0)),x(g,_i(u)),t.set(d,g));else{p=g.v!==Eo;var E=r(()=>_i(u));x(g,E)}var w=Reflect.getOwnPropertyDescriptor(a,d);if(w!=null&&w.set&&w.set.call(f,u),!p){if(i&&typeof d=="string"){var A=t.get("length"),I=Number(d);Number.isInteger(I)&&I>=A.v&&x(A,I+1)}Eg(n)}return!0},ownKeys(a){l(n);var d=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Eo});for(var[u,f]of t)f.v!==Eo&&!(u in a)&&d.push(u);return d},setPrototypeOf(){dI()}})}function g8(o){try{if(o!==null&&typeof o=="object"&&qd in o)return o[qd]}catch{}return o}function YI(o,e){return Object.is(g8(o),g8(e))}var Kd,u6,h6,f6,g6;function QI(){if(Kd===void 0){Kd=window,u6=document,h6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;f6=yf(e,"firstChild").get,g6=yf(e,"nextSibling").get,c8(o)&&(o[p1]=void 0,o[nv]=null,o[x1]=void 0,o.__e=void 0),c8(t)&&(t[ig]=void 0)}}function Tl(o=""){return document.createTextNode(o)}function Ja(o){return f6.call(o)}function Qp(o){return g6.call(o)}function m(o,e){return Ja(o)}function lt(o,e=!1){{var t=Ja(o);return t instanceof Comment&&t.data===""?Qp(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Qp(i);return i}function JI(o){o.textContent=""}function p6(){return!1}function x6(o,e,t){return e==null||e===Gk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let p8=!1;function eP(){p8||(p8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[sv])==null||e.call(t)})},{capture:!0}))}function fb(o){var e=ss,t=rs;na(null),cl(null);try{return o()}finally{na(e),cl(t)}}function a9(o,e,t,i=t){o.addEventListener(e,()=>fb(t));const n=o[sv];n?o[sv]=()=>{n(),i(!0)}:o[sv]=()=>i(!0),eP()}function tP(o){rs===null&&(ss===null&&rI(),oI()),Vl&&sI()}function iP(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ql(o,e){var t=rs;t!==null&&(t.f&ir)!==0&&(o|=ir);var i={ctx:Ro,deps:null,nodes:null,f:o|Ao|Jr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};xn==null||xn.register_created_effect(i);var n=i;if((o&i0)!==0)af!==null?af.push(i):ju.ensure().schedule(i);else if(e!==null){try{r0(i)}catch(r){throw Cr(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&k0)===0&&(n=n.first,(o&Ea)!==0&&(o&n0)!==0&&n!==null&&(n.f|=n0))}if(n!==null&&(n.parent=t,t!==null&&iP(n,t),ss!==null&&(ss.f&No)!==0&&(o&sd)===0)){var s=ss;(s.effects??(s.effects=[])).push(n)}return i}function l9(){return ss!==null&&!ya}function c9(o){const e=Ql(ub,null);return ro(e,wo),e.teardown=o,e}function vs(o){tP();var e=rs.f,t=!ss&&(e&wa)!==0&&Ro!==null&&!Ro.i;if(t){var i=Ro;(i.e??(i.e=[])).push(o)}else return v6(o)}function v6(o){return Ql(i0|QL,o)}function nP(o){ju.ensure();const e=Ql(sd|k0,o);return(t={})=>new Promise(i=>{t.outro?Zd(e,()=>{Cr(e),i(void 0)}):(Cr(e),i(void 0))})}function d9(o){return Ql(i0,o)}function sP(o){return Ql(wf|k0,o)}function gb(o,e=0){return Ql(ub|e,o)}function W(o,e=[],t=[],i=[]){$I(i,e,t,n=>{Ql(ub,()=>o(...n.map(l)))})}function u9(o,e=0){var t=Ql(Ea|e,o);return t}function Gr(o){return Ql(wa|k0,o)}function m6(o){var e=o.teardown;if(e!==null){const t=Vl,i=ss;x8(!0),na(null);try{e.call(null)}finally{x8(t),na(i)}}}function h9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&fb(()=>{n.abort(hb)});var i=t.next;(t.f&sd)!==0?t.parent=null:Cr(t,e),t=i}}function oP(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&wa)===0&&Cr(e),e=t}}function Cr(o,e=!0){var t=!1;(e||(o.f&YL)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(_6(o.nodes.start,o.nodes.end),t=!0),ro(o,g1),h9(o,e&&!t),Qg(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();m6(o),o.f^=g1,o.f|=ea;var n=o.parent;n!==null&&n.first!==null&&b6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function _6(o,e){for(;o!==null;){var t=o===e?null:Qp(o);o.remove(),o=t}}function b6(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 Zd(o,e,t=!0){var i=[];C6(o,i,!0);var n=()=>{t&&Cr(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function C6(o,e,t){if((o.f&ir)===0){o.f^=ir;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&sd)===0){var r=(n.f&n0)!==0||(n.f&wa)!==0&&(o.f&Ea)!==0;C6(n,e,r?t:!1)}n=s}}}function Vv(o){E6(o,!0)}function E6(o,e){if((o.f&ir)!==0){o.f^=ir,(o.f&wo)===0&&(ro(o,Ao),ju.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&n0)!==0||(t.f&wa)!==0;E6(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 f9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Qp(t);e.append(t),t=n}}let lv=!1,Vl=!1;function x8(o){Vl=o}let ss=null,ya=!1;function na(o){ss=o}let rs=null;function cl(o){rs=o}let sl=null;function y6(o){ss!==null&&(sl??(sl=new Set)).add(o)}let fr=null,Dr=0,jr=null;function rP(o){jr=o}let w6=1,Md=0,Xd=Md;function v8(o){Xd=o}function S6(){return++w6}function Jp(o){var e=o.f;if((e&Ao)!==0)return!0;if(e&No&&(o.f&=~Vu),(e&ll)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Jp(s)&&a6(s),s.wv>o.wv)return!0}(e&Jr)!==0&&Lo===null&&ro(o,wo)}return!1}function D6(o,e,t=!0){var i=o.reactions;if(i!==null&&!(sl!==null&&sl.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&No)!==0?D6(s,e,!1):e===s&&(t?ro(s,Ao):(s.f&wo)!==0&&ro(s,ll),s9(s))}}function A6(o){var E;var e=fr,t=Dr,i=jr,n=ss,s=sl,r=Ro,a=ya,d=Xd,u=o.f;fr=null,Dr=0,jr=null,ss=(u&(wa|sd))===0?o:null,sl=null,s0(o.ctx),ya=!1,Xd=++Md,o.ac!==null&&(fb(()=>{o.ac.abort(hb)}),o.ac=null);try{o.f|=Hv;var f=o.fn,g=f();o.f|=A0;var p=o.deps,C=xn==null?void 0:xn.is_fork;if(fr!==null){var b;if(C||Qg(o,Dr),p!==null&&Dr>0)for(p.length=Dr+fr.length,b=0;b<fr.length;b++)p[Dr+b]=fr[b];else o.deps=p=fr;if(l9()&&(o.f&Jr)!==0)for(b=Dr;b<p.length;b++)((E=p[b]).reactions??(E.reactions=[])).push(o)}else!C&&p!==null&&Dr<p.length&&(Qg(o,Dr),p.length=Dr);if(Xk()&&jr!==null&&!ya&&p!==null&&(o.f&(No|ll|Ao))===0)for(b=0;b<jr.length;b++)D6(jr[b],o);if(n!==null&&n!==o){if(Md++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=Md;if(e!==null)for(const w of e)w.rv=Md;jr!==null&&(i===null?i=jr:i.push(...jr))}return(o.f&Rc)!==0&&(o.f^=Rc),g}catch(w){return Qk(w)}finally{o.f^=Hv,fr=e,Dr=t,jr=i,ss=n,sl=s,s0(r),ya=a,Xd=d}}function aP(o,e){let t=e.reactions;if(t!==null){var i=$L.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&No)!==0&&(fr===null||!Nv.call(fr,e))){var s=e;(s.f&Jr)!==0&&(s.f^=Jr,s.f&=~Vu),s.v!==Eo&&i9(s),KI(s),Qg(s,0)}}function Qg(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)aP(o,t[i])}function r0(o){var e=o.f;if((e&ea)===0){ro(o,wo);var t=rs,i=lv;rs=o,lv=!0;try{(e&(Ea|$k))!==0?oP(o):h9(o),m6(o);var n=A6(o);o.teardown=typeof n=="function"?n:null,o.wv=w6;var s;zk&&BI&&(o.f&Ao)!==0&&o.deps}finally{lv=i,rs=t}}}async function Dl(){await Promise.resolve(),MI()}function l(o){var e=o.f,t=(e&No)!==0;if(ss!==null&&!ya){var i=rs!==null&&(rs.f&ea)!==0;if(!i&&(sl===null||!sl.has(o))){var n=ss.deps;if((ss.f&Hv)!==0)o.rv<Md&&(o.rv=Md,fr===null&&n!==null&&n[Dr]===o?Dr++:fr===null?fr=[o]:fr.push(o));else{ss.deps??(ss.deps=[]),Nv.call(ss.deps,o)||ss.deps.push(o);var s=o.reactions;s===null?o.reactions=[ss]:Nv.call(s,ss)||s.push(ss)}}}if(Vl&&Gd.has(o))return Gd.get(o);if(t){var r=o;if(Vl){var a=r.v;return((r.f&wo)===0&&r.reactions!==null||B6(r))&&(a=r9(r)),Gd.set(r,a),a}var d=(r.f&Jr)===0&&!ya&&ss!==null&&(lv||(ss.f&Jr)!==0),u=(r.f&A0)===0;Jp(r)&&(d&&(r.f|=Jr),a6(r)),d&&!u&&(l6(r),k6(r))}if(Lo!=null&&Lo.has(o))return Lo.get(o);if((o.f&Rc)!==0)throw o.v;return o.v}function k6(o){if(o.f|=Jr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&No)!==0&&(e.f&Jr)===0&&(l6(e),k6(e))}function B6(o){if(o.v===Eo)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Gd.has(e)||(e.f&No)!==0&&B6(e))return!0;return!1}function Jl(o){var e=ya;try{return ya=!0,o()}finally{ya=e}}const lP=["touchstart","touchmove"];function cP(o){return lP.includes(o)}const Rd=Symbol("events"),F6=new Set,y1=new Set;function dP(o,e,t,i={}){function n(s){if(i.capture||w1.call(e,s),!s.cancelBubble)return fb(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Nc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function Ns(o,e,t,i,n){var s={capture:i,passive:n},r=dP(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&c9(()=>{e.removeEventListener(o,r,s)})}function z(o,e,t){(e[Rd]??(e[Rd]={}))[o]=t}function uo(o){for(var e=0;e<o.length;e++)F6.add(o[e]);for(var t of y1)t(o)}let m8=null;function w1(o){var E,w;var e=this,t=e.ownerDocument,i=o.type,n=((E=o.composedPath)==null?void 0:E.call(o))||[],s=n[0]||o.target;m8=o;var r=0,a=m8===o&&o[Rd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[Rd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){UL(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=ss,g=rs;na(null),cl(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[Rd])==null?void 0:w[i];b!=null&&(!s.disabled||o.target===s)&&b.call(s,o)}catch(A){p?C.push(A):p=A}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let A of C)queueMicrotask(()=>{throw A});throw p}}finally{o[Rd]=e,delete o.currentTarget,na(f),cl(g)}}}var cA;const sC=((cA=globalThis==null?void 0:globalThis.window)==null?void 0:cA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function uP(o){return(sC==null?void 0:sC.createHTML(o))??o}function L6(o){var e=x6("template");return e.innerHTML=uP(o.replaceAll("<!>","<!---->")),e.content}function Uu(o,e){var t=rs;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function F(o,e){var t=(e&CI)!==0,i=(e&EI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=L6(s?o:"<!>"+o),t||(n=Ja(n)));var r=i||h6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ja(r),d=r.lastChild;Uu(a,d)}else Uu(r,r);return r}}function hP(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=L6(n),a=Ja(r);s=Ja(a)}var d=s.cloneNode(!0);return Uu(d,d),d}}function pb(o,e){return hP(o,e,"svg")}function mo(o=""){{var e=Tl(o+"");return Uu(e,e),e}}function Hs(){var o=document.createDocumentFragment(),e=document.createComment(""),t=Tl();return o.append(e,t),Uu(e,t),o}function D(o,e){o!==null&&o.before(e)}function O(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[ig]??(o[ig]=o.nodeValue))&&(o[ig]=t,o.nodeValue=`${t}`)}function fP(o,e){return gP(o,e)}const Ex=new Map;function gP(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){QI();var d=void 0,u=nP(()=>{var f=t??e.appendChild(Tl());HI(f,{pending:()=>{}},C=>{Js({});var b=Ro;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},eo()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var E=C[b];if(!g.has(E)){g.add(E);var w=cP(E);for(const T of[e,document]){var A=Ex.get(T);A===void 0&&(A=new Map,Ex.set(T,A));var I=A.get(E);I===void 0?(T.addEventListener(E,w1,{passive:w}),A.set(E,1)):A.set(E,I+1)}}}};return p(cb(F6)),y1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=Ex.get(A),E=b.get(C);--E==0?(A.removeEventListener(C,w1),b.delete(C),b.size===0&&Ex.delete(A)):b.set(C,E)}y1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return pP.set(d,u),d}let pP=new WeakMap;var fa,Ua,Br,Vd,Ip,Pp,Qm;class xP{constructor(e,t=!0){Un(this,"anchor");Mn(this,fa,new Map);Mn(this,Ua,new Map);Mn(this,Br,new Map);Mn(this,Vd,new Set);Mn(this,Ip,!0);Mn(this,Pp,e=>{if(Ae(this,fa).has(e)){var t=Ae(this,fa).get(e),i=Ae(this,Ua).get(t);if(i)Vv(i),Ae(this,Vd).delete(t);else{var n=Ae(this,Br).get(t);n&&(Vv(n.effect),Ae(this,Ua).set(t,n.effect),Ae(this,Br).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of Ae(this,fa)){if(Ae(this,fa).delete(s),s===e)break;const a=Ae(this,Br).get(r);a&&(Cr(a.effect),Ae(this,Br).delete(r))}for(const[s,r]of Ae(this,Ua)){if(s===t||Ae(this,Vd).has(s))continue;const a=()=>{if(Array.from(Ae(this,fa).values()).includes(s)){var u=document.createDocumentFragment();f9(r,u),u.append(Tl()),Ae(this,Br).set(s,{effect:r,fragment:u})}else Cr(r);Ae(this,Vd).delete(s),Ae(this,Ua).delete(s)};Ae(this,Ip)||!i?(Ae(this,Vd).add(s),Zd(r,a,!1)):a()}}});Mn(this,Qm,e=>{Ae(this,fa).delete(e);const t=Array.from(Ae(this,fa).values());for(const[i,n]of Ae(this,Br))t.includes(i)||(Cr(n.effect),Ae(this,Br).delete(i))});this.anchor=e,Rn(this,Ip,t)}ensure(e,t){var i=xn,n=p6();if(t&&!Ae(this,Ua).has(e)&&!Ae(this,Br).has(e))if(n){var s=document.createDocumentFragment(),r=Tl();s.append(r),Ae(this,Br).set(e,{effect:Gr(()=>t(r)),fragment:s})}else Ae(this,Ua).set(e,Gr(()=>t(this.anchor)));if(Ae(this,fa).set(i,e),n){for(const[a,d]of Ae(this,Ua))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of Ae(this,Br))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(Ae(this,Pp)),i.ondiscard(Ae(this,Qm))}else Ae(this,Pp).call(this,i)}}fa=new WeakMap,Ua=new WeakMap,Br=new WeakMap,Vd=new WeakMap,Ip=new WeakMap,Pp=new WeakMap,Qm=new WeakMap;function N(o,e,t=!1){var i=new xP(o),n=t?n0:0;function s(r,a){i.ensure(r,a)}u9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Ri(o,e){return e}function vP(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Zd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;S1(o,cb(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var d=i.length===0&&t!==null;if(d){var u=t,f=u.parentNode;JI(f),f.append(u),o.items.clear()}S1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function S1(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|=Qa;const r=document.createDocumentFragment();f9(s,r)}else Cr(e[n],t)}}var _8;function ti(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&qk)!==0;if(d){var u=o;r=u.appendChild(Tl())}var f=null,g=o9(()=>{var T=t();return t9(T)?T:T==null?[]:cb(T)}),p,C=new Map,b=!0;function E(T){(I.effect.f&ea)===0&&(I.pending.delete(T),I.fallback=f,mP(I,p,r,e,i),f!==null&&(p.length===0?(f.f&Qa)===0?Vv(f):(f.f^=Qa,og(f,null,r)):Zd(f,()=>{f=null})))}function w(T){I.pending.delete(T)}var A=u9(()=>{p=l(g);for(var T=p.length,M=new Set,P=xn,j=p6(),U=0;U<T;U+=1){var Q=p[U],oe=i(Q,U),le=b?null:a.get(oe);le?(le.v&&o0(le.v,Q),le.i&&o0(le.i,U),j&&P.unskip_effect(le.e)):(le=_P(a,b?r:_8??(_8=Tl()),Q,oe,U,n,e,t),b||(le.e.f|=Qa),a.set(oe,le)),M.add(oe)}if(T===0&&s&&!f&&(b?f=Gr(()=>s(r)):(f=Gr(()=>s(_8??(_8=Tl()))),f.f|=Qa)),T>M.size&&nI(),!b)if(C.set(P,M),j){for(const[re,ce]of a)M.has(re)||P.skip_effect(ce.e);P.oncommit(E),P.ondiscard(w)}else E(P);l(g)}),I={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function q0(o){for(;o!==null&&(o.f&wa)===0;)o=o.next;return o}function mP(o,e,t,i,n){var le,re,ce,ge,te,de,we,He,me;var s=(i&pI)!==0,r=e.length,a=o.items,d=q0(o.effect.first),u,f=null,g,p=[],C=[],b,E,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],E=n(b,A),w=a.get(E).e,(w.f&Qa)===0&&((re=(le=w.nodes)==null?void 0:le.a)==null||re.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],E=n(b,A),w=a.get(E).e,o.outrogroups!==null)for(const Me of o.outrogroups)Me.pending.delete(w),Me.done.delete(w);if((w.f&ir)!==0&&(Vv(w),s&&((ge=(ce=w.nodes)==null?void 0:ce.a)==null||ge.unfix(),(g??(g=new Set)).delete(w))),(w.f&Qa)!==0)if(w.f^=Qa,w===d)og(w,null,t);else{var I=f?f.next:d;w===o.effect.last&&(o.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),hc(o,f,w),hc(o,w,I),og(w,I,t),f=w,p=[],C=[],d=q0(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var T=C[0],M;f=T.prev;var P=p[0],j=p[p.length-1];for(M=0;M<p.length;M+=1)og(p[M],T,t);for(M=0;M<C.length;M+=1)u.delete(C[M]);hc(o,P.prev,j.next),hc(o,f,P),hc(o,j,T),d=T,f=j,A-=1,p=[],C=[]}else u.delete(w),og(w,d,t),hc(o,w.prev,w.next),hc(o,w,f===null?o.effect.first:f.next),hc(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=q0(d.next);if(d===null)continue}(w.f&Qa)===0&&p.push(w),f=w,d=q0(w.next)}if(o.outrogroups!==null){for(const Me of o.outrogroups)Me.pending.size===0&&(S1(o,cb(Me.done)),(te=o.outrogroups)==null||te.delete(Me));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var U=[];if(u!==void 0)for(w of u)(w.f&ir)===0&&U.push(w);for(;d!==null;)(d.f&ir)===0&&d!==o.fallback&&U.push(d),d=q0(d.next);var Q=U.length;if(Q>0){var oe=(i&qk)!==0&&r===0?t:null;if(s){for(A=0;A<Q;A+=1)(we=(de=U[A].nodes)==null?void 0:de.a)==null||we.measure();for(A=0;A<Q;A+=1)(me=(He=U[A].nodes)==null?void 0:He.a)==null||me.fix()}vP(o,U,oe)}}s&&Nc(()=>{var Me,Ne;if(g!==void 0)for(w of g)(Ne=(Me=w.nodes)==null?void 0:Me.a)==null||Ne.apply()})}function _P(o,e,t,i,n,s,r,a){var d=(r&fI)!==0?(r&xI)===0?ZI(t,!1,!1):$u(t):null,u=(r&gI)!==0?$u(n):null;return{v:d,i:u,e:Gr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function og(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Qa)===0?e.nodes.start:t;i!==null;){var r=Qp(i);if(s.before(i),i===n)return;i=r}}function hc(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function Fc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;W(()=>{var u=rs;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Uu(Ja(d),d.lastChild);return}if(u.nodes!==null&&(_6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?yI:n?wI:void 0,g=x6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Uu(Ja(p),p.lastChild),i||n)for(;Ja(p);)r.before(Ja(p));else r.before(p)}}})}function I6(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=I6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function bP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=I6(o))&&(i&&(i+=" "),i+=e);return i}function yg(o){return typeof o=="object"?bP(o):o??""}const b8=[...`
3
+ \r\f \v\uFEFF`];function CP(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||b8.includes(i[r-1]))&&(a===i.length||b8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function C8(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 oC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function EP(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,d=[];i&&d.push(...Object.keys(i).map(oC)),n&&d.push(...Object.keys(n).map(oC));var u=0,f=-1;const E=o.length;for(var g=0;g<E;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===E-1){if(f!==-1){var C=oC(o.substring(u,f).trim());if(!d.includes(C)){p!==";"&&g++;var b=o.substring(u,g).trim();t+=" "+b+";"}}u=g+1,f=-1}}}}return i&&(t+=C8(i)),n&&(t+=C8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function At(o,e,t,i,n,s){var r=o[p1];if(r!==t||r===void 0){var a=CP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[p1]=t}else if(s&&n!==s)for(var d in s){var u=!!s[d];(n==null||u!==!!n[d])&&o.classList.toggle(d,u)}return s}function rC(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 Io(o,e,t,i){var n=o[x1];if(n!==e){var s=EP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[x1]=e}else i&&(Array.isArray(i)?(rC(o,t==null?void 0:t[0],i[0]),rC(o,t==null?void 0:t[1],i[1],"important")):rC(o,t,i));return i}function jv(o,e,t=!1){if(o.multiple){if(e==null)return;if(!t9(e))return DI();for(var i of o.options)i.selected=e.includes(wg(i));return}for(i of o.options){var n=wg(i);if(YI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function D1(o){var e=new MutationObserver(()=>{jv(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),c9(()=>{e.disconnect()})}function Ks(o,e,t=e){var i=new WeakSet,n=!0;a9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),wg);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&wg(d)}t(a),o.__value=a,xn!==null&&i.add(xn)}),d9(()=>{var s=e();if(o===document.activeElement){var r=xn;if(i.has(r))return}if(jv(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=wg(a),t(s))}o.__value=s,n=!1}),D1(o)}function wg(o){return"__value"in o?o.__value:o.value}const yP=Symbol("is custom element"),wP=Symbol("is html"),SP=tI?"progress":"PROGRESS";function A1(o,e){var t=g9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==SP)||(o.value=e??"")}function vr(o,e){var t=g9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function fn(o,e,t,i){var n=g9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[eI]=t),t==null?o.removeAttribute(e):typeof t!="string"&&DP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function g9(o){return o[nv]??(o[nv]={[yP]:o.nodeName.includes("-"),[wP]:o.namespaceURI===Gk})}var E8=new Map;function DP(o){var e=o.getAttribute("is")||o.nodeName,t=E8.get(e);if(t)return t;E8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=qL(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Vk(n)}return t}function Dt(o,e,t=e){var i=new WeakSet;a9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=aC(o)?lC(s):s,t(s),xn!==null&&i.add(xn),await Dl(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,d=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===d&&u>d?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Jl(e)==null&&o.value&&(t(aC(o)?lC(o.value):o.value),xn!==null&&i.add(xn)),gb(()=>{var n=e();if(o===document.activeElement){var s=xn;if(i.has(s))return}aC(o)&&n===lC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Os(o,e,t=e){a9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Jl(e)==null&&t(o.checked),gb(()=>{var i=e();o.checked=!!i})}function aC(o){var e=o.type;return e==="number"||e==="range"}function lC(o){return o===""?null:+o}var Ac,Mf,Tp,Jm,P6;const e_=class e_{constructor(e){Mn(this,Jm);Mn(this,Ac,new WeakMap);Mn(this,Mf);Mn(this,Tp);Rn(this,Tp,e)}observe(e,t){var i=Ae(this,Ac).get(e)||new Set;return i.add(t),Ae(this,Ac).set(e,i),ys(this,Jm,P6).call(this).observe(e,Ae(this,Tp)),()=>{var n=Ae(this,Ac).get(e);n.delete(t),n.size===0&&(Ae(this,Ac).delete(e),Ae(this,Mf).unobserve(e))}}};Ac=new WeakMap,Mf=new WeakMap,Tp=new WeakMap,Jm=new WeakSet,P6=function(){return Ae(this,Mf)??Rn(this,Mf,new ResizeObserver(e=>{for(var t of e){e_.entries.set(t.target,t);for(var i of Ae(this,Ac).get(t.target)||[])i(t)}}))},Un(e_,"entries",new WeakMap);let k1=e_;var AP=new k1({box:"border-box"});function kP(o,e,t){var i=AP.observe(o,()=>t(o[e]));d9(()=>(Jl(()=>t(o[e])),i))}function cC(o,e){return o===e||(o==null?void 0:o[qd])===e}function Bs(o={},e,t,i){var n=Ro.r,s=rs;return d9(()=>{var r,a;return gb(()=>{r=a,a=[],Jl(()=>{cC(t(...a),o)||(e(o,...a),r&&cC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&g1;)d=d.parent;const u=()=>{a&&cC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function qu(o,e,t,i){var M;var n=!0,s=(t&_I)!==0,r=(t&bI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Yg(i)),l(u)):(d&&(d=!1,a=r?Jl(i):i),a);let g;if(s){var p=qd in o||JL in o;g=((M=yf(o,e))==null?void 0:M.set)??(p&&e in o?P=>o[e]=P:void 0)}var C,b=!1;s?[C,b]=II(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&(lI(),g(C)));var E;if(E=()=>{var P=o[e];return P===void 0?f():(d=!0,P)},(t&mI)===0)return E;if(g){var w=o.$$legacy;return(function(P,j){return arguments.length>0?((!j||w||b)&&g(j?E():P),P):E()})}var A=!1,I=((t&vI)!==0?Yg:o9)(()=>(A=!1,E()));s&&l(I);var T=rs;return(function(P,j){if(arguments.length>0){const U=j?l(I):s?_i(P):P;return x(I,U),A=!0,a!==void 0&&(a=U),P}return Vl&&A||(T.f&ea)!==0?I.v:l(I)})}function no(o){Ro===null&&Uk(),vs(()=>{const e=Jl(o);if(typeof e=="function")return e})}function B0(o){Ro===null&&Uk(),no(()=>()=>Jl(o))}const BP="5";var dA;typeof window<"u"&&((dA=window.__svelte??(window.__svelte={})).v??(dA.v=new Set)).add(BP);/*!-----------------------------------------------------------------------------
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 FP=Object.defineProperty,LP=Object.getOwnPropertyDescriptor,IP=Object.getOwnPropertyNames,PP=Object.prototype.hasOwnProperty,TP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of IP(e))!PP.call(o,n)&&n!==t&&FP(o,n,{get:()=>e[n],enumerable:!(i=LP(e,n))||i.enumerable});return o},MP=(o,e,t)=>(TP(o,e,"default"),t),ex={};MP(ex,hA);var RP=class{constructor(e,t,i){this._onDidChange=new ex.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)}},NP={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},OP={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},T6=new RP("json",NP,OP),HP=()=>M6().then(o=>o.getWorker());ex.languages.json={jsonDefaults:T6,getWorker:HP};function M6(){return uA(()=>import("./jsonMode-tUihOf0o.js"),__vite__mapDeps([0,1,2]))}ex.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});ex.languages.onLanguage("json",()=>{M6().then(o=>o.setupMode(T6))});/*!-----------------------------------------------------------------------------
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 WP=Object.defineProperty,zP=Object.getOwnPropertyDescriptor,VP=Object.getOwnPropertyNames,jP=Object.prototype.hasOwnProperty,$P=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of VP(e))!jP.call(o,n)&&n!==t&&WP(o,n,{get:()=>e[n],enumerable:!(i=zP(e,n))||i.enumerable});return o},UP=(o,e,t)=>($P(o,e,"default"),t),qP="5.4.5",a0={};UP(a0,hA);var R6=(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))(R6||{}),N6=(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))(N6||{}),O6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(O6||{}),H6=(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))(H6||{}),W6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(W6||{}),z6=class{constructor(o,e,t,i,n){this._onDidChange=new a0.Emitter,this._onDidExtraLibsChange=new a0.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)}},GP=qP,V6={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},j6=new z6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},V6),$6=new z6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},V6),KP=()=>xb().then(o=>o.getTypeScriptWorker()),ZP=()=>xb().then(o=>o.getJavaScriptWorker());a0.languages.typescript={ModuleKind:R6,JsxEmit:N6,NewLineKind:O6,ScriptTarget:H6,ModuleResolutionKind:W6,typescriptVersion:GP,typescriptDefaults:j6,javascriptDefaults:$6,getTypeScriptWorker:KP,getJavaScriptWorker:ZP};function xb(){return uA(()=>import("./tsMode-5LOOlJtc.js"),__vite__mapDeps([3,1,2]))}a0.languages.onLanguage("typescript",()=>xb().then(o=>o.setupTypeScript(j6)));a0.languages.onLanguage("javascript",()=>xb().then(o=>o.setupJavaScript($6)));class XP extends Ko{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Ei("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:tn.map,toggled:Ue.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Ue.has("isInDiffEditor"),menu:{when:Ue.has("isInDiffEditor"),id:si.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Ds),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class U6 extends Ko{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Ei("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Ue.has("isInDiffEditor")})}run(e,...t){const i=e.get(Ds),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class q6 extends Ko{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Ei("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Ue.has("isInDiffEditor")})}run(e,...t){const i=e.get(Ds),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const tx=Ei("diffEditor","Diff Editor");class YP extends Sa{constructor(){super({id:"diffEditor.switchSide",title:Ei("switchSide","Switch Side"),icon:tn.arrowSwap,precondition:Ue.has("isInDiffEditor"),f1:!0,category:tx})}runEditorCommand(e,t,i){const n=F0(e);if(n instanceof Mp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class QP extends Sa{constructor(){super({id:"diffEditor.exitCompareMove",title:Ei("exitCompareMove","Exit Compare Move"),icon:tn.close,precondition:K.comparingMovedCode,f1:!1,category:tx,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=F0(e);n instanceof Mp&&n.exitCompareMove()}}class JP extends Sa{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Ei("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:tn.fold,precondition:Ue.has("isInDiffEditor"),f1:!0,category:tx})}runEditorCommand(e,t,...i){const n=F0(e);n instanceof Mp&&n.collapseAllUnchangedRegions()}}class eT extends Sa{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Ei("showAllUnchangedRegions","Show All Unchanged Regions"),icon:tn.unfold,precondition:Ue.has("isInDiffEditor"),f1:!0,category:tx})}runEditorCommand(e,t,...i){const n=F0(e);n instanceof Mp&&n.showAllUnchangedRegions()}}class B1 extends Ko{constructor(){super({id:"diffEditor.revert",title:Ei("revert","Revert"),f1:!1,category:tx})}run(e,t){const i=tT(e,t.originalUri,t.modifiedUri);i instanceof Mp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const G6=Ei("accessibleDiffViewer","Accessible Diff Viewer"),t_=class t_ extends Ko{constructor(){super({id:t_.id,title:Ei("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:G6,precondition:Ue.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=F0(e);t==null||t.accessibleDiffViewerNext()}};t_.id="editor.action.accessibleDiffViewer.next";let Jg=t_;const i_=class i_ extends Ko{constructor(){super({id:i_.id,title:Ei("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:G6,precondition:Ue.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=F0(e);t==null||t.accessibleDiffViewerPrev()}};i_.id="editor.action.accessibleDiffViewer.prev";let $v=i_;function tT(o,e,t){return o.get($s).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function F0(o){const t=o.get($s).listDiffEditors(),i=fA();if(i)for(const n of t){const s=n.getContainerDomNode();if(iT(s,i))return n}return null}function iT(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}as(XP);as(U6);as(q6);ta.appendMenuItem(si.EditorTitle,{command:{id:new q6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Ue.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Ue.has("isInDiffEditor")},order:11,group:"1_diff",when:Ue.and(K.diffEditorRenderSideBySideInlineBreakpointReached,Ue.has("isInDiffEditor"))});ta.appendMenuItem(si.EditorTitle,{command:{id:new U6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:tn.move,toggled:u3.create("config.diffEditor.experimental.showMoves",!0),precondition:Ue.has("isInDiffEditor")},order:10,group:"1_diff",when:Ue.has("isInDiffEditor")});as(B1);for(const o of[{icon:tn.arrowRight,key:K.diffEditorInlineMode.toNegated()},{icon:tn.discard,key:K.diffEditorInlineMode}])ta.appendMenuItem(si.DiffEditorHunkToolbar,{command:{id:new B1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:Ue.and(K.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),ta.appendMenuItem(si.DiffEditorSelectionToolbar,{command:{id:new B1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:Ue.and(K.diffEditorModifiedWritable,o.key),order:5,group:"primary"});as(YP);as(QP);as(JP);as(eT);ta.appendMenuItem(si.EditorTitle,{command:{id:Jg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Ue.has("isInDiffEditor")},order:10,group:"2_diff",when:Ue.and(K.accessibleDiffViewerVisible.negate(),Ue.has("isInDiffEditor"))});Cs.registerCommandAlias("editor.action.diffReview.next",Jg.id);as(Jg);Cs.registerCommandAlias("editor.action.diffReview.prev",$v.id);as($v);var nT=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},sT=function(o,e){return function(t,i){e(t,i,o)}},F1;const vb=new Nn("selectionAnchorSet",!1);var eu;let od=(eu=class{static get(e){return e.getContribution(F1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=vb.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(Xi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Fo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),ia(S("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(Xi.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()}},F1=eu,eu.ID="editor.contrib.selectionAnchorController",eu);od=F1=nT([sT(1,Gn)],od);class oT extends _t{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2080),weight:100}})}async run(e,t){var i;(i=od.get(t))==null||i.setSelectionAnchor()}}class rT extends _t{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:vb})}async run(e,t){var i;(i=od.get(t))==null||i.goToSelectionAnchor()}}class aT extends _t{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:vb,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2089),weight:100}})}async run(e,t){var i;(i=od.get(t))==null||i.selectFromAnchorToCursor()}}class lT extends _t{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:vb,kbOpts:{kbExpr:K.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=od.get(t))==null||i.cancelSelectionAnchor()}}Sn(od.ID,od,4);Te(oT);Te(rT);Te(aT);Te(lT);const cT=xi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class dT extends _t{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Gu.get(t))==null||i.jumpToBracket()}}class uT extends _t{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Ei("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=Gu.get(t))==null||s.selectToBracket(n)}}class hT extends _t{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Gu.get(t))==null||i.removeBrackets(this.id)}}class fT{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const bc=class bc extends Ot{static get(e){return e.getContribution(bc.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new io(()=>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 d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new Xi(r.lineNumber,r.column,r.lineNumber,r.column):new Xi(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 u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,d=null;if(r){r.sort(ee.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new Xi(a.lineNumber,a.column,d.lineNumber,d.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 g=0,p=e.length;g<p;g++){const C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(wi.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),E=bc._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),E=bc._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new fT(C,b,E)}}this._lastBracketsData=a,this._lastVersionId=i}};bc.ID="editor.contrib.bracketMatchingController",bc._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Tn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Qs(cT),position:tl.Center}}),bc._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Tn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Gu=bc;Sn(Gu.ID,Gu,1);Te(uT);Te(dT);Te(hT);ta.appendMenuItem(si.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class gT{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 ee(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new ee(i,s,i,s),a)}else{const r=new ee(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new ee(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new Xi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Xi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class K6 extends _t{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 gT(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class pT extends K6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:K.writable})}}class xT extends K6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:K.writable})}}Te(pT);Te(xT);class vT extends _t{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:K.writable,kbOpts:{kbExpr:K.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,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Zb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Zb.leftPosition(i,f),p=Zb.leftPosition(i,g),C=i.getValueInRange(ee.fromPositions(p,g)),b=i.getValueInRange(ee.fromPositions(g,f)),E=ee.fromPositions(p,f);n.push(new Rp(E,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Te(vT);const mb=(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 p9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function mT(o,e,t){const i={id:mb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class Z6{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 Ll.some(this,([i,n])=>n.asFile())&&t.push("files"),Y6(Uv(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 Uv(e)}}function Uv(o){return o.toLowerCase()}function X6(o,e){return Y6(Uv(o),e.map(Uv))}function Y6(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 _b=Object.freeze({create:o=>gA(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>_b.split(o).filter(e=>!e.startsWith("#"))}),Wa=class Wa{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+Wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Wa((this.value?[this.value,...e]:e).join(Wa.sep))}};Wa.sep=".",Wa.None=new Wa("@@none@@"),Wa.Empty=new Wa("");let Ss=Wa;const y8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class _T{}const bT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Da.add(bT.DragAndDropContribution,new _T);const Rg=class Rg{constructor(){}static getInstance(){return Rg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Rg.INSTANCE=new Rg;let L1=Rg;function Q6(o){const e=new Z6;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,p9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,CT(n))}}return e}function CT(o){const e=o.path?ds.parse(o.path):void 0;return mT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const ET=Object.freeze([y8.EDITORS,y8.FILES,YC.RESOURCES,YC.INTERNAL_URI_LIST]);function J6(o,e=!1){const t=Q6(o),i=t.get(YC.INTERNAL_URI_LIST);if(i)t.replace(vo.uriList,i);else if(e||!t.has(vo.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(ds.file(a).toString()):n.push(ds.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(vo.uriList,p9(_b.create(n)))}for(const n of ET)t.delete(n);return t}var x9=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},ep=function(o,e){return function(t,i){e(t,i,o)}};class v9{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 Ng=class Ng extends v9{constructor(){super(...arguments),this.kind=Ng.kind,this.dropMimeTypes=[vo.text],this.pasteMimeTypes=[vo.text]}async getEdit(e,t){const i=e.get(vo.text);if(!i||e.has(vo.uriList))return;const n=await i.asString();return{handledMimeType:vo.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Ng.id="text",Ng.kind=new Ss("text.plain");let Ku=Ng;class e5 extends v9{constructor(){super(...arguments),this.kind=new Ss("uri.absolute"),this.dropMimeTypes=[vo.uriList],this.pasteMimeTypes=[vo.uriList]}async getEdit(e,t){const i=await t5(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===jo.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?S("defaultDropProvider.uriList.uris","Insert Uris"):S("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?S("defaultDropProvider.uriList.paths","Insert Paths"):S("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:vo.uriList,insertText:s,title:r,kind:this.kind}}}let qv=class extends v9{constructor(e){super(),this._workspaceContextService=e,this.kind=new Ss("uri.relative"),this.dropMimeTypes=[vo.uriList],this.pasteMimeTypes=[vo.uriList]}async getEdit(e,t){const i=await t5(e);if(!i.length||t.isCancellationRequested)return;const n=Nl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?h3(r.uri,s):void 0}));if(n.length)return{handledMimeType:vo.uriList,insertText:n.join(" "),title:i.length>1?S("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):S("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};qv=x9([ep(0,qf)],qv);class yT{constructor(){this.kind=new Ss("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:vo.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==QC.PasteAs&&!((d=n.only)!=null&&d.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:S("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function t5(o){const e=o.get(vo.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of _b.parse(t))try{i.push({uri:ds.parse(n),originalText:n})}catch{}return i}let I1=class extends Ot{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ku)),this._register(e.documentDropEditProvider.register("*",new e5)),this._register(e.documentDropEditProvider.register("*",new qv(t)))}};I1=x9([ep(0,Si),ep(1,qf)],I1);let P1=class extends Ot{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ku)),this._register(e.documentPasteEditProvider.register("*",new e5)),this._register(e.documentPasteEditProvider.register("*",new qv(t))),this._register(e.documentPasteEditProvider.register("*",new yT))}};P1=x9([ep(0,Si),ep(1,qf)],P1);const Hr=class Hr{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=Hr._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(Hr.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(Hr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(Hr.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(Hr.isVariableCharacter(i)||Hr.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 Hr._table[i]>"u"&&!Hr.isDigitCharacter(i)&&!Hr.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};Hr._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let T1=Hr;class L0{constructor(){this._children=[]}appendChild(e){return e instanceof tr&&this._children[this._children.length-1]instanceof tr?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,d){for(const u of a)u.parent=d,r(u.children,u)})(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 ix)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let tr=class i5 extends L0{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new i5(this.value)}};class n5 extends L0{}class Pr extends n5{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 I0?this._children[0]:void 0}clone(){const e=new Pr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class I0 extends L0{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof tr&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new I0;return this.options.forEach(e.appendChild,e),e}}class m9 extends L0{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 ga&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof ga){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new m9;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 ga extends L0{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 ga(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class tp extends n5{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 tr(t)],!0):!1}clone(){const e=new tp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function w8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class ix extends L0{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Pr&&(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 w8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Pr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof tp&&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 ix;return this._children=this.children.map(t=>t.clone()),e}walk(e){w8(this.children,e)}}class Zu{constructor(){this._scanner=new T1,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 ix;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(d=>(d instanceof Pr&&(d.isFinalTabstop?n.set(0,void 0):!n.has(d.index)&&d.children.length>0?n.set(d.index,d.children):s.push(d)),!0));const r=(d,u)=>{const f=n.get(d.index);if(!f)return;const g=new Pr(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof Pr&&n.has(C.index)&&!u.has(C.index)&&(u.add(C.index),r(C,u),u.delete(C.index))}t.replace(d,[g])},a=new Set;for(const d of s)r(d,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 Pr(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 tr(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 Pr(Number(t)):new tp(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 Pr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new tr("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new I0;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 tr(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 tp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new tr("${"+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 m9;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 tr(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 ga(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new ga(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 ga(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new ga(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new ga(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 ga(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new ga(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new tr(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function s5(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 f3(o,{range:s,text:typeof t.insertText=="string"?Zu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function o5(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 d of o)if(d!==r&&e(a,d)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(d)}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 d=[];const u=t.get(a);return u&&(n.push(a),d=s(u),n.pop()),i.add(a),[...d,a,...s(r.slice(1))]}return s(Array.from(o))}var wT=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},ST=function(o,e){return function(t,i){e(t,i,o)}};const DT=Tn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:pA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),n_=class n_ extends Ot{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=pi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=pi("span.icon");this.domNode.append(t),t.classList.add(...Qn.asClassNameArray(tn.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(qn(this.domNode,Ls.CLICK,n=>{this.delegate.cancel()}))}getId(){return n_.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)}};n_.baseId="editor.widget.inlineProgressWidget";let M1=n_,Gv=class extends Ot{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Er),this._currentWidget=this._register(new Er),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=Wg(()=>{const a=ee.fromPositions(e);this._currentDecorations.set([{range:a,options:DT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(M1,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()}};Gv=wT([ST(2,gn)],Gv);var AT=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},S8=function(o,e){return function(t,i){e(t,i,o)}},cv,Hc;let nr=(Hc=class{static get(e){return e.getContribution(cv.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Er,this._messageListeners=new Nt,this._mouseOverMessage=!1,this._editor=e,this._visible=cv.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){ia(Qx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Qx(e)?g3(e,{actionHandler:{callback:n=>{this.closeMessage(),p3(this._openerService,n,Qx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new D8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(to.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&x3(fA(),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(qn(this._messageWidget.value.getDomNode(),Ls.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(qn(this._messageWidget.value.getDomNode(),Ls.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 ee(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(D8.fadeOut(this._messageWidget.value))}},cv=Hc,Hc.ID="editor.contrib.messageController",Hc.MESSAGE_VISIBLE=new Nn("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Hc);nr=cv=AT([S8(1,Gn),S8(2,Aa)],nr);const kT=Zo.bindToContribution(nr.get);Ii(new kT({id:"leaveEditorMessage",precondition:nr.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let D8=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)}};Sn(nr.ID,nr,4);function dC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",k8(o),A8(o.stack)||A8(o.stacktrace)):k8(o)}function A8(o){return Array.isArray(o)?o.join(`
16
+ `):o}function k8(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"?S("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function Kv(o=null,e=!1){if(!o)return S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=Nl(o),i=Kv(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(xA(o))return o;if(o.detail){const t=o.detail;if(t.error)return dC(t.error,e);if(t.exception)return dC(t.exception,e)}return o.stack?dC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}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},Sf=function(o,e){return function(t,i){e(t,i,o)}},R1,tu;let N1=(tu=class extends Ot{constructor(e,t,i,n,s,r,a,d,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=d,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(ws(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(ws((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(to.runAndSubscribe(f.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=pi(".post-edit-widget"),this.button=this._register(new v3(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(qn(this.domNode,Ls.CLICK,()=>this.showSelector()))}getId(){return R1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Uo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>m3({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},R1=tu,tu.baseId="editor.widget.postEditWidget",tu);N1=R1=r5([Sf(7,E0),Sf(8,Gn),Sf(9,Xs)],N1);let Zv=class extends Ot{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 Er),this._register(to.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 d=async w=>{const A=this._editor.getModel();A&&(await A.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:w,allEdits:t.allEdits},i,n,s))},u=(w,A)=>{dd(w)||(this._notificationService.error(A),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(w){return u(w,S("resolveError",`Error resolving edit '{0}':
17
+ {1}`,a.title,Kv(w)))}if(s.isCancellationRequested)return;const g=s5(r.uri,e,f),p=e[0],C=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let b,E;try{b=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),E=r.getDecorationRange(C[0])}catch(w){return u(w,S("applyError",`Error applying edit '{0}':
18
+ {1}`,a.title,Kv(w)))}finally{r.deltaDecorations(C,[])}s.isCancellationRequested||i&&b.isApplied&&t.allEdits.length>1&&this.show(E??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(N1,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()}};Zv=r5([Sf(4,gn),Sf(5,j_),Sf(6,Ho)],Zv);var BT=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},Mh=function(o,e){return function(t,i){e(t,i,o)}},Dd;const a5="editor.changePasteType",_9=new Nn("pasteWidgetVisible",!1,S("pasteWidgetVisible","Whether the paste widget is showing")),uC="application/vnd.code.copyMetadata";var iu;let jl=(iu=class extends Ot{static get(e){return e.getContribution(Dd.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 d=e.getContainerDomNode();this._register(qn(d,"copy",u=>this.handleCopy(u))),this._register(qn(d,"cut",u=>this.handleCopy(u))),this._register(qn(d,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new Gv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Zv,"pasteIntoEditor",e,_9,{id:a5,label:S("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Dw().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 E,w,A,I;if(!this._editor.hasTextFocus()||((w=(E=this._clipboardService).clearInternalState)==null||w.call(E),!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 ee(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(A=this._editor._getViewModel())==null?void 0:A.getPlainTextToCopy(i,n,$_),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(T=>!!T.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=Q6(e.clipboardData),p=f.flatMap(T=>T.copyMimeTypes??[]),C=mb();this.setCopyMetadata(e.clipboardData,{id:C,providerCopyMimeTypes:p,defaultPastePayload:u});const b=fo(async T=>{const M=Nl(await Promise.all(f.map(async P=>{try{return await P.prepareDocumentPaste(t,s,g,T)}catch(j){console.error(j);return}})));M.reverse();for(const P of M)for(const[j,U]of P)g.replace(j,U);return g});(I=Dd._currentCopyOperation)==null||I.dataTransferPromise.cancel(),Dd._currentCopyOperation={handle:C,dataTransferPromise:b}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=nr.get(this._editor))==null||d.closeMessage(),(u=this._currentPasteOperation)==null||u.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=J6(e.clipboardData);s.delete(uC);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],vo.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var C,b;const p=(C=this._pasteAsActionContext)==null?void 0:C.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(b=g.pasteMimeTypes)==null?void 0:b.some(E=>X6(E,r))});if(!a.length){(f=this._pasteAsActionContext)!=null&&f.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=nr.get(this._editor))==null||i.showMessage(S("pasteAsError","No paste edits for '{0}' found",t instanceof Ss?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new Gf(r,3,void 0),d=fo(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new Nt,C=p.add(new go(u));p.add(a.token.onCancellationRequested(()=>C.cancel()));const b=C.token;try{if(await this.mergeInDataFromCopy(i,n,b),b.isCancellationRequested)return;const E=e.filter(I=>this.isSupportedPasteProvider(I,i));if(!E.length||E.length===1&&E[0]instanceof Ku)return this.applyDefaultPasteHandler(i,n,b,s);const w={triggerKind:QC.Automatic},A=await this.getPasteEdits(E,i,g,t,w,b);if(p.add(A),b.isCancellationRequested)return;if(A.edits.length===1&&A.edits[0].provider instanceof Ku)return this.applyDefaultPasteHandler(i,n,b,s);if(A.edits.length){const I=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:A.edits},I,(T,M)=>new Promise((P,j)=>{(async()=>{var U,Q;try{const oe=(Q=(U=T.provider).resolveDocumentPasteEdit)==null?void 0:Q.call(U,T,M),le=new U_,re=oe&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([le.p,oe]),{cancel:()=>(le.cancel(),j(new q_))},0);return re&&(T.additionalEdit=re.additionalEdit),P(T)}catch(oe){return j(oe)}})()}),b)}await this.applyDefaultPasteHandler(i,n,b,s)}finally{p.dispose(),this._currentPasteOperation===d&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),d,{cancel:async()=>{try{if(d.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=d}showPasteAsPick(e,t,i,n,s){const r=fo(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new Nt,g=f.add(new Gf(d,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(A=>this.isSupportedPasteProvider(A,n,e));e&&(p=p.filter(A=>this.providerMatchesPreference(A,e)));const C={triggerKind:QC.PasteAs,only:e&&e instanceof Ss?e:void 0};let b=f.add(await this.getPasteEdits(p,n,u,i,C,g.token));if(g.token.isCancellationRequested)return;if(e&&(b={edits:b.edits.filter(A=>e instanceof Ss?e.contains(A.kind):e.providerId===A.provider.id),dispose:b.dispose}),!b.edits.length){C.only&&this.showPasteAsNoEditMessage(i,C.only);return}let E;if(e)E=b.edits.at(0);else{const A=await this._quickInputService.pick(b.edits.map(I=>{var T;return{label:I.title,description:(T=I.kind)==null?void 0:T.value,edit:I}}),{placeHolder:S("pasteAsPickerPlaceholder","Select Paste Action")});E=A==null?void 0:A.edit}if(!E)return;const w=s5(u.uri,i,E);await this._bulkEditService.apply(w,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:S("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(uC,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(uC);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=_3.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=Dd._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Dd._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(vo.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(vo.uriList,p9(_b.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new Nt,d=await Np(Promise.all(e.map(async f=>{var g,p;try{const C=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return C&&a.add(C),(p=C==null?void 0:C.edits)==null?void 0:p.map(b=>({...b,provider:f}))}catch(C){dd(C)||console.error(C);return}})),r),u=Nl(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:o5(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(vo.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 Ss?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Dd=iu,iu.ID="editor.contrib.copyPasteActionController",iu);jl=Dd=BT([Mh(1,gn),Mh(2,j_),Mh(3,y0),Mh(4,Si),Mh(5,Kl),Mh(6,b3)],jl);const Xu="9_cutcopypaste",FT=w0||document.queryCommandSupported("cut"),l5=w0||document.queryCommandSupported("copy"),LT=typeof navigator.clipboard>"u"||C3?document.queryCommandSupported("paste"):!0;function b9(o){return o.register(),o}const IT=FT?b9(new Aw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:w0?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:si.MenubarEditMenu,group:"2_ccp",title:S({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:si.EditorContext,group:Xu,title:S("actions.clipboard.cutLabel","Cut"),when:K.writable,order:1},{menuId:si.CommandPalette,group:"",title:S("actions.clipboard.cutLabel","Cut"),order:1},{menuId:si.SimpleEditorContext,group:Xu,title:S("actions.clipboard.cutLabel","Cut"),when:K.writable,order:1}]})):void 0,PT=l5?b9(new Aw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:w0?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:si.MenubarEditMenu,group:"2_ccp",title:S({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:si.EditorContext,group:Xu,title:S("actions.clipboard.copyLabel","Copy"),order:2},{menuId:si.CommandPalette,group:"",title:S("actions.clipboard.copyLabel","Copy"),order:1},{menuId:si.SimpleEditorContext,group:Xu,title:S("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ta.appendMenuItem(si.MenubarEditMenu,{submenu:si.MenubarCopy,title:Ei("copy as","Copy As"),group:"2_ccp",order:3});ta.appendMenuItem(si.EditorContext,{submenu:si.EditorContextCopy,title:Ei("copy as","Copy As"),group:Xu,order:3});ta.appendMenuItem(si.EditorContext,{submenu:si.EditorContextShare,title:Ei("share","Share"),group:"11_share",order:-1,when:Ue.and(Ue.notEquals("resourceScheme","output"),K.editorTextFocus)});ta.appendMenuItem(si.ExplorerContext,{submenu:si.ExplorerContextShare,title:Ei("share","Share"),group:"11_share",order:-1});const hC=LT?b9(new Aw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:w0?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:si.MenubarEditMenu,group:"2_ccp",title:S({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:si.EditorContext,group:Xu,title:S("actions.clipboard.pasteLabel","Paste"),when:K.writable,order:4},{menuId:si.CommandPalette,group:"",title:S("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:si.SimpleEditorContext,group:Xu,title:S("actions.clipboard.pasteLabel","Paste"),when:K.writable,order:4}]})):void 0;class TT extends _t{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:S("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(IS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),IS.forceCopyWithSyntaxHighlighting=!1)}}function c5(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get($s).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)=>(Dw().execCommand(e),!0)))}c5(IT,"cut");c5(PT,"copy");hC&&(hC.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get($s),i=o.get(y0),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=jl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():E3?(async()=>{const a=await i.readText();if(a!==""){const d=y3.INSTANCE.get(a);let u=!1,f=null,g=null;d&&(u=n.getOption(37)&&!!d.isFromEmptySelection,f=typeof d.multicursorText<"u"?d.multicursorText:null,g=d.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),hC.addImplementation(0,"generic-dom",(o,e)=>(Dw().execCommand("paste"),!0)));l5&&Te(TT);const _s=new class{constructor(){this.QuickFix=new Ss("quickfix"),this.Refactor=new Ss("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 Ss("notebook"),this.Source=new Ss("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var ar;(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"})(ar||(ar={}));function MT(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>d5(e,t,o.include))||!o.includeSourceActions&&_s.Source.contains(e))}function RT(o,e){const t=e.kind?new Ss(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>d5(t,i,o.include))||!o.includeSourceActions&&t&&_s.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function d5(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Za{static fromUser(e,t){return!e||typeof e!="object"?new Za(t.kind,t.apply,!1):new Za(Za.getKindFromUser(e,t.kind),Za.getApplyFromUser(e,t.apply),Za.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 Ss(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 NT{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){js(n)}i&&(this.action.edit=i.edit)}return this}}const u5="editor.action.codeAction",C9="editor.action.quickFix",h5="editor.action.autoFix",f5="editor.action.refactor",g5="editor.action.sourceAction",O1="editor.action.organizeImports",H1="editor.action.fixAll";class Sg extends Ot{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:_r(e.diagnostics)?_r(t.diagnostics)?Sg.codeActionsPreferredComparator(e,t):-1:_r(t.diagnostics)?1:Sg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Sg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&_s.QuickFix.contains(new Ss(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 B8={actions:[],documentation:void 0};async function lf(o,e,t,i,n,s){var E;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],_s.Notebook]},d={only:(E=r.include)==null?void 0:E.value,trigger:i.type},u=new w3(e,s),f=i.type===2,g=OT(o,e,f?a:r),p=new Nt,C=g.map(async w=>{try{n.report(w);const A=await w.provideCodeActions(e,t,d,u.token);if(A&&p.add(A),u.token.isCancellationRequested)return B8;const I=((A==null?void 0:A.actions)||[]).filter(M=>M&&RT(r,M)),T=WT(w,I,r.include);return{actions:I.map(M=>new NT(M,w)),documentation:T}}catch(A){if(dd(A))throw A;return js(A),B8}}),b=o.onDidChange(()=>{const w=o.all(e);ol(w,g)||u.cancel()});try{const w=await Promise.all(C),A=w.map(T=>T.actions).flat(),I=[...Nl(w.map(T=>T.documentation)),...HT(o,e,i,A)];return new Sg(A,I,p)}finally{b.dispose(),u.dispose()}}function OT(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>MT(t,new Ss(n))):!0)}function*HT(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(d=>d.action)))}function WT(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Ss(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 Ss(n.kind)))return s.command}}var Nd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Nd||(Nd={}));async function zT(o,e,t,i,n=_n.None){var u;const s=o.get(j_),r=o.get(lo),a=o.get(ka),d=o.get(Ho);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&&!((u=e.action.edit)!=null&&u.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!==Nd.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(f){const g=VT(f);d.error(typeof g=="string"?g:S("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function VT(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Cs.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof ds))throw Il();const{codeActionProvider:s}=o.get(Si),r=o.get(Wo).getModel(e);if(!r)throw Il();const a=Xi.isISelection(t)?Xi.liftSelection(t):ee.isIRange(t)?r.validateRange(t):void 0;if(!a)throw Il();const d=typeof i=="string"?new Ss(i):void 0,u=await lf(s,r,a,{type:1,triggerAction:ar.Default,filter:{includeSourceActions:!0,include:d}},Al.None,_n.None),f=[],g=Math.min(u.validActions.length,typeof n=="number"?n:0);for(let p=0;p<g;p++)f.push(u.validActions[p].resolve(_n.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var jT=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},$T=function(o,e){return function(t,i){e(t,i,o)}},W1,nu;let z1=(nu=class{constructor(e){this.keybindingService=e}getResolver(){const e=new kw(()=>this.keybindingService.getKeybindings().filter(t=>W1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===O1?i={kind:_s.SourceOrganizeImports.value}:t.command===H1&&(i={kind:_s.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Za.fromUser(i,{kind:Ss.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 Ss(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)}},W1=nu,nu.codeActionCommands=[f5,u5,g5,O1,H1],nu);z1=W1=jT([$T(0,Xs)],z1);xi("symbolIcon.arrayForeground",so,S("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.booleanForeground",so,S("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.colorForeground",so,S("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.constantForeground",so,S("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},S("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.fileForeground",so,S("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.folderForeground",so,S("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.keyForeground",so,S("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.keywordForeground",so,S("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},S("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.moduleForeground",so,S("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.namespaceForeground",so,S("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.nullForeground",so,S("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.numberForeground",so,S("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.objectForeground",so,S("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.operatorForeground",so,S("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.packageForeground",so,S("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.propertyForeground",so,S("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.referenceForeground",so,S("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.snippetForeground",so,S("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.stringForeground",so,S("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.structForeground",so,S("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.textForeground",so,S("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.typeParameterForeground",so,S("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.unitForeground",so,S("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));xi("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},S("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const p5=Object.freeze({kind:Ss.Empty,title:S("codeAction.widget.id.more","More Actions...")}),UT=Object.freeze([{kind:_s.QuickFix,title:S("codeAction.widget.id.quickfix","Quick Fix")},{kind:_s.RefactorExtract,title:S("codeAction.widget.id.extract","Extract"),icon:tn.wrench},{kind:_s.RefactorInline,title:S("codeAction.widget.id.inline","Inline"),icon:tn.wrench},{kind:_s.RefactorRewrite,title:S("codeAction.widget.id.convert","Rewrite"),icon:tn.wrench},{kind:_s.RefactorMove,title:S("codeAction.widget.id.move","Move"),icon:tn.wrench},{kind:_s.SurroundWith,title:S("codeAction.widget.id.surround","Surround With"),icon:tn.surroundWith},{kind:_s.Source,title:S("codeAction.widget.id.source","Source Action"),icon:tn.symbolFile},p5]);function qT(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:p5,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=UT.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Ss(s.action.kind):Ss.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:tn.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var GT=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},KT=function(o,e){return function(t,i){e(t,i,o)}},Yh;const F8=Ws("gutter-lightbulb",tn.lightBulb,S("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),L8=Ws("gutter-lightbulb-auto-fix",tn.lightbulbAutofix,S("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),I8=Ws("gutter-lightbulb-sparkle",tn.lightbulbSparkle,S("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),P8=Ws("gutter-lightbulb-aifix-auto-fix",tn.lightbulbSparkleAutofix,S("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.")),T8=Ws("gutter-lightbulb-sparkle-filled",tn.sparkleFilled,S("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 da;(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})(da||(da={}));var Bl;let ip=(Bl=class extends Ot{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new mn),this.onClick=this._onClick.event,this._state=da.Hidden,this._gutterState=da.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+F8.id,"codicon-"+P8.id,"codicon-"+L8.id,"codicon-"+I8.id,"codicon-"+T8.id],this.gutterDecoration=Yh.GUTTER_DECORATION,this._domNode=pi("div.lightBulbWidget"),this._domNode.role="listbox",this._register(vA.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(S3(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=Uo(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(qn(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(to.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(h5))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(C9))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(d=>i.target.element&&i.target.element.classList.contains(d))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=Uo(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:d}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=Bw(g,u),C=f.spaceWidth*p>22,b=P=>P>2&&this._editor.getTopForLineNumber(P)===this._editor.getTopForLineNumber(P-1),E=this._editor.getLineDecorations(a);let w=!1;if(E)for(const P of E){const j=P.options.glyphMarginClassName;if(j&&!this.lightbulbClasses.some(U=>j.includes(U))){w=!0;break}}let A=a,I=1;if(!C){const P=j=>{const U=r.getLineContent(j);return/^\s*$|^\s+/.test(U)||U.length<=I};if(a>1&&!b(a-1)){const j=r.getLineCount(),U=a===j,Q=a>1&&P(a-1),oe=!U&&P(a+1),le=P(a),re=!oe&&!Q;if(!oe&&!Q&&!w)return this.gutterState=new da.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Yh._posPref}),this.renderGutterLightbub(),this.hide();Q||U||Q&&!le?A-=1:(oe||re&&le)&&(A+=1)}else if(a===1&&(a===r.getLineCount()||!P(a+1)&&!P(a)))if(this.gutterState=new da.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Yh._posPref}),w)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!b(a+1))A+=1;else if(d*f.spaceWidth<22)return this.hide();I=/^\S\s*$/.test(r.getLineContent(A))?2:1}this.state=new da.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Yh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const T=e.validActions,M=e.validActions[0].action.kind;if(T.length!==1||!M){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==da.Hidden&&(this.state=da.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==da.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=da.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=tn.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=tn.lightbulbSparkleAutofix:e=tn.lightbulbAutofix:this.state.actions.hasAIFix?e=tn.lightbulbSparkle:e=tn.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Qn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=T8,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=P8:e=L8:this.gutterState.actions.hasAIFix?e=I8:e=F8,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Tn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Qn.asClassName(e),glyphMargin:{position:Av.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 ee(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 ee(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=S("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=S("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=S("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=S("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Yh=Bl,Bl.GUTTER_DECORATION=Tn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Qn.asClassName(tn.lightBulb),glyphMargin:{position:Av.Left},stickiness:1}),Bl.ID="editor.contrib.lightbulbWidget",Bl._posPref=[0],Bl);ip=Yh=GT([KT(1,Xs)],ip);var x5=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},V1=function(o,e){return function(t,i){e(t,i,o)}};const v5="acceptSelectedCodeAction",m5="previewSelectedCodeAction";class ZT{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 j1=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 Fw(e,Lw);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,d;if((r=e.group)!=null&&r.icon?(i.icon.className=Qn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=jd(e.group.icon.color.id))):(i.icon.className=Qn.asClassName(tn.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=_5(e.label),i.keybinding.set(e.keybinding),D3(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(v5))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(m5))==null?void 0:d.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=S({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=S({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};j1=x5([V1(1,Xs)],j1);class XT extends UIEvent{constructor(){super("acceptSelectedAction")}}class M8 extends UIEvent{constructor(){super("previewSelectedAction")}}function YT(o){if(o.kind==="action")return o.label}let $1=class extends Ot{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 go),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:d=>d.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:d=>d.kind};this._list=this._register(new Iw(e,this.domNode,a,[new j1(t,this._keybindingService),new ZT],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:YT},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?_5(d==null?void 0:d.label):"";return d.disabled&&(u=S({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,d.disabled)),u}return null},getWidgetAriaLabel:()=>S({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:d=>d.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(A3),this._register(this._list.onMouseClick(d=>this.onListClick(d))),this._register(this._list.onMouseOver(d=>this.onListHover(d))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(d=>this.onListSelection(d))),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(d=>d.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 d=this._allMenuItems.map((u,f)=>{const g=this.domNode.ownerDocument.getElementById(this._list.getElementID(f));if(g){g.style.width="auto";const p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});s=Math.max(...d,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 M8:new XT;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 M8):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([])}};$1=x5([V1(4,G_),V1(5,Xs)],$1);function _5(o){return o.replace(/\r\n|\r|\n/g," ")}var QT=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},fC=function(o,e){return function(t,i){e(t,i,o)}};xi("actionBar.toggledBackground",Pw,S("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Yu={Visible:new Nn("codeActionMenuVisible",!1,S("codeActionMenuVisible","Whether the action widget list is visible"))},uh=Zl("actionWidgetService");let Qu=class extends Ot{get isVisible(){return Yu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Er)}show(e,t,i,n,s,r,a){const d=Yu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance($1,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(d.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{d.reset(),this._onWidgetClosed(f)}},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 C;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 Nt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(qn(a,Ls.MOUSE_DOWN,b=>b.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(qn(u,Ls.POINTER_MOVE,()=>u.remove())),s.add(qn(u,Ls.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const b=this._createActionBar(".action-widget-action-bar",i);b&&(n.appendChild(b.getContainer().parentElement),s.add(b),f=b.getContainer().offsetWidth)}const g=(C=this._list.value)==null?void 0:C.layout(f);n.style.width=`${g}px`;const p=s.add(Kf(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=pi(e),n=new zg(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Qu=QT([fC(0,G_),fC(1,Gn),fC(2,gn)],Qu);Xl(uh,Qu,1);const nx=1100;as(class extends Ko{constructor(){super({id:"hideCodeActionWidget",title:Ei("hideCodeActionWidget.title","Hide action widget"),precondition:Yu.Visible,keybinding:{weight:nx,primary:9,secondary:[1033]}})}run(o){o.get(uh).hide(!0)}});as(class extends Ko{constructor(){super({id:"selectPrevCodeAction",title:Ei("selectPrevCodeAction.title","Select previous action"),precondition:Yu.Visible,keybinding:{weight:nx,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(uh);e instanceof Qu&&e.focusPrevious()}});as(class extends Ko{constructor(){super({id:"selectNextCodeAction",title:Ei("selectNextCodeAction.title","Select next action"),precondition:Yu.Visible,keybinding:{weight:nx,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(uh);e instanceof Qu&&e.focusNext()}});as(class extends Ko{constructor(){super({id:v5,title:Ei("acceptSelected.title","Accept selected action"),precondition:Yu.Visible,keybinding:{weight:nx,primary:3,secondary:[2137]}})}run(o){const e=o.get(uh);e instanceof Qu&&e.acceptSelected()}});as(class extends Ko{constructor(){super({id:m5,title:Ei("previewSelected.title","Preview selected action"),precondition:Yu.Visible,keybinding:{weight:nx,primary:2051}})}run(o){const e=o.get(uh);e instanceof Qu&&e.acceptSelected(!0)}});const b5=new Nn("supportedCodeAction",""),R8="_typescript.applyFixAllCodeAction";class JT extends Ot{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Op),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=>kv(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:ar.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!==Xb.Off){{if(i===Xb.On)return t;if(i===Xb.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),d=s.getLineContent(r);if(d.length===0)return;if(a===1){if(/\s/.test(d[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(d[d.length-1]))return}else if(/\s/.test(d[a-2])&&/\s/.test(d[a-1]))return}}return t}}}var Fd;(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(dd(r))return C5;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(Fd||(Fd={}));const C5=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class eM extends Ot{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 Er),this._state=Fd.Empty,this._onDidChangeState=this._register(new mn),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=b5.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(d=>{d.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Fd.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(Fd.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 JT(this._editor,this._markerService,i=>{var d;if(!i){this.setState(Fd.Empty);return}const n=i.selection.getStartPosition(),s=fo(async u=>{var f,g,p,C,b,E,w,A,I,T;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===ar.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(_s.QuickFix))){const M=await lf(this._registry,e,i.selection,i.trigger,Al.None,u),P=[...M.allActions];if(u.isCancellationRequested)return C5;const j=(p=M.validActions)==null?void 0:p.some(Q=>Q.action.kind?_s.QuickFix.contains(new Ss(Q.action.kind)):!1),U=this._markerService.read({resource:e.uri});if(j){for(const Q of M.validActions)(b=(C=Q.action.command)==null?void 0:C.arguments)!=null&&b.some(oe=>typeof oe=="string"&&oe.includes(R8))&&(Q.action.diagnostics=[...U.filter(oe=>oe.relatedInformation)]);return{validActions:M.validActions,allActions:P,documentation:M.documentation,hasAutoFix:M.hasAutoFix,hasAIFix:M.hasAIFix,allAIFixes:M.allAIFixes,dispose:()=>{M.dispose()}}}else if(!j&&U.length>0){const Q=i.selection.getPosition();let oe=Q,le=Number.MAX_VALUE;const re=[...M.validActions];for(const ge of U){const te=ge.endColumn,de=ge.endLineNumber,we=ge.startLineNumber;if(de===Q.lineNumber||we===Q.lineNumber){oe=new wi(de,te);const He={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(E=i.trigger.filter)!=null&&E.include?(w=i.trigger.filter)==null?void 0:w.include:_s.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((A=i.trigger.context)==null?void 0:A.notAvailableMessage)||"",position:oe}},me=new Xi(oe.lineNumber,oe.column,oe.lineNumber,oe.column),Me=await lf(this._registry,e,me,He,Al.None,u);if(Me.validActions.length!==0){for(const Ne of Me.validActions)(T=(I=Ne.action.command)==null?void 0:I.arguments)!=null&&T.some(Ee=>typeof Ee=="string"&&Ee.includes(R8))&&(Ne.action.diagnostics=[...U.filter(Ee=>Ee.relatedInformation)]);M.allActions.length===0&&P.push(...Me.allActions),Math.abs(Q.column-te)<le?re.unshift(...Me.validActions):re.push(...Me.validActions)}le=Math.abs(Q.column-te)}}const ce=re.filter((ge,te,de)=>de.findIndex(we=>we.action.title===ge.action.title)===te);return ce.sort((ge,te)=>ge.action.isPreferred&&!te.action.isPreferred?-1:!ge.action.isPreferred&&te.action.isPreferred||ge.action.isAI&&!te.action.isAI?1:!ge.action.isAI&&te.action.isAI?-1:0),{validActions:ce,allActions:P,documentation:M.documentation,hasAutoFix:M.hasAutoFix,hasAIFix:M.hasAIFix,allAIFixes:M.allAIFixes,dispose:()=>{M.dispose()}}}}if(i.trigger.type===1){const M=new rr,P=await lf(this._registry,e,i.selection,i.trigger,Al.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:P.validActions.length,duration:M.elapsed()}),P}return lf(this._registry,e,i.selection,i.trigger,Al.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new Fd.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:ar.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 tM=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},Ta=function(o,e){return function(t,i){e(t,i,o)}},Qh;const iM="quickfix-edit-highlight";var Wc;let l0=(Wc=class extends Ot{static get(e){return e.getContribution(Qh.ID)}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this._commandService=a,this._configurationService=d,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new Er),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new eM(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new kw(()=>{const p=this._editor.getContribution(ip.ID);return p&&this._register(p.onClick(C=>this.showCodeActionsFromLightbulb(C.actions,C))),p}),this._resolver=n.createInstance(z1),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,Nd.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=nr.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(zT,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:ar.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,d;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){ps(u);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 f=this.tryGetValidActionToApply(e.trigger,t);if(f){try{this.hideLightBulbWidget(),await this._applyCodeAction(f,!1,!1,Nd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=nr.get(this._editor))==null||r.showMessage(g.action.disabled,e.trigger.context.position),t.dispose();return}}}const u=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!u&&!t.validActions.length)){(d=nr.get(this._editor))==null||d.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:u,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=wi.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?Nd.FromAILightbulb:Nd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var C;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const b=new Ss(p);g=[_s.RefactorExtract,_s.RefactorInline,_s.RefactorRewrite,_s.RefactorMove,_s.Source].some(w=>w.contains(b))}return{canPreview:g||!!((C=u.action.edit)!=null&&C.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,C=u.action.diagnostics;if(n.clear(),p&&p.length>0){const b=C&&(C==null?void 0:C.length)>1?C.map(E=>({range:E,options:Qh.DECORATION})):p.map(E=>({range:E,options:Qh.DECORATION}));n.set(b)}else if(C&&C.length>0){const b=C.map(w=>({range:w,options:Qh.DECORATION}));n.set(b);const E=C[0];if(E.startLineNumber&&E.startColumn){const w=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:E.startLineNumber,column:E.startColumn}))==null?void 0:g.word;Zf(S("editingNewSelection","Context: {0} at line {1} and column {2}.",w,E.startLineNumber,E.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,qT(r,this._shouldShowHeaders(),this._resolver.getResolver()),d,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=Uo(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:S("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:S("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Qh=Wc,Wc.ID="editor.contrib.codeActionController",Wc.DECORATION=Tn.register({description:"quickfix-highlight",className:iM}),Wc);l0=Qh=tM([Ta(1,Tw),Ta(2,Gn),Ta(3,gn),Ta(4,Si),Ta(5,Hp),Ta(6,lo),Ta(7,Ds),Ta(8,uh),Ta(9,gn),Ta(10,ka)],l0);K_((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(k3));const i=o.getColor(mA);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Vg(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function sx(o){return Ue.regex(b5.keys()[0],new RegExp("(\\s|^)"+jg(o.value)+"\\b"))}const E9={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:S("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:S("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[S("args.schema.apply.first","Always apply the first returned code action."),S("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),S("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:S("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function hh(o,e,t,i,n=ar.Default){if(o.hasModel()){const s=l0.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class nM extends _t{constructor(){super({id:C9,label:S("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:Ue.and(K.writable,K.hasCodeActionsProvider),kbOpts:{kbExpr:K.textInputFocus,primary:2137,weight:100}})}run(e,t){return hh(t,S("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,ar.QuickFix)}}class sM extends Zo{constructor(){super({id:u5,precondition:Ue.and(K.writable,K.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:E9}]}})}runEditorCommand(e,t,i){const n=Za.fromUser(i,{kind:Ss.Empty,apply:"ifSingle"});return hh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):S("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?S("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):S("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class oM extends _t{constructor(){super({id:f5,label:S("refactor.label","Refactor..."),alias:"Refactor...",precondition:Ue.and(K.writable,K.hasCodeActionsProvider),kbOpts:{kbExpr:K.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Ue.and(K.writable,sx(_s.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:E9}]}})}run(e,t,i){const n=Za.fromUser(i,{kind:_s.Refactor,apply:"never"});return hh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):S("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?S("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):S("editor.action.refactor.noneMessage","No refactorings available"),{include:_s.Refactor.contains(n.kind)?n.kind:Ss.None,onlyIncludePreferredActions:n.preferred},n.apply,ar.Refactor)}}class rM extends _t{constructor(){super({id:g5,label:S("source.label","Source Action..."),alias:"Source Action...",precondition:Ue.and(K.writable,K.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Ue.and(K.writable,sx(_s.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:E9}]}})}run(e,t,i){const n=Za.fromUser(i,{kind:_s.Source,apply:"never"});return hh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?S("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):S("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?S("editor.action.source.noneMessage.preferred","No preferred source actions available"):S("editor.action.source.noneMessage","No source actions available"),{include:_s.Source.contains(n.kind)?n.kind:Ss.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,ar.SourceAction)}}class aM extends _t{constructor(){super({id:O1,label:S("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:Ue.and(K.writable,sx(_s.SourceOrganizeImports)),kbOpts:{kbExpr:K.textInputFocus,primary:1581,weight:100}})}run(e,t){return hh(t,S("editor.action.organize.noneMessage","No organize imports action available"),{include:_s.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",ar.OrganizeImports)}}class lM extends _t{constructor(){super({id:H1,label:S("fixAll.label","Fix All"),alias:"Fix All",precondition:Ue.and(K.writable,sx(_s.SourceFixAll))})}run(e,t){return hh(t,S("fixAll.noneMessage","No fix all action available"),{include:_s.SourceFixAll,includeSourceActions:!0},"ifSingle",ar.FixAll)}}class cM extends _t{constructor(){super({id:h5,label:S("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:Ue.and(K.writable,sx(_s.QuickFix)),kbOpts:{kbExpr:K.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return hh(t,S("editor.action.autoFix.noneMessage","No auto fixes available"),{include:_s.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",ar.AutoFix)}}Sn(l0.ID,l0,3);Sn(ip.ID,ip,4);Te(nM);Te(oM);Te(rM);Te(aM);Te(cM);Te(lM);Ii(new sM);Da.as(Wp.Configuration).registerConfiguration({...Z_,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:S("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Da.as(Wp.Configuration).registerConfiguration({...Z_,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:S("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});Da.as(Wp.Configuration).registerConfiguration({...Z_,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:S("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 U1{constructor(){this.lenses=[],this._disposables=new Nt}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 E5(o,e,t){const i=o.ordered(e),n=new Map,s=new U1,r=i.map(async(a,d)=>{n.set(a,d);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){js(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,d)=>a.symbol.range.startLineNumber<d.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>d.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(d.provider)?-1:n.get(a.provider)>n.get(d.provider)?1:a.symbol.range.startColumn<d.symbol.range.startColumn?-1:a.symbol.range.startColumn>d.symbol.range.startColumn?1:0),s}Cs.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Yn(ds.isUri(t)),Yn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Si),s=o.get(Wo).getModel(t);if(!s)throw Il();const r=[],a=new Nt;return E5(n,s,_n.None).then(d=>{a.add(d);const u=[];for(const f of d.lenses)i==null||f.symbol.command?r.push(f.symbol):i-- >0&&f.provider.resolveCodeLens&&u.push(Promise.resolve(f.provider.resolveCodeLens(s,f.symbol,_n.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var dM=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)}};const y5=Zl("ICodeLensCache");class N8{constructor(e,t){this.lineCount=e,this.data=t}}let q1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new zp(20,.75);const t="codelens/cache";B3(F3,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=to.filter(e.onWillSaveState,r=>r.reason===Mw.SHUTDOWN);to.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 U1;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new N8(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 ee(a,1,a,11)});const r=new U1;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new N8(n.lineCount,r))}}catch{}}};q1=dM([uM(0,ud)],q1);Xl(y5,q1,1);class hM{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 Og=class Og{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Og._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=L3(r.command.title.trim());if(r.command.id){const d=`c${Og._idPool++}`;i.push(pi("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(pi("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(pi("span",void 0," | "))}}n?(Bv(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):Bv(this._domNode,pi("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}};Og._idPool=0;let G1=Og;class gC{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 O8=Tn.register({collapseOnReplaceEdit:!0,description:"codelens"});class H8{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const d=[];this._data.forEach((u,f)=>{u.symbol.command&&d.push(u.symbol),i.addDecoration({range:u.symbol.range,options:O8},g=>this._decorationIds[f]=g),a?a=ee.plusRange(a,u.symbol.range):a=ee.lift(u.symbol.range)}),this._viewZone=new hM(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),d.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(d,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new G1(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&&ee.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:O8},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 fM=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},G0=function(o,e){return function(t,i){e(t,i,o)}},Rf;let np=(Rf=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 Nt,this._localToDispose=new Nt,this._lenses=[],this._oldCodeLensModels=new Nt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new io(()=>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",Rw.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&&Wg(()=>{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 io(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=fo(r=>E5(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()},ps)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(ws(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let d=-1;this._lenses.forEach(f=>{!f.isValid()||d===f.getLineNumber()?a.push(f):(f.update(r),d=f.getLineNumber())});const u=new gC;a.forEach(f=>{f.dispose(u,r),this._lenses.splice(this._lenses.indexOf(f),1)}),u.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(ws(()=>{if(this._editor.getModel()){const n=Xf.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(d=>this._notificationService.error(d));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new gC;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 d=a.symbol.range.startLineNumber;d<1||d>t||(n&&n[n.length-1].symbol.range.startLineNumber===d?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=Xf.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new gC;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,C=this._lenses[f].getLineNumber();C<p?(this._lenses[f].dispose(u,d),this._lenses.splice(f,1)):C===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new H8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,d),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new H8(i[g],this._editor,u,d,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++;u.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 d=a.computeIfNecessary(e);d&&(t.push(d),i.push(a))}),t.length===0)return;const n=Date.now(),s=fo(a=>{const d=t.map((u,f)=>{const g=new Array(u.length),p=u.map((C,b)=>!C.symbol.command&&typeof C.provider.resolveCodeLens=="function"?Promise.resolve(C.provider.resolveCodeLens(e,C.symbol,a)).then(E=>{g[b]=E},js):(g[b]=C.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(d)});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=>{ps(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}},Rf.ID="css.editor.codeLens",Rf);np=fM([G0(1,Si),G0(2,Mr),G0(3,lo),G0(4,Ho),G0(5,y5)],np);Sn(np.ID,np,1);Te(class extends _t{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:K.hasCodeLensProvider,label:S("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(Kl),n=e.get(lo),s=e.get(Ho),r=t.getSelection().positionLineNumber,a=t.getContribution(np.ID);if(!a)return;const d=await a.getModel();if(!d)return;const u=[];for(const p of d.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&u.push({label:p.symbol.command.title,command:p.symbol.command});if(u.length===0)return;const f=await i.pick(u,{canPickMany:!1,placeHolder:S("placeHolder","Select a command")});if(!f)return;let g=f.command;if(d.isDisposed){const p=await a.getModel(),C=p==null?void 0:p.lenses.find(b=>{var E;return b.symbol.range.startLineNumber===r&&((E=b.symbol.command)==null?void 0:E.title)===g.title});if(!C||!C.symbol.command)return;g=C.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var w5=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},K1=function(o,e){return function(t,i){e(t,i,o)}};let sp=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 Fn(new Yf(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?Fn.Format.CSS.formatRGB(a):Fn.Format.CSS.formatRGBA(a),u=r?Fn.Format.CSS.formatHSL(a):Fn.Format.CSS.formatHSLA(a),f=r?Fn.Format.CSS.formatHex(a):Fn.Format.CSS.formatHexA(a),g=[];return g.push({label:d,textEdit:{range:n,text:d}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};sp=w5([K1(0,Yl)],sp);let Z1=class extends Ot{constructor(e,t){super(),this._register(e.colorProvider.register("*",new sp(t)))}};Z1=w5([K1(0,Si),K1(1,Yl)],Z1);S0(Z1);async function S5(o,e,t,i=!0){return y9(new gM,o,e,t,i)}function D5(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class gM{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 pM{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 xM{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,_n.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function y9(o,e,t,i,n){let s=!1,r;const a=[],d=e.ordered(t);for(let u=d.length-1;u>=0;u--){const f=d[u];if(f instanceof sp)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){js(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function A5(o,e){const{colorProvider:t}=o.get(Si),i=o.get(Wo).getModel(e);if(!i)throw Il();const n=o.get(Ds).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Cs.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof ds))throw Il();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=A5(o,t);return y9(new pM,n,i,_n.None,s)});Cs.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof ds)||!Array.isArray(t)||t.length!==4||!ee.isIRange(s))throw Il();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=A5(o,n),[u,f,g,p]=t;return y9(new xM({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,_n.None,d)});var vM=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},pC=function(o,e){return function(t,i){e(t,i,o)}},X1;const k5=Object.create({});var zc;let c0=(zc=class extends Ot{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Nt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new _A(this._editor),this._decoratorLimitReporter=new mM,this._colorDecorationClassRefs=this._register(new Nt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:X1.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),d=s.hasChanged(148);(a||d)&&(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 Op,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=fo(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new rr(!1),n=await S5(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){ps(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:Tn.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:d,alpha:u}=e[s].colorInfo.color,f=new Yf(Math.round(r*255),Math.round(a*255),Math.round(d*255),u),g=`rgba(${f.r}, ${f.g}, ${f.b}, ${f.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:g}));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:pA,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:k5}}})}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(ee.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)}},X1=zc,zc.ID="editor.contrib.colorDetector",zc.RECOMPUTE_TIME=1e3,zc);c0=X1=vM([pC(1,Ds),pC(2,Si),pC(3,Mr)],c0);class mM{constructor(){this._onDidChange=new mn,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}Sn(c0.ID,c0,1);class _M{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 mn,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new mn,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new mn,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 xr=pi;class bM extends Ot{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=xr(".colorpicker-header"),ai(e,this._domNode),this._pickedColorNode=ai(this._domNode,xr(".picked-color")),ai(this._pickedColorNode,xr("span.codicon.codicon-color-mode")),this._pickedColorPresentation=ai(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=S("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=ai(this._domNode,xr(".original-color")),this._originalColorNode.style.backgroundColor=Fn.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(PS)||Fn.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(PS)||Fn.white})),this._register(qn(this._pickedColorNode,Ls.CLICK,()=>this.model.selectNextColorPresentation())),this._register(qn(this._originalColorNode,Ls.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=Fn.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 CM(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Fn.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 CM extends Ot{constructor(e){super(),this._onClicked=this._register(new mn),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),ai(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),ai(this._button,t),ai(t,xr(".button"+Qn.asCSSSelector(Ws("color-picker-close",tn.close,S("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(qn(this._button,Ls.CLICK,()=>{this._onClicked.fire()}))}}class EM extends Ot{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=xr(".colorpicker-body"),ai(e,this._domNode),this._saturationBox=new yM(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 wM(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 SM(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 DM(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 Fn(new Jx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Fn(new Jx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Fn(new Jx(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 yM extends Ot{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new mn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new mn,this.onColorFlushed=this._onColorFlushed.event,this._domNode=xr(".saturation-wrap"),ai(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",ai(this._domNode,this._canvas),this.selection=xr(".saturation-selection"),ai(this._domNode,this.selection),this.layout(),this._register(qn(this._domNode,Ls.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 bA);const t=Uo(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=qn(e.target.ownerDocument,Ls.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 Fn(new Jx(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=Fn.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 B5 extends Ot{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new mn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new mn,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=ai(e,xr(".standalone-strip")),this.overlay=ai(this.domNode,xr(".standalone-overlay"))):(this.domNode=ai(e,xr(".strip")),this.overlay=ai(this.domNode,xr(".overlay"))),this.slider=ai(this.domNode,xr(".slider")),this.slider.style.top="0px",this._register(qn(this.domNode,Ls.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 bA),i=Uo(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=qn(e.target.ownerDocument,Ls.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 wM extends B5{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 Fn(new Yf(t,i,n,1)),r=new Fn(new Yf(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class SM extends B5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class DM extends Ot{constructor(e){super(),this._onClicked=this._register(new mn),this.onClicked=this._onClicked.event,this._button=ai(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(qn(this._button,Ls.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class AM extends Vp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(I3.getInstance($d(e)).onDidChange(()=>this.layout())),this._domNode=xr(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new bM(this._domNode,this.model,n,s)),this.body=this._register(new EM(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class xC{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 dv{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 Ju{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const fh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};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},L5=function(o,e){return function(t,i){e(t,i,o)}};class kM{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 op=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return Ca.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=c0.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 I5(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=P5(this,this._editor,this._themeService,t,e);if(!i)return new Ju([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Ju([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};op=F5([L5(1,oa)],op);class BM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let rp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!c0.get(this._editor))return null;const s=await S5(i,this._editor.getModel(),_n.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;ee.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const d=r??e,u=a??t,f=!!r;return{colorHover:await I5(this,this._editor.getModel(),d,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new ee(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await uv(this._editor.getModel(),t,this._color,i,e),i=T5(this._editor,i,t))}renderHoverParts(e,t){return P5(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};rp=F5([L5(1,oa)],rp);async function I5(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new Yf(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new Fn(u),g=await D5(e,t,i,_n.None),p=new _M(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof op?new kM(o,ee.lift(t.range),p,i):new BM(o,ee.lift(t.range),p,i)}function P5(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new ms(302,p))}const s=new Nt,r=i[0],a=e.getModel(),d=r.model,u=s.add(new AM(n.fragment,d,e.getOption(144),t,o instanceof rp));let f=!1,g=new ee(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof rp){const p=r.model.color;o.color=p,uv(a,d,p,g,r),s.add(d.onColorFlushed(C=>{o.color=C}))}else s.add(d.onColorFlushed(async p=>{await uv(a,d,p,g,r),f=!0,g=T5(e,g,d)}));return s.add(d.onDidChangeColor(p=>{uv(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function T5(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=ee.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function uv(o,e,t,i,n){const s=await D5(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,_n.None);e.colorPresentations=s||[]}const M5="editor.action.showHover",FM="editor.action.showDefinitionPreviewHover",LM="editor.action.scrollUpHover",IM="editor.action.scrollDownHover",PM="editor.action.scrollLeftHover",TM="editor.action.scrollRightHover",MM="editor.action.pageUpHover",RM="editor.action.pageDownHover",NM="editor.action.goToTopHover",OM="editor.action.goToBottomHover",bb="editor.action.increaseHoverVerbosityLevel",HM=S({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Cb="editor.action.decreaseHoverVerbosityLevel",WM=S({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),R5="editor.action.inlineSuggest.commit",N5="editor.action.inlineSuggest.showPrevious",O5="editor.action.inlineSuggest.showNext";var w9=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},Kr=function(o,e){return function(t,i){e(t,i,o)}},hv;let Y1=class extends Ot{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=er(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=os(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.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 wi(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(jp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=wA((u,f)=>{const g=f.add(this.instantiationService.createInstance(d0,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(ws(()=>e.removeContentWidget(g))),f.add(Fs(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==Pl.Explicit&&r.triggerExplicitly()})),g}),d=X_(this,(u,f)=>!!this.position.read(u)||!!f);s.add(Fs(u=>{d.read(u)&&a.read(u)}))}))}};Y1=w9([Kr(2,gn)],Y1);const zM=Ws("inline-suggestion-hints-next",tn.chevronRight,S("parameterHintsNextIcon","Icon for show next parameter hint.")),VM=Ws("inline-suggestion-hints-previous",tn.chevronLeft,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Vc;let d0=(Vc=class extends Ot{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new Qf(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=S({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,d,u,f,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=u,this._contextKeyService=f,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${hv.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Zr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Zr("div@toolBar")]),this.previousAction=this.createCommandAction(N5,S("previous","Previous"),Qn.asClassName(VM)),this.availableSuggestionCountAction=new Qf("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(O5,S("next","Next"),Qn.asClassName(zM)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(si.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new io(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new io(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(Q1,this.nodes.toolBar,si.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,C)=>{if(p instanceof Jf)return d.createInstance($M,p,void 0);if(p===this.availableSuggestionCountAction){const b=new jM(void 0,p,{label:!0,icon:!1});return b.setClass("availableSuggestionCount"),b}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{hv._dropDownVisible=p})),this._register(Fs(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Fs(p=>{const C=this._suggestionCount.read(p),b=this._currentSuggestionIdx.read(p);C!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${b+1}/${C}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),C!==void 0&&C>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Fs(p=>{const b=this._extraCommands.read(p).map(E=>({class:void 0,id:E.id,enabled:!0,tooltip:E.tooltip||"",label:E.title,run:w=>this._commandService.executeCommand(E.id)}));for(const[E,w]of this.inlineCompletionsActionsMenus.getActions())for(const A of w)A instanceof Jf&&b.push(A);b.length>0&&b.unshift(new $g),this.toolBar.setAdditionalSecondaryActions(b)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},hv=Vc,Vc._dropDownVisible=!1,Vc.id=0,Vc);d0=hv=w9([Kr(6,lo),Kr(7,gn),Kr(8,Xs),Kr(9,Gn),Kr(10,ah)],d0);class jM extends JC{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 $M=class extends CA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Zr("div.keybinding").root;this._register(new Fw(t,Lw,{disableTitle:!0,...EA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},Q1=class extends yA{constructor(e,t,i,n,s,r,a,d,u){super(e,{resetMenu:t,...i},n,s,r,a,d,u),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,d,u;const e=[],t=[];Nw(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,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){ol(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){ol(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Q1=w9([Kr(3,ah),Kr(4,Gn),Kr(5,E0),Kr(6,Xs),Kr(7,lo),Kr(8,ka)],Q1);function Eb(o,e,t){const i=Uo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let UM=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class H5 extends Ot{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new mn),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new io(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new io(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new io(()=>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=P3(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){ps(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 UM(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 S9{constructor(){this._onDidWillResize=new mn,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new mn,this.onDidResize=this._onDidResize.event,this._sashListener=new Nt,this._size=new ms(0,0),this._minSize=new ms(0,0),this._maxSize=new ms(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new nf(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new nf(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new nf(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:TS.North}),this._southSash=new nf(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:TS.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(to.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(to.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(to.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(to.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 ms(t,e);ms.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 qM=30,GM=24;class KM extends Ot{constructor(e,t=new ms(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new S9),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=ms.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 ms(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?wi.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Uo(t).top+i.top-qM}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Uo(t),s=$p(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-GM}_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 ZM=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},yx=function(o,e){return function(t,i){e(t,i,o)}},Oa;const W8=30,XM=6;var jc;let J1=(jc=class extends KM{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,d=new ms(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new SA),this._onDidResize=this._register(new mn),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=K.hoverVisible.bindTo(t),this._hoverFocusedKey=K.hoverFocused.bindTo(t),ai(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(f=>{f.hasChanged(50)&&this._updateFont()}));const u=this._register(Kf(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.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 Oa.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 Oa._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return Oa._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){Oa._applyMaxDimensions(this._hover.contentsDomNode,e,t),Oa._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 ms(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){Oa._lastDimensions=new ms(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=XM;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?$p(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=Uo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=z8(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=z8(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,Oa._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,Oa._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=sf(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&&T3(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 ms(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 ms(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 ms(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=sf(e),i=Vr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=sf(e),i=Vr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=sf(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-W8})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+W8})}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})}},Oa=jc,jc.ID="editor.contrib.resizableContentHoverWidget",jc._lastDimensions=new ms(0,0),jc);J1=Oa=ZM([yx(1,Gn),yx(2,Ds),yx(3,Y_),yx(4,Xs)],J1);function z8(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,d=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(d*d+u*u)}class Xv{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,d=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>d)return!1}else if(a>t.range.startColumn||t.range.endColumn>d)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Ca.EMPTY;const i=Xv._getLineDecorations(this._editor,t);return Ca.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Ca.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=Xv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return Nl(t)}}class W5{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 YM(this,this.anchor,t,this.isComplete)}}class YM extends W5{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var QM=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},JM=function(o,e){return function(t,i){e(t,i,o)}};const V8=pi;let Yv=class extends Ot{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=V8("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=ai(this.hoverElement,V8("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(M3.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=ai(this.actionsElement,e);return this._hasContent=!0,t}};Yv=QM([JM(0,Xs)],Yv);class eR{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function tR(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(js);if(!(!s||!iR(s)))return new eR(o,s,e)}function D9(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>tR(a,d,e,t,i));return Ca.fromPromises(r).coalesce()}function z5(o,e,t,i,n=!1){return D9(o,e,t,i,n).map(s=>s.hover).toPromise()}Xo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Si);return z5(i.hoverProvider,e,t,_n.None)});Xo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Si);return z5(i.hoverProvider,e,t,_n.None,!0)});function iR(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}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},Ed=function(o,e){return function(t,i){e(t,i,o)}};const cf=pi,sR=Ws("hover-increase-verbosity",tn.add,S("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),oR=Ws("hover-decrease-verbosity",tn.remove,S("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Yr{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 V5{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Ir.Increase:return this.hover.canIncreaseVerbosity??!1;case Ir.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let ap=class{constructor(e,t,i,n,s,r,a,d){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=d,this.hoverOrdinal=3}createLoadingMessage(e){return new Yr(this,e.range,[new Fo().appendText(S("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 d=i.getLineLength(n),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),f=this._editor.getOption(118),g=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let p=!1;f>=0&&d>f&&e.range.startColumn>=f&&(p=!0,r.push(new Yr(this,e.range,[{value:S("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&d>=g&&r.push(new Yr(this,e.range,[{value:S("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let C=!1;for(const b of t){const E=b.range.startLineNumber===n?b.range.startColumn:1,w=b.range.endLineNumber===n?b.range.endColumn:s,A=b.options.hoverMessage;if(!A||Ug(A))continue;b.options.beforeContentClassName&&(C=!0);const I=new ee(e.range.startLineNumber,E,e.range.startLineNumber,w);r.push(new Yr(this,I,DA(A),C,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Ca.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Ca.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return D9(e,t,s,n).filter(d=>!Ug(d.hover.contents)).map(d=>{const u=d.hover.range?ee.lift(d.hover.range):i.range,f=new V5(d.hover,d.provider,s);return new Yr(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new rR(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))}};ap=nR([Ed(1,Ba),Ed(2,Aa),Ed(3,Ds),Ed(4,Si),Ed(5,Xs),Ed(6,Up),Ed(7,lo)],ap);class wx{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class rR{constructor(e,t,i,n,s,r,a,d,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=d,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new Nt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(ws(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(qp(n=>n.ordinal,Q_)),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 Nt;if(r.add(i),!s)return new wx(e,n,r);const a=s.supportsVerbosityAction(Ir.Increase),d=s.supportsVerbosityAction(Ir.Decrease);if(!a&&!d)return new wx(e,n,r);const u=cf("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,Ir.Increase,a)),r.add(this._renderHoverExpansionAction(u,Ir.Decrease,d)),new wx(e,n,r)}_renderMarkdownHover(e,t){return j5(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Nt,s=t===Ir.Increase,r=ai(e,cf(Qn.asCSSSelector(s?sR:oR)));r.tabIndex=0;const a=new R3("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,lR(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===Ir.Increase?bb:Cb);return n.add(new N3(r,d)),n.add(new O3(r,d,[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 d=new V5(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Yr(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,d),g=this._renderHoverPart(f,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,g,f),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:f,hoverElement:g.hoverElement}}async _fetchHover(e,t,i){let n=i===Ir.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new go;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const d={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,d))}catch(f){js(f)}return a.dispose(),this._ongoingHoverOperations.delete(s),u}_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 d=new wx(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=d}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function aR(o,e,t,i,n){e.sort(qp(r=>r.ordinal,Q_));const s=[];for(const r of e)s.push(j5(t,r,i,n,o.onContentsChanged));return new Ju(s)}function j5(o,e,t,i,n){const s=new Nt,r=cf("div.hover-row"),a=cf("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(Ug(f))continue;const g=cf("div.markdown-hover"),p=ai(g,cf("div.hover-contents")),C=s.add(new D0({editor:o},t,i));s.add(C.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const b=s.add(C.render(f));p.appendChild(b.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function lR(o,e){switch(e){case Ir.Increase:{const t=o.lookupKeybinding(bb);return t?S("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):S("increaseVerbosity","Increase Hover Verbosity")}case Ir.Decrease:{const t=o.lookupKeybinding(Cb);return t?S("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):S("decreaseVerbosity","Decrease Hover Verbosity")}}}function eE(o,e){return!!o[e]}class vC{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=eE(e.event,t.triggerModifier),this.hasSideBySideModifier=eE(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class j8{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=eE(e,t.triggerModifier)}}class Sx{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 $8(o){return o==="altKey"?rl?new Sx(57,"metaKey",6,"altKey"):new Sx(5,"ctrlKey",6,"altKey"):rl?new Sx(6,"altKey",57,"metaKey"):new Sx(6,"altKey",5,"ctrlKey")}class yb extends Ot{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new mn),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new mn),this.onExecute=this._onExecute.event,this._onCancel=this._register(new mn),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=$8(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=$8(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 vC(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new vC(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new vC(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new j8(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new j8(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 $5{constructor(e,t){this.range=e,this.direction=t}}class A9{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new A9(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){js(t),this._isResolved=!1}}}const mf=class mf{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async d=>{try{const u=await a.provideInlayHints(t,d,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??mf._emptyInlayHintList,a])}catch(u){js(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new q_;return new mf(i,s,t)}constructor(e,t,i){this._disposables=new Nt,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 d=i.validatePosition(a.position);let u="before";const f=mf._getRangeAtPosition(i,d);let g;f.getStartPosition().isBefore(d)?(g=ee.fromPositions(f.getStartPosition(),d),u="after"):(g=ee.fromPositions(d,f.getEndPosition()),u="before"),n.push(new A9(a,new $5(g,u),r))}}this.items=n.sort((s,r)=>wi.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 ee(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 d=s.getStartOffset(a),u=s.getEndOffset(a);return u-d===1&&(d===r&&a>1?(d=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(d=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new ee(i,d+1,i,u+1)}};mf._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Qv=mf;function cR(o){return ds.from({scheme:jo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var dR=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},pl=function(o,e){return function(t,i){e(t,i,o)}};let sa=class extends H3{constructor(e,t,i,n,s,r,a,d,u,f,g,p,C){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,d,u,f,g,p,C),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(b=>this._onParentConfigurationChanged(b)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Ow(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};sa=dR([pl(4,gn),pl(5,$s),pl(6,lo),pl(7,Gn),pl(8,oa),pl(9,Ho),pl(10,Y_),pl(11,co),pl(12,Si)],sa);const U8=new Fn(new Yf(0,122,204)),uR={showArrow:!0,showFrame:!0,className:"",frameColor:U8,arrowColor:U8,keepEditorSelection:!1},hR="vs.editor.contrib.zoneWidget";class fR{constructor(e,t,i,n,s,r,a,d){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=d,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class gR{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const s_=class s_{constructor(e){this._editor=e,this._ruleName=s_._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),MS(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(){MS(this._ruleName),V3(`.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:ee.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};s_._IdGenerator=new z3(".arrow-decoration-");let tE=s_;class pR{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Nt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=W3(t),Ow(this.options,uR,!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 tE(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=ee.isIRange(e)?ee.lift(e):ee.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Tn.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 d=0,u=0;if(this._arrow&&this.options.showArrow&&(d=Math.round(a/3),this._arrow.height=d,this._arrow.show(i)),this.options.showFrame&&(u=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 fR(r,i.lineNumber,i.column,t,C=>this._onViewZoneTop(C),C=>this._onViewZoneHeight(C),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new gR(hR+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const f=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=d+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,s),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new ee(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===g.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 nf(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 U5=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},q5=function(o,e){return function(t,i){e(t,i,o)}};const G5=Zl("IPeekViewService");Xl(G5,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 qo;(function(o){o.inPeekEditor=new Nn("inReferenceSearchEditor",!0,S("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(qo||(qo={}));var Nf;let Jv=(Nf=class{constructor(e,t){e instanceof sa&&qo.inPeekEditor.bindTo(t)}dispose(){}},Nf.ID="editor.contrib.referenceController",Nf);Jv=U5([q5(1,Gn)],Jv);Sn(Jv.ID,Jv,0);function xR(o){const e=o.get($s).getFocusedCodeEditor();return e instanceof sa?e.getParentEditor():e}const vR={headerBackgroundColor:Fn.white,primaryHeadingColor:Fn.fromHex("#333333"),secondaryHeadingColor:Fn.fromHex("#6c6c6cb3")};let em=class extends pR{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new mn,this.onDidClose=this._onDidClose.event,Ow(this.options,vR,!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=pi(".head"),this._bodyElement=pi(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=pi(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Hl(this._titleElement,"click",s=>this._onTitleClick(s))),ai(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=pi("span.filename"),this._secondaryHeading=pi("span.dirname"),this._metaHeading=pi("span.meta"),ai(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=pi(".peekview-actions");ai(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new zg(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Qf("peekview.close",S("label.close","Close"),Qn.asClassName(tn.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:j3.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:il(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Xr(this._metaHeading)):gr(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`)}};em=U5([q5(2,gn)],em);const mR=xi("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Fn.black,hcLight:Fn.white},S("peekViewTitleBackground","Background color of the peek view title area.")),K5=xi("peekViewTitleLabel.foreground",{dark:Fn.white,light:Fn.black,hcDark:Fn.white,hcLight:Gp},S("peekViewTitleForeground","Color of the peek view title.")),Z5=xi("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},S("peekViewTitleInfoForeground","Color of the peek view title info.")),_R=xi("peekView.border",{dark:e1,light:e1,hcDark:Ol,hcLight:Ol},S("peekViewBorder","Color of the peek view borders and arrow.")),bR=xi("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Fn.black,hcLight:Fn.white},S("peekViewResultsBackground","Background color of the peek view result list."));xi("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Fn.white,hcLight:Gp},S("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));xi("peekViewResult.fileForeground",{dark:Fn.white,light:"#1E1E1E",hcDark:Fn.white,hcLight:Gp},S("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));xi("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},S("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));xi("peekViewResult.selectionForeground",{dark:Fn.white,light:"#6C6C6C",hcDark:Fn.white,hcLight:Gp},S("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const X5=xi("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Fn.black,hcLight:Fn.white},S("peekViewEditorBackground","Background color of the peek view editor."));xi("peekViewEditorGutter.background",X5,S("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));xi("peekViewEditorStickyScroll.background",X5,S("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));xi("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},S("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));xi("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},S("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));xi("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:zu,hcLight:zu},S("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class rd{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=$3.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?S({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,al(this.uri),this.range.startLineNumber,this.range.startColumn):S("aria.oneReference","in {0} on line {1} at column {2}",al(this.uri),this.range.startLineNumber,this.range.startColumn)}}class CR{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,d=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new ee(n,d.startColumn,n,s),f=new ee(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),C=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+C,highlight:{start:g.length,end:g.length+p.length}}}}class lp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new td}dispose(){Po(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?S("aria.fileReferences.1","1 symbol in {0}, full path {1}",al(this.uri),this.uri.fsPath):S("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,al(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 CR(i))}catch(i){ps(i)}return this}}class sr{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new mn,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(sr._compareReferences);let n;for(const s of e)if((!n||!RS.isEqual(n.uri,s.uri,!0))&&(n=new lp(this,s.uri),this.groups.push(n)),n.children.length===0||sr._compareReferences(s,n.children[n.children.length-1])!==0){const r=new rd(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Po(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new sr(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?S("aria.result.0","No results found"):this.references.length===1?S("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?S("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):S("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:Kp(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()&&ee.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 RS.compare(e.uri,t.uri)||ee.compareRangesUsingStarts(e.range,t.range)}}var wb=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},Sb=function(o,e){return function(t,i){e(t,i,o)}},iE;let nE=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof sr||e instanceof lp}getChildren(e){if(e instanceof sr)return e.groups;if(e instanceof lp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};nE=wb([Sb(0,Fa)],nE);class ER{getHeight(){return 23}getTemplateId(e){return e instanceof lp?tm.id:im.id}}let sE=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof rd){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return al(e.uri)}};sE=wb([Sb(0,Xs)],sE);class yR{getId(e){return e instanceof rd?e.id:e.uri}}let oE=class extends Ot{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new AA(i,{supportHighlights:!0})),this.badge=new U3(ai(i,pi(".count")),{},q3),e.appendChild(i)}set(e,t){const i=Hw(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(S("referencesCount","{0} references",n)):this.badge.setTitleFormat(S("referenceCount","{0} reference",n))}};oE=wb([Sb(1,qg)],oE);var su;let tm=(su=class{constructor(e){this._instantiationService=e,this.templateId=iE.id}renderTemplate(e){return this._instantiationService.createInstance(oE,e)}renderElement(e,t,i){i.set(e.element,J_(e.filterData))}disposeTemplate(e){e.dispose()}},iE=su,su.id="FileReferencesRenderer",su);tm=iE=wb([Sb(0,gn)],tm);class wR extends Ot{constructor(e){super(),this.label=this._register(new G3(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(`${al(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Gg.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,J_(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const o_=class o_{constructor(){this.templateId=o_.id}renderTemplate(e){return new wR(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};o_.id="OneReferenceRenderer";let im=o_;class SR{getWidgetAriaLabel(){return S("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var DR=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},Rh=function(o,e){return function(t,i){e(t,i,o)}};const r_=class r_{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Nt,this._callOnModelChange=new Nt,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:r_.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(!ee.equalsRange(s,n.range)){if(ee.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,d=s.endColumn-s.startColumn;a!==d&&(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()}};r_.DecorationOptions=Tn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let rE=r_;class AR{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 kR extends X3{}let aE=class extends em{constructor(e,t,i,n,s,r,a,d,u){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=d,this._keybindingService=u,this._disposeOnNewModel=new Nt,this._callOnDispose=new Nt,this._onDidSelectReference=new mn,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new ms(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(),Po(this._preview),Po(this._previewNotAvailableMessage),Po(this._tree),Po(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(_R)||Fn.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(mR)||Fn.transparent,primaryHeadingColor:e.getColor(K5),secondaryHeadingColor:e.getColor(Z5)})}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=ai(e,pi("div.messages")),gr(this._messageContainer),this._splitView=new K3(e,{orientation:1}),this._previewContainer=ai(e,pi("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(sa,this._previewContainer,t,{},this.editor),gr(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(kc,S("missingPreviewMessage","no preview available"),Kg,kc.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=ai(e,pi("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new SR,keyboardNavigationLabelProvider:this._instantiationService.createInstance(sE),identityProvider:new yR,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:bR}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Hl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(kR,"ReferencesWidget",this._treeContainer,new ER,[this._instantiationService.createInstance(tm),this._instantiationService.createInstance(im)],this._instantiationService.createInstance(nE),i),this._splitView.addView({onDidChange:to.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},NS.Distribute),this._splitView.addView({onDidChange:to.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)}},NS.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 rd&&(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")})),gr(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new ms(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=S("noResults","No results"),Xr(this._messageContainer),Promise.resolve(void 0)):(gr(this._messageContainer),this._decorationsManager=new rE(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"),Xr(this._treeContainer),Xr(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 rd)return e;if(e instanceof lp&&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!==jo.inMemory?this.setTitle(Z3(e.uri),this._uriLabel.getUriLabel(Hw(e.uri))):this.setTitle(S("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}Po(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=ee.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()}};aE=DR([Rh(3,oa),Rh(4,Fa),Rh(5,gn),Rh(6,G5),Rh(7,qg),Rh(8,Xs)],aE);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},Nh=function(o,e){return function(t,i){e(t,i,o)}},fv;const gh=new Nn("referenceSearchVisible",!1,S("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var ou;let eh=(ou=class{static get(e){return e.getContribution(fv.ID)}constructor(e,t,i,n,s,r,a,d){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=d,this._disposables=new Nt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=gh.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=AR.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(aE,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(S("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(d=>{const{element:u,kind:f}=d;if(u)switch(f){case"open":(d.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(d=>{var u;if(a!==this._requestIdPool||!this._widget){d.dispose();return}return(u=this._model)==null||u.dispose(),this._model=d,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(S("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new wi(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},d=>{this._notificationService.error(d)})}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=ee.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=fv.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,fo(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,ps(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)}},fv=ou,ou.ID="editor.contrib.referencesController",ou);eh=fv=BR([Nh(2,Gn),Nh(3,$s),Nh(4,Ho),Nh(5,gn),Nh(6,ud),Nh(7,Ds)],eh);function ph(o,e){const t=xR(o);if(!t)return;const i=eh.get(t);i&&e(i)}dl.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Zs(2089,60),when:Ue.or(gh,qo.inPeekEditor),handler(o){ph(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});dl.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Ue.or(gh,qo.inPeekEditor),handler(o){ph(o,e=>{e.goToNextOrPreviousReference(!0)})}});dl.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Ue.or(gh,qo.inPeekEditor),handler(o){ph(o,e=>{e.goToNextOrPreviousReference(!1)})}});Cs.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Cs.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Cs.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Cs.registerCommand("closeReferenceSearch",o=>ph(o,e=>e.closeWidget()));dl.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Ue.and(qo.inPeekEditor,Ue.not("config.editor.stablePeek"))});dl.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Ue.and(gh,Ue.not("config.editor.stablePeek"),Ue.or(K.editorTextFocus,Y3.negate()))});dl.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Ue.and(gh,kA,BA.negate(),FA.negate()),handler(o){var i;const t=(i=o.get(Ww).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof rd&&ph(o,n=>n.revealReference(t[0]))}});dl.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Ue.and(gh,kA,BA.negate(),FA.negate()),handler(o){var i;const t=(i=o.get(Ww).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof rd&&ph(o,n=>n.openReference(t[0],!0,!0))}});Cs.registerCommand("openReference",o=>{var i;const t=(i=o.get(Ww).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof rd&&ph(o,n=>n.openReference(t[0],!1,!0))});var Y5=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},rg=function(o,e){return function(t,i){e(t,i,o)}};const k9=new Nn("hasSymbols",!1,S("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Db=Zl("ISymbolNavigationService");let lE=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=k9.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 cE(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),d=r.getPosition();if(!a||!d)return;let u=!1,f=!1;for(const g of t.references)if(kv(g.uri,a.uri))u=!0,f=f||ee.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=LA(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:ee.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?S("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):S("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};lE=Y5([rg(0,Gn),rg(1,$s),rg(2,Ho),rg(3,Xs)],lE);Xl(Db,lE,1);Ii(new class extends Zo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:k9,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Db).revealNext(e)}});dl.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:k9,primary:9,handler(o){o.get(Db).reset()}});let cE=class{constructor(e){this._listener=new Map,this._disposables=new Nt,this._onDidChange=new mn,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(),Po(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,LA(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)}};cE=Y5([rg(0,$s)],cE);function dE(o,e){return e.uri.scheme===o.uri.scheme?!0:!Q3(e.uri,jo.walkThroughSnippet,jo.vscodeChatCodeBlock,jo.vscodeChatCodeCompareBlock)}async function ox(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{js(u)})),a=await Promise.all(r);return Nl(a.flat()).filter(d=>dE(o,d))}function rx(o,e,t,i,n){return ox(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function B9(o,e,t,i,n){return ox(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function F9(o,e,t,i,n){return ox(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function L9(o,e,t,i,n){return ox(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function ax(o,e,t,i,n,s){return ox(e,t,o,n,async(r,a,d)=>{var g,p;const u=(g=await r.provideReferences(a,d,{includeDeclaration:!0},s))==null?void 0:g.filter(C=>dE(a,C));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,d,{includeDeclaration:!1},s))==null?void 0:p.filter(C=>dE(a,C));return f&&f.length===1?f:u})}async function ul(o){const e=await o(),t=new sr(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Xo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Si),n=rx(i.definitionProvider,e,t,!1,_n.None);return ul(()=>n)});Xo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Si),n=rx(i.definitionProvider,e,t,!0,_n.None);return ul(()=>n)});Xo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Si),n=L9(i.typeDefinitionProvider,e,t,!1,_n.None);return ul(()=>n)});Xo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Si),n=L9(i.typeDefinitionProvider,e,t,!0,_n.None);return ul(()=>n)});Xo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Si),n=B9(i.declarationProvider,e,t,!1,_n.None);return ul(()=>n)});Xo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Si),n=B9(i.declarationProvider,e,t,!0,_n.None);return ul(()=>n)});Xo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Si),n=ax(i.referenceProvider,e,t,!1,!1,_n.None);return ul(()=>n)});Xo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Si),n=ax(i.referenceProvider,e,t,!1,!0,_n.None);return ul(()=>n)});Xo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Si),n=F9(i.implementationProvider,e,t,!1,_n.None);return ul(()=>n)});Xo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Si),n=F9(i.implementationProvider,e,t,!0,_n.None);return ul(()=>n)});ta.appendMenuItem(si.EditorContext,{submenu:si.EditorContextPeek,title:S("peek.submenu","Peek"),group:"navigation",order:100});class u0{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof u0||wi.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Wr=class Wr extends Sa{static all(){return Wr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Ll.wrap(t.menu))(i.id===si.EditorContext||i.id===si.EditorContextPeek)&&(i.when=Ue.and(e.precondition,i.when));return t}constructor(e,t){super(Wr._patchConfig(t)),this.configuration=e,Wr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(Ho),r=e.get($s),a=e.get(Hp),d=e.get(Db),u=e.get(Si),f=e.get(gn),g=t.getModel(),p=t.getPosition(),C=u0.is(i)?i:new u0(g,p),b=new Gf(t,5),E=Np(this._getLocationModel(u,C.model,C.position,b.token),b.token).then(async w=>{var T;if(!w||b.token.isCancellationRequested)return;ia(w.ariaMessage);let A;if(w.referenceAt(g.uri,p)){const M=this._getAlternativeCommand(t);!Wr._activeAlternativeCommands.has(M)&&Wr._allSymbolNavigationCommands.has(M)&&(A=Wr._allSymbolNavigationCommands.get(M))}const I=w.references.length;if(I===0){if(!this.configuration.muteMessage){const M=g.getWordAtPosition(p);(T=nr.get(t))==null||T.showMessage(this._getNoResultFoundMessage(M),p)}}else if(I===1&&A)Wr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(M=>A.runEditorCommand(M,t,i,n).finally(()=>{Wr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,w,n)},w=>{s.error(w)}).finally(()=>{b.dispose()});return a.showWhile(E,250),E}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof sa)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),d=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!d);d&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(J3(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:ee.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const d=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===d&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=eh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),fo(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Wr._allSymbolNavigationCommands=new Map,Wr._activeAlternativeCommands=new Set;let $l=Wr;class lx extends $l{async _getLocationModel(e,t,i,n){return new sr(await rx(e.definitionProvider,t,i,!1,n),S("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("noResultWord","No definition found for '{0}'",e.word):S("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var $c;as(($c=class extends lx{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:$c.id,title:{...Ei("actions.goToDecl.label","Go to Definition"),mnemonicTitle:S({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:K.hasDefinitionProvider,keybinding:[{when:K.editorTextFocus,primary:70,weight:100},{when:Ue.and(K.editorTextFocus,IA),primary:2118,weight:100}],menu:[{id:si.EditorContext,group:"navigation",order:1.1},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Cs.registerCommandAlias("editor.action.goToDeclaration",$c.id)}},$c.id="editor.action.revealDefinition",$c));var Uc;as((Uc=class extends lx{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Uc.id,title:Ei("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:Ue.and(K.hasDefinitionProvider,K.isInEmbeddedEditor.toNegated()),keybinding:[{when:K.editorTextFocus,primary:Zs(2089,70),weight:100},{when:Ue.and(K.editorTextFocus,IA),primary:Zs(2089,2118),weight:100}]}),Cs.registerCommandAlias("editor.action.openDeclarationToTheSide",Uc.id)}},Uc.id="editor.action.revealDefinitionAside",Uc));var qc;as((qc=class extends lx{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:qc.id,title:Ei("actions.previewDecl.label","Peek Definition"),precondition:Ue.and(K.hasDefinitionProvider,qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated()),keybinding:{when:K.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:si.EditorContextPeek,group:"peek",order:2}}),Cs.registerCommandAlias("editor.action.previewDeclaration",qc.id)}},qc.id="editor.action.peekDefinition",qc));class Q5 extends $l{async _getLocationModel(e,t,i,n){return new sr(await B9(e.declarationProvider,t,i,!1,n),S("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var ru;as((ru=class extends Q5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:ru.id,title:{...Ei("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:S({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:Ue.and(K.hasDeclarationProvider,K.isInEmbeddedEditor.toNegated()),menu:[{id:si.EditorContext,group:"navigation",order:1.3},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?S("decl.noResultWord","No declaration found for '{0}'",e.word):S("decl.generic.noResults","No declaration found")}},ru.id="editor.action.revealDeclaration",ru));as(class extends Q5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Ei("actions.peekDecl.label","Peek Declaration"),precondition:Ue.and(K.hasDeclarationProvider,qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated()),menu:{id:si.EditorContextPeek,group:"peek",order:3}})}});class J5 extends $l{async _getLocationModel(e,t,i,n){return new sr(await L9(e.typeDefinitionProvider,t,i,!1,n),S("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):S("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var au;as((au=class extends J5{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:au.ID,title:{...Ei("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:S({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:K.hasTypeDefinitionProvider,keybinding:{when:K.editorTextFocus,primary:0,weight:100},menu:[{id:si.EditorContext,group:"navigation",order:1.4},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},au.ID="editor.action.goToTypeDefinition",au));var lu;as((lu=class extends J5{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:lu.ID,title:Ei("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:Ue.and(K.hasTypeDefinitionProvider,qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated()),menu:{id:si.EditorContextPeek,group:"peek",order:4}})}},lu.ID="editor.action.peekTypeDefinition",lu));class eB extends $l{async _getLocationModel(e,t,i,n){return new sr(await F9(e.implementationProvider,t,i,!1,n),S("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?S("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):S("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var cu;as((cu=class extends eB{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:cu.ID,title:{...Ei("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:S({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:K.hasImplementationProvider,keybinding:{when:K.editorTextFocus,primary:2118,weight:100},menu:[{id:si.EditorContext,group:"navigation",order:1.45},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},cu.ID="editor.action.goToImplementation",cu));var du;as((du=class extends eB{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:du.ID,title:Ei("actions.peekImplementation.label","Peek Implementations"),precondition:Ue.and(K.hasImplementationProvider,qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated()),keybinding:{when:K.editorTextFocus,primary:3142,weight:100},menu:{id:si.EditorContextPeek,group:"peek",order:5}})}},du.ID="editor.action.peekImplementation",du));class tB extends $l{_getNoResultFoundMessage(e){return e?S("references.no","No references found for '{0}'",e.word):S("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}as(class extends tB{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Ei("goToReferences.label","Go to References"),mnemonicTitle:S({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:Ue.and(K.hasReferenceProvider,qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated()),keybinding:{when:K.editorTextFocus,primary:1094,weight:100},menu:[{id:si.EditorContext,group:"navigation",order:1.45},{id:si.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new sr(await ax(e.referenceProvider,t,i,!0,!1,n),S("ref.title","References"))}});as(class extends tB{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Ei("references.action.label","Peek References"),precondition:Ue.and(K.hasReferenceProvider,qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated()),menu:{id:si.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new sr(await ax(e.referenceProvider,t,i,!1,!1,n),S("ref.title","References"))}});class FR extends $l{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Ei("label.generic","Go to Any Symbol"),precondition:Ue.and(qo.notInPeekEditor,K.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new sr(this._references,S("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&S("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Cs.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:ds},{name:"position",description:"The position at which to start",constraint:wi.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)=>{Yn(ds.isUri(e)),Yn(wi.isIPosition(t)),Yn(Array.isArray(i)),Yn(typeof n>"u"||typeof n=="string"),Yn(typeof r>"u"||typeof r=="boolean");const a=o.get($s),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(PA(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends FR{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(gn).invokeFunction(f.run.bind(f),d)})}});Cs.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:ds},{name:"position",description:"The position at which to start",constraint:wi.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(lo).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Cs.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Yn(ds.isUri(e)),Yn(wi.isIPosition(t));const i=o.get(Si),n=o.get($s);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!PA(s)||!s.hasModel())return;const r=eh.get(s);if(!r)return;const a=fo(u=>ax(i.referenceProvider,s.getModel(),wi.lift(t),!1,!1,u).then(f=>new sr(f,S("ref.title","References")))),d=new ee(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});Cs.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function LR(o,e,t,i){const n=o.get(Fa),s=o.get(E0),r=o.get(lo),a=o.get(gn),d=o.get(Ho);if(await i.item.resolve(_n.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(ta.getMenuItems(si.EditorContext).map(C=>e4(C)?C.command.id:mb()));for(const C of $l.all())g.has(C.desc.id)&&f.push(new Qf(C.desc.id,Jf.label(C.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const b=await n.createModelReference(u.uri);try{const E=new u0(b.object.textEditorModel,ee.getStartPosition(u.range)),w=i.item.anchor.range;await a.invokeFunction(C.runEditorCommand.bind(C),e,E,w)}finally{b.dispose()}}));if(i.part.command){const{command:C}=i.part;f.push(new $g),f.push(new Qf(C.id,C.title,void 0,!0,async()=>{try{await r.executeCommand(C.id,...C.arguments??[])}catch(b){d.notify({severity:zw.Error,source:i.item.provider.displayName,message:b})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const C=Uo(t);return{x:C.left,y:C.top+C.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function iB(o,e,t,i){const s=await o.get(Fa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(Gn),u=qo.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new lx({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new u0(s.object.textEditorModel,ee.getStartPosition(i.range)),ee.lift(i.range))}),s.dispose()}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},Oh=function(o,e){return function(t,i){e(t,i,o)}},Jh;class nm{constructor(){this._entries=new zp(50)}get(e){const t=nm._key(e);return this._entries.get(t)}set(e,t){const i=nm._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const nB=Zl("IInlayHintsCache");Xl(nB,nm,1);class uE{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 PR{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Fl;let cp=(Fl=class{static get(e){return e.getContribution(Jh.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 Nt,this._sessionDisposables=new Nt,this._decorationsMetadata=new Map,this._ruleFactory=new _A(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(d=>{d.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,d;e.enabled==="onUnlessPressed"?(a=0,d=1):(a=1,d=0),this._activeRenderMode=a,this._sessionDisposables.add(t4.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?d:a;if(f!==this._activeRenderMode){this._activeRenderMode=f;const g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(ws(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new io(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new go;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Qv.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(r.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){f.dispose();return}for(const g of f.provider)typeof g.onDidChangeInlayHints=="function"&&!s.has(g)&&(s.add(g),this._sessionDisposables.add(g.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(f),this._updateHintsDecorators(f.ranges,f.items),this._cacheHintsForFastRestore(t)}catch(u){ps(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(ws(()=>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 d=Math.max(r.delay,1250);r.schedule(d)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new Nt,t=e.add(new yb(this._editor)),i=new Nt;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 d=new go;i.add(ws(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new PR(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new ee(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(ws(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([f],g)}))})),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(iB,n,this._editor,r.location):i4.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(_n.None),_r(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Is.replace(ee.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!n4(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(LR,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 Vw&&(t==null?void 0:t.attachedData)instanceof uE)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:zw.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 $5(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(ee.compareRangesUsingStarts)){const r=t.validateRange(new ee(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!ee.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=ee.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var b,E;const i=[],n=(w,A,I,T,M)=>{const P={content:I,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:A.className,cursorStops:T,attachedData:M};i.push({item:w,classNameRef:A,decoration:{range:w.anchor.range,options:{description:"InlayHint",showIfCollapsed:w.anchor.range.isEmpty(),collapseOnReplaceEdit:!w.anchor.range.isEmpty(),stickiness:0,[w.anchor.direction]:this._activeRenderMode===0?P:void 0}}})},s=(w,A)=>{const I=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(w,I," ",A?of.Right:of.None)},{fontSize:r,fontFamily:a,padding:d,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const w of t){if(g.line!==w.anchor.range.startLineNumber&&(g={line:w.anchor.range.startLineNumber,totalLen:0}),g.totalLen>Jh._MAX_LABEL_LEN)continue;w.hint.paddingLeft&&s(w,!1);const A=typeof w.hint.label=="string"?[{label:w.hint.label}]:w.hint.label;for(let I=0;I<A.length;I++){const T=A[I],M=I===0,P=I===A.length-1,j={fontSize:`${r}px`,fontFamily:`var(${f}), ${Rw.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};_r(w.hint.textEdits)&&(j.cursor="default"),this._fillInColors(j,w.hint),(T.command||T.location)&&((b=this._activeInlayHintPart)==null?void 0:b.part.item)===w&&this._activeInlayHintPart.part.index===I&&(j.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(j.color=Qs(s4),j.cursor="pointer")),d&&(M&&P?(j.padding=`1px ${Math.max(1,r/4)|0}px`,j.borderRadius=`${r/4|0}px`):M?(j.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,j.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):P?(j.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,j.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):j.padding="1px 0 1px 0");let U=T.label;g.totalLen+=U.length;let Q=!1;const oe=g.totalLen-Jh._MAX_LABEL_LEN;if(oe>0&&(U=U.slice(0,-oe)+"…",Q=!0),n(w,this._ruleFactory.createClassNameRef(j),TR(U),P&&!w.hint.paddingRight?of.Right:of.None,new uE(w,I)),Q)break}if(w.hint.paddingRight&&s(w,!0),i.length>Jh._MAX_DECORATORS)break}const p=[];for(const[w,A]of this._decorationsMetadata){const I=(E=this._editor.getModel())==null?void 0:E.getDecorationRange(w);I&&e.some(T=>T.containsRange(I))&&(p.push(w),A.classNameRef.dispose(),this._decorationsMetadata.delete(w))}const C=Xf.capture(this._editor);this._editor.changeDecorations(w=>{const A=w.deltaDecorations(p,i.map(I=>I.decoration));for(let I=0;I<A.length;I++){const T=i[I];this._decorationsMetadata.set(A[I],T)}}),C.restore(this._editor)}_fillInColors(e,t){t.kind===OS.Parameter?(e.backgroundColor=Qs(o4),e.color=Qs(r4)):t.kind===OS.Type?(e.backgroundColor=Qs(a4),e.color=Qs(l4)):(e.backgroundColor=Qs(c4),e.color=Qs(d4))}_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()}},Jh=Fl,Fl.ID="editor.contrib.InlayHints",Fl._MAX_DECORATORS=1500,Fl._MAX_LABEL_LEN=43,Fl);cp=Jh=IR([Oh(1,Si),Oh(2,Mr),Oh(3,nB),Oh(4,lo),Oh(5,Ho),Oh(6,gn)],cp);function TR(o){return o.replace(/[ \t]/g," ")}Cs.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Yn(ds.isUri(t)),Yn(ee.isIRange(i));const{inlayHintsProvider:n}=o.get(Si),s=await o.get(Fa).createModelReference(t);try{const r=await Qv.create(n,s.object.textEditorModel,[ee.lift(i)],_n.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var MR=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},fc=function(o,e){return function(t,i){e(t,i,o)}};class q8 extends dv{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let sm=class extends ap{constructor(e,t,i,n,s,r,a,d,u){super(e,t,i,r,d,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!cp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof Vw&&i.attachedData instanceof uE?new q8(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof q8?new Ca(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 Fo().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Yr(this,e.range,[r],!1,0)),_r(s.item.hint.textEdits)&&n.emitOne(new Yr(this,e.range,[new Fo().appendText(S("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Fo().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Yr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?rl?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):rl?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new Fo().appendText(S("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new Fo().appendText(S("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new Fo(`[${S("hint.cmd","Execute Command")}](${cR(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Yr(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):Ca.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Ca.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)?D9(this._languageFeaturesService.hoverProvider,r,new wi(n.startLineNumber,n.startColumn),t).filter(a=>!Ug(a.hover.contents)).map(a=>new Yr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Ca.EMPTY}finally{s.dispose()}}};sm=MR([fc(1,Ba),fc(2,Aa),fc(3,Xs),fc(4,Up),fc(5,Ds),fc(6,Fa),fc(7,Si),fc(8,lo)],sm);class I9 extends Ot{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new hE(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=I9.computeHoverPositions(e,a.range,d);this.shouldAppearBeforeContent=d.some(g=>g.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=f,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 f=e._getViewModel(),g=f.coordinatesConverter,p=g.convertModelRangeToViewRange(t),C=f.getLineMinColumn(p.startLineNumber),b=new wi(p.startLineNumber,C);n=g.convertViewPositionToModelPosition(b).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,C=g.endLineNumber===s;if(p&&C){const E=g.startColumn,w=Math.min(r,E);r=Math.max(w,n)}f.forceShowAtRange&&(a=g)}let d,u;if(a){const f=a.getStartPosition();d=f,u=f}else d=t.getStartPosition(),u=new wi(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class RR{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 a_=class a_ extends Ot{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 Ot.None;let i=t[0].range;for(const s of t){const r=s.range;i=ee.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:a_._DECORATION_OPTIONS}]),ws(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new Yv(n),r={fragment:this._fragment,statusBar:s,...i},a=new Nt;for(const u of e){const f=this._renderHoverPartsForParticipant(t,u,r);a.add(f);for(const g of f.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:u,hoverPart:g.hoverPart,hoverElement:g.hoverElement})}const d=this._renderStatusBar(this._fragment,s);return d&&(a.add(d),this._renderedParts.push({type:"statusBar",hoverElement:d.hoverElement,actions:d.actions})),ws(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Ju([])}_renderStatusBar(e,t){if(t.hasContent)return new RR(e,t)}_registerListenersOnRenderedParts(){const e=new Nt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(qn(n,Ls.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(qn(n,Ls.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof ap&&!(i instanceof sm));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof op)}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 e0;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};a_._DECORATION_OPTIONS=Tn.register({description:"content-hover-highlight",className:"hoverHighlight"});let hE=a_;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},G8=function(o,e){return function(t,i){e(t,i,o)}};let fE=class extends Ot{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new mn),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(J1,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new Xv(this._editor,this._participants),this._hoverOperation=this._register(new H5(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of fh.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 W5(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(Hl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(Hl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(eb.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,d=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&d?(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 I9(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 xC(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 xC(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||!Eb(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new xC(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}};fE=NR([G8(1,gn),G8(2,Xs)],fE);var OR=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},K8=function(o,e){return function(t,i){e(t,i,o)}},gE,uu;let ko=(uu=class extends Ot{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new mn),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Nt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new io(()=>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(gE.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?Eb(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 d=this._isMouseOnContentHoverWidget(r);return a&&d},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),d=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&d},s=(r,a)=>{var d,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((d=r.event.browserEvent.view)==null?void 0:d.document.activeElement))&&!((g=(f=r.event.browserEvent.view)==null?void 0:f.getSelection())!=null&&g.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,d,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(d=this._contentWidget)!=null&&d.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((u=this._contentWidget)!=null&&u.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((f=this._contentWidget)==null?void 0:f.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var d;if(!e)return;const i=(d=e.target.element)==null?void 0:d.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===M5||t.commandId===bb||t.commandId===Cb)&&((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)||d0.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(fE,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()}},gE=uu,uu.ID="editor.contrib.contentHover",uu);ko=gE=OR([K8(1,gn),K8(2,Xs)],ko);const yS=class yS extends Ot{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!==k5||!i.range)return;const n=this._editor.getContribution(ko.ID);if(n&&!n.isColorPickerVisible){const s=new ee(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};yS.ID="editor.contrib.colorContribution";let om=yS;Sn(om.ID,om,2);fh.register(op);var sB=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)}},pE,xE,hu;let th=(hu=class extends Ot{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=K.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=K.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(vE,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(pE.ID)}},pE=hu,hu.ID="editor.contrib.standaloneColorPickerController",hu);th=pE=sB([df(1,Gn),df(2,gn)],th);Sn(th.ID,th,1);const Z8=8,HR=22;var fu;let vE=(fu=class extends Ot{constructor(e,t,i,n,s,r,a){var g;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 mn),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(rp,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const d=this._editor.getSelection(),u=d?{startLineNumber:d.startLineNumber,startColumn:d.startColumn,endLineNumber:d.endLineNumber,endColumn:d.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(Kf(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var b;const C=(b=p.target.element)==null?void 0:b.classList;C&&C.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return xE.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 WR(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 sp(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 Yv(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 d=a.body,u=d.saturationBox.domNode.clientWidth,f=d.domNode.clientWidth-u-HR-Z8,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,C=p.pickedColorNode;C.style.width=u+Z8+"px";const b=p.originalColorNode;b.style.width=f+"px";const E=a.header.closeButton;E==null||E.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},xE=fu,fu.ID="editor.contrib.standaloneColorPickerWidget",fu);vE=xE=sB([df(3,gn),df(4,Xs),df(5,Si),df(6,Yl)],vE);class WR{constructor(e,t){this.value=e,this.foundInEditor=t}}class zR extends Sa{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Ei("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:S({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:si.CommandPalette}],metadata:{description:Ei("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=th.get(t))==null||i.showOrFocus()}}class VR extends _t{constructor(){super({id:"editor.action.hideColorPicker",label:S({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:K.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Ei("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=th.get(t))==null||i.hide()}}class jR extends _t{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:S({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:K.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Ei("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=th.get(t))==null||i.insertColor()}}Te(VR);Te(jR);as(zR);class Lc{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),d=t.charCodeAt(r);if(a!==d&&!(a>=65&&a<=90&&a+32===d)&&!(d>=65&&d<=90&&d+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,d=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let C=g.lastIndexOf(t,d-1+t.length),b=p.indexOf(i,f-1-i.length);if(C!==-1&&b!==-1)if(a===u)g.substring(C+t.length,b).indexOf(i)>=0&&(C=-1,b=-1);else{const w=g.substring(C+t.length),A=p.substring(0,b);(w.indexOf(i)>=0||A.indexOf(i)>=0)&&(C=-1,b=-1)}let E;C!==-1&&b!==-1?(n&&C+t.length<g.length&&g.charCodeAt(C+t.length)===32&&(t=t+" "),n&&b>0&&p.charCodeAt(b-1)===32&&(i=" "+i,b-=1),E=Lc._createRemoveBlockCommentOperations(new ee(a,C+t.length+1,u,b+1),t,i)):(E=Lc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=E.length===1?i:null);for(const w of E)r.addTrackedEditOperation(w.range,w.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return ee.isEmpty(e)?n.push(Is.delete(new ee(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Is.delete(new ee(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Is.delete(new ee(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return ee.isEmpty(e)?s.push(Is.replace(new ee(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Is.insert(new wi(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Is.insert(new wi(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 Xi(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 Xi(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class ml{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 d=[];for(let u=0,f=i-t+1;u<f;u++)d[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return d}static _analyzeLines(e,t,i,n,s,r,a,d){let u=!0,f;e===0?f=!0:e===1?f=!1:f=!0;for(let g=0,p=n.length;g<p;g++){const C=n[g],b=s+g;if(b===s&&a){C.ignore=!0;continue}const E=i.getLineContent(b),w=t1(E);if(w===-1){C.ignore=r,C.commentStrOffset=E.length;continue}if(u=!1,C.ignore=!1,C.commentStrOffset=w,f&&!Lc._haystackHasNeedleAtOffset(E,C.commentStr,w)&&(e===0?f=!1:e===1||(C.ignore=!0)),f&&t){const A=w+C.commentStrLength;A<E.length&&E.charCodeAt(A)===32&&(C.commentStrLength+=1)}}if(e===0&&u){f=!1;for(let g=0,p=n.length;g<p;g++)n[g].ignore=!1}return{supported:!0,shouldRemoveComments:f,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,d){const u=ml._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:ml._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=ml._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(ml._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new wi(n.positionLineNumber,n.positionColumn);for(let a=0,d=s.length;a<d;a++)t.addEditOperation(s[a].range,s[a].text),ee.isEmpty(s[a].range)&&ee.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 d=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return d!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,d+i.length),r=s),d===-1&&u!==-1&&(d=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(d===-1||u===-1)&&(d=e.getLineContent(s).indexOf(i),d!==-1&&(u=e.getLineContent(s).indexOf(n,d+i.length))),d!==-1&&e.getLineContent(s).charCodeAt(d+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),d!==-1&&u!==-1?Lc._createRemoveBlockCommentOperations(new ee(s,d+i.length+1,r,u+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 d=this._attemptRemoveBlockComment(e,i,r,a);if(!d){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=t1(u);f===-1&&(f=u.length),d=Lc._createAddBlockCommentOperations(new ee(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=Lc._createAddBlockCommentOperations(new ee(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);d.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of d)t.addEditOperation(u.range,u.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new ee(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=ml._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 Xi(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(Is.delete(new ee(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(Is.insert(new wi(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 d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(let p=0,C=t[d].commentStrOffset;g<s&&p<C;p++)g=ml.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let d=0,u=t.length;d<u;d++){if(t[d].ignore)continue;const f=e.getLineContent(i+d);let g=0;for(r=0,a=t[d].commentStrOffset;g<s&&r<a;r++)g=ml.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class P9 extends _t{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(co);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),d=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));d.sort((f,g)=>ee.compareRangesUsingStarts(f.selection,g.selection));let u=d[0];for(let f=1;f<d.length;f++){const g=d[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of d)s.push(new ml(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class $R extends P9{constructor(){super(0,{id:"editor.action.commentLine",label:S("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class UR extends P9{constructor(){super(1,{id:"editor.action.addCommentLine",label:S("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2081),weight:100}})}}class qR extends P9{constructor(){super(2,{id:"editor.action.removeCommentLine",label:S("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2099),weight:100}})}}class GR extends _t{constructor(){super({id:"editor.action.blockComment",label:S("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(co);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new Lc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}Te($R);Te(UR);Te(qR);Te(GR);var KR=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},yd=function(o,e){return function(t,i){e(t,i,o)}},mE,gu;let h0=(gu=class{static get(e){return e.getContribution(mE.ID)}constructor(e,t,i,n,s,r,a,d){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=d,this._toDispose=new Nt,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const f=this._contextViewService.getContextViewElement(),g=u.srcElement;g.shadowRoot&&u4(f)===g.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.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 d of r)if(d instanceof h4){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new HS(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new $g)}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=Uo(this._editor.getDomNode()),d=a.left+r.left,u=a.top+r.top+r.height;n={x:d,y:u}}const s=this._editor.getOption(128)&&!i1;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 JC(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new JC(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()||f4(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),s=(u,f)=>new HS(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,C)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const b=w=>()=>{this._configurationService.updateValue(g,w)},E=[];for(const w of C)E.push(n({label:w.label,checked:p===w.value,run:b(w.value)}));return s(u,E)},a=[];a.push(n({label:S("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new $g),a.push(n({label:S("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(S("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:S("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:S("context.minimap.size.fill","Fill"),value:"fill"},{label:S("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(S("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:S("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:S("context.minimap.slider.always","Always"),value:"always"}]));const d=this._editor.getOption(128)&&!i1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:d?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},mE=gu,gu.ID="editor.contrib.contextmenu",gu);h0=mE=KR([yd(1,E0),yd(2,G_),yd(3,Gn),yd(4,Xs),yd(5,ah),yd(6,Ds),yd(7,qf)],h0);class ZR extends _t{constructor(){super({id:"editor.action.showContextMenu",label:S("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=h0.get(t))==null||i.showContextMenu()}}Sn(h0.ID,h0,2);Te(ZR);class mC{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 _C{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const l_=class l_ extends Ot{static get(e){return e.getContribution(l_.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 mC(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new _C(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 _C(new mC(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 _C(new mC(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}};l_.ID="editor.contrib.cursorUndoRedoController";let f0=l_;class XR extends _t{constructor(){super({id:"cursorUndo",label:S("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=f0.get(t))==null||n.cursorUndo()}}class YR extends _t{constructor(){super({id:"cursorRedo",label:S("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=f0.get(t))==null||n.cursorRedo()}}Sn(f0.ID,f0,0);Te(XR);Te(YR);class QR{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 ee(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 Xi(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 Xi(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 Xi(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 Xi(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 Xi(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 Hh(o){return rl?o.altKey:o.ctrlKey}const Cc=class Cc extends Ot{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)||(Hh(e)&&(this._modifierPressed=!0),this._mouseDown&&Hh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(Hh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Cc.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}Hh(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 wi(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 Xi(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Xi(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(Hh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Cc.ID,new QR(this._dragSelection,t,Hh(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 ee(e.lineNumber,e.column,e.lineNumber,e.column),options:Cc._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()}};Cc.ID="editor.contrib.dragAndDrop",Cc.TRIGGER_KEY_VALUE=rl?6:5,Cc._DECORATION_OPTIONS=Tn.register({description:"dnd-target",className:"dnd-target"});let rm=Cc;Sn(rm.ID,rm,2);Sn(jl.ID,jl,0);S0(P1);Ii(new class extends Zo{constructor(){super({id:a5,precondition:_9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=jl.get(e))==null?void 0:t.changePasteType()}});Ii(new class extends Zo{constructor(){super({id:"editor.hidePasteWidget",precondition:_9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=jl.get(e))==null||t.clearWidgets()}});var pu;Te((pu=class extends _t{constructor(){super({id:"editor.action.pasteAs",label:S("pasteAs","Paste As..."),alias:"Paste As...",precondition:K.writable,metadata:{description:"Paste as",args:[{name:"args",schema:pu.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=jl.get(t))==null?void 0:s.pasteAs(n?new Ss(n):void 0)}},pu.argsSchema={type:"object",properties:{kind:{type:"string",description:S("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.")}}},pu));Te(class extends _t{constructor(){super({id:"editor.action.pasteAsText",label:S("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:K.writable})}run(o,e){var t;return(t=jl.get(e))==null?void 0:t.pasteAs({providerId:Ku.id})}});class JR{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 X8{constructor(e){this.identifier=e}}const oB=Zl("treeViewsDndService");Xl(oB,JR,1);var eN=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},Dx=function(o,e){return function(t,i){e(t,i,o)}},_E;const rB="editor.experimental.dropIntoEditor.defaultProvider",aB="editor.changeDropType",T9=new Nn("dropWidgetVisible",!1,S("dropWidgetVisible","Whether the drop widget is showing"));var xu;let g0=(xu=class extends Ot{static get(e){return e.getContribution(_E.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=L1.getInstance(),this._dropProgressManager=this._register(t.createInstance(Gv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Zv,"dropIntoEditor",e,T9,{id:aB,label:S("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=fo(async r=>{const a=new Nt,d=a.add(new Gf(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||d.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(C=>C.dropMimeTypes?C.dropMimeTypes.some(b=>u.matches(b)):!0),p=a.add(await this.getDropEdits(g,f,t,u,d));if(d.token.isCancellationRequested)return;if(p.edits.length){const C=this.getInitialActiveEditIndex(f,p.edits),b=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([ee.fromPositions(t)],{activeEditIndex:C,allEdits:p.edits},b,async E=>E,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,S("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new Nt,a=await Np(Promise.all(e.map(async u=>{try{const f=await u.provideDocumentDropEdits(t,i,n,s.token);return f&&r.add(f),f==null?void 0:f.edits.map(g=>({...g,providerId:u.id}))}catch(f){console.error(f)}})),s.token),d=Nl(a??[]).flat();return{edits:o5(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(rB,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Ss(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&X6(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new Z6;const t=J6(e.dataTransfer);if(this.treeItemsTransfer.hasData(X8.prototype)){const i=this.treeItemsTransfer.getData(X8.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}},_E=xu,xu.ID="editor.contrib.dropIntoEditorController",xu);g0=_E=eN([Dx(1,gn),Dx(2,Ds),Dx(3,Si),Dx(4,oB)],g0);Sn(g0.ID,g0,2);S0(I1);Ii(new class extends Zo{constructor(){super({id:aB,precondition:T9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=g0.get(e))==null||i.changeDropType()}});Ii(new class extends Zo{constructor(){super({id:"editor.hideDropWidget",precondition:T9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=g0.get(e))==null||i.clearWidgets()}});Da.as(Wp.Configuration).registerConfiguration({...Z_,properties:{[rB]:{type:"object",scope:5,description:S("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Do=class Do{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===Do._FIND_MATCH_DECORATION||n===Do._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,Do._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Do._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 ee(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Do._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Do._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Do._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,f=Math.max(2,Math.ceil(3/u));let g=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let C=1,b=e.length;C<b;C++){const E=e[C].range;p+f>=E.startLineNumber?E.endLineNumber>p&&(p=E.endLineNumber):(s.push({range:new ee(g,1,p,1),options:Do._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=E.startLineNumber,p=E.endLineNumber)}s.push({range:new ee(g,1,p,1),options:Do._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,d=e.length;a<d;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,Do._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}};Do._CURRENT_FIND_MATCH_DECORATION=Tn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:Qs(Yb),position:tl.Center},minimap:{color:Qs(WS),position:1}}),Do._FIND_MATCH_DECORATION=Tn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:Qs(Yb),position:tl.Center},minimap:{color:Qs(WS),position:1}}),Do._FIND_MATCH_NO_OVERVIEW_DECORATION=Tn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Do._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Tn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:Qs(Yb),position:tl.Center}}),Do._RANGE_HIGHLIGHT_DECORATION=Tn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Do._FIND_SCOPE_DECORATION=Tn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let bE=Do;class tN{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)=>ee.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 lB(o,e){if(o&&o[0]!==""){const t=Y8(o,e,"-"),i=Y8(o,e,"_");return t&&!i?Q8(o,e,"-"):!t&&i?Q8(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():g4(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 Y8(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function Q8(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=lB([n[a]],r)+t}),s.slice(0,-1)}class J8{constructor(e){this.staticValue=e,this.kind=0}}class iN{constructor(e){this.pieces=e,this.kind=1}}class p0{static fromStaticValue(e){return new p0([Yd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new J8(""):e.length===1&&e[0].staticValue!==null?this._state=new J8(e[0].staticValue):this._state=new iN(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?lB(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=p0._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const d=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){d.push(a.slice(g));break}switch(r.caseOps[f]){case"U":d.push(a[g].toUpperCase());break;case"u":d.push(a[g].toUpperCase()),f++;break;case"L":d.push(a[g].toLowerCase());break;case"l":d.push(a[g].toLowerCase()),f++;break;default:d.push(a[g])}}a=d.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 Yd{static staticValue(e){return new Yd(e,-1,null)}static caseOps(e,t){return new Yd(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 nN{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++]=Yd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Yd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Yd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new p0(this._result)}}function sN(o){if(!o||o.length===0)return new p0(null);const e=[],t=new nN(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 d=o.charCodeAt(i+1);if(48<=d&&d<=57){i++,a=a*10+(d-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 ec=new Nn("findWidgetVisible",!1);ec.toNegated();const Ab=new Nn("findInputFocussed",!1),M9=new Nn("replaceInputFocussed",!1),Ax={primary:545,mac:{primary:2593}},kx={primary:565,mac:{primary:2613}},Bx={primary:560,mac:{primary:2608}},Fx={primary:554,mac:{primary:2602}},Lx={primary:558,mac:{primary:2606}},gs={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"},Ic=19999,oN=240;class Dg{constructor(e,t){this._toDispose=new Nt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Op,this._decorations=new bE(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new io(()=>{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,Po(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)},oN)):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 d=a.endLineNumber;return a.endColumn===1&&(d=d-1),new ee(a.startLineNumber,1,d,this._editor.getModel().getLineMaxColumn(d))}return a}));const n=this._findMatches(i,!1,Ic);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=TA(n.map(d=>d.range),d=>ee.compareRangesUsingStarts(d,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 wi(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<Ic){let f=this._decorations.matchBeforePosition(e);f&&f.isEmpty()&&f.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),f=this._decorations.matchBeforePosition(e)),f&&this._setCurrentFindMatch(f);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=Dg._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 d=new wi(s,r),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(d)&&(d=this._prevSearchPosition(d),u=a.findPreviousMatch(this._state.searchString,d,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.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 wi(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<Ic){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=Dg._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:d}=e,u=this._editor.getModel();let f=new wi(a,d),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g: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?sN(this._state.replaceString):p0.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 Rp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new wi(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=>Dg._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>=Ic?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new p4(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 g="mu";i.ignoreCase&&(g+="i"),i.global&&(g+="g"),i=new RegExp(i.source,g)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let d;const u=this._state.preserveCase;a.hasReplacementPatterns||u?d=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):d=s.replace(i,a.buildReplaceString(null,u));const f=new MA(r,d,this._editor.getSelection());this._executeEditorCommand("replaceAll",f)}_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 tN(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 Xi(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 c_=class c_ extends Vp{constructor(e,t,i){super(),this._hideSoon=this._register(new io(()=>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:jd(NA),inputActiveOptionForeground:jd(RA),inputActiveOptionBackground:jd(Pw)},s=this._register(n1());this.caseSensitive=this._register(new x4({appendTitle:this._keybindingLabelFor(gs.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 v4({appendTitle:this._keybindingLabelFor(gs.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 m4({appendTitle:this._keybindingLabelFor(gs.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(qn(this._domNode,Ls.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(qn(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 c_.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")}};c_.ID="editor.contrib.findOptionsWidget";let CE=c_;function Ix(o,e){return o===1?!0:o===2?!1:e}class rN extends Ot{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Ix(this._isRegexOverride,this._isRegex)}get wholeWord(){return Ix(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Ix(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Ix(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 mn),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"&&(ee.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var f;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,d=this.matchCase,u=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"&&((f=e.searchScope)!=null&&f.every(g=>{var p;return(p=this._searchScope)==null?void 0:p.some(C=>!ee.equalsRange(C,g))})||(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),d!==this.matchCase&&(s=!0,n.matchCase=!0),u!==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>=Ic}}const aN=S("defaultLabel","input"),lN=S("label.preserveCaseToggle","Preserve Case");class cN extends OA{constructor(e){super({icon:tn.preserveCase,title:lN+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??tb("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class dN extends Vp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new mn),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new mn),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new mn),this._onInput=this._register(new mn),this._onKeyUp=this._register(new mn),this._onPreserveCaseKeyDown=this._register(new mn),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||aN;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,d=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new _4(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:d,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new cN({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 f=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const C=f.indexOf(this.domNode.ownerDocument.activeElement);if(C>=0){let b=-1;p.equals(17)?b=(C+1)%f.length:p.equals(15)&&(C===0?b=f.length-1:b=C-1),p.equals(9)?(f[C].blur(),this.inputBox.focus()):b>=0&&f[b].focus(),Fv.stop(p,!0)}}});const g=document.createElement("div");g.className="controls",g.style.display=this._showOptionButtons?"block":"none",g.appendChild(this.preserveCase.domNode),this.domNode.appendChild(g),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 cB=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},dB=function(o,e){return function(t,i){e(t,i,o)}};const R9=new Nn("suggestWidgetVisible",!1,S("suggestWidgetVisible","Whether suggestion are visible")),N9="historyNavigationWidgetFocus",uB="historyNavigationForwardsEnabled",hB="historyNavigationBackwardsEnabled";let Ml;const Px=[];function fB(o,e){if(Px.includes(e))throw new Error("Cannot register the same widget multiple times");Px.push(e);const t=new Nt,i=new Nn(N9,!1).bindTo(o),n=new Nn(uB,!0).bindTo(o),s=new Nn(hB,!0).bindTo(o),r=()=>{i.set(!0),Ml=e},a=()=>{i.set(!1),Ml===e&&(Ml=void 0)};return C4(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(ws(()=>{Px.splice(Px.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let EE=class extends b4{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(fB(s,this.inputBox))}};EE=cB([dB(3,Gn)],EE);let yE=class extends dN{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(fB(r,this.inputBox))}};yE=cB([dB(3,Gn)],yE);dl.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Ue.and(Ue.has(N9),Ue.equals(hB,!0),Ue.not("isComposing"),R9.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{Ml==null||Ml.showPreviousValue()}});dl.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Ue.and(Ue.has(N9),Ue.equals(uB,!0),Ue.not("isComposing"),R9.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{Ml==null||Ml.showNextValue()}});function eD(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 tD=Ws("find-collapsed",tn.chevronRight,S("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),iD=Ws("find-expanded",tn.chevronDown,S("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),uN=Ws("find-selection",tn.selection,S("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),hN=Ws("find-replace",tn.replace,S("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),fN=Ws("find-replace-all",tn.replaceAll,S("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),gN=Ws("find-previous-match",tn.arrowUp,S("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),pN=Ws("find-next-match",tn.arrowDown,S("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),xN=S("label.findDialog","Find / Replace"),vN=S("label.find","Find"),mN=S("placeholder.find","Find"),_N=S("label.previousMatchButton","Previous Match"),bN=S("label.nextMatchButton","Next Match"),CN=S("label.toggleSelectionFind","Find in Selection"),EN=S("label.closeButton","Close"),yN=S("label.replace","Replace"),wN=S("placeholder.replace","Replace"),SN=S("label.replaceButton","Replace"),DN=S("label.replaceAllButton","Replace All"),AN=S("label.toggleReplaceButton","Toggle Replace"),kN=S("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",Ic),BN=S("label.matchesLocation","{0} of {1}"),nD=S("label.noResults","No results"),Ma=419,FN=275,LN=FN-54;let K0=69;const IN=33,sD="ctrlEnterReplaceAll.windows.donotask",oD=rl?256:2048;class bC{constructor(e){this.afterLineNumber=e,this.heightInPx=IN,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function rD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function aD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const d_=class d_ extends Vp{constructor(e,t,i,n,s,r,a,d,u,f){super(),this._hoverService=f,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=d,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!d.getBoolean(sD,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new id(500),this._register(ws(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(g=>this._onStateChanged(g))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(g=>{if(g.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),g.hasChanged(146)&&this._tryUpdateWidgetWidth(),g.hasChanged(2)&&this.updateAccessibilitySupport(),g.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const C=this._codeEditor.getOption(41).addExtraSpaceOnTop;C&&!this._viewZone&&(this._viewZone=new bC(0),this._showViewZone()),!C&&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 g=await this._controller.getGlobalBufferTerm();g&&g!==this._state.searchString&&(this._state.change({searchString:g},!1),this._findInput.select())}})),this._findInputFocused=Ab.bindTo(r),this._findFocusTracker=this._register(Kf(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=M9.bindTo(r),this._replaceFocusTracker=this._register(Kf(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 bC(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(g=>{if(g.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return d_.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=Vr(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,ps)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=K0+"px",this._state.matchesCount>=Ic?this._matchesCount.title=kN: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>=Ic&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=jw(BN,n,i)}else e=nD;this._matchesCount.appendChild(document.createTextNode(e)),ia(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),K0=Math.max(K0,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===nD)return i===""?S("ariaSearchNoResultEmpty","{0} found",e):S("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=S("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 S("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=Uo(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 d=E4(this._domNode).left;r>d&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>d&&(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 bC(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&&Vr(this._domNode)>Ma){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=Vr(this._findInput.domNode);return}if(Ma+28+n>=i&&(r=!0),Ma+28+n-K0>=i&&(a=!0),Ma+28+n-K0>=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 d=this._findInput.inputBox.element.clientWidth;d>0&&(this._replaceInput.width=d)}else this._isReplaceVisible&&(this._replaceInput.width=Vr(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&&!ee.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(oD|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 rD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return aD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(oD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{$_&&w0&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(S("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(sD,!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 rD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return aD(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 EE(null,this._contextViewProvider,{width:LN,label:vN,placeholder:mN,appendCaseSensitiveLabel:this._keybindingLabelFor(gs.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(gs.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(gs.ToggleRegexCommand),validation:f=>{if(f.length===0||!this._findInput.getRegex())return null;try{return new RegExp(f,"gu"),null}catch(g){return{content:g.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>eD(this._keybindingService),inputBoxStyles:VS,toggleStyles:zS},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(f=>this._onFindInputKeyDown(f))),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(f=>{f.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),f.preventDefault())})),this._register(this._findInput.onRegexKeyDown(f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),f.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(f=>{this._tryUpdateHeight()&&this._showViewZone()})),y4&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(n1());this._prevBtn=this._register(new Wh({label:_N+this._keybindingLabelFor(gs.PreviousMatchFindAction),icon:gN,hoverDelegate:i,onTrigger:()=>{rf(this._codeEditor.getAction(gs.PreviousMatchFindAction)).run().then(void 0,ps)}},this._hoverService)),this._nextBtn=this._register(new Wh({label:bN+this._keybindingLabelFor(gs.NextMatchFindAction),icon:pN,hoverDelegate:i,onTrigger:()=>{rf(this._codeEditor.getAction(gs.NextMatchFindAction)).run().then(void 0,ps)}},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 OA({icon:uN,title:CN+this._keybindingLabelFor(gs.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:jd(Pw),inputActiveOptionBorder:jd(NA),inputActiveOptionForeground:jd(RA)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let f=this._codeEditor.getSelections();f=f.map(g=>(g.endColumn===1&&g.endLineNumber>g.startLineNumber&&(g=g.setEndPosition(g.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(g.endLineNumber-1))),g.isEmpty()?null:g)).filter(g=>!!g),f.length&&this._state.change({searchScope:f},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Wh({label:EN+this._keybindingLabelFor(gs.CloseFindWidgetCommand),icon:HA,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),f.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new yE(null,void 0,{label:yN,placeholder:wN,appendPreserveCaseLabel:this._keybindingLabelFor(gs.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>eD(this._keybindingService),inputBoxStyles:VS,toggleStyles:zS},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(f=>this._onReplaceInputKeyDown(f))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(f=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(f=>{f.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(),f.preventDefault())}));const r=this._register(n1());this._replaceBtn=this._register(new Wh({label:SN+this._keybindingLabelFor(gs.ReplaceOneAction),icon:hN,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Wh({label:DN+this._keybindingLabelFor(gs.ReplaceAllAction),icon:fN,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const d=document.createElement("div");d.className="replace-actions",a.appendChild(d),d.appendChild(this._replaceBtn.domNode),d.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Wh({label:AN,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Vr(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=xN,this._domNode.role="dialog",this._domNode.style.width=`${Ma}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 nf(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=Ma;this._register(this._resizeSash.onDidStart(()=>{u=Vr(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<Ma)return;const p=parseFloat(w4(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=Vr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=Vr(this._domNode);if(f<Ma)return;let g=Ma;if(!this._resized||f===Ma){const p=this._codeEditor.getLayoutInfo();g=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=Vr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};d_.ID="editor.contrib.findWidget";let wE=d_;class Wh extends Vp{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Qn.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??tb("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(...Qn.asClassNameArray(tD)),this._domNode.classList.add(...Qn.asClassNameArray(iD))):(this._domNode.classList.remove(...Qn.asClassNameArray(iD)),this._domNode.classList.add(...Qn.asClassNameArray(tD)))}}K_((o,e)=>{const t=o.getColor(mA);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Vg(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(S4);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Vg(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(Ol);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(D4);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(A4);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var gB=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},Fr=function(o,e){return function(t,i){e(t,i,o)}},SE;const PN=524288;function DE(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)<PN)return o.getModel().getValueInRange(i)}return null}var vu;let Go=(vu=class extends Ot{get editor(){return this._editor}static get(e){return e.getContribution(SE.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=ec.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new id(500),this._state=this._register(new rN),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!!Ab.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=jg(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=DE(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=jg(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=DE(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 Dg(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(S("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)}},SE=vu,vu.ID="editor.contrib.findController",vu);Go=SE=gB([Fr(1,Gn),Fr(2,ud),Fr(3,y0),Fr(4,Ho),Fr(5,Up)],Go);let AE=class extends Go{constructor(e,t,i,n,s,r,a,d,u){super(e,i,a,d,r,u),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 wE(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new CE(this._editor,this._state,this._keybindingService))}};AE=gB([Fr(1,G_),Fr(2,Gn),Fr(3,Xs),Fr(4,oa),Fr(5,Ho),Fr(6,ud),Fr(7,y0),Fr(8,Up)],AE);const TN=WA(new zA({id:gs.StartFindAction,label:S("startFindAction","Find"),alias:"Find",precondition:Ue.or(K.focus,Ue.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"3_find",title:S({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));TN.addImplementation(0,(o,e,t)=>{const i=Go.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 MN={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 RN extends _t{constructor(){super({id:gs.StartFindWithArgs,label:S("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:MN})}async run(e,t,i){const n=Go.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 NN extends _t{constructor(){super({id:gs.StartFindWithSelection,label:S("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=Go.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 pB extends _t{async run(e,t){const i=Go.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 ON extends pB{constructor(){super({id:gs.NextMatchFindAction,label:S("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:K.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Ue.and(K.focus,Ab),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class HN extends pB{constructor(){super({id:gs.PreviousMatchFindAction,label:S("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:K.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Ue.and(K.focus,Ab),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class WN extends _t{constructor(){super({id:gs.GoToMatchFindAction,label:S("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:ec}),this._highlightDecorations=[]}run(e,t,i){const n=Go.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(Ho).notify({severity:zw.Warning,message:S("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Kl),a=new Nt,d=a.add(r.createInputBox());d.placeholder=S("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const u=g=>{const p=parseInt(g);if(isNaN(p))return;const C=n.getState().matchesCount;if(p>0&&p<=C)return p-1;if(p<0&&p>=-C)return C+p},f=g=>{const p=u(g);if(typeof p=="number"){d.validationMessage=void 0,n.goToMatch(p);const C=n.getState().currentMatch;C&&this.addDecorations(t,C)}else d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(d.onDidChangeValue(g=>{f(g)})),a.add(d.onDidAccept(()=>{const g=u(d.value);typeof g=="number"?(n.goToMatch(g),d.hide()):d.validationMessage=S("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(d.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),d.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:Qs(VA),position:tl.Full}}}])})}}class xB extends _t{async run(e,t){const i=Go.get(t);if(!i)return;const n=DE(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 zN extends xB{constructor(){super({id:gs.NextSelectionMatchFindAction,label:S("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class VN extends xB{constructor(){super({id:gs.PreviousSelectionMatchFindAction,label:S("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const jN=WA(new zA({id:gs.StartFindReplaceAction,label:S("startReplace","Replace"),alias:"Replace",precondition:Ue.or(K.focus,Ue.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:si.MenubarEditMenu,group:"3_find",title:S({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));jN.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Go.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})});Sn(Go.ID,AE,0);Te(RN);Te(NN);Te(ON);Te(HN);Te(WN);Te(zN);Te(VN);const La=Zo.bindToContribution(Go.get);Ii(new La({id:gs.CloseFindWidgetCommand,precondition:ec,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:Ue.and(K.focus,Ue.not("isComposing")),primary:9,secondary:[1033]}}));Ii(new La({id:gs.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:K.focus,primary:Ax.primary,mac:Ax.mac,win:Ax.win,linux:Ax.linux}}));Ii(new La({id:gs.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:K.focus,primary:kx.primary,mac:kx.mac,win:kx.win,linux:kx.linux}}));Ii(new La({id:gs.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:K.focus,primary:Bx.primary,mac:Bx.mac,win:Bx.win,linux:Bx.linux}}));Ii(new La({id:gs.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:K.focus,primary:Fx.primary,mac:Fx.mac,win:Fx.win,linux:Fx.linux}}));Ii(new La({id:gs.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:K.focus,primary:Lx.primary,mac:Lx.mac,win:Lx.win,linux:Lx.linux}}));Ii(new La({id:gs.ReplaceOneAction,precondition:ec,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:K.focus,primary:3094}}));Ii(new La({id:gs.ReplaceOneAction,precondition:ec,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:Ue.and(K.focus,M9),primary:3}}));Ii(new La({id:gs.ReplaceAllAction,precondition:ec,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:K.focus,primary:2563}}));Ii(new La({id:gs.ReplaceAllAction,precondition:ec,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:Ue.and(K.focus,M9),primary:void 0,mac:{primary:2051}}}));Ii(new La({id:gs.SelectAllMatchesAction,precondition:ec,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:K.focus,primary:515}}));const $N={0:" ",1:"u",2:"r"},lD=65535,pa=16777215,cD=4278190080;class CC{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 pr{constructor(e,t,i){if(e.length!==t.length||e.length>lD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new CC(e.length),this._userDefinedStates=new CC(e.length),this._recoveredStates=new CC(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>pa||r>pa)throw new Error("startLineNumber or endLineNumber must not exceed "+pa);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]&pa}getEndLineNumber(e){return this._endIndexes[e]&pa}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 UN(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&cD)>>>24)+((this._endIndexes[e]&cD)>>>16);return t===lD?-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]=`[${$N[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&pa,endLineNumber:this._endIndexes[e]&pa,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 d=0;d<t;d++){const u=e[d];i[d]=u.startLineNumber,n[d]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new pr(i,n,s);for(let d=0;d<t;d++)e[d].isCollapsed&&a.setCollapsed(d,!0),a.setSource(d,e[d].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(w,A)=>Array.isArray(w)?(I=>I<A?w[I]:void 0):(I=>I<A?w.toFoldRange(I):void 0),r=s(e,e.length),a=s(t,t.length);let d=0,u=0,f=r(0),g=a(0);const p=[];let C,b=0;const E=[];for(;f||g;){let w;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?w=g:(w=f,w.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),w.source=0),f=r(++d)):(w=g,g.isCollapsed&&g.source===0&&(w.source=2)),g=a(++u);else{let A=u,I=g;for(;;){if(!I||I.startLineNumber>f.endLineNumber){w=f;break}if(I.source===1&&I.endLineNumber>f.endLineNumber)break;I=a(++A)}f=r(++d)}if(w){for(;C&&C.endLineNumber<w.startLineNumber;)C=p.pop();w.endLineNumber>w.startLineNumber&&w.startLineNumber>b&&w.endLineNumber<=i&&(!C||C.endLineNumber>=w.endLineNumber)&&(E.push(w),b=w.startLineNumber,C&&p.push(C),C=w)}}return E}}class UN{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 qN{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new mn,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new pr(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=d=>{for(;n<d;){const u=this._regions.getEndLineNumber(n),f=this._regions.isCollapsed(n);if(u<=s){const g=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(f,u<=r,g))}f&&u>r&&(r=u),n++}};for(const d of e){const u=d.regionIndex,f=this._editorDecorationIds[u];if(f&&!t[f]){t[f]=!0,a(u);const g=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,g),s=Math.max(s,this._regions.getEndLineNumber(u))}}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(pr.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=pr.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(pr.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),d=e.isCollapsed(n),u=e.getSource(n)!==0,f={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:f,options:this._decorationProvider.getDecorationOption(d,a<=i,u)}),d&&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),d=this._textModel.getDecorationRange(this._editorDecorationIds[i]);d&&(s&&(e!=null&&e.startsInside(d.startLineNumber+1,d.endLineNumber))&&(s=!1),t.push({startLineNumber:d.startLineNumber,endLineNumber:d.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=pr.sanitizeAndMerge(this._regions,t,i);this.updatePost(pr.fromFoldRanges(n))}_getLinesChecksum(e,t){return jA(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,d=this._regions.length;a<d;a++){const u=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&i.push(u)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const d=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(d))&&i.push(d);else break}return i}}function O9(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,(d,u)=>d.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function P0(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,(d,u)=>d.isCollapsed!==e&&u<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function vB(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,d)=>a.isCollapsed!==e&&d<=t);n.push(...r)}o.toggleCollapseState(n)}function GN(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 KN(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(d=>r.containsLine(d)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function mB(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 H9(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 W9(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 ZN(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 XN(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 YN(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 QN{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new mn,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||k4(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 d=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=d&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===d&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new ee(d,1,u,1))),s=d,r=u)}(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 dD(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!JN(r,n))&&(n=dD(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let d=e[r];const u=s(d.startLineNumber);u&&(d=d.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(d.endLineNumber);f&&(d=d.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=d}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function JN(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function dD(o,e){const t=TA(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const eO=5e3,tO="indent";class z9{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=tO}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(sO(this.editorModel,i,n,this.foldingRangesLimit))}}let iO=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>pa||t>pa)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 pr(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let d=0;d<this._indentOccurrences.length;d++){const u=this._indentOccurrences[d];if(u){if(u+i>t){n=d;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let d=this._length-1,u=0;d>=0;d--){const f=this._startIndexes[d],g=e.getLineContent(f),p=Bw(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new pr(r,a)}}};const nO={limit:eO,update:()=>{}};function sO(o,e,t,i=nO){const n=o.getOptions().tabSize,s=new iO(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],d=o.getLineCount()+1;a.push({indent:-1,endAbove:d,line:d});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=Bw(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let C;if(r&&(C=f.match(r)))if(C[1]){let b=a.length-1;for(;b>0&&a[b].indent!==-2;)b--;if(b>0){a.length=b+1,p=a[b],s.insertFirst(u,p.line,g),p.line=u,p.indent=g,p.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(p.indent>g){do a.pop(),p=a[a.length-1];while(p.indent>g);const b=p.endAbove-1;b-u>=1&&s.insertFirst(u,b,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const oO=xi("editor.foldBackground",{light:nl(jS,.3),dark:nl(jS,.3),hcDark:null,hcLight:null},S("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);xi("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},S("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));xi("editorGutter.foldingControlForeground",B4,S("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const am=Ws("folding-expanded",tn.chevronDown,S("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),lm=Ws("folding-collapsed",tn.chevronRight,S("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),uD=Ws("folding-manual-collapsed",lm,S("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),hD=Ws("folding-manual-expanded",am,S("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),EC={color:Qs(oO),position:1},zh=S("linesCollapsed","Click to expand the range."),Tx=S("linesExpanded","Click to collapse the range."),Vs=class Vs{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Vs.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Vs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Vs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Vs.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Vs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Vs.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Vs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Vs.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Vs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Vs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Vs.MANUALLY_EXPANDED_VISUAL_DECORATION:Vs.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Vs.COLLAPSED_VISUAL_DECORATION=Tn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:Qn.asClassName(lm)}),Vs.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Tn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:EC,isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:Qn.asClassName(lm)}),Vs.MANUALLY_COLLAPSED_VISUAL_DECORATION=Tn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:Qn.asClassName(uD)}),Vs.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Tn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:EC,isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:Qn.asClassName(uD)}),Vs.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Tn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh}),Vs.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Tn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:EC,isWholeLine:!0,linesDecorationsTooltip:zh}),Vs.EXPANDED_VISUAL_DECORATION=Tn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Qn.asClassName(am),linesDecorationsTooltip:Tx}),Vs.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Tn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Qn.asClassName(am),linesDecorationsTooltip:Tx}),Vs.MANUALLY_EXPANDED_VISUAL_DECORATION=Tn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Qn.asClassName(hD),linesDecorationsTooltip:Tx}),Vs.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Tn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Qn.asClassName(hD),linesDecorationsTooltip:Tx}),Vs.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Tn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Vs.HIDDEN_RANGE_DECORATION=Tn.register({description:"folding-hidden-range-decoration",stickiness:1});let kE=Vs;const rO={},aO="syntax";class V9{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=aO,this.disposables=new Nt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return lO(this.providers,this.editorModel,e).then(t=>{var i;return t?dO(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function lO(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,rO,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const d=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=d&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},js));return Promise.all(n).then(s=>i)}class cO{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>pa||t>pa)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 pr(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 d=this._nestingLevelCounts[a];if(d){if(d+t>e){i=a;break}t+=d}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,d=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[d]=this._startIndexes[a],s[d]=this._endIndexes[a],r[d]=this._types[a],d++)}return new pr(n,s,r)}}}function dO(o,e){const t=o.sort((r,a)=>{let d=r.start-a.start;return d===0&&(d=r.rank-a.rank),d}),i=new cO(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 uO=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},Z0=function(o,e){return function(t,i){e(t,i,o)}},Ad;const _o=new Nn("foldingEnabled",!1);var mu;let ad=(mu=class extends Ot{static get(e){return e.getContribution(Ad.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Ad._foldingRangeSelector)==null?void 0:n.call(Ad,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 Nt),this.editor=e,this._foldingLimitReporter=new _B(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 kE(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=_o.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(d=>{if(d.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),d.hasChanged(47)&&this.onModelChanged(),d.hasChanged(111)||d.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}d.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),d.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),d.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 qN(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new QN(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new id(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new io(()=>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 z9(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Ad.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new V9(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 rr,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=fo(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(Zp.Imports.value,!0);u&&(r=Xf.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,hO(a)),r==null||r.restore(this.editor);const d=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=d)}return e})}).then(void 0,e=>(ps(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,ps)}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 d=e.event.altKey;let u=[];if(d){const f=p=>!p.containedBy(r)&&!r.containedBy(p),g=t.getRegionsInside(null,f);for(const p of g)p.isCollapsed&&u.push(p);u.length===0&&(u=g)}else{const f=e.event.middleButton||e.event.shiftKey;if(f)for(const g of t.getRegionsInside(r))g.isCollapsed===a&&u.push(g);(a||!f||u.length===0)&&u.push(r)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Ad=mu,mu.ID="editor.contrib.folding",mu);ad=Ad=uO([Z0(1,Gn),Z0(2,co),Z0(3,Ho),Z0(4,Mr),Z0(5,Si)],ad);class _B{constructor(e){this.editor=e,this._onDidChange=new mn,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 So extends _t{runEditorCommand(e,t,i){const n=e.get(co),s=ad.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 d=t.getSelection();d&&s.reveal(d.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 hO(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 bB(o){if(!tg(o)){if(!$A(o))return!1;const e=o;if(!tg(e.levels)&&!$S(e.levels)||!tg(e.direction)&&!xA(e.direction)||!tg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every($S)))return!1}return!0}class fO extends So{constructor(){super({id:"editor.unfold",label:S("unfoldAction.label","Unfold"),alias:"Unfold",precondition:_o,kbOpts:{kbExpr:K.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:bB,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"?vB(t,!1,s,r):P0(t,!1,s,r)}}class gO extends So{constructor(){super({id:"editor.unfoldRecursively",label:S("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2142),weight:100}})}invoke(e,t,i,n){P0(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class pO extends So{constructor(){super({id:"editor.fold",label:S("foldAction.label","Fold"),alias:"Fold",precondition:_o,kbOpts:{kbExpr:K.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:bB,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"?GN(t,!0,s):a==="up"?vB(t,!0,r||1,s):P0(t,!0,r||1,s)}}class xO extends So{constructor(){super({id:"editor.toggleFold",label:S("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);O9(t,1,n)}}class vO extends So{constructor(){super({id:"editor.foldRecursively",label:S("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);P0(t,!0,Number.MAX_VALUE,n)}}class mO extends So{constructor(){super({id:"editor.toggleFoldRecursively",label:S("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);O9(t,Number.MAX_VALUE,n)}}class _O extends So{constructor(){super({id:"editor.foldAllBlockComments",label:S("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())W9(t,Zp.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const d=new RegExp("^\\s*"+jg(a.blockCommentStartToken));H9(t,d,!0)}}}}class bO extends So{constructor(){super({id:"editor.foldAllMarkerRegions",label:S("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())W9(t,Zp.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 d=new RegExp(a.markers.start);H9(t,d,!0)}}}}class CO extends So{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:S("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())W9(t,Zp.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 d=new RegExp(a.markers.start);H9(t,d,!1)}}}}class EO extends So{constructor(){super({id:"editor.foldAllExcept",label:S("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);mB(t,!0,n)}}class yO extends So{constructor(){super({id:"editor.unfoldAllExcept",label:S("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);mB(t,!1,n)}}class wO extends So{constructor(){super({id:"editor.foldAll",label:S("foldAllAction.label","Fold All"),alias:"Fold All",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2069),weight:100}})}invoke(e,t,i){P0(t,!0)}}class SO extends So{constructor(){super({id:"editor.unfoldAll",label:S("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2088),weight:100}})}invoke(e,t,i){P0(t,!1)}}const _f=class _f extends So{getFoldingLevel(){return parseInt(this.id.substr(_f.ID_PREFIX.length))}invoke(e,t,i){KN(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};_f.ID_PREFIX="editor.foldLevel",_f.ID=e=>_f.ID_PREFIX+e;let cm=_f;class DO extends So{constructor(){super({id:"editor.gotoParentFold",label:S("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=ZN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class AO extends So{constructor(){super({id:"editor.gotoPreviousFold",label:S("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=XN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class kO extends So{constructor(){super({id:"editor.gotoNextFold",label:S("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=YN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class BO extends So{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:S("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let d=a.endLineNumber;a.endColumn===1&&--d,d>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:d,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((d,u)=>d.startLineNumber-u.startLineNumber);const a=pr.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(pr.fromFoldRanges(a))}}}}class FO extends So{constructor(){super({id:"editor.removeManualFoldingRanges",label:S("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(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:d}=r;s.push(d>=a?{startLineNumber:a,endLineNumber:d}:{endLineNumber:d,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}Sn(ad.ID,ad,0);Te(fO);Te(gO);Te(pO);Te(vO);Te(mO);Te(wO);Te(SO);Te(_O);Te(bO);Te(CO);Te(EO);Te(yO);Te(xO);Te(DO);Te(AO);Te(kO);Te(BO);Te(FO);for(let o=1;o<=7;o++)F4(new cm({id:cm.ID(o),label:S("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:_o,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2048|21+o),weight:100}}));Cs.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof ds))throw Il();const i=o.get(Si),n=o.get(Wo).getModel(t);if(!n)throw Il();const s=o.get(Ds);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(co),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(C,b)=>{}},u=new z9(n,r,d);let f=u;if(a!=="indentation"){const C=ad.getFoldingRangeProviders(i,n);C.length&&(f=new V9(n,C,()=>{},d,u))}const g=await f.compute(_n.None),p=[];try{if(g)for(let C=0;C<g.length;C++){const b=g.getType(C);p.push({start:g.getStartLineNumber(C),end:g.getEndLineNumber(C),kind:b?Zp.fromValue(b):void 0})}return p}finally{f.dispose()}});class LO extends _t{constructor(){super({id:"editor.action.fontZoomIn",label:S("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Zg.setZoomLevel(Zg.getZoomLevel()+1)}}class IO extends _t{constructor(){super({id:"editor.action.fontZoomOut",label:S("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Zg.setZoomLevel(Zg.getZoomLevel()-1)}}class PO extends _t{constructor(){super({id:"editor.action.fontZoomReset",label:S("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Zg.setZoomLevel(0)}}Te(LO);Te(IO);Te(PO);var CB=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},Ag=function(o,e){return function(t,i){e(t,i,o)}},Of;let dm=(Of=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Nt,this._sessionDisposables=new Nt,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 Lv;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 go,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});L4(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||_r(r)&&(this._accessibilitySignalService.playSignal(qA.format,{userGesture:!1}),I4.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Of.ID="editor.contrib.autoFormat",Of);dm=CB([Ag(1,Si),Ag(2,Yl),Ag(3,UA)],dm);var Hf;let um=(Hf=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Nt,this._callOnModel=new Nt,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(GA,this.editor,e,2,Al.None,_n.None,!1).catch(ps))}},Hf.ID="editor.contrib.formatOnPaste",Hf);um=CB([Ag(1,Si),Ag(2,gn)],um);class TO extends _t{constructor(){super({id:"editor.action.formatDocument",label:S("formatDocument.label","Format Document"),alias:"Format Document",precondition:Ue.and(K.notInCompositeEditor,K.writable,K.hasDocumentFormattingProvider),kbOpts:{kbExpr:K.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(gn);await e.get(Hp).showWhile(i.invokeFunction(P4,t,1,Al.None,_n.None,!0),250)}}}class MO extends _t{constructor(){super({id:"editor.action.formatSelection",label:S("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:Ue.and(K.writable,K.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2084),weight:100},contextMenuOpts:{when:K.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(gn),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new ee(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Hp).showWhile(i.invokeFunction(GA,t,s,1,Al.None,_n.None,!0),250)}}Sn(dm.ID,dm,2);Sn(um.ID,um,2);Te(TO);Te(MO);Cs.registerCommand("editor.action.format",async o=>{const e=o.get($s).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(lo);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var RO=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},yC=function(o,e){return function(t,i){e(t,i,o)}};class uf{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 BE extends uf{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class EB extends uf{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class bl extends uf{static create(e,t,i){const n=new go(i),s=new bl(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=uf.findId(`provider_${f}`,s),p=new EB(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(C=>{for(const b of C||[])bl._makeOutlineElement(b,p);return p},C=>(js(C),p)).then(C=>{uf.empty(C)?C.remove():s._groups.set(g,C)})}),d=e.onDidChange(()=>{const u=e.ordered(t);ol(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?bl.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=uf.findId(e,t),n=new BE(i,t,e);if(e.children)for(const s of e.children)bl._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=Ll.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 BE?e.push(t.symbol):e.push(...Ll.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>ee.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return bl._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>wi.compare(ee.getStartPosition(i.range),ee.getStartPosition(n.range))||wi.compare(ee.getEndPosition(n.range),ee.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&&bl._flattenDocumentSymbols(e,n.children,n.name)}}const cx=Zl("IOutlineModelService");let FE=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Nt,this._cache=new zp(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()||!ol(s.provider,n)){const a=new go;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:bl.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const d=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-d)}).catch(u=>{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()}}};FE=RO([yC(0,Si),yC(1,Mr),yC(2,Wo)],FE);Xl(cx,FE,1);Cs.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Yn(ds.isUri(t));const i=o.get(cx),s=await o.get(Fa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,_n.None)).getTopLevelSymbols()}finally{s.dispose()}});const za=class za extends Ot{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=za.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=za.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=za.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=za.suppressSuggestions.bindTo(this.contextKeyService),this._register(Fs(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(Fs(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:d,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(d<=g){let C=t1(f);C===-1&&(C=f.length-1),s=C>0;const b=n.textModel.getOptions().tabSize;r=T4.visibleColumnFromColumn(f,C+1,b)<b}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};za.inlineSuggestionVisible=new Nn("inlineSuggestionVisible",!1,S("inlineSuggestionVisible","Whether an inline suggestion is visible")),za.inlineSuggestionHasIndentation=new Nn("inlineSuggestionHasIndentation",!1,S("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),za.inlineSuggestionHasIndentationLessThanTabSize=new Nn("inlineSuggestionHasIndentationLessThanTabSize",!0,S("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),za.suppressSuggestions=new Nn("inlineSuggestionSuppressSuggestions",void 0,S("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let or=za;function NO(o){const e=new Nt,t=e.add(KA());return e.add(Fs(i=>{t.setStyle(o.read(i))})),e}class dp{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 ZA([...this.parts.map(s=>new Wl(ee.fromPositions(new wi(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 hm{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=ib(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 LE{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new hm(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=ib(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 fD(o,e){return ol(o,e,yB)}function yB(o,e){return o===e?!0:!o||!e?!1:o instanceof dp&&e instanceof dp||o instanceof LE&&e instanceof LE?o.equals(e):!1}const OO=[];function HO(){return OO}class wB{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new e0(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new ee(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function SB(o,e){const t=new Nt,i=o.createDecorationsCollection();return t.add(M4({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function WO(o,e){return new wi(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function gD(o,e){return new wi(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var zO=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},VO=function(o,e){return function(t,i){e(t,i,o)}};const pD="ghost-text";let IE=class extends Ot{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=br(this,!1),this.currentTextModel=er(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=os(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 LE?r.columnRange:void 0,d=[],u=[];function f(E,w){if(u.length>0){const A=u[u.length-1];w&&A.decorations.push(new Xg(A.content.length+1,A.content.length+1+E[0].length,w,0)),A.content+=E[0],E=E.slice(1)}for(const A of E)u.push({content:A,decorations:w?[new Xg(1,A.length+1,w,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,C=0;for(const E of r.parts){let w=E.lines;p===void 0?(d.push({column:E.column,text:w[0],preview:E.preview}),w=w.slice(1)):f([g.substring(C,E.column-1)],void 0),w.length>0&&(f(w,pD),p===void 0&&E.column<=g.length&&(p=E.column)),C=E.column-1}p!==void 0&&f([g.substring(C)],void 0);const b=p!==void 0?new wB(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:d,additionalLines:u,hiddenRange:b,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=os(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:ee.fromPositions(new wi(s.lineNumber,a.column)),options:{description:pD,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:of.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new jO(this.editor,this.languageService.languageIdCodec,os(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(ws(()=>{this.isDisposed.set(!0,void 0)})),this._register(SB(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};IE=zO([VO(2,Ba)],IE);class jO extends Ot{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=Ud("editorOptionChanged",to.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(Fs(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 d=document.createElement("div");$O(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function $O(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",d=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new YA(1e4);p.appendString('<div class="suggest-preview-text">');for(let E=0,w=t.length;E<w;E++){const A=t[E],I=A.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(E*g)),p.appendString('px;width:1000000px;">');const T=tk(I),M=R4(I),P=N4.createEmpty(I,n);QA(new JA(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,I,!1,T,M,0,P,A.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==O4.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),ek(o,f);const C=p.build(),b=xD?xD.createHTML(C):C;o.innerHTML=b}const xD=XA("editorGhostText",{createHTML:o=>o});function UO(o,e){const t=new V4,i=new W4(t,u=>e.getLanguageConfiguration(u)),n=new H4(new qO([o]),i),s=z4(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=$0(f,u.openingBracket.length),u.child&&(d(u.child,f),f=$0(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=$0(f,u.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);r+=p}else if(u.kind!==3){if(u.kind===0||u.kind===1)r+=a.substring(US(f),US($0(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=$0(f,g.length)}}return d(s,j4),r}class qO{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 DB(o,e,t,i,n=_n.None,s){const r=e instanceof wi?ZO(e,t):e,a=o.all(t),d=new $4;for(const A of a)A.groupId&&d.add(A.groupId,A);function u(A){if(!A.yieldsToGroupIds)return[];const I=[];for(const T of A.yieldsToGroupIds||[]){const M=d.get(T);for(const P of M)I.push(P)}return I}const f=new Map,g=new Set;function p(A,I){if(I=[...I,A],g.has(A))return I;g.add(A);try{const T=u(A);for(const M of T){const P=p(M,I);if(P)return P}}finally{g.delete(A)}}function C(A){const I=f.get(A);if(I)return I;const T=p(A,[]);T&&js(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${T.map(P=>P.toString?P.toString():""+P).join(" -> ")}`));const M=new U_;return f.set(A,M.p),(async()=>{var P;if(!T){const j=u(A);for(const U of j){const Q=await C(U);if(Q&&Q.items.length>0)return}}try{return e instanceof wi?await A.provideInlineCompletions(t,e,i,n):await((P=A.provideInlineEdits)==null?void 0:P.call(A,t,e,i,n))}catch(j){js(j);return}})().then(P=>M.complete(P),P=>M.error(P)),M.p}const b=await Promise.all(a.map(async A=>({provider:A,completions:await C(A)}))),E=new Map,w=[];for(const A of b){const I=A.completions;if(!I)continue;const T=new KO(I,A.provider);w.push(T);for(const M of I.items){const P=fm.from(M,T,r,t,s);E.set(P.hash(),P)}}return new GO(Array.from(E.values()),new Set(E.keys()),w)}class GO{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 KO{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 fm{static from(e,t,i,n,s){let r,a,d=e.range?ee.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=vD(r,d.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(d=new ee(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=vD(e.insertText.snippet,d.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(d=new ee(d.startLineNumber,d.startColumn,d.endLineNumber,d.endColumn+g))}const f=new Zu().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof tr?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else U4(e.insertText);return new fm(r,e.command,d,r,a,e.additionalTextEdits||HO(),e,t)}constructor(e,t,i,n,s,r,a,d){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=d,e=e.replace(/\r\n|\r/g,`
34
+ `),n=e.replace(/\r\n|\r/g,`
35
+ `)}withRange(e){return new fm(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 Wl(this.range,this.insertText)}}function ZO(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new ee(o.lineNumber,t.startColumn,o.lineNumber,i):ee.fromPositions(o,o.with(void 0,i))}function vD(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?UO(a,i):o}function Qd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Kp(n,o.text),r=Iv.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=ee.fromPositions(r,o.range.getEndPosition());return new Wl(d,a)}function AB(o,e){return o.text.startsWith(e.text)&&XO(o.range,e.range)}function mD(o,e,t,i,n=0){let s=Qd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=yo(r).length;if(s.range.startColumn-1<=a){const b=yo(s.text).length,E=r.substring(s.range.startColumn-1,a),[w,A]=[s.range.getStartPosition(),s.range.getEndPosition()],I=w.column+E.length<=A.column?w.delta(0,E.length):A,T=ee.fromPositions(I,A),M=s.text.startsWith(E)?s.text.substring(E.length):s.text.substring(b);s=new Wl(T,M)}const u=e.getValueInRange(s.range),f=YO(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const b=f.filter(E=>E.originalLength===0);if(b.length>1||b.length===1&&b[0].originalStart!==u.length)return}const C=s.text.length-n;for(const b of f){const E=s.range.startColumn+b.originalStart+b.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&E<i.column||b.originalLength>0)return;if(b.modifiedLength===0)continue;const w=b.modifiedStart+b.modifiedLength,A=Math.max(b.modifiedStart,Math.min(w,C)),I=s.text.substring(b.modifiedStart,A),T=s.text.substring(A,Math.max(b.modifiedStart,w));I.length>0&&p.push(new hm(E,I,!1)),T.length>0&&p.push(new hm(E,T,!0))}return new dp(g,p)}function XO(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let Ra;function YO(o,e){if((Ra==null?void 0:Ra.originalValue)===o&&(Ra==null?void 0:Ra.newValue)===e)return Ra==null?void 0:Ra.changes;{let t=bD(o,e,!0);if(t){const i=_D(t);if(i>0){const n=bD(o,e,!1);n&&_D(n)<i&&(t=n)}}return Ra={originalValue:o,newValue:e,changes:t},t}}function _D(o){let e=0;for(const t of o)e+=t.originalLength;return e}function bD(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(u){let f=0;for(let g=0,p=u.length;g<p;g++){const C=u.charCodeAt(g);C>f&&(f=C)}return f}const n=Math.max(i(o),i(e));function s(u){if(u<0)throw new Error("unexpected");return n+u+1}function r(u){let f=0,g=0;const p=new Int32Array(u.length);for(let C=0,b=u.length;C<b;C++)if(t&&u[C]==="("){const E=g*100+f;p[C]=s(2*E),f++}else if(t&&u[C]===")"){f=Math.max(f-1,0);const E=g*100+f;p[C]=s(2*E+1),f===0&&g++}else p[C]=u.charCodeAt(C);return p}const a=r(o),d=r(e);return new q4({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}var QO=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},CD=function(o,e){return function(t,i){e(t,i,o)}};let PE=class extends Ot{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 Er),this.inlineCompletions=s1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=s1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new eH(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((f=this._updateOperation.value)!=null&&f.request.satisfies(n))return this._updateOperation.value.promise;if((g=s.get())!=null&&g.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new go,d=(async()=>{if((r||t.triggerKind===Pl.Automatic)&&await JO(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const C=new Date,b=await DB(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 E=new Date;this._debounceValue.update(this.textModel,E.getTime()-C.getTime());const w=new iH(b,n,this.textModel,this.versionId);if(i){const A=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!b.has(A)&&w.prepend(i.inlineCompletion,A.range,!0)}return this._updateOperation.clear(),lh(A=>{s.set(w,A)}),!0})(),u=new tH(n,a,d);return this._updateOperation.value=u,d}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()}};PE=QO([CD(3,Si),CD(4,co)],PE);function JO(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 eH{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&G4(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,Z4())&&(e.context.triggerKind===Pl.Automatic||this.context.triggerKind===Pl.Explicit)&&this.versionId===e.versionId}}class tH{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class iH{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 ED(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 ED(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class ED{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=Sl({owner:this,equalsFn:ee.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??wC)}toSingleTextEdit(e){return new Wl(this._updatedRange.read(e)??wC,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Qd(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,d=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,d),f=a.substring(d),g=r.substring(0,d),p=r.substring(d);const C=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=C&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!K4(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Iv.ofRange(i).isGreaterThanOrEqualTo(Iv.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new Wl(this._updatedRange.read(e)??wC,this.inlineCompletion.filterText)}}const wC=new ee(1,1,1,1),Qi={Visible:R9,HasFocusedSuggestion:new Nn("suggestWidgetHasFocusedSuggestion",!1,S("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Nn("suggestWidgetDetailsVisible",!1,S("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Nn("suggestWidgetMultipleSuggestions",!1,S("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Nn("suggestionMakesTextEdit",!0,S("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Nn("acceptSuggestionOnEnter",!0,S("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Nn("suggestionHasInsertAndReplaceRange",!1,S("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Nn("suggestionInsertMode",void 0,{type:"string",description:S("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Nn("suggestionCanResolve",!1,S("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Oc=new si("suggestWidgetStatusBar");class nH{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Gg.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,ee.isIRange(t.range)?(this.editStart=new wi(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new wi(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new wi(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||ee.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new wi(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new wi(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new wi(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||ee.spansMultipleLines(t.range.insert)||ee.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 rr(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{dd(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const u_=class u_{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}};u_.default=new u_;let up=u_;class sH{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function j9(o,e,t,i=up.default,n={triggerKind:0},s=_n.None){const r=new rr;t=t.clone();const a=e.getWordAtPosition(t),d=a?new ee(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):ee.fromPositions(t),u={replace:d,insert:d.setEndPosition(t.lineNumber,t.column)},f=[],g=new Nt,p=[];let C=!1;const b=(w,A,I)=>{var M;let T=!1;if(!A)return T;for(const P of A.suggestions)if(!i.kindFilter.has(P.kind)){if(!i.showDeprecated&&((M=P==null?void 0:P.tags)!=null&&M.includes(1)))continue;P.range||(P.range=u),P.sortText||(P.sortText=typeof P.label=="string"?P.label:P.label.label),!C&&P.insertTextRules&&P.insertTextRules&4&&(C=Zu.guessNeedsClipboard(P.insertText)),f.push(new nH(t,P,A,w)),T=!0}return ik(A)&&g.add(A),p.push({providerName:w._debugDisplayName??"unknown_provider",elapsedProvider:A.duration??-1,elapsedOverall:I.elapsed()}),T},E=(async()=>{})();for(const w of o.orderedGroups(e)){let A=!1;if(await Promise.all(w.map(async I=>{if(i.providerItemsToReuse.has(I)){const T=i.providerItemsToReuse.get(I);T.forEach(M=>f.push(M)),A=A||T.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(I)))try{const T=new rr,M=await I.provideCompletionItems(e,t,n,s);A=b(I,M,T)||A}catch(T){js(T)}})),A||s.isCancellationRequested)break}return await E,s.isCancellationRequested?(g.dispose(),Promise.reject(new q_)):new sH(f.sort(aH(i.snippetSortOrder)),C,{entries:p,elapsed:r.elapsed()},g)}function $9(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 oH(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return $9(o,e)}function rH(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return $9(o,e)}const kb=new Map;kb.set(0,oH);kb.set(2,rH);kb.set(1,$9);function aH(o){return kb.get(o)}Cs.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Yn(ds.isUri(t)),Yn(wi.isIPosition(i)),Yn(typeof n=="string"||!n),Yn(typeof s=="number"||!s);const{completionProvider:r}=o.get(Si),a=await o.get(Fa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await j9(r,a.object.textEditorModel,f,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of g.items)u.length<(s??0)&&u.push(p.resolve(_n.None)),d.incomplete=d.incomplete||p.container.incomplete,d.suggestions.push(p.completion);try{return await Promise.all(u),d}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function lH(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class hf{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 yD(o,e=$_){return X4(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var cH=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},dH=function(o,e){return function(t,i){e(t,i,o)}};class wD{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 SD{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=yo(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof tr&&(a=yo(ib(u.value).pop())),!0));const d=Kp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(d)}${g}`)}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 DD{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return mg(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=mg(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return Y4(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(Hw(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 AD{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=>!Q4(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let gm=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}}};gm=cH([dH(2,co)],gm);const Va=class Va{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 Va.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Va.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Va.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Va.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,d=a<10?"0"+a:a;return n+r+":"+d}}};Va.dayNames=[S("Sunday","Sunday"),S("Monday","Monday"),S("Tuesday","Tuesday"),S("Wednesday","Wednesday"),S("Thursday","Thursday"),S("Friday","Friday"),S("Saturday","Saturday")],Va.dayNamesShort=[S("SundayShort","Sun"),S("MondayShort","Mon"),S("TuesdayShort","Tue"),S("WednesdayShort","Wed"),S("ThursdayShort","Thu"),S("FridayShort","Fri"),S("SaturdayShort","Sat")],Va.monthNames=[S("January","January"),S("February","February"),S("March","March"),S("April","April"),S("May","May"),S("June","June"),S("July","July"),S("August","August"),S("September","September"),S("October","October"),S("November","November"),S("December","December")],Va.monthNamesShort=[S("JanuaryShort","Jan"),S("FebruaryShort","Feb"),S("MarchShort","Mar"),S("AprilShort","Apr"),S("MayShort","May"),S("JuneShort","Jun"),S("JulyShort","Jul"),S("AugustShort","Aug"),S("SeptemberShort","Sep"),S("OctoberShort","Oct"),S("NovemberShort","Nov"),S("DecemberShort","Dec")];let pm=Va;class kD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=J4(this._workspaceService.getWorkspace());if(!e7(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(qS(e))return mg(e.uri.path);let t=mg(e.configPath.path);return t.endsWith(GS)&&(t=t.substr(0,t.length-GS.length-1)),t}_resoveWorkspacePath(e){if(qS(e))return yD(e.uri.fsPath);const t=mg(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?yD(i):"/"}}class BD{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 mb()}}var uH=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},hH=function(o,e){return function(t,i){e(t,i,o)}},la;const zr=class zr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=KS(t.placeholders,Pr.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=ee.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?zr._decor.inactiveFinal:zr._decor.inactive,d=t.addDecoration(r,a);this._placeholderDecorations.set(i,d)}})}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),d=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(d).split(/\r\n|\r|\n/);for(let f=1;f<u.length;f++)u[f]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+u[f]);n.push(Is.replace(a,u.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 d=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(d);r.push(new Xi(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?zr._decor.activeFinal:zr._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?zr._decor.activeFinal:zr._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?zr._decor.inactiveFinal:zr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Pr){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 I0,!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 d of s._snippet.placeholderInfo.all)d.isFinalTabstop?d.index=n.index+(r+1)/this._nestingLevel:d.index=n.index+d.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 d of s._snippet.placeholders){const u=s._snippet.offset(d),f=s._snippet.fullLen(d),g=ee.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,zr._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=KS(this._snippet.placeholders,Pr.compareByIndex)})}};zr._decor={active:Tn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Tn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Tn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Tn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let xm=zr;const FD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let vm=la=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=yo(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof tr)||u.parent instanceof I0||s&&!s.has(u))return!0;const f=u.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(u);if(p===0)f[0]=e.normalizeIndentation(f[0]);else{d=d??n.toString();const C=d.charCodeAt(p-1);(C===10||C===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let C=1;C<f.length;C++)f[C]=e.normalizeIndentation(a+f[C])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new tr(g)]),d=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,d=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:d});t=Xi.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,d,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),C=e.invokeWithinContext(M=>M.get(qf)),b=e.invokeWithinContext(M=>new DD(M.get(qg),p)),E=()=>a,w=p.getValueInRange(la.adjustSelection(p,e.getSelection(),i,0)),A=p.getValueInRange(la.adjustSelection(p,e.getSelection(),0,n)),I=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),T=e.getSelections().map((M,P)=>({selection:M,idx:P})).sort((M,P)=>ee.compareRangesUsingStarts(M.selection,P.selection));for(const{selection:M,idx:P}of T){let j=la.adjustSelection(p,M,i,0),U=la.adjustSelection(p,M,0,n);w!==p.getValueInRange(j)&&(j=M),A!==p.getValueInRange(U)&&(U=M);const Q=M.setStartPosition(j.startLineNumber,j.startColumn).setEndPosition(U.endLineNumber,U.endColumn),oe=new Zu().parse(t,!0,s),le=Q.getStartPosition(),re=la.adjustWhitespace(p,le,r||P>0&&I!==p.getLineFirstNonWhitespaceColumn(M.positionLineNumber),oe);oe.resolveVariables(new wD([b,new AD(E,P,T.length,e.getOption(79)==="spread"),new SD(p,M,P,d),new gm(p,M,u),new pm,new kD(C),new BD])),f[P]=Is.replace(Q,oe.toString()),f[P].identifier={major:P,minor:0},f[P]._isTracked=!0,g[P]=new xm(e,oe,re)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const d=[],u=e.getModel(),f=new Zu,g=new ix,p=new wD([e.invokeWithinContext(b=>new DD(b.get(qg),u)),new AD(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new SD(u,e.getSelection(),0,r),new gm(u,e.getSelection(),a),new pm,new kD(e.invokeWithinContext(b=>b.get(qf))),new BD]);t=t.sort((b,E)=>ee.compareRangesUsingStarts(b.range,E.range));let C=0;for(let b=0;b<t.length;b++){const{range:E,template:w}=t[b];if(b>0){const P=t[b-1].range,j=ee.fromPositions(P.getEndPosition(),E.getStartPosition()),U=new tr(u.getValueInRange(j));g.appendChild(U),C+=U.value.length}const A=f.parseFragment(w,g);la.adjustWhitespace(u,E.getStartPosition(),!0,g,new Set(A)),g.resolveVariables(p);const I=g.toString(),T=I.slice(C);C=I.length;const M=Is.replace(E,T);M.identifier={major:b,minor:0},M._isTracked=!0,d.push(M)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new xm(e,g,"")]}}constructor(e,t,i=FD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Po(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"?la.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):la.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=>Xi.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=FD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=la.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(d=>!!d.identifier);for(let d=0;d<n.length;d++)n[d].initialize(r[d].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const d of this._snippets)d.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(d=>Xi.fromPositions(d.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(ee.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(ee.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(ee.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};vm=la=uH([hH(3,co)],vm);var fH=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},Mx=function(o,e){return function(t,i){e(t,i,o)}},ef;const LD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Xa;let Oo=(Xa=class{static get(e){return e.getContribution(ef.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Nt,this._modelVersionId=-1,this._inSnippet=ef.InSnippetMode.bindTo(n),this._hasNextTabstop=ef.HasNextTabstop.bindTo(n),this._hasPrevTabstop=ef.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"?LD:{...LD,...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?(Yn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new vm(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:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!wi.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const C=f.getValueInRange(p.range),b=!!p.choice.options.find(w=>w.value===C),E=[];for(let w=0;w<p.choice.options.length;w++){const A=p.choice.options[w];E.push({kind:13,label:A.value,insertText:A.value,sortText:"a".repeat(w+1),range:p.range,filterText:b?`${C}_${A.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:S("next","Go to next placeholder...")}})}return{suggestions:E}}},s=this._editor.getModel();let r,a=!1;const d=()=>{r==null||r.dispose(),a=!1},u=()=>{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:u,disable:d}}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(()=>{lH(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()}},ef=Xa,Xa.ID="snippetController2",Xa.InSnippetMode=new Nn("inSnippetMode",!1,S("inSnippetMode","Whether the editor in current in snippet mode")),Xa.HasNextTabstop=new Nn("hasNextTabstop",!1,S("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Xa.HasPrevTabstop=new Nn("hasPrevTabstop",!1,S("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Xa);Oo=ef=fH([Mx(1,ch),Mx(2,Si),Mx(3,Gn),Mx(4,co)],Oo);Sn(Oo.ID,Oo,4);const Bb=Zo.bindToContribution(Oo.get);Ii(new Bb({id:"jumpToNextSnippetPlaceholder",precondition:Ue.and(Oo.InSnippetMode,Oo.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:K.textInputFocus,primary:2}}));Ii(new Bb({id:"jumpToPrevSnippetPlaceholder",precondition:Ue.and(Oo.InSnippetMode,Oo.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:K.textInputFocus,primary:1026}}));Ii(new Bb({id:"leaveSnippet",precondition:Oo.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:K.textInputFocus,primary:9,secondary:[1033]}}));Ii(new Bb({id:"acceptSnippet",precondition:Oo.InSnippetMode,handler:o=>o.finish()}));var gH=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},SC=function(o,e){return function(t,i){e(t,i,o)}};let TE=class extends Ot{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,d,u,f,g,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=d,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(PE,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=br(this,!1),this._forceUpdateExplicitlySignal=$w(this),this._selectedInlineCompletionId=br(this,void 0),this._primaryPosition=os(this,b=>this._positions.read(b)[0]??new wi(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([_l.Redo,_l.Undo,_l.AcceptWord]),this._fetchInlineCompletionsPromise=nk({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Pl.Automatic}),handleChange:(b,E)=>(b.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(b.change))?E.preserveCurrentCompletion=!0:b.didChange(this._forceUpdateExplicitlySignal)&&(E.inlineCompletionTriggerKind=Pl.Explicit),!0)},(b,E)=>{if(this._forceUpdateExplicitlySignal.read(b),!(this._enabled.read(b)&&this.selectedSuggestItem.read(b)||this._isActive.read(b))){this._source.cancelUpdate();return}this._textModelVersionId.read(b);const A=this._source.suggestWidgetInlineCompletions.get(),I=this.selectedSuggestItem.read(b);if(A&&!I){const U=this._source.inlineCompletions.get();lh(Q=>{(!U||A.request.versionId>U.request.versionId)&&this._source.inlineCompletions.set(A.clone(),Q),this._source.clearSuggestWidgetInlineCompletions(Q)})}const T=this._primaryPosition.read(b),M={triggerKind:E.inlineCompletionTriggerKind,selectedSuggestionInfo:I==null?void 0:I.toSelectedSuggestionInfo()},P=this.selectedInlineCompletion.get(),j=E.preserveCurrentCompletion||P!=null&&P.forwardStable?P:void 0;return this._source.fetch(T,M,j)}),this._filteredInlineCompletionItems=Sl({owner:this,equalsFn:o1()},b=>{const E=this._source.inlineCompletions.read(b);if(!E)return[];const w=this._primaryPosition.read(b);return E.inlineCompletions.filter(I=>I.isVisible(this.textModel,w,b))}),this.selectedInlineCompletionIndex=os(this,b=>{const E=this._selectedInlineCompletionId.read(b),w=this._filteredInlineCompletionItems.read(b),A=this._selectedInlineCompletionId===void 0?-1:w.findIndex(I=>I.semanticId===E);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineCompletion=os(this,b=>{const E=this._filteredInlineCompletionItems.read(b),w=this.selectedInlineCompletionIndex.read(b);return E[w]}),this.activeCommands=Sl({owner:this,equalsFn:o1()},b=>{var E;return((E=this.selectedInlineCompletion.read(b))==null?void 0:E.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b==null?void 0:b.request.context.triggerKind),this.inlineCompletionsCount=os(this,b=>{if(this.lastTriggerKind.read(b)===Pl.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this.state=Sl({owner:this,equalsFn:(b,E)=>!b||!E?b===E:fD(b.ghostTexts,E.ghostTexts)&&b.inlineCompletion===E.inlineCompletion&&b.suggestItem===E.suggestItem},b=>{const E=this.textModel,w=this.selectedSuggestItem.read(b);if(w){const A=Qd(w.toSingleTextEdit(),E),I=this._computeAugmentation(A,b);if(!this._suggestPreviewEnabled.read(b)&&!I)return;const M=(I==null?void 0:I.edit)??A,P=I?I.edit.text.length-A.text.length:0,j=this._suggestPreviewMode.read(b),U=this._positions.read(b),Q=[M,...DC(this.textModel,U,M)],oe=Q.map((re,ce)=>mD(re,E,j,U[ce],P)).filter(ev),le=oe[0]??new dp(M.range.endLineNumber,[]);return{edits:Q,primaryGhostText:le,ghostTexts:oe,inlineCompletion:I==null?void 0:I.completion,suggestItem:w}}else{if(!this._isActive.read(b))return;const A=this.selectedInlineCompletion.read(b);if(!A)return;const I=A.toSingleTextEdit(b),T=this._inlineSuggestMode.read(b),M=this._positions.read(b),P=[I,...DC(this.textModel,M,I)],j=P.map((U,Q)=>mD(U,E,T,M[Q],0)).filter(ev);return j[0]?{edits:P,primaryGhostText:j[0],ghostTexts:j,inlineCompletion:A,suggestItem:void 0}:void 0}}),this.ghostTexts=Sl({owner:this,equalsFn:fD},b=>{const E=this.state.read(b);if(E)return E.ghostTexts}),this.primaryGhostText=Sl({owner:this,equalsFn:yB},b=>{const E=this.state.read(b);if(E)return E==null?void 0:E.primaryGhostText}),this._register(sk(this._fetchInlineCompletionsPromise));let C;this._register(Fs(b=>{var A,I;const E=this.state.read(b),w=E==null?void 0:E.inlineCompletion;if((w==null?void 0:w.semanticId)!==(C==null?void 0:C.semanticId)&&(C=w,w)){const T=w.inlineCompletion,M=T.source;(I=(A=M.provider).handleItemDidShow)==null||I.call(A,M.inlineCompletions,T.sourceInlineCompletion,T.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?_l.Undo:e!=null&&e.isRedoing?_l.Redo:this.isAcceptingPartially?_l.AcceptWord:_l.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Pv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Pv(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(ev);return t7(s,a=>{let d=a.toSingleTextEdit(t);return d=Qd(d,i,ee.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),AB(d,e)?{completion:a,edit:d}: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 e0;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",[Is.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=Oo.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=ID(s).map(a=>Xi.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Is.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,js),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 d=0;a&&a.index!==void 0?a.index===0?d=a[0].length:d=a.index:d=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<d&&(d=f.index+f[0].length),d},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 e0;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],d=new wi(s.lineNumber,a.column),u=a.text,f=t(d,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),C=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const b=ee.fromPositions(C,d),E=e.getModel().getValueInRange(b)+g,w=new Wl(b,E),A=[w,...DC(this.textModel,p,w)],I=ID(A).map(T=>Xi.fromPositions(T));e.executeEdits("inlineSuggestion.accept",A.map(T=>Is.replace(T.range,T.text))),e.setSelections(I,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const b=ee.fromPositions(r.range.getStartPosition(),Iv.ofText(g).addToPosition(d)),E=e.getModel().getValueInRange(b,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,E.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Qd(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})}};TE=gH([SC(9,gn),SC(10,lo),SC(11,co)],TE);var _l;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(_l||(_l={}));function DC(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(ee.fromPositions(i,r)),d=gD(i,s);if(d.lineNumber<1)return ps(new e0(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=pH(t.text,d);return n.map(f=>{const g=WO(gD(f,s),r),p=o.getValueInRange(ee.fromPositions(f,g)),C=Kp(a,p),b=ee.fromPositions(f,f.delta(0,C));return new Wl(b,u)})}function pH(o,e){let t="";const i=n7(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 ID(o){const e=i7.createSortPermutation(o,qp(s=>s.range,ee.compareRangesUsingStarts)),i=new ZA(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var xH=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)}},ag;class U9{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 TD extends U9{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class vH extends U9{constructor(){super("recentlyUsed"),this._cache=new zp(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,d=-1;for(let u=0;u<i.length&&i[u].score[0]===s;u++){const f=`${e.getLanguageId()}/${i[u].textLabel}`,g=this._cache.peek(f);if(g&&g.touch>d&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(d=g.touch,a=u),i[u].completion.preselect&&r===-1)return r=u}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:Uw.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class mH extends U9{constructor(){super("recentlyUsedByPrefix"),this._trie=s7.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:d,insertText:u}=i[a].completion;if(d===r.type&&u===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:Uw.fromString(i.type),this._trie.set(t,i)}}}var Gc;let ME=(Gc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Nt,this._persistSoon=new io(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Mw.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=ag._strategyCtors.get(i)||TD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${ag._storagePrefix}/${i}`,a);d&&this._strategy.fromJSON(JSON.parse(d))}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(`${ag._storagePrefix}/${this._strategy.name}`,i,t,1)}}},ag=Gc,Gc._strategyCtors=new Map([["recentlyUsedByPrefix",mH],["recentlyUsed",vH],["first",TD]]),Gc._storagePrefix="suggest/memories",Gc);ME=ag=xH([PD(0,ud),PD(1,Ds)],ME);const Fb=Zl("ISuggestMemories");Xl(Fb,ME,1);var _H=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},bH=function(o,e){return function(t,i){e(t,i,o)}},RE,_u;let mm=(_u=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=RE.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)}},RE=_u,_u.AtEnd=new Nn("atEndOfWord",!1),_u);mm=RE=_H([bH(1,Gn)],mm);var CH=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},EH=function(o,e){return function(t,i){e(t,i,o)}},lg,bu;let x0=(bu=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=lg.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(lg._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=lg._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},lg=bu,bu.OtherSuggestions=new Nn("hasOtherSuggestions",!1),bu);x0=lg=CH([EH(1,Gn)],x0);class yH{constructor(e,t,i,n){this._disposables=new Nt,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||!_r(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new Lv;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 Ar=class Ar{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Ar._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Ar._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>=Ar._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>Ar._maxDuration){setTimeout(()=>Ar._bracketsRightYield(e,t+1,i,n,s));break}if(d.bracketInfo.isOpeningBracket){const f=d.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=d.bracketInfo.getOpeningBrackets()[0].bracketText;let g=r.has(f)?r.get(f):0;if(g-=1,r.set(f,Math.max(0,g)),g<0){let p=s.get(f);p||(p=new ok,s.set(f,p)),p.push(d.range)}}n=d.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,d=Date.now();for(;;){if(t>=Ar._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>Ar._maxDuration){setTimeout(()=>Ar._bracketsLeftYield(e,t+1,i,n,s,r));break}if(u.bracketInfo.isOpeningBracket){const g=u.bracketInfo.bracketText;let p=a.has(g)?a.get(g):0;if(p-=1,a.set(g,Math.max(0,p)),p<0){const C=s.get(g);if(C){const b=C.shift();C.size===0&&s.delete(g);const E=ee.fromPositions(u.range.getEndPosition(),b.getStartPosition()),w=ee.fromPositions(u.range.getStartPosition(),b.getEndPosition());r.push({range:E}),r.push({range:w}),Ar._addBracketLeading(i,w,r)}}}else{const g=u.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(g)?a.get(g):0;a.set(g,p+1)}n=u.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:ee.fromPositions(new wi(n,s),t.getEndPosition())}),i.push({range:ee.fromPositions(new wi(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:ee.fromPositions(new wi(r,a),t.getEndPosition())}),i.push({range:ee.fromPositions(new wi(r,1),t.getEndPosition())}))}}};Ar._maxDuration=30,Ar._maxRounds=2;let _m=Ar;const ja=class ja{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return ja.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return ja.None;const[s]=await new _m().provideSelectionRanges(i,[n]);if(s.length===0)return ja.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return ja.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends ja{distance(d,u){if(!n.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const f=typeof u.label=="string"?u.label:u.label.label,g=r[f];if(o7(g))return 2<<20;const p=Tv(g,ee.fromPositions(d),ee.compareRangesUsingStarts),C=p>=0?g[p]:g[Math.max(0,~p-1)];let b=s.length;for(const E of s){if(!ee.containsRange(E.range,C))break;b-=1}return b}}}};ja.None=new class extends ja{distance(){return 0}};let bm=ja,MD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class yc{constructor(e,t,i,n,s,r,a=rk.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=yc._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=yc._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=yc._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=[],d=!this._options.filterGraceful||r.length>2e3?ak:r7;for(let u=0;u<r.length;u++){const f=r[u];if(f.isInvalid)continue;const g=this._itemsByProvider.get(f.provider);g?g.push(f):this._itemsByProvider.set(f.provider,[f]);const p=f.position.column-f.editStart.column,C=p+i-(f.position.column-this._column);if(n.length!==C&&(n=C===0?"":t.slice(-C),s=n.toLowerCase()),f.word=n,C===0)f.score=Gg.Default;else{let b=0;for(;b<p;){const E=n.charCodeAt(b);if(E===32||E===9)b+=1;else break}if(b>=C)f.score=Gg.Default;else if(typeof f.completion.filterText=="string"){const E=d(n,s,b,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!E)continue;a7(f.completion.filterText,f.textLabel)===0?f.score=E:(f.score=l7(n,s,b,f.textLabel,f.labelLow,0),f.score[0]=E[0])}else{const E=d(n,s,b,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!E)continue;f.score=E}}f.idx=u,f.distance=this._wordDistance.distance(f.position,f.completion),a.push(f),e.push(f.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?c7(e.length-.85,e,(u,f)=>u-f):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 yc._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 yc._compareCompletionItems(e,t)}}var wH=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)}},NE;class wd{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 SH(o,e,t){if(!e.getContextKeyValue(or.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(or.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function DH(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(or.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Cm=NE=class{constructor(e,t,i,n,s,r,a,d,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=d,this._envService=u,this._toDispose=new Nt,this._triggerCharacterListener=new Nt,this._triggerQuickSuggest=new Op,this._triggerState=void 0,this._completionDisposables=new Nt,this._onDidCancel=new mn,this._onDidTrigger=new mn,this._onDidSuggest=new mn,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Xi(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 f=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{f=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{f=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(g=>{f||this._onCursorChange(g)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!f&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Po(this._triggerCharacterListener),Po([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(!DH(this._editor,this._contextKeyService,this._configurationService)||wd.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="";u7(i.charCodeAt(i.length-1))?h7(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[d,u]of this._completionModel.getItemsByProvider())s.has(d)||a.set(d,u);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;hf.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=Oo.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!wd.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(!hf.isAllOff(n)){if(!hf.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(hf.valueFor(n,r)!=="on")return}SH(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Yn(this._editor.hasModel()),Yn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new wd(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,C,b;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new wd(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 go;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:d}=NE.createSuggestFilter(this._editor),u=new up(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(C=e.completionOptions)==null?void 0:C.providerFilter,(b=e.completionOptions)==null?void 0:b.providerItemsToReuse,d),f=bm.create(this._editorWorkerService,this._editor),g=j9(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([E,w])=>{var P;if((P=this._requestToken)==null||P.dispose(),!this._editor.hasModel())return;let A=e==null?void 0:e.clipboardText;if(!A&&E.needsClipboard&&(A=await this._clipboardService.readText()),this._triggerState===void 0)return;const I=this._editor.getModel(),T=new wd(I,this._editor.getPosition(),e),M={...rk.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new yc(E.items,this._context.column,{leadingLineContent:T.leadingLineContent,characterCountDelta:T.column-this._context.column},w,this._editor.getOption(119),this._editor.getOption(113),M,A),this._completionDisposables.add(E.disposable),this._onNewContext(T),this._reportDurationsTelemetry(E.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const j of E.items)j.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${j.provider._debugDisplayName}`,j.completion)}).catch(ps)}_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(yo(e.leadingLineContent)!==yo(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(wd.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=wd.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})}}}}};Cm=NE=wH([gc(1,Yl),gc(2,y0),gc(3,ka),gc(4,ch),gc(5,Gn),gc(6,Ds),gc(7,Si),gc(8,d7)],Cm);const h_=class h_{constructor(e,t){this._disposables=new Nt,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 d=i[a];if(r.getValueLengthInRange(d)>h_._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(d),multiline:d.startLineNumber!==d.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()}};h_._maxSelectionLength=51200;let OE=h_;var AH=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},AC=function(o,e){return function(t,i){e(t,i,o)}};let HE=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Nt,this.element=ai(e,pi(".suggest-status-bar"));const r=(a=>a instanceof Jf?i.createInstance(f7,a,{useComma:!0}):void 0);this._leftActions=new zg(this.element,{actionViewItemProvider:r}),this._rightActions=new zg(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()}};HE=AH([AC(2,gn),AC(3,ah),AC(4,Gn)],HE);var kH=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},BH=function(o,e){return function(t,i){e(t,i,o)}};function q9(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let WE=class{constructor(e,t){this._editor=e,this._onDidClose=new mn,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new mn,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Nt,this._renderDisposeable=new Nt,this._borderWidth=1,this._size=new ms(330,0),this.domNode=pi(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(D0,{editor:e}),this._body=pi(".body"),this._scrollbar=new lk(this._body,{alwaysConsumeMouseWheel:!0}),ai(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=ai(this._body,pi(".header")),this._close=ai(this._header,pi("span"+Qn.asCSSSelector(tn.close))),this._close.title=S("details.close","Close"),this._type=ai(this._header,pi("p.type")),this._docs=ai(this._body,pi("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`,d=`${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=d,this._close.style.width=d}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=S("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 Fo().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!q9(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,Xr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else il(this._type),this._type.title="",gr(this._type),this.domNode.classList.add("no-type");if(il(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),il(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 ms(e,t);ms.equals(i,this._size)||(this._size=i,g7(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}};WE=kH([BH(1,gn)],WE);class FH{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Nt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new S9,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 d=!1;a.west&&(r=n.width-a.dimension.width,d=!0),a.north&&(s=n.height-a.dimension.height,d=!0),d&&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=$p(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new ms(220,2*s.lineHeight),a=e.top,d=(function(){const P=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),j=-s.borderWidth+e.left+e.width,U=new ms(P,n.height-e.top-s.borderHeight-s.verticalPadding),Q=U.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:j,fit:P-t.width,maxSizeTop:U,maxSizeBottom:Q,minSize:r.with(Math.min(P,r.width))}})(),u=(function(){const P=e.left-s.borderWidth-s.horizontalPadding,j=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),U=new ms(P,n.height-e.top-s.borderHeight-s.verticalPadding),Q=U.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:j,fit:P-t.width,maxSizeTop:U,maxSizeBottom:Q,minSize:r.with(Math.min(P,r.width))}})(),f=(function(){const P=e.left,j=-s.borderWidth+e.top+e.height,U=new ms(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:j,left:P,fit:U.height-t.height,maxSizeBottom:U,maxSizeTop:U,minSize:r.with(U.width)}})(),g=[d,u,f],p=g.find(P=>P.fit>=0)??g.sort((P,j)=>j.fit-P.fit)[0],C=e.top+e.height-s.borderHeight;let b,E=t.height;const w=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);E>w&&(E=w);let A;i?E<=p.maxSizeTop.height?(b=!0,A=p.maxSizeTop):(b=!1,A=p.maxSizeBottom):E<=p.maxSizeBottom.height?(b=!1,A=p.maxSizeBottom):(b=!0,A=p.maxSizeTop);let{top:I,left:T}=p;!b&&E>e.height&&(I=C-E);const M=this._editor.getDomNode();if(M){const P=M.getBoundingClientRect();I-=P.top,T-=P.left}this._applyTopLeft({left:T,top:I}),this._resizable.enableSashes(!b,p===d,b,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=A,this._resizable.layout(E,Math.min(A.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var el;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(el||(el={}));const LH=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Rx(o,e,t,i,n){if(Qn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(ds.isUri(n))return[];const s=i===el.ROOT_FOLDER?["rootfolder-icon"]:i===el.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===jo.data)r=Mv.parseMetaData(t).get(Mv.META_DATA_LABEL);else{const a=t.path.match(LH);a?(r=Nx(a[2].toLowerCase()),a[1]&&s.push(`${Nx(a[1].toLowerCase())}-name-dir-icon`)):r=Nx(t.authority.toLowerCase())}if(i===el.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===el.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 d=r.split(".");for(let u=1;u<d.length;u++)s.push(`${d.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=IH(o,e,t);a&&s.push(`${Nx(a)}-lang-file-icon`)}}return s}function IH(o,e,t){if(!t)return null;let i=null;if(t.scheme===jo.data){const s=Mv.parseMetaData(t).get(Mv.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Kg?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Nx(o){return o.replace(/[\s]/g,"/")}var PH=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},kC=function(o,e){return function(t,i){e(t,i,o)}};function kB(o){return`suggest-aria-id:${o}`}const TH=Ws("suggest-more-info",tn.chevronRight,S("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var ma;const MH=new(ma=class{extract(e,t){if(e.textLabel.match(ma._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(ma._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=ma._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},ma._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*\))/,ma._regexStrict=new RegExp(`^${ma._regexRelaxed.source}$`,"i"),ma);let zE=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new mn,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Nt,i=e;i.classList.add("show-file-icons");const n=ai(e,pi(".icon")),s=ai(n,pi("span.colorspan")),r=ai(e,pi(".contents")),a=ai(r,pi(".main")),d=ai(a,pi(".icon-label.codicon")),u=ai(a,pi("span.left")),f=ai(a,pi("span.right")),g=new AA(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=ai(u,pi("span.signature-label")),C=ai(u,pi("span.qualifier-label")),b=ai(f,pi("span.details-label")),E=ai(f,pi("span.readMore"+Qn.asCSSSelector(TH)));return E.title=S("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:d,parametersLabel:p,qualifierLabel:C,detailsLabel:b,readMore:E,disposables:t,configureFont:()=>{const A=this._editor.getOptions(),I=A.get(50),T=I.getMassagedFontFamily(),M=I.fontFeatureSettings,P=A.get(120)||I.fontSize,j=A.get(121)||I.lineHeight,U=I.fontWeight,Q=I.letterSpacing,oe=`${P}px`,le=`${j}px`,re=`${Q}px`;i.style.fontSize=oe,i.style.fontWeight=U,i.style.letterSpacing=re,a.style.fontFamily=T,a.style.fontFeatureSettings=M,a.style.lineHeight=le,n.style.height=le,n.style.width=le,E.style.height=le,E.style.width=le}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=kB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:J_(e.score)},r=[];if(n.kind===19&&MH.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=Rx(this._modelService,this._languageService,ds.from({scheme:"fake",path:e.textLabel}),el.FILE),d=Rx(this._modelService,this._languageService,ds.from({scheme:"fake",path:n.detail}),el.FILE);s.extraClasses=a.length>d.length?a:d}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[Rx(this._modelService,this._languageService,ds.from({scheme:"fake",path:e.textLabel}),el.FOLDER),Rx(this._modelService,this._languageService,ds.from({scheme:"fake",path:n.detail}),el.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Qn.asClassNameArray(Uw.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=BC(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=BC(n.label.detail||""),i.detailsLabel.textContent=BC(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Xr(i.detailsLabel):gr(i.detailsLabel),q9(e)?(i.right.classList.add("can-expand-details"),Xr(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"),gr(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};zE=PH([kC(1,Wo),kC(2,Ba),kC(3,oa)],zE);function BC(o){return o.replace(/\r\n|\r|\n/g,"")}var RH=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},Ox=function(o,e){return function(t,i){e(t,i,o)}},tf;xi("editorSuggestWidget.background",ck,S("editorSuggestWidgetBackground","Background color of the suggest widget."));xi("editorSuggestWidget.border",p7,S("editorSuggestWidgetBorder","Border color of the suggest widget."));const NH=xi("editorSuggestWidget.foreground",Gp,S("editorSuggestWidgetForeground","Foreground color of the suggest widget."));xi("editorSuggestWidget.selectedForeground",dk,S("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));xi("editorSuggestWidget.selectedIconForeground",x7,S("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const OH=xi("editorSuggestWidget.selectedBackground",uk,S("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));xi("editorSuggestWidget.highlightForeground",hk,S("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));xi("editorSuggestWidget.focusHighlightForeground",v7,S("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));xi("editorSuggestWidgetStatus.foreground",nl(NH,.5),S("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class HH{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof sa}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(ms.is(t))return ms.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Kc;let VE=(Kc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Er,this._pendingShowDetails=new Er,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Op,this._disposables=new Nt,this._onDidSelect=new ZS,this._onDidFocus=new ZS,this._onDidHide=new mn,this._onDidShow=new mn,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new mn,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new S9,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new WH(this,e),this._persistedSize=new HH(t,e);class r{constructor(C,b,E=!1,w=!1){this.persistedSize=C,this.currentSize=b,this.persistHeight=E,this.persistWidth=w}}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 C,b;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:E,defaultSize:w}=this.getLayoutInfo(),A=Math.round(E/2);let{width:I,height:T}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-T)<=A)&&(T=((C=a.persistedSize)==null?void 0:C.height)??w.height),(!a.persistWidth||Math.abs(a.currentSize.width-I)<=A)&&(I=((b=a.persistedSize)==null?void 0:b.width)??w.width),this._persistedSize.store(new ms(I,T))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=ai(this.element.domNode,pi(".message")),this._listElement=ai(this.element.domNode,pi(".tree"));const d=this._disposables.add(s.createInstance(WE,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new FH(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(zE,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Iw("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>S("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let C=p.textLabel;if(typeof p.completion.label!="string"){const{detail:A,description:I}=p.completion.label;A&&I?C=S("label.full","{0} {1}, {2}",C,A,I):A?C=S("label.detail","{0} {1}",C,A):I&&(C=S("label.desc","{0}, {1}",C,I))}if(!p.isResolved||!this._isDetailsVisible())return C;const{documentation:b,detail:E}=p.completion,w=jw("{0}{1}",E||"",b?typeof b=="string"?b:b.value:"");return S("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",C,w)}}}),this._list.style(fk({listInactiveFocusBackground:OH,listInactiveFocusOutline:zu})),this._status=s.createInstance(HE,this.element.domNode,Oc);const g=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);g(),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)&&(g(),u()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Qi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Qi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Qi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Qi.HasFocusedSuggestion.bindTo(i),this._disposables.add(Hl(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=Vg(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=fo(async s=>{const r=Wg(()=>{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:kB(i)}))}).catch(ps)),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:gr(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=tf.LOADING_MESSAGE,gr(this._listElement,this._status.element),Xr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Zf(tf.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=tf.NO_SUGGESTIONS_MESSAGE,gr(this._listElement,this._status.element),Xr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Zf(tf.NO_SUGGESTIONS_MESSAGE);break;case 3:gr(this._messageElement),Xr(this._listElement,this._status.element),this._show();break;case 4:gr(this._messageElement),Xr(this._listElement,this._status.element),this._show();break;case 5:gr(this._messageElement),Xr(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=Wg(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var d,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(d=this._loadingTimeout)==null||d.dispose(),(u=this._currentSuggestionDetails)==null||u.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=XS($d(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")):(q9(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=XS($d(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=$p(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 ms(s,n),this._contentWidget.setPreference(2);else{const d=t.width-i.borderHeight-2*i.horizontalPadding;s>d&&(s=d);const u=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,f=i.statusBarHeight+this._list.contentHeight+i.borderHeight,g=i.itemHeight+i.statusBarHeight,p=Uo(this.editor.getDomNode()),C=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),b=p.top+C.top+C.height,E=Math.min(t.height-b-i.verticalPadding,f),w=p.top+C.top-i.verticalPadding,A=Math.min(w,f);let I=Math.min(Math.max(A,E)+i.borderHeight,f);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<g&&(n=g),n>I&&(n=I),n>E||this._forceRenderingAbove&&w>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),I=A):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),I=E),this.element.preferredSize=new ms(u,i.defaultSize.height),this.element.maxSize=new ms(d,I),this.element.minSize=new ms(220,g),this._cappedHeight=n===f?{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=m7(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 ms(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}},tf=Kc,Kc.LOADING_MESSAGE=S("suggestWidget.loading","Loading..."),Kc.NO_SUGGESTIONS_MESSAGE=S("suggestWidget.noSuggestions","No suggestions."),Kc);VE=tf=RH([Ox(1,ud),Ox(2,Gn),Ox(3,oa),Ox(4,gn)],VE);class WH{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 ms(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 zH=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},Vh=function(o,e){return function(t,i){e(t,i,o)}},jE;class VH{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Tn.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(ee.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 Cu;let Qr=(Cu=class{static get(e){return e.getContribution(jE.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 Er,this._toDispose=new Nt,this._selectors=new jH(g=>g.priority),this._onWillInsertSuggestItem=new mn,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Cm,this.editor),this._selectors.register({priority:0,select:(g,p,C)=>this._memoryService.select(g,p,C)});const d=Qi.InsertMode.bindTo(n);d.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>d.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new Qb($d(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(VE,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(w=>this._insertSuggestion(w,0),this));const p=new yH(this.editor,g,this.model,w=>this._insertSuggestion(w,2));this._toDispose.add(p);const C=Qi.MakesTextEdit.bindTo(this._contextKeyService),b=Qi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),E=Qi.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(ws(()=>{C.reset(),b.reset(),E.reset()})),this._toDispose.add(g.onDidFocus(({item:w})=>{const A=this.editor.getPosition(),I=w.editStart.column,T=A.column;let M=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!w.completion.additionalTextEdits&&!(w.completion.insertTextRules&4)&&T-I===w.completion.insertText.length&&(M=this.editor.getModel().getValueInRange({startLineNumber:A.lineNumber,startColumn:I,endLineNumber:A.lineNumber,endColumn:T})!==w.completion.insertText),C.set(M),b.set(!wi.equals(w.editInsertEnd,w.editReplaceEnd)),E.set(!!w.provider.resolveCompletionItem||!!w.completion.documentation||w.completion.detail!==w.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(w=>{if(w.toKeyCodeChord().equals(new YS(!0,!1,!1,!1,33))||rl&&w.toKeyCodeChord().equals(new YS(!1,!1,!1,!0,33))){w.stopPropagation();return}w.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new Qb($d(e.getDomNode()),()=>this._toDispose.add(new OE(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Qb($d(e.getDomNode()),()=>this._toDispose.add(new x0(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(mm,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new VH(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const b of this._selectors.itemsOrderedByPriorityDesc)if(p=b.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let C=!1;if(g.triggerOptions.auto){const b=this.editor.getOption(119);b.selectionMode==="never"||b.selectionMode==="always"?C=b.selectionMode==="never":b.selectionMode==="whenTriggerCharacter"?C=g.triggerOptions.triggerKind!==1:b.selectionMode==="whenQuickSuggestion"&&(C=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,C)})),this._toDispose.add(this.model.onDidCancel(g=>{g.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=Qi.AcceptSuggestionsOnEnter.bindTo(n),f=()=>{const g=this.editor.getOption(1);u.set(g==="on"||g==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>f())),f()}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=Oo.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],d=new go;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const f=r.isResolved;let g=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const b=Xf.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(E=>{let w=ee.lift(E.range);if(w.startLineNumber===r.position.lineNumber&&w.startColumn>r.position.column){const A=this.editor.getPosition().column-r.position.column,I=A,T=ee.spansMultipleLines(w)?0:A;w=new ee(w.startLineNumber,w.startColumn+I,w.endLineNumber,w.endColumn+T)}return Is.replaceMove(w,E.text)})),b.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const b=new rr;let E;const w=n.onDidChangeContent(M=>{if(M.isFlush){d.cancel(),w.dispose();return}for(const P of M.changes){const j=ee.getEndPosition(P.range);(!E||wi.isBefore(j,E))&&(E=j)}}),A=t;t|=2;let I=!1;const T=this.editor.onWillType(()=>{T.dispose(),I=!0,A&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(E&&r.completion.additionalTextEdits.some(P=>wi.isBefore(E,ee.getStartPosition(P.range))))return!1;I&&this.editor.pushUndoStop();const M=Xf.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(P=>Is.replaceMove(ee.lift(P.range),P.text))),M.restoreRelativeVerticalPositionOfCursor(this.editor),(I||!(A&2))&&this.editor.pushUndoStop(),!0}).then(M=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",b.elapsed(),M),p=M===!0?1:M===!1?0:-2}).finally(()=>{w.dispose(),T.dispose()}))}let{insertText:C}=r.completion;if(r.completion.insertTextRules&4||(C=Zu.escape(C)),this.model.cancel(),i.insert(C,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.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===Em.id)this.model.trigger({auto:!0,retrigger:!0});else{const b=new rr;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(E=>{r.completion.extensionId?js(E):ps(E)}).finally(()=>{g=b.elapsed()}))}t&4&&this._alternatives.value.set(e,b=>{for(d.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(b,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,f,g,p,e.index,e.model.items),this.model.clear(),d.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const d=new Map;for(let C=0;C<Math.min(30,a.length);C++){const b=a[C].textLabel;d.has(b)?d.get(b).push(C):d.set(b,[C])}const u=d.get(e.textLabel),g=u&&u.length>1?u[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:jA(al(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:_7(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){Yn(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(_r(e.completion.additionalTextEdits)){const t=S("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);ia(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,d=r.column;return d-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:d})!==s.completion.insertText};to.once(this.model.onDidTrigger)(s=>{const r=[];to.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Po(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Po(r),a.items.length===0){i();return}const d=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[d];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:d,item:u,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)}},jE=Cu,Cu.ID="editor.contrib.suggestController",Cu);Qr=jE=zH([Vh(1,Fb),Vh(2,lo),Vh(3,Gn),Vh(4,gn),Vh(5,ch),Vh(6,ka)],Qr);class jH{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 f_=class f_ extends _t{constructor(){super({id:f_.id,label:S("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:Ue.and(K.writable,K.hasCompletionItemProvider,Qi.Visible.toNegated()),kbOpts:{kbExpr:K.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Qr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};f_.id="editor.action.triggerSuggest";let Em=f_;Sn(Qr.ID,Qr,2);Te(Em);const yr=190,zo=Zo.bindToContribution(Qr.get);Ii(new zo({id:"acceptSelectedSuggestion",precondition:Ue.and(Qi.Visible,Qi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Ue.and(Qi.Visible,K.textInputFocus),weight:yr},{primary:3,kbExpr:Ue.and(Qi.Visible,K.textInputFocus,Qi.AcceptSuggestionsOnEnter,Qi.MakesTextEdit),weight:yr}],menuOpts:[{menuId:Oc,title:S("accept.insert","Insert"),group:"left",order:1,when:Qi.HasInsertAndReplaceRange.toNegated()},{menuId:Oc,title:S("accept.insert","Insert"),group:"left",order:1,when:Ue.and(Qi.HasInsertAndReplaceRange,Qi.InsertMode.isEqualTo("insert"))},{menuId:Oc,title:S("accept.replace","Replace"),group:"left",order:1,when:Ue.and(Qi.HasInsertAndReplaceRange,Qi.InsertMode.isEqualTo("replace"))}]}));Ii(new zo({id:"acceptAlternativeSelectedSuggestion",precondition:Ue.and(Qi.Visible,K.textInputFocus,Qi.HasFocusedSuggestion),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Oc,group:"left",order:2,when:Ue.and(Qi.HasInsertAndReplaceRange,Qi.InsertMode.isEqualTo("insert")),title:S("accept.replace","Replace")},{menuId:Oc,group:"left",order:2,when:Ue.and(Qi.HasInsertAndReplaceRange,Qi.InsertMode.isEqualTo("replace")),title:S("accept.insert","Insert")}]}));Cs.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Ii(new zo({id:"hideSuggestWidget",precondition:Qi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:9,secondary:[1033]}}));Ii(new zo({id:"selectNextSuggestion",precondition:Ue.and(Qi.Visible,Ue.or(Qi.MultipleSuggestions,Qi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Ii(new zo({id:"selectNextPageSuggestion",precondition:Ue.and(Qi.Visible,Ue.or(Qi.MultipleSuggestions,Qi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:12,secondary:[2060]}}));Ii(new zo({id:"selectLastSuggestion",precondition:Ue.and(Qi.Visible,Ue.or(Qi.MultipleSuggestions,Qi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Ii(new zo({id:"selectPrevSuggestion",precondition:Ue.and(Qi.Visible,Ue.or(Qi.MultipleSuggestions,Qi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Ii(new zo({id:"selectPrevPageSuggestion",precondition:Ue.and(Qi.Visible,Ue.or(Qi.MultipleSuggestions,Qi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:11,secondary:[2059]}}));Ii(new zo({id:"selectFirstSuggestion",precondition:Ue.and(Qi.Visible,Ue.or(Qi.MultipleSuggestions,Qi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Ii(new zo({id:"focusSuggestion",precondition:Ue.and(Qi.Visible,Qi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Ii(new zo({id:"focusAndAcceptSuggestion",precondition:Ue.and(Qi.Visible,Qi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Ii(new zo({id:"toggleSuggestionDetails",precondition:Ue.and(Qi.Visible,Qi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Oc,group:"right",order:1,when:Ue.and(Qi.DetailsVisible,Qi.CanResolve),title:S("detail.more","Show Less")},{menuId:Oc,group:"right",order:1,when:Ue.and(Qi.DetailsVisible.toNegated(),Qi.CanResolve),title:S("detail.less","Show More")}]}));Ii(new zo({id:"toggleExplainMode",precondition:Qi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Ii(new zo({id:"toggleSuggestionFocus",precondition:Qi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:2570,mac:{primary:778}}}));Ii(new zo({id:"insertBestCompletion",precondition:Ue.and(K.textInputFocus,Ue.equals("config.editor.tabCompletion","on"),mm.AtEnd,Qi.Visible.toNegated(),x0.OtherSuggestions.toNegated(),Oo.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest($A(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:yr,primary:2}}));Ii(new zo({id:"insertNextSuggestion",precondition:Ue.and(K.textInputFocus,Ue.equals("config.editor.tabCompletion","on"),x0.OtherSuggestions,Qi.Visible.toNegated(),Oo.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:2}}));Ii(new zo({id:"insertPrevSuggestion",precondition:Ue.and(K.textInputFocus,Ue.equals("config.editor.tabCompletion","on"),x0.OtherSuggestions,Qi.Visible.toNegated(),Oo.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:yr,kbExpr:K.textInputFocus,primary:1026}}));Te(class extends _t{constructor(){super({id:"editor.action.resetSuggestSize",label:S("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Qr.get(e))==null||t.resetWidgetSize()}});class $H extends Ot{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 mn),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=Qr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,d,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Qd(g,f):void 0;if(!p)return-1;const C=wi.lift(d),b=u.map((w,A)=>{const I=kg.fromSuggestion(n,f,C,w,this.isShiftKeyPressed),T=Qd(I.toSingleTextEdit(),f),M=AB(p,T);return{index:A,valid:M,prefixLength:T.text.length,suggestItem:w}}).filter(w=>w&&w.valid&&w.prefixLength>0),E=b7(b,qp(w=>w.prefixLength,Q_));return E?E.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(to.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const d=this.editor.getPosition(),u=this.editor.getModel();if(!d||!u)return;const f=kg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!UH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Qr.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 kg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Qr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Qr.get(this.editor);e==null||e.forceRenderingAbove()}}class kg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Zu().parse(r);u.children.length<100&&vm.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new kg(ee.fromPositions(i.delta(0,-d.overwriteBefore),i.delta(0,Math.max(d.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 C7(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new Wl(this.range,this.insertText)}}function UH(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var qH=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)}},$E,Eu;let Tr=(Eu=class extends Ot{static get(e){return e.getContribution($E.ID)}constructor(e,t,i,n,s,r,a,d,u,f){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=d,this._keybindingService=u,this._accessibilityService=f,this._editorObs=Ka(this.editor),this._positions=os(this,p=>{var C;return((C=this._editorObs.selections.read(p))==null?void 0:C.map(b=>b.getEndPosition()))??[new wi(1,1)]}),this._suggestWidgetAdaptor=this._register(new $H(this.editor,()=>{var p,C;return this._editorObs.forceUpdate(),(C=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:C.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(C=>{var b;(b=this.model.get())==null||b.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=er(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(C=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=er(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=er(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=er(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=os(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=nd(this,p=>{if(this._editorObs.isReadonly.read(p))return;const C=this._editorObs.model.read(p);return C?this._instantiationService.createInstance(TE,C,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,er(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),er(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),er(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=os(this,p=>{const C=this.model.read(p);return(C==null?void 0:C.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=GH(this._ghostTexts,this._store),this._ghostTextWidgets=E7(this,this._stablizedGhostTexts,(p,C)=>C.add(this._instantiationService.createInstance(IE,this.editor,{ghostText:p,minReservedLineCount:kl(0),targetTextModel:this.model.map(b=>b==null?void 0:b.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=$w(this),this._fontFamily=er(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new or(this._contextKeyService,this.model)),this._register(QS(this._editorObs.onDidType,(p,C)=>{var b;this._enabled.get()&&((b=this.model.get())==null||b.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([tv.Tab.id,tv.DeleteLeft.id,tv.DeleteRight.id,R5,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(b=>{var E;(E=this.model.get())==null||E.trigger(b)})})),this._register(QS(this._editorObs.selections,(p,C)=>{var b;C.some(E=>E.reason===3||E.source==="api")&&((b=this.model.get())==null||b.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||d0.dropDownVisible||lh(p=>{var C;(C=this.model.get())==null||C.stop(p)})})),this._register(Fs(p=>{var b;const C=(b=this.model.read(p))==null?void 0:b.state.read(p);C!=null&&C.suggestItem?C.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(ws(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=X_(this,(p,C)=>{var w;const b=this.model.read(p),E=b==null?void 0:b.state.read(p);return this._suggestWidgetSelectedItem.get()?C:(w=E==null?void 0:E.inlineCompletion)==null?void 0:w.semanticId});this._register(y7(os(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,C,b)=>{const E=this.model.get(),w=E==null?void 0:E.state.get();if(!w||!E)return;const A=E.textModel.getLineContent(w.primaryGhostText.lineNumber);await nb(50,r1(b)),await w7(this._suggestWidgetSelectedItem,tg,()=>!1,r1(b)),await this._accessibilitySignalService.playSignal(qA.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(w.primaryGhostText.renderForScreenReader(A))})),this._register(new Y1(this.editor,this.model,this._instantiationService)),this._register(NO(os(p=>{const C=this._fontFamily.read(p);return C===""||C==="default"?"":`
43
+ .monaco-editor .ghost-text-decoration,
44
+ .monaco-editor .ghost-text-decoration-preview,
45
+ .monaco-editor .ghost-text {
46
+ font-family: ${C};
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=S("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),ia(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 wi(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},$E=Eu,Eu.ID="editor.contrib.inlineCompletionsController",Eu);Tr=$E=qH([xl(1,gn),xl(2,Gn),xl(3,Ds),xl(4,lo),xl(5,Mr),xl(6,Si),xl(7,UA),xl(8,Xs),xl(9,Y_)],Tr);function GH(o,e){const t=br("result",[]),i=[];return e.add(Fs(n=>{const s=o.read(n);lh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=br("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const g_=class g_ extends _t{constructor(){super({id:g_.ID,label:S("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Ue.and(K.writable,or.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Tr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};g_.ID=O5;let UE=g_;const p_=class p_ extends _t{constructor(){super({id:p_.ID,label:S("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Ue.and(K.writable,or.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Tr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};p_.ID=N5;let qE=p_;class KH extends _t{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:S("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:K.writable})}async run(e,t){const i=Tr.get(t);await gk(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 ZH extends _t{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:S("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Ue.and(K.writable,or.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Ue.and(K.writable,or.inlineSuggestionVisible)},menuOpts:[{menuId:si.InlineSuggestionToolbar,title:S("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=Tr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class XH extends _t{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:S("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Ue.and(K.writable,or.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:si.InlineSuggestionToolbar,title:S("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=Tr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class YH extends _t{constructor(){super({id:R5,label:S("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:or.inlineSuggestionVisible,menuOpts:[{menuId:si.InlineSuggestionToolbar,title:S("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Ue.and(or.inlineSuggestionVisible,K.tabMovesFocus.toNegated(),or.inlineSuggestionHasIndentationLessThanTabSize,Qi.Visible.toNegated(),K.hoverFocused.toNegated())}})}async run(e,t){var n;const i=Tr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const x_=class x_ extends _t{constructor(){super({id:x_.ID,label:S("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:or.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Tr.get(t);lh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};x_.ID="editor.action.inlineSuggest.hide";let GE=x_;const v_=class v_ extends Ko{constructor(){super({id:v_.ID,title:S("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:si.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Ue.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Ds),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};v_.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let KE=v_;var QH=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},X0=function(o,e){return function(t,i){e(t,i,o)}};class JH{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 ZE=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=Tr.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 dv(1e3,this,ee.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 dv(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new dv(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=Tr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new JH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Nt,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(d0,this._editor,!1,kl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const d={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new Ju([d])}renderScreenReaderText(e,t){const i=new Nt,n=pi,s=n("div.hover-row.markdown-hover"),r=ai(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new D0({editor:this._editor},this._languageService,this._openerService)),d=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=S("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new Fo().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(Fs(u=>{var g;const f=(g=t.controller.model.read(u))==null?void 0:g.primaryGhostText.read(u);if(f){const p=this._editor.getModel().getLineContent(f.lineNumber);d(f.renderForScreenReader(p))}else Bv(r)})),e.fragment.appendChild(s),i}};ZE=QH([X0(1,Ba),X0(2,Aa),X0(3,Y_),X0(4,gn),X0(5,ka)],ZE);class eW{}const Lb=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}};Sn(Tr.ID,Tr,3);Te(KH);Te(UE);Te(qE);Te(ZH);Te(XH);Te(YH);Te(GE);as(KE);fh.register(ZE);Lb.register(new eW);var tW=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},FC=function(o,e){return function(t,i){e(t,i,o)}},cg,Zc;let hp=(Zc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Nt,this.toUnhookForKeyboard=new Nt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new yb(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=>{ps(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(cg.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 pk(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=fo(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){ps(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?ee.lift(n[0].originSelectionRange):new ee(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:d}of n)d&&(a=ee.plusRange(a,d));this.addDecoration(a,new Fo().appendText(S("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(d=>{if(!d.object||!d.object.textEditorModel){d.dispose();return}const{object:{textEditorModel:u}}=d,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){d.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new Fo().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=cg.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 d=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,d)}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+cg.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new ee(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 Vw)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?rx(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 lx({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Gn);return qo.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},cg=Zc,Zc.ID="editor.contrib.gotodefinitionatposition",Zc.MAX_SOURCE_PREVIEW_LINES=8,Zc);hp=cg=tW([FC(1,Fa),FC(2,Ba),FC(3,Si)],hp);Sn(hp.ID,hp,2);var BB=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},ym=function(o,e){return function(t,i){e(t,i,o)}};class RD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let XE=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new mn,this.onDidChange=this._onDidChange.event,this._dispoables=new Nt,this._markers=[],this._nextIdx=-1,ds.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,d)=>{let u=JS(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=ee.compareRangesUsingStarts(a,d)||To.compare(a.severity,d.severity):u=To.compare(a.severity,d.severity)||ee.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:ds.isUri(e)?e:void 0,severities:To.Error|To.Warning|To.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(d=>this._resourceFilter(d)))&&(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 RD(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=Tv(this._markers,{resource:e.uri},(r,a)=>JS(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=ee.lift(this._markers[r]);if(a.isEmpty()){const d=e.getWordAtPosition(a.getStartPosition());d&&(a=new ee(a.startLineNumber,d.startColumn,a.startLineNumber,d.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(ee.containsPosition(this._markers[i],t))return new RD(this._markers[i],i+1,this._markers.length)}}};XE=BB([ym(1,Tw),ym(2,Ds)],XE);const FB=Zl("IMarkerNavigationService");let YE=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new ok}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new XE(e,this._markerService,this._configService)}};YE=BB([ym(0,Tw),ym(1,Ds)],YE);Xl(FB,YE,1);var QE;(function(o){function e(t){switch(t){case mx.Ignore:return"severity-ignore "+Qn.asClassName(tn.info);case mx.Info:return Qn.asClassName(tn.info);case mx.Warning:return Qn.asClassName(tn.warning);case mx.Error:return Qn.asClassName(tn.error);default:return""}}o.className=e})(QE||(QE={}));var iW=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)}},JE;class nW{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 Nt,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(Hl(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new L7(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(){Po(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=ib(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);il(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let d=this._messageBlock;for(const p of a)d=document.createElement("div"),d.innerText=p,p===""&&(d.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(d);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),d.appendChild(p),t){const C=document.createElement("span");C.innerText=t,C.classList.add("source"),p.appendChild(C)}if(s)if(typeof s=="string"){const C=document.createElement("span");C.innerText=`(${s})`,C.classList.add("code"),p.appendChild(C)}else{this._codeLink=pi("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=b=>{this._openerService.open(s.target,{allowCommands:!0}),b.preventDefault(),b.stopPropagation()};const C=ai(this._codeLink,pi("span"));C.innerText=s.value,p.appendChild(this._codeLink)}}if(il(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),_r(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 C of n){const b=document.createElement("div"),E=document.createElement("a");E.classList.add("filename"),E.innerText=`${this._labelService.getUriBasenameLabel(C.resource)}(${C.startLineNumber}, ${C.startColumn}): `,E.title=this._labelService.getUriLabel(C.resource),this._relatedDiagnostics.set(E,C);const w=document.createElement("span");w.innerText=C.message,b.appendChild(E),b.appendChild(w),this._lines+=1,p.appendChild(b)}}const u=this._editor.getOption(50),f=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),g=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:f,scrollHeight:g})}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 To.Error:t=S("Error","Error");break;case To.Warning:t=S("Warning","Warning");break;case To.Info:t=S("Info","Info");break;case To.Hint:t=S("Hint","Hint");break}let i=S("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 yu;let fp=(yu=class extends em{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 Nt,this._onDidSelectRelatedInformation=new mn,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=To.Warning,this._backgroundColor=Fn.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(aW);let t=ey,i=sW;this._severity===To.Warning?(t=gv,i=oW):this._severity===To.Info&&(t=ty,i=rW);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(K5),secondaryHeadingColor:e.getColor(Z5)})}_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(JE.TitleMenu,this._contextKeyService);Nw(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=ai(e,pi(""))}_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 nW(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=ee.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 d=i>1?S("problems","{0} of {1} problems",t,i):S("change","{0} of {1} problem",t,i);this.setTitle(al(a.uri),d)}this._icon.className=`codicon ${QE.className(To.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()}},JE=yu,yu.TitleMenu=new si("gotoErrorTitleMenu"),yu);fp=JE=iW([jh(1,oa),jh(2,Aa),jh(3,ah),jh(4,gn),jh(5,Gn),jh(6,qg)],fp);const ND=qw(D7,S7),OD=qw(k7,A7),HD=qw(e1,B7),ey=xi("editorMarkerNavigationError.background",{dark:ND,light:ND,hcDark:Ol,hcLight:Ol},S("editorMarkerNavigationError","Editor marker navigation widget error color.")),sW=xi("editorMarkerNavigationError.headerBackground",{dark:nl(ey,.1),light:nl(ey,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),gv=xi("editorMarkerNavigationWarning.background",{dark:OD,light:OD,hcDark:Ol,hcLight:Ol},S("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),oW=xi("editorMarkerNavigationWarning.headerBackground",{dark:nl(gv,.1),light:nl(gv,.1),hcDark:"#0C141F",hcLight:nl(gv,.2)},S("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),ty=xi("editorMarkerNavigationInfo.background",{dark:HD,light:HD,hcDark:Ol,hcLight:Ol},S("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),rW=xi("editorMarkerNavigationInfo.headerBackground",{dark:nl(ty,.1),light:nl(ty,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),aW=xi("editorMarkerNavigation.background",F7,S("editorMarkerNavigationBackground","Editor marker navigation widget background."));var lW=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},Hx=function(o,e){return function(t,i){e(t,i,o)}},dg,wu;let ih=(wu=class{static get(e){return e.getContribution(dg.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Nt,this._editor=e,this._widgetVisible=LB.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(fp,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)||!ee.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:ee.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 wi(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=dg.get(r))==null||i.close(),(n=dg.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},dg=wu,wu.ID="editor.contrib.markerController",wu);ih=dg=lW([Hx(1,FB),Hx(2,Gn),Hx(3,$s),Hx(4,gn)],ih);class Ib extends _t{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=ih.get(t))==null||i.nagivate(this._next,this._multiFile))}}const Id=class Id extends Ib{constructor(){super(!0,!1,{id:Id.ID,label:Id.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:578,weight:100},menuOpts:{menuId:fp.TitleMenu,title:Id.LABEL,icon:Ws("marker-navigation-next",tn.arrowDown,S("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};Id.ID="editor.action.marker.next",Id.LABEL=S("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let wm=Id;const Pd=class Pd extends Ib{constructor(){super(!1,!1,{id:Pd.ID,label:Pd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:1602,weight:100},menuOpts:{menuId:fp.TitleMenu,title:Pd.LABEL,icon:Ws("marker-navigation-previous",tn.arrowUp,S("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Pd.ID="editor.action.marker.prev",Pd.LABEL=S("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let iy=Pd;class cW extends Ib{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:S("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:K.focus,primary:66,weight:100},menuOpts:{menuId:si.MenubarGoMenu,title:S({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class dW extends Ib{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:S("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:K.focus,primary:1090,weight:100},menuOpts:{menuId:si.MenubarGoMenu,title:S({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}Sn(ih.ID,ih,4);Te(wm);Te(iy);Te(cW);Te(dW);const LB=new Nn("markersNavigationVisible",!1),uW=Zo.bindToContribution(ih.get);Ii(new uW({id:"closeMarkersNavigation",precondition:LB,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:K.focus,primary:9,secondary:[1033]}}));var ua;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(ua||(ua={}));class hW extends _t{constructor(){super({id:M5,label:S({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:Ei("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:[ua.NoAutoFocus,ua.FocusIfVisible,ua.AutoFocusImmediately],enumDescriptions:[S("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),S("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),S("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:ua.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=ko.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=ua.FocusIfVisible;Object.values(ua).includes(s)?r=s:typeof s=="boolean"&&s&&(r=ua.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new ee(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},d=t.getOption(2)===2;n.isHoverVisible?r!==ua.NoAutoFocus?n.focus():a(d):a(d||r===ua.AutoFocusImmediately)}}class fW extends _t{constructor(){super({id:FM,label:S({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:Ei("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ko.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new ee(n.lineNumber,n.column,n.lineNumber,n.column),r=hp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class gW extends _t{constructor(){super({id:LM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:16,weight:100},metadata:{description:Ei("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.scrollUp()}}class pW extends _t{constructor(){super({id:IM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:18,weight:100},metadata:{description:Ei("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.scrollDown()}}class xW extends _t{constructor(){super({id:PM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:15,weight:100},metadata:{description:Ei("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.scrollLeft()}}class vW extends _t{constructor(){super({id:TM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:17,weight:100},metadata:{description:Ei("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.scrollRight()}}class mW extends _t{constructor(){super({id:MM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Ei("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.pageUp()}}class _W extends _t{constructor(){super({id:RM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Ei("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.pageDown()}}class bW extends _t{constructor(){super({id:NM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Ei("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.goToTop()}}class CW extends _t{constructor(){super({id:OM,label:S({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:K.hoverFocused,kbOpts:{kbExpr:K.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Ei("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ko.get(t);i&&i.goToBottom()}}class EW extends _t{constructor(){super({id:bb,label:HM,alias:"Increase Hover Verbosity Level",precondition:K.hoverVisible})}run(e,t,i){const n=ko.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(Ir.Increase,s,i==null?void 0:i.focus)}}class yW extends _t{constructor(){super({id:Cb,label:WM,alias:"Decrease Hover Verbosity Level",precondition:K.hoverVisible})}run(e,t,i){var r;const n=ko.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=ko.get(t))==null||r.updateHoverVerbosityLevel(Ir.Decrease,s,i==null?void 0:i.focus)}}var wW=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},LC=function(o,e){return function(t,i){e(t,i,o)}};const Or=pi;class SW{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 WD={type:1,filter:{include:_s.QuickFix},triggerAction:ar.QuickFixHover};let ny=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 d=a.range.startLineNumber===n?a.range.startColumn:1,u=a.range.endLineNumber===n?a.range.endColumn:s,f=this._markerDecorationsService.getMarker(i.uri,a);if(!f)continue;const g=new ee(e.range.startLineNumber,d,e.range.startLineNumber,u);r.push(new SW(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Ju([]);const i=new Nt,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)=>To.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Ju(n)}_renderMarkerHover(e){const t=new Nt,i=Or("div.hover-row"),n=ai(i,Or("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=ai(n,Or("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=Or("span");if(s){const E=ai(g,Or("span"));E.innerText=s}const p=ai(g,Or("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(qn(p,"click",E=>{this._openerService.open(a.target,{allowCommands:!0}),E.preventDefault(),E.stopPropagation()}));const C=ai(p,Or("span"));C.innerText=a.value;const b=ai(n,g);b.style.opacity="0.6",b.style.paddingLeft="6px"}else{const g=ai(n,Or("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(_r(d))for(const{message:g,resource:p,startLineNumber:C,startColumn:b}of d){const E=ai(n,Or("div"));E.style.marginTop="8px";const w=ai(E,Or("a"));w.innerText=`${al(p)}(${C}, ${b}): `,w.style.cursor="pointer",t.add(qn(w,"click",I=>{if(I.stopPropagation(),I.preventDefault(),this._openerService){const T={selection:{startLineNumber:C,startColumn:b}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:T}).catch(ps)}}));const A=ai(E,Or("span"));A.innerText=g,this._editor.applyFontInfo(A)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===To.Error||t.marker.severity===To.Warning||t.marker.severity===To.Info){const n=ih.get(this._editor);n&&e.statusBar.addAction({label:S("view problem","View Problem"),commandId:wm.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(Or("div"));this.recentMarkerCodeActionsInfo&&(e8.makeKey(this.recentMarkerCodeActionsInfo.marker)===e8.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=S("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Ot.None:Wg(()=>n.textContent=S("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(ws(()=>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=S("noQuickFixes","No quick fixes available");return}n.style.display="none";let d=!1;i.add(ws(()=>{d||a.dispose()})),e.statusBar.addAction({label:S("quick fixes","Quick Fix..."),commandId:C9,run:u=>{d=!0;const f=l0.get(this._editor),g=Uo(u);e.hide(),f==null||f.showCodeActions(WD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},ps)}}getCodeActions(e){return fo(t=>lf(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new ee(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),WD,Al.None,t))}};ny=wW([LC(1,I7),LC(2,Aa),LC(3,Si)],ny);class DW{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=Av.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)??Av.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Ug(d)||i.push(...DA(d).map(e))}return i}}var AW=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},zD=function(o,e){return function(t,i){e(t,i,o)}},sy;const VD=pi;var Su;let oy=(Su=class extends Ot{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Nt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new SA),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new D0({editor:this._editor},t,i)),this._computer=new DW(this._editor),this._hoverOperation=this._register(new H5(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(Hl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return sy.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=VD("div.hover-row.markdown-hover"),r=ai(s,VD("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,d=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${d}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!Eb(t,e.x,e.y))&&this.hide()}},sy=Su,Su.ID="editor.contrib.modesGlyphHoverWidget",Su);oy=sy=AW([zD(1,Ba),zD(2,Aa)],oy);var kW=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},BW=function(o,e){return function(t,i){e(t,i,o)}},Wf;let Sm=(Wf=class extends Ot{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Nt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new io(()=>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?Eb(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(oy,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Wf.ID="editor.contrib.marginHover",Wf);Sm=kW([BW(1,gn)],Sm);class FW{}class LW{}class IW{}Sn(ko.ID,ko,2);Sn(Sm.ID,Sm,2);Te(hW);Te(fW);Te(gW);Te(pW);Te(xW);Te(vW);Te(mW);Te(_W);Te(bW);Te(CW);Te(EW);Te(yW);fh.register(ap);fh.register(ny);K_((o,e)=>{const t=o.getColor(P7);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)}; }`))});Lb.register(new FW);Lb.register(new LW);Lb.register(new IW);function Jo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Bg(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 IB(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 T7(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:d}=o.getOptions(),u=(E,w)=>(w=w||1,t0.shiftIndent(E,E.length+w,r,a,d)),f=(E,w)=>(w=w||1,t0.unshiftIndent(E,E.length+w,r,a,d)),g=[],p=o.getLineContent(t);let C=yo(p),b=C;s.shouldIncrease(t)?(b=u(b),C=u(C)):s.shouldIndentNextLine(t)&&(b=u(b)),t++;for(let E=t;E<=i;E++){if(PW(o,E))continue;const w=o.getLineContent(E),A=yo(w),I=b;s.shouldDecrease(E,I)&&(b=f(b),C=f(C)),A!==b&&g.push(Is.replaceMove(new Xi(E,1,E,A.length+1),M7(b,a,d))),!s.shouldIgnore(E)&&(s.shouldIncrease(E,I)?(C=u(C),b=C):s.shouldIndentNextLine(E,I)?b=u(b):b=C)}return g}function PW(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var TW=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},MW=function(o,e){return function(t,i){e(t,i,o)}};const m_=class m_ extends _t{constructor(){super({id:m_.ID,label:S("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:K.writable,metadata:{description:Ei("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 WW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};m_.ID="editor.action.indentationToSpaces";let ry=m_;const __=class __ extends _t{constructor(){super({id:__.ID,label:S("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:K.writable,metadata:{description:Ei("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 zW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};__.ID="editor.action.indentationToTabs";let ay=__;class G9 extends _t{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Kl),n=e.get(Wo),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),d=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?S("configuredTabSize","Configured Tab Size"):f===r.tabSize?S("defaultTabSize","Default Tab Size"):f===a.tabSize?S("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(d,{placeHolder:S({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:d[u]}).then(f=>{if(f&&s&&!s.isDisposed()){const g=parseInt(f.label,10);this.displaySizeOnly?s.updateOptions({tabSize:g}):s.updateOptions({tabSize:g,indentSize:g,insertSpaces:this.insertSpaces})}})},50)}}const b_=class b_ extends G9{constructor(){super(!1,!1,{id:b_.ID,label:S("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Ei("indentUsingTabsDescription","Use indentation with tabs.")}})}};b_.ID="editor.action.indentUsingTabs";let ly=b_;const C_=class C_ extends G9{constructor(){super(!0,!1,{id:C_.ID,label:S("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Ei("indentUsingSpacesDescription","Use indentation with spaces.")}})}};C_.ID="editor.action.indentUsingSpaces";let cy=C_;const E_=class E_ extends G9{constructor(){super(!0,!0,{id:E_.ID,label:S("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Ei("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};E_.ID="editor.action.changeTabDisplaySize";let dy=E_;const y_=class y_ extends _t{constructor(){super({id:y_.ID,label:S("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Ei("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Wo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};y_.ID="editor.action.detectIndentation";let uy=y_;class RW extends _t{constructor(){super({id:"editor.action.reindentlines",label:S("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:K.writable,metadata:{description:Ei("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(co),n=t.getModel();if(!n)return;const s=IB(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class NW extends _t{constructor(){super({id:"editor.action.reindentselectedlines",label:S("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:K.writable,metadata:{description:Ei("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(co),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let d=a.startLineNumber,u=a.endLineNumber;if(d!==u&&a.endColumn===1&&u--,d===1){if(d===u)continue}else d--;const f=IB(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class OW{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(ee.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 zf;let Dm=(zf=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Nt,this.callOnModel=new Nt,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)||HW(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:d}=i.getOptions(),u=[],f={shiftIndent:b=>t0.shiftIndent(b,b.length+1,r,a,d),unshiftIndent:b=>t0.unshiftIndent(b,b.length+1,r,a,d)};let g=e.startLineNumber;for(;g<=e.endLineNumber;){if(this.shouldIgnoreLine(i,g)){g++;continue}break}if(g>e.endLineNumber)return;let p=i.getLineContent(g);if(!/\S/.test(p.substring(0,e.startColumn-1))){const b=_g(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(b!==null){const E=yo(p),w=Jo(b,r),A=Jo(E,r);if(w!==A){const I=Bg(w,r,d);u.push({range:new ee(g,1,g,E.length+1),text:I}),p=I+p.substring(E.length)}else{const I=xk(i,g,this._languageConfigurationService);if(I===0||I===8)return}}}const C=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const E=_g(s,{tokenization:{getLineTokens:w=>i.tokenization.getLineTokens(w),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(w,A)=>i.getLanguageIdAtPosition(w,A)},getLineContent:w=>w===C?p:i.getLineContent(w)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(E!==null){const w=Jo(E,r),A=Jo(yo(i.getLineContent(g+1)),r);if(w!==A){const I=w-A;for(let T=g+1;T<=e.endLineNumber;T++){const M=i.getLineContent(T),P=yo(M),U=Jo(P,r)+I,Q=Bg(U,r,d);Q!==P&&u.push({range:new ee(T,1,T,P.length+1),text:Q})}}}}if(u.length>0){this.editor.pushUndoStop();const b=new OW(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",b),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()}},zf.ID="editor.contrib.autoIndentOnPaste",zf);Dm=TW([MW(1,co)],Dm);function HW(o,e){const t=i=>R7(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function PB(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 d=o.getLineFirstNonWhitespaceColumn(r);if(d===0&&(d=o.getLineMaxColumn(r)),d===1)continue;const u=new ee(r,1,r,d),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class WW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),PB(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class zW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),PB(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}Sn(Dm.ID,Dm,2);Te(ry);Te(ay);Te(ly);Te(cy);Te(dy);Te(uy);Te(RW);Te(NW);Sn(cp.ID,cp,1);fh.register(sm);class VW{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 Xi(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Xi(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var jW=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)}},pv,Xc;let v0=(Xc=class{static get(e){return e.getContribution(pv.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var d;(d=this.currentRequest)==null||d.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 pk(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=fo(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var b;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=ee.lift(u.range);let g=u.range;const p=u.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+u.value.length},p>1&&(s=new Xi(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const C=new VW(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,C),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:pv.DECORATION}]),(b=this.decorationRemover)==null||b.cancel(),this.decorationRemover=nb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(ps)}).catch(ps)):Promise.resolve(void 0)}},pv=Xc,Xc.ID="editor.contrib.inPlaceReplaceController",Xc.DECORATION=Tn.register({description:"in-place-replace",className:"valueSetReplacement"}),Xc);v0=pv=jW([$W(1,Yl)],v0);class UW extends _t{constructor(){super({id:"editor.action.inPlaceReplace.up",label:S("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=v0.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class qW extends _t{constructor(){super({id:"editor.action.inPlaceReplace.down",label:S("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=v0.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}Sn(v0.ID,v0,4);Te(UW);Te(qW);class GW extends _t{constructor(){super({id:"expandLineSelection",label:S("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:K.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,Gw.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}Te(GW);class KW{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=ZW(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 ZW(o,e,t){e.sort((a,d)=>a.lineNumber===d.lineNumber?a.column-d.column:a.lineNumber-d.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,d=o.getLineCount();a<=d;a++){const u=o.getLineContent(a),f=u.length+1;let g=0;if(s<r&&e[s].lineNumber===a&&(g=e[s].column,s++,g===f)||u.length===0)continue;const p=iv(u);let C=0;if(p===-1)C=1;else if(p!==u.length-1)C=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const b=o.tokenization.getLineTokens(a),E=b.getStandardTokenType(b.findTokenIndexAtOffset(C));if(E===2||E===3)continue}C=Math.max(g,C),i[n++]=Is.delete(new ee(a,C,a,f))}return i}class TB{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 ee(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
+ `):this._isCopyingDown?t.addEditOperation(new ee(i.startLineNumber,1,i.startLineNumber,1),s+`
50
+ `):t.addEditOperation(new ee(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=Xi.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var XW=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},YW=function(o,e){return function(t,i){e(t,i,o)}};let hy=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=(g,p)=>e.getLanguageIdAtPosition(g,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:d,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,d,u);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const g=r.startLineNumber,p=this._isMovingDown?g+1:g-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new ee(1,1,1,1),null):(t.addEditOperation(new ee(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new ee(p,1,p,e.getLineMaxColumn(p)),null)),r=new Xi(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new ee(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let C=p;if(this.shouldAutoIndent(e,r)){const b=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(b!==null){const w=yo(e.getLineContent(g)),A=b+Jo(w,a);C=Bg(A,a,u)+this.trimStart(p)}else{const w={tokenization:{getLineTokens:I=>I===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(I),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:I=>I===r.startLineNumber?e.getLineContent(g):e.getLineContent(I)},A=_g(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(A!==null){const I=yo(e.getLineContent(g)),T=Jo(A,a),M=Jo(I,a);T!==M&&(C=Bg(T,a,u)+this.trimStart(p))}}t.addEditOperation(new ee(r.startLineNumber,1,r.startLineNumber,1),C+`
52
+ `);const E=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,C);if(E!==null)E!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,E);else{const w={tokenization:{getLineTokens:I=>I===r.startLineNumber?e.tokenization.getLineTokens(g):I>=r.startLineNumber+1&&I<=r.endLineNumber+1?e.tokenization.getLineTokens(I-1):e.tokenization.getLineTokens(I),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:I=>I===r.startLineNumber?C:I>=r.startLineNumber+1&&I<=r.endLineNumber+1?e.getLineContent(I-1):e.getLineContent(I)},A=_g(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(A!==null){const I=yo(e.getLineContent(r.startLineNumber)),T=Jo(A,a),M=Jo(I,a);if(T!==M){const P=T-M;this.getIndentEditsOfMovingBlock(e,t,r,a,u,P)}}}}else t.addEditOperation(new ee(r.startLineNumber,1,r.startLineNumber,1),C+`
53
+ `)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new ee(g,1,g+1,1),null),t.addEditOperation(new ee(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
+ `+p),this.shouldAutoIndent(e,r)){const C={tokenization:{getLineTokens:E=>E===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===g?e.getLineContent(r.startLineNumber):e.getLineContent(E)},b=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(b!==null)b!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,b);else{const E=_g(this._autoIndent,C,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(E!==null){const w=yo(e.getLineContent(r.startLineNumber)),A=Jo(E,a),I=Jo(w,a);if(A!==I){const T=A-I;this.getIndentEditsOfMovingBlock(e,t,r,a,u,T)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>t0.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>t0.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===_x.None||s.indentAction===_x.Indent?r=s.indentation+s.appendText:s.indentAction===_x.IndentOutdent?r=s.indentation:s.indentAction===_x.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=yo(e.getLineContent(n));let u=yo(r);const f=xk(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Jo(u,i),p=Jo(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(iv(r)>=0){const a=e.getLineMaxColumn(s),d=Jb(this._autoIndent,e,new ee(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,d)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(iv(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=Jb(this._autoIndent,e,new ee(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let f;if(a===s&&r!==void 0?f=r:f=e.getLineContent(a),iv(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=Jb(this._autoIndent,e,new ee(a,d,a,d),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}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 d=e.getLineContent(a),u=yo(d),g=Jo(u,n)+r,p=Bg(g,n,s);p!==u&&(t.addEditOperation(new ee(a,1,a,u.length+1),p),a===i.endLineNumber&&i.endColumn<=u.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}};hy=XW([YW(3,co)],hy);const bf=class bf{static getCollator(){return bf._COLLATOR||(bf._COLLATOR=new Intl.Collator),bf._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=QW(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=MB(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}};bf._COLLATOR=null;let gp=bf;function MB(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(gp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function QW(o,e,t){const i=MB(o,e,t);return i?Is.replace(new ee(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class RB extends _t{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)=>ee.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 TB(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class JW extends RB{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:S("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class ez extends RB{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:S("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class tz extends _t{constructor(){super({id:"editor.action.duplicateSelection",label:S("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:K.writable,menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({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 TB(a,!0));else{const d=new Xi(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new N7(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class NB extends _t{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(co),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new hy(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class iz extends NB{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:S("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class nz extends NB{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:S("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class OB extends _t{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 Xi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!gp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new gp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class sz extends OB{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:S("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:K.writable})}}class oz extends OB{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:S("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:K.writable})}}class rz extends _t{constructor(){super({id:"editor.action.removeDuplicateLines",label:S("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:K.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,d=t.getSelections();d.length===1&&d[0].isEmpty()&&(d=[new Xi(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let E=u.startLineNumber;E<=u.endLineNumber;E++){const w=i.getLineContent(E);f.has(w)||(g.push(w),f.add(w))}const p=new Xi(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),C=u.startLineNumber-r,b=new Xi(C,1,C+g.length-1,g[g.length-1].length);n.push(Is.replace(p,g.join(`
56
+ `))),s.push(b),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const w_=class w_ extends _t{constructor(){super({id:w_.ID,label:S("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:Zs(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new wi(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Ds),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new KW(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};w_.ID="editor.action.trimTrailingWhitespace";let fy=w_;class az extends _t{constructor(){super({id:"editor.action.deleteLines",label:S("lines.delete","Delete Line"),alias:"Delete Line",precondition:K.writable,kbOpts:{kbExpr:K.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 d=0,u=i.length;d<u;d++){const f=i[d];let g=f.startLineNumber,p=f.endLineNumber,C=1,b=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,b=1):g>1&&(g-=1,C=n.getLineMaxColumn(g)),r.push(Is.replace(new Xi(g,C,p,b),"")),a.push(new Xi(g-s,f.positionColumn,g-s,f.positionColumn)),s+=f.endLineNumber-f.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 lz extends _t{constructor(){super({id:"editor.action.indentLines",label:S("lines.indent","Indent Line"),alias:"Indent Line",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,O7.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class cz extends _t{constructor(){super({id:"editor.action.outdentLines",label:S("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:2140,weight:100}})}run(e,t){tv.Outdent.runEditorCommand(e,t,null)}}class dz extends _t{constructor(){super({id:"editor.action.insertLineBefore",label:S("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,vk.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class uz extends _t{constructor(){super({id:"editor.action.insertLineAfter",label:S("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:K.writable,kbOpts:{kbExpr:K.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,vk.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class HB extends _t{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let d=0,u=n.length-1;d<u;d++){const f=n[d],g=n[d+1];ee.intersectRanges(f,g)===null?s.push(f):n[d+1]=ee.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(d=>Is.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class hz extends HB{constructor(){super({id:"deleteAllLeft",label:S("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:K.writable,kbOpts:{kbExpr:K.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 d=r.startLineNumber-s;a=new Xi(d,r.startColumn,d,r.startColumn)}else a=new Xi(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(ee.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 ee(r,a,s.startLineNumber,1)}else return new ee(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new ee(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class fz extends HB{constructor(){super({id:"deleteAllRight",label:S("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:K.writable,kbOpts:{kbExpr:K.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 d=t[s],u=new Xi(d.startLineNumber-a,d.startColumn,d.startLineNumber-a,d.startColumn);d.intersectRanges(e)?i=u:n.push(u)}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 ee(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new ee(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(ee.compareRangesUsingStarts),n}}class gz extends _t{constructor(){super({id:"editor.action.joinLines",label:S("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:K.writable,kbOpts:{kbExpr:K.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(ee.compareRangesUsingStarts);const s=[],r=i.reduce((p,C)=>p.isEmpty()?p.endLineNumber===C.startLineNumber?(n.equalsSelection(p)&&(n=C),C):C.startLineNumber>p.endLineNumber+1?(s.push(p),C):new Xi(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn):C.startLineNumber>p.endLineNumber?(s.push(p),C):new Xi(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const d=[],u=[];let f=n,g=0;for(let p=0,C=s.length;p<C;p++){const b=s[p],E=b.startLineNumber,w=1;let A=0,I,T;const M=a.getLineLength(b.endLineNumber)-b.endColumn;if(b.isEmpty()||b.startLineNumber===b.endLineNumber){const U=b.getStartPosition();U.lineNumber<a.getLineCount()?(I=E+1,T=a.getLineMaxColumn(I)):(I=U.lineNumber,T=a.getLineMaxColumn(U.lineNumber))}else I=b.endLineNumber,T=a.getLineMaxColumn(I);let P=a.getLineContent(E);for(let U=E+1;U<=I;U++){const Q=a.getLineContent(U),oe=a.getLineFirstNonWhitespaceColumn(U);if(oe>=1){let le=!0;P===""&&(le=!1),le&&(P.charAt(P.length-1)===" "||P.charAt(P.length-1)===" ")&&(le=!1,P=P.replace(/[\s\uFEFF\xA0]+$/g," "));const re=Q.substr(oe-1);P+=(le?" ":"")+re,le?A=re.length+1:A=re.length}else A=0}const j=new ee(E,w,I,T);if(!j.isEmpty()){let U;b.isEmpty()?(d.push(Is.replace(j,P)),U=new Xi(j.startLineNumber-g,P.length-A+1,E-g,P.length-A+1)):b.startLineNumber===b.endLineNumber?(d.push(Is.replace(j,P)),U=new Xi(b.startLineNumber-g,b.startColumn,b.endLineNumber-g,b.endColumn)):(d.push(Is.replace(j,P)),U=new Xi(b.startLineNumber-g,b.startColumn,b.startLineNumber-g,P.length-M)),ee.intersectRanges(j,n)!==null?f=U:u.push(U)}g+=j.endLineNumber-j.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class pz extends _t{constructor(){super({id:"editor.action.transpose",label:S("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:K.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 d=i[r];if(!d.isEmpty())continue;const u=d.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new ee(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new Rp(new Xi(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new ee(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new MA(g,p,new Xi(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class xh extends _t{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 d=a.getStartPosition(),u=t.getConfiguredWordAtPosition(d);if(!u)continue;const f=new ee(d.lineNumber,u.startColumn,d.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(Is.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(Is.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class xz extends xh{constructor(){super({id:"editor.action.transformToUppercase",label:S("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:K.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class vz extends xh{constructor(){super({id:"editor.action.transformToLowercase",label:S("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:K.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class Rl{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 S_=class S_ extends xh{constructor(){super({id:"editor.action.transformToTitlecase",label:S("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:K.writable})}_modifyText(e,t){const i=S_.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};S_.titleBoundary=new Rl("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Am=S_;const Cf=class Cf extends xh{constructor(){super({id:"editor.action.transformToSnakecase",label:S("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:K.writable})}_modifyText(e,t){const i=Cf.caseBoundary.get(),n=Cf.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Cf.caseBoundary=new Rl("(\\p{Ll})(\\p{Lu})","gmu"),Cf.singleLetters=new Rl("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Fg=Cf;const D_=class D_ extends xh{constructor(){super({id:"editor.action.transformToCamelcase",label:S("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:K.writable})}_modifyText(e,t){const i=D_.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("")}};D_.wordBoundary=new Rl("[_\\s-]","gm");let km=D_;const Ef=class Ef extends xh{constructor(){super({id:"editor.action.transformToPascalcase",label:S("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:K.writable})}_modifyText(e,t){const i=Ef.wordBoundary.get(),n=Ef.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("")}};Ef.wordBoundary=new Rl("[_\\s-]","gm"),Ef.wordBoundaryToMaintain=new Rl("(?<=\\.)","gm");let Bm=Ef;const Ec=class Ec extends xh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:S("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:K.writable})}_modifyText(e,t){const i=Ec.caseBoundary.get(),n=Ec.singleLetters.get(),s=Ec.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Ec.caseBoundary=new Rl("(\\p{Ll})(\\p{Lu})","gmu"),Ec.singleLetters=new Rl("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Ec.underscoreBoundary=new Rl("(\\S)(_)(\\S)","gm");let Fm=Ec;Te(JW);Te(ez);Te(tz);Te(iz);Te(nz);Te(sz);Te(oz);Te(rz);Te(fy);Te(az);Te(lz);Te(cz);Te(dz);Te(uz);Te(hz);Te(fz);Te(gz);Te(pz);Te(xz);Te(vz);Fg.caseBoundary.isSupported()&&Fg.singleLetters.isSupported()&&Te(Fg);km.wordBoundary.isSupported()&&Te(km);Bm.wordBoundary.isSupported()&&Te(Bm);Am.titleBoundary.isSupported()&&Te(Am);Fm.isSupported()&&Te(Fm);var mz=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},Wx=function(o,e){return function(t,i){e(t,i,o)}},xv;const WB=new Nn("LinkedEditingInputVisible",!1),_z="linked-editing-decoration";var Yc;let m0=(Yc=class extends Ot{static get(e){return e.getContribution(xv.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Nt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=WB.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 Nt),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(to.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new id(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new id(0),a=d=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(d))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(d=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&d.changes.every(f=>u.intersectRanges(f.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 d=this._currentDecorations.getRange(r);if(d)if(d.startLineNumber!==d.endLineNumber)s.push({range:d,text:n});else{let u=t.getValueInRange(d),f=n,g=d.startColumn,p=d.endColumn;const C=Kp(u,f);g+=C,u=u.substr(C),f=f.substr(C);const b=H7(u,f);p-=b,u=u.substr(0,u.length-b),f=f.substr(0,f.length-b),(g!==p||f.length!==0)&&s.push({range:new ee(d.startLineNumber,g,d.endLineNumber,p),text:f})}}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 go;try{const r=new rr(!1),a=await zB(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let d=[];a!=null&&a.ranges&&(d=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=d.length;g<p;g++)if(ee.containsPosition(d[g],t)){if(u=!0,g!==0){const C=d[g];d.splice(g,1),d.unshift(C)}break}if(!u){this.clearRanges();return}const f=d.map(g=>({range:g,options:xv.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){dd(r)||ps(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},xv=Yc,Yc.ID="editor.contrib.linkedEditing",Yc.DECORATION=Tn.register({description:"linked-editing",stickiness:0,className:_z}),Yc);m0=xv=mz([Wx(1,Gn),Wx(2,Si),Wx(3,co),Wx(4,Mr)],m0);class bz extends _t{constructor(){super({id:"editor.action.linkedEditing",label:S("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:Ue.and(K.writable,K.hasRenameProvider),kbOpts:{kbExpr:K.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get($s),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return ds.isUri(n)&&wi.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))))},ps):super.runCommand(e,t)}run(e,t){const i=m0.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const Cz=Zo.bindToContribution(m0.get);Ii(new Cz({id:"cancelLinkedEditingInput",precondition:WB,handler:o=>o.clearRanges(),kbOpts:{kbExpr:K.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function zB(o,e,t,i){const n=o.ordered(e);return Kw(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){js(r);return}}),s=>!!s&&_r(s==null?void 0:s.ranges))}xi("editor.linkedEditingBackground",{dark:Fn.fromHex("#f00").transparent(.3),light:Fn.fromHex("#f00").transparent(.3),hcDark:Fn.fromHex("#f00").transparent(.3),hcLight:Fn.white},S("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Xo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Si);return zB(i,e,t,_n.None)});Sn(m0.ID,m0,1);Te(bz);let Ez=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 Lm{constructor(e){this._disposables=new Nt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new Ez(r,n));t=Lm._union(t,s),ik(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 d=e[n],u=t[r];if(ee.areIntersectingOrTouching(d.range,u.range)){n++;continue}ee.compareRangesUsingStarts(d.range,u.range)<0?(i.push(d),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function VB(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])},js));return Promise.all(n).then(()=>{const s=new Lm(Nl(i));return t.isCancellationRequested?(s.dispose(),new Lm([])):s})}Cs.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Yn(t instanceof ds),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Si),s=o.get(Wo).getModel(t);if(!s)return[];const r=await VB(n,s,_n.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(_n.None);const a=r.links.slice(0);return r.dispose(),a});var yz=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},zx=function(o,e){return function(t,i){e(t,i,o)}},gy,Du;let pp=(Du=class extends Ot{static get(e){return e.getContribution(gy.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 io(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new yb(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,d])=>{this._onEditorMouseMove(a,d)})),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=fo(t=>VB(this.providers,e,t));try{const t=new rr(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){ps(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(Df.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let d=0,u=a.length;d<u;d++){const f=new Df(e[d],a[d]);this.currentOccurrences[f.decorationId]=f}})}_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(_n.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===jo.file&&s.startsWith(`${jo.file}:`)){const a=ds.parse(s);if(a.scheme===jo.file){const d=W7(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=z7(r,u))}}}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(S("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(S("missing.url","Failed to open this link because its target is missing.")):ps(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()}},gy=Du,Du.ID="editor.linkDetector",Du);pp=gy=yz([zx(1,Aa),zx(2,Ho),zx(3,Si),zx(4,Mr)],pp);const jD={general:Tn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Tn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Df{static decoration(e,t){return{range:e.range,options:Df._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?jD.active:jD.general};return n.hoverMessage=wz(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Df._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Df._getOptions(this.link,t,!1))}}function wz(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?S("links.navigate.executeCmd","Execute command"):S("links.navigate.follow","Follow link"),n=e?rl?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):rl?S("links.navigate.kb.alt.mac","option + click"):S("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 d=a[1];s=S("tooltip.explanation","Execute command {0}",d)}}return new Fo("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Fo().appendText(`${i} (${n})`)}class Sz extends _t{constructor(){super({id:"editor.action.openLink",label:S("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=pp.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)}}}Sn(pp.ID,pp,1);Te(Sz);const wS=class wS extends Ot{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})}))}};wS.ID="editor.contrib.longLinesHelper";let Im=wS;Sn(Im.ID,Im,2);const Dz=xi("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},S("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);xi("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},S("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);xi("editor.wordHighlightTextBackground",Dz,S("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 Az=xi("editor.wordHighlightBorder",{light:null,dark:null,hcDark:zu,hcLight:zu},S("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));xi("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:zu,hcLight:zu},S("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));xi("editor.wordHighlightTextBorder",Az,S("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const kz=xi("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",S("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Bz=xi("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",S("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Fz=xi("editorOverviewRuler.wordHighlightTextForeground",mk,S("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),Lz=Tn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Qs(Bz),position:tl.Center},minimap:{color:Qs(sb),position:1}}),Iz=Tn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Qs(Fz),position:tl.Center},minimap:{color:Qs(sb),position:1}}),Pz=Tn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Qs(mk),position:tl.Center},minimap:{color:Qs(sb),position:1}}),Tz=Tn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),Mz=Tn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Qs(kz),position:tl.Center},minimap:{color:Qs(sb),position:1}});function Rz(o){return o===Rv.Write?Lz:o===Rv.Text?Iz:Mz}function Nz(o){return o?Tz:Pz}K_((o,e)=>{const t=o.getColor(V7);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var Oz=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},Hz=function(o,e){return function(t,i){e(t,i,o)}},py;function hd(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?S("cursorAdded","Cursor added: {0}",i):S("cursorsAdded","Cursors added: {0}",i);Zf(n)}}class Wz extends _t{constructor(){super({id:"editor.action.insertCursorAbove",label:S("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({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,Gw.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),hd(r,s.getCursorStates())}}class zz extends _t{constructor(){super({id:"editor.action.insertCursorBelow",label:S("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({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,Gw.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),hd(r,s.getCursorStates())}}class Vz extends _t{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:S("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({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 Xi(n,s,n,s))}e.endColumn>1&&i.push(new Xi(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(d=>this.getCursorsForSelection(d,i,a)),a.length>0&&t.setSelections(a),hd(r,s.getCursorStates())}}class jz extends _t{constructor(){super({id:"editor.action.addCursorsToBottom",label:S("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 d=i[0].startLineNumber;d<=n;d++)s.push(new Xi(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),hd(a,r.getCursorStates())}}class $z extends _t{constructor(){super({id:"editor.action.addCursorsToTop",label:S("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 Xi(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),hd(r,s.getCursorStates())}}class Vx{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class xp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new xp(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 d=e.getSelection();let u,f=null;if(d.isEmpty()){const g=e.getConfiguredWordAtPosition(d.getStartPosition());if(!g)return null;u=g.word,f=new Xi(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
57
+ `);return new xp(e,t,n,u,s,r,f)}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 Vx(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 Vx(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 Xi(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 Vx(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 Vx(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 Xi(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 A_=class A_ extends Ot{static get(e){return e.getContribution(A_.ID)}constructor(e){super(),this._sessionDispose=this._register(new Nt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=xp.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 Xi(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(!jB(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let d=0,u=t.length;d<u;d++)a[d]=this._expandEmptyToWord(r,t[d]);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 Xi(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};A_.ID="editor.contrib.multiCursorController";let _0=A_;class T0 extends _t{run(e,t){const i=_0.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Go.get(t);if(r)this._run(i,r);else{const a=e.get(gn).createInstance(Go,t);this._run(i,a),a.dispose()}hd(s,n.getCursorStates())}}}class Uz extends T0{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:S("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:2082,weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class qz extends T0{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:S("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class Gz extends T0{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:S("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:Zs(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class Kz extends T0{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:S("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 Zz extends T0{constructor(){super({id:"editor.action.selectHighlights",label:S("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:3114,weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"3_multi",title:S({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class Xz extends T0{constructor(){super({id:"editor.action.changeAll",label:S("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:Ue.and(K.writable,K.editorTextFocus),kbOpts:{kbExpr:K.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class Yz{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(ee.compareRangesUsingStarts)),this._cachedFindMatches}}var Au;let Pm=(Au=class extends Ot{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new io(()=>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=Go.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(py._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=_0.get(i);if(!s)return null;const r=Go.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const f=i.getSelections();if(f.length>1){const p=r.getState().matchCase;if(!jB(i.getModel(),f,p))return null}a=xp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const d=r.getState(),u=d.matchCase;if(d.isRevealed){let f=d.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===d.matchCase&&a.wholeWord===d.wholeWord&&!d.isRegex)return null}return new Yz(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(ee.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const C=i[u];if(f>=p)s.push(C),u++;else{const b=ee.compareRangesUsingStarts(C,n[f]);b<0?((n[f].isEmpty()||!ee.areIntersecting(C,n[f]))&&s.push(C),u++):(b>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,d=s.map(u=>({range:u,options:Nz(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},py=Au,Au.ID="editor.contrib.selectionHighlighter",Au);Pm=py=Oz([Hz(1,Si)],Pm);function jB(o,e,t){const i=$D(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=$D(o,r,!t);if(i!==a)return!1}return!0}function $D(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class Qz extends _t{constructor(){super({id:"editor.action.focusNextCursor",label:S("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:S("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),hd(s,n.getCursorStates()))}}class Jz extends _t{constructor(){super({id:"editor.action.focusPreviousCursor",label:S("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:S("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),hd(s,n.getCursorStates()))}}Sn(_0.ID,_0,4);Sn(Pm.ID,Pm,1);Te(Wz);Te(zz);Te(Vz);Te(Uz);Te(qz);Te(Gz);Te(Kz);Te(Zz);Te(Xz);Te(jz);Te($z);Te(Qz);Te(Jz);const eV="editor.action.inlineEdit.accept",tV="editor.action.inlineEdit.reject",iV="editor.action.inlineEdit.jumpTo",nV="editor.action.inlineEdit.jumpBack";var sV=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},oV=function(o,e){return function(t,i){e(t,i,o)}};const IC="inline-edit";let xy=class extends Ot{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=br(this,!1),this.currentTextModel=er(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=os(this,n=>{var I;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=(I=this.model.range)==null?void 0:I.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const d=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,u=r.parts.length===1&&r.parts[0].lines.every(T=>T.length===0),f=[],g=[];function p(T,M){if(g.length>0){const P=g[g.length-1];M&&P.decorations.push(new Xg(P.content.length+1,P.content.length+1+T[0].length,M,0)),P.content+=T[0],T=T.slice(1)}for(const P of T)g.push({content:P,decorations:M?[new Xg(1,P.length+1,M,0)]:[]})}const C=s.getLineContent(r.lineNumber);let b,E=0;if(!u&&(d||!a)){for(const T of r.parts){let M=T.lines;a&&!d&&(p(M,IC),M=[]),b===void 0?(f.push({column:T.column,text:M[0],preview:T.preview}),M=M.slice(1)):p([C.substring(E,T.column-1)],void 0),M.length>0&&(p(M,IC),b===void 0&&T.column<=C.length&&(b=T.column)),E=T.column-1}b!==void 0&&p([C.substring(E)],void 0)}const w=b!==void 0?new wB(b,C.length+1):void 0,A=d||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:w,lineNumber:A,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:d,isPureRemove:u}}),this.decorations=os(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 d=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<d;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),C=new ee(f,g,f,p);a.push(C)}}for(const d of a)r.push({range:d,options:Zw})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new ee(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:Xw})}for(const a of s.inlineTexts)r.push({range:ee.fromPositions(new wi(s.lineNumber,a.column)),options:{description:IC,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:of.Left},showIfCollapsed:!0}});return r}),this._register(ws(()=>{this.isDisposed.set(!0,void 0)})),this._register(SB(this.editor,this.decorations))}};xy=sV([oV(2,Ba)],xy);var K9=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},qa=function(o,e){return function(t,i){e(t,i,o)}},vv;let vy=class extends Ot{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=er(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=os(this,n=>{var d,u;const s=(d=this.model.read(n))==null?void 0:d.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 wi(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(jp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(my,this.editor,!0,this.position));e.addContentWidget(a),s.add(ws(()=>e.removeContentWidget(a)))}))}};vy=K9([qa(2,gn)],vy);var Qc;let my=(Qc=class extends Ot{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${vv.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Zr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Zr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(si.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(_y,this.nodes.toolBar,this.editor,si.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof Jf)return n.createInstance(rV,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{vv._dropDownVisible=a})),this._register(Fs(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Fs(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof Jf&&d.push(g);d.length>0&&d.unshift(new $g),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},vv=Qc,Qc._dropDownVisible=!1,Qc.id=0,Qc);my=vv=K9([qa(3,gn),qa(4,Gn),qa(5,ah)],my);class rV extends CA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Zr("div.keybinding").root;this._register(new Fw(t,Lw,{disableTitle:!0,...EA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let _y=class extends yA{constructor(e,t,i,n,s,r,a,d,u,f){super(e,{resetMenu:i,...n},s,r,a,d,u,f),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,d,u;const e=[],t=[];Nw(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,(u=(d=this.options2)==null?void 0:d.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){ol(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};_y=K9([qa(4,ah),qa(5,Gn),qa(6,E0),qa(7,Xs),qa(8,lo),qa(9,ka)],_y);var $B=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},mv=function(o,e){return function(t,i){e(t,i,o)}},ug,by;function*aV(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function PC(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 ku;let Cy=(ku=class extends Ot{static _createUniqueUri(){return ds.from({scheme:"inline-edit-widget",path:new Date().toString()+String(ug._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=os(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 d=this._editor.getModel();if(!d)return null;const u=Array.from(aV(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(E=>d.getLineLastNonWhitespaceColumn(E)),g=Math.max(...f),p=u[f.indexOf(g)],C=new wi(p,g);return{top:a.range.startLineNumber,left:C}}),this._text=os(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=PC(a.text.split(`
58
+ `));return{text:d.text.join(`
59
+ `),shift:d.shift}}),this._originalModel=nd(()=>this._modelService.createModel("",null,ug._createUniqueUri())).keepObserved(this._store),this._modifiedModel=nd(()=>this._modelService.createModel("",null,ug._createUniqueUri())).keepObserved(this._store),this._diff=os(this,r=>{var a,d;return(d=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:d.data}),this._diffPromise=os(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=PC(d.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),f=PC(a.text.split(`
62
+ `)).text.join(`
63
+ `);this._originalModel.get().setValue(u),this._modifiedModel.get().setValue(f);const g=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return _k.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},_n.None);if(!p.identical)return p.changes})}),this._register(jp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(Ey,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(ws(()=>e.removeOverlayWidget(u)))}))}},ug=ku,ku._modelId=0,ku);Cy=ug=$B([mv(2,gn),mv(3,Yw),mv(4,Wo)],Cy);var Bu;let Ey=(Bu=class extends Ot{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${by.id++}`,this.allowEditorOverflow=!1,this._nodes=pi("div.inlineEditSideBySide",void 0),this._scrollChanged=Ud("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(sa,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=Ka(this._previewEditor),this._editorObs=Ka(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(kc,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Kg,kc.DEFAULT_CREATION_OPTIONS,null)),this._setText=os(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=os(this,d=>{this._setText.read(d);const u=this._position.read(d);if(!u)return{org:[],mod:[]};const f=this._diff.read(d);if(!f)return{org:[],mod:[]};const g=[],p=[];if(f.length===1&&f[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const C=this._shift.get(),b=E=>new ee(E.startLineNumber+u.top-1,E.startColumn+C,E.endLineNumber+u.top-1,E.endColumn+C);for(const E of f)if(E.original.isEmpty||g.push({range:b(E.original.toInclusiveRange()),options:Xw}),E.modified.isEmpty||p.push({range:E.modified.toInclusiveRange(),options:bk}),E.modified.isEmpty||E.original.isEmpty)E.original.isEmpty||g.push({range:b(E.original.toInclusiveRange()),options:Ck}),E.modified.isEmpty||p.push({range:E.modified.toInclusiveRange(),options:Ek});else for(const w of E.innerChanges||[])E.original.contains(w.originalRange.startLineNumber)&&g.push({range:b(w.originalRange),options:w.originalRange.isEmpty()?yk:Zw}),E.modified.contains(w.modifiedRange.startLineNumber)&&p.push({range:w.modifiedRange,options:w.modifiedRange.isEmpty()?wk:Sk});return{org:g,mod:p}}),this._originalDecorations=os(this,d=>this._decorations.read(d).org),this._modifiedDecorations=os(this,d=>this._decorations.read(d).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(Fs(d=>{const u=this._previewEditorObs.contentWidth.read(d),f=this._text.read(d).split(`
64
+ `).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(Fs(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(Fs(d=>{this._scrollChanged.read(d),this._position.read(d)&&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 wi(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}}}},by=Bu,Bu.id=0,Bu);Ey=by=$B([mv(5,gn)],Ey);var lV=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},Sd=function(o,e){return function(t,i){e(t,i,o)}},hg,Lr;let Mo=(Lr=class extends Ot{static get(e){return e.getContribution(hg.ID)}constructor(e,t,i,n,s,r,a,d){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=d,this._isVisibleContext=hg.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=hg.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=br(this,void 0),this._currentWidget=nd(this._currentEdit,b=>{const E=this._currentEdit.read(b);if(!E)return;const w=E.range.endLineNumber,A=E.range.endColumn,I=E.text.endsWith(`
65
+ `)&&!(E.range.startLineNumber===E.range.endLineNumber&&E.range.startColumn===E.range.endColumn)?E.text.slice(0,-1):E.text,T=new dp(w,[new hm(A,I,!1)]),M=E.range.startLineNumber===E.range.endLineNumber&&T.parts.length===1&&T.parts[0].lines.length===1,P=E.text==="";return!M&&!P?void 0:this.instantiationService.createInstance(xy,this.editor,{ghostText:kl(T),minReservedLineCount:kl(0),targetTextModel:kl(this.editor.getModel()??void 0),range:kl(E.range)})}),this._isAccepting=br(this,!1),this._enabled=er(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=er(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=Ud("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Fs(b=>{this._enabled.read(b)&&(u.read(b),!this._isAccepting.read(b)&&this.getInlineEdit(e,!0))}));const f=er(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Fs(b=>{if(!this._enabled.read(b))return;const E=f.read(b);E&&this.checkCursorPosition(E)})),this._register(Fs(b=>{const E=this._currentEdit.read(b);if(this._isCursorAtInlineEditContext.set(!1),!E){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const w=e.getPosition();w&&this.checkCursorPosition(w)}));const g=Ud("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Fs(async b=>{var E;this._enabled.read(b)&&(g.read(b),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((E=this._currentRequestCts)==null||E.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=Ud("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Fs(b=>{this._enabled.read(b)&&(p.read(b),this.getInlineEdit(e,!0))}));const C=this._register(KA());this._register(Fs(b=>{const E=this._fontFamily.read(b);C.setStyle(E===""||E==="default"?"":`
66
+ .monaco-editor .inline-edit-decoration,
67
+ .monaco-editor .inline-edit-decoration-preview,
68
+ .monaco-editor .inline-edit {
69
+ font-family: ${E};
70
+ }`)})),this._register(new vy(this.editor,this._currentWidget,this.instantiationService)),this._register(new Cy(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(ee.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 go;const a=this._currentRequestCts.token,d=t?t8.Automatic:t8.Invoke;if(t&&await cV(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:d},a);if(f&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,f))return f}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",[Is.replace(ee.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,js),this.freeEdit(e),lh(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=wi.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,js),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)}},hg=Lr,Lr.ID="editor.contrib.inlineEditController",Lr.inlineEditVisibleKey="inlineEditVisible",Lr.inlineEditVisibleContext=new Nn(Lr.inlineEditVisibleKey,!1),Lr.cursorAtInlineEditKey="cursorAtInlineEdit",Lr.cursorAtInlineEditContext=new Nn(Lr.cursorAtInlineEditKey,!1),Lr);Mo=hg=lV([Sd(1,gn),Sd(2,Gn),Sd(3,Si),Sd(4,lo),Sd(5,Ds),Sd(6,Yw),Sd(7,Wo)],Mo);function cV(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 dV=class extends _t{constructor(){super({id:eV,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Ue.and(K.writable,Mo.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Ue.and(K.writable,Mo.inlineEditVisibleContext,Mo.cursorAtInlineEditContext)}],menuOpts:[{menuId:si.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Mo.get(t);await(i==null?void 0:i.accept())}};class uV extends _t{constructor(){const e=Ue.and(K.writable,Ue.not(Mo.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=Mo.get(t);i==null||i.trigger()}}class hV extends _t{constructor(){const e=Ue.and(K.writable,Mo.inlineEditVisibleContext,Ue.not(Mo.cursorAtInlineEditKey));super({id:iV,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:si.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Mo.get(t);i==null||i.jumpToCurrent()}}class fV extends _t{constructor(){const e=Ue.and(K.writable,Mo.cursorAtInlineEditContext);super({id:nV,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:si.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Mo.get(t);i==null||i.jumpBack()}}class gV extends _t{constructor(){const e=Ue.and(K.writable,Mo.inlineEditVisibleContext);super({id:tV,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:si.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Mo.get(t);await(i==null?void 0:i.clear())}}Te(dV);Te(gV);Te(hV);Te(fV);Te(uV);Sn(Mo.ID,Mo,3);const pV="editor.action.inlineEdits.accept",xV="editor.action.inlineEdits.showPrevious",vV="editor.action.inlineEdits.showNext",b0=new Nn("inlineEditsVisible",!1,S("inlineEditsVisible","Whether an inline edit is visible")),mV=new Nn("inlineEditsIsPinned",!1,S("isPinned","Whether an inline edit is visible")),SS=class SS extends Ot{constructor(e){super(),this._editor=e,this._editorObs=Ka(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=Sl({owner:this,equalsFn:Dk},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=_V(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=wA((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Zr("div.editorPlaceholder");i.add(Fs(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(Fs(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(Fs(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:kl(0),position:kl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};SS.ID="editor.contrib.placeholderText";let vp=SS;function _V(o,e){return X_(o,(t,i)=>i===!0?!0:e(t))}var bV=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},CV=function(o,e){return function(t,i){e(t,i,o)}};class EV{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let yy=class extends Ot{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ka(this._editor),this._elements=Zr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Zr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Zr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Zr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Zr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Ph("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Ph("defs",[Ph("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Ph("stop",{offset:"0%",class:"gradient-stop"}),Ph("stop",{offset:"100%",class:"gradient-stop"})])]),Ph("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(kc,"",Kg,kc.DEFAULT_CREATION_OPTIONS,null)),this._setText=os(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(kc,"",Kg,kc.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(sa,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:j7},{contributions:$7.getSomeEditorContributions([Qr.ID,vp.ID,h0.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(sa,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=Ka(this._previewEditor),this._decorations=os(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const d=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:Xw}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:bk}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:Ck}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:Ek});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?yk:Zw}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?wk:Sk});return u}),this._layout1=os(this,r=>{const a=this._editor.getModel(),d=this._edit.read(r);if(!d)return null;const u=d.range;let f=0;for(let C=u.startLineNumber;C<u.endLineNumberExclusive;C++){const b=a.getLineMaxColumn(C),E=this._editor.getOffsetForColumn(C,b);f=Math.max(f,E)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=os(this,r=>{const a=this._edit.read(r);if(!a)return null;const d=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(d.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(d.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),C=new ff(f,g),b=new ff(f,p),E=p-g,w=50,A=this._editor.getOption(67)*a.newLines.length,I=E-A,T=new ff(f+w,g+I/2),M=new ff(f+w,p-I/2);return{topCode:C,bottomCode:b,codeHeight:E,topEdit:T,bottomEdit:M,editHeight:A}});const s=os(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(U7(this._elements.root,{display:os(this,r=>s.read(r)?"block":"none")})),this._register(q7(this._editor.getDomNode(),this._elements.root)),this._register(Ka(e).createOverlayWidget({domNode:this._elements.root,position:kl(null),allowEditorOverflow:!1,minContentWidthInPx:os(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const d=this._previewEditorObs.contentWidth.read(r);return a+d})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(Fs(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:d,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,C=10,b=0,E=40,w=new wV().moveTo(d).lineTo(d.deltaX(C)).curveTo(d.deltaX(C+E),f.deltaX(-E-b),f.deltaX(-b)).lineTo(f).lineTo(g).lineTo(g.deltaX(-b)).curveTo(g.deltaX(-E-b),u.deltaX(C+E),u.deltaX(C)).lineTo(u).build();this._elements.path.setAttribute("d",w),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const A=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:A})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(SV(yV(this._userPrompt,r=>r??"",r=>r),Ka(this._promptEditor).value)),this._register(Fs(r=>{const a=Ka(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};yy=bV([CV(3,gn)],yy);function yV(o,e,t){return Ak(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class ff{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new ff(this.x+e,this.y)}}class wV{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 SV(o,e){const t=new Nt;return t.add(Fs(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Fs(i=>{const n=e.read(i);o.set(n,void 0)})),t}var DV=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},TC=function(o,e){return function(t,i){e(t,i,o)}},fg,Fu;let wy=(Fu=class extends Ot{static _createUniqueUri(){return ds.from({scheme:"inline-edits",path:new Date().toString()+String(fg._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=$w(this),this._selectedInlineCompletionId=br(this,void 0),this._isActive=br(this,!1),this._originalModel=nd(()=>this._modelService.createModel("",null,fg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=nd(()=>this._modelService.createModel("",null,fg._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new kV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=br(this,void 0),this.inlineEdit=os(this,d=>{var u,f;return(f=(u=this._inlineEdit.read(d))==null?void 0:u.promiseResult.read(d))==null?void 0:f.data}),this._inlineEdit=os(this,d=>{const u=this.selectedInlineEdit.read(d);if(!u)return;const f=u.inlineCompletion.range;if(u.inlineCompletion.insertText.trim()==="")return;let g=u.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(w){var I;const A=((I=w[0].match(/^\s*/))==null?void 0:I[0])??"";return w.map(T=>T.replace(new RegExp("^"+A),""))}g=p(g);let b=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);b=p(b),this._originalModel.get().setValue(b.join(`
74
+ `)),this._modifiedModel.get().setValue(g.join(`
75
+ `));const E=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return _k.fromFn(async()=>{const w=await E.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},_n.None);if(!w.identical)return new EV(G7.fromRangeInclusive(f),p(g),w.changes)})}),this._fetchStore=this._register(new Nt),this._inlineEditsFetchResult=s1(this,void 0),this._inlineEdits=Sl({owner:this,equalsFn:Dk},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new AV(f)))??[]}),this._fetchInlineEditsPromise=nk({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Pl.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=Pl.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(E,w){return w(E)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),E=>E.isEmpty()?void 0:E);if(!g){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:u.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(d)},C=r1(this._fetchStore);await nb(200,C);const b=await DB(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,C);C.isCancellationRequested||this._inlineEditsFetchResult.set(b,void 0)}),this._filteredInlineEditItems=Sl({owner:this,equalsFn:o1()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=os(this,d=>{const u=this._selectedInlineCompletionId.read(d),f=this._filteredInlineEditItems.read(d),g=this._selectedInlineCompletionId===void 0?-1:f.findIndex(p=>p.semanticId===u);return g===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):g}),this.selectedInlineEdit=os(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(sk(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Pv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Pv(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 e0;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},fg=Fu,Fu._modelId=0,Fu);wy=fg=DV([TC(4,Si),TC(5,Yw),TC(6,Wo)],wy);class AV{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class kV extends Ot{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=br(this,[]),this.range=os(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(ws(()=>{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 BV=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},Y0=function(o,e){return function(t,i){e(t,i,o)}},Sy,Lu;let Ul=(Lu=class extends Ot{static get(e){return e.getContribution(Sy.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=K7("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ka(this.editor),this._selection=os(this,a=>this._editorObs.cursorSelection.read(a)??new Xi(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=nd(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const d=this._editorObs.model.read(a);return d?this._instantiationService.createInstance(a1(wy,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=X_(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=nd(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(a1(yy,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),FV(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??br("empty","")}))}),this._register(i8(b0,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(i8(mV,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},Sy=Lu,Lu.ID="editor.contrib.inlineEditsController",Lu);Ul=Sy=BV([Y0(1,gn),Y0(2,Gn),Y0(3,Mr),Y0(4,Si),Y0(5,Ds)],Ul);function FV(o){return Ak(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function dx(o){return{label:o.value,alias:o.original}}const k_=class k_ extends _t{constructor(){super({id:k_.ID,...dx(Ei("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:Ue.and(K.writable,b0),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ul.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};k_.ID=vV;let Dy=k_;const B_=class B_ extends _t{constructor(){super({id:B_.ID,...dx(Ei("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:Ue.and(K.writable,b0),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ul.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};B_.ID=xV;let Ay=B_;class LV extends _t{constructor(){super({id:"editor.action.inlineEdits.trigger",...dx(Ei("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:K.writable})}async run(e,t){const i=Ul.get(t);await gk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class IV extends _t{constructor(){super({id:pV,...dx(Ei("action.inlineEdits.accept","Accept Inline Edit")),precondition:b0,menuOpts:{menuId:si.InlineEditsActions,title:S("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:tn.check},kbOpts:{primary:2058,weight:2e4,kbExpr:b0}})}async run(e,t){var n;t instanceof sa&&(t=t.getParentEditor());const i=Ul.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const F_=class F_ extends _t{constructor(){super({id:F_.ID,...dx(Ei("action.inlineEdits.hide","Hide Inline Edit")),precondition:b0,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ul.get(t);lh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};F_.ID="editor.action.inlineEdits.hide";let ky=F_;Sn(Ul.ID,Ul,3);Te(LV);Te(Dy);Te(Ay);Te(IV);Te(ky);const nh={Visible:new Nn("parameterHintsVisible",!1),MultipleSignatures:new Nn("parameterHintsMultipleSignatures",!1)};async function UB(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){js(a)}}Cs.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Yn(ds.isUri(t)),Yn(wi.isIPosition(i)),Yn(typeof n=="string"||!n);const s=o.get(Si),r=await o.get(Fa).createModelReference(t);try{const a=await UB(s.signatureHelpProvider,r.object.textEditorModel,wi.lift(i),{triggerKind:Mc.Invoke,isRetrigger:!1,triggerCharacter:n},_n.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var _c;(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})(_c||(_c={}));const L_=class L_ extends Ot{constructor(e,t,i=L_.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new mn),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=_c.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Er),this.triggerChars=new Lv,this.retriggerChars=new Lv,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new id(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=_c.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(ps)}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 _c.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(PV);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 _c.Pending(fo(d=>UB(this.providers,r,a,s,d)),i);try{const d=await this.state.request;return e!==this.triggerId?(d==null||d.dispose(),!1):!d||!d.value.signatures||d.value.signatures.length===0?(d==null||d.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new _c.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=_c.Default),ps(d),!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:Mc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:Mc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Mc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};L_.DEFAULT_DELAY=120;let By=L_;function PV(o,e){switch(e.triggerKind){case Mc.Invoke:return e;case Mc.ContentChange:return o;case Mc.TriggerCharacter:default:return e}}var TV=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},jx=function(o,e){return function(t,i){e(t,i,o)}},Fy;const cr=pi,MV=Ws("parameter-hints-next",tn.chevronDown,S("parameterHintsNextIcon","Icon for show next parameter hint.")),RV=Ws("parameter-hints-previous",tn.chevronUp,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Iu;let Ly=(Iu=class extends Ot{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new Nt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new D0({editor:e},s,n)),this.keyVisible=nh.Visible.bindTo(i),this.keyMultipleSignatures=nh.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=cr(".editor-widget.parameter-hints-widget"),t=ai(e,cr(".phwrapper"));t.tabIndex=-1;const i=ai(t,cr(".controls")),n=ai(i,cr(".button"+Qn.asCSSSelector(RV))),s=ai(i,cr(".overloads")),r=ai(i,cr(".button"+Qn.asCSSSelector(MV)));this._register(qn(n,"click",p=>{Fv.stop(p),this.previous()})),this._register(qn(r,"click",p=>{Fv.stop(p),this.next()}));const a=cr(".body"),d=new lk(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=ai(a,cr(".signature")),f=ai(a,cr(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const g=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),C=this.domNodes.element;C.style.fontSize=`${p.fontSize}px`,C.style.lineHeight=`${p.lineHeight/p.fontSize}`,C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),C.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",Rw.fontFamily)};g(),this._register(to.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(C=>C.hasChanged(50)))(g)),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=ai(this.domNodes.signature,cr(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=ai(n,cr("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=cr("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}ai(this.domNodes.docs,cr("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")ai(this.domNodes.docs,cr("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);ai(this.domNodes.docs,u.element)}const d=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",d),this.domNodes.docs.classList.toggle("empty",!d),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let u="";const f=i.parameters[r];Array.isArray(f.label)?u=i.label.substring(f.label[0],f.label[1]):u=f.label,f.documentation&&(u+=typeof f.documentation=="string"?`, ${f.documentation}`:`, ${f.documentation.value}`),i.documentation&&(u+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==u&&(ia(S("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new rr,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"&&rf(t.documentation).length>0||t&&typeof t.documentation=="object"&&rf(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&rf(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&rf(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 d=document.createElement("span");d.textContent=t.label.substring(s),ai(e,r,a,d)}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|^)${jg(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 Fy.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)}},Fy=Iu,Iu.ID="editor.widget.parameterHintsWidget",Iu);Ly=Fy=TV([jx(2,Gn),jx(3,Aa),jx(4,Ba),jx(5,ka)],Ly);xi("editorHoverWidget.highlightForeground",hk,S("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var NV=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)}},Iy,Pu;let C0=(Pu=class extends Ot{static get(e){return e.getContribution(Iy.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new By(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 kw(()=>this._register(t.createInstance(Ly,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)}},Iy=Pu,Pu.ID="editor.controller.parameterHints",Pu);C0=Iy=NV([UD(1,gn),UD(2,Si)],C0);class OV extends _t{constructor(){super({id:"editor.action.triggerParameterHints",label:S("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:K.hasSignatureHelpProvider,kbOpts:{kbExpr:K.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=C0.get(t);i==null||i.trigger({triggerKind:Mc.Invoke})}}Sn(C0.ID,C0,2);Te(OV);const Z9=175,X9=Zo.bindToContribution(C0.get);Ii(new X9({id:"closeParameterHints",precondition:nh.Visible,handler:o=>o.cancel(),kbOpts:{weight:Z9,kbExpr:K.focus,primary:9,secondary:[1033]}}));Ii(new X9({id:"showPrevParameterHint",precondition:Ue.and(nh.Visible,nh.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:Z9,kbExpr:K.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Ii(new X9({id:"showNextParameterHint",precondition:Ue.and(nh.Visible,nh.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:Z9,kbExpr:K.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var HV=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},WV=function(o,e){return function(t,i){e(t,i,o)}};class zV{constructor(e){this.instantiationService=e}init(...e){}}function VV(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=jp((n,s)=>{const r=a1(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function jV(o){return Z7()?VV(o,Py):o()}let Py=class extends zV{constructor(e,t){super(t),this.init(e)}};Py=HV([WV(1,gn)],Py);Sn(vp.ID,jV(()=>vp),0);xi("editor.placeholder.foreground",X7,S("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},$x=function(o,e){return function(t,i){e(t,i,o)}};const M0=new Nn("renameInputVisible",!1,S("renameInputVisible","Whether the rename input widget is visible"));new Nn("renameInputFocused",!1,S("renameInputFocused","Whether the rename input widget is focused"));let Ty=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 Nt,this._visibleContextKey=M0.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new rr,this._inputWithButton=new UV,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 Y9(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(Y7),i=e.getColor(Q7);this._domNode.style.backgroundColor=String(e.getColor(ck)??""),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(J7)??"");const n=e.getColor(eL);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(n8)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(n8)??""),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;Yn(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=$p(this.getDomNode().ownerDocument.body),t=Uo(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}=mp.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=S({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;Yn(this._renameCandidateListView),Yn(this._nPxAvailableAbove!==void 0),Yn(this._nPxAvailableBelow!==void 0);const t=sf(this._inputWithButton.domNode),i=sf(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:Vr(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 d=new Nt;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),d.add(qn(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(qn(this._inputWithButton.button,Ls.KEY_DOWN,f=>{const g=new Qw(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new wi(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(),d.add(ws(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(ws(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(ws(()=>this._candidates.clear()));const u=new U_;return u.p.finally(()=>{d.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),Yn(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,C;const b=this._renameCandidateListView.focusedCandidate;if(b!==void 0?(this._trace("using new name from renameSuggestion"),p=b,C={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,C=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(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:C,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},d.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),d.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),Yn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new go;const i=t?l1.Invoke:l1.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){Yn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!ee.isEmpty(i)&&!ee.spansMultipleLines(i)&&ee.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=(...u)=>this._trace("_updateRenameCandidates",...u);n("start");const s=await Np(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(u=>u.status==="fulfilled"&&ev(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=gA(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const d=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._inputWithButton.input.value&&u!==t&&!this._candidates.has(u));if(n(`valid distinct candidates - ${r.length} candidates.`),d.forEach(u=>this._candidates.add(u.newSymbolName)),d.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(d),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)}};Ty=$V([$x(2,oa),$x(3,Xs),$x(4,Gn),$x(5,ch)],Ty);class Y9{constructor(e,t){this._disposables=new Nt,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=Y9._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(fk({listInactiveFocusForeground:dk,listInactiveFocusBackground:uk}))}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`,Zf(S("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}=mp.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 mp(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Iw("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class UV{constructor(){this._onDidInputChange=new mn,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Nt}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",S("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=S("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=S("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=tL().setupManagedHover(tb("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(qn(this.input,Ls.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(qn(this.input,Ls.KEY_DOWN,e=>{const t=new Qw(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(qn(this.input,Ls.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(qn(this.input,Ls.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(qn(this.input,Ls.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Yn(this._inputNode),this._inputNode}get button(){return Yn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=c1(tn.sparkle)),il(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=c1(tn.primitiveSquare)),il(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 Hg=class Hg{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=`${Hg._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=c1(tn.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),ek(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(iL.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Hg._PADDING*2}}dispose(){}};Hg._PADDING=2;let mp=Hg;var qV=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},pc=function(o,e){return function(t,i){e(t,i,o)}},My;class Q9{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 ee(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
+ `):void 0}:{range:ee.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(S("no result","No result.")),n);return r}}async function GV(o,e,t,i){const n=new Q9(e,t,o),s=await n.resolveRenameLocation(_n.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,_n.None)}var Tu;let ld=(Tu=class{static get(e){return e.getContribution(My.ID)}constructor(e,t,i,n,s,r,a,d,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=d,this._telemetryService=u,this._disposableStore=new Nt,this._cts=new go,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ty,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var b,E;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new go,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new Q9(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Gf(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const w=i.resolveRenameLocation(n.token);this._progressService.showWhile(w,250),s=await w,e("resolved rename location")}catch(w){w instanceof q_?e("resolve rename location cancelled",JSON.stringify(w,null," ")):(e("resolve rename location failed",w instanceof Error?w:JSON.stringify(w,null," ")),(typeof w=="string"||Qx(w))&&((b=nr.get(this.editor))==null||b.showMessage(w||S("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),(E=nr.get(this.editor))==null||E.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Gf(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),d=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(d.map(async w=>[w,await w.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(w,A)=>{let I=u.slice();return w===l1.Automatic&&(I=I.filter(([T,M])=>M)),I.map(([T])=>T.provideNewSymbolNames(a,s.range,w,A))};e("creating rename input field and awaiting its result");const g=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,g,d.length>0?f:void 0,r);if(e("received response from rename input field"),d.length>0&&this._reportTelemetry(d.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 C=Np(i.provideRenameEdits(p.newName,r.token),r.token).then(async w=>{if(!w){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(w.rejectReason){e(`returning early - rejected with reason: ${w.rejectReason}`),this._notificationService.info(w.rejectReason);return}this.editor.setSelection(ee.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(w,{editor:this.editor,showPreview:p.wantsPreview,label:S("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:S("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(A=>{e("edits applied"),A.ariaSummary&&ia(S("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,A.ariaSummary))}).catch(A=>{e(`error when applying edits ${JSON.stringify(A,null," ")}`),this._notificationService.error(S("rename.failedApply","Rename failed to apply edits")),this._logService.error(A)})},w=>{e("error when providing rename edits",JSON.stringify(w,null," ")),this._notificationService.error(S("rename.failed","Rename failed to compute edits")),this._logService.error(w)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(C,250),C}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)}},My=Tu,Tu.ID="editor.contrib.renameController",Tu);ld=My=qV([pc(1,gn),pc(2,Ho),pc(3,j_),pc(4,Hp),pc(5,ch),pc(6,nL),pc(7,Si),pc(8,ka)],ld);class KV extends _t{constructor(){super({id:"editor.action.rename",label:S("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:Ue.and(K.writable,K.hasRenameProvider),kbOpts:{kbExpr:K.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get($s),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return ds.isUri(n)&&wi.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))))},ps):super.runCommand(e,t)}run(e,t){const i=e.get(ch),n=ld.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}Sn(ld.ID,ld,4);Te(KV);const J9=Zo.bindToContribution(ld.get);Ii(new J9({id:"acceptRenameInput",precondition:M0,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Ue.and(K.focus,Ue.not("isComposing")),primary:3}}));Ii(new J9({id:"acceptRenameInputWithPreview",precondition:Ue.and(M0,Ue.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Ue.and(K.focus,Ue.not("isComposing")),primary:2051}}));Ii(new J9({id:"cancelRenameInput",precondition:M0,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:K.focus,primary:9,secondary:[1033]}}));as(class extends Ko{constructor(){super({id:"focusNextRenameSuggestion",title:{...Ei("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:M0,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get($s).getFocusedCodeEditor();if(!t)return;const i=ld.get(t);i&&i.focusNextRenameSuggestion()}});as(class extends Ko{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Ei("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:M0,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get($s).getFocusedCodeEditor();if(!t)return;const i=ld.get(t);i&&i.focusPreviousRenameSuggestion()}});Xo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Yn(typeof n=="string");const{renameProvider:s}=o.get(Si);return GV(s,e,t,n)});Xo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Si),s=await new Q9(e,t,i).resolveRenameLocation(_n.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Da.as(Wp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:S("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var ZV=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},qD=function(o,e){return function(t,i){e(t,i,o)}},Vf;let Tm=(Vf=class extends Ot{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 io(()=>{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),d=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(d);return a.getLanguageId(d)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>XV(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,d=r.length;a<d;a++){const u={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[u.decorationId]=u}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Vf.ID="editor.sectionHeaderDetector",Vf);Tm=ZV([qD(1,co),qD(2,Yl)],Tm);function XV(o){return{range:o.range,options:Tn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}Sn(Tm.ID,Tm,1);function YV(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 QV(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return sL()||YV(e),oL.wrap(e)}function qB(o){const e=new Uint32Array(JV(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 QV(e)}function JV(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 Pb(o){return o&&!!o.data}function GB(o){return o&&Array.isArray(o.edits)}class ej{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function KB(o,e){return o.has(e)}function tj(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function ZB(o,e,t,i,n){const s=tj(o,e),r=await Promise.all(s.map(async a=>{let d,u=null;try{d=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,d=null}return(!d||!Pb(d)&&!GB(d))&&(d=null),new ej(a,d,u)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function ij(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class nj{constructor(e,t){this.provider=e,this.tokens=t}}function sj(o,e){return o.has(e)}function XB(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function eS(o,e,t,i){const n=XB(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){js(d),a=null}return(!a||!Pb(a))&&(a=null),new nj(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Cs.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Yn(t instanceof ds);const i=o.get(Wo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Si),s=ij(n,i);return s?s[0].getLegend():o.get(lo).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Cs.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Yn(t instanceof ds);const i=o.get(Wo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Si);if(!KB(n,i))return o.get(lo).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await ZB(n,i,null,null,_n.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Pb(a))return;const d=qB({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});Cs.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Yn(t instanceof ds);const n=o.get(Wo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Si),r=XB(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!ee.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 eS(s,n,ee.lift(i),_n.None);if(a)return a.provider.getLegend()});Cs.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Yn(t instanceof ds),Yn(ee.isIRange(i));const n=o.get(Wo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Si),r=await eS(s,n,ee.lift(i),_n.None);if(!(!r||!r.tokens))return qB({id:0,type:"full",data:r.tokens.data})});const tS="editor.semanticHighlighting";function _v(o,e,t){var n;const i=(n=t.getValue(tS,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var YB=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},Ga=function(o,e){return function(t,i){e(t,i,o)}},mc;let Ry=class extends Ot{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new Ny(f,e,i,s,r)},d=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];_v(f,i,n)?g||a(f):g&&d(f,g)}};t.getModels().forEach(f=>{_v(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{_v(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&d(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(tS)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Ry=YB([Ga(0,Jw),Ga(1,Wo),Ga(2,oa),Ga(3,Ds),Ga(4,Mr),Ga(5,Si)],Ry);var Jc;let Ny=(Jc=class extends Ot{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:mc.REQUEST_MIN_DELAY,max:mc.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new io(()=>this._fetchDocumentSemanticTokensNow(),mc.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=()=>{Po(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),Po(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!KB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new go,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=ZB(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(d=>{s.push(d)}),a=new rr(!1);n.then(d=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!d)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=d,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},d=>{d&&(dd(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||ps(d),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(GB(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 d=s.data,u=new Uint32Array(d.length+a);let f=d.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const C=t.edits[p];if(C.start>d.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,C.start,d.length),this._model.tokenization.setSemanticTokens(null,!0);return}const b=f-(C.start+C.deleteCount);b>0&&(mc._copy(d,f-b,u,g-b,b),g-=b),C.data&&(mc._copy(C.data,0,u,g-C.data.length,C.data.length),g-=C.data.length),f=C.start}f>0&&mc._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(Pb(t)){this._currentDocumentResponse=new oj(e,t.resultId,t.data);const a=kk(t,i,this._model.getLanguageId());if(n.length>0)for(const d of n)for(const u of a)for(const f of d.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},mc=Jc,Jc.REQUEST_MIN_DELAY=300,Jc.REQUEST_MAX_DELAY=2e3,Jc);Ny=mc=YB([Ga(1,Jw),Ga(2,oa),Ga(3,Mr),Ga(4,Si)],Ny);class oj{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}S0(Ry);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},Q0=function(o,e){return function(t,i){e(t,i,o)}},jf;let Mm=(jf=class extends Ot{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 io(()=>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(d=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(d=>{d.affectsConfiguration(tS)&&(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(!_v(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!sj(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=fo(r=>Promise.resolve(eS(this._provider,e,t,r))),s=new rr(!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:d}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,kk(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},jf.ID="editor.contrib.viewportSemanticTokens",jf);Mm=rj([Q0(1,Jw),Q0(2,oa),Q0(3,Ds),Q0(4,Mr),Q0(5,Si)],Mm);Sn(Mm.ID,Mm,1);class aj{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 d=a,u=a,f=0;for(;d>=0;d--){const g=s.charCodeAt(d);if(d!==a&&(g===95||g===45))break;if(s8(g)&&o8(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(o8(g)&&s8(f))break;if(g===95||g===45)break;f=g}d<u&&e.push({range:new ee(i.lineNumber,r+d,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new ee(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 ee(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}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},cj=function(o,e){return function(t,i){e(t,i,o)}},Oy;class iS{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 iS(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var Mu;let _p=(Mu=class{static get(e){return e.getContribution(Oy.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 JB(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),_n.None).then(s=>{var r;if(!(!_r(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!ol(this._editor.getSelections(),t,(a,d)=>a.equalsSelection(d)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(d=>d.containsPosition(t[a].getStartPosition())&&d.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new iS(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=>Xi.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Oy=Mu,Mu.ID="editor.contrib.smartSelectController",Mu);_p=Oy=lj([cj(1,Si)],_p);class QB extends _t{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=_p.get(t);i&&await i.run(this._forward)}}class dj extends QB{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:S("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Cs.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class uj extends QB{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:S("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:si.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}Sn(_p.ID,_p,4);Te(dj);Te(uj);async function JB(o,e,t,i,n){const s=o.all(e).concat(new aj(i.selectSubwords));s.length===1&&s.unshift(new _m);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(_r(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])ee.isIRange(g.range)&&ee.containsPosition(g.range,t[f])&&a[f].push(ee.lift(g.range))}},js));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,C)=>wi.isBefore(p.getStartPosition(),C.getStartPosition())?1:wi.isBefore(C.getStartPosition(),p.getStartPosition())||wi.isBefore(p.getEndPosition(),C.getEndPosition())?-1:wi.isBefore(C.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of d)(!f||ee.containsRange(p,f)&&!ee.equalsRange(p,f))&&(u.push(p),f=p);if(!i.selectLeadingAndTrailingWhitespace)return u;const g=[u[0]];for(let p=1;p<u.length;p++){const C=u[p-1],b=u[p];if(b.startLineNumber!==C.startLineNumber||b.endLineNumber!==C.endLineNumber){const E=new ee(C.startLineNumber,e.getLineFirstNonWhitespaceColumn(C.startLineNumber),C.endLineNumber,e.getLineLastNonWhitespaceColumn(C.endLineNumber));E.containsRange(C)&&!E.equalsRange(C)&&b.containsRange(E)&&!b.equalsRange(E)&&g.push(E);const w=new ee(C.startLineNumber,1,C.endLineNumber,e.getLineMaxColumn(C.endLineNumber));w.containsRange(C)&&!w.equalsRange(E)&&b.containsRange(w)&&!b.equalsRange(w)&&g.push(w)}g.push(b)}return g})}Cs.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Yn(ds.isUri(t));const n=o.get(Si).selectionRangeProvider,s=await o.get(Fa).createModelReference(t);try{return JB(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},_n.None)}finally{s.dispose()}});const hj=Object.freeze({View:Ei("view","View"),Help:Ei("help","Help"),Test:Ei("test","Test"),File:Ei("file","File"),Preferences:Ei("preferences","Preferences"),Developer:Ei({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Lg{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&&ol(this.startLineNumbers,e.startLineNumbers)&&ol(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Lg([],[],0)}}const GD=XA("stickyScrollViewLayer",{createHTML:o=>o}),MC="data-sticky-line-index",KD="data-sticky-is-line",fj="data-sticky-is-line-number",ZD="data-sticky-is-folding-icon";class gj extends Ot{constructor(e){super(),this._editor=e,this._foldingIconStore=new Nt,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 sa),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,d]of s.entries()){const u=this._renderChildNode(a+i,d,t,n);u&&(this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),this._renderedStickyLines.push(u))}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(qn(this._lineNumbersDomNode,Ls.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(qn(this._lineNumbersDomNode,Ls.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 wi(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=Xg.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new JA(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new YA(2e3),p=QA(f,g);let C;GD?C=GD.createHTML(g.build()):C=g.build();const b=document.createElement("span");b.setAttribute(MC,String(e)),b.setAttribute(KD,""),b.setAttribute("role","listitem"),b.tabIndex=0,b.className="sticky-line-content",b.classList.add(`stickyLine${t}`),b.style.lineHeight=`${this._lineHeight}px`,b.innerHTML=C;const E=document.createElement("span");E.setAttribute(MC,String(e)),E.setAttribute(fj,""),E.className="sticky-line-number",E.style.lineHeight=`${this._lineHeight}px`;const w=n.contentLeft;E.style.width=`${w}px`;const A=document.createElement("span");d.renderType===1||d.renderType===3&&t%10===0?A.innerText=t.toString():d.renderType===2&&(A.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),A.className="sticky-line-number-inner",A.style.lineHeight=`${this._lineHeight}px`,A.style.width=`${n.lineNumbersWidth}px`,A.style.paddingLeft=`${n.lineNumbersLeft}px`,E.appendChild(A);const I=this._renderFoldingIconForLine(i,t);I&&E.appendChild(I.domNode),this._editor.applyFontInfo(b),this._editor.applyFontInfo(A),E.style.lineHeight=`${this._lineHeight}px`,b.style.lineHeight=`${this._lineHeight}px`,E.style.height=`${this._lineHeight}px`,b.style.height=`${this._lineHeight}px`;const T=new pj(e,t,b,E,I,p.characterMapping,b.scrollWidth);return this._updateTopAndZIndexOfStickyLine(T)}_updateTopAndZIndexOfStickyLine(e){var f;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 d=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?d:u,n.style.top=s?d:u,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 d=n.isCollapsed(s),u=new xj(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(ZD,""),u}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=rL(t.characterMapping,e,0);return new wi(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,MC);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,KD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,ZD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class pj{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 xj{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=Qn.asClassName(e?lm:am)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Ig{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Rm{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class eF{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Tb=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},bp=function(o,e){return function(t,i){e(t,i,o)}},Pg;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Pg||(Pg={}));var Pc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(Pc||(Pc={}));let Hy=class extends Ot{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new id(300)),this._updateOperation=this._register(new Nt),this._editor.getOption(116).defaultModel){case Pg.OUTLINE_MODEL:this._modelProviders.push(new Wy(this._editor,n));case Pg.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Vy(this._editor,t,n));case Pg.INDENTATION_MODEL:this._modelProviders.push(new zy(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 Pc.CANCELED:return this._updateOperation.clear(),null;case Pc.VALID:return t.stickyModel}}return null}).catch(t=>(ps(t),null))}};Hy=Tb([bp(2,gn),bp(3,Si)],Hy);class tF extends Ot{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Pc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=fo(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Pc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Pc.VALID):this._invalid()).then(void 0,i=>(ps(i),Pc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Wy=class extends tF{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return bl.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 eF(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Ll.first(e.children.values())instanceof EB){const a=Ll.find(e.children.values(),d=>d.id===t);if(a)i=a.children;else{let d="",u=-1,f;for(const[g,p]of e.children.entries()){const C=this._findSumOfRangesOfGroup(p);C>u&&(f=p,u=C,d=p.id)}t=d,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,d)=>{const u=new Ig(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new Ig(d.symbol.range.startLineNumber,d.symbol.range.endLineNumber);return this._comparator(u,f)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Rm(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 Ig(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Rm(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 BE?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Wy=Tb([bp(1,Si)],Wy);class iF extends tF{constructor(e){super(e),this._foldingLimitReporter=new _B(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new eF(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Rm(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 d=new Rm(new Ig(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let zy=class extends iF{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new z9(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};zy=Tb([bp(1,co)],zy);let Vy=class extends iF{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=ad.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new V9(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}};Vy=Tb([bp(2,Si)],Vy);var vj=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},XD=function(o,e){return function(t,i){e(t,i,o)}};class mj{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let jy=class extends Ot{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new mn),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Nt),this._updateSoon=this._register(new io(()=>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(ws(()=>{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 Hy(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new go,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 f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const d=this.updateIndex(Tv(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(Tv(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=d;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,C=g.range.endLineNumber;e.startLineNumber<=C+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new mj(p,C-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,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}};jy=vj([XD(1,Si),XD(2,co)],jy);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},$h=function(o,e){return function(t,i){e(t,i,o)}},$y,Ru;let ql=(Ru=class extends Ot{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 Nt,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 gj(this._editor),this._stickyLineCandidateProvider=new jy(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Lg.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(qn(d,Ls.CONTEXT_MENU,async f=>{this._onContextMenu($d(d),f)})),this._stickyScrollFocusedContextKey=K.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=K.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(Kf(d));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&d.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(qn(d,Ls.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution($y.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 Nt,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(ee.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new Nt),t=this._register(new yb(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 ee(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(Hl(n,Ls.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(u===null)return;const f=new wi(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let d=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!d){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;d=new wi(u,1)}this._revealPosition(d)})),this._register(Hl(n,Ls.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(qn(n,Ls.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:d,textElement:u}=a;if(!d.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=d,e.clear();else if(u.style.textDecoration==="underline")return;const f=new go;e.add(ws(()=>f.dispose(!0)));let g;rx(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new wi(d.startLineNumber,d.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const C=u;g!==C?(e.clear(),g=C,g.style.textDecoration="underline",e.add(ws(()=>{g.style.textDecoration="none"}))):g||(g=C,g.style.textDecoration="underline",e.add(ws(()=>{g.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(iB,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new aL(e,t);this._contextMenuService.showContextMenu({menuId:si.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;O9(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=ad.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=Lg.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 d=new Ig(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(d);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,C=f.nestingDepth;if(p-g>0){const b=(C-1)*e,E=C*e,w=this._editor.getBottomForLineNumber(g)-i,A=this._editor.getTopForLineNumber(p)-i,I=this._editor.getBottomForLineNumber(p)-i;if(b>A&&b<=I){s.push(g),r.push(p+1),n=I-E;break}else E>w&&E<=I&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new Lg(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},$y=Ru,Ru.ID="store.contrib.stickyScrollController",Ru);ql=$y=_j([$h(1,E0),$h(2,Si),$h(3,gn),$h(4,co),$h(5,Mr),$h(6,Gn)],ql);class bj extends Ko{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Ei("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:S({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Ei("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:hj.View,toggled:{condition:Ue.equals("config.editor.stickyScroll.enabled",!0),title:S("stickyScroll","Sticky Scroll"),mnemonicTitle:S({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:si.CommandPalette},{id:si.MenubarAppearanceMenu,group:"4_editor",order:3},{id:si.StickyScrollContext}]})}async run(e){const t=e.get(Ds),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Mb=100;class Cj extends Sa{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Ei("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:S({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:Ue.and(Ue.has("config.editor.stickyScroll.enabled"),K.stickyScrollVisible),menu:[{id:si.CommandPalette}]})}runEditorCommand(e,t){var i;(i=ql.get(t))==null||i.focus()}}class Ej extends Sa{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Ei("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:K.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Mb,primary:18}})}runEditorCommand(e,t){var i;(i=ql.get(t))==null||i.focusNext()}}class yj extends Sa{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Ei("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:K.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Mb,primary:16}})}runEditorCommand(e,t){var i;(i=ql.get(t))==null||i.focusPrevious()}}class wj extends Sa{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Ei("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:K.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Mb,primary:3}})}runEditorCommand(e,t){var i;(i=ql.get(t))==null||i.goToFocused()}}class Sj extends Sa{constructor(){super({id:"editor.action.selectEditor",title:Ei("selectEditor.title","Select Editor"),precondition:K.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Mb,primary:9}})}runEditorCommand(e,t){var i;(i=ql.get(t))==null||i.selectEditor()}}Sn(ql.ID,ql,1);as(bj);as(Cj);as(yj);as(Ej);as(wj);as(Sj);var nF=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},gg=function(o,e){return function(t,i){e(t,i,o)}};class Dj{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 Uy=class extends lL{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=Ll.slice(t,i),s=Ll.slice(t,0,i);let r=5;for(const a of Ll.concat(n,s)){if(a.score===Gg.Default)continue;const d=new ee(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),u=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new Dj(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(_n.None)}return e}};Uy=nF([gg(5,Fb)],Uy);let qy=class extends Ot{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 C;if(i.selectedSuggestionInfo)return;let s;for(const b of this._editorService.listCodeEditors())if(b.getModel()===e){s=b;break}if(!s)return;const r=s.getOption(90);if(hf.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),d=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(hf.valueFor(r,d)!=="inline")return;let u=e.getWordAtPosition(t),f;if(u!=null&&u.word||(f=this._getTriggerCharacterInfo(e,t)),!(u!=null&&u.word)&&!f||(u||(u=e.getWordUntilPosition(t)),u.endColumn!==t.column))return;let g;const p=e.getValueInRange(new ee(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((C=this._lastResult)!=null&&C.canBeReused(e,t.lineNumber,u))){const b=new MD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=b,this._lastResult.acquire(),g=this._lastResult}else{const b=await j9(this._languageFeatureService.completionProvider,e,t,new up(void 0,Cm.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let E;b.needsClipboard&&(E=await this._clipboardService.readText());const w=new yc(b.items,t.column,new MD(p,0),bm.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},E);g=new Uy(e,t.lineNumber,u,w,b,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(_n.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(ee.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}}};qy=nF([gg(0,Si),gg(1,y0),gg(2,Fb),gg(3,$s)],qy);S0(qy);class Aj extends _t{constructor(){super({id:"editor.action.forceRetokenize",label:S("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 rr;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}Te(Aj);const I_=class I_ extends Ko{constructor(){super({id:I_.ID,title:Ei({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:Ei("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=!r8.getTabFocusMode();r8.setTabFocusMode(t),t?ia(S("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):ia(S("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};I_.ID="editor.action.toggleTabFocusMode";let Gy=I_;as(Gy);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},YD=function(o,e){return function(t,i){e(t,i,o)}};let Ky=class extends Ot{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=ai(e,pi("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??tb("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new eC(this.el,"click")),a=this._register(new eC(this.el,"keypress")),d=to.chain(a.event,g=>g.map(p=>new Qw(p)).filter(p=>p.keyCode===3)),u=this._register(new eC(this.el,cL.Tap)).event;this._register(vA.addTarget(this.el));const f=to.any(r.event,d,u);this._register(f(g=>{this.enabled&&(Fv.stop(g,!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)}};Ky=kj([YD(3,Up),YD(4,Aa)],Ky);var sF=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},oF=function(o,e){return function(t,i){e(t,i,o)}};const Bj=26;let Zy=class extends Ot{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Xy))}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,Bj)}};Zy=sF([oF(1,gn)],Zy);let Xy=class extends Ot{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(D0,{}),this.element=pi("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=pi("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){il(this.element)}show(e){il(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=ai(this.element,pi("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(pi(`div${Qn.asCSSSelector(e.icon)}`));const n=ai(this.element,pi("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=ai(this.element,pi("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Ky,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=ai(this.element,pi("div.action-container"));this.actionBar=this._register(new zg(s)),this.actionBar.push(this._register(new Qf("banner.close","Close Banner",Qn.asClassName(HA),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Xy=sF([oF(0,gn)],Xy);var nS=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},Af=function(o,e){return function(t,i){e(t,i,o)}};const Fj=Ws("extensions-warning-message",tn.warning,S("warningIcon","Icon shown with a warning message in the extensions editor."));var $f;let Cp=($f=class extends Ot{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:S("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new yp};else if(s.ambiguousCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new sh};else if(s.invisibleCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Ep};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:Fj,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Zy,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=Lj(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"?dL:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Yy(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new Ij(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},$f.ID="editor.contrib.unicodeHighlighter",$f);Cp=nS([Af(1,Yl),Af(2,uL),Af(3,gn)],Cp);function Lj(o,e){return{nonBasicASCII:e.nonBasicASCII===tC?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===tC?!o:e.includeComments,includeStrings:e.includeStrings===tC?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Yy=class extends Ot{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 io(()=>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:Nm.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!Bk(t,e))return null;const i=t.getValueInRange(e.range);return{reason:aF(i,this._options),inComment:Lk(t,e),inString:Fk(t,e)}}};Yy=nS([Af(3,Yl)],Yy);class Ij extends Ot{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 io(()=>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=Ik.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:Nm.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 Bk(t,e)?{reason:aF(i,this._options),inComment:Lk(t,e),inString:Fk(t,e)}:null}}const rF=S("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Qy=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(Cp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const d of t){const u=n.getDecorationInfo(d);if(!u)continue;const g=i.getValueInRange(d.range).codePointAt(0),p=RC(g);let C;switch(u.reason.kind){case 0:{tk(u.reason.confusableWith)?C=S("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,RC(u.reason.confusableWith.codePointAt(0))):C=S("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,RC(u.reason.confusableWith.codePointAt(0)));break}case 1:C=S("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:C=S("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(C))continue;r.add(C);const b={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},E=S("unicodeHighlight.adjustSettings","Adjust settings"),w=`command:${Om.ID}?${encodeURIComponent(JSON.stringify(b))}`,A=new Fo("",!0).appendMarkdown(C).appendText(" ").appendLink(w,E,rF);s.push(new Yr(this,d.range,[A],!1,a++))}return s}renderHoverParts(e,t){return aR(e,t,this._editor,this._languageService,this._openerService)}};Qy=nS([Af(1,Ba),Af(2,Aa)],Qy);function Jy(o){return`U+${o.toString(16).padStart(4,"0")}`}function RC(o){let e=`\`${Jy(o)}\``;return Pk.isInvisibleCharacter(o)||(e+=` "${`${Pj(o)}`}"`),e}function Pj(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function aF(o,e){return Ik.computeUnicodeHighlightReason(o,e)}const P_=class P_{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=Tn.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}};P_.instance=new P_;let Nm=P_;class Tj extends _t{constructor(){super({id:sh.ID,label:S("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Ds);n&&this.runAction(n)}async runAction(e){await e.updateValue(zl.includeComments,!1,2)}}class Mj extends _t{constructor(){super({id:sh.ID,label:S("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Ds);n&&this.runAction(n)}async runAction(e){await e.updateValue(zl.includeStrings,!1,2)}}const T_=class T_ extends _t{constructor(){super({id:T_.ID,label:S("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ds);n&&this.runAction(n)}async runAction(e){await e.updateValue(zl.ambiguousCharacters,!1,2)}};T_.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let sh=T_;const M_=class M_ extends _t{constructor(){super({id:M_.ID,label:S("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ds);n&&this.runAction(n)}async runAction(e){await e.updateValue(zl.invisibleCharacters,!1,2)}};M_.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Ep=M_;const R_=class R_ extends _t{constructor(){super({id:R_.ID,label:S("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=S("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Ds);n&&this.runAction(n)}async runAction(e){await e.updateValue(zl.nonBasicASCII,!1,2)}};R_.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let yp=R_;const N_=class N_ extends _t{constructor(){super({id:N_.ID,label:S("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,d=String.fromCodePoint(n),u=e.get(Kl),f=e.get(Ds);function g(b){return Pk.isInvisibleCharacter(b)?S("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Jy(b)):S("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Jy(b)} "${d}"`)}const p=[];if(s.kind===0)for(const b of s.notAmbiguousInLocales)p.push({label:S("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',b),run:async()=>{Nj(f,[b])}});if(p.push({label:g(n),run:()=>Rj(f,[n])}),a){const b=new Tj;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(r){const b=new Mj;p.push({label:b.label,run:async()=>b.runAction(f)})}if(s.kind===0){const b=new sh;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===1){const b=new Ep;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===2){const b=new yp;p.push({label:b.label,run:async()=>b.runAction(f)})}else Oj(s);const C=await u.pick(p,{title:rF});C&&await C.run()}};N_.ID="editor.action.unicodeHighlight.showExcludeOptions";let Om=N_;async function Rj(o,e){const t=o.getValue(zl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(zl.allowedCharacters,i,2)}async function Nj(o,e){var n;const t=(n=o.inspect(zl.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(zl.allowedLocales,i,2)}function Oj(o){throw new Error(`Unexpected value: ${o}`)}Te(sh);Te(Ep);Te(yp);Te(Om);Sn(Cp.ID,Cp,1);fh.register(Qy);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},QD=function(o,e){return function(t,i){e(t,i,o)}};const lF="ignoreUnusualLineTerminators";function Wj(o,e,t){o.setModelProperty(e.uri,lF,t)}function zj(o,e){return o.getModelProperty(e.uri,lF)}var Uf;let Hm=(Uf=class extends Ot{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()||zj(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:S("unusualLineTerminators.title","Unusual Line Terminators"),message:S("unusualLineTerminators.message","Detected unusual line terminators"),detail:S("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`.",al(e.uri)),primaryButton:S({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:S("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){Wj(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Uf.ID="editor.contrib.unusualLineTerminatorsDetector",Uf);Hm=Hj([QD(1,e9),QD(2,$s)],Hm);Sn(Hm.ID,Hm,1);var Vj=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},jj=function(o,e){return function(t,i){e(t,i,o)}};class JD{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,a8,!1).map(a=>({range:a.range,kind:Rv.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new td,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 u=a.findMatches(r.word,!0,!1,!0,a8,!1).map(f=>({range:f.range,kind:Rv.Text}));u&&s.set(a.uri,u)}return s}}let ew=class extends Ot{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new JD)),this._register(e.multiDocumentHighlightProvider.register("*",new JD))}};ew=Vj([jj(0,Si)],ew);var cF=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)}},Ts,tw;const sS=new Nn("hasWordHighlights",!1);function dF(o,e,t,i){const n=o.ordered(e);return Kw(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,js)),s=>s!=null).then(s=>{if(s){const r=new td;return r.set(e.uri,s),r}return new td})}function $j(o,e,t,i,n,s){const r=o.ordered(e);return Kw(r.map(a=>()=>{const d=s.filter(u=>fL(u)).filter(u=>gL(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,js)}),a=>a!=null)}class uF{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=fo(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new ee(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 d=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!d&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(d=!0)}return d}cancel(){this.result.cancel()}}class Uj extends uF{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return dF(this._providers,e,t.getPosition(),n).then(s=>s||new td)}}class qj extends uF{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return $j(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new td)}}function Gj(o,e,t,i,n){return new Uj(e,t,n,o)}function Kj(o,e,t,i,n,s){return new qj(e,t,n,o,s)}Xo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Si),n=await dF(i.documentHighlightProvider,e,t,_n.None);return n==null?void 0:n.get(e.uri)});var ed;let iw=(ed=class{constructor(e,t,i,n,s){this.toUnhook=new Nt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new td,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new id(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=sS.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=>{hL(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():Ts.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var d,u;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((u=(d=Ts.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":Ts.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,Ts.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(ee.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);ia(`${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);ia(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Ts.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Ts.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()||kv(n.getModel().uri,e==null?void 0:e.uri))continue;const s=Ts.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=cd.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)Ts.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==jo.vscodeNotebookCell&&((i=(t=Ts.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==jo.vscodeNotebookCell?(Ts.query=null,this._run()):(n=Ts.query)!=null&&n.modelInfo&&(Ts.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)!==jo.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===jo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===jo.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!Tk(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){Ts.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){Ts.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Ts.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!Ts.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(kv(this.editor.getModel().uri,(n=Ts.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const d=this.decorations.getRanges();for(const u of d)if(u.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(!Ts.query||!Ts.query.modelInfo||Ts.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Ts.query.modelInfo.model,Ts.query.modelInfo.selection,Ts.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},ps)}}computeWithModel(e,t,i,n){return n.length?Kj(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):Gj(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=cd.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=Ts.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:Rz(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),Ts.storedDecorationIDs=Ts.storedDecorationIDs.set(d,g),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()}},Ts=ed,ed.storedDecorationIDs=new td,ed.query=null,ed);iw=Ts=cF([bv(4,$s)],iw);var Nu;let cd=(Nu=class extends Ot{static get(e){return e.getContribution(tw.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new iw(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()}},tw=Nu,Nu.ID="editor.contrib.wordHighlighter",Nu);cd=tw=cF([bv(1,Gn),bv(2,Si),bv(3,$s)],cd);class hF extends _t{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=cd.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Zj extends hF{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:S("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:sS,kbOpts:{kbExpr:K.editorTextFocus,primary:65,weight:100}})}}class Xj extends hF{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:S("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:sS,kbOpts:{kbExpr:K.editorTextFocus,primary:1089,weight:100}})}}class Yj extends _t{constructor(){super({id:"editor.action.wordHighlight.trigger",label:S("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:K.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=cd.get(t);n&&n.restoreViewState(!0)}}Sn(cd.ID,cd,0);Te(Zj);Te(Xj);Te(Yj);S0(ew);class Rb extends Zo{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=dh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new wi(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,d.map(u=>pL.fromModelSelection(u))),d.length===1){const u=new wi(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new Xi(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Xi(t.lineNumber,t.column,t.lineNumber,t.column)}}class fd extends Rb{_move(e,t,i,n,s){return Xp.moveWordLeft(e,t,i,n,s)}}class gd extends Rb{_move(e,t,i,n,s){return Xp.moveWordRight(e,t,i,n)}}class Qj extends fd{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class Jj extends fd{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class e$ extends fd{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Ue.and(K.textInputFocus,(e=Ue.and(ob,rb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class t$ extends fd{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class i$ extends fd{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class n$ extends fd{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Ue.and(K.textInputFocus,(e=Ue.and(ob,rb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class s$ extends fd{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(dh(ab.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class o$ extends fd{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(dh(ab.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class r$ extends gd{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class a$ extends gd{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Ue.and(K.textInputFocus,(e=Ue.and(ob,rb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class l$ extends gd{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class c$ extends gd{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class d$ extends gd{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Ue.and(K.textInputFocus,(e=Ue.and(ob,rb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class u$ extends gd{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class h$ extends gd{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(dh(ab.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class f$ extends gd{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(dh(ab.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Nb extends Zo{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(co);if(!t.hasModel())return;const s=dh(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),d=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(C=>{const b=this._delete({wordSeparators:s,model:r,selection:C,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:d,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Rp(b,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class oS extends Nb{_delete(e,t){const i=Xp.deleteWordLeft(e,t);return i||new ee(1,1,1,1)}}class rS extends Nb{_delete(e,t){const i=Xp.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new ee(n,s,n,s)}}class g$ extends oS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:K.writable})}}class p$ extends oS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:K.writable})}}class x$ extends oS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:K.writable,kbOpts:{kbExpr:K.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class v$ extends rS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:K.writable})}}class m$ extends rS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:K.writable})}}class _$ extends rS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:K.writable,kbOpts:{kbExpr:K.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class b$ extends _t{constructor(){super({id:"deleteInsideWord",precondition:K.writable,label:S("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=dh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=Xp.deleteInsideWord(n,s,d);return new Rp(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Ii(new Qj);Ii(new Jj);Ii(new e$);Ii(new t$);Ii(new i$);Ii(new n$);Ii(new r$);Ii(new a$);Ii(new l$);Ii(new c$);Ii(new d$);Ii(new u$);Ii(new s$);Ii(new o$);Ii(new h$);Ii(new f$);Ii(new g$);Ii(new p$);Ii(new x$);Ii(new v$);Ii(new m$);Ii(new _$);Te(b$);class C$ extends Nb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:K.writable,kbOpts:{kbExpr:K.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=lb.deleteWordPartLeft(e);return i||new ee(1,1,1,1)}}class E$ extends Nb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:K.writable,kbOpts:{kbExpr:K.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=lb.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new ee(n,s,n,s)}}class fF extends Rb{_move(e,t,i,n,s){return lb.moveWordPartLeft(e,t,i,s)}}class y$ extends fF{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Cs.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class w$ extends fF{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Cs.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class gF extends Rb{_move(e,t,i,n,s){return lb.moveWordPartRight(e,t,i)}}class S$ extends gF{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class D$ extends gF{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:K.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Ii(new C$);Ii(new E$);Ii(new y$);Ii(new w$);Ii(new S$);Ii(new D$);const DS=class DS extends Ot{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=nr.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Fo(S("editor.simple.readonly","Cannot edit in read-only input")):t=new Fo(S("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};DS.ID="editor.contrib.readOnlyMessageController";let Wm=DS;Sn(Wm.ID,Wm,2);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},e2=function(o,e){return function(t,i){e(t,i,o)}};let nw=class extends Ot{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=br(this,void 0);const n=Ud("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Ud("_textModel.onDidChangeContent",to.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(jp(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new mL),u=await this._outlineModelService.getOrCreate(this._textModel,d.token);a.isDisposed||this._currentModel.set(u,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(vL(qp(s=>s.range.endLineNumber-s.range.startLineNumber,Q_))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};nw=A$([e2(1,Si),e2(2,cx)],nw);xL.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(nw,o));const AS=class AS extends Ot{constructor(e){super(),this.editor=e,this.widget=null,i1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new sw(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};AS.ID="editor.contrib.iPadShowKeyboard";let zm=AS;const O_=class O_ extends Ot{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(qn(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(qn(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return O_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};O_.ID="editor.contrib.ShowKeyboardWidget";let sw=O_;Sn(zm.ID,zm,3);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},t2=function(o,e){return function(t,i){e(t,i,o)}},ow,Ou;let wp=(Ou=class extends Ot{static get(e){return e.getContribution(ow.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(eb.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 rw(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},ow=Ou,Ou.ID="editor.contrib.inspectTokens",Ou);wp=ow=k$([t2(1,Mk),t2(2,Ba)],wp);class B$ extends _t{constructor(){super({id:"editor.action.inspectTokens",label:EL.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=wp.get(t);i==null||i.launch()}}function F$(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 L$(o,e){const t=eb.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>_L,tokenize:(n,s,r)=>CL(e,r),tokenizeEncoded:(n,s,r)=>bL(i,r)}}const H_=class H_ extends Ot{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=L$(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 H_._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let d=t.tokens1.length-1;d>=0;d--){const u=t.tokens1[d];if(e.column-1>=u.offset){i=d;break}}let n=0;for(let d=t.tokens2.length>>>1;d>=0;d--)if(e.column-1>=t.tokens2[d<<1]){n=d;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const d=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(d,u)}Bv(this._domNode,pi("h2.tm-token",void 0,F$(r),pi("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),ai(this._domNode,pi("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;ai(this._domNode,pi("table.tm-metadata-table",void 0,pi("tbody",void 0,pi("tr",void 0,pi("td.tm-metadata-key",void 0,"language"),pi("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),pi("tr",void 0,pi("td.tm-metadata-key",void 0,"token type"),pi("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),pi("tr",void 0,pi("td.tm-metadata-key",void 0,"font style"),pi("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),pi("tr",void 0,pi("td.tm-metadata-key",void 0,"foreground"),pi("td.tm-metadata-value",void 0,`${a?Fn.Format.CSS.formatHex(a.foreground):"-?-"}`)),pi("tr",void 0,pi("td.tm-metadata-key",void 0,"background"),pi("td.tm-metadata-value",void 0,`${a?Fn.Format.CSS.formatHex(a.background):"-?-"}`))))),ai(this._domNode,pi("hr.tokens-inspect-separator")),i<t.tokens1.length&&ai(this._domNode,pi("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=eb.getColorMap(),i=U0.getLanguageId(e),n=U0.getTokenType(e),s=U0.getFontStyle(e),r=U0.getForeground(e),a=U0.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]}}};H_._ID="editor.contrib.inspectTokensWidget";let rw=H_;Sn(wp.ID,wp,4);Te(B$);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},i2=function(o,e){return function(t,i){e(t,i,o)}},pg,Hu;let aw=(Hu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Da.as(Yp.Quickaccess)}provide(e){const t=new Nt;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(pg.PREFIX.length));n&&n.prefix&&n.prefix!==pg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==pg.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:S("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},pg=Hu,Hu.PREFIX="?",Hu);aw=pg=I$([i2(0,Kl),i2(1,Xs)],aw);Da.as(Yp.Quickaccess).registerQuickAccessProvider({ctor:aw,prefix:"",helpEntries:[{description:yL.helpQuickAccessActionLabel}]});class pF{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new Nt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Er);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 Nt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=Rk(s);if(a){let d=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{d=s.saveViewState()??void 0})),r.restoreViewState=()=>{d&&s===this.activeTextEditorControl&&s.restoreViewState(d)},n.add(Nk(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(ws(()=>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&&Zf(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return Tk(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:Qs(VA),position:tl.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 W_=class W_ extends pF{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=S("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Ot.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Nt;s.add(t.onDidAccept(d=>{const[u]=t.selectedItems;if(u){if(!this.isValidLineNumber(n,u.lineNumber))return;this.gotoLocation(e,{range:this.toRange(u.lineNumber,u.column),keyMods:t.keyMods,preserveFocus:d.inBackground}),d.inBackground||t.hide()}}));const r=()=>{const d=this.parsePosition(n,t.value.trim().substr(W_.PREFIX.length)),u=this.getPickLabel(n,d.lineNumber,d.column);if(t.items=[{lineNumber:d.lineNumber,column:d.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,d.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(d.lineNumber,d.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=Rk(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(ws(()=>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)?S("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):S("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?S("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):S("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}};W_.PREFIX=":";let lw=W_;var P$=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},T$=function(o,e){return function(t,i){e(t,i,o)}};let Sp=class extends lw{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=to.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Sp=P$([T$(0,$s)],Sp);var Wu;let xF=(Wu=class extends _t{constructor(){super({id:Wu.ID,label:Ok.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Kl).quickAccess.show(Sp.PREFIX)}},Wu.ID="editor.action.gotoLine",Wu);Te(xF);Da.as(Yp.Quickaccess).registerQuickAccessProvider({ctor:Sp,prefix:Sp.PREFIX,helpEntries:[{description:Ok.gotoLineActionLabel,commandId:xF.ID}]});const vF=[void 0,[]];function NC(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?M$(o,n.values,t,i):mF(o,e,t,i)}function M$(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=mF(o,r,t,i);if(typeof a!="number")return vF;n+=a,s.push(...d)}return[n,R$(s)]}function mF(o,e,t,i){const n=ak(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],J_(n)]:vF}function R$(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!N$(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 N$(o,e){return!(o.end<e.start||e.end<o.start)}function n2(o){return o.startsWith('"')&&o.endsWith('"')}const _F=" ";function cw(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=s2(o),s=t.indexOf(d1)>=0,r=n2(o);let a;const d=o.split(_F);if(d.length>1)for(const u of d){const f=n2(u),{pathNormalized:g,normalized:p,normalizedLowercase:C}=s2(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:C,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function s2(o){let e;$_?e=o.replace(/\//g,d1):e=o.replace(/\\/g,d1);const t=wL(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function o2(o){return Array.isArray(o)?cw(o.map(e=>e.original).join(_F)):cw(o.original)}var O$=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},r2=function(o,e){return function(t,i){e(t,i,o)}},Cv,_a;let Jd=(_a=class extends pF{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,S("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Ot.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):Ot.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Nt;return this.provideLabelPick(i,S("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 U_,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(ws(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new Nt;a.add(i.onDidAccept(p=>{var b;const[C]=i.selectedItems;C&&C.range&&(this.gotoLocation(e,{range:C.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(b=s==null?void 0:s.handleAccept)==null||b.call(s,C),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 d=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new go(n),i.busy=!0;try{const C=cw(i.value.substr(Cv.PREFIX.length).trim()),b=await this.doGetSymbolPicks(d,C,void 0,u.token,t);if(n.isCancellationRequested)return;if(b.length>0){if(i.items=b,p&&C.original.length===0){const E=kL(b,w=>!!(w.type!=="separator"&&w.range&&ee.containsPosition(w.range.decoration,p)));E&&(i.activeItems=[E])}}else C.original.length>0?this.provideLabelPick(i,S("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,S("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>f(void 0))),f((g=r.getSelection())==null?void 0:g.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 w,A;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(Cv.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=o2(t.values[0]),f=o2(t.values.slice(1))):u=t;let g;const p=(A=(w=this.options)==null?void 0:w.openSideBySideDirection)==null?void 0:A.call(w);p&&(g=[{iconClass:p==="right"?Qn.asClassName(tn.splitHorizontal):Qn.asClassName(tn.splitVertical),tooltip:p==="right"?S("openToSide","Open to the Side"):S("openToBottom","Open to the Bottom")}]);const C=[];for(let I=0;I<r.length;I++){const T=r[I],M=SL(T.name),P=`$(${DL.toIcon(T.kind).id}) ${M}`,j=P.length-M.length;let U=T.containerName;i!=null&&i.extraContainerLabel&&(U?U=`${i.extraContainerLabel} • ${U}`:U=i.extraContainerLabel);let Q,oe,le,re;if(t.original.length>d){let ge=!1;if(u!==t&&([Q,oe]=NC(P,{...t,values:void 0},d,j),typeof Q=="number"&&(ge=!0)),typeof Q!="number"&&([Q,oe]=NC(P,u,d,j),typeof Q!="number"))continue;if(!ge&&f){if(U&&f.original.length>0&&([le,re]=NC(U,f)),typeof le!="number")continue;typeof Q=="number"&&(Q+=le)}}const ce=T.tags&&T.tags.indexOf(1)>=0;C.push({index:I,kind:T.kind,score:Q,label:P,ariaLabel:AL(T.name,T.kind),description:U,highlights:ce?void 0:{label:oe,description:re},range:{selection:ee.collapseToStart(T.selectionRange),decoration:T.range},uri:s.uri,symbolName:M,strikethrough:ce,buttons:g})}const b=C.sort((I,T)=>a?this.compareByKindAndScore(I,T):this.compareByScore(I,T));let E=[];if(a){let P=function(){T&&typeof I=="number"&&M>0&&(T.label=jw(HC[I]||OC,M))},I,T,M=0;for(const j of b)I!==j.kind?(P(),I=j.kind,M=1,T={type:"separator"},E.push(T)):M++,E.push(j);P()}else b.length>0&&(E=[{label:S("symbols","symbols ({0})",C.length),type:"separator"},...b]);return E}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=HC[e.kind]||OC,n=HC[t.kind]||OC,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()}},Cv=_a,_a.PREFIX="@",_a.SCOPE_PREFIX=":",_a.PREFIX_BY_CATEGORY=`${_a.PREFIX}${_a.SCOPE_PREFIX}`,_a);Jd=Cv=O$([r2(0,Si),r2(1,cx)],Jd);const OC=S("property","properties ({0})"),HC={5:S("method","methods ({0})"),11:S("function","functions ({0})"),8:S("_constructor","constructors ({0})"),12:S("variable","variables ({0})"),4:S("class","classes ({0})"),22:S("struct","structs ({0})"),23:S("event","events ({0})"),24:S("operator","operators ({0})"),10:S("interface","interfaces ({0})"),2:S("namespace","namespaces ({0})"),3:S("package","packages ({0})"),25:S("typeParameter","type parameters ({0})"),1:S("modules","modules ({0})"),6:S("property","properties ({0})"),9:S("enum","enumerations ({0})"),21:S("enumMember","enumeration members ({0})"),14:S("string","strings ({0})"),0:S("file","files ({0})"),17:S("array","arrays ({0})"),15:S("number","numbers ({0})"),16:S("boolean","booleans ({0})"),18:S("object","objects ({0})"),19:S("key","keys ({0})"),7:S("field","fields ({0})"),13:S("constant","constants ({0})")};var H$=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},WC=function(o,e){return function(t,i){e(t,i,o)}};let dw=class extends Jd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=to.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};dw=H$([WC(0,$s),WC(1,Si),WC(2,cx)],dw);const z_=class z_ extends _t{constructor(){super({id:z_.ID,label:u1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:K.hasDocumentSymbolProvider,kbOpts:{kbExpr:K.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Kl).quickAccess.show(Jd.PREFIX,{itemActivation:BL.NONE})}};z_.ID="editor.action.quickOutline";let Vm=z_;Te(Vm);Da.as(Yp.Quickaccess).registerQuickAccessProvider({ctor:dw,prefix:Jd.PREFIX,helpEntries:[{description:u1.quickOutlineActionLabel,prefix:Jd.PREFIX,commandId:Vm.ID},{description:u1.quickOutlineByCategoryActionLabel,prefix:Jd.PREFIX_BY_CATEGORY}]});function W$(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Tg{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 d of a.chunks){const u=this.computeSimilarityScore(d,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return W$(Tg.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=Tg.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 d=i.get(s);typeof d!="number"&&(d=this.computeIdf(s),i.set(s,d));const u=a*d;n+=u*r}return n}computeEmbedding(e){const t=Tg.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 z$(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 gf;(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"})(gf||(gf={}));function zC(o){return Array.isArray(o.items)}function a2(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class V$ extends Ot{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new Nt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Er),a=async()=>{var w;const f=r.value=new Nt;s==null||s.dispose(!0),e.busy=!1,s=new go(t);const g=s.token;let p=e.value.substring(this.prefix.length);(w=this.options)!=null&&w.shouldSkipTrimPickFilter||(p=p.trim());const C=this._getPicks(p,f,g,i),b=(A,I)=>{var P;let T,M;if(zC(A)?(T=A.items,M=A.active):T=A,T.length===0){if(I)return!1;(p.length>0||e.hideInput)&&((P=this.options)!=null&&P.noResultsPick)&&(FL(this.options.noResultsPick)?T=[this.options.noResultsPick(p)]:T=[this.options.noResultsPick])}return e.items=T,M&&(e.activeItems=[M]),!0},E=async A=>{let I=!1,T=!1;await Promise.all([(async()=>{typeof A.mergeDelay=="number"&&(await nb(A.mergeDelay),g.isCancellationRequested)||T||(I=b(A.picks,!0))})(),(async()=>{e.busy=!0;try{const M=await A.additionalPicks;if(g.isCancellationRequested)return;let P,j;zC(A.picks)?(P=A.picks.items,j=A.picks.active):P=A.picks;let U,Q;if(zC(M)?(U=M.items,Q=M.active):U=M,U.length>0||!I){let oe;if(!j&&!Q){const le=e.activeItems[0];le&&P.indexOf(le)!==-1&&(oe=le)}b({items:[...P,...U],active:j||Q||oe})}}finally{g.isCancellationRequested||(e.busy=!1),T=!0}})()])};if(C!==null)if(a2(C))await E(C);else if(!(C instanceof Promise))b(C);else{e.busy=!0;try{const A=await C;if(g.isCancellationRequested)return;a2(A)?await E(A):b(A)}finally{g.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(f=>{var p;if(i!=null&&i.handleAccept){f.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[g]=e.selectedItems;typeof(g==null?void 0:g.accept)=="function"&&(f.inBackground||e.hide(),g.accept(e.keyMods,f))}));const d=async(f,g)=>{var C;if(typeof g.trigger!="function")return;const p=((C=g.buttons)==null?void 0:C.indexOf(f))??-1;if(p>=0){const b=g.trigger(p,e.keyMods),E=typeof b=="number"?b:await b;if(t.isCancellationRequested)return;switch(E){case gf.NO_ACTION:break;case gf.CLOSE_PICKER:e.hide();break;case gf.REFRESH_PICKER:a();break;case gf.REMOVE_ITEM:{const w=e.items.indexOf(g);if(w!==-1){const A=e.items.slice(),I=A.splice(w,1),T=e.activeItems.filter(P=>P!==I[0]),M=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=A,T&&(e.activeItems=T),e.keepScrollPosition=M}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>d(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>d(f,g))),n}}var bF=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},wc=function(o,e){return function(t,i){e(t,i,o)}},kd,Gs,Ya;let uw=(Ya=class extends V${constructor(e,t,i,n,s,r){super(kd.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(hw)),this.options=e}async _getPicks(e,t,i,n){var C,b;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Nk(()=>{const E=new Tg;E.updateDocuments(s.map(A=>({key:A.commandId,textChunks:[this.getTfIdfChunk(A)]})));const w=E.calculateScores(e,i);return z$(w).filter(A=>A.score>kd.TFIDF_THRESHOLD).slice(0,kd.TFIDF_MAX_RESULTS)}),a=[];for(const E of s){const w=kd.WORD_FILTER(e,E.label)??void 0,A=E.commandAlias?kd.WORD_FILTER(e,E.commandAlias)??void 0:void 0;if(w||A)E.highlights={label:w,detail:this.options.showAlias?A:void 0},a.push(E);else if(e===E.commandId)a.push(E);else if(e.length>=3){const I=r();if(i.isCancellationRequested)return[];const T=I.find(M=>M.key===E.commandId);T&&(E.tfIdfScore=T.score,a.push(E))}}const d=new Map;for(const E of a){const w=d.get(E.label);w?(E.description=E.commandId,w.description=w.commandId):d.set(E.label,E)}a.sort((E,w)=>{if(E.tfIdfScore&&w.tfIdfScore)return E.tfIdfScore===w.tfIdfScore?E.label.localeCompare(w.label):w.tfIdfScore-E.tfIdfScore;if(E.tfIdfScore)return 1;if(w.tfIdfScore)return-1;const A=this.commandsHistory.peek(E.commandId),I=this.commandsHistory.peek(w.commandId);if(A&&I)return A>I?-1:1;if(A)return-1;if(I)return 1;if(this.options.suggestedCommandIds){const T=this.options.suggestedCommandIds.has(E.commandId),M=this.options.suggestedCommandIds.has(w.commandId);if(T&&M)return 0;if(T)return-1;if(M)return 1}return E.label.localeCompare(w.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let E=0;E<a.length;E++){const w=a[E];E===0&&this.commandsHistory.peek(w.commandId)&&(u.push({type:"separator",label:S("recentlyUsed","recently used")}),f=!0),g&&w.tfIdfScore!==void 0&&(u.push({type:"separator",label:S("suggested","similar commands")}),g=!1),p&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&((C=this.options.suggestedCommandIds)!=null&&C.has(w.commandId))&&(u.push({type:"separator",label:S("commonlyUsed","commonly used")}),f=!0,p=!1),f&&w.tfIdfScore===void 0&&!this.commandsHistory.peek(w.commandId)&&!((b=this.options.suggestedCommandIds)!=null&&b.has(w.commandId))&&(u.push({type:"separator",label:S("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(w,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var A;const E=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const w=E.map(I=>this.toCommandPick(I,n));return g&&((A=w[0])==null?void 0:A.type)!=="separator"&&w.unshift({type:"separator",label:S("suggested","similar commands")}),w})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?S("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){dd(r)||this.dialogService.error(S("canNotRun","Command '{0}' resulted in an error",e.label),Kv(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}},kd=Ya,Ya.PREFIX=">",Ya.TFIDF_THRESHOLD=.5,Ya.TFIDF_MAX_RESULTS=5,Ya.WORD_FILTER=LL(TL,PL,IL),Ya);uw=kd=bF([wc(1,gn),wc(2,Xs),wc(3,lo),wc(4,ka),wc(5,e9)],uw);var ba;let hw=(ba=class extends Ot{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===Mw.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Gs.getConfiguredCommandHistoryLength(this.configurationService),Gs.cache&&Gs.cache.limit!==this.configuredCommandsHistoryLength&&(Gs.cache.limit=this.configuredCommandsHistoryLength,Gs.hasChanges=!0))}load(){const e=this.storageService.get(Gs.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Gs.cache=new zp(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))}Gs.counter=this.storageService.getNumber(Gs.PREF_KEY_COUNTER,0,Gs.counter)}push(e){Gs.cache&&(Gs.cache.set(e,Gs.counter++),Gs.hasChanges=!0)}peek(e){var t;return(t=Gs.cache)==null?void 0:t.peek(e)}saveState(){if(!Gs.cache||!Gs.hasChanges)return;const e={usesLRU:!0,entries:[]};Gs.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Gs.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Gs.PREF_KEY_COUNTER,Gs.counter,0,0),Gs.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:Gs.DEFAULT_COMMANDS_HISTORY_LENGTH}},Gs=ba,ba.DEFAULT_COMMANDS_HISTORY_LENGTH=50,ba.PREF_KEY_CACHE="commandPalette.mru.cache",ba.PREF_KEY_COUNTER="commandPalette.mru.counter",ba.counter=1,ba.hasChanges=!1,ba);hw=Gs=bF([wc(0,ud),wc(1,Ds),wc(2,ch)],hw);class j$ extends uw{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&&(ML(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:RL(n.label)||n.id})}return t}}var $$=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},Uh=function(o,e){return function(t,i){e(t,i,o)}};let Dp=class extends j${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[]}};Dp=$$([Uh(0,gn),Uh(1,$s),Uh(2,Xs),Uh(3,lo),Uh(4,ka),Uh(5,e9)],Dp);const V_=class V_ extends _t{constructor(){super({id:V_.ID,label:Hk.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:K.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Kl).quickAccess.show(Dp.PREFIX)}};V_.ID="editor.action.quickCommand";let jm=V_;Te(jm);Da.as(Yp.Quickaccess).registerQuickAccessProvider({ctor:Dp,prefix:Dp.PREFIX,helpEntries:[{description:Hk.quickCommandHelp,commandId:jm.ID}]});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},qh=function(o,e){return function(t,i){e(t,i,o)}};let fw=class extends eh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};fw=U$([qh(1,Gn),qh(2,$s),qh(3,Ho),qh(4,gn),qh(5,ud),qh(6,Ds)],fw);Sn(eh.ID,fw,4);class q$ extends _t{constructor(){super({id:"editor.action.toggleHighContrast",label:NL.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(Mk),n=i.getColorTheme();Vg(n.type)?(i.setTheme(this._originalThemeName||(l8(n.type)?OL:HL)),this._originalThemeName=null):(i.setTheme(l8(n.type)?WL:zL),this._originalThemeName=n.themeName)}}Te(q$);const CF="she-theme";function G$(){return localStorage.getItem(CF)??"system"}function K$(o){localStorage.setItem(CF,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o),window.dispatchEvent(new CustomEvent("she:theme-changed"))}function pf(){const o=document.documentElement.getAttribute("data-theme");return o==="light"?"vs":o==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches?"vs-dark":"vs"}let gw=null;function Z$(o){gw=o}function X$(o={}){return{"Content-Type":"application/json",...o}}async function Ht(o,e,t){const i=await fetch(e,{method:o,headers:X$(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw gw&&gw(),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 Y$(){return await(await fetch("/she/auth/mode")).json()}async function Q$(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 J$(){await fetch("/she/auth/logout",{method:"POST"})}async function eU(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 EF(){return Ht("GET","/she/scripts/tree")}function Ux(o){return Ht("GET",`/she/scripts/${o}`)}function xc(o,e){return Ht("PUT",`/she/scripts/${o}`,{content:e})}function l2(o,e={}){const t=new URLSearchParams({q:o});return e.regex&&t.set("regex","true"),e.caseSensitive&&t.set("caseSensitive","true"),e.mode&&t.set("mode",e.mode),Ht("GET",`/she/scripts/search?${t}`)}function qx(o){return Ht("DELETE",`/she/scripts/${o}`)}function c2(o,e){return Ht("POST",`/she/scripts/${o}/rename`,{newPath:e})}function tU(o){return Ht("POST","/she/scripts/mkdir",{path:o})}function iU(){return Ht("GET","/she/git/status")}function xf(){return Ht("GET","/she/status")}function yF(){return Ht("POST","/she/restart")}function nU(){return Ht("POST","/she/update")}function sU(){return Ht("POST","/she/check-update")}function oU(o,e){return Ht("POST","/she/git/commit",{path:o,message:e})}function d2(o,e){return Ht("POST","/she/git/commit",{files:o,message:e})}function u2(o){return Ht("POST","/she/git/commit",{message:o})}function Gx(o){return Ht("POST","/she/git/push",{remote:o})}function rU(o,e){return Ht("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function aU(o,e){return Ht("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Gl(){return Ht("GET","/she/config")}function Ap(o){return Ht("PUT","/she/config",o)}function vh(o){return o.split("/").map(encodeURIComponent).join("/")}function wF(){return Ht("GET","/she/db/docs")}function lU(o){return Ht("GET",`/she/db/docs/${vh(o)}`)}function h2(o,e){return Ht("PUT",`/she/db/docs/${vh(o)}`,e)}function cU(o){return Ht("DELETE",`/she/db/docs/${vh(o)}`)}function SF(){return Ht("GET","/she/db/views")}function dU(o){return Ht("GET",`/she/db/views/${vh(o)}`)}function f2(o,e){return Ht("PUT",`/she/db/views/${vh(o)}`,e)}function uU(o){return Ht("DELETE",`/she/db/views/${vh(o)}`)}function hU(){return Ht("GET","/she/deps")}function fU(o){return Ht("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function gU(o,e){return Ht("POST","/she/deps/install",{name:o,version:null})}function pU(o){return Ht("POST","/she/deps/remove",{name:o})}function xU(o){return Ht("POST","/she/deps/update",{name:o})}function DF(){return Ht("GET","/she/deps/outdated")}function vU(){return Ht("POST","/she/deps/check-outdated")}function mU(){return Ht("GET","/she/ai/conversations")}function g2(o){return Ht("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function _U(o,e,t){return Ht("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function bU(o){return Ht("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function VC(o){return Ht("GET",`/she/db/views/${vh(o)}/result`)}function aS(){return Ht("GET","/she/matter/devices")}function Ev(o){return Ht("GET",`/she/matter/devices/${o}`)}function CU(o){return Ht("POST","/she/matter/commission",o)}function EU(o){return Ht("DELETE",`/she/matter/devices/${o}`)}function yU(o,e){return Ht("POST",`/she/matter/devices/${o}/rename`,{name:e})}function wU(o,e,t,i,n){return Ht("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function AF(){return Ht("GET","/she/mqtt/state")}function p2(o,e,t=!1,i=0){return Ht("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function kF(){return Ht("GET","/she/ai/config")}function BF(){return Ht("GET","/she/ai/models")}function pw(o){return Ht("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function FF(o){return Ht("POST","/she/ai/prompt",o)}async function LF(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 u=await s.json().catch(()=>({error:s.statusText}));throw new Error(u.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let d="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;d+=a.decode(f,{stream:!0});const g=d.split(`
79
+ `);d=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const C=p.slice(6).trim();if(C==="[DONE]")return;try{const b=JSON.parse(C);if(b.error)throw new Error(b.error);if(b.type==="tool_call"||b.type==="tool_result"){i==null||i({type:b.type,name:b.name??"",args:b.args,content:b.content});continue}b.token&&e(b.token)}catch(b){if(b instanceof SyntaxError)continue;throw b}}}}finally{r.releaseLock()}}function Ob(){return Ht("GET","/she/broker/status")}function SU(){return Ht("GET","/she/broker/local/check")}function DU(){return Ht("GET","/she/broker/ip-addresses")}function ux(){return Ht("GET","/she/broker/config")}function AU(o=500){return Ht("GET",`/she/broker/logs?limit=${o}`)}function IF(o){return Ht("PUT","/she/broker/config",o)}function kU(o,e){return Ht("PUT","/she/broker/config/raw",{content:o,checksum:e})}function BU(){return Ht("GET","/she/broker/config/backups")}function FU(o){return Ht("POST","/she/broker/config/restore",{backup:o})}function Hb(){return Ht("POST","/she/broker/reload")}function LU(){return Ht("POST","/she/broker/restart")}function IU(){return Ht("POST","/she/broker/wizard/deactivate")}function PU(){return Ht("POST","/she/broker/wizard/reinit")}function TU(){return Ht("GET","/she/broker/wizard/diagnose")}function MU(o){return Ht("GET",`/she/broker/passwd?file=${encodeURIComponent(o)}`)}function x2(o,e,t){return Ht("POST","/she/broker/passwd",{file:o,username:e,password:t})}function RU(o,e){return Ht("DELETE",`/she/broker/passwd/${encodeURIComponent(e)}`,{file:o})}function NU(o){return Ht("GET",`/she/broker/acl?file=${encodeURIComponent(o)}`)}function OU(o,e){return Ht("PUT","/she/broker/acl",{file:o,content:e})}function HU(){return Ht("GET","/she/broker/users")}function WU(o,e){return Ht("POST","/she/broker/users",{username:o,password:e})}function zU(o){return Ht("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function VU(o,e){return Ht("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function jU(o,e){return Ht("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function $U(o,e){return Ht("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function PF(){return Ht("GET","/she/broker/roles")}function UU(o){return Ht("POST","/she/broker/roles",{rolename:o})}function qU(o){return Ht("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function GU(o,e){return Ht("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function KU(o,e,t){return Ht("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function ZU(){return Ht("GET","/she/broker/groups")}function XU(o){return Ht("POST","/she/broker/groups",{groupname:o})}function YU(o){return Ht("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function v2(o,e){return Ht("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function m2(o,e){return Ht("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function QU(o,e){return Ht("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function JU(o,e){return Ht("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function eq(){return Ht("GET","/she/broker/acl-defaults")}function tq(o){return Ht("PUT","/she/broker/acl-defaults",{acls:o})}function iq(o){return Ht("GET",`/she/broker/acl-check?${new URLSearchParams({topic:o})}`)}function nq(){return Ht("GET","/she/broker/anonymous-group")}function sq(o){return Ht("PUT","/she/broker/anonymous-group",{groupname:o})}function oq(){return Ht("GET","/she/broker/ca/server")}function rq(o){return Ht("POST","/she/broker/ca/server/generate",o)}function aq(o){return Ht("POST","/she/broker/ca/server/csr",o)}function jC(o){return Ht("POST","/she/broker/ca/server/import",o)}function lq(){return Ht("GET","/she/broker/ca/trusted")}function cq(o){return Ht("POST","/she/broker/ca/trusted",{pem:o})}function dq(o){return Ht("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}function uq(o){return Ht("GET",`/she/broker/fs/complete?path=${encodeURIComponent(o)}`)}function hq(o){return Ht("POST","/she/broker/ca/server/pathlink",o)}function fq(o){return Ht("POST","/she/broker/ca/trusted/addpath",{path:o})}const gq=2e3,yv=[],pq=500,wv=[];function TF(){return yv.slice()}function xq(){return wv.slice()}let Tc=null;const $m=new Set,vf=new Map;let xw=null,Sv=null;function lS(){return Sv||(Sv=fetch("/she/logs/history").then(o=>o.ok?o.json():[]).catch(()=>[])),Sv}function kp(){let o=$m.size;for(const e of vf.values())o+=e.size;return o}function vq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function cS(){if(Tc)return;lS();const o=vq(),e=new WebSocket(o);Tc=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};yv.length>=gq&&yv.shift(),yv.push(s),$m.forEach(r=>r(s))}if(i.type==="brokerLog"){const s={level:i.level,msg:i.msg,ts:i.ts};wv.length>=pq&&wv.shift(),wv.push(s)}const n=vf.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{Tc===e&&(Tc=null,Sv=null),kp()>0&&(xw=setTimeout(cS,3e3))},e.onerror=()=>{e.close()}}function MF(){xw&&clearTimeout(xw),Tc==null||Tc.close(),Tc=null}function dS(o){return $m.add(o),kp()===1&&cS(),()=>{$m.delete(o),kp()===0&&MF()}}function mr(o,e){return vf.has(o)||vf.set(o,new Set),vf.get(o).add(e),kp()===1&&cS(),()=>{var t;(t=vf.get(o))==null||t.delete(e),kp()===0&&MF()}}function uS(o){const e=new Date(o);return e.toTimeString().slice(0,8)+"."+String(e.getMilliseconds()).padStart(3,"0")}const $C=/([^\s():,]+\.js)(?::(\d+)(?::(\d+))?)?/g;function RF(o,e){const t=[];let i=0;$C.lastIndex=0;for(let n=$C.exec(o);n!==null;n=$C.exec(o)){const s=e(n[1]);s&&(n.index>i&&t.push({text:o.slice(i,n.index)}),t.push({text:n[0],link:{path:s,line:n[2]?Number(n[2]):void 0,column:n[3]?Number(n[3]):void 0}}),i=n.index+n[0].length)}return i<o.length&&t.push({text:o.slice(i)}),t}function NF(o){return e=>{const t=e.replace(/\\/g,"/");if(o.has(t))return t;for(const i of o)if(t.endsWith("/"+i))return i;return null}}function hS(o,e=new Set){for(const t of o)t.type==="file"?e.add(t.path):t.children&&hS(t.children,e);return e}var mq=F('<button class="cancel svelte-1eh8v5n">Cancel</button>'),_q=F('<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 hl(o,e){Js(e,!0);let t=B(!1),i=B(""),n=B("Confirm"),s=B(!1),r=B(!1),a=null;function d(E,w){return x(i,E,!0),x(n,(w==null?void 0:w.confirm)??(w!=null&&w.alert?"OK":"Confirm"),!0),x(s,(w==null?void 0:w.danger)??!1,!0),x(r,(w==null?void 0:w.alert)??!1,!0),x(t,!0),new Promise(A=>a=A)}function u(E){x(t,!1),a==null||a(E),a=null}function f(E){l(t)&&(E.key==="Escape"&&u(!1),E.key==="Enter"&&u(!0))}var g={show:d},p=Hs();Ns("keydown",Kd,f);var C=lt(p);{var b=E=>{var w=_q(),A=lt(w),I=v(A,2),T=m(I),M=m(T),P=v(T,2),j=m(P);{var U=re=>{var ce=mq();z("click",ce,()=>u(!1)),D(re,ce)};N(j,re=>{l(r)||re(U)})}var Q=v(j,2);let oe;var le=m(Q);W(()=>{O(M,l(i)),oe=At(Q,1,"svelte-1eh8v5n",null,oe,{danger:l(s)}),O(le,l(n))}),z("click",A,()=>u(!1)),z("click",Q,()=>u(!0)),D(E,w)};N(C,E=>{l(t)&&E(b)})}return D(o,p),eo(g)}uo(["click"]);var bq=F('<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 OF(o,e){Js(e,!0);let t=B(!1),i=B(""),n=B(""),s=B("OK"),r=B(""),a=null,d=B(void 0);function u(A,I){return x(i,A,!0),x(n,(I==null?void 0:I.placeholder)??"",!0),x(s,(I==null?void 0:I.confirm)??"OK",!0),x(r,(I==null?void 0:I.initial)??"",!0),x(t,!0),setTimeout(()=>{if(l(d)){l(d).focus();const T=l(d).value.length;l(d).setSelectionRange(T,T)}},0),new Promise(T=>a=T)}function f(){const A=l(r).trim();A&&(x(t,!1),a==null||a(A),a=null,x(r,""))}function g(){x(t,!1),a==null||a(null),a=null,x(r,"")}function p(A){l(t)&&A.key==="Escape"&&(A.stopPropagation(),g())}var C={show:u},b=Hs();Ns("keydown",Kd,p);var E=lt(b);{var w=A=>{var I=bq(),T=lt(I),M=v(T,2),P=m(M),j=m(P),U=v(P,2);Bs(U,ce=>x(d,ce),()=>l(d));var Q=v(U,2),oe=m(Q),le=v(oe,2),re=m(le);W(ce=>{O(j,l(i)),fn(U,"placeholder",l(n)),le.disabled=ce,O(re,l(s))},[()=>!l(r).trim()]),z("click",T,g),z("keydown",U,ce=>{ce.key==="Enter"&&(ce.preventDefault(),f())}),Dt(U,()=>l(r),ce=>x(r,ce)),z("click",oe,g),z("click",le,f),D(A,I)};N(E,A=>{l(t)&&A(w)})}return D(o,b),eo(C)}uo(["click","keydown"]);function fS(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var UC,_2;function Cq(){if(_2)return UC;_2=1;function o(Z){return Z instanceof Map?Z.clear=Z.delete=Z.set=function(){throw new Error("map is read-only")}:Z instanceof Set&&(Z.add=Z.clear=Z.delete=function(){throw new Error("set is read-only")}),Object.freeze(Z),Object.getOwnPropertyNames(Z).forEach(Se=>{const ot=Z[Se],Ye=typeof ot;(Ye==="object"||Ye==="function")&&!Object.isFrozen(ot)&&o(ot)}),Z}class e{constructor(Se){Se.data===void 0&&(Se.data={}),this.data=Se.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(Z){return Z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(Z,...Se){const ot=Object.create(null);for(const Ye in Z)ot[Ye]=Z[Ye];return Se.forEach(function(Ye){for(const Wt in Ye)ot[Wt]=Ye[Wt]}),ot}const n="</span>",s=Z=>!!Z.scope,r=(Z,{prefix:Se})=>{if(Z.startsWith("language:"))return Z.replace("language:","language-");if(Z.includes(".")){const ot=Z.split(".");return[`${Se}${ot.shift()}`,...ot.map((Ye,Wt)=>`${Ye}${"_".repeat(Wt+1)}`)].join(" ")}return`${Se}${Z}`};class a{constructor(Se,ot){this.buffer="",this.classPrefix=ot.classPrefix,Se.walk(this)}addText(Se){this.buffer+=t(Se)}openNode(Se){if(!s(Se))return;const ot=r(Se.scope,{prefix:this.classPrefix});this.span(ot)}closeNode(Se){s(Se)&&(this.buffer+=n)}value(){return this.buffer}span(Se){this.buffer+=`<span class="${Se}">`}}const d=(Z={})=>{const Se={children:[]};return Object.assign(Se,Z),Se};class u{constructor(){this.rootNode=d(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Se){this.top.children.push(Se)}openNode(Se){const ot=d({scope:Se});this.add(ot),this.stack.push(ot)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Se){return this.constructor._walk(Se,this.rootNode)}static _walk(Se,ot){return typeof ot=="string"?Se.addText(ot):ot.children&&(Se.openNode(ot),ot.children.forEach(Ye=>this._walk(Se,Ye)),Se.closeNode(ot)),Se}static _collapse(Se){typeof Se!="string"&&Se.children&&(Se.children.every(ot=>typeof ot=="string")?Se.children=[Se.children.join("")]:Se.children.forEach(ot=>{u._collapse(ot)}))}}class f extends u{constructor(Se){super(),this.options=Se}addText(Se){Se!==""&&this.add(Se)}startScope(Se){this.openNode(Se)}endScope(){this.closeNode()}__addSublanguage(Se,ot){const Ye=Se.root;ot&&(Ye.scope=`language:${ot}`),this.add(Ye)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(Z){return Z?typeof Z=="string"?Z:Z.source:null}function p(Z){return E("(?=",Z,")")}function C(Z){return E("(?:",Z,")*")}function b(Z){return E("(?:",Z,")?")}function E(...Z){return Z.map(ot=>g(ot)).join("")}function w(Z){const Se=Z[Z.length-1];return typeof Se=="object"&&Se.constructor===Object?(Z.splice(Z.length-1,1),Se):{}}function A(...Z){return"("+(w(Z).capture?"":"?:")+Z.map(Ye=>g(Ye)).join("|")+")"}function I(Z){return new RegExp(Z.toString()+"|").exec("").length-1}function T(Z,Se){const ot=Z&&Z.exec(Se);return ot&&ot.index===0}const M=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function P(Z,{joinWith:Se}){let ot=0;return Z.map(Ye=>{ot+=1;const Wt=ot;let Jt=g(Ye),ht="";for(;Jt.length>0;){const Qe=M.exec(Jt);if(!Qe){ht+=Jt;break}ht+=Jt.substring(0,Qe.index),Jt=Jt.substring(Qe.index+Qe[0].length),Qe[0][0]==="\\"&&Qe[1]?ht+="\\"+String(Number(Qe[1])+Wt):(ht+=Qe[0],Qe[0]==="("&&ot++)}return ht}).map(Ye=>`(${Ye})`).join(Se)}const j=/\b\B/,U="[a-zA-Z]\\w*",Q="[a-zA-Z_]\\w*",oe="\\b\\d+(\\.\\d+)?",le="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",re="\\b(0b[01]+)",ce="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ge=(Z={})=>{const Se=/^#![ ]*\//;return Z.binary&&(Z.begin=E(Se,/.*\b/,Z.binary,/\b.*/)),i({scope:"meta",begin:Se,end:/$/,relevance:0,"on:begin":(ot,Ye)=>{ot.index!==0&&Ye.ignoreMatch()}},Z)},te={begin:"\\\\[\\s\\S]",relevance:0},de={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[te]},we={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[te]},He={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/},me=function(Z,Se,ot={}){const Ye=i({scope:"comment",begin:Z,end:Se,contains:[]},ot);Ye.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 Wt=A("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 Ye.contains.push({begin:E(/[ ]+/,"(",Wt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ye},Me=me("//","$"),Ne=me("/\\*","\\*/"),Ee=me("#","$"),it={scope:"number",begin:oe,relevance:0},Lt={scope:"number",begin:le,relevance:0},et={scope:"number",begin:re,relevance:0},St={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[te,{begin:/\[/,end:/\]/,relevance:0,contains:[te]}]},be={scope:"title",begin:U,relevance:0},ke={scope:"title",begin:Q,relevance:0},Je={begin:"\\.\\s*"+Q,relevance:0};var ct=Object.freeze({__proto__:null,APOS_STRING_MODE:de,BACKSLASH_ESCAPE:te,BINARY_NUMBER_MODE:et,BINARY_NUMBER_RE:re,COMMENT:me,C_BLOCK_COMMENT_MODE:Ne,C_LINE_COMMENT_MODE:Me,C_NUMBER_MODE:Lt,C_NUMBER_RE:le,END_SAME_AS_BEGIN:function(Z){return Object.assign(Z,{"on:begin":(Se,ot)=>{ot.data._beginMatch=Se[1]},"on:end":(Se,ot)=>{ot.data._beginMatch!==Se[1]&&ot.ignoreMatch()}})},HASH_COMMENT_MODE:Ee,IDENT_RE:U,MATCH_NOTHING_RE:j,METHOD_GUARD:Je,NUMBER_MODE:it,NUMBER_RE:oe,PHRASAL_WORDS_MODE:He,QUOTE_STRING_MODE:we,REGEXP_MODE:St,RE_STARTERS_RE:ce,SHEBANG:ge,TITLE_MODE:be,UNDERSCORE_IDENT_RE:Q,UNDERSCORE_TITLE_MODE:ke});function kt(Z,Se){Z.input[Z.index-1]==="."&&Se.ignoreMatch()}function oi(Z,Se){Z.className!==void 0&&(Z.scope=Z.className,delete Z.className)}function vi(Z,Se){Se&&Z.beginKeywords&&(Z.begin="\\b("+Z.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Z.__beforeBegin=kt,Z.keywords=Z.keywords||Z.beginKeywords,delete Z.beginKeywords,Z.relevance===void 0&&(Z.relevance=0))}function ri(Z,Se){Array.isArray(Z.illegal)&&(Z.illegal=A(...Z.illegal))}function vt(Z,Se){if(Z.match){if(Z.begin||Z.end)throw new Error("begin & end are not supported with match");Z.begin=Z.match,delete Z.match}}function li(Z,Se){Z.relevance===void 0&&(Z.relevance=1)}const Ie=(Z,Se)=>{if(!Z.beforeMatch)return;if(Z.starts)throw new Error("beforeMatch cannot be used with starts");const ot=Object.assign({},Z);Object.keys(Z).forEach(Ye=>{delete Z[Ye]}),Z.keywords=ot.keywords,Z.begin=E(ot.beforeMatch,p(ot.begin)),Z.starts={relevance:0,contains:[Object.assign(ot,{endsParent:!0})]},Z.relevance=0,delete ot.beforeMatch},ye=["of","and","for","in","not","or","if","then","parent","list","value"],Pt="keyword";function ci(Z,Se,ot=Pt){const Ye=Object.create(null);return typeof Z=="string"?Wt(ot,Z.split(" ")):Array.isArray(Z)?Wt(ot,Z):Object.keys(Z).forEach(function(Jt){Object.assign(Ye,ci(Z[Jt],Se,Jt))}),Ye;function Wt(Jt,ht){Se&&(ht=ht.map(Qe=>Qe.toLowerCase())),ht.forEach(function(Qe){const dt=Qe.split("|");Ye[dt[0]]=[Jt,$t(dt[0],dt[1])]})}}function $t(Z,Se){return Se?Number(Se):Pi(Z)?0:1}function Pi(Z){return ye.includes(Z.toLowerCase())}const Ni={},ki=Z=>{console.error(Z)},nn=(Z,...Se)=>{console.log(`WARN: ${Z}`,...Se)},sn=(Z,Se)=>{Ni[`${Z}/${Se}`]||(console.log(`Deprecated as of ${Z}. ${Se}`),Ni[`${Z}/${Se}`]=!0)},pn=new Error;function wn(Z,Se,{key:ot}){let Ye=0;const Wt=Z[ot],Jt={},ht={};for(let Qe=1;Qe<=Se.length;Qe++)ht[Qe+Ye]=Wt[Qe],Jt[Qe+Ye]=!0,Ye+=I(Se[Qe-1]);Z[ot]=ht,Z[ot]._emit=Jt,Z[ot]._multi=!0}function ft(Z){if(Array.isArray(Z.begin)){if(Z.skip||Z.excludeBegin||Z.returnBegin)throw ki("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),pn;if(typeof Z.beginScope!="object"||Z.beginScope===null)throw ki("beginScope must be object"),pn;wn(Z,Z.begin,{key:"beginScope"}),Z.begin=P(Z.begin,{joinWith:""})}}function Qt(Z){if(Array.isArray(Z.end)){if(Z.skip||Z.excludeEnd||Z.returnEnd)throw ki("skip, excludeEnd, returnEnd not compatible with endScope: {}"),pn;if(typeof Z.endScope!="object"||Z.endScope===null)throw ki("endScope must be object"),pn;wn(Z,Z.end,{key:"endScope"}),Z.end=P(Z.end,{joinWith:""})}}function Ti(Z){Z.scope&&typeof Z.scope=="object"&&Z.scope!==null&&(Z.beginScope=Z.scope,delete Z.scope)}function Bi(Z){Ti(Z),typeof Z.beginScope=="string"&&(Z.beginScope={_wrap:Z.beginScope}),typeof Z.endScope=="string"&&(Z.endScope={_wrap:Z.endScope}),ft(Z),Qt(Z)}function bi(Z){function Se(ht,Qe){return new RegExp(g(ht),"m"+(Z.case_insensitive?"i":"")+(Z.unicodeRegex?"u":"")+(Qe?"g":""))}class ot{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Qe,dt){dt.position=this.position++,this.matchIndexes[this.matchAt]=dt,this.regexes.push([dt,Qe]),this.matchAt+=I(Qe)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Qe=this.regexes.map(dt=>dt[1]);this.matcherRe=Se(P(Qe,{joinWith:"|"}),!0),this.lastIndex=0}exec(Qe){this.matcherRe.lastIndex=this.lastIndex;const dt=this.matcherRe.exec(Qe);if(!dt)return null;const di=dt.findIndex((We,Oi)=>Oi>0&&We!==void 0),De=this.matchIndexes[di];return dt.splice(0,di),Object.assign(dt,De)}}class Ye{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Qe){if(this.multiRegexes[Qe])return this.multiRegexes[Qe];const dt=new ot;return this.rules.slice(Qe).forEach(([di,De])=>dt.addRule(di,De)),dt.compile(),this.multiRegexes[Qe]=dt,dt}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Qe,dt){this.rules.push([Qe,dt]),dt.type==="begin"&&this.count++}exec(Qe){const dt=this.getMatcher(this.regexIndex);dt.lastIndex=this.lastIndex;let di=dt.exec(Qe);if(this.resumingScanAtSamePosition()&&!(di&&di.index===this.lastIndex)){const De=this.getMatcher(0);De.lastIndex=this.lastIndex+1,di=De.exec(Qe)}return di&&(this.regexIndex+=di.position+1,this.regexIndex===this.count&&this.considerAll()),di}}function Wt(ht){const Qe=new Ye;return ht.contains.forEach(dt=>Qe.addRule(dt.begin,{rule:dt,type:"begin"})),ht.terminatorEnd&&Qe.addRule(ht.terminatorEnd,{type:"end"}),ht.illegal&&Qe.addRule(ht.illegal,{type:"illegal"}),Qe}function Jt(ht,Qe){const dt=ht;if(ht.isCompiled)return dt;[oi,vt,Bi,Ie].forEach(De=>De(ht,Qe)),Z.compilerExtensions.forEach(De=>De(ht,Qe)),ht.__beforeBegin=null,[vi,ri,li].forEach(De=>De(ht,Qe)),ht.isCompiled=!0;let di=null;return typeof ht.keywords=="object"&&ht.keywords.$pattern&&(ht.keywords=Object.assign({},ht.keywords),di=ht.keywords.$pattern,delete ht.keywords.$pattern),di=di||/\w+/,ht.keywords&&(ht.keywords=ci(ht.keywords,Z.case_insensitive)),dt.keywordPatternRe=Se(di,!0),Qe&&(ht.begin||(ht.begin=/\B|\b/),dt.beginRe=Se(dt.begin),!ht.end&&!ht.endsWithParent&&(ht.end=/\B|\b/),ht.end&&(dt.endRe=Se(dt.end)),dt.terminatorEnd=g(dt.end)||"",ht.endsWithParent&&Qe.terminatorEnd&&(dt.terminatorEnd+=(ht.end?"|":"")+Qe.terminatorEnd)),ht.illegal&&(dt.illegalRe=Se(ht.illegal)),ht.contains||(ht.contains=[]),ht.contains=[].concat(...ht.contains.map(function(De){return Cn(De==="self"?ht:De)})),ht.contains.forEach(function(De){Jt(De,dt)}),ht.starts&&Jt(ht.starts,Qe),dt.matcher=Wt(dt),dt}if(Z.compilerExtensions||(Z.compilerExtensions=[]),Z.contains&&Z.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Z.classNameAliases=i(Z.classNameAliases||{}),Jt(Z)}function bn(Z){return Z?Z.endsWithParent||bn(Z.starts):!1}function Cn(Z){return Z.variants&&!Z.cachedVariants&&(Z.cachedVariants=Z.variants.map(function(Se){return i(Z,{variants:null},Se)})),Z.cachedVariants?Z.cachedVariants:bn(Z)?i(Z,{starts:Z.starts?i(Z.starts):null}):Object.isFrozen(Z)?i(Z):Z}var kn="11.11.1";class $e extends Error{constructor(Se,ot){super(Se),this.name="HTMLInjectionError",this.html=ot}}const Yt=t,Fi=i,fi=Symbol("nomatch"),ji=7,gi=function(Z){const Se=Object.create(null),ot=Object.create(null),Ye=[];let Wt=!0;const Jt="Could not find the language '{}', did you forget to load/include a language module?",ht={disableAutodetect:!0,name:"Plain text",contains:[]};let Qe={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function dt($){return Qe.noHighlightRe.test($)}function di($){let q=$.className+" ";q+=$.parentNode?$.parentNode.className:"";const R=Qe.languageDetectRe.exec(q);if(R){const G=Rt(R[1]);return G||(nn(Jt.replace("{}",R[1])),nn("Falling back to no-highlight mode for this block.",$)),G?R[1]:"no-highlight"}return q.split(/\s+/).find(G=>dt(G)||Rt(G))}function De($,q,R){let G="",Y="";typeof q=="object"?(G=$,R=q.ignoreIllegals,Y=q.language):(sn("10.7.0","highlight(lang, code, ...args) has been deprecated."),sn("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),Y=$,G=q),R===void 0&&(R=!0);const ie={code:G,language:Y};Ze("before:highlight",ie);const se=ie.result?ie.result:We(ie.language,ie.code,R);return se.code=ie.code,Ze("after:highlight",se),se}function We($,q,R,G){const Y=Object.create(null);function ie(ze,wt){return ze.keywords[wt]}function se(){if(!Xe.keywords){rt.addText(st);return}let ze=0;Xe.keywordPatternRe.lastIndex=0;let wt=Xe.keywordPatternRe.exec(st),ii="";for(;wt;){ii+=st.substring(ze,wt.index);const Vi=Pe.case_insensitive?wt[0].toLowerCase():wt[0],Gt=ie(Xe,Vi);if(Gt){const[Xt,Di]=Gt;if(rt.addText(ii),ii="",Y[Vi]=(Y[Vi]||0)+1,Y[Vi]<=ji&&(Ct+=Di),Xt.startsWith("_"))ii+=wt[0];else{const Zi=Pe.classNameAliases[Xt]||Xt;Ce(wt[0],Zi)}}else ii+=wt[0];ze=Xe.keywordPatternRe.lastIndex,wt=Xe.keywordPatternRe.exec(st)}ii+=st.substring(ze),rt.addText(ii)}function fe(){if(st==="")return;let ze=null;if(typeof Xe.subLanguage=="string"){if(!Se[Xe.subLanguage]){rt.addText(st);return}ze=We(Xe.subLanguage,st,!0,qt[Xe.subLanguage]),qt[Xe.subLanguage]=ze._top}else ze=on(st,Xe.subLanguage.length?Xe.subLanguage:null);Xe.relevance>0&&(Ct+=ze.relevance),rt.__addSublanguage(ze._emitter,ze.language)}function _e(){Xe.subLanguage!=null?fe():se(),st=""}function Ce(ze,wt){ze!==""&&(rt.startScope(wt),rt.addText(ze),rt.endScope())}function Oe(ze,wt){let ii=1;const Vi=wt.length-1;for(;ii<=Vi;){if(!ze._emit[ii]){ii++;continue}const Gt=Pe.classNameAliases[ze[ii]]||ze[ii],Xt=wt[ii];Gt?Ce(Xt,Gt):(st=Xt,se(),st=""),ii++}}function Re(ze,wt){return ze.scope&&typeof ze.scope=="string"&&rt.openNode(Pe.classNameAliases[ze.scope]||ze.scope),ze.beginScope&&(ze.beginScope._wrap?(Ce(st,Pe.classNameAliases[ze.beginScope._wrap]||ze.beginScope._wrap),st=""):ze.beginScope._multi&&(Oe(ze.beginScope,wt),st="")),Xe=Object.create(ze,{parent:{value:Xe}}),Xe}function tt(ze,wt,ii){let Vi=T(ze.endRe,ii);if(Vi){if(ze["on:end"]){const Gt=new e(ze);ze["on:end"](wt,Gt),Gt.isMatchIgnored&&(Vi=!1)}if(Vi){for(;ze.endsParent&&ze.parent;)ze=ze.parent;return ze}}if(ze.endsWithParent)return tt(ze.parent,wt,ii)}function ei(ze){return Xe.matcher.regexIndex===0?(st+=ze[0],1):(ni=!0,0)}function J(ze){const wt=ze[0],ii=ze.rule,Vi=new e(ii),Gt=[ii.__beforeBegin,ii["on:begin"]];for(const Xt of Gt)if(Xt&&(Xt(ze,Vi),Vi.isMatchIgnored))return ei(wt);return ii.skip?st+=wt:(ii.excludeBegin&&(st+=wt),_e(),!ii.returnBegin&&!ii.excludeBegin&&(st=wt)),Re(ii,ze),ii.returnBegin?0:wt.length}function he(ze){const wt=ze[0],ii=q.substring(ze.index),Vi=tt(Xe,ze,ii);if(!Vi)return fi;const Gt=Xe;Xe.endScope&&Xe.endScope._wrap?(_e(),Ce(wt,Xe.endScope._wrap)):Xe.endScope&&Xe.endScope._multi?(_e(),Oe(Xe.endScope,ze)):Gt.skip?st+=wt:(Gt.returnEnd||Gt.excludeEnd||(st+=wt),_e(),Gt.excludeEnd&&(st=wt));do Xe.scope&&rt.closeNode(),!Xe.skip&&!Xe.subLanguage&&(Ct+=Xe.relevance),Xe=Xe.parent;while(Xe!==Vi.parent);return Vi.starts&&Re(Vi.starts,ze),Gt.returnEnd?0:wt.length}function je(){const ze=[];for(let wt=Xe;wt!==Pe;wt=wt.parent)wt.scope&&ze.unshift(wt.scope);ze.forEach(wt=>rt.openNode(wt))}let yt={};function Le(ze,wt){const ii=wt&&wt[0];if(st+=ze,ii==null)return _e(),0;if(yt.type==="begin"&&wt.type==="end"&&yt.index===wt.index&&ii===""){if(st+=q.slice(wt.index,wt.index+1),!Wt){const Vi=new Error(`0 width match regex (${$})`);throw Vi.languageName=$,Vi.badRule=yt.rule,Vi}return 1}if(yt=wt,wt.type==="begin")return J(wt);if(wt.type==="illegal"&&!R){const Vi=new Error('Illegal lexeme "'+ii+'" for mode "'+(Xe.scope||"<unnamed>")+'"');throw Vi.mode=Xe,Vi}else if(wt.type==="end"){const Vi=he(wt);if(Vi!==fi)return Vi}if(wt.type==="illegal"&&ii==="")return st+=`
81
+ `,1;if(Tt>1e5&&Tt>wt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return st+=ii,ii.length}const Pe=Rt($);if(!Pe)throw ki(Jt.replace("{}",$)),new Error('Unknown language: "'+$+'"');const gt=bi(Pe);let pt="",Xe=G||gt;const qt={},rt=new Qe.__emitter(Qe);je();let st="",Ct=0,jt=0,Tt=0,ni=!1;try{if(Pe.__emitTokens)Pe.__emitTokens(q,rt);else{for(Xe.matcher.considerAll();;){Tt++,ni?ni=!1:Xe.matcher.considerAll(),Xe.matcher.lastIndex=jt;const ze=Xe.matcher.exec(q);if(!ze)break;const wt=q.substring(jt,ze.index),ii=Le(wt,ze);jt=ze.index+ii}Le(q.substring(jt))}return rt.finalize(),pt=rt.toHTML(),{language:$,value:pt,relevance:Ct,illegal:!1,_emitter:rt,_top:Xe}}catch(ze){if(ze.message&&ze.message.includes("Illegal"))return{language:$,value:Yt(q),illegal:!0,relevance:0,_illegalBy:{message:ze.message,index:jt,context:q.slice(jt-100,jt+100),mode:ze.mode,resultSoFar:pt},_emitter:rt};if(Wt)return{language:$,value:Yt(q),illegal:!1,relevance:0,errorRaised:ze,_emitter:rt,_top:Xe};throw ze}}function Oi($){const q={value:Yt($),illegal:!1,relevance:0,_top:ht,_emitter:new Qe.__emitter(Qe)};return q._emitter.addText($),q}function on($,q){q=q||Qe.languages||Object.keys(Se);const R=Oi($),G=q.filter(Rt).filter(ae).map(_e=>We(_e,$,!1));G.unshift(R);const Y=G.sort((_e,Ce)=>{if(_e.relevance!==Ce.relevance)return Ce.relevance-_e.relevance;if(_e.language&&Ce.language){if(Rt(_e.language).supersetOf===Ce.language)return 1;if(Rt(Ce.language).supersetOf===_e.language)return-1}return 0}),[ie,se]=Y,fe=ie;return fe.secondBest=se,fe}function Ki($,q,R){const G=q&&ot[q]||R;$.classList.add("hljs"),$.classList.add(`language-${G}`)}function ue($){let q=null;const R=di($);if(dt(R))return;if(Ze("before:highlightElement",{el:$,language:R}),$.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",$);return}if($.children.length>0&&(Qe.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($)),Qe.throwUnescapedHTML))throw new $e("One of your code blocks includes unescaped HTML.",$.innerHTML);q=$;const G=q.textContent,Y=R?De(G,{language:R,ignoreIllegals:!0}):on(G);$.innerHTML=Y.value,$.dataset.highlighted="yes",Ki($,R,Y.language),$.result={language:Y.language,re:Y.relevance,relevance:Y.relevance},Y.secondBest&&($.secondBest={language:Y.secondBest.language,relevance:Y.secondBest.relevance}),Ze("after:highlightElement",{el:$,result:Y,text:G})}function Ke($){Qe=Fi(Qe,$)}const Bt=()=>{Ve(),sn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function zt(){Ve(),sn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Fe=!1;function Ve(){function $(){Ve()}if(document.readyState==="loading"){Fe||window.addEventListener("DOMContentLoaded",$,!1),Fe=!0;return}document.querySelectorAll(Qe.cssSelector).forEach(ue)}function Vt($,q){let R=null;try{R=q(Z)}catch(G){if(ki("Language definition for '{}' could not be registered.".replace("{}",$)),Wt)ki(G);else throw G;R=ht}R.name||(R.name=$),Se[$]=R,R.rawDefinition=q.bind(null,Z),R.aliases&&V(R.aliases,{languageName:$})}function Ut($){delete Se[$];for(const q of Object.keys(ot))ot[q]===$&&delete ot[q]}function Zt(){return Object.keys(Se)}function Rt($){return $=($||"").toLowerCase(),Se[$]||Se[ot[$]]}function V($,{languageName:q}){typeof $=="string"&&($=[$]),$.forEach(R=>{ot[R.toLowerCase()]=q})}function ae($){const q=Rt($);return q&&!q.disableAutodetect}function pe($){$["before:highlightBlock"]&&!$["before:highlightElement"]&&($["before:highlightElement"]=q=>{$["before:highlightBlock"](Object.assign({block:q.el},q))}),$["after:highlightBlock"]&&!$["after:highlightElement"]&&($["after:highlightElement"]=q=>{$["after:highlightBlock"](Object.assign({block:q.el},q))})}function ve($){pe($),Ye.push($)}function nt($){const q=Ye.indexOf($);q!==-1&&Ye.splice(q,1)}function Ze($,q){const R=$;Ye.forEach(function(G){G[R]&&G[R](q)})}function Et($){return sn("10.7.0","highlightBlock will be removed entirely in v12.0"),sn("10.7.0","Please use highlightElement now."),ue($)}Object.assign(Z,{highlight:De,highlightAuto:on,highlightAll:Ve,highlightElement:ue,highlightBlock:Et,configure:Ke,initHighlighting:Bt,initHighlightingOnLoad:zt,registerLanguage:Vt,unregisterLanguage:Ut,listLanguages:Zt,getLanguage:Rt,registerAliases:V,autoDetection:ae,inherit:Fi,addPlugin:ve,removePlugin:nt}),Z.debugMode=function(){Wt=!1},Z.safeMode=function(){Wt=!0},Z.versionString=kn,Z.regex={concat:E,lookahead:p,either:A,optional:b,anyNumberOfTimes:C};for(const $ in ct)typeof ct[$]=="object"&&o(ct[$]);return Object.assign(Z,ct),Z},Gi=gi({});return Gi.newInstance=()=>gi({}),UC=Gi,Gi.HighlightJS=Gi,Gi.default=Gi,UC}var Eq=Cq();const Um=fS(Eq),b2="[A-Za-z$_][0-9A-Za-z$_]*",yq=["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"],wq=["true","false","null","undefined","NaN","Infinity"],HF=["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"],WF=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],zF=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Sq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Dq=[].concat(zF,HF,WF);function VF(o){const e=o.regex,t=(me,{after:Me})=>{const Ne="</"+me[0].slice(1);return me.input.indexOf(Ne,Me)!==-1},i=b2,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(me,Me)=>{const Ne=me[0].length+me.index,Ee=me.input[Ne];if(Ee==="<"||Ee===","){Me.ignoreMatch();return}Ee===">"&&(t(me,{after:Ne})||Me.ignoreMatch());let it;const Lt=me.input.substring(Ne);if(it=Lt.match(/^\s*=/)){Me.ignoreMatch();return}if((it=Lt.match(/^\s+extends\s+/))&&it.index===0){Me.ignoreMatch();return}}},a={$pattern:b2,keyword:yq,literal:wq,built_in:Dq,"variable.language":Sq},d="[0-9](_?[0-9])*",u=`\\.(${d})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${d})\\b`},{begin:`\\b(${f})\\b((${u})\\b|\\.)?|(${u})\\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:[]},C={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},E={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},w={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},I={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]},T=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,E,w,{match:/\$\d+/},g];p.contains=T.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(T)});const M=[].concat(I,p.contains),P=M.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(M)}]),j={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:P},U={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"}}]},Q={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:{_:[...HF,...WF]}},oe={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[j],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ce(me){return e.concat("(?!",me.join("|"),")")}const ge={match:e.concat(/\b/,ce([...zF,"super","import"].map(me=>`${me}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},de={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},j]},we="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",He={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(we)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[j]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:P,CLASS_REFERENCE:Q},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),oe,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,E,w,I,{match:/\$\d+/},g,Q,{scope:"attr",match:i+e.lookahead(":"),relevance:0},He,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[I,o.REGEXP_MODE,{className:"function",begin:we,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:P}]}]},{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"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[j,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[j]},ge,re,U,de,{match:/\$[(.]/}]}}function gS(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var mh=gS();function jF(o){mh=o}var Ld={exec:()=>null};function Gh(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 bs(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($o.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var Aq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),$o={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:Gh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Gh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Gh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Gh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Gh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Gh(o=>new RegExp(`^ {0,${o}}>`))},kq=/^(?:[ \t]*(?:\n|$))+/,Bq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Fq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hx=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Lq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pS=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,$F=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,UF=bs($F).replace(/bull/g,pS).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(),Iq=bs($F).replace(/bull/g,pS).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(),xS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Pq=/^[^\n]+/,vS=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Tq=bs(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",vS).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Mq=bs(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,pS).getRegex(),Wb="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",mS=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Rq=bs("^ {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",mS).replace("tag",Wb).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),qF=bs(xS).replace("hr",hx).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",Wb).getRegex(),Nq=bs(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",qF).getRegex(),_S={blockquote:Nq,code:Bq,def:Tq,fences:Fq,heading:Lq,hr:hx,html:Rq,lheading:UF,list:Mq,newline:kq,paragraph:qF,table:Ld,text:Pq},C2=bs("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",hx).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",Wb).getRegex(),Oq={..._S,lheading:Iq,table:C2,paragraph:bs(xS).replace("hr",hx).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",C2).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",Wb).getRegex()},Hq={..._S,html:bs(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",mS).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:Ld,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:bs(xS).replace("hr",hx).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",UF).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Wq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,zq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,GF=/^( {2,}|\\)\n(?!\s*$)/,Vq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,R0=/[\p{P}\p{S}]/u,zb=/[\s\p{P}\p{S}]/u,bS=/[^\s\p{P}\p{S}]/u,jq=bs(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,zb).getRegex(),KF=/(?!~)[\p{P}\p{S}]/u,$q=/(?!~)[\s\p{P}\p{S}]/u,Uq=/(?:[^\s\p{P}\p{S}]|~)/u,qq=bs(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Aq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ZF=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Gq=bs(ZF,"u").replace(/punct/g,R0).getRegex(),Kq=bs(ZF,"u").replace(/punct/g,KF).getRegex(),XF="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Zq=bs(XF,"gu").replace(/notPunctSpace/g,bS).replace(/punctSpace/g,zb).replace(/punct/g,R0).getRegex(),Xq=bs(XF,"gu").replace(/notPunctSpace/g,Uq).replace(/punctSpace/g,$q).replace(/punct/g,KF).getRegex(),Yq=bs("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,bS).replace(/punctSpace/g,zb).replace(/punct/g,R0).getRegex(),Qq=bs(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,R0).getRegex(),Jq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",eG=bs(Jq,"gu").replace(/notPunctSpace/g,bS).replace(/punctSpace/g,zb).replace(/punct/g,R0).getRegex(),tG=bs(/\\(punct)/,"gu").replace(/punct/g,R0).getRegex(),iG=bs(/^<(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(),nG=bs(mS).replace("(?:-->|$)","-->").getRegex(),sG=bs("^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",nG).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),qm=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,oG=bs(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",qm).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),YF=bs(/^!?\[(label)\]\[(ref)\]/).replace("label",qm).replace("ref",vS).getRegex(),QF=bs(/^!?\[(ref)\](?:\[\])?/).replace("ref",vS).getRegex(),rG=bs("reflink|nolink(?!\\()","g").replace("reflink",YF).replace("nolink",QF).getRegex(),E2=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,CS={_backpedal:Ld,anyPunctuation:tG,autolink:iG,blockSkip:qq,br:GF,code:zq,del:Ld,delLDelim:Ld,delRDelim:Ld,emStrongLDelim:Gq,emStrongRDelimAst:Zq,emStrongRDelimUnd:Yq,escape:Wq,link:oG,nolink:QF,punctuation:jq,reflink:YF,reflinkSearch:rG,tag:sG,text:Vq,url:Ld},aG={...CS,link:bs(/^!?\[(label)\]\((.*?)\)/).replace("label",qm).getRegex(),reflink:bs(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",qm).getRegex()},vw={...CS,emStrongRDelimAst:Xq,emStrongLDelim:Kq,delLDelim:Qq,delRDelim:eG,url:bs(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",E2).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:bs(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",E2).getRegex()},lG={...vw,br:bs(GF).replace("{2,}","*").getRegex(),text:bs(vw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Kx={normal:_S,gfm:Oq,pedantic:Hq},J0={normal:CS,gfm:vw,breaks:lG,pedantic:aG},cG={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},y2=o=>cG[o];function Ha(o,e){if(e){if($o.escapeTest.test(o))return o.replace($o.escapeReplace,y2)}else if($o.escapeTestNoEncode.test(o))return o.replace($o.escapeReplaceNoEncode,y2);return o}function w2(o){try{o=encodeURI(o).replace($o.percentDecode,"%")}catch{return null}return o}function S2(o,e){var s;let t=o.replace($o.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split($o.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($o.slashPipe,"|");return i}function vc(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 D2(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&$o.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function dG(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 uG(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 A2(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 d={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,d}function hG(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 Gm=class{constructor(o){Un(this,"options");Un(this,"rules");Un(this,"lexer");this.options=o||mh}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]:D2(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=hG(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=vc(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:vc(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:vc(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=vc(e[0],`
89
+ `).split(`
90
+ `),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],d;for(d=0;d<t.length;d++)if(this.rules.other.blockquoteStart.test(t[d]))a.push(t[d]),r=!0;else if(!r)a.push(t[d]);else break;t=t.slice(d);let u=a.join(`
91
+ `),f=u.replace(this.rules.other.blockquoteSetextReplace,`
92
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
93
+ ${u}`:u,n=n?`${n}
94
+ ${f}`:f;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=g,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 C=p,b=C.raw+`
95
+ `+t.join(`
96
+ `),E=this.blockquote(b);s[s.length-1]=E,i=i.substring(0,i.length-C.raw.length)+E.raw,n=n.substring(0,n.length-C.text.length)+E.text;break}else if((p==null?void 0:p.type)==="list"){let C=p,b=C.raw+`
97
+ `+t.join(`
98
+ `),E=this.list(b);s[s.length-1]=E,i=i.substring(0,i.length-p.raw.length)+E.raw,n=n.substring(0,n.length-C.raw.length)+E.raw,t=b.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 d=!1,u="",f="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;u=e[0],o=o.substring(u.length);let g=uG(e[2].split(`
100
+ `,1)[0],e[1].length),p=o.split(`
101
+ `,1)[0],C=!g.trim(),b=0;if(this.options.pedantic?(b=2,f=g.trimStart()):C?b=e[1].length+1:(b=g.search(this.rules.other.nonSpaceChar),b=b>4?1:b,f=g.slice(b),b+=e[1].length),C&&this.rules.other.blankLine.test(p)&&(u+=p+`
102
+ `,o=o.substring(p.length+1),d=!0),!d){let E=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),I=this.rules.other.headingBeginRegex(b),T=this.rules.other.htmlBeginRegex(b),M=this.rules.other.blockquoteBeginRegex(b);for(;o;){let P=o.split(`
103
+ `,1)[0],j;if(p=P,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),j=p):j=p.replace(this.rules.other.tabCharGlobal," "),A.test(p)||I.test(p)||T.test(p)||M.test(p)||E.test(p)||w.test(p))break;if(j.search(this.rules.other.nonSpaceChar)>=b||!p.trim())f+=`
104
+ `+j.slice(b);else{if(C||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||A.test(g)||I.test(g)||w.test(g))break;f+=`
105
+ `+p}C=!p.trim(),u+=P+`
106
+ `,o=o.substring(P.length+1),g=j.slice(b)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(r=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),n.raw+=u}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 d of n.items){this.lexer.state.top=!1,d.tokens=this.lexer.blockTokens(d.text,[]);let u=d.tokens[0];if(d.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){d.text=d.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(d.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};d.checked=g.checked,n.loose?d.tokens[0]&&["paragraph","text"].includes(d.tokens[0].type)&&"tokens"in d.tokens[0]&&d.tokens[0].tokens?(d.tokens[0].raw=g.raw+d.tokens[0].raw,d.tokens[0].text=g.raw+d.tokens[0].text,d.tokens[0].tokens.unshift(g)):d.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):d.tokens.unshift(g)}}else d.task&&(d.task=!1);if(!n.loose){let f=d.tokens.filter(p=>p.type==="space"),g=f.length>0&&f.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=g}}if(n.loose)for(let d of n.items){d.loose=!0;for(let u of d.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=D2(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:vc(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=S2(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:vc(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(S2(a,s.header.length).map((d,u)=>({text:d,tokens:this.lexer.inline(d),header:!1,align:s.align[u]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:vc(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=vc(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=dG(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)),A2(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 A2(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,d=0,u=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*o.length+n);(i=u.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)){d+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+d);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let C=g.slice(1,-1);return{type:"em",raw:g,text:C,tokens:this.lexer.inlineTokens(C)}}let p=g.slice(2,-2);return{type:"strong",raw:g,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,d=this.rules.inline.delRDelim;for(d.lastIndex=0,e=e.slice(-1*o.length+n);(i=d.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 u=[...i[0]][0].length,f=o.slice(0,n+i.index+u+r),g=f.slice(n,-n);return{type:"del",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}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}}}},xa=class mw{constructor(e){Un(this,"tokens");Un(this,"options");Un(this,"state");Un(this,"inlineQueue");Un(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||mh,this.options.tokenizer=this.options.tokenizer||new Gm,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:$o,block:Kx.normal,inline:J0.normal};this.options.pedantic?(t.block=Kx.pedantic,t.inline=J0.pedantic):this.options.gfm&&(t.block=Kx.gfm,this.options.breaks?t.inline=J0.breaks:t.inline=J0.gfm),this.tokenizer.rules=t}static get rules(){return{block:Kx,inline:J0}}static lex(e,t){return new mw(t).lex(e)}static lexInline(e,t){return new mw(t).inlineTokens(e)}lex(e){e=e.replace($o.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($o.tabCharGlobal," ").replace($o.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let d;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(d=f.call({lexer:this},e,t))?(e=e.substring(d.raw.length),t.push(d),!0):!1))continue;if(d=this.tokenizer.space(e)){e=e.substring(d.raw.length);let f=t.at(-1);d.raw.length===1&&f!==void 0?f.raw+=`
113
+ `:t.push(d);continue}if(d=this.tokenizer.code(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
114
+ `)?"":`
115
+ `)+d.raw,f.text+=`
116
+ `+d.text,this.inlineQueue.at(-1).src=f.text):t.push(d);continue}if(d=this.tokenizer.fences(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.heading(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.hr(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.blockquote(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.list(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.html(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.def(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
117
+ `)?"":`
118
+ `)+d.raw,f.text+=`
119
+ `+d.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[d.tag]||(this.tokens.links[d.tag]={href:d.href,title:d.title},t.push(d));continue}if(d=this.tokenizer.table(e)){e=e.substring(d.raw.length),t.push(d);continue}if(d=this.tokenizer.lheading(e)){e=e.substring(d.raw.length),t.push(d);continue}let u=e;if((a=this.options.extensions)!=null&&a.startBlock){let f=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(C=>{p=C.call({lexer:this},g),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(u=e.substring(0,f+1))}if(this.state.top&&(d=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
120
+ `)?"":`
121
+ `)+d.raw,f.text+=`
122
+ `+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d),i=u.length!==e.length,e=e.substring(d.raw.length);continue}if(d=this.tokenizer.text(e)){e=e.substring(d.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
123
+ `)?"":`
124
+ `)+d.raw,f.text+=`
125
+ `+d.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(d);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 u,f,g,p,C;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let b=Object.keys(this.tokens.links);if(b.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)b.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=((f=(u=this.options.hooks)==null?void 0:u.emStrongMask)==null?void 0:f.call({lexer:this},i))??i;let r=!1,a="",d=1/0;for(;e;){if(e.length<d)d=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let b;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(w=>(b=w.call({lexer:this},e,t))?(e=e.substring(b.raw.length),t.push(b),!0):!1))continue;if(b=this.tokenizer.escape(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.tag(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.link(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(b.raw.length);let w=t.at(-1);b.type==="text"&&(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);continue}if(b=this.tokenizer.emStrong(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.codespan(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.br(e)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.del(e,i,a)){e=e.substring(b.raw.length),t.push(b);continue}if(b=this.tokenizer.autolink(e)){e=e.substring(b.raw.length),t.push(b);continue}if(!this.state.inLink&&(b=this.tokenizer.url(e))){e=e.substring(b.raw.length),t.push(b);continue}let E=e;if((C=this.options.extensions)!=null&&C.startInline){let w=1/0,A=e.slice(1),I;this.options.extensions.startInline.forEach(T=>{I=T.call({lexer:this},A),typeof I=="number"&&I>=0&&(w=Math.min(w,I))}),w<1/0&&w>=0&&(E=e.substring(0,w+1))}if(b=this.tokenizer.inlineText(E)){e=e.substring(b.raw.length),b.raw.slice(-1)!=="_"&&(a=b.raw.slice(-1)),r=!0;let w=t.at(-1);(w==null?void 0:w.type)==="text"?(w.raw+=b.raw,w.text+=b.text):t.push(b);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)}},Km=class{constructor(o){Un(this,"options");Un(this,"parser");this.options=o||mh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match($o.notSpaceStart))==null?void 0:s[0],n=o.replace($o.endingNewline,"")+`
126
+ `;return i?'<pre><code class="language-'+Ha(i)+'">'+(t?n:Ha(n,!0))+`</code></pre>
127
+ `:"<pre><code>"+(t?n:Ha(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>${Ha(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=w2(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+Ha(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=w2(o);if(n===null)return Ha(t);o=n;let s=`<img src="${o}" alt="${Ha(t)}"`;return e&&(s+=` title="${Ha(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:Ha(o.text)}},ES=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}},va=class _w{constructor(e){Un(this,"options");Un(this,"renderer");Un(this,"textRenderer");this.options=e||mh,this.options.renderer=this.options.renderer||new Km,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ES}static parse(e,t){return new _w(t).parse(e)}static parseInline(e,t){return new _w(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 d=r,u=this.options.extensions.renderers[d.type].call({parser:this},d);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(d.type)){t+=u||"";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 d='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(d),"";throw new Error(d)}}}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 u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=u||"";continue}}let d=a;switch(d.type){case"escape":{i+=t.text(d);break}case"html":{i+=t.html(d);break}case"link":{i+=t.link(d);break}case"image":{i+=t.image(d);break}case"checkbox":{i+=t.checkbox(d);break}case"strong":{i+=t.strong(d);break}case"em":{i+=t.em(d);break}case"codespan":{i+=t.codespan(d);break}case"br":{i+=t.br(d);break}case"del":{i+=t.del(d);break}case"text":{i+=t.text(d);break}default:{let u='Token with "'+d.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},Yx,xg=(Yx=class{constructor(o){Un(this,"options");Un(this,"block");this.options=o||mh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?xa.lex:xa.lexInline}provideParser(o=this.block){return o?va.parse:va.parseInline}},Un(Yx,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Un(Yx,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Yx),fG=class{constructor(...o){Un(this,"defaults",gS());Un(this,"options",this.setOptions);Un(this,"parse",this.parseMarkdown(!0));Un(this,"parseInline",this.parseMarkdown(!1));Un(this,"Parser",va);Un(this,"Renderer",Km);Un(this,"TextRenderer",ES);Un(this,"Lexer",xa);Un(this,"Tokenizer",Gm);Un(this,"Hooks",xg);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 d of a)t=t.concat(this.walkTokens(d.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 d=r[a].flat(1/0);t=t.concat(this.walkTokens(d,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 Km(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],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new Gm(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],d=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new xg;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],d=n[r];xg.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&xg.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return d.call(n,g)})();let f=a.call(n,u);return d.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await d.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=d.apply(n,u)),f}}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 xa.lex(o,e??this.defaults)}parser(o,e){return va.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?xa.lex:xa.lexInline)(r,n),d=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(d,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?va.parse:va.parseInline)(d,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?xa.lex:xa.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?va.parse:va.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>"+Ha(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},oh=new fG;function As(o,e){return oh.parse(o,e)}As.options=As.setOptions=function(o){return oh.setOptions(o),As.defaults=oh.defaults,jF(As.defaults),As};As.getDefaults=gS;As.defaults=mh;As.use=function(...o){return oh.use(...o),As.defaults=oh.defaults,jF(As.defaults),As};As.walkTokens=function(o,e){return oh.walkTokens(o,e)};As.parseInline=oh.parseInline;As.Parser=va;As.parser=va.parse;As.Renderer=Km;As.TextRenderer=ES;As.Lexer=xa;As.lexer=xa.lex;As.Tokenizer=Gm;As.Hooks=xg;As.parse=As;As.options;As.setOptions;As.use;As.walkTokens;As.parseInline;va.parse;xa.lex;var gG=F('<span class="chat-model svelte-10ayso4"><!></span>'),pG=F('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),xG=F('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),vG=F('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),mG=F('<ul class="history-list svelte-10ayso4"></ul>'),_G=F('<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>'),bG=F('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),CG=F('Chatting in context of <code class="svelte-10ayso4"> </code>',1),EG=F('<button class="chip svelte-10ayso4"> </button>'),yG=F('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),wG=F('<div class="msg-content user-text svelte-10ayso4"> </div>'),k2=F('<span class="tool-args svelte-10ayso4"> </span>'),B2=F('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),F2=F('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),L2=F('<div class="tool-events svelte-10ayso4"></div>'),I2=F('<div class="text-block svelte-10ayso4"></div>'),SG=F('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),DG=F('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),AG=F('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),kG=F('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),BG=F('<button class="expand-btn svelte-10ayso4"> </button>'),FG=F('<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>'),LG=F('<!> <div class="msg-content svelte-10ayso4"></div>',1),IG=F("<div><!></div>"),PG=F('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),TG=F('<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>'),MG=F('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),RG=F('<div class="chat-error svelte-10ayso4"> </div>'),NG=F('<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>'),OG=F('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),HG=F('<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>'),WG=F('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),zG=F('<button class="send-btn svelte-10ayso4">↑</button>'),VG=F('<option class="svelte-10ayso4"> </option>'),jG=F('<select class="model-select svelte-10ayso4"></select>'),$G=F('<span class="model-name svelte-10ayso4"> </span>'),UG=F('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),qG=F('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),GG=F('<p class="info-status svelte-10ayso4">Loading…</p>'),KG=F('<p class="info-status info-err svelte-10ayso4"> </p>'),ZG=F('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),XG=F('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),YG=F('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),QG=F('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),JG=F('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),eK=F('<div class="running-model svelte-10ayso4"> </div>'),tK=F('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),iK=F('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),nK=F('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),sK=F('<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>'),oK=F('<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 rK(o,e){Js(e,!0),Um.registerLanguage("javascript",VF),As.use({breaks:!0,gfm:!0});let t=qu(e,"currentScript",3,null),i=qu(e,"extraFiles",31,()=>_i([])),n=B(_i([])),s=B(null),r=B(""),a=B(!1),d=B(""),u=B(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=B(_i(localStorage.getItem(f)??g())),C=B(_i([])),b=B(!1);vs(()=>{localStorage.setItem(f,l(p))});let E=B(_i([])),w=B(_i(localStorage.getItem("she:selectedModel")??"")),A=B(null);const I=Ft(()=>{var J;return l(A)!==null&&((J=t())==null?void 0:J.path)===l(A)});let T=B(_i(new Set)),M=B(!1),P=B(null),j=B(!1),U=B(""),Q=B(0),oe=null,le=B(0);const re=["[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 ce=B(!0),ge=B(!0),te=B(!0),de=B(!1),we,He=B(_i([])),me,Me;const Ne=Ft(()=>({apiref:l(ce),tools:l(ge)})),Ee=Ft(()=>{var J;return((J=l(u))==null?void 0:J.configured)??!1}),it=Ft(()=>{var J;return l(Ee)||!!((J=l(u))!=null&&J.provider)&&!!l(w)}),Lt=Ft(()=>l(Q)+new TextEncoder().encode(l(r)).length),et=Ft(()=>l(te)?t():null);vs(()=>{var he;const J=(he=t())==null?void 0:he.path;x(te,!0),l(A)!==null&&J!==l(A)&&x(A,null)}),vs(()=>{var yt;if(!l(I))return;const J=l(n).at(-1);if(!J||J.role!=="assistant")return;const je=be(J.content).find(Le=>Le.type==="code"&&vt(Le.lang));if(je){const Le=li(je.text);(yt=e.onApply)==null||yt.call(e,Le?Le.code:je.text)}});async function St(){try{const J=await kF();x(u,J,!0),J.configured&&!l(w)&&x(w,J.model,!0)}catch{}}vs(()=>(window.addEventListener("she:config-changed",St),()=>window.removeEventListener("she:config-changed",St))),vs(()=>{l(w)&&localStorage.setItem("she:selectedModel",l(w))}),vs(()=>{var J;(J=l(u))!=null&&J.provider&&BF().then(he=>{x(E,he.models,!0),!l(w)&&he.models.length>0&&x(w,he.models[0],!0)}).catch(()=>{})}),vs(()=>{l(w),x(P,null),x(U,"")}),vs(()=>{var he,je;if(((he=l(u))==null?void 0:he.provider)!=="ollama")return;const J=l(w)||((je=l(u))==null?void 0:je.model);!J||l(P)||pw(J).then(yt=>{x(P,yt,!0)}).catch(()=>{})}),vs(()=>{if(!l(a))return;x(le,Math.floor(Math.random()*re.length),!0);const J=setInterval(()=>{x(le,(l(le)+1)%re.length)},1e4);return()=>clearInterval(J)}),vs(()=>{var J;Me&&(l(n).length+(((J=l(s))==null?void 0:J.length)??0),requestAnimationFrame(()=>{Me&&(Me.scrollTop=Me.scrollHeight)}))}),vs(()=>{const J=l(Ne),he=l(et),je=i();l(it)&&FF({context:J,currentScript:he??null,extraFiles:je.length>0?je:void 0}).then(yt=>{x(Q,new TextEncoder().encode(yt.prompt).length,!0)}).catch(()=>{})});function be(J){const he=J.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),je=[],yt=/```(\w*)\n([\s\S]*?)```/g;let Le=0,Pe;for(;(Pe=yt.exec(he))!==null;)Pe.index>Le&&je.push({type:"text",text:he.slice(Le,Pe.index)}),je.push({type:"code",lang:Pe[1]||"text",text:Pe[2].trimEnd()}),Le=Pe.index+Pe[0].length;return Le<he.length&&je.push({type:"text",text:he.slice(Le)}),je}const ke=15;function Je(J){return J.split(`
147
+ `).length>ke}function ut(J){const he=new Set(l(T));he.has(J)?he.delete(J):he.add(J),x(T,he,!0)}function ct(J,he){if(vt(he))try{return Um.highlight(J,{language:"javascript"}).value}catch{}return J.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function kt(J){return As.parse(J)}function oi(J){const he=J.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),je=[],yt=/```(\w*)\n([\s\S]*?)```/g;let Le=0,Pe;for(;(Pe=yt.exec(he))!==null;)Pe.index>Le&&je.push({type:"text",text:he.slice(Le,Pe.index)}),je.push({type:"code",lang:Pe[1]||"text",text:Pe[2].trimEnd()}),Le=Pe.index+Pe[0].length;const gt=he.slice(Le),pt=gt.match(/```(\w*)\n([\s\S]*)$/);return pt?(pt.index>0&&je.push({type:"text",text:gt.slice(0,pt.index)}),je.push({type:"code",lang:pt[1]||"text",text:pt[2]})):gt&&je.push({type:"text",text:gt}),je}function vi(J){navigator.clipboard.writeText(J).catch(()=>{})}function ri(J,he=!1){var je;he&&t()&&x(A,t().path,!0),(je=e.onApply)==null||je.call(e,J)}function vt(J){return!J||J==="js"||J==="javascript"}function li(J){const he=J.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return he?{filename:he[1],code:J.slice(he[0].length)}:null}function Ie(J){return J>=1e9?`${(J/1e9).toFixed(1)} GB`:J>=1e6?`${(J/1e6).toFixed(0)} MB`:J>=1024?`${(J/1024).toFixed(1)} kB`:`${J} B`}async function ye(){if(x(M,!0),!(l(P)||l(j))){x(j,!0),x(U,"");try{x(P,await pw(l(w)||l(u).model),!0)}catch(J){x(U,J.message,!0)}x(j,!1)}}function Pt(J){const he=J.match(/\.([^.]+)$/);return he?he[1].toUpperCase():"?"}function ci(J){switch(J){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return J}}function $t(J){i(i().filter((he,je)=>je!==J))}function Pi(){we.click()}async function Ni(J){if(!(!J||J.length===0))for(const he of Array.from(J)){const je=await he.text();i([...i(),{name:he.name,content:je}])}}function ki(J){const he=J.target;Ni(he.files),he.value=""}function nn(J){var he;J.preventDefault(),x(de,!1),Ni(((he=J.dataTransfer)==null?void 0:he.files)??null)}function sn(J){var he;(he=J.dataTransfer)!=null&&he.types.includes("Files")&&(J.preventDefault(),x(de,!0))}function pn(){x(de,!1)}async function wn(){try{x(C,await mU(),!0)}catch{}}async function ft(){var he;if(l(n).length===0)return;const J=((he=l(n).find(je=>je.role==="user"))==null?void 0:he.content.slice(0,80))??l(p);try{await _U(l(p),J,l(n)),await wn()}catch{}}async function Qt(J){try{const he=await g2(J);x(n,he.messages,!0),x(p,J,!0),x(b,!1),x(d,"")}catch{}}async function Ti(J){try{await bU(J),await wn(),J===l(p)&&Bi()}catch{}}function Bi(){x(n,[],!0),x(d,""),x(p,g(),!0),x(b,!1)}no(async()=>{St();try{const J=await g2(l(p));x(n,J.messages,!0)}catch{}await wn()});async function bi(){const J=l(r).trim();if(!J||l(a))return;x(r,""),x(d,""),x(a,!0);const he={role:"user",content:J};x(n,[...l(n),he],!0),oe=new AbortController,x(He,[],!0);try{await LF({messages:l(n),currentScript:l(et),context:l(Ne),modelOverride:l(w)||void 0,extraFiles:i().length>0?i():void 0},je=>{x(s,(l(s)??"")+je)},oe.signal,je=>{x(He,[...l(He),je],!0)}),x(n,[...l(n),{role:"assistant",content:l(s)??"",toolEvents:l(He).length>0?[...l(He)]:void 0}],!0),x(He,[],!0)}catch(je){if(je.name==="AbortError"){const yt=l(s);yt&&yt.trim()&&x(n,[...l(n),{role:"assistant",content:yt+`
150
+
151
+ *[stopped]*`,toolEvents:l(He).length>0?[...l(He)]:void 0}],!0)}else x(d,je.message,!0)}finally{oe=null,x(s,null),x(He,[],!0),x(a,!1),ft()}}function bn(){oe==null||oe.abort()}function Cn(J){J.key==="Enter"&&!J.shiftKey&&(J.preventDefault(),bi())}function kn(){Bi()}const $e=["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 Yt(J){x(r,J,!0),me==null||me.focus()}var Fi=oK(),fi=lt(Fi),ji=m(fi),gi=v(m(ji),2);{var Gi=J=>{var he=gG(),je=m(he);{var yt=gt=>{var pt=mo();W(()=>O(pt,`${l(u).provider??""} · ${(l(w)||l(u).model)??""}`)),D(gt,pt)},Le=gt=>{var pt=mo();W(()=>O(pt,`${l(u).provider??""} · pick a model below`)),D(gt,pt)},Pe=gt=>{var pt=mo("Not configured");D(gt,pt)};N(je,gt=>{l(it)?gt(yt):l(u).provider?gt(Le,1):gt(Pe,-1)})}W(()=>fn(he,"title",`Provider: ${l(u).provider??""}`)),D(J,he)};N(gi,J=>{l(u)&&J(Gi)})}var Z=v(gi,2);let Se;var ot=v(Z,2);{var Ye=J=>{var he=pG();z("click",he,kn),D(J,he)};N(ot,J=>{l(n).length>0&&J(Ye)})}var Wt=v(ji,2);{var Jt=J=>{var he=_G(),je=m(he),yt=v(m(je),2),Le=v(je,2);{var Pe=pt=>{var Xe=xG();D(pt,Xe)},gt=pt=>{var Xe=mG();ti(Xe,21,()=>l(C),qt=>qt.id,(qt,rt)=>{var st=vG();let Ct;var jt=m(st),Tt=m(jt),ni=v(jt,2);W(()=>{Ct=At(st,1,"history-item svelte-10ayso4",null,Ct,{"history-active":l(rt).id===l(p)}),fn(jt,"title",l(rt).id),O(Tt,l(rt).title||l(rt).id)}),z("click",jt,()=>Qt(l(rt).id)),z("click",ni,()=>Ti(l(rt).id)),D(qt,st)}),D(pt,Xe)};N(Le,pt=>{l(C).length===0?pt(Pe):pt(gt,-1)})}z("click",yt,Bi),D(J,he)};N(Wt,J=>{l(b)&&J(Jt)})}var ht=v(Wt,2),Qe=m(ht);{var dt=J=>{var he=bG();D(J,he)},di=J=>{var he=yG(),je=m(he),yt=m(je);{var Le=pt=>{var Xe=CG(),qt=v(lt(Xe)),rt=m(qt);W(st=>O(rt,st),[()=>t().path.split("/").pop()]),D(pt,Xe)},Pe=pt=>{var Xe=mo("No script open. Ask a general she scripting question.");D(pt,Xe)};N(yt,pt=>{t()?pt(Le):pt(Pe,-1)})}var gt=v(je,2);ti(gt,17,()=>$e,Ri,(pt,Xe)=>{var qt=EG(),rt=m(qt);W(()=>O(rt,l(Xe))),z("click",qt,()=>Yt(l(Xe))),D(pt,qt)}),D(J,he)};N(Qe,J=>{l(Ee)?l(n).length===0&&l(s)===null&&J(di,1):J(dt)})}var De=v(Qe,2);ti(De,17,()=>l(n),Ri,(J,he,je)=>{var yt=IG(),Le=m(yt);{var Pe=pt=>{var Xe=wG(),qt=m(Xe);W(()=>O(qt,l(he).content)),D(pt,Xe)},gt=pt=>{const Xe=Ft(()=>be(l(he).content));var qt=LG(),rt=lt(qt);{var st=jt=>{var Tt=L2();ti(Tt,21,()=>l(he).toolEvents,Ri,(ni,ze)=>{var wt=Hs(),ii=lt(wt);{var Vi=Xt=>{var Di=B2(),Zi=v(m(Di),2),qi=m(Zi),Ji=v(Zi,2);{var qe=It=>{var ui=k2(),Kt=m(ui);W(mi=>O(Kt,mi),[()=>Object.entries(l(ze).args).map(([mi,Li])=>`${mi}=${JSON.stringify(Li)}`).join(", ")]),D(It,ui)},bt=Ft(()=>l(ze).args&&Object.keys(l(ze).args).length>0);N(Ji,It=>{l(bt)&&It(qe)})}W(It=>O(qi,It),[()=>l(ze).name.replace(/_/g," ")]),D(Xt,Di)},Gt=Xt=>{var Di=F2(),Zi=v(m(Di),2),qi=m(Zi);W(Ji=>O(qi,Ji),[()=>l(ze).name.replace(/_/g," ")]),D(Xt,Di)};N(ii,Xt=>{l(ze).type==="tool_call"?Xt(Vi):Xt(Gt,-1)})}D(ni,wt)}),D(jt,Tt)};N(rt,jt=>{var Tt;(Tt=l(he).toolEvents)!=null&&Tt.length&&jt(st)})}var Ct=v(rt,2);ti(Ct,21,()=>l(Xe),Ri,(jt,Tt,ni)=>{var ze=Hs(),wt=lt(ze);{var ii=Gt=>{var Xt=I2();Fc(Xt,()=>kt(l(Tt).text),!0),D(Gt,Xt)},Vi=Gt=>{const Xt=Ft(()=>vt(l(Tt).lang)?li(l(Tt).text):null),Di=Ft(()=>l(Xt)?l(Xt).code:l(Tt).text),Zi=Ft(()=>`${je}:${ni}`),qi=Ft(()=>Je(l(Di))),Ji=Ft(()=>l(T).has(l(Zi)));var qe=FG(),bt=m(qe),It=m(bt),ui=m(It),Kt=v(It,2),mi=m(Kt),Li=v(mi,2);{var Yi=Ai=>{var Hi=SG();z("click",Hi,()=>e.onCreateFile(l(Xt).filename,l(Xt).code)),D(Ai,Hi)},An=Ai=>{var Hi=kG(),rn=lt(Hi),Jn=v(rn,2);{var en=Ln=>{var ls=DG();D(Ln,ls)},un=Ln=>{var ls=AG();z("click",ls,()=>ri(l(Tt).text,!0)),D(Ln,ls)};N(Jn,Ln=>{l(I)?Ln(en):Ln(un,-1)})}z("click",rn,()=>ri(l(Tt).text)),D(Ai,Hi)},yi=Ft(()=>vt(l(Tt).lang)&&t());N(Li,Ai=>{l(Xt)&&e.onCreateFile?Ai(Yi):l(yi)&&Ai(An,1)})}var Ci=v(bt,2);let En;var cn=m(Ci),Mi=m(cn);Fc(Mi,()=>ct(l(Di),l(Tt).lang??""),!0);var Wn=v(cn,2);{var Ui=Ai=>{var Hi=BG(),rn=m(Hi);W(()=>O(rn,l(Ji)?"▲ collapse":"▼ expand")),z("click",Hi,()=>ut(l(Zi))),D(Ai,Hi)};N(Wn,Ai=>{l(qi)&&Ai(Ui)})}W(()=>{O(ui,l(Xt)?`new: ${l(Xt).filename}`:l(Tt).lang),En=At(Ci,1,"code-body svelte-10ayso4",null,En,{collapsed:l(qi)&&!l(Ji)})}),z("click",mi,()=>vi(l(Di))),D(Gt,qe)};N(wt,Gt=>{l(Tt).type==="text"?Gt(ii):Gt(Vi,-1)})}D(jt,ze)}),D(pt,qt)};N(Le,pt=>{l(he).role==="user"?pt(Pe):pt(gt,-1)})}W(()=>At(yt,1,`message ${l(he).role??""}`,"svelte-10ayso4")),D(J,yt)});var We=v(De,2);{var Oi=J=>{var he=L2();ti(he,21,()=>l(He),Ri,(je,yt)=>{var Le=Hs(),Pe=lt(Le);{var gt=Xe=>{var qt=B2(),rt=v(m(qt),2),st=m(rt),Ct=v(rt,2);{var jt=ni=>{var ze=k2(),wt=m(ze);W(ii=>O(wt,ii),[()=>Object.entries(l(yt).args).map(([ii,Vi])=>`${ii}=${JSON.stringify(Vi)}`).join(", ")]),D(ni,ze)},Tt=Ft(()=>l(yt).args&&Object.keys(l(yt).args).length>0);N(Ct,ni=>{l(Tt)&&ni(jt)})}W(ni=>O(st,ni),[()=>l(yt).name.replace(/_/g," ")]),D(Xe,qt)},pt=Xe=>{var qt=F2(),rt=v(m(qt),2),st=m(rt);W(Ct=>O(st,Ct),[()=>l(yt).name.replace(/_/g," ")]),D(Xe,qt)};N(Pe,Xe=>{l(yt).type==="tool_call"?Xe(gt):Xe(pt,-1)})}D(je,Le)}),D(J,he)};N(We,J=>{l(He).length>0&&J(Oi)})}var on=v(We,2);{var Ki=J=>{var he=PG(),je=m(he),yt=m(je),Le=m(yt);W(()=>O(Le,re[l(le)])),D(J,he)};N(on,J=>{l(a)&&l(s)===null&&l(He).length===0&&J(Ki)})}var ue=v(on,2);{var Ke=J=>{var he=MG(),je=m(he);ti(je,21,()=>oi(l(s)),Ri,(yt,Le)=>{var Pe=Hs(),gt=lt(Pe);{var pt=qt=>{var rt=I2();Fc(rt,()=>kt(l(Le).text),!0),D(qt,rt)},Xe=qt=>{var rt=TG(),st=m(rt),Ct=m(st),jt=m(Ct),Tt=v(st,2),ni=m(Tt);Fc(ni,()=>ct(l(Le).text,l(Le).lang??""),!0),W(()=>O(jt,l(Le).lang)),D(qt,rt)};N(gt,qt=>{l(Le).type==="text"?qt(pt):qt(Xe,-1)})}D(yt,Pe)}),D(J,he)};N(ue,J=>{l(s)!==null&&J(Ke)})}Bs(ht,J=>Me=J,()=>Me);var Bt=v(ht,2);{var zt=J=>{var he=RG(),je=m(he);W(()=>O(je,l(d))),D(J,he)};N(Bt,J=>{l(d)&&J(zt)})}var Fe=v(Bt,2),Ve=m(Fe),Vt=m(Ve),Ut=v(Ve,2),Zt=m(Ut),Rt=v(Ut,2),V=m(Rt),ae=v(V);{var pe=J=>{const he=Ft(()=>Math.min(100,Math.round(l(Lt)/4/l(P).contextLength*100)));var je=NG(),yt=m(je),Le=v(m(yt));W((Pe,gt)=>{fn(je,"title",`~${l(he)??""}% of ${Pe??""} token context window used`),fn(Le,"stroke",l(he)>80?"var(--fg-err)":l(he)>50?"var(--fg-warn)":"var(--fg-ok)"),fn(Le,"stroke-dasharray",`${gt??""} 31.4`)},[()=>l(P).contextLength.toLocaleString(),()=>(l(he)/100*31.4).toFixed(1)]),D(J,je)};N(ae,J=>{var he;(he=l(P))!=null&&he.contextLength&&J(pe)})}var ve=v(Fe,2),nt=m(ve);{var Ze=J=>{const he=Ft(()=>Pt(t().path.split("/").pop()??t().path));var je=OG();let yt;var Le=m(je),Pe=m(Le),gt=v(Le,2),pt=m(gt),Xe=v(gt,2),qt=m(Xe);W((rt,st)=>{yt=At(je,1,"file-chip svelte-10ayso4",null,yt,{inactive:!l(te)}),At(Le,1,`badge badge-${rt??""}`,"svelte-10ayso4"),O(Pe,st),O(pt,t().path),fn(Xe,"title",l(te)?"Remove from context":"Re-add to context"),O(qt,l(te)?"×":"+")},[()=>l(he).toLowerCase(),()=>ci(l(he))]),z("click",Xe,()=>x(te,!l(te))),D(J,je)};N(nt,J=>{t()&&J(Ze)})}var Et=v(nt,2);ti(Et,17,i,Ri,(J,he,je)=>{const yt=Ft(()=>Pt(l(he).name));var Le=HG(),Pe=m(Le),gt=m(Pe),pt=v(Pe,2),Xe=m(pt),qt=v(pt,2);W((rt,st)=>{At(Pe,1,`badge badge-${rt??""}`,"svelte-10ayso4"),O(gt,st),O(Xe,l(he).name)},[()=>l(yt).toLowerCase(),()=>ci(l(yt))]),z("click",qt,()=>$t(je)),D(J,Le)});var $=v(Et,2),q=v($,2);Bs(q,J=>we=J,()=>we);var R=v(ve,2);let G;var Y=m(R);let ie;var se=m(Y);Bs(se,J=>me=J,()=>me);var fe=v(Y,2);{var _e=J=>{var he=WG();z("click",he,bn),D(J,he)},Ce=J=>{var he=zG();W(je=>he.disabled=je,[()=>!l(r).trim()||!l(it)]),z("click",he,bi),D(J,he)};N(fe,J=>{l(a)?J(_e):J(Ce,-1)})}var Oe=v(R,2);{var Re=J=>{var he=qG(),je=m(he),yt=m(je),Le=v(je,2);{var Pe=qt=>{var rt=jG();ti(rt,21,()=>l(E),Ri,(st,Ct)=>{var jt=VG(),Tt=m(jt),ni={};W(()=>{O(Tt,l(Ct)),ni!==(ni=l(Ct))&&(jt.value=(jt.__value=l(Ct))??"")}),D(st,jt)}),W(()=>rt.disabled=l(a)),Ks(rt,()=>l(w),st=>x(w,st)),D(qt,rt)},gt=qt=>{var rt=$G(),st=m(rt);W(()=>O(st,l(w)||l(u).model)),D(qt,rt)};N(Le,qt=>{l(E).length>0?qt(Pe):qt(gt,-1)})}var pt=v(Le,2);{var Xe=qt=>{var rt=UG();z("click",rt,ye),D(qt,rt)};N(pt,qt=>{l(u).provider==="ollama"&&qt(Xe)})}W(()=>O(yt,l(u).provider)),D(J,he)};N(Oe,J=>{var he;(he=l(u))!=null&&he.provider&&(l(Ee)||l(E).length>0)&&J(Re)})}var tt=v(fi,2);{var ei=J=>{var he=sK(),je=m(he),yt=m(je),Le=m(yt),Pe=m(Le),gt=v(Le,2),pt=v(yt,2),Xe=m(pt);{var qt=Ct=>{var jt=GG();D(Ct,jt)},rt=Ct=>{var jt=KG(),Tt=m(jt);W(()=>O(Tt,l(U))),D(Ct,jt)},st=Ct=>{var jt=nK(),Tt=m(jt);{var ni=bt=>{var It=ZG(),ui=v(lt(It)),Kt=m(ui);W(()=>O(Kt,l(P).version)),D(bt,It)};N(Tt,bt=>{l(P).version&&bt(ni)})}var ze=v(Tt,2);{var wt=bt=>{var It=XG(),ui=v(lt(It)),Kt=m(ui);W(()=>O(Kt,l(P).details.family)),D(bt,It)};N(ze,bt=>{var It;(It=l(P).details)!=null&&It.family&&bt(wt)})}var ii=v(ze,2);{var Vi=bt=>{var It=YG(),ui=v(lt(It)),Kt=m(ui);W(()=>O(Kt,l(P).details.parameter_size)),D(bt,It)};N(ii,bt=>{var It;(It=l(P).details)!=null&&It.parameter_size&&bt(Vi)})}var Gt=v(ii,2);{var Xt=bt=>{var It=QG(),ui=v(lt(It)),Kt=m(ui);W(()=>O(Kt,l(P).details.quantization_level)),D(bt,It)};N(Gt,bt=>{var It;(It=l(P).details)!=null&&It.quantization_level&&bt(Xt)})}var Di=v(Gt,2);{var Zi=bt=>{var It=JG(),ui=v(lt(It)),Kt=m(ui);W(()=>O(Kt,l(P).details.format)),D(bt,It)};N(Di,bt=>{var It;(It=l(P).details)!=null&&It.format&&bt(Zi)})}var qi=v(Di,2);{var Ji=bt=>{var It=tK(),ui=v(lt(It),2);ti(ui,21,()=>l(P).running,Ri,(Kt,mi)=>{var Li=eK(),Yi=m(Li);W(An=>O(Yi,`${l(mi).name??""} · ${An??""} VRAM`),[()=>Ie(l(mi).size_vram)]),D(Kt,Li)}),D(bt,It)},qe=bt=>{var It=iK();D(bt,It)};N(qi,bt=>{l(P).running&&l(P).running.length>0?bt(Ji):l(P).running!==null&&bt(qe,1)})}D(Ct,jt)};N(Xe,Ct=>{l(j)?Ct(qt):l(U)?Ct(rt,1):l(P)&&Ct(st,2)})}W(()=>{var Ct;return O(Pe,`Ollama · ${(l(w)||((Ct=l(u))==null?void 0:Ct.model))??""}`)}),z("click",he,()=>x(M,!1)),z("click",je,Ct=>Ct.stopPropagation()),z("click",gt,()=>x(M,!1)),D(J,he)};N(tt,J=>{l(M)&&J(ei)})}W(J=>{Se=At(Z,1,"icon-hdr-btn svelte-10ayso4",null,Se,{active:l(b)}),O(V,J),G=At(R,1,"input-row svelte-10ayso4",null,G,{"drag-over":l(de)}),ie=At(Y,1,"textarea-wrap svelte-10ayso4",null,ie,{loading:l(a)}),fn(se,"placeholder",l(it)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":l(Ee)?"Select a model above to start chatting":"AI not configured"),se.disabled=l(a)||!l(it)},[()=>Ie(l(Lt))]),z("click",Z,()=>x(b,!l(b))),Os(Vt,()=>l(ce),J=>x(ce,J)),Os(Zt,()=>l(ge),J=>x(ge,J)),z("click",$,Pi),z("change",q,ki),Ns("dragover",R,sn),Ns("dragleave",R,pn),Ns("drop",R,nn),z("keydown",se,Cn),Dt(se,()=>l(r),J=>x(r,J)),D(o,Fi),eo()}uo(["click","change","keydown"]);const aK={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"]},lK={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 bw=[],Cw=[],Ew=[];const Zm=new Map;let JF=[];const yw=new Map,ww=new Map;async function P2(){try{bw=(await AF()).map(e=>e.topic)}catch{}}async function T2(){try{const[o,e]=await Promise.all([wF(),SF()]);Cw=o,Ew=e}catch{}}async function M2(){try{const o=await aS();JF=o.map(e=>e.nodeId),yw.clear(),ww.clear();for(const e of o)e.name&&(yw.set(e.nodeId,e.name),ww.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!Zm.has(e.nodeId))try{Zm.set(e.nodeId,await Ev(e.nodeId))}catch{}}))}catch{}}function cK(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*$/,d=o.match(a);if(d){const u=d[1],f=dK(u),g=uK(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Kh(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Kh(u,0),C=R2(u,1)??Kh(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Kh(u,0),C=R2(u,1)??Kh(u,1),b=Kh(u,2),E=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:E}}}return null}function dK(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 uK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Kh(o,e){var s;const i=(s=e3(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function R2(o,e){var s;const i=(s=e3(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function e3(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 rh=Bd.CompletionItemKind;function hK(o,e){return(e?bw.filter(i=>i.startsWith(e)):bw).map(i=>({label:i,kind:rh.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function fK(o,e,t){const i=t?[...Cw,...Ew]:Cw;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:rh.Value,insertText:s,range:o,detail:Ew.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function gK(o,e){return JF.map(t=>{const i=yw.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:rh.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function t3(o){return ww.get(o)??o}function pK(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 xK(o,e){const t=Zm.get(t3(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:rh.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function vK(o,e,t){const i=Zm.get(t3(e));if(!i)return[];const n=pK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:rh.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function mK(o,e,t){return(t?lK[e]??[]:aK[e]??[]).map(n=>({label:n,kind:t?rh.Function:rh.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let N2=!1;function _K(){N2||(N2=!0,P2(),T2(),M2(),setInterval(P2,15e3),setInterval(T2,1e4),setInterval(M2,6e4),Bd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=cK(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:hK(a,i.prefix)};case"db":return{suggestions:fK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:gK(a,i.prefix)};case"matter-endpointId":return{suggestions:xK(a,i.nodeId)};case"matter-cluster":return{suggestions:vK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:mK(a,i.cluster,i.isSend)};default:return null}}}))}var bK=F('<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),CK=F('<button class="svelte-1pyfjii">Show git history</button>'),EK=F('<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),yK=F('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),wK=F('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),O2=F('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),SK=F('<ul class="tree-children svelte-1pyfjii"></ul>'),DK=F('<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>'),AK=F('<span class="dirty-dot svelte-1pyfjii">●</span>'),kK=F('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),BK=F('<span class="err-dot svelte-1pyfjii">●</span>'),FK=F('<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>'),LK=F('<span class="dis-spacer svelte-1pyfjii"></span>'),IK=F('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),PK=F('<div class="err svelte-1pyfjii"> </div>'),TK=F('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),MK=F('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),RK=F('<div class="search-status svelte-1pyfjii">Searching…</div>'),NK=F('<div class="search-status search-err svelte-1pyfjii"> </div>'),OK=F('<div class="search-status svelte-1pyfjii">No results.</div>'),HK=F('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),WK=F('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),zK=F('<div class="search-file-group svelte-1pyfjii"><button class="search-file-btn svelte-1pyfjii"><span class="search-fname svelte-1pyfjii"> </span> <span class="search-fcount svelte-1pyfjii"> </span></button> <!></div>'),qC=F("<!> <!>",1),VK=F('<div class="search-status svelte-1pyfjii">No files found.</div>'),jK=F('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),$K=F('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),UK=F('<label class="replace-item svelte-1pyfjii"><input type="checkbox" class="svelte-1pyfjii"/> <span class="replace-checkmark svelte-1pyfjii"></span> <span class="replace-item-path svelte-1pyfjii"> </span> <span class="replace-item-n svelte-1pyfjii"> </span></label>'),qK=F('<div class="replace-confirm svelte-1pyfjii"><div class="replace-confirm-hdr svelte-1pyfjii"><span> </span> <div class="replace-confirm-btns svelte-1pyfjii"><button class="svelte-1pyfjii">Apply</button> <button class="svelte-1pyfjii">Cancel</button></div></div> <div class="replace-confirm-list svelte-1pyfjii"></div></div>'),GK=F('<div class="search-panel svelte-1pyfjii"><div class="search-mode-bar svelte-1pyfjii"><button>Text</button> <button>Files</button> <button class="search-close-btn svelte-1pyfjii" title="Close">×</button></div> <div class="search-input-row svelte-1pyfjii"><input class="svelte-1pyfjii"/> <!></div> <!> <div class="search-results svelte-1pyfjii"><!></div> <!></div>'),KK=F('<div class="history-empty svelte-1pyfjii">Loading…</div>'),ZK=F('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),XK=F('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),YK=F('<button class="history-load-more svelte-1pyfjii"> </button>'),QK=F('<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>'),JK=F('<span class="tab-dirty svelte-1pyfjii">●</span>'),eZ=F('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),tZ=F('<div class="tab-bar-wrap svelte-1pyfjii"><button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs left">‹</button> <div class="tab-bar svelte-1pyfjii" role="tablist"></div> <button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs right">›</button></div>'),iZ=F('<li class="changes-item svelte-1pyfjii"><label class="changes-cb-wrap svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-checkmark svelte-1pyfjii"></span></label> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),nZ=F('<div class="changes-err svelte-1pyfjii"> </div>'),sZ=F('<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),oZ=F('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),rZ=F('<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),aZ=F('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),lZ=F('<span class="git-behind svelte-1pyfjii"> </span>'),cZ=F('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),dZ=F('<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 &amp; Commit</button></div>',1),uZ=F('<button class="danger svelte-1pyfjii">Delete</button>'),hZ=F(`<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#Documentation" target="_blank" rel="noopener" class="svelte-1pyfjii">Documentation</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 &amp; 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>`),fZ=F('<button class="svelte-1pyfjii">Always accept in this session</button>'),gZ=F('<button class="svelte-1pyfjii">Disable auto-accept</button>'),pZ=F('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),xZ=F('<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>'),vZ=F('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),mZ=F('<div class="diff-container svelte-1pyfjii"></div>'),_Z=F('<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>'),bZ=F('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),CZ=F('<span class="log-file svelte-1pyfjii"> </span>'),EZ=F("<option> </option>"),yZ=F('<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> <label class="log-filter-autoscroll svelte-1pyfjii"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Auto-scroll</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),wZ=F('<button class="script-link svelte-1pyfjii"> </button>'),SZ=F('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"></span></div>'),DZ=F('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),AZ=F('<div class="log-body svelte-1pyfjii"><!> <!></div>'),kZ=F('<div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div>'),BZ=F('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),FZ=F('<!> <!> <!> <!> <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="Find in files / Find files (Ctrl+Shift+F)">&#x2315;</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></div></div>',1);function LZ(o,e){Js(e,!0);let t=B(_i([])),i=B(_i({})),n=B(null),s=B(null),r=B(null),a=B(null),d=B(_i([])),u=B(null),f=B(!1),g=B(""),p=B(!1),C=B(!0),b=B(null),E=B(!1),w=B(!1),A=B(null),I=B(_i([])),T=B(!1),M=B(30),P=B(void 0),j=null,U=null,Q=null,oe=B(!1),le=B(""),re=B(!1),ce=B(void 0),ge=B(_i(new Set));const te=new Set;let de=B(_i(new Set)),we=B(_i([])),He=B(!1),me=B("text"),Me=B(""),Ne=B(!1),Ee=B(!1),it=B(!1),Lt=B(""),et=B(_i([])),St=B(_i([])),be=B(!1),ke=B(!1),Je=B(""),ut=B(void 0),ct=B(_i([])),kt=B(!1),oi=B(!1),vi=null,ri=B(void 0),vt=B(!1),li=B(!1),Ie=null;function ye(){l(ri)&&(x(vt,l(ri).scrollLeft>0),x(li,l(ri).scrollLeft+l(ri).clientWidth<l(ri).scrollWidth-1))}function Pt(X){var xe;(xe=l(ri))==null||xe.scrollBy({left:X*200,behavior:"smooth"})}function ci(X="text"){x(He,!0),x(me,X,!0),Dl().then(()=>{var xe;return(xe=l(ut))==null?void 0:xe.focus()})}function $t(){x(He,!1),x(Me,""),x(et,[],!0),x(St,[],!0),x(be,!1),x(Je,""),x(it,!1),x(kt,!1)}function Pi(){vi&&clearTimeout(vi),vi=setTimeout(Ni,300)}async function Ni(){const X=l(Me).trim();if(!X){x(et,[],!0),x(St,[],!0),x(be,!1),x(Je,"");return}x(ke,!0),x(Je,"");try{if(l(me)==="files"){const xe=await l2(X,{mode:"files"});x(St,xe.results,!0),x(be,xe.truncated,!0)}else{const xe=await l2(X,{regex:l(Ee),caseSensitive:l(Ne)});x(et,xe.results,!0),x(be,xe.truncated,!0)}}catch(xe){x(Je,xe.message||"Search failed",!0)}finally{x(ke,!1)}}async function ki(X,xe){await qt(X),gi&&(gi.revealLineInCenter(xe.line),gi.setPosition({lineNumber:xe.line,column:xe.col}),gi.focus())}function nn(X){return X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function sn(){if(!l(Me).trim()||!l(et).length)return;x(oi,!0);const X=[],xe="g"+(l(Ne)?"":"i");for(const mt of l(et))try{const xt=await Ux(mt.path),at=l(Ee)?new RegExp(l(Me),xe):new RegExp(nn(l(Me)),xe),hi=xt.content.replace(at,l(Lt));hi!==xt.content&&X.push({path:mt.path,checked:!0,original:xt.content,replaced:hi,changes:mt.matches.length})}catch{}x(ct,X,!0),x(oi,!1),x(kt,!0)}async function pn(){for(const X of l(ct).filter(xe=>xe.checked))try{await xc(X.path,X.replaced);const xe=l(d).find(mt=>mt.path===X.path);xe!=null&&xe.model&&(xe.model.setValue(X.replaced),xe.savedContent=X.replaced,xe.dirty=!1)}catch{}x(kt,!1),await Ni()}function wn(X){X.ctrlKey&&X.shiftKey&&X.key==="F"&&(X.preventDefault(),l(He)&&l(me)==="text"?$t():ci("text"))}vs(()=>{l(ri)&&(Ie==null||Ie.disconnect(),Ie=new ResizeObserver(ye),Ie.observe(l(ri)),ye())});let ft=B("all"),Qt=B(""),Ti=B(!1),Bi=B(!0);const bi=["all","debug","info","warn","error"],bn={debug:0,info:1,warn:2,error:3},Cn=Ft(()=>NF(hS(l(t))));async function kn(X,xe,mt){await qt(X),xe&&gi&&(gi.revealLineInCenter(xe),gi.setPosition({lineNumber:xe,column:mt??1}),gi.focus())}function $e(X){if(l(ft)!=="all"&&bn[X.level]<bn[l(ft)])return!1;if(!l(Qt))return!0;if(l(Ti))try{return new RegExp(l(Qt),"i").test(X.msg)}catch{}return X.msg.toLowerCase().includes(l(Qt).toLowerCase())}let Yt=B(null);function Fi(X){const xe=X.currentTarget.getBoundingClientRect();x(Yt,{x:xe.left,y:xe.top},!0)}function fi(){x(Yt,null)}let ji,gi,Gi,Z=!1,Se=null,ot=null,Ye=!1,Wt=!1,Jt=B(!1),ht=B(null),Qe=B(!1),dt=B(!1),di=B(void 0),De=null,We=null,Oi=null,on=B(_i(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Ki=B(_i(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),ue=B(_i(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Ke=B(_i(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Bt=!1,zt=0,Fe=0,Ve=!1,Vt=0,Ut=0,Zt=!1,Rt=0,V=0,ae=!1,pe=0,ve=0;const nt=Ft(()=>{var X;return l(u)&&l(Ce)?{path:l(u),content:((X=l(Ce).model)==null?void 0:X.getValue())??l(Ce).savedContent}:null}),Ze=Ft(()=>{var X;return new Set(((X=l(b))==null?void 0:X.changes.map(xe=>xe.file))??[])}),Et=Ft(()=>{const X=new Set;for(const xe of l(Ze)){const mt=xe.split("/");for(let xt=1;xt<mt.length;xt++)X.add(mt.slice(0,xt).join("/"))}return X});let $=B(!1),q=B(!1),R=B(""),G=B(!1),Y=B(""),ie=B(_i(new Set));async function se(){var X;if(!(!l(R).trim()||l(ie).size===0)){x(G,!0),x(Y,"");try{const xe=l(b).changes.filter(mt=>l(ie).has(mt.file)).map(mt=>mt.file);if(xe.length===l(b).changes.length?await u2(l(R).trim()):await d2(xe,l(R).trim()),l(w))try{await Gx()}catch{}x(R,""),await Ct(),(X=l(b))!=null&&X.changes.length?x(ie,new Set(l(b).changes.map(mt=>mt.file)),!0):x($,!1)}catch(xe){x(Y,xe.message,!0)}finally{x(G,!1)}}}let fe,_e,Ce=Ft(()=>l(d).find(X=>X.path===l(u))??null);const Oe="she-tabs",Re="she-active-tab",tt="she-log-open",ei="she-chat-open";let J=qu(e,"active",3,!0);vs(()=>{Wt&&(localStorage.setItem(Oe,JSON.stringify(l(d).map(X=>X.path))),l(u)?localStorage.setItem(Re,l(u)):localStorage.removeItem(Re))}),vs(()=>{Wt&&localStorage.setItem(ei,String(l(Jt)))}),vs(()=>{J()&&gi&&gi.layout()});const he=`
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
+ `;function je(X){l(d).some(xe=>xe.dirty)&&X.preventDefault()}no(async()=>{var $i,On;window.addEventListener("beforeunload",je),x(C,localStorage.getItem(tt)!=="false"),x(Jt,localStorage.getItem(ei)==="true"),Bd.typescript.javascriptDefaults.addExtraLib(he,"she-api.d.ts"),Bd.typescript.javascriptDefaults.setCompilerOptions({target:Bd.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Bd.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),_K(),Gi=dr.createModel("","javascript"),gi=dr.create(ji,{model:Gi,theme:pf(),automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),gi.addCommand(h1.CtrlCmd|h1.Shift|Wk.KeyF,()=>{l(He)&&l(me)==="text"?$t():ci("text")}),($i=gi.getDomNode())==null||$i.addEventListener("keydown",Wi=>{(Wi.ctrlKey||Wi.metaKey)&&Wi.key==="s"&&(Wi.preventDefault(),Tt())}),gi.onDidChangeModelContent(()=>{if(Z)return;const Wi=l(d).find(dn=>dn.path===l(u));Wi&&(Wi.dirty=gi.getValue()!==Wi.savedContent),Hi&&clearTimeout(Hi),Hi=setTimeout(rn,600)}),Se=dS(Wi=>{const dn=Wi.msg.match(/^([^:\n]+\.js):\s/);if(!dn)return;const hn=dn[1];if(Wi.level==="error")te.add(hn),l(ge).has(hn)||x(ge,new Set([...l(ge),hn]),!0);else if(te.has(hn)){te.delete(hn);const vn=new Set(l(ge));vn.delete(hn),x(ge,vn,!0)}const In=l(d).find(vn=>vn.path===hn);In&&(In.logEntries=[...In.logEntries.slice(-199),Wi],In.path===l(u)&&l(C)&&l(ce)&&l(Bi)&&Dl().then(()=>{l(ce)&&(l(ce).scrollTop=l(ce).scrollHeight)}))}),ot=mr("script:running",Wi=>{const dn=Wi.path;if(Wi.running)x(de,new Set([...l(de),dn]),!0);else{const hn=new Set(l(de));hn.delete(dn),x(de,hn,!0)}}),await yt(),Ct();try{const Wi=await Gl();typeof Wi.gitAutoCommit=="boolean"&&x(E,Wi.gitAutoCommit,!0),typeof Wi.gitAutoPush=="boolean"&&x(w,Wi.gitAutoPush,!0)}catch{}try{const Wi=await getDaemonStatus();x(de,new Set(Wi.runningScripts??[]),!0)}catch{}const X=JSON.parse(localStorage.getItem(Oe)??"[]"),xe=localStorage.getItem(Re);for(const Wi of X)await Xe(Wi,!1);const mt=xe&&l(d).some(Wi=>Wi.path===xe)?xe:((On=l(d)[0])==null?void 0:On.path)??null;mt&&await rt(mt),Wt=!0;const xt=()=>dr.setTheme(pf()),at=window.matchMedia("(prefers-color-scheme: dark)");window.addEventListener("she:theme-changed",xt),at.addEventListener("change",xt);const hi=Wi=>{const{path:dn,line:hn,column:In}=Wi.detail??{};typeof dn=="string"&&dn&&kn(dn,typeof hn=="number"?hn:void 0,typeof In=="number"?In:void 0)};return window.addEventListener("she:open-script",hi),()=>{window.removeEventListener("she:theme-changed",xt),at.removeEventListener("change",xt),window.removeEventListener("she:open-script",hi)}}),B0(()=>{var X;window.removeEventListener("beforeunload",je),Ie==null||Ie.disconnect(),Hi&&clearTimeout(Hi),Se==null||Se(),ot==null||ot();for(const xe of l(d))(X=xe.model)==null||X.dispose();Gi==null||Gi.dispose(),gi==null||gi.dispose()});async function yt(){try{if(x(t,await EF(),!0),!Ye){let xe=function(mt){for(const xt of mt)xt.type==="dir"&&(X[xt.path]=!0,xt.children&&xe(xt.children))};Ye=!0;const X={};xe(l(t)),x(i,X,!0)}x(g,"")}catch(X){x(g,X.message,!0)}}function Le(X){l(i)[X]=!l(i)[X]}function Pe(X){switch(X){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return X}}async function gt(X,xe){try{xe?await xc(`${X}/.shelib`,""):await qx(`${X}/.shelib`),await yt(),await jt("all",xe?`lib ${X}`:`unlib ${X}`)}catch(mt){x(g,mt.message,!0)}}async function pt(X,xe){const mt=X.split("/").pop(),xt=X.includes("/")?X.slice(0,X.lastIndexOf("/")):"",at=xt?`${xt}/.shedisable-${mt}`:`.shedisable-${mt}`;try{xe?await xc(at,""):await qx(at),await yt(),await jt("all",xe?`disable ${X}`:`enable ${X}`)}catch(hi){x(g,hi.message,!0)}}async function Xe(X,xe=!0){var mt;if(l(d).some(xt=>xt.path===X)){xe&&await rt(X);return}try{const{content:xt}=await Ux(X),at=VL.parse(`file:///she-scripts/${encodeURIComponent(X)}`);(mt=dr.getModel(at))==null||mt.dispose();const hi=dr.createModel(xt,Ai(X),at);let $i=[];try{$i=(await lS()).filter(Wi=>{const dn=Wi.msg.match(/^([^:\n]+\.js):\s/);return dn&&dn[1]===X})}catch{}x(d,[...l(d),{path:X,dirty:!1,savedContent:xt,model:hi,logEntries:$i}],!0),xe&&await rt(X)}catch(xt){x(g,xt.message,!0)}}async function qt(X){await Xe(X,!0)}async function rt(X){var mt,xt;const xe=l(d).find(at=>at.path===X);xe!=null&&xe.model&&(Zi(),x(ht,null),x(u,X,!0),Z=!0,gi.setModel(xe.model),Z=!1,rn(),await Dl(),(xt=(mt=l(ri))==null?void 0:mt.querySelector(`[data-tab-path="${CSS.escape(X)}"]`))==null||xt.scrollIntoView({inline:"nearest",block:"nearest"}),ye())}async function st(X){var xt;const xe=l(d).find(at=>at.path===X);if(!xe||xe.dirty&&!await fe.show(`Discard unsaved changes to ${X}?`,{confirm:"Discard"}))return;const mt=l(d).findIndex(at=>at.path===X);if((xt=xe.model)==null||xt.dispose(),x(d,l(d).filter(at=>at.path!==X),!0),l(u)===X){const at=l(d)[mt]??l(d)[mt-1]??null;at?await rt(at.path):(x(u,null),gi.setModel(Gi))}}async function Ct(){try{x(b,await iU(),!0)}catch{x(b,null)}}async function jt(X,xe){if(l(b))try{if(X==="all"?await u2(xe):await d2(X,xe),l(w))try{await Gx()}catch{}await Ct()}catch{}}async function Tt(){if(!l(u))return;const X=l(d).find(xe=>xe.path===l(u));if(X){x(f,!0);try{const xe=gi.getValue();await xc(l(u),xe),X.savedContent=xe,X.dirty=!1,x(g,""),l(E)?await jt([l(u)],`update ${l(u)}`):Ct()}catch(xe){x(g,xe.message,!0)}finally{x(f,!1)}}}async function ni(){if(!l(u)||(await Tt(),l(g)))return;const X=await _e.show("Commit message:",{initial:`update ${l(u)}`,placeholder:"Update script",confirm:"Commit"});if(X)try{if(await oU(l(u),X),l(w))try{await Gx()}catch{}Ct()}catch(xe){x(g,"Git: "+xe.message)}}async function ze(){x(p,!1);try{await Gx(),await Ct(),x(g,"")}catch(X){x(g,"Git push: "+X.message)}}function wt(X){const xe=Date.now()-new Date(X).getTime(),mt=Math.floor(xe/1e3);if(mt<60)return"just now";const xt=Math.floor(mt/60);if(xt<60)return`${xt}m ago`;const at=Math.floor(xt/60);if(at<24)return`${at}h ago`;const hi=Math.floor(at/24);if(hi<30)return`${hi}d ago`;const $i=Math.floor(hi/30);return $i<12?`${$i}mo ago`:`${Math.floor($i/12)}y ago`}async function ii(X){bt(),x(A,X,!0),x(I,[],!0),x(M,30),await Vi()}async function Vi(){if(l(A)){x(T,!0);try{x(I,await rU(l(A).path,l(M)),!0)}catch{}finally{x(T,!1)}}}async function Gt(){x(M,l(M)+30),await Vi()}function Xt(){x(A,null),x(I,[],!0),Zi()}async function Di(X){if(!l(A))return;Zi(),await qt(l(A).path);let xe;try{xe=await aU(X.hash,l(A).path)}catch{return}if(x(le,X.hash,!0),x(re,xe.binary,!0),x(oe,!0),xe.binary||xe.content===null)return;let mt="";const xt=l(d).find(hi=>hi.path===l(A).path);if(xt!=null&&xt.model)mt=xt.model.getValue();else try{mt=(await Ux(l(A).path)).content}catch{}if(await Dl(),!l(P))return;const at=Ai(l(A).path);U=dr.createModel(xe.content,at),Q=dr.createModel(mt,at),j=dr.createDiffEditor(l(P),{theme:pf(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),j.setModel({original:U,modified:Q})}function Zi(){x(oe,!1),x(re,!1),j==null||j.dispose(),j=null,U==null||U.dispose(),U=null,Q==null||Q.dispose(),Q=null}async function qi(){const X=l(n)?`${l(n)}/`:"",xe=await _e.show("New script name:",{placeholder:X?`${X}myscript.js`:"myscript.js",initial:X,confirm:"Create"});if(!xe)return;const mt=xe.endsWith(".js")?`/* global she */
217
+ 'use strict';
218
+
219
+ `:"";await xc(xe,mt),await yt(),await Xe(xe,!0)}async function Ji(){const X=l(n)?`${l(n)}/`:"",xe=await _e.show("New folder name:",{placeholder:X?`${X}subfolder`:"myfolder",initial:X,confirm:"Create"});xe&&(await tU(xe),l(i)[xe]=!0,await yt())}function qe(X,xe){X.preventDefault();const mt=180,xt=200,at=Math.min(X.clientX,window.innerWidth-mt),hi=Math.min(X.clientY,window.innerHeight-xt);x(s,{x:at,y:hi,entry:xe},!0)}function bt(){x(s,null)}async function It(X){bt(),x(n,X,!0),l(i)[X]=!0,await qi()}async function ui(X){bt(),x(n,X,!0),await Ji()}async function Kt(X){bt();const xe=X.path.includes("/")?X.path.slice(0,X.path.lastIndexOf("/")+1):"",mt=await _e.show(X.type==="dir"?"Rename folder:":"Rename script:",{initial:X.name,placeholder:X.name,confirm:"Rename"});if(!mt||mt===X.name)return;const xt=xe+mt;try{await c2(X.path,xt);const at=l(d).find(hi=>hi.path===X.path);at&&(at.path=xt,l(u)===X.path&&x(u,xt)),await yt(),await jt("all",`rename ${X.path} → ${xt}`)}catch(at){x(g,at.message,!0)}}function mi(X){if(!X.children)return 0;let xe=0;for(const mt of X.children)xe++,mt.type==="dir"&&(xe+=mi(mt));return xe}async function Li(X){bt();let xe=`Delete ${X.type==="dir"?"folder":"file"} "${X.path}"?`;if(X.type==="dir"){const mt=mi(X);mt>0&&(xe+=` This will also delete ${mt} item${mt===1?"":"s"} inside.`)}if(await fe.show(xe,{confirm:"Delete",danger:!0})){if(X.type==="dir")for(const mt of[...l(d)])mt.path.startsWith(X.path+"/")&&await st(mt.path);else await st(X.path);await qx(X.path),await yt(),await jt("all",`delete ${X.path}`)}}async function Yi(X){bt();const{content:xe}=await Ux(X.path);l(we).some(mt=>mt.name===X.path)||x(we,[...l(we),{name:X.path,content:xe}],!0),x(Jt,!0)}function An(X,xe){var mt;x(r,xe,!0),(mt=X.dataTransfer)==null||mt.setData("text/plain",xe)}function yi(X,xe){if(X.preventDefault(),l(r)&&(l(r)===xe||xe.startsWith(l(r)+"/"))){X.dataTransfer&&(X.dataTransfer.dropEffect="none"),x(a,null);return}X.dataTransfer&&(X.dataTransfer.dropEffect="move"),x(a,xe,!0)}function Ci(){x(a,null)}async function En(X,xe){var $i,On,Wi;X.preventDefault(),x(a,null);const mt=Array.from((($i=X.dataTransfer)==null?void 0:$i.items)??[]).filter(dn=>dn.kind==="file");if(mt.length>0&&!l(r)){for(const dn of mt){const hn=(On=dn.webkitGetAsEntry)==null?void 0:On.call(dn);hn&&await cn(hn,xe,!0)}await yt();return}const xt=l(r)??((Wi=X.dataTransfer)==null?void 0:Wi.getData("text/plain"));if(x(r,null),!xt||xt===xe||xe.startsWith(xt+"/"))return;const at=xt.split("/").pop(),hi=xe?`${xe}/${at}`:at;if(hi!==xt)try{await c2(xt,hi);for(const dn of l(d))if(dn.path===xt)l(u)===xt&&x(u,hi,!0),dn.path=hi;else if(dn.path.startsWith(xt+"/")){const hn=hi+dn.path.slice(xt.length);l(u)===dn.path&&x(u,hn),dn.path=hn}await yt(),await jt("all",`rename ${xt} → ${hi}`)}catch(dn){x(g,dn.message,!0)}}async function cn(X,xe,mt){if(X.isFile){const at=await(await new Promise(($i,On)=>X.file($i,On))).text(),hi=xe?`${xe}/${X.name}`:X.name;await xc(hi,at),mt&&X.name.endsWith(".js")&&await pt(hi,!0)}else if(X.isDirectory){const xt=X.createReader();let at=[],hi;do hi=await new Promise(($i,On)=>xt.readEntries($i,On)),at=[...at,...hi];while(hi.length>0);for(const $i of at)await cn($i,xe?`${xe}/${X.name}`:X.name,!1);if(mt){const $i=xe?`${xe}/${X.name}`:X.name;await pt($i,!0)}}}async function Mi(){if(!l(u)||!await fe.show(`Delete ${l(u)}?`,{confirm:"Delete",danger:!0}))return;const X=l(u);await st(X),await qx(X),await yt(),await jt("all",`delete ${X}`)}function Wn(){l(Ce)&&(l(Ce).logEntries=[])}function Ui(){x(C,!l(C)),localStorage.setItem(tt,String(l(C)))}function Ai(X){var xt;const xe=((xt=X.split(".").pop())==null?void 0:xt.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"}[xe]??"plaintext"}let Hi=null;async function rn(){const X=l(d).find(mt=>mt.path===l(u));if(!(X!=null&&X.model))return;const xe=X.model;try{const hi=(await(await(await Bd.typescript.getJavaScriptWorker())(xe.uri)).getSyntacticDiagnostics(xe.uri.toString())).map($i=>{const On=xe.getPositionAt($i.start??0),Wi=xe.getPositionAt(($i.start??0)+($i.length??0));return{severity:jL.Error,startLineNumber:On.lineNumber,startColumn:On.column,endLineNumber:Wi.lineNumber,endColumn:Wi.column,message:typeof $i.messageText=="string"?$i.messageText:JSON.stringify($i.messageText),source:"she-syntax"}});if(dr.setModelMarkers(xe,"she-syntax",hi),l(u)){if(hi.length>0)te.add(l(u)),l(ge).has(l(u))||x(ge,new Set([...l(ge),l(u)]),!0);else if(te.has(l(u))){te.delete(l(u));const $i=new Set(l(ge));$i.delete(l(u)),x(ge,$i,!0)}}}catch{}}function Jn(X){Bt=!0,zt=X.clientX,Fe=l(on),X.preventDefault()}function en(X){Ve=!0,Vt=X.clientY,Ut=l(Ki),X.preventDefault()}function un(X){Zt=!0,Rt=X.clientX,V=l(ue),X.preventDefault()}function Ln(X){ae=!0,pe=X.clientY,ve=l(Ke),X.preventDefault()}function ls(X){Bt&&x(on,Math.max(140,Math.min(500,Fe+X.clientX-zt)),!0),Ve&&x(Ki,Math.max(60,Math.min(500,Ut-(X.clientY-Vt))),!0),Zt&&x(ue,Math.max(200,Math.min(700,V-(X.clientX-Rt))),!0),ae&&x(Ke,Math.max(80,Math.min(600,ve-(X.clientY-pe))),!0)}function is(){Bt&&(Bt=!1,localStorage.setItem("she-scripts-sidebar-width",String(l(on)))),Ve&&(Ve=!1,localStorage.setItem("she-scripts-log-height",String(l(Ki)))),Zt&&(Zt=!1,localStorage.setItem("she-scripts-chat-width",String(l(ue)))),ae&&(ae=!1,localStorage.setItem("she-scripts-history-height",String(l(Ke))))}function an(X){(X.ctrlKey||X.metaKey)&&X.key==="s"&&(X.preventDefault(),Tt()),X.key==="Escape"&&(x(p,!1),x(s,null),x(q,!1))}async function zn(X,xe){const mt=await _e.show("Save new script as:",{placeholder:"myscript.js",initial:X,confirm:"Create"});if(mt)try{await xc(mt,xe),await yt(),await Xe(mt,!0)}catch(xt){x(g,xt.message,!0)}}async function Ys(X){var mt,xt;if(l(Qe)&&l(u)){x(ht,X,!0),await Us();return}if(x(ht,X,!0),await Dl(),!l(di))return;We==null||We.dispose(),Oi==null||Oi.dispose(),De==null||De.dispose();const xe=((xt=(mt=l(Ce))==null?void 0:mt.model)==null?void 0:xt.getValue())??"";We=dr.createModel(xe,"javascript"),Oi=dr.createModel(X,"javascript"),De=dr.createDiffEditor(l(di),{theme:pf(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),De.setModel({original:We,modified:Oi})}vs(()=>{l(u),x(Qe,!1),x(dt,!1)});async function Us(){if(l(ht)===null||!l(u))return;const X=l(ht);x(ht,null);const xe=l(d).find(mt=>mt.path===l(u));xe!=null&&xe.model&&(Z=!0,xe.model.setValue(X),Z=!1,xe.dirty=!1,xe.savedContent=X);try{await xc(l(u),X),x(g,""),l(E)?await jt([l(u)],`update ${l(u)}`):Ct()}catch(mt){x(g,mt.message,!0)}lr()}function xs(){x(ht,null),lr()}function lr(){De==null||De.dispose(),De=null,We==null||We.dispose(),We=null,Oi==null||Oi.dispose(),Oi=null}var tc=FZ();Ns("keydown",Kd,an),Ns("mousemove",Kd,ls),Ns("mouseup",Kd,is);var ic=lt(tc);Bs(hl(ic,{}),X=>fe=X,()=>fe);var _h=v(ic,2);Bs(OF(_h,{}),X=>_e=X,()=>_e);var nc=v(_h,2);{var pd=X=>{var xe=yK(),mt=lt(xe),xt=v(mt,2);let at;var hi=m(xt);{var $i=Wi=>{var dn=bK(),hn=lt(dn),In=v(hn,2),vn=v(In,4),$n=v(vn,2);z("click",hn,()=>It(l(s).entry.path)),z("click",In,()=>ui(l(s).entry.path)),z("click",vn,()=>Kt(l(s).entry)),z("click",$n,()=>Li(l(s).entry)),D(Wi,dn)},On=Wi=>{var dn=EK(),hn=lt(dn),In=v(hn,2),vn=v(In,2),$n=v(vn,2);{var Vn=ln=>{var Hn=CK();z("click",Hn,()=>ii(l(s).entry)),D(ln,Hn)};N($n,ln=>{l(b)&&ln(Vn)})}var jn=v($n,4);z("click",hn,()=>qt(l(s).entry.path)),z("click",In,()=>Kt(l(s).entry)),z("click",vn,()=>Yi(l(s).entry)),z("click",jn,()=>Li(l(s).entry)),D(Wi,dn)};N(hi,Wi=>{l(s).entry.type==="dir"?Wi($i):Wi(On,-1)})}W(()=>at=Io(xt,"",at,{left:`${l(s).x??""}px`,top:`${l(s).y??""}px`})),z("click",mt,bt),z("contextmenu",mt,Wi=>{Wi.preventDefault(),bt()}),D(X,xe)};N(nc,X=>{l(s)&&X(pd)})}var bh=v(nc,2);{var N0=X=>{var xe=wK();let mt;W(()=>mt=Io(xe,"",mt,{left:`${l(Yt).x??""}px`,top:`${l(Yt).y-4}px`})),D(X,xe)};N(bh,X=>{l(Yt)&&X(N0)})}var sc=v(bh,2),xd=m(sc);let oc;{const X=(xt,at=db,hi)=>{let $i=o9(()=>XL(hi==null?void 0:hi(),!1));var On=Hs(),Wi=lt(On);{var dn=In=>{var vn=DK(),$n=m(vn);let Vn;var jn=m($n);let ln;var Hn=v(jn,2);let cs;var ho=m(Hn),us=v(Hn,2);{var Kn=Bn=>{var ks=O2();D(Bn,ks)},Es=Ft(()=>l(Ze).has(at().path)||l(Et).has(at().path));N(us,Bn=>{l(Es)&&Bn(Kn)})}var es=v(us,2),hs=m(es),Pn=v(es,2),fs=m(Pn),ts=v($n,2);{var Zn=Bn=>{var ks=SK();ti(ks,21,()=>at().children,Rs=>Rs.path,(Rs,po)=>{X(Rs,()=>l(po),()=>at().disabled||l($i))}),D(Bn,ks)};N(ts,Bn=>{l(i)[at().path]&&at().children&&Bn(Zn)})}W(()=>{Vn=At($n,1,"dir-row svelte-1pyfjii",null,Vn,{"dir-selected":l(n)===at().path,"drag-target":l(a)===at().path}),fn($n,"aria-selected",l(n)===at().path),ln=At(jn,1,"chevron svelte-1pyfjii",null,ln,{open:l(i)[at().path]}),cs=At(Hn,1,"dir-name svelte-1pyfjii",null,cs,{lib:at().lib}),O(ho,at().name),vr(hs,at().lib),vr(fs,at().disabled)}),Ns("dragstart",$n,Bn=>An(Bn,at().path)),Ns("dragover",$n,Bn=>yi(Bn,at().path)),Ns("dragleave",$n,Ci),Ns("drop",$n,Bn=>En(Bn,at().path)),z("contextmenu",$n,Bn=>qe(Bn,at())),z("click",jn,()=>Le(at().path)),z("click",Hn,()=>{x(n,at().path,!0),l(i)[at().path]=!0}),z("keydown",Hn,Bn=>Bn.key==="Enter"&&x(n,at().path,!0)),Ns("mouseenter",es,Fi),Ns("mouseleave",es,fi),z("change",hs,()=>gt(at().path,!at().lib)),z("change",fs,()=>pt(at().path,!at().disabled)),D(In,vn)},hn=In=>{const vn=Ft(()=>l(ge).has(at().path)),$n=Ft(()=>l(Ze).has(at().path)),Vn=Ft(()=>l(d).some(_=>_.path===at().path&&_.dirty)),jn=Ft(()=>(at().name.split(".").pop()??"txt").toUpperCase()),ln=Ft(()=>at().name.endsWith(".js"));var Hn=IK();let cs;var ho=m(Hn),us=m(ho);let Kn;var Es=m(us);let es;var hs=m(Es),Pn=v(Es,2),fs=m(Pn),ts=v(Pn,2);{var Zn=_=>{var y=O2();D(_,y)};N(ts,_=>{l($n)&&_(Zn)})}var Bn=v(ts);{var ks=_=>{var y=AK();D(_,y)};N(Bn,_=>{l(Vn)&&_(ks)})}var Rs=v(Bn,2);{var po=_=>{var y=kK();D(_,y)},Sr=Ft(()=>l(ln)&&l(de).has(at().path)&&!l(vn));N(Rs,_=>{l(Sr)&&_(po)})}var qs=v(Rs,2);{var ns=_=>{var y=BK();D(_,y)};N(qs,_=>{l(vn)&&_(ns)})}var zs=v(us,2);{var c=_=>{var y=FK();let k;var H=m(y);W(()=>{k=At(y,1,"dis-label svelte-1pyfjii",null,k,{"dis-locked":l($i)}),fn(y,"title",l($i)?"Disabled by parent directory":"Disable — this script will not be executed"),vr(H,at().disabled),H.disabled=l($i)}),z("change",H,()=>pt(at().path,!at().disabled)),D(_,y)},h=_=>{var y=LK();D(_,y)};N(zs,_=>{l(ln)?_(c):_(h,-1)})}W((_,y,k)=>{cs=At(Hn,1,"tree-file svelte-1pyfjii",null,cs,_),Kn=At(us,1,"svelte-1pyfjii",null,Kn,{lib:at().lib,dis:at().disabled,err:l(vn)}),es=At(Es,1,`badge badge-${y??""}`,"svelte-1pyfjii",es,{"badge-shelib":at().lib}),O(hs,k),O(fs,at().name)},[()=>({active:l(d).some(_=>_.path===at().path),"active-tab":at().path===l(u)}),()=>l(jn).toLowerCase(),()=>Pe(l(jn))]),Ns("dragstart",Hn,_=>An(_,at().path)),z("contextmenu",Hn,_=>qe(_,at())),z("click",us,()=>qt(at().path)),D(In,Hn)};N(Wi,In=>{at().type==="dir"?In(dn):In(hn,-1)})}D(xt,On)};var vd=m(xd),Ms=m(vd),wr=v(Ms,2),rc=v(wr,2);let xe;var Ia=v(rc,2),Bo=v(vd,2);{var Ch=xt=>{var at=PK(),hi=m(at);W(()=>O(hi,l(g))),D(xt,at)};N(Bo,xt=>{l(g)&&xt(Ch)})}var ac=v(Bo,2);{var Eh=xt=>{var at=GK(),hi=m(at),$i=m(hi);let On;var Wi=v($i,2);let dn;var hn=v(Wi,2),In=v(hi,2),vn=m(In);Bs(vn,Pn=>x(ut,Pn),()=>l(ut));var $n=v(vn,2);{var Vn=Pn=>{var fs=TK(),ts=lt(fs);let Zn;var Bn=v(ts,2);let ks;var Rs=v(Bn,2);let po;W(()=>{Zn=At(ts,1,"svelte-1pyfjii",null,Zn,{active:l(Ne)}),ks=At(Bn,1,"svelte-1pyfjii",null,ks,{active:l(Ee)}),po=At(Rs,1,"svelte-1pyfjii",null,po,{active:l(it)})}),z("click",ts,()=>{x(Ne,!l(Ne)),Pi()}),z("click",Bn,()=>{x(Ee,!l(Ee)),Pi()}),z("click",Rs,()=>x(it,!l(it))),D(Pn,fs)};N($n,Pn=>{l(me)==="text"&&Pn(Vn)})}var jn=v(In,2);{var ln=Pn=>{var fs=MK(),ts=m(fs),Zn=v(ts,2),Bn=m(Zn);W(ks=>{Zn.disabled=ks,O(Bn,l(oi)?"…":"Preview")},[()=>!l(Me).trim()||l(et).length===0||l(oi)]),Dt(ts,()=>l(Lt),ks=>x(Lt,ks)),z("click",Zn,sn),D(Pn,fs)};N(jn,Pn=>{l(me)==="text"&&l(it)&&Pn(ln)})}var Hn=v(jn,2),cs=m(Hn);{var ho=Pn=>{var fs=RK();D(Pn,fs)},us=Pn=>{var fs=NK(),ts=m(fs);W(()=>O(ts,l(Je))),D(Pn,fs)},Kn=Pn=>{var fs=Hs(),ts=lt(fs);{var Zn=ks=>{var Rs=Hs(),po=lt(Rs);{var Sr=ns=>{var zs=OK();D(ns,zs)},qs=ns=>{var zs=qC(),c=lt(zs);{var h=y=>{var k=HK();D(y,k)};N(c,y=>{l(be)&&y(h)})}var _=v(c,2);ti(_,17,()=>l(et),Ri,(y,k)=>{var H=zK(),ne=m(H),Be=m(ne),Ge=m(Be),Mt=v(Be,2),zi=m(Mt),yn=v(ne,2);ti(yn,17,()=>l(k).matches,Ri,(Xn,Co)=>{var oo=WK(),Yo=m(oo),Vo=m(Yo),uc=v(Yo,2),qb=m(uc);W(()=>{O(Vo,l(Co).line),O(qb,l(Co).preview)}),z("click",oo,()=>ki(l(k).path,l(Co))),D(Xn,oo)}),W(()=>{O(Ge,l(k).path),O(zi,l(k).matches.length)}),z("click",ne,()=>qt(l(k).path)),D(y,H)}),D(ns,zs)};N(po,ns=>{l(et).length===0?ns(Sr):ns(qs,-1)})}D(ks,Rs)},Bn=ks=>{var Rs=Hs(),po=lt(Rs);{var Sr=ns=>{var zs=VK();D(ns,zs)},qs=ns=>{var zs=qC(),c=lt(zs);{var h=y=>{var k=jK();D(y,k)};N(c,y=>{l(be)&&y(h)})}var _=v(c,2);ti(_,17,()=>l(St),Ri,(y,k)=>{var H=$K(),ne=m(H),Be=m(ne);W(()=>O(Be,l(k))),z("click",H,()=>qt(l(k))),D(y,H)}),D(ns,zs)};N(po,ns=>{l(St).length===0?ns(Sr):ns(qs,-1)})}D(ks,Rs)};N(ts,ks=>{l(me)==="text"?ks(Zn):ks(Bn,-1)})}D(Pn,fs)},Es=Ft(()=>l(Me).trim());N(cs,Pn=>{l(ke)?Pn(ho):l(Je)?Pn(us,1):l(Es)&&Pn(Kn,2)})}var es=v(Hn,2);{var hs=Pn=>{var fs=qK(),ts=m(fs),Zn=m(ts),Bn=m(Zn),ks=v(Zn,2),Rs=m(ks),po=v(Rs,2),Sr=v(ts,2);ti(Sr,21,()=>l(ct),Ri,(qs,ns,zs)=>{var c=UK(),h=m(c),_=v(h,4),y=m(_),k=v(_,2),H=m(k);W(()=>{O(y,l(ns).path),O(H,`${l(ns).changes??""}×`)}),Os(h,()=>l(ns).checked,ne=>l(ns).checked=ne),D(qs,c)}),W((qs,ns)=>{O(Bn,`Replace in ${qs??""} file(s)`),Rs.disabled=ns},[()=>l(ct).filter(qs=>qs.checked).length,()=>l(ct).filter(qs=>qs.checked).length===0]),z("click",Rs,pn),z("click",po,()=>x(kt,!1)),D(Pn,fs)};N(es,Pn=>{l(kt)&&Pn(hs)})}W(()=>{On=At($i,1,"svelte-1pyfjii",null,On,{active:l(me)==="text"}),dn=At(Wi,1,"svelte-1pyfjii",null,dn,{active:l(me)==="files"}),fn(vn,"placeholder",l(me)==="text"?"Find in files…":"Find files…")}),z("click",$i,()=>{x(me,"text"),Pi()}),z("click",Wi,()=>{x(me,"files"),Pi()}),z("click",hn,$t),z("input",vn,Pi),z("keydown",vn,Pn=>Pn.key==="Escape"&&$t()),Dt(vn,()=>l(Me),Pn=>x(Me,Pn)),D(xt,at)};N(ac,xt=>{l(He)&&xt(Eh)})}var lc=v(ac,2),ra=m(lc);let mt;var O0=v(ra,2);ti(O0,17,()=>l(t),xt=>xt.path,(xt,at)=>{X(xt,()=>l(at))});var yh=v(lc,2);{var wh=xt=>{var at=QK();let hi;var $i=m(at),On=v($i,2),Wi=m(On),dn=m(Wi),hn=v(Wi,2),In=v(On,2),vn=m(In);{var $n=ln=>{var Hn=KK();D(ln,Hn)},Vn=ln=>{var Hn=ZK();D(ln,Hn)},jn=ln=>{var Hn=qC(),cs=lt(Hn);ti(cs,17,()=>l(I),Kn=>Kn.hash,(Kn,Es)=>{var es=XK(),hs=m(es),Pn=m(hs),fs=v(hs,2),ts=m(fs);W((Zn,Bn)=>{O(Pn,l(Es).subject),O(ts,`${Zn??""} · ${Bn??""}`)},[()=>l(Es).hash.slice(0,7),()=>wt(l(Es).date)]),z("click",es,()=>Di(l(Es))),D(Kn,es)});var ho=v(cs,2);{var us=Kn=>{var Es=YK(),es=m(Es);W(()=>{Es.disabled=l(T),O(es,l(T)?"Loading…":"Load more")}),z("click",Es,Gt),D(Kn,Es)};N(ho,Kn=>{l(I).length>=l(M)&&Kn(us)})}D(ln,Hn)};N(vn,ln=>{l(T)&&l(I).length===0?ln($n):l(I).length===0?ln(Vn,1):ln(jn,-1)})}W(()=>{hi=Io(at,"",hi,{height:`${l(Ke)??""}px`}),fn(Wi,"title",l(A).path),O(dn,`History: ${l(A).name??""}`)}),z("mousedown",$i,Ln),z("click",hn,Xt),D(xt,at)};N(yh,xt=>{l(A)&&xt(wh)})}W(()=>{xe=At(rc,1,"search-toggle svelte-1pyfjii",null,xe,{active:l(He)}),mt=At(ra,1,"tree-root-drop svelte-1pyfjii",null,mt,{"drag-target":l(a)===""})}),z("click",Ms,qi),z("click",wr,Ji),z("click",rc,()=>l(He)?$t():ci("text")),z("click",Ia,yt),Ns("dragover",ra,xt=>yi(xt,"")),Ns("dragleave",ra,Ci),Ns("drop",ra,xt=>En(xt,""))}var Sh=v(xd,2),bo=v(Sh,2),fl=m(bo);{var Vb=X=>{var xe=tZ(),mt=m(xe),xt=v(mt,2);ti(xt,21,()=>l(d),hi=>hi.path,(hi,$i)=>{var On=eZ();let Wi;var dn=m(On),hn=m(dn),In=v(dn,2);{var vn=Vn=>{var jn=JK();D(Vn,jn)};N(In,Vn=>{l($i).dirty&&Vn(vn)})}var $n=v(In,2);W(Vn=>{Wi=At(On,1,"tab svelte-1pyfjii",null,Wi,{active:l($i).path===l(u)}),fn(On,"data-tab-path",l($i).path),O(hn,Vn)},[()=>l($i).path.split("/").pop()]),z("click",On,()=>rt(l($i).path)),z("keydown",On,Vn=>Vn.key==="Enter"&&rt(l($i).path)),z("click",$n,Vn=>{Vn.stopPropagation(),st(l($i).path)}),D(hi,On)}),Bs(xt,hi=>x(ri,hi),()=>l(ri));var at=v(xt,2);W(()=>{mt.disabled=!l(vt),at.disabled=!l(li)}),z("click",mt,()=>Pt(-1)),Ns("scroll",xt,ye),Ns("wheel",xt,hi=>{hi.preventDefault(),l(ri).scrollLeft+=hi.deltaY,ye()}),z("click",at,()=>Pt(1)),D(X,xe)};N(fl,X=>{l(d).length>0&&X(Vb)})}var Rr=v(fl,2),fx=m(Rr),cc=m(fx),gx=v(fx,2);{var md=X=>{var xe=cZ(),mt=m(xe),xt=m(mt),at=v(mt,2);{var hi=hn=>{var In=oZ(),vn=m(In),$n=m(vn),Vn=v(vn,2);{var jn=ln=>{var Hn=sZ(),cs=lt(Hn),ho=v(cs,2),us=v(m(ho),2);ti(us,21,()=>l(b).changes,Ri,(ts,Zn)=>{var Bn=iZ(),ks=m(Bn),Rs=m(ks),po=v(ks,2),Sr=m(po),qs=v(po,2),ns=m(qs);W(zs=>{vr(Rs,zs),O(Sr,l(Zn).status),O(ns,l(Zn).file)},[()=>l(ie).has(l(Zn).file)]),z("change",Rs,()=>{const zs=new Set(l(ie));zs.has(l(Zn).file)?zs.delete(l(Zn).file):zs.add(l(Zn).file),x(ie,zs,!0)}),D(ts,Bn)});var Kn=v(us,2),Es=m(Kn),es=v(Es,2),hs=m(es),Pn=v(Kn,2);{var fs=ts=>{var Zn=nZ(),Bn=m(Zn);W(()=>O(Bn,l(Y))),D(ts,Zn)};N(Pn,ts=>{l(Y)&&ts(fs)})}W(ts=>{var Zn;es.disabled=ts,O(hs,l(G)?"…":l(ie).size===((Zn=l(b))==null?void 0:Zn.changes.length)?"Commit all":`Commit ${l(ie).size}`)},[()=>!l(R).trim()||l(G)||l(ie).size===0]),z("click",cs,()=>x($,!1)),z("keydown",Es,ts=>ts.key==="Enter"&&se()),Dt(Es,()=>l(R),ts=>x(R,ts)),z("click",es,se),D(ln,Hn)};N(Vn,ln=>{l($)&&ln(jn)})}W(()=>{fn(vn,"title",`${l(b).changes.length??""} uncommitted change(s) — click to view`),O($n,`✎${l(b).changes.length??""}`)}),z("click",vn,()=>{l($)||x(ie,new Set(l(b).changes.map(ln=>ln.file)),!0),x($,!l($)),x(Y,"")}),D(hn,In)};N(at,hn=>{l(b).changes.length>0&&hn(hi)})}var $i=v(at,2);{var On=hn=>{var In=aZ(),vn=m(In),$n=m(vn),Vn=v(vn,2);{var jn=ln=>{var Hn=rZ(),cs=lt(Hn),ho=v(cs,2),us=m(ho),Kn=m(us),Es=v(us,2),es=m(Es);W(()=>O(Kn,`${l(b).ahead??""} unpushed commit(s)`)),z("click",cs,()=>x(q,!1)),z("click",es,()=>{x(q,!1),ze()}),D(ln,Hn)};N(Vn,ln=>{l(q)&&ln(jn)})}W(()=>{fn(vn,"title",`${l(b).ahead??""} commit(s) ahead of upstream — click to push`),O($n,`↑${l(b).ahead??""}`)}),z("click",vn,()=>x(q,!l(q))),D(hn,In)};N($i,hn=>{l(b).ahead>0&&hn(On)})}var Wi=v($i,2);{var dn=hn=>{var In=lZ(),vn=m(In);W(()=>{fn(In,"title",`${l(b).behind??""} commit(s) behind upstream`),O(vn,`↓${l(b).behind??""}`)}),D(hn,In)};N(Wi,hn=>{l(b).behind>0&&hn(dn)})}W(()=>{fn(mt,"title",`Branch: ${l(b).branch??""}`),O(xt,`⎇ ${l(b).branch??""}`)}),D(X,xe)};N(gx,X=>{l(b)&&X(md)})}var H0=v(gx,2),_d=m(H0),Dh=m(_d),Pa=m(Dh),bd=v(Dh,2),jb=v(_d,2);{var W0=X=>{var xe=dZ(),mt=lt(xe),xt=v(mt,2),at=m(xt),hi=v(at,2);z("click",mt,()=>x(p,!1)),z("click",at,()=>{x(p,!1),Tt()}),z("click",hi,()=>{x(p,!1),ni()}),D(X,xe)};N(jb,X=>{l(p)&&X(W0)})}var px=v(H0,2);{var aa=X=>{var xe=uZ();z("click",xe,Mi),D(X,xe)};N(px,X=>{l(u)&&X(aa)})}var z0=v(px,2);let gl;var $b=v(Rr,2),Nr=m($b),Cd=m(Nr),V0=m(Cd);Bs(V0,X=>ji=X,()=>ji);var Ah=v(V0,2);{var kh=X=>{var xe=hZ();D(X,xe)};N(Ah,X=>{l(u)||X(kh)})}var Bh=v(Ah,2);{var Fh=X=>{var xe=xZ(),mt=m(xe),xt=m(mt),at=v(m(xt)),hi=m(at),$i=v(xt,2),On=m($i),Wi=m(On),dn=m(Wi),hn=m(dn),In=v(dn,2),vn=v(Wi,2);{var $n=ln=>{var Hn=pZ(),cs=lt(Hn),ho=v(cs,2),us=m(ho);{var Kn=es=>{var hs=fZ();z("click",hs,()=>{x(dt,!1),x(Qe,!0),Us()}),D(es,hs)},Es=es=>{var hs=gZ();z("click",hs,()=>{x(dt,!1),x(Qe,!1)}),D(es,hs)};N(us,es=>{l(Qe)?es(Es,-1):es(Kn)})}z("click",cs,()=>x(dt,!1)),D(ln,Hn)};N(vn,ln=>{l(dt)&&ln($n)})}var Vn=v(On,2),jn=v(mt,2);Bs(jn,ln=>x(di,ln),()=>l(di)),W(ln=>{O(hi,ln),O(hn,l(Qe)?"Auto-accept ✓":"Accept")},[()=>{var ln;return(ln=l(u))==null?void 0:ln.split("/").pop()}]),z("click",dn,Us),z("click",In,()=>x(dt,!l(dt))),z("click",Vn,xs),D(X,xe)};N(Bh,X=>{l(ht)!==null&&X(Fh)})}var dc=v(Bh,2);{var Lh=X=>{var xe=_Z(),mt=m(xe),xt=m(mt),at=v(m(xt)),hi=m(at),$i=v(at,2),On=m($i),Wi=v(xt,2),dn=m(Wi),hn=v(mt,2);{var In=$n=>{var Vn=vZ();D($n,Vn)},vn=$n=>{var Vn=mZ();Bs(Vn,jn=>x(P,jn),()=>l(P)),D($n,Vn)};N(hn,$n=>{l(re)?$n(In):$n(vn,-1)})}W($n=>{var Vn;O(hi,$n),O(On,(Vn=l(A))==null?void 0:Vn.name)},[()=>l(le).slice(0,7)]),z("click",dn,Zi),D(X,xe)};N(dc,X=>{l(oe)&&X(Lh)})}var j0=v(Cd,2);{var xx=X=>{var xe=kZ();let mt,xt;var at=m(xe);{var hi=jn=>{var ln=bZ();z("mousedown",ln,en),D(jn,ln)};N(at,jn=>{l(C)&&jn(hi)})}var $i=v(at,2),On=m($i),Wi=m(On),dn=v(Wi);{var hn=jn=>{var ln=CZ(),Hn=m(ln);W(cs=>O(Hn,`— ${cs??""}`),[()=>l(u).split("/").pop()]),D(jn,ln)};N(dn,jn=>{l(u)&&jn(hn)})}var In=v(On,2);{var vn=jn=>{var ln=yZ(),Hn=lt(ln);ti(Hn,21,()=>bi,Ri,(hs,Pn)=>{var fs=EZ(),ts=m(fs),Zn={};W(()=>{O(ts,l(Pn)),Zn!==(Zn=l(Pn))&&(fs.value=(fs.__value=l(Pn))??"")}),D(hs,fs)});var cs=v(Hn,2),ho=v(cs,2),us=m(ho),Kn=v(ho,2),Es=m(Kn),es=v(Kn,2);Ks(Hn,()=>l(ft),hs=>x(ft,hs)),Dt(cs,()=>l(Qt),hs=>x(Qt,hs)),Os(us,()=>l(Ti),hs=>x(Ti,hs)),Os(Es,()=>l(Bi),hs=>x(Bi,hs)),z("click",es,Wn),D(jn,ln)};N(In,jn=>{l(C)&&jn(vn)})}var $n=v($i,2);{var Vn=jn=>{var ln=AZ(),Hn=m(ln);ti(Hn,17,()=>{var us;return(((us=l(Ce))==null?void 0:us.logEntries)??[]).filter($e)},Ri,(us,Kn)=>{var Es=SZ(),es=m(Es),hs=m(es),Pn=v(es,2),fs=m(Pn),ts=v(Pn,2);ti(ts,21,()=>RF(l(Kn).msg,l(Cn)),Ri,(Zn,Bn)=>{var ks=Hs(),Rs=lt(ks);{var po=qs=>{const ns=Ft(()=>l(Bn).link);var zs=wZ(),c=m(zs);W(()=>{fn(zs,"title",`Open ${l(ns).path??""}${l(ns).line?` at line ${l(ns).line}`:""}`),O(c,l(Bn).text)}),z("click",zs,()=>kn(l(ns).path,l(ns).line,l(ns).column)),D(qs,zs)},Sr=qs=>{var ns=mo();W(()=>O(ns,l(Bn).text)),D(qs,ns)};N(Rs,qs=>{l(Bn).link?qs(po):qs(Sr,-1)})}D(Zn,ks)}),W((Zn,Bn)=>{At(Es,1,`log-line ${l(Kn).level??""}`,"svelte-1pyfjii"),O(hs,Zn),O(fs,Bn)},[()=>uS(l(Kn).ts),()=>l(Kn).level.toUpperCase()]),D(us,Es)});var cs=v(Hn,2);{var ho=us=>{var Kn=DZ();D(us,Kn)};N(cs,us=>{var Kn;(((Kn=l(Ce))==null?void 0:Kn.logEntries.length)??0)===0&&us(ho)})}Bs(ln,us=>x(ce,us),()=>l(ce)),D(jn,ln)};N($n,jn=>{l(C)&&jn(Vn)})}W(()=>{mt=At(xe,1,"log-panel svelte-1pyfjii",null,mt,{collapsed:!l(C)}),xt=Io(xe,"",xt,{height:l(C)?`${l(Ki)}px`:"26px"}),O(Wi,`${l(C)?"▾":"▸"} Script Log `)}),z("click",On,Ui),D(X,xe)};N(j0,X=>{l(d).length>0&&X(xx)})}var Ub=v(Nr,2);{var Ih=X=>{var xe=BZ(),mt=lt(xe),xt=v(mt,2);let at;var hi=m(xt);rK(hi,{get currentScript(){return l(nt)},onApply:Ys,onCreateFile:zn,get extraFiles(){return l(we)},set extraFiles($i){x(we,$i,!0)}}),W(()=>at=Io(xt,"",at,{width:`${l(ue)??""}px`})),z("mousedown",mt,un),D(X,xe)};N(Ub,X=>{l(Jt)&&X(Ih)})}W(()=>{var X;oc=Io(xd,"",oc,{width:`${l(on)??""}px`}),O(cc,l(u)??"No file selected"),Dh.disabled=!((X=l(Ce))!=null&&X.dirty)||l(f),O(Pa,l(f)?"Saving…":"Save"),bd.disabled=!l(u),gl=At(z0,1,"ai-toggle svelte-1pyfjii",null,gl,{"ai-open":l(Jt)}),fn(z0,"title",l(Jt)?"Close AI assistant":"Open AI assistant")}),z("keydown",sc,wn),z("mousedown",Sh,Jn),z("click",Dh,Tt),z("click",bd,()=>x(p,!l(p))),z("click",z0,()=>x(Jt,!l(Jt))),D(o,tc),eo()}uo(["click","contextmenu","keydown","change","input","mousedown"]);var vg={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 IZ=vg.exports,H2;function PZ(){return H2||(H2=1,(function(o,e){(function(t,i){i(e)})(IZ,(function(t){var i="1.9.4";function n(c){var h,_,y,k;for(_=1,y=arguments.length;_<y;_++){k=arguments[_];for(h in k)c[h]=k[h]}return c}var s=Object.create||(function(){function c(){}return function(h){return c.prototype=h,new c}})();function r(c,h){var _=Array.prototype.slice;if(c.bind)return c.bind.apply(c,_.call(arguments,1));var y=_.call(arguments,2);return function(){return c.apply(h,y.length?y.concat(_.call(arguments)):arguments)}}var a=0;function d(c){return"_leaflet_id"in c||(c._leaflet_id=++a),c._leaflet_id}function u(c,h,_){var y,k,H,ne;return ne=function(){y=!1,k&&(H.apply(_,k),k=!1)},H=function(){y?k=arguments:(c.apply(_,arguments),setTimeout(ne,h),y=!0)},H}function f(c,h,_){var y=h[1],k=h[0],H=y-k;return c===y&&_?c:((c-k)%H+H)%H+k}function g(){return!1}function p(c,h){if(h===!1)return c;var _=Math.pow(10,h===void 0?6:h);return Math.round(c*_)/_}function C(c){return c.trim?c.trim():c.replace(/^\s+|\s+$/g,"")}function b(c){return C(c).split(/\s+/)}function E(c,h){Object.prototype.hasOwnProperty.call(c,"options")||(c.options=c.options?s(c.options):{});for(var _ in h)c.options[_]=h[_];return c.options}function w(c,h,_){var y=[];for(var k in c)y.push(encodeURIComponent(_?k.toUpperCase():k)+"="+encodeURIComponent(c[k]));return(!h||h.indexOf("?")===-1?"?":"&")+y.join("&")}var A=/\{ *([\w_ -]+) *\}/g;function I(c,h){return c.replace(A,function(_,y){var k=h[y];if(k===void 0)throw new Error("No value provided for variable "+_);return typeof k=="function"&&(k=k(h)),k})}var T=Array.isArray||function(c){return Object.prototype.toString.call(c)==="[object Array]"};function M(c,h){for(var _=0;_<c.length;_++)if(c[_]===h)return _;return-1}var P="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function j(c){return window["webkit"+c]||window["moz"+c]||window["ms"+c]}var U=0;function Q(c){var h=+new Date,_=Math.max(0,16-(h-U));return U=h+_,window.setTimeout(c,_)}var oe=window.requestAnimationFrame||j("RequestAnimationFrame")||Q,le=window.cancelAnimationFrame||j("CancelAnimationFrame")||j("CancelRequestAnimationFrame")||function(c){window.clearTimeout(c)};function re(c,h,_){if(_&&oe===Q)c.call(h);else return oe.call(window,r(c,h))}function ce(c){c&&le.call(window,c)}var ge={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:d,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:C,splitWords:b,setOptions:E,getParamString:w,template:I,isArray:T,indexOf:M,emptyImageUrl:P,requestFn:oe,cancelFn:le,requestAnimFrame:re,cancelAnimFrame:ce};function te(){}te.extend=function(c){var h=function(){E(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},_=h.__super__=this.prototype,y=s(_);y.constructor=h,h.prototype=y;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(h[k]=this[k]);return c.statics&&n(h,c.statics),c.includes&&(de(c.includes),n.apply(null,[y].concat(c.includes))),n(y,c),delete y.statics,delete y.includes,y.options&&(y.options=_.options?s(_.options):{},n(y.options,c.options)),y._initHooks=[],y.callInitHooks=function(){if(!this._initHooksCalled){_.callInitHooks&&_.callInitHooks.call(this),this._initHooksCalled=!0;for(var H=0,ne=y._initHooks.length;H<ne;H++)y._initHooks[H].call(this)}},h},te.include=function(c){var h=this.prototype.options;return n(this.prototype,c),c.options&&(this.prototype.options=h,this.mergeOptions(c.options)),this},te.mergeOptions=function(c){return n(this.prototype.options,c),this},te.addInitHook=function(c){var h=Array.prototype.slice.call(arguments,1),_=typeof c=="function"?c:function(){this[c].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(_),this};function de(c){if(!(typeof L>"u"||!L||!L.Mixin)){c=T(c)?c:[c];for(var h=0;h<c.length;h++)c[h]===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 we={on:function(c,h,_){if(typeof c=="object")for(var y in c)this._on(y,c[y],h);else{c=b(c);for(var k=0,H=c.length;k<H;k++)this._on(c[k],h,_)}return this},off:function(c,h,_){if(!arguments.length)delete this._events;else if(typeof c=="object")for(var y in c)this._off(y,c[y],h);else{c=b(c);for(var k=arguments.length===1,H=0,ne=c.length;H<ne;H++)k?this._off(c[H]):this._off(c[H],h,_)}return this},_on:function(c,h,_,y){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(c,h,_)===!1){_===this&&(_=void 0);var k={fn:h,ctx:_};y&&(k.once=!0),this._events=this._events||{},this._events[c]=this._events[c]||[],this._events[c].push(k)}},_off:function(c,h,_){var y,k,H;if(this._events&&(y=this._events[c],!!y)){if(arguments.length===1){if(this._firingCount)for(k=0,H=y.length;k<H;k++)y[k].fn=g;delete this._events[c];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var ne=this._listens(c,h,_);if(ne!==!1){var Be=y[ne];this._firingCount&&(Be.fn=g,this._events[c]=y=y.slice()),y.splice(ne,1)}}},fire:function(c,h,_){if(!this.listens(c,_))return this;var y=n({},h,{type:c,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var k=this._events[c];if(k){this._firingCount=this._firingCount+1||1;for(var H=0,ne=k.length;H<ne;H++){var Be=k[H],Ge=Be.fn;Be.once&&this.off(c,Ge,Be.ctx),Ge.call(Be.ctx||this,y)}this._firingCount--}}return _&&this._propagateEvent(y),this},listens:function(c,h,_,y){typeof c!="string"&&console.warn('"string" type argument expected');var k=h;typeof h!="function"&&(y=!!h,k=void 0,_=void 0);var H=this._events&&this._events[c];if(H&&H.length&&this._listens(c,k,_)!==!1)return!0;if(y){for(var ne in this._eventParents)if(this._eventParents[ne].listens(c,h,_,y))return!0}return!1},_listens:function(c,h,_){if(!this._events)return!1;var y=this._events[c]||[];if(!h)return!!y.length;_===this&&(_=void 0);for(var k=0,H=y.length;k<H;k++)if(y[k].fn===h&&y[k].ctx===_)return k;return!1},once:function(c,h,_){if(typeof c=="object")for(var y in c)this._on(y,c[y],h,!0);else{c=b(c);for(var k=0,H=c.length;k<H;k++)this._on(c[k],h,_,!0)}return this},addEventParent:function(c){return this._eventParents=this._eventParents||{},this._eventParents[d(c)]=c,this},removeEventParent:function(c){return this._eventParents&&delete this._eventParents[d(c)],this},_propagateEvent:function(c){for(var h in this._eventParents)this._eventParents[h].fire(c.type,n({layer:c.target,propagatedFrom:c.target},c),!0)}};we.addEventListener=we.on,we.removeEventListener=we.clearAllEventListeners=we.off,we.addOneTimeEventListener=we.once,we.fireEvent=we.fire,we.hasEventListeners=we.listens;var He=te.extend(we);function me(c,h,_){this.x=_?Math.round(c):c,this.y=_?Math.round(h):h}var Me=Math.trunc||function(c){return c>0?Math.floor(c):Math.ceil(c)};me.prototype={clone:function(){return new me(this.x,this.y)},add:function(c){return this.clone()._add(Ne(c))},_add:function(c){return this.x+=c.x,this.y+=c.y,this},subtract:function(c){return this.clone()._subtract(Ne(c))},_subtract:function(c){return this.x-=c.x,this.y-=c.y,this},divideBy:function(c){return this.clone()._divideBy(c)},_divideBy:function(c){return this.x/=c,this.y/=c,this},multiplyBy:function(c){return this.clone()._multiplyBy(c)},_multiplyBy:function(c){return this.x*=c,this.y*=c,this},scaleBy:function(c){return new me(this.x*c.x,this.y*c.y)},unscaleBy:function(c){return new me(this.x/c.x,this.y/c.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=Me(this.x),this.y=Me(this.y),this},distanceTo:function(c){c=Ne(c);var h=c.x-this.x,_=c.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(c){return c=Ne(c),c.x===this.x&&c.y===this.y},contains:function(c){return c=Ne(c),Math.abs(c.x)<=Math.abs(this.x)&&Math.abs(c.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function Ne(c,h,_){return c instanceof me?c:T(c)?new me(c[0],c[1]):c==null?c:typeof c=="object"&&"x"in c&&"y"in c?new me(c.x,c.y):new me(c,h,_)}function Ee(c,h){if(c)for(var _=h?[c,h]:c,y=0,k=_.length;y<k;y++)this.extend(_[y])}Ee.prototype={extend:function(c){var h,_;if(!c)return this;if(c instanceof me||typeof c[0]=="number"||"x"in c)h=_=Ne(c);else if(c=it(c),h=c.min,_=c.max,!h||!_)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=_.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(_.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(_.y,this.max.y)),this},getCenter:function(c){return Ne((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,c)},getBottomLeft:function(){return Ne(this.min.x,this.max.y)},getTopRight:function(){return Ne(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(c){var h,_;return typeof c[0]=="number"||c instanceof me?c=Ne(c):c=it(c),c instanceof Ee?(h=c.min,_=c.max):h=_=c,h.x>=this.min.x&&_.x<=this.max.x&&h.y>=this.min.y&&_.y<=this.max.y},intersects:function(c){c=it(c);var h=this.min,_=this.max,y=c.min,k=c.max,H=k.x>=h.x&&y.x<=_.x,ne=k.y>=h.y&&y.y<=_.y;return H&&ne},overlaps:function(c){c=it(c);var h=this.min,_=this.max,y=c.min,k=c.max,H=k.x>h.x&&y.x<_.x,ne=k.y>h.y&&y.y<_.y;return H&&ne},isValid:function(){return!!(this.min&&this.max)},pad:function(c){var h=this.min,_=this.max,y=Math.abs(h.x-_.x)*c,k=Math.abs(h.y-_.y)*c;return it(Ne(h.x-y,h.y-k),Ne(_.x+y,_.y+k))},equals:function(c){return c?(c=it(c),this.min.equals(c.getTopLeft())&&this.max.equals(c.getBottomRight())):!1}};function it(c,h){return!c||c instanceof Ee?c:new Ee(c,h)}function Lt(c,h){if(c)for(var _=h?[c,h]:c,y=0,k=_.length;y<k;y++)this.extend(_[y])}Lt.prototype={extend:function(c){var h=this._southWest,_=this._northEast,y,k;if(c instanceof St)y=c,k=c;else if(c instanceof Lt){if(y=c._southWest,k=c._northEast,!y||!k)return this}else return c?this.extend(be(c)||et(c)):this;return!h&&!_?(this._southWest=new St(y.lat,y.lng),this._northEast=new St(k.lat,k.lng)):(h.lat=Math.min(y.lat,h.lat),h.lng=Math.min(y.lng,h.lng),_.lat=Math.max(k.lat,_.lat),_.lng=Math.max(k.lng,_.lng)),this},pad:function(c){var h=this._southWest,_=this._northEast,y=Math.abs(h.lat-_.lat)*c,k=Math.abs(h.lng-_.lng)*c;return new Lt(new St(h.lat-y,h.lng-k),new St(_.lat+y,_.lng+k))},getCenter:function(){return new St((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 St(this.getNorth(),this.getWest())},getSouthEast:function(){return new St(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(c){typeof c[0]=="number"||c instanceof St||"lat"in c?c=be(c):c=et(c);var h=this._southWest,_=this._northEast,y,k;return c instanceof Lt?(y=c.getSouthWest(),k=c.getNorthEast()):y=k=c,y.lat>=h.lat&&k.lat<=_.lat&&y.lng>=h.lng&&k.lng<=_.lng},intersects:function(c){c=et(c);var h=this._southWest,_=this._northEast,y=c.getSouthWest(),k=c.getNorthEast(),H=k.lat>=h.lat&&y.lat<=_.lat,ne=k.lng>=h.lng&&y.lng<=_.lng;return H&&ne},overlaps:function(c){c=et(c);var h=this._southWest,_=this._northEast,y=c.getSouthWest(),k=c.getNorthEast(),H=k.lat>h.lat&&y.lat<_.lat,ne=k.lng>h.lng&&y.lng<_.lng;return H&&ne},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(c,h){return c?(c=et(c),this._southWest.equals(c.getSouthWest(),h)&&this._northEast.equals(c.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function et(c,h){return c instanceof Lt?c:new Lt(c,h)}function St(c,h,_){if(isNaN(c)||isNaN(h))throw new Error("Invalid LatLng object: ("+c+", "+h+")");this.lat=+c,this.lng=+h,_!==void 0&&(this.alt=+_)}St.prototype={equals:function(c,h){if(!c)return!1;c=be(c);var _=Math.max(Math.abs(this.lat-c.lat),Math.abs(this.lng-c.lng));return _<=(h===void 0?1e-9:h)},toString:function(c){return"LatLng("+p(this.lat,c)+", "+p(this.lng,c)+")"},distanceTo:function(c){return Je.distance(this,be(c))},wrap:function(){return Je.wrapLatLng(this)},toBounds:function(c){var h=180*c/40075017,_=h/Math.cos(Math.PI/180*this.lat);return et([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new St(this.lat,this.lng,this.alt)}};function be(c,h,_){return c instanceof St?c:T(c)&&typeof c[0]!="object"?c.length===3?new St(c[0],c[1],c[2]):c.length===2?new St(c[0],c[1]):null:c==null?c:typeof c=="object"&&"lat"in c?new St(c.lat,"lng"in c?c.lng:c.lon,c.alt):h===void 0?null:new St(c,h,_)}var ke={latLngToPoint:function(c,h){var _=this.projection.project(c),y=this.scale(h);return this.transformation._transform(_,y)},pointToLatLng:function(c,h){var _=this.scale(h),y=this.transformation.untransform(c,_);return this.projection.unproject(y)},project:function(c){return this.projection.project(c)},unproject:function(c){return this.projection.unproject(c)},scale:function(c){return 256*Math.pow(2,c)},zoom:function(c){return Math.log(c/256)/Math.LN2},getProjectedBounds:function(c){if(this.infinite)return null;var h=this.projection.bounds,_=this.scale(c),y=this.transformation.transform(h.min,_),k=this.transformation.transform(h.max,_);return new Ee(y,k)},infinite:!1,wrapLatLng:function(c){var h=this.wrapLng?f(c.lng,this.wrapLng,!0):c.lng,_=this.wrapLat?f(c.lat,this.wrapLat,!0):c.lat,y=c.alt;return new St(_,h,y)},wrapLatLngBounds:function(c){var h=c.getCenter(),_=this.wrapLatLng(h),y=h.lat-_.lat,k=h.lng-_.lng;if(y===0&&k===0)return c;var H=c.getSouthWest(),ne=c.getNorthEast(),Be=new St(H.lat-y,H.lng-k),Ge=new St(ne.lat-y,ne.lng-k);return new Lt(Be,Ge)}},Je=n({},ke,{wrapLng:[-180,180],R:6371e3,distance:function(c,h){var _=Math.PI/180,y=c.lat*_,k=h.lat*_,H=Math.sin((h.lat-c.lat)*_/2),ne=Math.sin((h.lng-c.lng)*_/2),Be=H*H+Math.cos(y)*Math.cos(k)*ne*ne,Ge=2*Math.atan2(Math.sqrt(Be),Math.sqrt(1-Be));return this.R*Ge}}),ut=6378137,ct={R:ut,MAX_LATITUDE:85.0511287798,project:function(c){var h=Math.PI/180,_=this.MAX_LATITUDE,y=Math.max(Math.min(_,c.lat),-_),k=Math.sin(y*h);return new me(this.R*c.lng*h,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(c){var h=180/Math.PI;return new St((2*Math.atan(Math.exp(c.y/this.R))-Math.PI/2)*h,c.x*h/this.R)},bounds:(function(){var c=ut*Math.PI;return new Ee([-c,-c],[c,c])})()};function kt(c,h,_,y){if(T(c)){this._a=c[0],this._b=c[1],this._c=c[2],this._d=c[3];return}this._a=c,this._b=h,this._c=_,this._d=y}kt.prototype={transform:function(c,h){return this._transform(c.clone(),h)},_transform:function(c,h){return h=h||1,c.x=h*(this._a*c.x+this._b),c.y=h*(this._c*c.y+this._d),c},untransform:function(c,h){return h=h||1,new me((c.x/h-this._b)/this._a,(c.y/h-this._d)/this._c)}};function oi(c,h,_,y){return new kt(c,h,_,y)}var vi=n({},Je,{code:"EPSG:3857",projection:ct,transformation:(function(){var c=.5/(Math.PI*ct.R);return oi(c,.5,-c,.5)})()}),ri=n({},vi,{code:"EPSG:900913"});function vt(c){return document.createElementNS("http://www.w3.org/2000/svg",c)}function li(c,h){var _="",y,k,H,ne,Be,Ge;for(y=0,H=c.length;y<H;y++){for(Be=c[y],k=0,ne=Be.length;k<ne;k++)Ge=Be[k],_+=(k?"L":"M")+Ge.x+" "+Ge.y;_+=h?We.svg?"z":"x":""}return _||"M0 0"}var Ie=document.documentElement.style,ye="ActiveXObject"in window,Pt=ye&&!document.addEventListener,ci="msLaunchUri"in navigator&&!("documentMode"in document),$t=De("webkit"),Pi=De("android"),Ni=De("android 2")||De("android 3"),ki=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),nn=Pi&&De("Google")&&ki<537&&!("AudioNode"in window),sn=!!window.opera,pn=!ci&&De("chrome"),wn=De("gecko")&&!$t&&!sn&&!ye,ft=!pn&&De("safari"),Qt=De("phantom"),Ti="OTransition"in Ie,Bi=navigator.platform.indexOf("Win")===0,bi=ye&&"transition"in Ie,bn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Ni,Cn="MozPerspective"in Ie,kn=!window.L_DISABLE_3D&&(bi||bn||Cn)&&!Ti&&!Qt,$e=typeof orientation<"u"||De("mobile"),Yt=$e&&$t,Fi=$e&&bn,fi=!window.PointerEvent&&window.MSPointerEvent,ji=!!(window.PointerEvent||fi),gi="ontouchstart"in window||!!window.TouchEvent,Gi=!window.L_NO_TOUCH&&(gi||ji),Z=$e&&sn,Se=$e&&wn,ot=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Ye=(function(){var c=!1;try{var h=Object.defineProperty({},"passive",{get:function(){c=!0}});window.addEventListener("testPassiveEventSupport",g,h),window.removeEventListener("testPassiveEventSupport",g,h)}catch{}return c})(),Wt=(function(){return!!document.createElement("canvas").getContext})(),Jt=!!(document.createElementNS&&vt("svg").createSVGRect),ht=!!Jt&&(function(){var c=document.createElement("div");return c.innerHTML="<svg/>",(c.firstChild&&c.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Qe=!Jt&&(function(){try{var c=document.createElement("div");c.innerHTML='<v:shape adj="1"/>';var h=c.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}})(),dt=navigator.platform.indexOf("Mac")===0,di=navigator.platform.indexOf("Linux")===0;function De(c){return navigator.userAgent.toLowerCase().indexOf(c)>=0}var We={ie:ye,ielt9:Pt,edge:ci,webkit:$t,android:Pi,android23:Ni,androidStock:nn,opera:sn,chrome:pn,gecko:wn,safari:ft,phantom:Qt,opera12:Ti,win:Bi,ie3d:bi,webkit3d:bn,gecko3d:Cn,any3d:kn,mobile:$e,mobileWebkit:Yt,mobileWebkit3d:Fi,msPointer:fi,pointer:ji,touch:Gi,touchNative:gi,mobileOpera:Z,mobileGecko:Se,retina:ot,passiveEvents:Ye,canvas:Wt,svg:Jt,vml:Qe,inlineSvg:ht,mac:dt,linux:di},Oi=We.msPointer?"MSPointerDown":"pointerdown",on=We.msPointer?"MSPointerMove":"pointermove",Ki=We.msPointer?"MSPointerUp":"pointerup",ue=We.msPointer?"MSPointerCancel":"pointercancel",Ke={touchstart:Oi,touchmove:on,touchend:Ki,touchcancel:ue},Bt={touchstart:pe,touchmove:ae,touchend:ae,touchcancel:ae},zt={},Fe=!1;function Ve(c,h,_){return h==="touchstart"&&V(),Bt[h]?(_=Bt[h].bind(this,_),c.addEventListener(Ke[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function Vt(c,h,_){if(!Ke[h]){console.warn("wrong event specified:",h);return}c.removeEventListener(Ke[h],_,!1)}function Ut(c){zt[c.pointerId]=c}function Zt(c){zt[c.pointerId]&&(zt[c.pointerId]=c)}function Rt(c){delete zt[c.pointerId]}function V(){Fe||(document.addEventListener(Oi,Ut,!0),document.addEventListener(on,Zt,!0),document.addEventListener(Ki,Rt,!0),document.addEventListener(ue,Rt,!0),Fe=!0)}function ae(c,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in zt)h.touches.push(zt[_]);h.changedTouches=[h],c(h)}}function pe(c,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&Kt(h),ae(c,h)}function ve(c){var h={},_,y;for(y in c)_=c[y],h[y]=_&&_.bind?_.bind(c):_;return c=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var nt=200;function Ze(c,h){c.addEventListener("dblclick",h);var _=0,y;function k(H){if(H.detail!==1){y=H.detail;return}if(!(H.pointerType==="mouse"||H.sourceCapabilities&&!H.sourceCapabilities.firesTouchEvents)){var ne=Li(H);if(!(ne.some(function(Ge){return Ge instanceof HTMLLabelElement&&Ge.attributes.for})&&!ne.some(function(Ge){return Ge instanceof HTMLInputElement||Ge instanceof HTMLSelectElement}))){var Be=Date.now();Be-_<=nt?(y++,y===2&&h(ve(H))):y=1,_=Be}}}return c.addEventListener("click",k),{dblclick:h,simDblclick:k}}function Et(c,h){c.removeEventListener("dblclick",h.dblclick),c.removeEventListener("click",h.simDblclick)}var $=yt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),q=yt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),R=q==="webkitTransition"||q==="OTransition"?q+"End":"transitionend";function G(c){return typeof c=="string"?document.getElementById(c):c}function Y(c,h){var _=c.style[h]||c.currentStyle&&c.currentStyle[h];if((!_||_==="auto")&&document.defaultView){var y=document.defaultView.getComputedStyle(c,null);_=y?y[h]:null}return _==="auto"?null:_}function ie(c,h,_){var y=document.createElement(c);return y.className=h||"",_&&_.appendChild(y),y}function se(c){var h=c.parentNode;h&&h.removeChild(c)}function fe(c){for(;c.firstChild;)c.removeChild(c.firstChild)}function _e(c){var h=c.parentNode;h&&h.lastChild!==c&&h.appendChild(c)}function Ce(c){var h=c.parentNode;h&&h.firstChild!==c&&h.insertBefore(c,h.firstChild)}function Oe(c,h){if(c.classList!==void 0)return c.classList.contains(h);var _=J(c);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function Re(c,h){if(c.classList!==void 0)for(var _=b(h),y=0,k=_.length;y<k;y++)c.classList.add(_[y]);else if(!Oe(c,h)){var H=J(c);ei(c,(H?H+" ":"")+h)}}function tt(c,h){c.classList!==void 0?c.classList.remove(h):ei(c,C((" "+J(c)+" ").replace(" "+h+" "," ")))}function ei(c,h){c.className.baseVal===void 0?c.className=h:c.className.baseVal=h}function J(c){return c.correspondingElement&&(c=c.correspondingElement),c.className.baseVal===void 0?c.className:c.className.baseVal}function he(c,h){"opacity"in c.style?c.style.opacity=h:"filter"in c.style&&je(c,h)}function je(c,h){var _=!1,y="DXImageTransform.Microsoft.Alpha";try{_=c.filters.item(y)}catch{if(h===1)return}h=Math.round(h*100),_?(_.Enabled=h!==100,_.Opacity=h):c.style.filter+=" progid:"+y+"(opacity="+h+")"}function yt(c){for(var h=document.documentElement.style,_=0;_<c.length;_++)if(c[_]in h)return c[_];return!1}function Le(c,h,_){var y=h||new me(0,0);c.style[$]=(We.ie3d?"translate("+y.x+"px,"+y.y+"px)":"translate3d("+y.x+"px,"+y.y+"px,0)")+(_?" scale("+_+")":"")}function Pe(c,h){c._leaflet_pos=h,We.any3d?Le(c,h):(c.style.left=h.x+"px",c.style.top=h.y+"px")}function gt(c){return c._leaflet_pos||new me(0,0)}var pt,Xe,qt;if("onselectstart"in document)pt=function(){Gt(window,"selectstart",Kt)},Xe=function(){Di(window,"selectstart",Kt)};else{var rt=yt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);pt=function(){if(rt){var c=document.documentElement.style;qt=c[rt],c[rt]="none"}},Xe=function(){rt&&(document.documentElement.style[rt]=qt,qt=void 0)}}function st(){Gt(window,"dragstart",Kt)}function Ct(){Di(window,"dragstart",Kt)}var jt,Tt;function ni(c){for(;c.tabIndex===-1;)c=c.parentNode;c.style&&(ze(),jt=c,Tt=c.style.outlineStyle,c.style.outlineStyle="none",Gt(window,"keydown",ze))}function ze(){jt&&(jt.style.outlineStyle=Tt,jt=void 0,Tt=void 0,Di(window,"keydown",ze))}function wt(c){do c=c.parentNode;while((!c.offsetWidth||!c.offsetHeight)&&c!==document.body);return c}function ii(c){var h=c.getBoundingClientRect();return{x:h.width/c.offsetWidth||1,y:h.height/c.offsetHeight||1,boundingClientRect:h}}var Vi={__proto__:null,TRANSFORM:$,TRANSITION:q,TRANSITION_END:R,get:G,getStyle:Y,create:ie,remove:se,empty:fe,toFront:_e,toBack:Ce,hasClass:Oe,addClass:Re,removeClass:tt,setClass:ei,getClass:J,setOpacity:he,testProp:yt,setTransform:Le,setPosition:Pe,getPosition:gt,get disableTextSelection(){return pt},get enableTextSelection(){return Xe},disableImageDrag:st,enableImageDrag:Ct,preventOutline:ni,restoreOutline:ze,getSizedParentNode:wt,getScale:ii};function Gt(c,h,_,y){if(h&&typeof h=="object")for(var k in h)Ji(c,k,h[k],_);else{h=b(h);for(var H=0,ne=h.length;H<ne;H++)Ji(c,h[H],_,y)}return this}var Xt="_leaflet_events";function Di(c,h,_,y){if(arguments.length===1)Zi(c),delete c[Xt];else if(h&&typeof h=="object")for(var k in h)qe(c,k,h[k],_);else if(h=b(h),arguments.length===2)Zi(c,function(Be){return M(h,Be)!==-1});else for(var H=0,ne=h.length;H<ne;H++)qe(c,h[H],_,y);return this}function Zi(c,h){for(var _ in c[Xt]){var y=_.split(/\d/)[0];(!h||h(y))&&qe(c,y,null,null,_)}}var qi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ji(c,h,_,y){var k=h+d(_)+(y?"_"+d(y):"");if(c[Xt]&&c[Xt][k])return this;var H=function(Be){return _.call(y||c,Be||window.event)},ne=H;!We.touchNative&&We.pointer&&h.indexOf("touch")===0?H=Ve(c,h,H):We.touch&&h==="dblclick"?H=Ze(c,H):"addEventListener"in c?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?c.addEventListener(qi[h]||h,H,We.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(H=function(Be){Be=Be||window.event,Ci(c,Be)&&ne(Be)},c.addEventListener(qi[h],H,!1)):c.addEventListener(h,ne,!1):c.attachEvent("on"+h,H),c[Xt]=c[Xt]||{},c[Xt][k]=H}function qe(c,h,_,y,k){k=k||h+d(_)+(y?"_"+d(y):"");var H=c[Xt]&&c[Xt][k];if(!H)return this;!We.touchNative&&We.pointer&&h.indexOf("touch")===0?Vt(c,h,H):We.touch&&h==="dblclick"?Et(c,H):"removeEventListener"in c?c.removeEventListener(qi[h]||h,H,!1):c.detachEvent("on"+h,H),c[Xt][k]=null}function bt(c){return c.stopPropagation?c.stopPropagation():c.originalEvent?c.originalEvent._stopped=!0:c.cancelBubble=!0,this}function It(c){return Ji(c,"wheel",bt),this}function ui(c){return Gt(c,"mousedown touchstart dblclick contextmenu",bt),c._leaflet_disable_click=!0,this}function Kt(c){return c.preventDefault?c.preventDefault():c.returnValue=!1,this}function mi(c){return Kt(c),bt(c),this}function Li(c){if(c.composedPath)return c.composedPath();for(var h=[],_=c.target;_;)h.push(_),_=_.parentNode;return h}function Yi(c,h){if(!h)return new me(c.clientX,c.clientY);var _=ii(h),y=_.boundingClientRect;return new me((c.clientX-y.left)/_.x-h.clientLeft,(c.clientY-y.top)/_.y-h.clientTop)}var An=We.linux&&We.chrome?window.devicePixelRatio:We.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function yi(c){return We.edge?c.wheelDeltaY/2:c.deltaY&&c.deltaMode===0?-c.deltaY/An:c.deltaY&&c.deltaMode===1?-c.deltaY*20:c.deltaY&&c.deltaMode===2?-c.deltaY*60:c.deltaX||c.deltaZ?0:c.wheelDelta?(c.wheelDeltaY||c.wheelDelta)/2:c.detail&&Math.abs(c.detail)<32765?-c.detail*20:c.detail?c.detail/-32765*60:0}function Ci(c,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==c;)_=_.parentNode}catch{return!1}return _!==c}var En={__proto__:null,on:Gt,off:Di,stopPropagation:bt,disableScrollPropagation:It,disableClickPropagation:ui,preventDefault:Kt,stop:mi,getPropagationPath:Li,getMousePosition:Yi,getWheelDelta:yi,isExternalTarget:Ci,addListener:Gt,removeListener:Di},cn=He.extend({run:function(c,h,_,y){this.stop(),this._el=c,this._inProgress=!0,this._duration=_||.25,this._easeOutPower=1/Math.max(y||.5,.2),this._startPos=gt(c),this._offset=h.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=re(this._animate,this),this._step()},_step:function(c){var h=+new Date-this._startTime,_=this._duration*1e3;h<_?this._runFrame(this._easeOut(h/_),c):(this._runFrame(1),this._complete())},_runFrame:function(c,h){var _=this._startPos.add(this._offset.multiplyBy(c));h&&_._round(),Pe(this._el,_),this.fire("step")},_complete:function(){ce(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(c){return 1-Math.pow(1-c,this._easeOutPower)}}),Mi=He.extend({options:{crs:vi,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(c,h){h=E(this,h),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(c),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),h.maxBounds&&this.setMaxBounds(h.maxBounds),h.zoom!==void 0&&(this._zoom=this._limitZoom(h.zoom)),h.center&&h.zoom!==void 0&&this.setView(be(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=q&&We.any3d&&!We.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Gt(this._proxy,R,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(c,h,_){if(h=h===void 0?this._zoom:this._limitZoom(h),c=this._limitCenter(be(c),h,this.options.maxBounds),_=_||{},this._stop(),this._loaded&&!_.reset&&_!==!0){_.animate!==void 0&&(_.zoom=n({animate:_.animate},_.zoom),_.pan=n({animate:_.animate,duration:_.duration},_.pan));var y=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(c,h,_.zoom):this._tryAnimatedPan(c,_.pan);if(y)return clearTimeout(this._sizeTimer),this}return this._resetView(c,h,_.pan&&_.pan.noMoveStart),this},setZoom:function(c,h){return this._loaded?this.setView(this.getCenter(),c,{zoom:h}):(this._zoom=c,this)},zoomIn:function(c,h){return c=c||(We.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+c,h)},zoomOut:function(c,h){return c=c||(We.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-c,h)},setZoomAround:function(c,h,_){var y=this.getZoomScale(h),k=this.getSize().divideBy(2),H=c instanceof me?c:this.latLngToContainerPoint(c),ne=H.subtract(k).multiplyBy(1-1/y),Be=this.containerPointToLatLng(k.add(ne));return this.setView(Be,h,{zoom:_})},_getBoundsCenterZoom:function(c,h){h=h||{},c=c.getBounds?c.getBounds():et(c);var _=Ne(h.paddingTopLeft||h.padding||[0,0]),y=Ne(h.paddingBottomRight||h.padding||[0,0]),k=this.getBoundsZoom(c,!1,_.add(y));if(k=typeof h.maxZoom=="number"?Math.min(h.maxZoom,k):k,k===1/0)return{center:c.getCenter(),zoom:k};var H=y.subtract(_).divideBy(2),ne=this.project(c.getSouthWest(),k),Be=this.project(c.getNorthEast(),k),Ge=this.unproject(ne.add(Be).divideBy(2).add(H),k);return{center:Ge,zoom:k}},fitBounds:function(c,h){if(c=et(c),!c.isValid())throw new Error("Bounds are not valid.");var _=this._getBoundsCenterZoom(c,h);return this.setView(_.center,_.zoom,h)},fitWorld:function(c){return this.fitBounds([[-90,-180],[90,180]],c)},panTo:function(c,h){return this.setView(c,this._zoom,{pan:h})},panBy:function(c,h){if(c=Ne(c).round(),h=h||{},!c.x&&!c.y)return this.fire("moveend");if(h.animate!==!0&&!this.getSize().contains(c))return this._resetView(this.unproject(this.project(this.getCenter()).add(c)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new cn,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Re(this._mapPane,"leaflet-pan-anim");var _=this._getMapPanePos().subtract(c).round();this._panAnim.run(this._mapPane,_,h.duration||.25,h.easeLinearity)}else this._rawPanBy(c),this.fire("move").fire("moveend");return this},flyTo:function(c,h,_){if(_=_||{},_.animate===!1||!We.any3d)return this.setView(c,h,_);this._stop();var y=this.project(this.getCenter()),k=this.project(c),H=this.getSize(),ne=this._zoom;c=be(c),h=h===void 0?ne:h;var Be=Math.max(H.x,H.y),Ge=Be*this.getZoomScale(ne,h),Mt=k.distanceTo(y)||1,zi=1.42,yn=zi*zi;function Xn(xo){var vx=xo?-1:1,o3=xo?Ge:Be,r3=Ge*Ge-Be*Be+vx*yn*yn*Mt*Mt,a3=2*o3*yn*Mt,Gb=r3/a3,FS=Math.sqrt(Gb*Gb+1)-Gb,l3=FS<1e-9?-18:Math.log(FS);return l3}function Co(xo){return(Math.exp(xo)-Math.exp(-xo))/2}function oo(xo){return(Math.exp(xo)+Math.exp(-xo))/2}function Yo(xo){return Co(xo)/oo(xo)}var Vo=Xn(0);function uc(xo){return Be*(oo(Vo)/oo(Vo+zi*xo))}function qb(xo){return Be*(oo(Vo)*Yo(Vo+zi*xo)-Co(Vo))/yn}function i3(xo){return 1-Math.pow(1-xo,1.5)}var n3=Date.now(),kS=(Xn(1)-Vo)/zi,s3=_.duration?1e3*_.duration:1e3*kS*.8;function BS(){var xo=(Date.now()-n3)/s3,vx=i3(xo)*kS;xo<=1?(this._flyToFrame=re(BS,this),this._move(this.unproject(y.add(k.subtract(y).multiplyBy(qb(vx)/Mt)),ne),this.getScaleZoom(Be/uc(vx),ne),{flyTo:!0})):this._move(c,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),BS.call(this),this},flyToBounds:function(c,h){var _=this._getBoundsCenterZoom(c,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(c){return c=et(c),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),c.isValid()?(this.options.maxBounds=c,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(c){var h=this.options.minZoom;return this.options.minZoom=c,this._loaded&&h!==c&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(c):this},setMaxZoom:function(c){var h=this.options.maxZoom;return this.options.maxZoom=c,this._loaded&&h!==c&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(c):this},panInsideBounds:function(c,h){this._enforcingBounds=!0;var _=this.getCenter(),y=this._limitCenter(_,this._zoom,et(c));return _.equals(y)||this.panTo(y,h),this._enforcingBounds=!1,this},panInside:function(c,h){h=h||{};var _=Ne(h.paddingTopLeft||h.padding||[0,0]),y=Ne(h.paddingBottomRight||h.padding||[0,0]),k=this.project(this.getCenter()),H=this.project(c),ne=this.getPixelBounds(),Be=it([ne.min.add(_),ne.max.subtract(y)]),Ge=Be.getSize();if(!Be.contains(H)){this._enforcingBounds=!0;var Mt=H.subtract(Be.getCenter()),zi=Be.extend(H).getSize().subtract(Ge);k.x+=Mt.x<0?-zi.x:zi.x,k.y+=Mt.y<0?-zi.y:zi.y,this.panTo(this.unproject(k),h),this._enforcingBounds=!1}return this},invalidateSize:function(c){if(!this._loaded)return this;c=n({animate:!1,pan:!0},c===!0?{animate:!0}:c);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var _=this.getSize(),y=h.divideBy(2).round(),k=_.divideBy(2).round(),H=y.subtract(k);return!H.x&&!H.y?this:(c.animate&&c.pan?this.panBy(H):(c.pan&&this._rawPanBy(H),this.fire("move"),c.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:_}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(c){if(c=this._locateOptions=n({timeout:1e4,watch:!1},c),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=r(this._handleGeolocationResponse,this),_=r(this._handleGeolocationError,this);return c.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,_,c):navigator.geolocation.getCurrentPosition(h,_,c),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(c){if(this._container._leaflet_id){var h=c.code,_=c.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+_+"."})}},_handleGeolocationResponse:function(c){if(this._container._leaflet_id){var h=c.coords.latitude,_=c.coords.longitude,y=new St(h,_),k=y.toBounds(c.coords.accuracy*2),H=this._locateOptions;if(H.setView){var ne=this.getBoundsZoom(k);this.setView(y,H.maxZoom?Math.min(ne,H.maxZoom):ne)}var Be={latlng:y,bounds:k,timestamp:c.timestamp};for(var Ge in c.coords)typeof c.coords[Ge]=="number"&&(Be[Ge]=c.coords[Ge]);this.fire("locationfound",Be)}},addHandler:function(c,h){if(!h)return this;var _=this[c]=new h(this);return this._handlers.push(_),this.options[c]&&_.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(),se(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ce(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var c;for(c in this._layers)this._layers[c].remove();for(c in this._panes)se(this._panes[c]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(c,h){var _="leaflet-pane"+(c?" leaflet-"+c.replace("Pane","")+"-pane":""),y=ie("div",_,h||this._mapPane);return c&&(this._panes[c]=y),y},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var c=this.getPixelBounds(),h=this.unproject(c.getBottomLeft()),_=this.unproject(c.getTopRight());return new Lt(h,_)},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(c,h,_){c=et(c),_=Ne(_||[0,0]);var y=this.getZoom()||0,k=this.getMinZoom(),H=this.getMaxZoom(),ne=c.getNorthWest(),Be=c.getSouthEast(),Ge=this.getSize().subtract(_),Mt=it(this.project(Be,y),this.project(ne,y)).getSize(),zi=We.any3d?this.options.zoomSnap:1,yn=Ge.x/Mt.x,Xn=Ge.y/Mt.y,Co=h?Math.max(yn,Xn):Math.min(yn,Xn);return y=this.getScaleZoom(Co,y),zi&&(y=Math.round(y/(zi/100))*(zi/100),y=h?Math.ceil(y/zi)*zi:Math.floor(y/zi)*zi),Math.max(k,Math.min(H,y))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new me(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(c,h){var _=this._getTopLeftPoint(c,h);return new Ee(_,_.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(c){return this.options.crs.getProjectedBounds(c===void 0?this.getZoom():c)},getPane:function(c){return typeof c=="string"?this._panes[c]:c},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(c,h){var _=this.options.crs;return h=h===void 0?this._zoom:h,_.scale(c)/_.scale(h)},getScaleZoom:function(c,h){var _=this.options.crs;h=h===void 0?this._zoom:h;var y=_.zoom(c*_.scale(h));return isNaN(y)?1/0:y},project:function(c,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(be(c),h)},unproject:function(c,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(Ne(c),h)},layerPointToLatLng:function(c){var h=Ne(c).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(c){var h=this.project(be(c))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(c){return this.options.crs.wrapLatLng(be(c))},wrapLatLngBounds:function(c){return this.options.crs.wrapLatLngBounds(et(c))},distance:function(c,h){return this.options.crs.distance(be(c),be(h))},containerPointToLayerPoint:function(c){return Ne(c).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(c){return Ne(c).add(this._getMapPanePos())},containerPointToLatLng:function(c){var h=this.containerPointToLayerPoint(Ne(c));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(c){return this.layerPointToContainerPoint(this.latLngToLayerPoint(be(c)))},mouseEventToContainerPoint:function(c){return Yi(c,this._container)},mouseEventToLayerPoint:function(c){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(c))},mouseEventToLatLng:function(c){return this.layerPointToLatLng(this.mouseEventToLayerPoint(c))},_initContainer:function(c){var h=this._container=G(c);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Gt(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var c=this._container;this._fadeAnimated=this.options.fadeAnimation&&We.any3d,Re(c,"leaflet-container"+(We.touch?" leaflet-touch":"")+(We.retina?" leaflet-retina":"")+(We.ielt9?" leaflet-oldie":"")+(We.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=Y(c,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(c.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var c=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Pe(this._mapPane,new me(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Re(c.markerPane,"leaflet-zoom-hide"),Re(c.shadowPane,"leaflet-zoom-hide"))},_resetView:function(c,h,_){Pe(this._mapPane,new me(0,0));var y=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var k=this._zoom!==h;this._moveStart(k,_)._move(c,h)._moveEnd(k),this.fire("viewreset"),y&&this.fire("load")},_moveStart:function(c,h){return c&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(c,h,_,y){h===void 0&&(h=this._zoom);var k=this._zoom!==h;return this._zoom=h,this._lastCenter=c,this._pixelOrigin=this._getNewPixelOrigin(c),y?_&&_.pinch&&this.fire("zoom",_):((k||_&&_.pinch)&&this.fire("zoom",_),this.fire("move",_)),this},_moveEnd:function(c){return c&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return ce(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(c){Pe(this._mapPane,this._getMapPanePos().subtract(c))},_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(c){this._targets={},this._targets[d(this._container)]=this;var h=c?Di:Gt;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),We.any3d&&this.options.transform3DLimit&&(c?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ce(this._resizeRequest),this._resizeRequest=re(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var c=this._getMapPanePos();Math.max(Math.abs(c.x),Math.abs(c.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(c,h){for(var _=[],y,k=h==="mouseout"||h==="mouseover",H=c.target||c.srcElement,ne=!1;H;){if(y=this._targets[d(H)],y&&(h==="click"||h==="preclick")&&this._draggableMoved(y)){ne=!0;break}if(y&&y.listens(h,!0)&&(k&&!Ci(H,c)||(_.push(y),k))||H===this._container)break;H=H.parentNode}return!_.length&&!ne&&!k&&this.listens(h,!0)&&(_=[this]),_},_isClickDisabled:function(c){for(;c&&c!==this._container;){if(c._leaflet_disable_click)return!0;c=c.parentNode}},_handleDOMEvent:function(c){var h=c.target||c.srcElement;if(!(!this._loaded||h._leaflet_disable_events||c.type==="click"&&this._isClickDisabled(h))){var _=c.type;_==="mousedown"&&ni(h),this._fireDOMEvent(c,_)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(c,h,_){if(c.type==="click"){var y=n({},c);y.type="preclick",this._fireDOMEvent(y,y.type,_)}var k=this._findEventTargets(c,h);if(_){for(var H=[],ne=0;ne<_.length;ne++)_[ne].listens(h,!0)&&H.push(_[ne]);k=H.concat(k)}if(k.length){h==="contextmenu"&&Kt(c);var Be=k[0],Ge={originalEvent:c};if(c.type!=="keypress"&&c.type!=="keydown"&&c.type!=="keyup"){var Mt=Be.getLatLng&&(!Be._radius||Be._radius<=10);Ge.containerPoint=Mt?this.latLngToContainerPoint(Be.getLatLng()):this.mouseEventToContainerPoint(c),Ge.layerPoint=this.containerPointToLayerPoint(Ge.containerPoint),Ge.latlng=Mt?Be.getLatLng():this.layerPointToLatLng(Ge.layerPoint)}for(ne=0;ne<k.length;ne++)if(k[ne].fire(h,Ge,!0),Ge.originalEvent._stopped||k[ne].options.bubblingMouseEvents===!1&&M(this._mouseEvents,h)!==-1)return}},_draggableMoved:function(c){return c=c.dragging&&c.dragging.enabled()?c:this,c.dragging&&c.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var c=0,h=this._handlers.length;c<h;c++)this._handlers[c].disable()},whenReady:function(c,h){return this._loaded?c.call(h||this,{target:this}):this.on("load",c,h),this},_getMapPanePos:function(){return gt(this._mapPane)||new me(0,0)},_moved:function(){var c=this._getMapPanePos();return c&&!c.equals([0,0])},_getTopLeftPoint:function(c,h){var _=c&&h!==void 0?this._getNewPixelOrigin(c,h):this.getPixelOrigin();return _.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(c,h){var _=this.getSize()._divideBy(2);return this.project(c,h)._subtract(_)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(c,h,_){var y=this._getNewPixelOrigin(_,h);return this.project(c,h)._subtract(y)},_latLngBoundsToNewLayerBounds:function(c,h,_){var y=this._getNewPixelOrigin(_,h);return it([this.project(c.getSouthWest(),h)._subtract(y),this.project(c.getNorthWest(),h)._subtract(y),this.project(c.getSouthEast(),h)._subtract(y),this.project(c.getNorthEast(),h)._subtract(y)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(c){return this.latLngToLayerPoint(c).subtract(this._getCenterLayerPoint())},_limitCenter:function(c,h,_){if(!_)return c;var y=this.project(c,h),k=this.getSize().divideBy(2),H=new Ee(y.subtract(k),y.add(k)),ne=this._getBoundsOffset(H,_,h);return Math.abs(ne.x)<=1&&Math.abs(ne.y)<=1?c:this.unproject(y.add(ne),h)},_limitOffset:function(c,h){if(!h)return c;var _=this.getPixelBounds(),y=new Ee(_.min.add(c),_.max.add(c));return c.add(this._getBoundsOffset(y,h))},_getBoundsOffset:function(c,h,_){var y=it(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),k=y.min.subtract(c.min),H=y.max.subtract(c.max),ne=this._rebound(k.x,-H.x),Be=this._rebound(k.y,-H.y);return new me(ne,Be)},_rebound:function(c,h){return c+h>0?Math.round(c-h)/2:Math.max(0,Math.ceil(c))-Math.max(0,Math.floor(h))},_limitZoom:function(c){var h=this.getMinZoom(),_=this.getMaxZoom(),y=We.any3d?this.options.zoomSnap:1;return y&&(c=Math.round(c/y)*y),Math.max(h,Math.min(_,c))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){tt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(c,h){var _=this._getCenterOffset(c)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(_)?!1:(this.panBy(_,h),!0)},_createAnimProxy:function(){var c=this._proxy=ie("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(c),this.on("zoomanim",function(h){var _=$,y=this._proxy.style[_];Le(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),y===this._proxy.style[_]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){se(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var c=this.getCenter(),h=this.getZoom();Le(this._proxy,this.project(c,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(c){this._animatingZoom&&c.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(c,h,_){if(this._animatingZoom)return!0;if(_=_||{},!this._zoomAnimated||_.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var y=this.getZoomScale(h),k=this._getCenterOffset(c)._divideBy(1-1/y);return _.animate!==!0&&!this.getSize().contains(k)?!1:(re(function(){this._moveStart(!0,_.noMoveStart||!1)._animateZoom(c,h,!0)},this),!0)},_animateZoom:function(c,h,_,y){this._mapPane&&(_&&(this._animatingZoom=!0,this._animateToCenter=c,this._animateToZoom=h,Re(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:c,zoom:h,noUpdate:y}),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&&tt(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 Wn(c,h){return new Mi(c,h)}var Ui=te.extend({options:{position:"topright"},initialize:function(c){E(this,c)},getPosition:function(){return this.options.position},setPosition:function(c){var h=this._map;return h&&h.removeControl(this),this.options.position=c,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(c){this.remove(),this._map=c;var h=this._container=this.onAdd(c),_=this.getPosition(),y=c._controlCorners[_];return Re(h,"leaflet-control"),_.indexOf("bottom")!==-1?y.insertBefore(h,y.firstChild):y.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(se(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(c){this._map&&c&&c.screenX>0&&c.screenY>0&&this._map.getContainer().focus()}}),Ai=function(c){return new Ui(c)};Mi.include({addControl:function(c){return c.addTo(this),this},removeControl:function(c){return c.remove(),this},_initControlPos:function(){var c=this._controlCorners={},h="leaflet-",_=this._controlContainer=ie("div",h+"control-container",this._container);function y(k,H){var ne=h+k+" "+h+H;c[k+H]=ie("div",ne,_)}y("top","left"),y("top","right"),y("bottom","left"),y("bottom","right")},_clearControlPos:function(){for(var c in this._controlCorners)se(this._controlCorners[c]);se(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Hi=Ui.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(c,h,_,y){return _<y?-1:y<_?1:0}},initialize:function(c,h,_){E(this,_),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var y in c)this._addLayer(c[y],y);for(y in h)this._addLayer(h[y],y,!0)},onAdd:function(c){this._initLayout(),this._update(),this._map=c,c.on("zoomend",this._checkDisabledLayers,this);for(var h=0;h<this._layers.length;h++)this._layers[h].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(c){return Ui.prototype.addTo.call(this,c),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var c=0;c<this._layers.length;c++)this._layers[c].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(c,h){return this._addLayer(c,h),this._map?this._update():this},addOverlay:function(c,h){return this._addLayer(c,h,!0),this._map?this._update():this},removeLayer:function(c){c.off("add remove",this._onLayerChange,this);var h=this._getLayer(d(c));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){Re(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var c=this._map.getSize().y-(this._container.offsetTop+50);return c<this._section.clientHeight?(Re(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=c+"px"):tt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return tt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var c="leaflet-control-layers",h=this._container=ie("div",c),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),ui(h),It(h);var y=this._section=ie("section",c+"-list");_&&(this._map.on("click",this.collapse,this),Gt(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=ie("a",c+"-toggle",h);k.href="#",k.title="Layers",k.setAttribute("role","button"),Gt(k,{keydown:function(H){H.keyCode===13&&this._expandSafely()},click:function(H){Kt(H),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=ie("div",c+"-base",y),this._separator=ie("div",c+"-separator",y),this._overlaysList=ie("div",c+"-overlays",y),h.appendChild(y)},_getLayer:function(c){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&d(this._layers[h].layer)===c)return this._layers[h]},_addLayer:function(c,h,_){this._map&&c.on("add remove",this._onLayerChange,this),this._layers.push({layer:c,name:h,overlay:_}),this.options.sortLayers&&this._layers.sort(r(function(y,k){return this.options.sortFunction(y.layer,k.layer,y.name,k.name)},this)),this.options.autoZIndex&&c.setZIndex&&(this._lastZIndex++,c.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;fe(this._baseLayersList),fe(this._overlaysList),this._layerControlInputs=[];var c,h,_,y,k=0;for(_=0;_<this._layers.length;_++)y=this._layers[_],this._addItem(y),h=h||y.overlay,c=c||!y.overlay,k+=y.overlay?0:1;return this.options.hideSingleBase&&(c=c&&k>1,this._baseLayersList.style.display=c?"":"none"),this._separator.style.display=h&&c?"":"none",this},_onLayerChange:function(c){this._handlingClick||this._update();var h=this._getLayer(d(c.target)),_=h.overlay?c.type==="add"?"overlayadd":"overlayremove":c.type==="add"?"baselayerchange":null;_&&this._map.fire(_,h)},_createRadioElement:function(c,h){var _='<input type="radio" class="leaflet-control-layers-selector" name="'+c+'"'+(h?' checked="checked"':"")+"/>",y=document.createElement("div");return y.innerHTML=_,y.firstChild},_addItem:function(c){var h=document.createElement("label"),_=this._map.hasLayer(c.layer),y;c.overlay?(y=document.createElement("input"),y.type="checkbox",y.className="leaflet-control-layers-selector",y.defaultChecked=_):y=this._createRadioElement("leaflet-base-layers_"+d(this),_),this._layerControlInputs.push(y),y.layerId=d(c.layer),Gt(y,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+c.name;var H=document.createElement("span");h.appendChild(H),H.appendChild(y),H.appendChild(k);var ne=c.overlay?this._overlaysList:this._baseLayersList;return ne.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var c=this._layerControlInputs,h,_,y=[],k=[];this._handlingClick=!0;for(var H=c.length-1;H>=0;H--)h=c[H],_=this._getLayer(h.layerId).layer,h.checked?y.push(_):h.checked||k.push(_);for(H=0;H<k.length;H++)this._map.hasLayer(k[H])&&this._map.removeLayer(k[H]);for(H=0;H<y.length;H++)this._map.hasLayer(y[H])||this._map.addLayer(y[H]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var c=this._layerControlInputs,h,_,y=this._map.getZoom(),k=c.length-1;k>=0;k--)h=c[k],_=this._getLayer(h.layerId).layer,h.disabled=_.options.minZoom!==void 0&&y<_.options.minZoom||_.options.maxZoom!==void 0&&y>_.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var c=this._section;this._preventClick=!0,Gt(c,"click",Kt),this.expand();var h=this;setTimeout(function(){Di(c,"click",Kt),h._preventClick=!1})}}),rn=function(c,h,_){return new Hi(c,h,_)},Jn=Ui.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(c){var h="leaflet-control-zoom",_=ie("div",h+" leaflet-bar"),y=this.options;return this._zoomInButton=this._createButton(y.zoomInText,y.zoomInTitle,h+"-in",_,this._zoomIn),this._zoomOutButton=this._createButton(y.zoomOutText,y.zoomOutTitle,h+"-out",_,this._zoomOut),this._updateDisabled(),c.on("zoomend zoomlevelschange",this._updateDisabled,this),_},onRemove:function(c){c.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(c){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(c.shiftKey?3:1))},_zoomOut:function(c){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(c.shiftKey?3:1))},_createButton:function(c,h,_,y,k){var H=ie("a",_,y);return H.innerHTML=c,H.href="#",H.title=h,H.setAttribute("role","button"),H.setAttribute("aria-label",h),ui(H),Gt(H,"click",mi),Gt(H,"click",k,this),Gt(H,"click",this._refocusOnMap,this),H},_updateDisabled:function(){var c=this._map,h="leaflet-disabled";tt(this._zoomInButton,h),tt(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||c._zoom===c.getMinZoom())&&(Re(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||c._zoom===c.getMaxZoom())&&(Re(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});Mi.mergeOptions({zoomControl:!0}),Mi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Jn,this.addControl(this.zoomControl))});var en=function(c){return new Jn(c)},un=Ui.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(c){var h="leaflet-control-scale",_=ie("div",h),y=this.options;return this._addScales(y,h+"-line",_),c.on(y.updateWhenIdle?"moveend":"move",this._update,this),c.whenReady(this._update,this),_},onRemove:function(c){c.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(c,h,_){c.metric&&(this._mScale=ie("div",h,_)),c.imperial&&(this._iScale=ie("div",h,_))},_update:function(){var c=this._map,h=c.getSize().y/2,_=c.distance(c.containerPointToLatLng([0,h]),c.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(_)},_updateScales:function(c){this.options.metric&&c&&this._updateMetric(c),this.options.imperial&&c&&this._updateImperial(c)},_updateMetric:function(c){var h=this._getRoundNum(c),_=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,_,h/c)},_updateImperial:function(c){var h=c*3.2808399,_,y,k;h>5280?(_=h/5280,y=this._getRoundNum(_),this._updateScale(this._iScale,y+" mi",y/_)):(k=this._getRoundNum(h),this._updateScale(this._iScale,k+" ft",k/h))},_updateScale:function(c,h,_){c.style.width=Math.round(this.options.maxWidth*_)+"px",c.innerHTML=h},_getRoundNum:function(c){var h=Math.pow(10,(Math.floor(c)+"").length-1),_=c/h;return _=_>=10?10:_>=5?5:_>=3?3:_>=2?2:1,h*_}}),Ln=function(c){return new un(c)},ls='<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>',is=Ui.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(We.inlineSvg?ls+" ":"")+"Leaflet</a>"},initialize:function(c){E(this,c),this._attributions={}},onAdd:function(c){c.attributionControl=this,this._container=ie("div","leaflet-control-attribution"),ui(this._container);for(var h in c._layers)c._layers[h].getAttribution&&this.addAttribution(c._layers[h].getAttribution());return this._update(),c.on("layeradd",this._addAttribution,this),this._container},onRemove:function(c){c.off("layeradd",this._addAttribution,this)},_addAttribution:function(c){c.layer.getAttribution&&(this.addAttribution(c.layer.getAttribution()),c.layer.once("remove",function(){this.removeAttribution(c.layer.getAttribution())},this))},setPrefix:function(c){return this.options.prefix=c,this._update(),this},addAttribution:function(c){return c?(this._attributions[c]||(this._attributions[c]=0),this._attributions[c]++,this._update(),this):this},removeAttribution:function(c){return c?(this._attributions[c]&&(this._attributions[c]--,this._update()),this):this},_update:function(){if(this._map){var c=[];for(var h in this._attributions)this._attributions[h]&&c.push(h);var _=[];this.options.prefix&&_.push(this.options.prefix),c.length&&_.push(c.join(", ")),this._container.innerHTML=_.join(' <span aria-hidden="true">|</span> ')}}});Mi.mergeOptions({attributionControl:!0}),Mi.addInitHook(function(){this.options.attributionControl&&new is().addTo(this)});var an=function(c){return new is(c)};Ui.Layers=Hi,Ui.Zoom=Jn,Ui.Scale=un,Ui.Attribution=is,Ai.layers=rn,Ai.zoom=en,Ai.scale=Ln,Ai.attribution=an;var zn=te.extend({initialize:function(c){this._map=c},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}});zn.addTo=function(c,h){return c.addHandler(h,this),this};var Ys={Events:we},Us=We.touch?"touchstart mousedown":"mousedown",xs=He.extend({options:{clickTolerance:3},initialize:function(c,h,_,y){E(this,y),this._element=c,this._dragStartTarget=h||c,this._preventOutline=_},enable:function(){this._enabled||(Gt(this._dragStartTarget,Us,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(xs._dragging===this&&this.finishDrag(!0),Di(this._dragStartTarget,Us,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(c){if(this._enabled&&(this._moved=!1,!Oe(this._element,"leaflet-zoom-anim"))){if(c.touches&&c.touches.length!==1){xs._dragging===this&&this.finishDrag();return}if(!(xs._dragging||c.shiftKey||c.which!==1&&c.button!==1&&!c.touches)&&(xs._dragging=this,this._preventOutline&&ni(this._element),st(),pt(),!this._moving)){this.fire("down");var h=c.touches?c.touches[0]:c,_=wt(this._element);this._startPoint=new me(h.clientX,h.clientY),this._startPos=gt(this._element),this._parentScale=ii(_);var y=c.type==="mousedown";Gt(document,y?"mousemove":"touchmove",this._onMove,this),Gt(document,y?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(c){if(this._enabled){if(c.touches&&c.touches.length>1){this._moved=!0;return}var h=c.touches&&c.touches.length===1?c.touches[0]:c,_=new me(h.clientX,h.clientY)._subtract(this._startPoint);!_.x&&!_.y||Math.abs(_.x)+Math.abs(_.y)<this.options.clickTolerance||(_.x/=this._parentScale.x,_.y/=this._parentScale.y,Kt(c),this._moved||(this.fire("dragstart"),this._moved=!0,Re(document.body,"leaflet-dragging"),this._lastTarget=c.target||c.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Re(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(_),this._moving=!0,this._lastEvent=c,this._updatePosition())}},_updatePosition:function(){var c={originalEvent:this._lastEvent};this.fire("predrag",c),Pe(this._element,this._newPos),this.fire("drag",c)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(c){tt(document.body,"leaflet-dragging"),this._lastTarget&&(tt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Di(document,"mousemove touchmove",this._onMove,this),Di(document,"mouseup touchend touchcancel",this._onUp,this),Ct(),Xe();var h=this._moved&&this._moving;this._moving=!1,xs._dragging=!1,h&&this.fire("dragend",{noInertia:c,distance:this._newPos.distanceTo(this._startPos)})}});function lr(c,h,_){var y,k=[1,4,2,8],H,ne,Be,Ge,Mt,zi,yn,Xn;for(H=0,zi=c.length;H<zi;H++)c[H]._code=wr(c[H],h);for(Be=0;Be<4;Be++){for(yn=k[Be],y=[],H=0,zi=c.length,ne=zi-1;H<zi;ne=H++)Ge=c[H],Mt=c[ne],Ge._code&yn?Mt._code&yn||(Xn=Ms(Mt,Ge,yn,h,_),Xn._code=wr(Xn,h),y.push(Xn)):(Mt._code&yn&&(Xn=Ms(Mt,Ge,yn,h,_),Xn._code=wr(Xn,h),y.push(Xn)),y.push(Ge));c=y}return c}function tc(c,h){var _,y,k,H,ne,Be,Ge,Mt,zi;if(!c||c.length===0)throw new Error("latlngs not passed");Bo(c)||(console.warn("latlngs are not flat! Only the first ring will be used"),c=c[0]);var yn=be([0,0]),Xn=et(c),Co=Xn.getNorthWest().distanceTo(Xn.getSouthWest())*Xn.getNorthEast().distanceTo(Xn.getNorthWest());Co<1700&&(yn=ic(c));var oo=c.length,Yo=[];for(_=0;_<oo;_++){var Vo=be(c[_]);Yo.push(h.project(be([Vo.lat-yn.lat,Vo.lng-yn.lng])))}for(Be=Ge=Mt=0,_=0,y=oo-1;_<oo;y=_++)k=Yo[_],H=Yo[y],ne=k.y*H.x-H.y*k.x,Ge+=(k.x+H.x)*ne,Mt+=(k.y+H.y)*ne,Be+=ne*3;Be===0?zi=Yo[0]:zi=[Ge/Be,Mt/Be];var uc=h.unproject(Ne(zi));return be([uc.lat+yn.lat,uc.lng+yn.lng])}function ic(c){for(var h=0,_=0,y=0,k=0;k<c.length;k++){var H=be(c[k]);h+=H.lat,_+=H.lng,y++}return be([h/y,_/y])}var _h={__proto__:null,clipPolygon:lr,polygonCenter:tc,centroid:ic};function nc(c,h){if(!h||!c.length)return c.slice();var _=h*h;return c=xd(c,_),c=N0(c,_),c}function pd(c,h,_){return Math.sqrt(Ia(c,h,_,!0))}function bh(c,h,_){return Ia(c,h,_)}function N0(c,h){var _=c.length,y=typeof Uint8Array<"u"?Uint8Array:Array,k=new y(_);k[0]=k[_-1]=1,sc(c,k,h,0,_-1);var H,ne=[];for(H=0;H<_;H++)k[H]&&ne.push(c[H]);return ne}function sc(c,h,_,y,k){var H=0,ne,Be,Ge;for(Be=y+1;Be<=k-1;Be++)Ge=Ia(c[Be],c[y],c[k],!0),Ge>H&&(ne=Be,H=Ge);H>_&&(h[ne]=1,sc(c,h,_,y,ne),sc(c,h,_,ne,k))}function xd(c,h){for(var _=[c[0]],y=1,k=0,H=c.length;y<H;y++)rc(c[y],c[k])>h&&(_.push(c[y]),k=y);return k<H-1&&_.push(c[H-1]),_}var oc;function vd(c,h,_,y,k){var H=y?oc:wr(c,_),ne=wr(h,_),Be,Ge,Mt;for(oc=ne;;){if(!(H|ne))return[c,h];if(H&ne)return!1;Be=H||ne,Ge=Ms(c,h,Be,_,k),Mt=wr(Ge,_),Be===H?(c=Ge,H=Mt):(h=Ge,ne=Mt)}}function Ms(c,h,_,y,k){var H=h.x-c.x,ne=h.y-c.y,Be=y.min,Ge=y.max,Mt,zi;return _&8?(Mt=c.x+H*(Ge.y-c.y)/ne,zi=Ge.y):_&4?(Mt=c.x+H*(Be.y-c.y)/ne,zi=Be.y):_&2?(Mt=Ge.x,zi=c.y+ne*(Ge.x-c.x)/H):_&1&&(Mt=Be.x,zi=c.y+ne*(Be.x-c.x)/H),new me(Mt,zi,k)}function wr(c,h){var _=0;return c.x<h.min.x?_|=1:c.x>h.max.x&&(_|=2),c.y<h.min.y?_|=4:c.y>h.max.y&&(_|=8),_}function rc(c,h){var _=h.x-c.x,y=h.y-c.y;return _*_+y*y}function Ia(c,h,_,y){var k=h.x,H=h.y,ne=_.x-k,Be=_.y-H,Ge=ne*ne+Be*Be,Mt;return Ge>0&&(Mt=((c.x-k)*ne+(c.y-H)*Be)/Ge,Mt>1?(k=_.x,H=_.y):Mt>0&&(k+=ne*Mt,H+=Be*Mt)),ne=c.x-k,Be=c.y-H,y?ne*ne+Be*Be:new me(k,H)}function Bo(c){return!T(c[0])||typeof c[0][0]!="object"&&typeof c[0][0]<"u"}function Ch(c){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Bo(c)}function ac(c,h){var _,y,k,H,ne,Be,Ge,Mt;if(!c||c.length===0)throw new Error("latlngs not passed");Bo(c)||(console.warn("latlngs are not flat! Only the first ring will be used"),c=c[0]);var zi=be([0,0]),yn=et(c),Xn=yn.getNorthWest().distanceTo(yn.getSouthWest())*yn.getNorthEast().distanceTo(yn.getNorthWest());Xn<1700&&(zi=ic(c));var Co=c.length,oo=[];for(_=0;_<Co;_++){var Yo=be(c[_]);oo.push(h.project(be([Yo.lat-zi.lat,Yo.lng-zi.lng])))}for(_=0,y=0;_<Co-1;_++)y+=oo[_].distanceTo(oo[_+1])/2;if(y===0)Mt=oo[0];else for(_=0,H=0;_<Co-1;_++)if(ne=oo[_],Be=oo[_+1],k=ne.distanceTo(Be),H+=k,H>y){Ge=(H-y)/k,Mt=[Be.x-Ge*(Be.x-ne.x),Be.y-Ge*(Be.y-ne.y)];break}var Vo=h.unproject(Ne(Mt));return be([Vo.lat+zi.lat,Vo.lng+zi.lng])}var Eh={__proto__:null,simplify:nc,pointToSegmentDistance:pd,closestPointOnSegment:bh,clipSegment:vd,_getEdgeIntersection:Ms,_getBitCode:wr,_sqClosestPointOnSegment:Ia,isFlat:Bo,_flat:Ch,polylineCenter:ac},lc={project:function(c){return new me(c.lng,c.lat)},unproject:function(c){return new St(c.y,c.x)},bounds:new Ee([-180,-90],[180,90])},ra={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Ee([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(c){var h=Math.PI/180,_=this.R,y=c.lat*h,k=this.R_MINOR/_,H=Math.sqrt(1-k*k),ne=H*Math.sin(y),Be=Math.tan(Math.PI/4-y/2)/Math.pow((1-ne)/(1+ne),H/2);return y=-_*Math.log(Math.max(Be,1e-10)),new me(c.lng*h*_,y)},unproject:function(c){for(var h=180/Math.PI,_=this.R,y=this.R_MINOR/_,k=Math.sqrt(1-y*y),H=Math.exp(-c.y/_),ne=Math.PI/2-2*Math.atan(H),Be=0,Ge=.1,Mt;Be<15&&Math.abs(Ge)>1e-7;Be++)Mt=k*Math.sin(ne),Mt=Math.pow((1-Mt)/(1+Mt),k/2),Ge=Math.PI/2-2*Math.atan(H*Mt)-ne,ne+=Ge;return new St(ne*h,c.x*h/_)}},O0={__proto__:null,LonLat:lc,Mercator:ra,SphericalMercator:ct},yh=n({},Je,{code:"EPSG:3395",projection:ra,transformation:(function(){var c=.5/(Math.PI*ra.R);return oi(c,.5,-c,.5)})()}),wh=n({},Je,{code:"EPSG:4326",projection:lc,transformation:oi(1/180,1,-1/180,.5)}),Sh=n({},ke,{projection:lc,transformation:oi(1,0,-1,0),scale:function(c){return Math.pow(2,c)},zoom:function(c){return Math.log(c)/Math.LN2},distance:function(c,h){var _=h.lng-c.lng,y=h.lat-c.lat;return Math.sqrt(_*_+y*y)},infinite:!0});ke.Earth=Je,ke.EPSG3395=yh,ke.EPSG3857=vi,ke.EPSG900913=ri,ke.EPSG4326=wh,ke.Simple=Sh;var bo=He.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(c){return c.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(c){return c&&c.removeLayer(this),this},getPane:function(c){return this._map.getPane(c?this.options[c]||c:this.options.pane)},addInteractiveTarget:function(c){return this._map._targets[d(c)]=this,this},removeInteractiveTarget:function(c){return delete this._map._targets[d(c)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(c){var h=c.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var _=this.getEvents();h.on(_,this),this.once("remove",function(){h.off(_,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});Mi.include({addLayer:function(c){if(!c._layerAdd)throw new Error("The provided object is not a Layer.");var h=d(c);return this._layers[h]?this:(this._layers[h]=c,c._mapToAdd=this,c.beforeAdd&&c.beforeAdd(this),this.whenReady(c._layerAdd,c),this)},removeLayer:function(c){var h=d(c);return this._layers[h]?(this._loaded&&c.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:c}),c.fire("remove")),c._map=c._mapToAdd=null,this):this},hasLayer:function(c){return d(c)in this._layers},eachLayer:function(c,h){for(var _ in this._layers)c.call(h,this._layers[_]);return this},_addLayers:function(c){c=c?T(c)?c:[c]:[];for(var h=0,_=c.length;h<_;h++)this.addLayer(c[h])},_addZoomLimit:function(c){(!isNaN(c.options.maxZoom)||!isNaN(c.options.minZoom))&&(this._zoomBoundLayers[d(c)]=c,this._updateZoomLevels())},_removeZoomLimit:function(c){var h=d(c);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var c=1/0,h=-1/0,_=this._getZoomSpan();for(var y in this._zoomBoundLayers){var k=this._zoomBoundLayers[y].options;c=k.minZoom===void 0?c:Math.min(c,k.minZoom),h=k.maxZoom===void 0?h:Math.max(h,k.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=c===1/0?void 0:c,_!==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 fl=bo.extend({initialize:function(c,h){E(this,h),this._layers={};var _,y;if(c)for(_=0,y=c.length;_<y;_++)this.addLayer(c[_])},addLayer:function(c){var h=this.getLayerId(c);return this._layers[h]=c,this._map&&this._map.addLayer(c),this},removeLayer:function(c){var h=c in this._layers?c:this.getLayerId(c);return this._map&&this._layers[h]&&this._map.removeLayer(this._layers[h]),delete this._layers[h],this},hasLayer:function(c){var h=typeof c=="number"?c:this.getLayerId(c);return h in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(c){var h=Array.prototype.slice.call(arguments,1),_,y;for(_ in this._layers)y=this._layers[_],y[c]&&y[c].apply(y,h);return this},onAdd:function(c){this.eachLayer(c.addLayer,c)},onRemove:function(c){this.eachLayer(c.removeLayer,c)},eachLayer:function(c,h){for(var _ in this._layers)c.call(h,this._layers[_]);return this},getLayer:function(c){return this._layers[c]},getLayers:function(){var c=[];return this.eachLayer(c.push,c),c},setZIndex:function(c){return this.invoke("setZIndex",c)},getLayerId:function(c){return d(c)}}),Vb=function(c,h){return new fl(c,h)},Rr=fl.extend({addLayer:function(c){return this.hasLayer(c)?this:(c.addEventParent(this),fl.prototype.addLayer.call(this,c),this.fire("layeradd",{layer:c}))},removeLayer:function(c){return this.hasLayer(c)?(c in this._layers&&(c=this._layers[c]),c.removeEventParent(this),fl.prototype.removeLayer.call(this,c),this.fire("layerremove",{layer:c})):this},setStyle:function(c){return this.invoke("setStyle",c)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var c=new Lt;for(var h in this._layers){var _=this._layers[h];c.extend(_.getBounds?_.getBounds():_.getLatLng())}return c}}),fx=function(c,h){return new Rr(c,h)},cc=te.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(c){E(this,c)},createIcon:function(c){return this._createIcon("icon",c)},createShadow:function(c){return this._createIcon("shadow",c)},_createIcon:function(c,h){var _=this._getIconUrl(c);if(!_){if(c==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var y=this._createImg(_,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(y,c),(this.options.crossOrigin||this.options.crossOrigin==="")&&(y.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),y},_setIconStyles:function(c,h){var _=this.options,y=_[h+"Size"];typeof y=="number"&&(y=[y,y]);var k=Ne(y),H=Ne(h==="shadow"&&_.shadowAnchor||_.iconAnchor||k&&k.divideBy(2,!0));c.className="leaflet-marker-"+h+" "+(_.className||""),H&&(c.style.marginLeft=-H.x+"px",c.style.marginTop=-H.y+"px"),k&&(c.style.width=k.x+"px",c.style.height=k.y+"px")},_createImg:function(c,h){return h=h||document.createElement("img"),h.src=c,h},_getIconUrl:function(c){return We.retina&&this.options[c+"RetinaUrl"]||this.options[c+"Url"]}});function gx(c){return new cc(c)}var md=cc.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(c){return typeof md.imagePath!="string"&&(md.imagePath=this._detectIconPath()),(this.options.imagePath||md.imagePath)+cc.prototype._getIconUrl.call(this,c)},_stripUrl:function(c){var h=function(_,y,k){var H=y.exec(_);return H&&H[k]};return c=h(c,/^url\((['"])?(.+)\1\)$/,2),c&&h(c,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var c=ie("div","leaflet-default-icon-path",document.body),h=Y(c,"background-image")||Y(c,"backgroundImage");if(document.body.removeChild(c),h=this._stripUrl(h),h)return h;var _=document.querySelector('link[href$="leaflet.css"]');return _?_.href.substring(0,_.href.length-11-1):""}}),H0=zn.extend({initialize:function(c){this._marker=c},addHooks:function(){var c=this._marker._icon;this._draggable||(this._draggable=new xs(c,c,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Re(c,"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&&tt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(c){var h=this._marker,_=h._map,y=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,H=gt(h._icon),ne=_.getPixelBounds(),Be=_.getPixelOrigin(),Ge=it(ne.min._subtract(Be).add(k),ne.max._subtract(Be).subtract(k));if(!Ge.contains(H)){var Mt=Ne((Math.max(Ge.max.x,H.x)-Ge.max.x)/(ne.max.x-Ge.max.x)-(Math.min(Ge.min.x,H.x)-Ge.min.x)/(ne.min.x-Ge.min.x),(Math.max(Ge.max.y,H.y)-Ge.max.y)/(ne.max.y-Ge.max.y)-(Math.min(Ge.min.y,H.y)-Ge.min.y)/(ne.min.y-Ge.min.y)).multiplyBy(y);_.panBy(Mt,{animate:!1}),this._draggable._newPos._add(Mt),this._draggable._startPos._add(Mt),Pe(h._icon,this._draggable._newPos),this._onDrag(c),this._panRequest=re(this._adjustPan.bind(this,c))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(c){this._marker.options.autoPan&&(ce(this._panRequest),this._panRequest=re(this._adjustPan.bind(this,c)))},_onDrag:function(c){var h=this._marker,_=h._shadow,y=gt(h._icon),k=h._map.layerPointToLatLng(y);_&&Pe(_,y),h._latlng=k,c.latlng=k,c.oldLatLng=this._oldLatLng,h.fire("move",c).fire("drag",c)},_onDragEnd:function(c){ce(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",c)}}),_d=bo.extend({options:{icon:new md,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(c,h){E(this,h),this._latlng=be(c)},onAdd:function(c){this._zoomAnimated=this._zoomAnimated&&c.options.markerZoomAnimation,this._zoomAnimated&&c.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(c){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&c.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(c){var h=this._latlng;return this._latlng=be(c),this.update(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},setZIndexOffset:function(c){return this.options.zIndexOffset=c,this.update()},getIcon:function(){return this.options.icon},setIcon:function(c){return this.options.icon=c,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 c=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(c)}return this},_initIcon:function(){var c=this.options,h="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),_=c.icon.createIcon(this._icon),y=!1;_!==this._icon&&(this._icon&&this._removeIcon(),y=!0,c.title&&(_.title=c.title),_.tagName==="IMG"&&(_.alt=c.alt||"")),Re(_,h),c.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,c.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Gt(_,"focus",this._panOnFocus,this);var k=c.icon.createShadow(this._shadow),H=!1;k!==this._shadow&&(this._removeShadow(),H=!0),k&&(Re(k,h),k.alt=""),this._shadow=k,c.opacity<1&&this._updateOpacity(),y&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&H&&this.getPane(c.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Di(this._icon,"focus",this._panOnFocus,this),se(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&se(this._shadow),this._shadow=null},_setPos:function(c){this._icon&&Pe(this._icon,c),this._shadow&&Pe(this._shadow,c),this._zIndex=c.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(c){this._icon&&(this._icon.style.zIndex=this._zIndex+c)},_animateZoom:function(c){var h=this._map._latLngToNewLayerPoint(this._latlng,c.zoom,c.center).round();this._setPos(h)},_initInteraction:function(){if(this.options.interactive&&(Re(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),H0)){var c=this.options.draggable;this.dragging&&(c=this.dragging.enabled(),this.dragging.disable()),this.dragging=new H0(this),c&&this.dragging.enable()}},setOpacity:function(c){return this.options.opacity=c,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var c=this.options.opacity;this._icon&&he(this._icon,c),this._shadow&&he(this._shadow,c)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var c=this._map;if(c){var h=this.options.icon.options,_=h.iconSize?Ne(h.iconSize):Ne(0,0),y=h.iconAnchor?Ne(h.iconAnchor):Ne(0,0);c.panInside(this._latlng,{paddingTopLeft:y,paddingBottomRight:_.subtract(y)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function Dh(c,h){return new _d(c,h)}var Pa=bo.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(c){this._renderer=c.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(c){return E(this,c),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&c&&Object.prototype.hasOwnProperty.call(c,"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)}}),bd=Pa.extend({options:{fill:!0,radius:10},initialize:function(c,h){E(this,h),this._latlng=be(c),this._radius=this.options.radius},setLatLng:function(c){var h=this._latlng;return this._latlng=be(c),this.redraw(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(c){return this.options.radius=this._radius=c,this.redraw()},getRadius:function(){return this._radius},setStyle:function(c){var h=c&&c.radius||this._radius;return Pa.prototype.setStyle.call(this,c),this.setRadius(h),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var c=this._radius,h=this._radiusY||c,_=this._clickTolerance(),y=[c+_,h+_];this._pxBounds=new Ee(this._point.subtract(y),this._point.add(y))},_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(c){return c.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function jb(c,h){return new bd(c,h)}var W0=bd.extend({initialize:function(c,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),E(this,h),this._latlng=be(c),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(c){return this._mRadius=c,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var c=[this._radius,this._radiusY||this._radius];return new Lt(this._map.layerPointToLatLng(this._point.subtract(c)),this._map.layerPointToLatLng(this._point.add(c)))},setStyle:Pa.prototype.setStyle,_project:function(){var c=this._latlng.lng,h=this._latlng.lat,_=this._map,y=_.options.crs;if(y.distance===Je.distance){var k=Math.PI/180,H=this._mRadius/Je.R/k,ne=_.project([h+H,c]),Be=_.project([h-H,c]),Ge=ne.add(Be).divideBy(2),Mt=_.unproject(Ge).lat,zi=Math.acos((Math.cos(H*k)-Math.sin(h*k)*Math.sin(Mt*k))/(Math.cos(h*k)*Math.cos(Mt*k)))/k;(isNaN(zi)||zi===0)&&(zi=H/Math.cos(Math.PI/180*h)),this._point=Ge.subtract(_.getPixelOrigin()),this._radius=isNaN(zi)?0:Ge.x-_.project([Mt,c-zi]).x,this._radiusY=Ge.y-ne.y}else{var yn=y.unproject(y.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(yn).x}this._updateBounds()}});function px(c,h,_){return new W0(c,h,_)}var aa=Pa.extend({options:{smoothFactor:1,noClip:!1},initialize:function(c,h){E(this,h),this._setLatLngs(c)},getLatLngs:function(){return this._latlngs},setLatLngs:function(c){return this._setLatLngs(c),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(c){for(var h=1/0,_=null,y=Ia,k,H,ne=0,Be=this._parts.length;ne<Be;ne++)for(var Ge=this._parts[ne],Mt=1,zi=Ge.length;Mt<zi;Mt++){k=Ge[Mt-1],H=Ge[Mt];var yn=y(c,k,H,!0);yn<h&&(h=yn,_=y(c,k,H))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return ac(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(c,h){return h=h||this._defaultShape(),c=be(c),h.push(c),this._bounds.extend(c),this.redraw()},_setLatLngs:function(c){this._bounds=new Lt,this._latlngs=this._convertLatLngs(c)},_defaultShape:function(){return Bo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(c){for(var h=[],_=Bo(c),y=0,k=c.length;y<k;y++)_?(h[y]=be(c[y]),this._bounds.extend(h[y])):h[y]=this._convertLatLngs(c[y]);return h},_project:function(){var c=new Ee;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,c),this._bounds.isValid()&&c.isValid()&&(this._rawPxBounds=c,this._updateBounds())},_updateBounds:function(){var c=this._clickTolerance(),h=new me(c,c);this._rawPxBounds&&(this._pxBounds=new Ee([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(c,h,_){var y=c[0]instanceof St,k=c.length,H,ne;if(y){for(ne=[],H=0;H<k;H++)ne[H]=this._map.latLngToLayerPoint(c[H]),_.extend(ne[H]);h.push(ne)}else for(H=0;H<k;H++)this._projectLatlngs(c[H],h,_)},_clipPoints:function(){var c=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(c))){if(this.options.noClip){this._parts=this._rings;return}var h=this._parts,_,y,k,H,ne,Be,Ge;for(_=0,k=0,H=this._rings.length;_<H;_++)for(Ge=this._rings[_],y=0,ne=Ge.length;y<ne-1;y++)Be=vd(Ge[y],Ge[y+1],c,y,!0),Be&&(h[k]=h[k]||[],h[k].push(Be[0]),(Be[1]!==Ge[y+1]||y===ne-2)&&(h[k].push(Be[1]),k++))}},_simplifyPoints:function(){for(var c=this._parts,h=this.options.smoothFactor,_=0,y=c.length;_<y;_++)c[_]=nc(c[_],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(c,h){var _,y,k,H,ne,Be,Ge=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(c))return!1;for(_=0,H=this._parts.length;_<H;_++)for(Be=this._parts[_],y=0,ne=Be.length,k=ne-1;y<ne;k=y++)if(!(!h&&y===0)&&pd(c,Be[k],Be[y])<=Ge)return!0;return!1}});function z0(c,h){return new aa(c,h)}aa._flat=Ch;var gl=aa.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 tc(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(c){var h=aa.prototype._convertLatLngs.call(this,c),_=h.length;return _>=2&&h[0]instanceof St&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(c){aa.prototype._setLatLngs.call(this,c),Bo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Bo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var c=this._renderer._bounds,h=this.options.weight,_=new me(h,h);if(c=new Ee(c.min.subtract(_),c.max.add(_)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(c))){if(this.options.noClip){this._parts=this._rings;return}for(var y=0,k=this._rings.length,H;y<k;y++)H=lr(this._rings[y],c,!0),H.length&&this._parts.push(H)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(c){var h=!1,_,y,k,H,ne,Be,Ge,Mt;if(!this._pxBounds||!this._pxBounds.contains(c))return!1;for(H=0,Ge=this._parts.length;H<Ge;H++)for(_=this._parts[H],ne=0,Mt=_.length,Be=Mt-1;ne<Mt;Be=ne++)y=_[ne],k=_[Be],y.y>c.y!=k.y>c.y&&c.x<(k.x-y.x)*(c.y-y.y)/(k.y-y.y)+y.x&&(h=!h);return h||aa.prototype._containsPoint.call(this,c,!0)}});function $b(c,h){return new gl(c,h)}var Nr=Rr.extend({initialize:function(c,h){E(this,h),this._layers={},c&&this.addData(c)},addData:function(c){var h=T(c)?c:c.features,_,y,k;if(h){for(_=0,y=h.length;_<y;_++)k=h[_],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var H=this.options;if(H.filter&&!H.filter(c))return this;var ne=Cd(c,H);return ne?(ne.feature=Lh(c),ne.defaultOptions=ne.options,this.resetStyle(ne),H.onEachFeature&&H.onEachFeature(c,ne),this.addLayer(ne)):this},resetStyle:function(c){return c===void 0?this.eachLayer(this.resetStyle,this):(c.options=n({},c.defaultOptions),this._setLayerStyle(c,this.options.style),this)},setStyle:function(c){return this.eachLayer(function(h){this._setLayerStyle(h,c)},this)},_setLayerStyle:function(c,h){c.setStyle&&(typeof h=="function"&&(h=h(c.feature)),c.setStyle(h))}});function Cd(c,h){var _=c.type==="Feature"?c.geometry:c,y=_?_.coordinates:null,k=[],H=h&&h.pointToLayer,ne=h&&h.coordsToLatLng||Ah,Be,Ge,Mt,zi;if(!y&&!_)return null;switch(_.type){case"Point":return Be=ne(y),V0(H,c,Be,h);case"MultiPoint":for(Mt=0,zi=y.length;Mt<zi;Mt++)Be=ne(y[Mt]),k.push(V0(H,c,Be,h));return new Rr(k);case"LineString":case"MultiLineString":return Ge=kh(y,_.type==="LineString"?0:1,ne),new aa(Ge,h);case"Polygon":case"MultiPolygon":return Ge=kh(y,_.type==="Polygon"?1:2,ne),new gl(Ge,h);case"GeometryCollection":for(Mt=0,zi=_.geometries.length;Mt<zi;Mt++){var yn=Cd({geometry:_.geometries[Mt],type:"Feature",properties:c.properties},h);yn&&k.push(yn)}return new Rr(k);case"FeatureCollection":for(Mt=0,zi=_.features.length;Mt<zi;Mt++){var Xn=Cd(_.features[Mt],h);Xn&&k.push(Xn)}return new Rr(k);default:throw new Error("Invalid GeoJSON object.")}}function V0(c,h,_,y){return c?c(h,_):new _d(_,y&&y.markersInheritOptions&&y)}function Ah(c){return new St(c[1],c[0],c[2])}function kh(c,h,_){for(var y=[],k=0,H=c.length,ne;k<H;k++)ne=h?kh(c[k],h-1,_):(_||Ah)(c[k]),y.push(ne);return y}function Bh(c,h){return c=be(c),c.alt!==void 0?[p(c.lng,h),p(c.lat,h),p(c.alt,h)]:[p(c.lng,h),p(c.lat,h)]}function Fh(c,h,_,y){for(var k=[],H=0,ne=c.length;H<ne;H++)k.push(h?Fh(c[H],Bo(c[H])?0:h-1,_,y):Bh(c[H],y));return!h&&_&&k.length>0&&k.push(k[0].slice()),k}function dc(c,h){return c.feature?n({},c.feature,{geometry:h}):Lh(h)}function Lh(c){return c.type==="Feature"||c.type==="FeatureCollection"?c:{type:"Feature",properties:{},geometry:c}}var j0={toGeoJSON:function(c){return dc(this,{type:"Point",coordinates:Bh(this.getLatLng(),c)})}};_d.include(j0),W0.include(j0),bd.include(j0),aa.include({toGeoJSON:function(c){var h=!Bo(this._latlngs),_=Fh(this._latlngs,h?1:0,!1,c);return dc(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),gl.include({toGeoJSON:function(c){var h=!Bo(this._latlngs),_=h&&!Bo(this._latlngs[0]),y=Fh(this._latlngs,_?2:h?1:0,!0,c);return h||(y=[y]),dc(this,{type:(_?"Multi":"")+"Polygon",coordinates:y})}}),fl.include({toMultiPoint:function(c){var h=[];return this.eachLayer(function(_){h.push(_.toGeoJSON(c).geometry.coordinates)}),dc(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(c){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(c);var _=h==="GeometryCollection",y=[];return this.eachLayer(function(k){if(k.toGeoJSON){var H=k.toGeoJSON(c);if(_)y.push(H.geometry);else{var ne=Lh(H);ne.type==="FeatureCollection"?y.push.apply(y,ne.features):y.push(ne)}}}),_?dc(this,{geometries:y,type:"GeometryCollection"}):{type:"FeatureCollection",features:y}}});function xx(c,h){return new Nr(c,h)}var Ub=xx,Ih=bo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(c,h,_){this._url=c,this._bounds=et(h),E(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Re(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){se(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(c){return this.options.opacity=c,this._image&&this._updateOpacity(),this},setStyle:function(c){return c.opacity&&this.setOpacity(c.opacity),this},bringToFront:function(){return this._map&&_e(this._image),this},bringToBack:function(){return this._map&&Ce(this._image),this},setUrl:function(c){return this._url=c,this._image&&(this._image.src=c),this},setBounds:function(c){return this._bounds=et(c),this._map&&this._reset(),this},getEvents:function(){var c={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(c.zoomanim=this._animateZoom),c},setZIndex:function(c){return this.options.zIndex=c,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var c=this._url.tagName==="IMG",h=this._image=c?this._url:ie("img");if(Re(h,"leaflet-image-layer"),this._zoomAnimated&&Re(h,"leaflet-zoom-animated"),this.options.className&&Re(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onload=r(this.fire,this,"load"),h.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),c){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(c){var h=this._map.getZoomScale(c.zoom),_=this._map._latLngBoundsToNewLayerBounds(this._bounds,c.zoom,c.center).min;Le(this._image,_,h)},_reset:function(){var c=this._image,h=new Ee(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();Pe(c,h.min),c.style.width=_.x+"px",c.style.height=_.y+"px"},_updateOpacity:function(){he(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 c=this.options.errorOverlayUrl;c&&this._url!==c&&(this._url=c,this._image.src=c)},getCenter:function(){return this._bounds.getCenter()}}),X=function(c,h,_){return new Ih(c,h,_)},xe=Ih.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var c=this._url.tagName==="VIDEO",h=this._image=c?this._url:ie("video");if(Re(h,"leaflet-image-layer"),this._zoomAnimated&&Re(h,"leaflet-zoom-animated"),this.options.className&&Re(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),c){for(var _=h.getElementsByTagName("source"),y=[],k=0;k<_.length;k++)y.push(_[k].src);this._url=_.length>0?y:[h.src];return}T(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var H=0;H<this._url.length;H++){var ne=ie("source");ne.src=this._url[H],h.appendChild(ne)}}});function mt(c,h,_){return new xe(c,h,_)}var xt=Ih.extend({_initImage:function(){var c=this._image=this._url;Re(c,"leaflet-image-layer"),this._zoomAnimated&&Re(c,"leaflet-zoom-animated"),this.options.className&&Re(c,this.options.className),c.onselectstart=g,c.onmousemove=g}});function at(c,h,_){return new xt(c,h,_)}var hi=bo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(c,h){c&&(c instanceof St||T(c))?(this._latlng=be(c),E(this,h)):(E(this,c),this._source=h),this.options.content&&(this._content=this.options.content)},openOn:function(c){return c=arguments.length?c:this._source._map,c.hasLayer(this)||c.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(c){return this._map?this.close():(arguments.length?this._source=c:c=this._source,this._prepareOpen(),this.openOn(c._map)),this},onAdd:function(c){this._zoomAnimated=c._zoomAnimated,this._container||this._initLayout(),c._fadeAnimated&&he(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),c._fadeAnimated&&he(this._container,1),this.bringToFront(),this.options.interactive&&(Re(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(c){c._fadeAnimated?(he(this._container,0),this._removeTimeout=setTimeout(r(se,void 0,this._container),200)):se(this._container),this.options.interactive&&(tt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(c){return this._latlng=be(c),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(c){return this._content=c,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 c={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(c.zoomanim=this._animateZoom),c},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&_e(this._container),this},bringToBack:function(){return this._map&&Ce(this._container),this},_prepareOpen:function(c){var h=this._source;if(!h._map)return!1;if(h instanceof Rr){h=null;var _=this._source._layers;for(var y in _)if(_[y]._map){h=_[y];break}if(!h)return!1;this._source=h}if(!c)if(h.getCenter)c=h.getCenter();else if(h.getLatLng)c=h.getLatLng();else if(h.getBounds)c=h.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(c),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var c=this._contentNode,h=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof h=="string")c.innerHTML=h;else{for(;c.hasChildNodes();)c.removeChild(c.firstChild);c.appendChild(h)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var c=this._map.latLngToLayerPoint(this._latlng),h=Ne(this.options.offset),_=this._getAnchor();this._zoomAnimated?Pe(this._container,c.add(_)):h=h.add(c).add(_);var y=this._containerBottom=-h.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=y+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});Mi.include({_initOverlay:function(c,h,_,y){var k=h;return k instanceof c||(k=new c(y).setContent(h)),_&&k.setLatLng(_),k}}),bo.include({_initOverlay:function(c,h,_,y){var k=_;return k instanceof c?(E(k,y),k._source=this):(k=h&&!y?h:new c(y,this),k.setContent(_)),k}});var $i=hi.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(c){return c=arguments.length?c:this._source._map,!c.hasLayer(this)&&c._popup&&c._popup.options.autoClose&&c.removeLayer(c._popup),c._popup=this,hi.prototype.openOn.call(this,c)},onAdd:function(c){hi.prototype.onAdd.call(this,c),c.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Pa||this._source.on("preclick",bt))},onRemove:function(c){hi.prototype.onRemove.call(this,c),c.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Pa||this._source.off("preclick",bt))},getEvents:function(){var c=hi.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(c.preclick=this.close),this.options.keepInView&&(c.moveend=this._adjustPan),c},_initLayout:function(){var c="leaflet-popup",h=this._container=ie("div",c+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=ie("div",c+"-content-wrapper",h);if(this._contentNode=ie("div",c+"-content",_),ui(h),It(this._contentNode),Gt(h,"contextmenu",bt),this._tipContainer=ie("div",c+"-tip-container",h),this._tip=ie("div",c+"-tip",this._tipContainer),this.options.closeButton){var y=this._closeButton=ie("a",c+"-close-button",h);y.setAttribute("role","button"),y.setAttribute("aria-label","Close popup"),y.href="#close",y.innerHTML='<span aria-hidden="true">&#215;</span>',Gt(y,"click",function(k){Kt(k),this.close()},this)}},_updateLayout:function(){var c=this._contentNode,h=c.style;h.width="",h.whiteSpace="nowrap";var _=c.offsetWidth;_=Math.min(_,this.options.maxWidth),_=Math.max(_,this.options.minWidth),h.width=_+1+"px",h.whiteSpace="",h.height="";var y=c.offsetHeight,k=this.options.maxHeight,H="leaflet-popup-scrolled";k&&y>k?(h.height=k+"px",Re(c,H)):tt(c,H),this._containerWidth=this._container.offsetWidth},_animateZoom:function(c){var h=this._map._latLngToNewLayerPoint(this._latlng,c.zoom,c.center),_=this._getAnchor();Pe(this._container,h.add(_))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var c=this._map,h=parseInt(Y(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,y=this._containerWidth,k=new me(this._containerLeft,-_-this._containerBottom);k._add(gt(this._container));var H=c.layerPointToContainerPoint(k),ne=Ne(this.options.autoPanPadding),Be=Ne(this.options.autoPanPaddingTopLeft||ne),Ge=Ne(this.options.autoPanPaddingBottomRight||ne),Mt=c.getSize(),zi=0,yn=0;H.x+y+Ge.x>Mt.x&&(zi=H.x+y-Mt.x+Ge.x),H.x-zi-Be.x<0&&(zi=H.x-Be.x),H.y+_+Ge.y>Mt.y&&(yn=H.y+_-Mt.y+Ge.y),H.y-yn-Be.y<0&&(yn=H.y-Be.y),(zi||yn)&&(this.options.keepInView&&(this._autopanning=!0),c.fire("autopanstart").panBy([zi,yn]))}},_getAnchor:function(){return Ne(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),On=function(c,h){return new $i(c,h)};Mi.mergeOptions({closePopupOnClick:!0}),Mi.include({openPopup:function(c,h,_){return this._initOverlay($i,c,h,_).openOn(this),this},closePopup:function(c){return c=arguments.length?c:this._popup,c&&c.close(),this}}),bo.include({bindPopup:function(c,h){return this._popup=this._initOverlay($i,this._popup,c,h),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(c){return this._popup&&(this instanceof Rr||(this._popup._source=this),this._popup._prepareOpen(c||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(c){return this._popup&&this._popup.setContent(c),this},getPopup:function(){return this._popup},_openPopup:function(c){if(!(!this._popup||!this._map)){mi(c);var h=c.layer||c.target;if(this._popup._source===h&&!(h instanceof Pa)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(c.latlng);return}this._popup._source=h,this.openPopup(c.latlng)}},_movePopup:function(c){this._popup.setLatLng(c.latlng)},_onKeyPress:function(c){c.originalEvent.keyCode===13&&this._openPopup(c)}});var Wi=hi.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(c){hi.prototype.onAdd.call(this,c),this.setOpacity(this.options.opacity),c.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(c){hi.prototype.onRemove.call(this,c),c.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var c=hi.prototype.getEvents.call(this);return this.options.permanent||(c.preclick=this.close),c},_initLayout:function(){var c="leaflet-tooltip",h=c+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ie("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(c){var h,_,y=this._map,k=this._container,H=y.latLngToContainerPoint(y.getCenter()),ne=y.layerPointToContainerPoint(c),Be=this.options.direction,Ge=k.offsetWidth,Mt=k.offsetHeight,zi=Ne(this.options.offset),yn=this._getAnchor();Be==="top"?(h=Ge/2,_=Mt):Be==="bottom"?(h=Ge/2,_=0):Be==="center"?(h=Ge/2,_=Mt/2):Be==="right"?(h=0,_=Mt/2):Be==="left"?(h=Ge,_=Mt/2):ne.x<H.x?(Be="right",h=0,_=Mt/2):(Be="left",h=Ge+(zi.x+yn.x)*2,_=Mt/2),c=c.subtract(Ne(h,_,!0)).add(zi).add(yn),tt(k,"leaflet-tooltip-right"),tt(k,"leaflet-tooltip-left"),tt(k,"leaflet-tooltip-top"),tt(k,"leaflet-tooltip-bottom"),Re(k,"leaflet-tooltip-"+Be),Pe(k,c)},_updatePosition:function(){var c=this._map.latLngToLayerPoint(this._latlng);this._setPosition(c)},setOpacity:function(c){this.options.opacity=c,this._container&&he(this._container,c)},_animateZoom:function(c){var h=this._map._latLngToNewLayerPoint(this._latlng,c.zoom,c.center);this._setPosition(h)},_getAnchor:function(){return Ne(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),dn=function(c,h){return new Wi(c,h)};Mi.include({openTooltip:function(c,h,_){return this._initOverlay(Wi,c,h,_).openOn(this),this},closeTooltip:function(c){return c.close(),this}}),bo.include({bindTooltip:function(c,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Wi,this._tooltip,c,h),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(c){if(!(!c&&this._tooltipHandlersAdded)){var h=c?"off":"on",_={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?_.add=this._openTooltip:(_.mouseover=this._openTooltip,_.mouseout=this.closeTooltip,_.click=this._openTooltip,this._map?this._addFocusListeners():_.add=this._addFocusListeners),this._tooltip.options.sticky&&(_.mousemove=this._moveTooltip),this[h](_),this._tooltipHandlersAdded=!c}},openTooltip:function(c){return this._tooltip&&(this instanceof Rr||(this._tooltip._source=this),this._tooltip._prepareOpen(c)&&(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(c){return this._tooltip&&this._tooltip.setContent(c),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(c){var h=typeof c.getElement=="function"&&c.getElement();h&&(Gt(h,"focus",function(){this._tooltip._source=c,this.openTooltip()},this),Gt(h,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(c){var h=typeof c.getElement=="function"&&c.getElement();h&&h.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(c){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var h=this;this._map.once("moveend",function(){h._openOnceFlag=!1,h._openTooltip(c)});return}this._tooltip._source=c.layer||c.target,this.openTooltip(this._tooltip.options.sticky?c.latlng:void 0)}},_moveTooltip:function(c){var h=c.latlng,_,y;this._tooltip.options.sticky&&c.originalEvent&&(_=this._map.mouseEventToContainerPoint(c.originalEvent),y=this._map.containerPointToLayerPoint(_),h=this._map.layerPointToLatLng(y)),this._tooltip.setLatLng(h)}});var hn=cc.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(c){var h=c&&c.tagName==="DIV"?c:document.createElement("div"),_=this.options;if(_.html instanceof Element?(fe(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var y=Ne(_.bgPos);h.style.backgroundPosition=-y.x+"px "+-y.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function In(c){return new hn(c)}cc.Default=md;var vn=bo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:We.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(c){E(this,c)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(c){c._addZoomLimit(this)},onRemove:function(c){this._removeAllTiles(),se(this._container),c._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(_e(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Ce(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(c){return this.options.opacity=c,this._updateOpacity(),this},setZIndex:function(c){return this.options.zIndex=c,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var c=this._clampZoom(this._map.getZoom());c!==this._tileZoom&&(this._tileZoom=c,this._updateLevels()),this._update()}return this},getEvents:function(){var c={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=u(this._onMoveEnd,this.options.updateInterval,this)),c.move=this._onMove),this._zoomAnimated&&(c.zoomanim=this._animateZoom),c},createTile:function(){return document.createElement("div")},getTileSize:function(){var c=this.options.tileSize;return c instanceof me?c:new me(c,c)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(c){for(var h=this.getPane().children,_=-c(-1/0,1/0),y=0,k=h.length,H;y<k;y++)H=h[y].style.zIndex,h[y]!==this._container&&H&&(_=c(_,+H));isFinite(_)&&(this.options.zIndex=_+c(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!We.ielt9){he(this._container,this.options.opacity);var c=+new Date,h=!1,_=!1;for(var y in this._tiles){var k=this._tiles[y];if(!(!k.current||!k.loaded)){var H=Math.min(1,(c-k.loaded)/200);he(k.el,H),H<1?h=!0:(k.active?_=!0:this._onOpaqueTile(k),k.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(ce(this._fadeFrame),this._fadeFrame=re(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=ie("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var c=this._tileZoom,h=this.options.maxZoom;if(c!==void 0){for(var _ in this._levels)_=Number(_),this._levels[_].el.children.length||_===c?(this._levels[_].el.style.zIndex=h-Math.abs(c-_),this._onUpdateLevel(_)):(se(this._levels[_].el),this._removeTilesAtZoom(_),this._onRemoveLevel(_),delete this._levels[_]);var y=this._levels[c],k=this._map;return y||(y=this._levels[c]={},y.el=ie("div","leaflet-tile-container leaflet-zoom-animated",this._container),y.el.style.zIndex=h,y.origin=k.project(k.unproject(k.getPixelOrigin()),c).round(),y.zoom=c,this._setZoomTransform(y,k.getCenter(),k.getZoom()),g(y.el.offsetWidth),this._onCreateLevel(y)),this._level=y,y}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var c,h,_=this._map.getZoom();if(_>this.options.maxZoom||_<this.options.minZoom){this._removeAllTiles();return}for(c in this._tiles)h=this._tiles[c],h.retain=h.current;for(c in this._tiles)if(h=this._tiles[c],h.current&&!h.active){var y=h.coords;this._retainParent(y.x,y.y,y.z,y.z-5)||this._retainChildren(y.x,y.y,y.z,y.z+2)}for(c in this._tiles)this._tiles[c].retain||this._removeTile(c)}},_removeTilesAtZoom:function(c){for(var h in this._tiles)this._tiles[h].coords.z===c&&this._removeTile(h)},_removeAllTiles:function(){for(var c in this._tiles)this._removeTile(c)},_invalidateAll:function(){for(var c in this._levels)se(this._levels[c].el),this._onRemoveLevel(Number(c)),delete this._levels[c];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(c,h,_,y){var k=Math.floor(c/2),H=Math.floor(h/2),ne=_-1,Be=new me(+k,+H);Be.z=+ne;var Ge=this._tileCoordsToKey(Be),Mt=this._tiles[Ge];return Mt&&Mt.active?(Mt.retain=!0,!0):(Mt&&Mt.loaded&&(Mt.retain=!0),ne>y?this._retainParent(k,H,ne,y):!1)},_retainChildren:function(c,h,_,y){for(var k=2*c;k<2*c+2;k++)for(var H=2*h;H<2*h+2;H++){var ne=new me(k,H);ne.z=_+1;var Be=this._tileCoordsToKey(ne),Ge=this._tiles[Be];if(Ge&&Ge.active){Ge.retain=!0;continue}else Ge&&Ge.loaded&&(Ge.retain=!0);_+1<y&&this._retainChildren(k,H,_+1,y)}},_resetView:function(c){var h=c&&(c.pinch||c.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),h,h)},_animateZoom:function(c){this._setView(c.center,c.zoom,!0,c.noUpdate)},_clampZoom:function(c){var h=this.options;return h.minNativeZoom!==void 0&&c<h.minNativeZoom?h.minNativeZoom:h.maxNativeZoom!==void 0&&h.maxNativeZoom<c?h.maxNativeZoom:c},_setView:function(c,h,_,y){var k=Math.round(h);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var H=this.options.updateWhenZooming&&k!==this._tileZoom;(!y||H)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(c),_||this._pruneTiles(),this._noPrune=!!_),this._setZoomTransforms(c,h)},_setZoomTransforms:function(c,h){for(var _ in this._levels)this._setZoomTransform(this._levels[_],c,h)},_setZoomTransform:function(c,h,_){var y=this._map.getZoomScale(_,c.zoom),k=c.origin.multiplyBy(y).subtract(this._map._getNewPixelOrigin(h,_)).round();We.any3d?Le(c.el,k,y):Pe(c.el,k)},_resetGrid:function(){var c=this._map,h=c.options.crs,_=this._tileSize=this.getTileSize(),y=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(c.project([0,h.wrapLng[0]],y).x/_.x),Math.ceil(c.project([0,h.wrapLng[1]],y).x/_.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(c.project([h.wrapLat[0],0],y).y/_.x),Math.ceil(c.project([h.wrapLat[1],0],y).y/_.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(c){var h=this._map,_=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),y=h.getZoomScale(_,this._tileZoom),k=h.project(c,this._tileZoom).floor(),H=h.getSize().divideBy(y*2);return new Ee(k.subtract(H),k.add(H))},_update:function(c){var h=this._map;if(h){var _=this._clampZoom(h.getZoom());if(c===void 0&&(c=h.getCenter()),this._tileZoom!==void 0){var y=this._getTiledPixelBounds(c),k=this._pxBoundsToTileRange(y),H=k.getCenter(),ne=[],Be=this.options.keepBuffer,Ge=new Ee(k.getBottomLeft().subtract([Be,-Be]),k.getTopRight().add([Be,-Be]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Mt in this._tiles){var zi=this._tiles[Mt].coords;(zi.z!==this._tileZoom||!Ge.contains(new me(zi.x,zi.y)))&&(this._tiles[Mt].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(c,_);return}for(var yn=k.min.y;yn<=k.max.y;yn++)for(var Xn=k.min.x;Xn<=k.max.x;Xn++){var Co=new me(Xn,yn);if(Co.z=this._tileZoom,!!this._isValidTile(Co)){var oo=this._tiles[this._tileCoordsToKey(Co)];oo?oo.current=!0:ne.push(Co)}}if(ne.sort(function(Vo,uc){return Vo.distanceTo(H)-uc.distanceTo(H)}),ne.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Yo=document.createDocumentFragment();for(Xn=0;Xn<ne.length;Xn++)this._addTile(ne[Xn],Yo);this._level.el.appendChild(Yo)}}}},_isValidTile:function(c){var h=this._map.options.crs;if(!h.infinite){var _=this._globalTileRange;if(!h.wrapLng&&(c.x<_.min.x||c.x>_.max.x)||!h.wrapLat&&(c.y<_.min.y||c.y>_.max.y))return!1}if(!this.options.bounds)return!0;var y=this._tileCoordsToBounds(c);return et(this.options.bounds).overlaps(y)},_keyToBounds:function(c){return this._tileCoordsToBounds(this._keyToTileCoords(c))},_tileCoordsToNwSe:function(c){var h=this._map,_=this.getTileSize(),y=c.scaleBy(_),k=y.add(_),H=h.unproject(y,c.z),ne=h.unproject(k,c.z);return[H,ne]},_tileCoordsToBounds:function(c){var h=this._tileCoordsToNwSe(c),_=new Lt(h[0],h[1]);return this.options.noWrap||(_=this._map.wrapLatLngBounds(_)),_},_tileCoordsToKey:function(c){return c.x+":"+c.y+":"+c.z},_keyToTileCoords:function(c){var h=c.split(":"),_=new me(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(c){var h=this._tiles[c];h&&(se(h.el),delete this._tiles[c],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(c)}))},_initTile:function(c){Re(c,"leaflet-tile");var h=this.getTileSize();c.style.width=h.x+"px",c.style.height=h.y+"px",c.onselectstart=g,c.onmousemove=g,We.ielt9&&this.options.opacity<1&&he(c,this.options.opacity)},_addTile:function(c,h){var _=this._getTilePos(c),y=this._tileCoordsToKey(c),k=this.createTile(this._wrapCoords(c),r(this._tileReady,this,c));this._initTile(k),this.createTile.length<2&&re(r(this._tileReady,this,c,null,k)),Pe(k,_),this._tiles[y]={el:k,coords:c,current:!0},h.appendChild(k),this.fire("tileloadstart",{tile:k,coords:c})},_tileReady:function(c,h,_){h&&this.fire("tileerror",{error:h,tile:_,coords:c});var y=this._tileCoordsToKey(c);_=this._tiles[y],_&&(_.loaded=+new Date,this._map._fadeAnimated?(he(_.el,0),ce(this._fadeFrame),this._fadeFrame=re(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(Re(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:c})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),We.ielt9||!this._map._fadeAnimated?re(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(c){return c.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(c){var h=new me(this._wrapX?f(c.x,this._wrapX):c.x,this._wrapY?f(c.y,this._wrapY):c.y);return h.z=c.z,h},_pxBoundsToTileRange:function(c){var h=this.getTileSize();return new Ee(c.min.unscaleBy(h).floor(),c.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var c in this._tiles)if(!this._tiles[c].loaded)return!1;return!0}});function $n(c){return new vn(c)}var Vn=vn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(c,h){this._url=c,h=E(this,h),h.detectRetina&&We.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(c,h){return this._url===c&&h===void 0&&(h=!0),this._url=c,h||this.redraw(),this},createTile:function(c,h){var _=document.createElement("img");return Gt(_,"load",r(this._tileOnLoad,this,h,_)),Gt(_,"error",r(this._tileOnError,this,h,_)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(_.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(_.referrerPolicy=this.options.referrerPolicy),_.alt="",_.src=this.getTileUrl(c),_},getTileUrl:function(c){var h={r:We.retina?"@2x":"",s:this._getSubdomain(c),x:c.x,y:c.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var _=this._globalTileRange.max.y-c.y;this.options.tms&&(h.y=_),h["-y"]=_}return I(this._url,n(h,this.options))},_tileOnLoad:function(c,h){We.ielt9?setTimeout(r(c,this,null,h),0):c(null,h)},_tileOnError:function(c,h,_){var y=this.options.errorTileUrl;y&&h.getAttribute("src")!==y&&(h.src=y),c(_,h)},_onTileRemove:function(c){c.tile.onload=null},_getZoomForUrl:function(){var c=this._tileZoom,h=this.options.maxZoom,_=this.options.zoomReverse,y=this.options.zoomOffset;return _&&(c=h-c),c+y},_getSubdomain:function(c){var h=Math.abs(c.x+c.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var c,h;for(c in this._tiles)if(this._tiles[c].coords.z!==this._tileZoom&&(h=this._tiles[c].el,h.onload=g,h.onerror=g,!h.complete)){h.src=P;var _=this._tiles[c].coords;se(h),delete this._tiles[c],this.fire("tileabort",{tile:h,coords:_})}},_removeTile:function(c){var h=this._tiles[c];if(h)return h.el.setAttribute("src",P),vn.prototype._removeTile.call(this,c)},_tileReady:function(c,h,_){if(!(!this._map||_&&_.getAttribute("src")===P))return vn.prototype._tileReady.call(this,c,h,_)}});function jn(c,h){return new Vn(c,h)}var ln=Vn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(c,h){this._url=c;var _=n({},this.defaultWmsParams);for(var y in h)y in this.options||(_[y]=h[y]);h=E(this,h);var k=h.detectRetina&&We.retina?2:1,H=this.getTileSize();_.width=H.x*k,_.height=H.y*k,this.wmsParams=_},onAdd:function(c){this._crs=this.options.crs||c.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,Vn.prototype.onAdd.call(this,c)},getTileUrl:function(c){var h=this._tileCoordsToNwSe(c),_=this._crs,y=it(_.project(h[0]),_.project(h[1])),k=y.min,H=y.max,ne=(this._wmsVersion>=1.3&&this._crs===wh?[k.y,k.x,H.y,H.x]:[k.x,k.y,H.x,H.y]).join(","),Be=Vn.prototype.getTileUrl.call(this,c);return Be+w(this.wmsParams,Be,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+ne},setParams:function(c,h){return n(this.wmsParams,c),h||this.redraw(),this}});function Hn(c,h){return new ln(c,h)}Vn.WMS=ln,jn.wms=Hn;var cs=bo.extend({options:{padding:.1},initialize:function(c){E(this,c),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Re(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 c={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(c.zoomanim=this._onAnimZoom),c},_onAnimZoom:function(c){this._updateTransform(c.center,c.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(c,h){var _=this._map.getZoomScale(h,this._zoom),y=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,h),H=y.multiplyBy(-_).add(k).subtract(this._map._getNewPixelOrigin(c,h));We.any3d?Le(this._container,H,_):Pe(this._container,H)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var c in this._layers)this._layers[c]._reset()},_onZoomEnd:function(){for(var c in this._layers)this._layers[c]._project()},_updatePaths:function(){for(var c in this._layers)this._layers[c]._update()},_update:function(){var c=this.options.padding,h=this._map.getSize(),_=this._map.containerPointToLayerPoint(h.multiplyBy(-c)).round();this._bounds=new Ee(_,_.add(h.multiplyBy(1+c*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),ho=cs.extend({options:{tolerance:0},getEvents:function(){var c=cs.prototype.getEvents.call(this);return c.viewprereset=this._onViewPreReset,c},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){cs.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var c=this._container=document.createElement("canvas");Gt(c,"mousemove",this._onMouseMove,this),Gt(c,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Gt(c,"mouseout",this._handleMouseOut,this),c._leaflet_disable_events=!0,this._ctx=c.getContext("2d")},_destroyContainer:function(){ce(this._redrawRequest),delete this._ctx,se(this._container),Di(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var c;this._redrawBounds=null;for(var h in this._layers)c=this._layers[h],c._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){cs.prototype._update.call(this);var c=this._bounds,h=this._container,_=c.getSize(),y=We.retina?2:1;Pe(h,c.min),h.width=y*_.x,h.height=y*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",We.retina&&this._ctx.scale(2,2),this._ctx.translate(-c.min.x,-c.min.y),this.fire("update")}},_reset:function(){cs.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(c){this._updateDashArray(c),this._layers[d(c)]=c;var h=c._order={layer:c,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(c){this._requestRedraw(c)},_removePath:function(c){var h=c._order,_=h.next,y=h.prev;_?_.prev=y:this._drawLast=y,y?y.next=_:this._drawFirst=_,delete c._order,delete this._layers[d(c)],this._requestRedraw(c)},_updatePath:function(c){this._extendRedrawBounds(c),c._project(),c._update(),this._requestRedraw(c)},_updateStyle:function(c){this._updateDashArray(c),this._requestRedraw(c)},_updateDashArray:function(c){if(typeof c.options.dashArray=="string"){var h=c.options.dashArray.split(/[, ]+/),_=[],y,k;for(k=0;k<h.length;k++){if(y=Number(h[k]),isNaN(y))return;_.push(y)}c.options._dashArray=_}else c.options._dashArray=c.options.dashArray},_requestRedraw:function(c){this._map&&(this._extendRedrawBounds(c),this._redrawRequest=this._redrawRequest||re(this._redraw,this))},_extendRedrawBounds:function(c){if(c._pxBounds){var h=(c.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Ee,this._redrawBounds.extend(c._pxBounds.min.subtract([h,h])),this._redrawBounds.extend(c._pxBounds.max.add([h,h]))}},_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 c=this._redrawBounds;if(c){var h=c.getSize();this._ctx.clearRect(c.min.x,c.min.y,h.x,h.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 c,h=this._redrawBounds;if(this._ctx.save(),h){var _=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,_.x,_.y),this._ctx.clip()}this._drawing=!0;for(var y=this._drawFirst;y;y=y.next)c=y.layer,(!h||c._pxBounds&&c._pxBounds.intersects(h))&&c._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(c,h){if(this._drawing){var _,y,k,H,ne=c._parts,Be=ne.length,Ge=this._ctx;if(Be){for(Ge.beginPath(),_=0;_<Be;_++){for(y=0,k=ne[_].length;y<k;y++)H=ne[_][y],Ge[y?"lineTo":"moveTo"](H.x,H.y);h&&Ge.closePath()}this._fillStroke(Ge,c)}}},_updateCircle:function(c){if(!(!this._drawing||c._empty())){var h=c._point,_=this._ctx,y=Math.max(Math.round(c._radius),1),k=(Math.max(Math.round(c._radiusY),1)||y)/y;k!==1&&(_.save(),_.scale(1,k)),_.beginPath(),_.arc(h.x,h.y/k,y,0,Math.PI*2,!1),k!==1&&_.restore(),this._fillStroke(_,c)}},_fillStroke:function(c,h){var _=h.options;_.fill&&(c.globalAlpha=_.fillOpacity,c.fillStyle=_.fillColor||_.color,c.fill(_.fillRule||"evenodd")),_.stroke&&_.weight!==0&&(c.setLineDash&&c.setLineDash(h.options&&h.options._dashArray||[]),c.globalAlpha=_.opacity,c.lineWidth=_.weight,c.strokeStyle=_.color,c.lineCap=_.lineCap,c.lineJoin=_.lineJoin,c.stroke())},_onClick:function(c){for(var h=this._map.mouseEventToLayerPoint(c),_,y,k=this._drawFirst;k;k=k.next)_=k.layer,_.options.interactive&&_._containsPoint(h)&&(!(c.type==="click"||c.type==="preclick")||!this._map._draggableMoved(_))&&(y=_);this._fireEvent(y?[y]:!1,c)},_onMouseMove:function(c){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var h=this._map.mouseEventToLayerPoint(c);this._handleMouseHover(c,h)}},_handleMouseOut:function(c){var h=this._hoveredLayer;h&&(tt(this._container,"leaflet-interactive"),this._fireEvent([h],c,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(c,h){if(!this._mouseHoverThrottled){for(var _,y,k=this._drawFirst;k;k=k.next)_=k.layer,_.options.interactive&&_._containsPoint(h)&&(y=_);y!==this._hoveredLayer&&(this._handleMouseOut(c),y&&(Re(this._container,"leaflet-interactive"),this._fireEvent([y],c,"mouseover"),this._hoveredLayer=y)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,c),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(c,h,_){this._map._fireDOMEvent(h,_||h.type,c)},_bringToFront:function(c){var h=c._order;if(h){var _=h.next,y=h.prev;if(_)_.prev=y;else return;y?y.next=_:_&&(this._drawFirst=_),h.prev=this._drawLast,this._drawLast.next=h,h.next=null,this._drawLast=h,this._requestRedraw(c)}},_bringToBack:function(c){var h=c._order;if(h){var _=h.next,y=h.prev;if(y)y.next=_;else return;_?_.prev=y:y&&(this._drawLast=y),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(c)}}});function us(c){return We.canvas?new ho(c):null}var Kn=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(c){return document.createElement("<lvml:"+c+' class="lvml">')}}catch{}return function(c){return document.createElement("<"+c+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),Es={_initContainer:function(){this._container=ie("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(cs.prototype._update.call(this),this.fire("update"))},_initPath:function(c){var h=c._container=Kn("shape");Re(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",c._path=Kn("path"),h.appendChild(c._path),this._updateStyle(c),this._layers[d(c)]=c},_addPath:function(c){var h=c._container;this._container.appendChild(h),c.options.interactive&&c.addInteractiveTarget(h)},_removePath:function(c){var h=c._container;se(h),c.removeInteractiveTarget(h),delete this._layers[d(c)]},_updateStyle:function(c){var h=c._stroke,_=c._fill,y=c.options,k=c._container;k.stroked=!!y.stroke,k.filled=!!y.fill,y.stroke?(h||(h=c._stroke=Kn("stroke")),k.appendChild(h),h.weight=y.weight+"px",h.color=y.color,h.opacity=y.opacity,y.dashArray?h.dashStyle=T(y.dashArray)?y.dashArray.join(" "):y.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=y.lineCap.replace("butt","flat"),h.joinstyle=y.lineJoin):h&&(k.removeChild(h),c._stroke=null),y.fill?(_||(_=c._fill=Kn("fill")),k.appendChild(_),_.color=y.fillColor||y.color,_.opacity=y.fillOpacity):_&&(k.removeChild(_),c._fill=null)},_updateCircle:function(c){var h=c._point.round(),_=Math.round(c._radius),y=Math.round(c._radiusY||_);this._setPath(c,c._empty()?"M0 0":"AL "+h.x+","+h.y+" "+_+","+y+" 0,"+65535*360)},_setPath:function(c,h){c._path.v=h},_bringToFront:function(c){_e(c._container)},_bringToBack:function(c){Ce(c._container)}},es=We.vml?Kn:vt,hs=cs.extend({_initContainer:function(){this._container=es("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=es("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){se(this._container),Di(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){cs.prototype._update.call(this);var c=this._bounds,h=c.getSize(),_=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,_.setAttribute("width",h.x),_.setAttribute("height",h.y)),Pe(_,c.min),_.setAttribute("viewBox",[c.min.x,c.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(c){var h=c._path=es("path");c.options.className&&Re(h,c.options.className),c.options.interactive&&Re(h,"leaflet-interactive"),this._updateStyle(c),this._layers[d(c)]=c},_addPath:function(c){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(c._path),c.addInteractiveTarget(c._path)},_removePath:function(c){se(c._path),c.removeInteractiveTarget(c._path),delete this._layers[d(c)]},_updatePath:function(c){c._project(),c._update()},_updateStyle:function(c){var h=c._path,_=c.options;h&&(_.stroke?(h.setAttribute("stroke",_.color),h.setAttribute("stroke-opacity",_.opacity),h.setAttribute("stroke-width",_.weight),h.setAttribute("stroke-linecap",_.lineCap),h.setAttribute("stroke-linejoin",_.lineJoin),_.dashArray?h.setAttribute("stroke-dasharray",_.dashArray):h.removeAttribute("stroke-dasharray"),_.dashOffset?h.setAttribute("stroke-dashoffset",_.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),_.fill?(h.setAttribute("fill",_.fillColor||_.color),h.setAttribute("fill-opacity",_.fillOpacity),h.setAttribute("fill-rule",_.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(c,h){this._setPath(c,li(c._parts,h))},_updateCircle:function(c){var h=c._point,_=Math.max(Math.round(c._radius),1),y=Math.max(Math.round(c._radiusY),1)||_,k="a"+_+","+y+" 0 1,0 ",H=c._empty()?"M0 0":"M"+(h.x-_)+","+h.y+k+_*2+",0 "+k+-_*2+",0 ";this._setPath(c,H)},_setPath:function(c,h){c._path.setAttribute("d",h)},_bringToFront:function(c){_e(c._path)},_bringToBack:function(c){Ce(c._path)}});We.vml&&hs.include(Es);function Pn(c){return We.svg||We.vml?new hs(c):null}Mi.include({getRenderer:function(c){var h=c.options.renderer||this._getPaneRenderer(c.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(c){if(c==="overlayPane"||c===void 0)return!1;var h=this._paneRenderers[c];return h===void 0&&(h=this._createRenderer({pane:c}),this._paneRenderers[c]=h),h},_createRenderer:function(c){return this.options.preferCanvas&&us(c)||Pn(c)}});var fs=gl.extend({initialize:function(c,h){gl.prototype.initialize.call(this,this._boundsToLatLngs(c),h)},setBounds:function(c){return this.setLatLngs(this._boundsToLatLngs(c))},_boundsToLatLngs:function(c){return c=et(c),[c.getSouthWest(),c.getNorthWest(),c.getNorthEast(),c.getSouthEast()]}});function ts(c,h){return new fs(c,h)}hs.create=es,hs.pointsToPath=li,Nr.geometryToLayer=Cd,Nr.coordsToLatLng=Ah,Nr.coordsToLatLngs=kh,Nr.latLngToCoords=Bh,Nr.latLngsToCoords=Fh,Nr.getFeature=dc,Nr.asFeature=Lh,Mi.mergeOptions({boxZoom:!0});var Zn=zn.extend({initialize:function(c){this._map=c,this._container=c._container,this._pane=c._panes.overlayPane,this._resetStateTimeout=0,c.on("unload",this._destroy,this)},addHooks:function(){Gt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Di(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){se(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(c){if(!c.shiftKey||c.which!==1&&c.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),pt(),st(),this._startPoint=this._map.mouseEventToContainerPoint(c),Gt(document,{contextmenu:mi,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(c){this._moved||(this._moved=!0,this._box=ie("div","leaflet-zoom-box",this._container),Re(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(c);var h=new Ee(this._point,this._startPoint),_=h.getSize();Pe(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(se(this._box),tt(this._container,"leaflet-crosshair")),Xe(),Ct(),Di(document,{contextmenu:mi,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(c){if(!(c.which!==1&&c.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var h=new Lt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(c){c.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Mi.addInitHook("addHandler","boxZoom",Zn),Mi.mergeOptions({doubleClickZoom:!0});var Bn=zn.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(c){var h=this._map,_=h.getZoom(),y=h.options.zoomDelta,k=c.originalEvent.shiftKey?_-y:_+y;h.options.doubleClickZoom==="center"?h.setZoom(k):h.setZoomAround(c.containerPoint,k)}});Mi.addInitHook("addHandler","doubleClickZoom",Bn),Mi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var ks=zn.extend({addHooks:function(){if(!this._draggable){var c=this._map;this._draggable=new xs(c._mapPane,c._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),c.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),c.on("zoomend",this._onZoomEnd,this),c.whenReady(this._onZoomEnd,this))}Re(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){tt(this._map._container,"leaflet-grab"),tt(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 c=this._map;if(c._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=et(this._map.options.maxBounds);this._offsetLimit=it(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;c.fire("movestart").fire("dragstart"),c.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(c){if(this._map.options.inertia){var h=this._lastTime=+new Date,_=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(_),this._times.push(h),this._prunePositions(h)}this._map.fire("move",c).fire("drag",c)},_prunePositions:function(c){for(;this._positions.length>1&&c-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var c=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(c).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(c,h){return c-(c-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var c=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;c.x<h.min.x&&(c.x=this._viscousLimit(c.x,h.min.x)),c.y<h.min.y&&(c.y=this._viscousLimit(c.y,h.min.y)),c.x>h.max.x&&(c.x=this._viscousLimit(c.x,h.max.x)),c.y>h.max.y&&(c.y=this._viscousLimit(c.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(c)}},_onPreDragWrap:function(){var c=this._worldWidth,h=Math.round(c/2),_=this._initialWorldOffset,y=this._draggable._newPos.x,k=(y-h+_)%c+h-_,H=(y+h+_)%c-h-_,ne=Math.abs(k+_)<Math.abs(H+_)?k:H;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=ne},_onDragEnd:function(c){var h=this._map,_=h.options,y=!_.inertia||c.noInertia||this._times.length<2;if(h.fire("dragend",c),y)h.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),H=(this._lastTime-this._times[0])/1e3,ne=_.easeLinearity,Be=k.multiplyBy(ne/H),Ge=Be.distanceTo([0,0]),Mt=Math.min(_.inertiaMaxSpeed,Ge),zi=Be.multiplyBy(Mt/Ge),yn=Mt/(_.inertiaDeceleration*ne),Xn=zi.multiplyBy(-yn/2).round();!Xn.x&&!Xn.y?h.fire("moveend"):(Xn=h._limitOffset(Xn,h.options.maxBounds),re(function(){h.panBy(Xn,{duration:yn,easeLinearity:ne,noMoveStart:!0,animate:!0})}))}}});Mi.addInitHook("addHandler","dragging",ks),Mi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Rs=zn.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(c){this._map=c,this._setPanDelta(c.options.keyboardPanDelta),this._setZoomDelta(c.options.zoomDelta)},addHooks:function(){var c=this._map._container;c.tabIndex<=0&&(c.tabIndex="0"),Gt(c,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Di(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 c=document.body,h=document.documentElement,_=c.scrollTop||h.scrollTop,y=c.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(y,_)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(c){var h=this._panKeys={},_=this.keyCodes,y,k;for(y=0,k=_.left.length;y<k;y++)h[_.left[y]]=[-1*c,0];for(y=0,k=_.right.length;y<k;y++)h[_.right[y]]=[c,0];for(y=0,k=_.down.length;y<k;y++)h[_.down[y]]=[0,c];for(y=0,k=_.up.length;y<k;y++)h[_.up[y]]=[0,-1*c]},_setZoomDelta:function(c){var h=this._zoomKeys={},_=this.keyCodes,y,k;for(y=0,k=_.zoomIn.length;y<k;y++)h[_.zoomIn[y]]=c;for(y=0,k=_.zoomOut.length;y<k;y++)h[_.zoomOut[y]]=-c},_addHooks:function(){Gt(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Di(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(c){if(!(c.altKey||c.ctrlKey||c.metaKey)){var h=c.keyCode,_=this._map,y;if(h in this._panKeys){if(!_._panAnim||!_._panAnim._inProgress)if(y=this._panKeys[h],c.shiftKey&&(y=Ne(y).multiplyBy(3)),_.options.maxBounds&&(y=_._limitOffset(Ne(y),_.options.maxBounds)),_.options.worldCopyJump){var k=_.wrapLatLng(_.unproject(_.project(_.getCenter()).add(y)));_.panTo(k)}else _.panBy(y)}else if(h in this._zoomKeys)_.setZoom(_.getZoom()+(c.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&_._popup&&_._popup.options.closeOnEscapeKey)_.closePopup();else return;mi(c)}}});Mi.addInitHook("addHandler","keyboard",Rs),Mi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var po=zn.extend({addHooks:function(){Gt(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Di(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(c){var h=yi(c),_=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(c),this._startTime||(this._startTime=+new Date);var y=Math.max(_-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),y),mi(c)},_performZoom:function(){var c=this._map,h=c.getZoom(),_=this._map.options.zoomSnap||0;c._stop();var y=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(y))))/Math.LN2,H=_?Math.ceil(k/_)*_:k,ne=c._limitZoom(h+(this._delta>0?H:-H))-h;this._delta=0,this._startTime=null,ne&&(c.options.scrollWheelZoom==="center"?c.setZoom(h+ne):c.setZoomAround(this._lastMousePos,h+ne))}});Mi.addInitHook("addHandler","scrollWheelZoom",po);var Sr=600;Mi.mergeOptions({tapHold:We.touchNative&&We.safari&&We.mobile,tapTolerance:15});var qs=zn.extend({addHooks:function(){Gt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Di(this._map._container,"touchstart",this._onDown,this)},_onDown:function(c){if(clearTimeout(this._holdTimeout),c.touches.length===1){var h=c.touches[0];this._startPos=this._newPos=new me(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Gt(document,"touchend",Kt),Gt(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),Sr),Gt(document,"touchend touchcancel contextmenu",this._cancel,this),Gt(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function c(){Di(document,"touchend",Kt),Di(document,"touchend touchcancel",c)},_cancel:function(){clearTimeout(this._holdTimeout),Di(document,"touchend touchcancel contextmenu",this._cancel,this),Di(document,"touchmove",this._onMove,this)},_onMove:function(c){var h=c.touches[0];this._newPos=new me(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(c,h){var _=new MouseEvent(c,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});_._simulated=!0,h.target.dispatchEvent(_)}});Mi.addInitHook("addHandler","tapHold",qs),Mi.mergeOptions({touchZoom:We.touch,bounceAtZoomLimits:!0});var ns=zn.extend({addHooks:function(){Re(this._map._container,"leaflet-touch-zoom"),Gt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){tt(this._map._container,"leaflet-touch-zoom"),Di(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(c){var h=this._map;if(!(!c.touches||c.touches.length!==2||h._animatingZoom||this._zooming)){var _=h.mouseEventToContainerPoint(c.touches[0]),y=h.mouseEventToContainerPoint(c.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(_.add(y)._divideBy(2))),this._startDist=_.distanceTo(y),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),Gt(document,"touchmove",this._onTouchMove,this),Gt(document,"touchend touchcancel",this._onTouchEnd,this),Kt(c)}},_onTouchMove:function(c){if(!(!c.touches||c.touches.length!==2||!this._zooming)){var h=this._map,_=h.mouseEventToContainerPoint(c.touches[0]),y=h.mouseEventToContainerPoint(c.touches[1]),k=_.distanceTo(y)/this._startDist;if(this._zoom=h.getScaleZoom(k,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&k<1||this._zoom>h.getMaxZoom()&&k>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var H=_._add(y)._divideBy(2)._subtract(this._centerPoint);if(k===1&&H.x===0&&H.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(H),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),ce(this._animRequest);var ne=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=re(ne,this,!0),Kt(c)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ce(this._animRequest),Di(document,"touchmove",this._onTouchMove,this),Di(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",ns),Mi.BoxZoom=Zn,Mi.DoubleClickZoom=Bn,Mi.Drag=ks,Mi.Keyboard=Rs,Mi.ScrollWheelZoom=po,Mi.TapHold=qs,Mi.TouchZoom=ns,t.Bounds=Ee,t.Browser=We,t.CRS=ke,t.Canvas=ho,t.Circle=W0,t.CircleMarker=bd,t.Class=te,t.Control=Ui,t.DivIcon=hn,t.DivOverlay=hi,t.DomEvent=En,t.DomUtil=Vi,t.Draggable=xs,t.Evented=He,t.FeatureGroup=Rr,t.GeoJSON=Nr,t.GridLayer=vn,t.Handler=zn,t.Icon=cc,t.ImageOverlay=Ih,t.LatLng=St,t.LatLngBounds=Lt,t.Layer=bo,t.LayerGroup=fl,t.LineUtil=Eh,t.Map=Mi,t.Marker=_d,t.Mixin=Ys,t.Path=Pa,t.Point=me,t.PolyUtil=_h,t.Polygon=gl,t.Polyline=aa,t.Popup=$i,t.PosAnimation=cn,t.Projection=O0,t.Rectangle=fs,t.Renderer=cs,t.SVG=hs,t.SVGOverlay=xt,t.TileLayer=Vn,t.Tooltip=Wi,t.Transformation=kt,t.Util=ge,t.VideoOverlay=xe,t.bind=r,t.bounds=it,t.canvas=us,t.circle=px,t.circleMarker=jb,t.control=Ai,t.divIcon=In,t.extend=n,t.featureGroup=fx,t.geoJSON=xx,t.geoJson=Ub,t.gridLayer=$n,t.icon=gx,t.imageOverlay=X,t.latLng=be,t.latLngBounds=et,t.layerGroup=Vb,t.map=Wn,t.marker=Dh,t.point=Ne,t.polygon=$b,t.polyline=z0,t.popup=On,t.rectangle=ts,t.setOptions=E,t.stamp=d,t.svg=Pn,t.svgOverlay=at,t.tileLayer=jn,t.tooltip=dn,t.transformation=oi,t.version=i,t.videoOverlay=mt;var zs=window.L;t.noConflict=function(){return window.L=zs,this},window.L=t}))})(vg,vg.exports)),vg.exports}var TZ=PZ();const eg=fS(TZ),MZ="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=",RZ="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==",NZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Dn=(o,e=db)=>{var t=OZ(),i=v(m(t),2),n=m(i);W(()=>O(n,e())),D(o,t)};var OZ=F('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),HZ=F("<button> </button>"),WZ=F('<span class="err svelte-767znw"> </span>'),zZ=F('<span class="ok svelte-767znw"> </span>'),VZ=F('<div class="loading svelte-767znw">Loading…</div>'),jZ=F('<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>'),$Z=F('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),UZ=F('<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),qZ=F('<div class="field-error svelte-767znw"> </div>'),GZ=F('<div class="field-ok svelte-767znw"> </div>'),KZ=F('<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>'),ZZ=F('<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),XZ=F('<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>'),YZ=F('<section id="sec-broker" class="svelte-767znw"><h3 class="svelte-767znw">Mosquitto management</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Mosquitto management<!></label></div></section>'),QZ=F('<div class="field svelte-767znw"><label class="svelte-767znw">Storage path <!></label> <input id="matter-storage-input" type="text" class="svelte-767znw"/></div>'),JZ=F('<section id="sec-matter" class="svelte-767znw"><h3 class="svelte-767znw">Matter controller</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Matter controller<!></label></div> <!></section>'),eX=F('<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>'),tX=F('<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>'),iX=F('<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>'),W2=F("<option> </option>"),nX=F('<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>'),sX=F('<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>'),oX=F('<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> Retain document messages <!></label></div>'),rX=F('<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 class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!>',1),aX=F('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field field--check svelte-767znw"><label class="svelte-767znw">Enable <!></label> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> sheDB</label></div> <!></section>'),lX=F('<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>'),cX=F('<div class="field svelte-767znw"><label class="svelte-767znw">Token <!></label> <input type="password" placeholder="API token" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Organization <!></label> <input type="text" placeholder="my-org" spellcheck="false" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Bucket <!></label> <input type="text" placeholder="mqtt" spellcheck="false" class="svelte-767znw"/></div>',1),dX=F('<div class="field svelte-767znw"><label class="svelte-767znw">Database <!></label> <input type="text" placeholder="she" spellcheck="false" 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>',1),uX=F('<section id="sec-influx" class="svelte-767znw"><h3 class="svelte-767znw">InfluxDB</h3> <div class="field svelte-767znw"><label class="svelte-767znw">URL <!></label> <input type="text" placeholder="leave empty to disable" spellcheck="false" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">API version <!></label> <select class="svelte-767znw"><option>2.x (token / org / bucket)</option><option>1.x (database / username / password)</option></select></div> <!></section>'),hX=F('<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>'),fX=F('<section id="sec-engine" class="svelte-767znw"><h3 class="svelte-767znw">Script engine</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> Enable event-loop heartbeat <!></label></div> <div class="field svelte-767znw"><label class="svelte-767znw">Heartbeat interval (ms) <!></label> <input type="number" min="10" max="5000" step="10" placeholder="50" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Lag threshold (ms) <!></label> <input type="number" min="50" max="60000" step="50" placeholder="300" class="svelte-767znw"/></div></section>'),gX=F('<span class="free-badge svelte-767znw">FREE</span> ',1),pX=F('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),xX=F("<div><!> <!></div>"),vX=F('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),mX=F('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),_X=F('<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>'),bX=F('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),CX=F('<!> <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 EX(o,e){Js(e,!0),delete eg.Icon.Default.prototype._getIconUrl,eg.Icon.Default.mergeOptions({iconUrl:MZ,iconRetinaUrl:RZ,shadowUrl:NZ});let t=B(_i(G$())),i=B("~/.she"),n=B("mqtt"),s=B(""),r=B(""),a=B(""),d=B(""),u=B(""),f=B(""),g=B("logic"),p=B("var"),C=B(""),b=B(!1),E=B(!1),w=B(!1),A=B(!1),I=B(""),T=B(!1),M=B(8080),P=B(""),j=B("none"),U=B(""),Q=B("X-Remote-User"),oe=B(""),le=B(!1),re=B(""),ce=B(""),ge=B(""),te=B(!1),de=B(!1),we=B(!1),He=B(""),me=B(48.7408),Me=B(9.1778),Ne=B(!1),Ee=B(void 0),it=B(!1),Lt=B(null),et=B("info"),St=B(!1),be=B(50),ke=B(300),Je=B(!0),ut=B(""),ct=B(""),kt=B(!1),oi=B(!1),vi=B(""),ri=B("2"),vt=B(""),li=B(""),Ie=B(""),ye=B(""),Pt=B(""),ci=B(""),$t=B("");const Pi=[{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 Ni=B("ollama"),ki=B("ollama"),nn=B(""),sn=B(""),pn=B("");const wn={};let ft="ollama";function Qt(V,ae){return V==="anthropic"?"anthropic":V==="ollama"?"ollama":ae?ae.includes("localhost:1234")?"lmstudio":ae.includes("groq.com")?"groq":ae.includes("googleapis.com")?"gemini":"openai":"openai"}function Ti(){wn[ft]={baseUrl:l(nn),model:l(sn),apiKey:l(pn)};const V=Pi.find(pe=>pe.id===l(Ni));if(!V)return;x(ki,V.provider,!0);const ae=wn[l(Ni)];x(nn,(ae==null?void 0:ae.baseUrl)??V.baseUrl,!0),x(sn,(ae==null?void 0:ae.model)??V.defaultModel,!0),x(pn,(ae==null?void 0:ae.apiKey)??"",!0),ft=l(Ni)}const Bi=Ft(()=>Pi.find(V=>V.id===l(Ni)));let bi=B(_i({}));const bn=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","influx","ai","broker","matter-storage"]);vs(()=>{if(!l(Ee))return;const V=typeof l(me)=="number"?l(me):48.7408,ae=typeof l(Me)=="number"?l(Me):9.1778,pe=eg.map(l(Ee)).setView([V,ae],10);eg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(pe);const ve=eg.marker([V,ae],{draggable:!0}).addTo(pe);x(Lt,ve,!0);const nt=Ze=>{x(me,+Ze.lat.toFixed(6)),x(Me,+Ze.lng.toFixed(6))};return ve.on("dragend",()=>nt(ve.getLatLng())),pe.on("click",Ze=>{ve.setLatLng(Ze.latlng),nt(Ze.latlng)}),()=>{x(Lt,null),pe.remove()}}),vs(()=>{!l(Lt)||l(me)===""||l(Me)===""||l(Lt).setLatLng([Number(l(me)),Number(l(Me))])});let Cn;function kn(){if(!navigator.geolocation){Cn.show("Geolocation is not supported by this browser.",{alert:!0});return}x(it,!0),navigator.geolocation.getCurrentPosition(V=>{x(me,+V.coords.latitude.toFixed(6)),x(Me,+V.coords.longitude.toFixed(6)),x(it,!1)},()=>{x(it,!1)})}let $e=B(!0),Yt=B(!1),Fi=B(""),fi=B(""),ji=B(""),gi=B("appearance");const Gi=[{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:"broker",label:"Mosquitto",terms:["mosquitto","broker","mqtt broker","management","dynsec"]},{id:"matter",label:"Matter controller",terms:["matter","thread","zigbee","iot","devices","smart home controller"]},{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:"shedb",label:"sheDB",terms:["database","db","shedb","path","retain","enable"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"influx",label:"InfluxDB",terms:["influx","influxdb","time series","history","token","org","bucket","database","flux","influxql"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"engine",label:"Script engine",terms:["heartbeat","event loop","lag","blocking","performance"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let Z=Ft(()=>Gi.filter(V=>{const ae=l(ji).trim().toLowerCase();return!ae||V.label.toLowerCase().includes(ae)||V.terms.some(pe=>pe.includes(ae))}));function Se(V){var ae;x(gi,V,!0),(ae=document.getElementById("sec-"+V))==null||ae.scrollIntoView({behavior:"smooth",block:"start"})}no(async()=>{try{const V=await xf();V.dataDir&&x(i,V.dataDir,!0)}catch{}try{const V=await Gl();if(typeof V.url=="string"&&V.url)try{const Et=new URL(V.url);x(n,Et.protocol.replace(":",""),!0),x(s,Et.host,!0)}catch{x(s,V.url,!0)}if(typeof V.mqttUsername=="string"&&x(r,V.mqttUsername,!0),typeof V.mqttPassword=="string"&&x(a,V.mqttPassword,!0),typeof V.mqttCa=="string"&&x(d,V.mqttCa,!0),typeof V.mqttCert=="string"&&x(u,V.mqttCert,!0),typeof V.mqttKey=="string"&&x(f,V.mqttKey,!0),typeof V.mqttVersion=="string"&&x(C,V.mqttVersion,!0),typeof V.name=="string"&&x(g,V.name,!0),typeof V.variablePrefix=="string"&&x(p,V.variablePrefix,!0),typeof V.disableVariables=="boolean"&&x(b,V.disableVariables,!0),typeof V.port=="number"&&x(M,V.port,!0),typeof V.bindAddress=="string"&&x(P,V.bindAddress,!0),typeof V.auth=="string"&&x(j,V.auth,!0),typeof V.proxyHeader=="string"&&x(Q,V.proxyHeader,!0),typeof V.proxyLogoutUrl=="string"&&x(oe,V.proxyLogoutUrl,!0),typeof V.dir=="string"&&x(ge,V.dir,!0),typeof V.disableWatch=="boolean"&&x(te,V.disableWatch,!0),typeof V.gitAutoCommit=="boolean"&&x(de,V.gitAutoCommit,!0),typeof V.gitAutoPush=="boolean"&&x(we,V.gitAutoPush,!0),typeof V.latitude=="number"&&x(me,V.latitude,!0),typeof V.longitude=="number"&&x(Me,V.longitude,!0),typeof V.timezone=="string"&&x(He,V.timezone,!0),typeof V.verbosity=="string"&&x(et,V.verbosity,!0),typeof V.heartbeat=="object"&&V.heartbeat!==null){const Et=V.heartbeat;typeof Et.enabled=="boolean"&&x(St,Et.enabled,!0),typeof Et.interval=="number"&&x(be,Et.interval,!0),typeof Et.threshold=="number"&&x(ke,Et.threshold,!0)}typeof V.dbPath=="string"?(x(Je,V.dbPath!==""),x(ut,V.dbPath,!0)):(x(Je,!0),x(ut,"")),typeof V.dbPrefix=="string"&&x(ct,V.dbPrefix,!0),typeof V.dbPublish=="boolean"&&x(kt,V.dbPublish,!0),typeof V.dbRetain=="boolean"&&x(oi,V.dbRetain,!0);const ae=V.redis;ae!=null&&ae.url&&x(vi,ae.url,!0);const pe=V.influx;pe&&(x(ri,Number(pe.version)===1||pe.database&&!pe.token?"1":"2",!0),typeof pe.url=="string"&&x(vt,pe.url,!0),typeof pe.token=="string"&&x(li,pe.token,!0),typeof pe.org=="string"&&x(Ie,pe.org,!0),typeof pe.bucket=="string"&&x(ye,pe.bucket,!0),typeof pe.database=="string"&&x(Pt,pe.database,!0),typeof pe.username=="string"&&x(ci,pe.username,!0),typeof pe.password=="string"&&x($t,pe.password,!0));const ve=V.broker;x(E,(ve==null?void 0:ve.enabled)===!0);const nt=V["matter-storage"];x(A,!!nt),x(I,nt&&typeof nt=="string"&&nt!=="true"?nt:"",!0);const Ze=V.ai;Ze!=null&&Ze.provider&&x(ki,Ze.provider,!0),Ze!=null&&Ze.baseUrl&&x(nn,Ze.baseUrl,!0),Ze!=null&&Ze.model&&x(sn,Ze.model,!0),Ze!=null&&Ze.apiKey&&x(pn,Ze.apiKey,!0),x(Ni,Qt(l(ki),l(nn)),!0),ft=l(Ni),x(bi,Object.fromEntries(Object.entries(V).filter(([Et])=>!bn.has(Et))),!0),ve&&x(bi,{...l(bi),broker:ve},!0)}catch(V){x(fi,V.message,!0)}finally{x($e,!1)}});async function ot(){if(x(ce,""),x(re,""),l(j)==="password"&&!l(U)){x(ce,"A password is required to enable password authentication.");return}x(le,!0);try{await eU(l(j),l(j)==="password"?l(U):void 0,l(j)==="proxy"?l(Q):void 0,l(j)==="proxy"?l(oe):void 0),x(U,""),x(re,"Authentication settings saved.")}catch(V){x(ce,V.message,!0)}finally{x(le,!1)}}async function Ye(V){if(V){x(Je,!0);return}let ae=0;try{ae=(await xf()).dbDocs??0}catch{}ae>0&&!await Cn.show(`sheDB contains ${ae} document${ae===1?"":"s"}. Disabling it will hide the DB page but data on disk is preserved and can be re-enabled later. Continue?`,{confirm:"Disable anyway",danger:!0})||x(Je,!1)}async function Wt(V){if(V){x(A,!0);return}x(T,!0);try{const ae=await aS();if(ae.length>0){await Cn.show(`Cannot disable the Matter controller: ${ae.length} device${ae.length===1?" is":"s are"} still paired. Unpair all devices first via the Matter page.`,{alert:!0});return}}catch{}finally{x(T,!1)}x(A,!1)}async function Jt(V){var ae;if(V){x(E,!0);return}x(w,!0);try{const pe=await Ob();if((ae=pe.dynsec)!=null&&ae.configured){await Cn.show("Cannot disable mosquitto management: the dynamic security plugin is still configured. Remove it first via Broker → Status.",{alert:!0});return}if(pe.sshConfigured&&!await Cn.show("An SSH broker connection is configured. Disabling mosquitto management will hide the Broker page but your configuration will be preserved.",{confirm:"Disable anyway",danger:!0}))return}catch{}finally{x(w,!1)}x(E,!1)}async function ht(){x(fi,""),x(Fi,"");const V={...l(bi)};l(s)&&(V.url=`${l(n)}://${l(s)}`),V.name=l(g),V.variablePrefix=l(p),l(C)&&(V.mqttVersion=l(C)),l(b)&&(V.disableVariables=!0),l(r)&&(V.mqttUsername=l(r)),l(a)&&(V.mqttPassword=l(a)),l(d)&&(V.mqttCa=l(d)),l(u)&&(V.mqttCert=l(u)),l(f)&&(V.mqttKey=l(f)),l(M)!==""&&(V.port=Number(l(M))),l(P)&&(V.bindAddress=l(P)),l(ge)&&(V.dir=l(ge)),l(te)&&(V.disableWatch=!0),l(de)&&(V.gitAutoCommit=!0),l(we)&&(V.gitAutoPush=!0),l(me)!==""&&(V.latitude=Number(l(me))),l(Me)!==""&&(V.longitude=Number(l(Me))),l(He)&&(V.timezone=l(He)),V.verbosity=l(et),V.heartbeat={enabled:l(St),...l(be)!==""?{interval:Number(l(be))}:{},...l(ke)!==""?{threshold:Number(l(ke))}:{}},l(Je)?l(ut)&&(V.dbPath=l(ut),l(ct)&&(V.dbPrefix=l(ct)),l(kt)&&(V.dbPublish=!0,l(oi)&&(V.dbRetain=!0))):V.dbPath="",l(vi)&&(V.redis={url:l(vi)}),l(vt)&&(V.influx=l(ri)==="1"?{version:1,url:l(vt),...l(Pt)?{database:l(Pt)}:{},...l(ci)?{username:l(ci)}:{},...l($t)?{password:l($t)}:{}}:{url:l(vt),...l(li)?{token:l(li)}:{},...l(Ie)?{org:l(Ie)}:{},...l(ye)?{bucket:l(ye)}:{}});const ae=l(bi).broker??{},{enabled:pe,...ve}=ae;l(E)?V.broker={...ve,enabled:!0}:Object.keys(ve).length>0&&(V.broker=ve),l(A)&&(V["matter-storage"]=l(I)||!0),l(ki)&&(V.ai={provider:l(ki),...l(nn)?{baseUrl:l(nn)}:{},...l(sn)?{model:l(sn)}:{},...l(pn)?{apiKey:l(pn)}:{}}),x(Yt,!0);try{const nt=await Ap(V);window.dispatchEvent(new CustomEvent("she:config-changed")),x(Fi,nt.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(nt){x(fi,nt.message,!0)}finally{x(Yt,!1)}}var Qe=CX(),dt=lt(Qe);Bs(hl(dt,{}),V=>Cn=V,()=>Cn);var di=v(dt,2),De=m(di),We=m(De),Oi=v(m(We),2),on=v(We,2);ti(on,21,()=>Gi,V=>V.id,(V,ae)=>{var pe=Hs(),ve=lt(pe);{var nt=Et=>{var $=HZ();let q;var R=m($);W(()=>{q=At($,1,"section-link svelte-767znw",null,q,{active:l(gi)===l(ae).id}),O(R,l(ae).label)}),z("click",$,()=>Se(l(ae).id)),D(Et,$)},Ze=Ft(()=>l(Z).some(Et=>Et.id===l(ae).id));N(ve,Et=>{l(Ze)&&Et(nt)})}D(V,pe)});var Ki=v(De,2),ue=m(Ki),Ke=v(m(ue),2);{var Bt=V=>{var ae=WZ(),pe=m(ae);W(()=>O(pe,l(fi))),D(V,ae)};N(Ke,V=>{l(fi)&&V(Bt)})}var zt=v(Ke,2);{var Fe=V=>{var ae=zZ(),pe=m(ae);W(()=>O(pe,l(Fi))),D(V,ae)};N(zt,V=>{l(Fi)&&V(Fe)})}var Ve=v(zt,2),Vt=m(Ve),Ut=v(ue,2);{var Zt=V=>{var ae=VZ();D(V,ae)},Rt=V=>{var ae=bX(),pe=m(ae);{var ve=qe=>{var bt=jZ(),It=v(m(bt),2),ui=v(m(It),2),Kt=m(ui);Kt.value=Kt.__value="dark";var mi=v(Kt);mi.value=mi.__value="light";var Li=v(mi);Li.value=Li.__value="system",z("change",ui,()=>K$(l(t))),Ks(ui,()=>l(t),Yi=>x(t,Yi)),D(qe,bt)},nt=Ft(()=>l(Z).some(qe=>qe.id==="appearance"));N(pe,qe=>{l(nt)&&qe(ve)})}var Ze=v(pe,2);{var Et=qe=>{var bt=KZ(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var mi=v(ui,2),Li=m(mi);Li.value=Li.__value="none";var Yi=v(Li);Yi.value=Yi.__value="password";var An=v(Yi);An.value=An.__value="proxy";var yi=v(It,2);{var Ci=en=>{var un=$Z(),Ln=m(un),ls=m(Ln),is=v(ls);Dn(is,()=>"Set a new password. Leave empty to keep the current password (if already set).");var an=v(Ln,2);W(()=>O(ls,`${l(U)?"New password":"Password"} `)),Dt(an,()=>l(U),zn=>x(U,zn)),D(en,un)};N(yi,en=>{l(j)==="password"&&en(Ci)})}var En=v(yi,2);{var cn=en=>{var un=UZ(),Ln=lt(un),ls=m(Ln),is=v(m(ls));Dn(is,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var an=v(ls,2),zn=v(Ln,2),Ys=m(zn),Us=v(m(Ys));Dn(Us,()=>"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 xs=v(Ys,2);Dt(an,()=>l(Q),lr=>x(Q,lr)),Dt(xs,()=>l(oe),lr=>x(oe,lr)),D(en,un)};N(En,en=>{l(j)==="proxy"&&en(cn)})}var Mi=v(En,2);{var Wn=en=>{var un=qZ(),Ln=m(un);W(()=>O(Ln,l(ce))),D(en,un)};N(Mi,en=>{l(ce)&&en(Wn)})}var Ui=v(Mi,2);{var Ai=en=>{var un=GZ(),Ln=m(un);W(()=>O(Ln,l(re))),D(en,un)};N(Ui,en=>{l(re)&&en(Ai)})}var Hi=v(Ui,2),rn=v(m(Hi),2),Jn=m(rn);W(()=>{rn.disabled=l(le)||l(j)==="password"&&!l(U),O(Jn,l(le)?"Saving…":"Apply authentication settings")}),Ks(mi,()=>l(j),en=>x(j,en)),z("click",rn,ot),D(qe,bt)},$=Ft(()=>l(Z).some(qe=>qe.id==="auth"));N(Ze,qe=>{l($)&&qe(Et)})}var q=v(Ze,2);{var R=qe=>{var bt=XZ(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var mi=v(ui,2),Li=m(mi);Li.value=Li.__value="mqtt";var Yi=v(Li);Yi.value=Yi.__value="mqtts";var An=v(Yi);An.value=An.__value="ws";var yi=v(An);yi.value=yi.__value="wss";var Ci=v(It,2),En=m(Ci),cn=v(m(En));Dn(cn,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var Mi=v(En,2),Wn=v(Ci,2),Ui=m(Wn),Ai=v(m(Ui));Dn(Ai,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Hi=v(Ui,2),rn=v(Wn,2),Jn=m(rn),en=v(m(Jn));Dn(en,()=>"MQTT broker password. Stored in plain text in config.json.");var un=v(Jn,2),Ln=v(rn,2);{var ls=Ms=>{var wr=ZZ(),rc=lt(wr),Ia=m(rc),Bo=v(m(Ia));Dn(Bo,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Ch=v(Ia,2),ac=v(rc,2),Eh=m(ac),lc=v(m(Eh));Dn(lc,()=>"PEM-encoded client certificate for mutual TLS authentication.");var ra=v(Eh,2),O0=v(ac,2),yh=m(O0),wh=v(m(yh));Dn(wh,()=>"PEM-encoded private key matching the client certificate.");var Sh=v(yh,2);Dt(Ch,()=>l(d),bo=>x(d,bo)),Dt(ra,()=>l(u),bo=>x(u,bo)),Dt(Sh,()=>l(f),bo=>x(f,bo)),D(Ms,wr)};N(Ln,Ms=>{(l(n)==="mqtts"||l(n)==="wss")&&Ms(ls)})}var is=v(Ln,2),an=m(is),zn=v(m(an));Dn(zn,()=>"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 Ys=v(an,2),Us=m(Ys);Us.value=Us.__value="";var xs=v(Us);xs.value=xs.__value="5";var lr=v(is,2),tc=m(lr),ic=v(m(tc));Dn(ic,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var _h=v(tc,2),nc=v(lr,2),pd=m(nc),bh=v(m(pd));Dn(bh,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var N0=v(pd,2),sc=v(nc,2),xd=v(m(sc),2),oc=m(xd),vd=v(oc,4);Dn(vd,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Ks(mi,()=>l(n),Ms=>x(n,Ms)),Dt(Mi,()=>l(s),Ms=>x(s,Ms)),Dt(Hi,()=>l(r),Ms=>x(r,Ms)),Dt(un,()=>l(a),Ms=>x(a,Ms)),Ks(Ys,()=>l(C),Ms=>x(C,Ms)),Dt(_h,()=>l(g),Ms=>x(g,Ms)),Dt(N0,()=>l(p),Ms=>x(p,Ms)),Os(oc,()=>l(b),Ms=>x(b,Ms)),D(qe,bt)},G=Ft(()=>l(Z).some(qe=>qe.id==="mqtt"));N(q,qe=>{l(G)&&qe(R)})}var Y=v(q,2);{var ie=qe=>{var bt=YZ(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Shows the Broker page in the navigation, giving access to listener config, dynamic security, TLS certificates and more. Disable if you are not using Mosquitto or prefer to manage it externally.");var mi=v(ui,2);let Li;var Yi=m(mi),An=v(Yi,4);{var yi=Ci=>{var En=mo("— checking…");D(Ci,En)};N(An,Ci=>{l(w)&&Ci(yi)})}W(()=>{Li=At(mi,1,"check-label svelte-767znw",null,Li,{muted:l(w)}),vr(Yi,l(E)),Yi.disabled=l(w)}),z("change",Yi,Ci=>Jt(Ci.target.checked)),D(qe,bt)},se=Ft(()=>l(Z).some(qe=>qe.id==="broker"));N(Y,qe=>{l(se)&&qe(ie)})}var fe=v(Y,2);{var _e=qe=>{var bt=JZ(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Shows the Matter page and starts the built-in Matter controller on next restart. Requires a restart to take effect. Disable only after unpairing all devices.");var mi=v(ui,2);let Li;var Yi=m(mi),An=v(Yi,4);{var yi=cn=>{var Mi=mo("— checking…");D(cn,Mi)};N(An,cn=>{l(T)&&cn(yi)})}var Ci=v(It,2);{var En=cn=>{var Mi=QZ(),Wn=m(Mi),Ui=v(m(Wn));Dn(Ui,()=>"Path to the Matter controller storage directory. Leave empty to use the default ({dataDir}/matter).");var Ai=v(Wn,2);W(()=>fn(Ai,"placeholder",`${l(i)??""}/matter (default)`)),Dt(Ai,()=>l(I),Hi=>x(I,Hi)),D(cn,Mi)};N(Ci,cn=>{l(A)&&cn(En)})}W(()=>{Li=At(mi,1,"check-label svelte-767znw",null,Li,{muted:l(T)}),vr(Yi,l(A)),Yi.disabled=l(T)}),z("change",Yi,cn=>Wt(cn.target.checked)),D(qe,bt)},Ce=Ft(()=>l(Z).some(qe=>qe.id==="matter"));N(fe,qe=>{l(Ce)&&qe(_e)})}var Oe=v(fe,2);{var Re=qe=>{var bt=eX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var mi=v(ui,2),Li=v(It,2),Yi=m(Li),An=v(m(Yi));Dn(An,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var yi=v(Yi,2);Dt(mi,()=>l(M),Ci=>x(M,Ci)),Dt(yi,()=>l(P),Ci=>x(P,Ci)),D(qe,bt)},tt=Ft(()=>l(Z).some(qe=>qe.id==="webserver"));N(Oe,qe=>{l(tt)&&qe(Re)})}var ei=v(Oe,2);{var J=qe=>{var bt=tX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var mi=v(ui,2),Li=v(It,2),Yi=v(m(Li),2),An=m(Yi),yi=v(An,4);Dn(yi,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),W(()=>fn(mi,"placeholder",`${l(i)??""}/scripts (default)`)),Dt(mi,()=>l(ge),Ci=>x(ge,Ci)),Os(An,()=>l(te),Ci=>x(te,Ci)),D(qe,bt)},he=Ft(()=>l(Z).some(qe=>qe.id==="scripts"));N(ei,qe=>{l(he)&&qe(J)})}var je=v(ei,2);{var yt=qe=>{var bt=iX(),It=v(m(bt),2),ui=v(m(It),2),Kt=m(ui),mi=v(Kt,4);Dn(mi,()=>"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 Li=v(It,2),Yi=v(m(Li),2),An=m(Yi),yi=v(An,4);Dn(yi,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Os(Kt,()=>l(de),Ci=>x(de,Ci)),Os(An,()=>l(we),Ci=>x(we,Ci)),D(qe,bt)},Le=Ft(()=>l(Z).some(qe=>qe.id==="git"));N(je,qe=>{l(Le)&&qe(yt)})}var Pe=v(je,2);{var gt=qe=>{var bt=sX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var mi=v(ui,2),Li=v(mi,2);ti(Li,20,()=>{var an;return((an=Intl.supportedValuesOf)==null?void 0:an.call(Intl,"timeZone"))??[]},Ri,(an,zn)=>{var Ys=W2(),Us=m(Ys),xs={};W(()=>{O(Us,zn),xs!==(xs=zn)&&(Ys.value=(Ys.__value=zn)??"")}),D(an,Ys)});var Yi=v(It,2),An=m(Yi),yi=v(m(An));Dn(yi,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Ci=v(An,2),En=v(Yi,2),cn=m(En),Mi=v(m(cn));Dn(Mi,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Wn=v(cn,2),Ui=v(En,2),Ai=v(m(Ui),2),Hi=m(Ai),rn=m(Hi);{var Jn=an=>{var zn=mo("…");D(an,zn)},en=an=>{var zn=mo("📍 Use my location");D(an,zn)};N(rn,an=>{l(it)?an(Jn):an(en,-1)})}var un=v(Hi,2),Ln=m(un),ls=v(Ui,2);{var is=an=>{var zn=nX(),Ys=v(m(zn),2);Bs(Ys,Us=>x(Ee,Us),()=>l(Ee)),D(an,zn)};N(ls,an=>{l(Ne)&&an(is)})}W(()=>{Hi.disabled=l(it),O(Ln,l(Ne)?"Hide map":"Pick on map")}),Dt(mi,()=>l(He),an=>x(He,an)),Dt(Ci,()=>l(me),an=>x(me,an)),Dt(Wn,()=>l(Me),an=>x(Me,an)),z("click",Hi,kn),z("click",un,()=>x(Ne,!l(Ne))),D(qe,bt)},pt=Ft(()=>l(Z).some(qe=>qe.id==="solar"));N(Pe,qe=>{l(pt)&&qe(gt)})}var Xe=v(Pe,2);{var qt=qe=>{var bt=aX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Built-in JSON document store used by scripts and the DB page. Disable only if you don't use it — data on disk is preserved.");var mi=v(ui,2),Li=m(mi),Yi=v(It,2);{var An=yi=>{var Ci=rX(),En=lt(Ci),cn=m(En),Mi=v(m(cn));Dn(Mi,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to use the default.");var Wn=v(cn,2),Ui=v(En,2),Ai=m(Ui),Hi=v(m(Ai));Dn(Hi,()=>"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 rn=v(Ai,2),Jn=v(Ui,2),en=v(m(Jn),2),un=m(en),Ln=v(un,4);Dn(Ln,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var ls=v(Jn,2);{var is=an=>{var zn=oX(),Ys=v(m(zn),2),Us=m(Ys),xs=v(Us,4);Dn(xs,()=>"When enabled, MQTT messages for document changes are published as retained messages."),Os(Us,()=>l(oi),lr=>x(oi,lr)),D(an,zn)};N(ls,an=>{l(kt)&&an(is)})}W(()=>fn(Wn,"placeholder",`defaults to ${l(i)??""}/db`)),Dt(Wn,()=>l(ut),an=>x(ut,an)),Dt(rn,()=>l(ct),an=>x(ct,an)),Os(un,()=>l(kt),an=>x(kt,an)),D(yi,Ci)};N(Yi,yi=>{l(Je)&&yi(An)})}W(()=>vr(Li,l(Je))),z("change",Li,yi=>Ye(yi.target.checked)),D(qe,bt)},rt=Ft(()=>l(Z).some(qe=>qe.id==="shedb"));N(Xe,qe=>{l(rt)&&qe(qt)})}var st=v(Xe,2);{var Ct=qe=>{var bt=lX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"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 mi=v(ui,2);Dt(mi,()=>l(vi),Li=>x(vi,Li)),D(qe,bt)},jt=Ft(()=>l(Z).some(qe=>qe.id==="redis"));N(st,qe=>{l(jt)&&qe(Ct)})}var Tt=v(st,2);{var ni=qe=>{var bt=uX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Base URL of the InfluxDB server, e.g. http://localhost:8086. Leave empty to disable the InfluxDB integration. Requires daemon restart.");var mi=v(ui,2),Li=v(It,2),Yi=m(Li),An=v(m(Yi));Dn(An,()=>"InfluxDB 2.x uses token/org/bucket and Flux queries. InfluxDB 1.x uses database/username/password and InfluxQL queries (she.influx.query).");var yi=v(Yi,2),Ci=m(yi);Ci.value=Ci.__value="2";var En=v(Ci);En.value=En.__value="1";var cn=v(Li,2);{var Mi=Ui=>{var Ai=cX(),Hi=lt(Ai),rn=m(Hi),Jn=v(m(rn));Dn(Jn,()=>"InfluxDB API token. Stored in plain text in config.json.");var en=v(rn,2),un=v(Hi,2),Ln=m(un),ls=v(m(Ln));Dn(ls,()=>"InfluxDB organization name.");var is=v(Ln,2),an=v(un,2),zn=m(an),Ys=v(m(zn));Dn(Ys,()=>"Bucket that she.influx.write() writes to and getLast()/getRange() read from.");var Us=v(zn,2);Dt(en,()=>l(li),xs=>x(li,xs)),Dt(is,()=>l(Ie),xs=>x(Ie,xs)),Dt(Us,()=>l(ye),xs=>x(ye,xs)),D(Ui,Ai)},Wn=Ui=>{var Ai=dX(),Hi=lt(Ai),rn=m(Hi),Jn=v(m(rn));Dn(Jn,()=>"InfluxDB 1.x database name that she.influx writes to and reads from.");var en=v(rn,2),un=v(Hi,2),Ln=m(un),ls=v(m(Ln));Dn(ls,()=>"InfluxDB 1.x username. Leave empty if authentication is disabled on the server.");var is=v(Ln,2),an=v(un,2),zn=m(an),Ys=v(m(zn));Dn(Ys,()=>"InfluxDB 1.x password. Stored in plain text in config.json.");var Us=v(zn,2);Dt(en,()=>l(Pt),xs=>x(Pt,xs)),Dt(is,()=>l(ci),xs=>x(ci,xs)),Dt(Us,()=>l($t),xs=>x($t,xs)),D(Ui,Ai)};N(cn,Ui=>{l(ri)==="2"?Ui(Mi):Ui(Wn,-1)})}Dt(mi,()=>l(vt),Ui=>x(vt,Ui)),Ks(yi,()=>l(ri),Ui=>x(ri,Ui)),D(qe,bt)},ze=Ft(()=>l(Z).some(qe=>qe.id==="influx"));N(Tt,qe=>{l(ze)&&qe(ni)})}var wt=v(Tt,2);{var ii=qe=>{var bt=hX(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var mi=v(ui,2),Li=m(mi);Li.value=Li.__value="debug";var Yi=v(Li);Yi.value=Yi.__value="info";var An=v(Yi);An.value=An.__value="warn";var yi=v(An);yi.value=yi.__value="error",Ks(mi,()=>l(et),Ci=>x(et,Ci)),D(qe,bt)},Vi=Ft(()=>l(Z).some(qe=>qe.id==="logging"));N(wt,qe=>{l(Vi)&&qe(ii)})}var Gt=v(wt,2);{var Xt=qe=>{var bt=fX(),It=v(m(bt),2),ui=v(m(It),2),Kt=m(ui),mi=v(Kt,4);Dn(mi,()=>"When enabled, periodically measures event-loop lag and logs a warning when a user script callback blocks the loop longer than the threshold. Requires daemon restart.");var Li=v(It,2),Yi=m(Li),An=v(m(Yi));Dn(An,()=>"How often the heartbeat fires, in milliseconds. Lower = finer resolution, slightly more overhead. Default: 50 ms.");var yi=v(Yi,2),Ci=v(Li,2),En=m(Ci),cn=v(m(En));Dn(cn,()=>"Minimum excess delay (beyond the interval) before a warning is logged. Default: 300 ms.");var Mi=v(En,2);W(()=>{yi.disabled=!l(St),Mi.disabled=!l(St)}),Os(Kt,()=>l(St),Wn=>x(St,Wn)),Dt(yi,()=>l(be),Wn=>x(be,Wn)),Dt(Mi,()=>l(ke),Wn=>x(ke,Wn)),D(qe,bt)},Di=Ft(()=>l(Z).some(qe=>qe.id==="engine"));N(Gt,qe=>{l(Di)&&qe(Xt)})}var Zi=v(Gt,2);{var qi=qe=>{var bt=_X(),It=v(m(bt),2),ui=m(It),Kt=v(m(ui));Dn(Kt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var mi=v(ui,2);ti(mi,21,()=>Pi,Ri,(Ai,Hi)=>{var rn=W2(),Jn=m(rn),en={};W(()=>{O(Jn,l(Hi).label),en!==(en=l(Hi).id)&&(rn.value=(rn.__value=l(Hi).id)??"")}),D(Ai,rn)});var Li=v(It,2);{var Yi=Ai=>{var Hi=xX();let rn;var Jn=m(Hi);{var en=ls=>{var is=gX(),an=v(lt(is));W(()=>O(an,` ${l(Bi).freeNote??""}`)),D(ls,is)};N(Jn,ls=>{l(Bi).freeNote&&ls(en)})}var un=v(Jn,2);{var Ln=ls=>{var is=pX(),an=v(lt(is));W(()=>fn(an,"href",l(Bi).apiKeyUrl)),D(ls,is)};N(un,ls=>{l(Bi).apiKeyUrl&&ls(Ln)})}W(()=>rn=At(Hi,1,"preset-note svelte-767znw",null,rn,{free:!!l(Bi).freeNote})),D(Ai,Hi)};N(Li,Ai=>{var Hi,rn;((Hi=l(Bi))!=null&&Hi.freeNote||(rn=l(Bi))!=null&&rn.apiKeyUrl)&&Ai(Yi)})}var An=v(Li,2);{var yi=Ai=>{var Hi=vX(),rn=m(Hi),Jn=v(m(rn));Dn(Jn,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var en=v(rn,2);W(()=>{var un;return fn(en,"placeholder",l(Ni)==="ollama"?"http://localhost:11434":l(Ni)==="lmstudio"?"http://localhost:1234":((un=l(Bi))==null?void 0:un.baseUrl)??"")}),Dt(en,()=>l(nn),un=>x(nn,un)),D(Ai,Hi)};N(An,Ai=>{l(Ni)!=="anthropic"&&Ai(yi)})}var Ci=v(An,2),En=m(Ci),cn=v(m(En));Dn(cn,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var Mi=v(En,2),Wn=v(Ci,2);{var Ui=Ai=>{var Hi=mX(),rn=m(Hi),Jn=v(m(rn));Dn(Jn,()=>"Stored in config.json. Not needed for local providers.");var en=v(rn,2);Dt(en,()=>l(pn),un=>x(pn,un)),D(Ai,Hi)};N(Wn,Ai=>{l(Ni)!=="ollama"&&l(Ni)!=="lmstudio"&&Ai(Ui)})}W(()=>{var Ai;return fn(Mi,"placeholder",((Ai=l(Bi))==null?void 0:Ai.defaultModel)||"e.g. llama3.2")}),z("change",mi,Ti),Ks(mi,()=>l(Ni),Ai=>x(Ni,Ai)),Dt(Mi,()=>l(sn),Ai=>x(sn,Ai)),D(qe,bt)},Ji=Ft(()=>l(Z).some(qe=>qe.id==="ai"));N(Zi,qe=>{l(Ji)&&qe(qi)})}D(V,ae)};N(Ut,V=>{l($e)?V(Zt):V(Rt,-1)})}W(()=>{Ve.disabled=l(Yt),O(Vt,l(Yt)?"Saving…":"Save")}),Dt(Oi,()=>l(ji),V=>x(ji,V)),z("click",Ve,ht),D(o,Qe),eo()}uo(["click","change"]);var yX=F('<span class="history-loading svelte-18loop9" title="Loading log history…">↺</span>'),wX=F("<option> </option>"),SX=F('<button class="script-link svelte-18loop9"> </button>'),DX=F('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"></span></div>'),AX=F('<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 kX(o,e){Js(e,!0);const t=2e3;let i=B(_i(TF())),n=B(!0),s,r=B(!0),a=B("all"),d=B(""),u=B(!1);const f=["all","debug","info","warn","error"],g={debug:0,info:1,warn:2,error:3},p=dS(ge=>{x(i,[...l(i).slice(-1999),ge],!0)});B0(p),no(async()=>{try{const ge=await lS(),te=new Set(l(i).map(we=>we.ts+we.msg)),de=ge.filter(we=>!te.has(we.ts+we.msg));x(i,[...de,...l(i)].slice(-t),!0)}catch{}x(n,!1),s&&(s.scrollTop=s.scrollHeight)}),vs(()=>{l(i).length,l(r)&&s&&(s.scrollTop=s.scrollHeight)});function C(){x(i,[],!0)}let b=B(()=>null);no(async()=>{try{x(b,NF(hS(await EF())),!0)}catch{}});function E(ge,te,de){location.hash="scripts",window.dispatchEvent(new CustomEvent("she:open-script",{detail:{path:ge,line:te,column:de}}))}function w(ge){if(l(a)!=="all"&&g[ge.level]<g[l(a)])return!1;if(!l(d))return!0;if(l(u))try{return new RegExp(l(d),"i").test(ge.msg)}catch{}return ge.msg.toLowerCase().includes(l(d).toLowerCase())}var A=AX(),I=m(A),T=v(m(I),2);{var M=ge=>{var te=yX();D(ge,te)};N(T,ge=>{l(n)&&ge(M)})}var P=v(T,2);ti(P,21,()=>f,Ri,(ge,te)=>{var de=wX(),we=m(de),He={};W(()=>{O(we,l(te)),He!==(He=l(te))&&(de.value=(de.__value=l(te))??"")}),D(ge,de)});var j=v(P,2),U=v(j,2),Q=m(U),oe=v(U,2),le=m(oe),re=v(oe,2),ce=v(I,2);ti(ce,21,()=>l(i).filter(w),Ri,(ge,te)=>{var de=DX(),we=m(de),He=m(we),me=v(we,2),Me=m(me),Ne=v(me,2);ti(Ne,21,()=>RF(l(te).msg,l(b)),Ri,(Ee,it)=>{var Lt=Hs(),et=lt(Lt);{var St=ke=>{const Je=Ft(()=>l(it).link);var ut=SX(),ct=m(ut);W(()=>{fn(ut,"title",`Open ${l(Je).path??""}${l(Je).line?` at line ${l(Je).line}`:""} in the editor`),O(ct,l(it).text)}),z("click",ut,()=>E(l(Je).path,l(Je).line,l(Je).column)),D(ke,ut)},be=ke=>{var Je=mo();W(()=>O(Je,l(it).text)),D(ke,Je)};N(et,ke=>{l(it).link?ke(St):ke(be,-1)})}D(Ee,Lt)}),W((Ee,it)=>{At(de,1,`line ${l(te).level??""}`,"svelte-18loop9"),O(He,Ee),O(Me,it)},[()=>uS(l(te).ts),()=>l(te).level.toUpperCase()]),D(ge,de)}),Bs(ce,ge=>s=ge,()=>s),Ks(P,()=>l(a),ge=>x(a,ge)),Dt(j,()=>l(d),ge=>x(d,ge)),Os(Q,()=>l(u),ge=>x(u,ge)),Os(le,()=>l(r),ge=>x(r,ge)),z("click",re,C),D(o,A),eo()}uo(["click"]);function z2(o,e){if(o===e)return[];if(e==="#")return[o];const t=[],i=o.split("/"),n=e.split("/");let s=0;for(const r=i.length;s<r;s++)if(n[s]==="+")t.push(i[s]);else{if(n[s]==="#")return t.push(i.slice(s).join("/")),t;if(n[s]!==i[s])return null}return n[s]==="#"&&(s+=1),s===n.length?t:null}var BX=F('<span class="chat-model svelte-1twuiul"><!></span>'),FX=F('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),LX=F('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),IX=F('Working on view <code class="svelte-1twuiul"> </code>',1),PX=F('<button class="chip svelte-1twuiul"> </button>'),TX=F('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),MX=F('<div class="msg-content user-text svelte-1twuiul"> </div>'),V2=F('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),j2=F('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),$2=F('<div class="tool-events svelte-1twuiul"></div>'),U2=F('<div class="text-block svelte-1twuiul"></div>'),RX=F('<button class="expand-btn svelte-1twuiul"> </button>'),NX=F('<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>'),OX=F('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),HX=F('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),WX=F("<div><!></div>"),zX=F('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),VX=F('<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>'),jX=F('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),$X=F('<div class="chat-error svelte-1twuiul"> </div>'),UX=F('<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>'),qX=F('<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>'),GX=F('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),KX=F('<button class="send-btn svelte-1twuiul">↑</button>'),ZX=F('<option class="svelte-1twuiul"> </option>'),XX=F('<select class="model-select svelte-1twuiul"></select>'),YX=F('<span class="model-name svelte-1twuiul"> </span>'),QX=F('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),JX=F('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),eY=F('<p class="info-status svelte-1twuiul">Loading…</p>'),tY=F('<p class="info-status info-err svelte-1twuiul"> </p>'),iY=F('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),nY=F('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),sY=F('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),oY=F('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),rY=F('<div class="running-model svelte-1twuiul"> </div>'),aY=F('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),lY=F('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),cY=F('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),dY=F('<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>'),uY=F('<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 hY(o,e){Js(e,!0),Um.registerLanguage("javascript",VF),As.use({breaks:!0,gfm:!0});let t=qu(e,"currentView",3,null);const i="she:viewchat:messages";let n=B(_i(JSON.parse(localStorage.getItem(i)??"[]"))),s=B(null),r=B(""),a=B(!1),d=B(""),u=B(null),f=B(_i([])),g=B(_i(localStorage.getItem("she:selectedModel")??""));vs(()=>{localStorage.setItem(i,JSON.stringify(l(n)))});let p=B(_i(new Set)),C=B(!1),b=B(null),E=B(!1),w=B(""),A=null,I=B(0);const T=["[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 M=B(!0),P=B(!0),j=B(!0),U=B(_i([])),Q=B(!0),oe=B(!1),le,re=B(_i([])),ce=B(0),ge,te;const de=Ft(()=>({apiref:!1,shedb:l(M),sampleDocs:l(P),tools:l(j)})),we=Ft(()=>{var $;return(($=l(u))==null?void 0:$.configured)??!1}),He=Ft(()=>l(ce)+new TextEncoder().encode(l(r)).length),me=Ft(()=>l(Q)?t():null);async function Me(){try{const $=await kF();x(u,$,!0),$.configured&&!l(g)&&x(g,$.model,!0)}catch{}}vs(()=>(window.addEventListener("she:config-changed",Me),()=>window.removeEventListener("she:config-changed",Me))),no(()=>{Me()}),vs(()=>{l(g)&&localStorage.setItem("she:selectedModel",l(g))}),vs(()=>{var $;($=l(u))!=null&&$.provider&&BF().then(q=>{x(f,q.models,!0),!l(g)&&q.models.length>0&&x(g,q.models[0],!0)}).catch(()=>{})}),vs(()=>{l(g),x(b,null),x(w,"")}),vs(()=>{const $=l(de),q=l(me),R=l(U);l(we)&&FF({context:$,currentView:q??null,extraFiles:R.length>0?R:void 0}).then(G=>{x(ce,new TextEncoder().encode(G.prompt).length,!0)}).catch(()=>{})}),vs(()=>{if(!l(a))return;x(I,Math.floor(Math.random()*T.length),!0);const $=setInterval(()=>{x(I,(l(I)+1)%T.length)},1e4);return()=>clearInterval($)}),vs(()=>{var $;te&&(l(n).length+((($=l(s))==null?void 0:$.length)??0),requestAnimationFrame(()=>{te&&(te.scrollTop=te.scrollHeight)}))});function Ne($){const q=[],R=/```(\w*)\n([\s\S]*?)```/g;let G=0,Y;for(;(Y=R.exec($))!==null;)Y.index>G&&q.push({type:"text",text:$.slice(G,Y.index)}),q.push({type:"code",lang:Y[1]||"text",text:Y[2].trimEnd()}),G=Y.index+Y[0].length;return G<$.length&&q.push({type:"text",text:$.slice(G)}),q}function Ee($){const q=[],R=/```(\w*)\n([\s\S]*?)```/g;let G=0,Y;for(;(Y=R.exec($))!==null;)Y.index>G&&q.push({type:"text",text:$.slice(G,Y.index)}),q.push({type:"code",lang:Y[1]||"text",text:Y[2].trimEnd()}),G=Y.index+Y[0].length;const ie=$.slice(G),se=ie.match(/```(\w*)\n([\s\S]*)$/);return se?(se.index>0&&q.push({type:"text",text:ie.slice(0,se.index)}),q.push({type:"code",lang:se[1]||"text",text:se[2]})):ie&&q.push({type:"text",text:ie}),q}function it($){const q={};for(const R of $)if(R.type==="code"){if(R.lang==="filter")q.filter=R.text.trim();else if(ct(R.lang)){const G=R.text.split(`
223
+ `)[0].trim();G==="// @view-map"?q.map=R.text.split(`
224
+ `).slice(1).join(`
225
+ `).trim():G==="// @view-reduce"&&(q.reduce=R.text.split(`
226
+ `).slice(1).join(`
227
+ `).trim())}}return q}function Lt($){return $.filter!==void 0||$.map!==void 0||$.reduce!==void 0}function et($){const q=[];return $.filter!==void 0&&q.push("filter"),$.map!==void 0&&q.push("map"),$.reduce!==void 0&&q.push("reduce"),`Apply ${q.join(" + ")}`}const St=15;function be($){return $.split(`
228
+ `).length>St}function ke($){const q=new Set(l(p));q.has($)?q.delete($):q.add($),x(p,q,!0)}function Je($,q){if(ct(q))try{return Um.highlight($,{language:"javascript"}).value}catch{}return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ut($){return As.parse($)}function ct($){return!$||$==="js"||$==="javascript"}function kt($){navigator.clipboard.writeText($).catch(()=>{})}async function oi(){if(x(C,!0),!(l(b)||l(E))){x(E,!0),x(w,"");try{x(b,await pw(l(g)||l(u).model),!0)}catch($){x(w,$.message,!0)}x(E,!1)}}function vi($){return $>=1e9?`${($/1e9).toFixed(1)} GB`:$>=1e6?`${($/1e6).toFixed(0)} MB`:`${$} B`}function ri($){const q=$.match(/\.([^.]+)$/);return q?q[1].toUpperCase():"?"}function vt($){switch($){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return $}}function li($){x(U,l(U).filter((q,R)=>R!==$),!0)}function Ie(){le.click()}async function ye($){if(!(!$||$.length===0))for(const q of Array.from($)){const R=await q.text();x(U,[...l(U),{name:q.name,content:R}],!0)}}function Pt($){const q=$.target;ye(q.files),q.value=""}function ci($){var q;$.preventDefault(),x(oe,!1),ye(((q=$.dataTransfer)==null?void 0:q.files)??null)}function $t($){var q;(q=$.dataTransfer)!=null&&q.types.includes("Files")&&($.preventDefault(),x(oe,!0))}function Pi(){x(oe,!1)}async function Ni(){const $=l(r).trim();if(!(!$||l(a))){x(r,""),x(d,""),x(a,!0),x(n,[...l(n),{role:"user",content:$}],!0),A=new AbortController,x(re,[],!0);try{await LF({messages:l(n),currentView:l(me),context:l(de),modelOverride:l(g)||void 0,extraFiles:l(U).length>0?l(U):void 0},q=>{x(s,(l(s)??"")+q)},A.signal,q=>{x(re,[...l(re),q],!0)}),x(n,[...l(n),{role:"assistant",content:l(s)??"",toolEvents:l(re).length>0?[...l(re)]:void 0}],!0),x(re,[],!0)}catch(q){if(q.name==="AbortError"){const R=l(s);R!=null&&R.trim()&&x(n,[...l(n),{role:"assistant",content:R+`
229
+
230
+ *[stopped]*`,toolEvents:l(re).length>0?[...l(re)]:void 0}],!0)}else x(d,q.message,!0)}finally{A=null,x(s,null),x(re,[],!0),x(a,!1)}}}function ki(){A==null||A.abort()}function nn($){$.key==="Enter"&&!$.shiftKey&&($.preventDefault(),Ni())}function sn(){x(n,[],!0),x(d,"")}const pn=["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 wn($){x(r,$,!0),ge==null||ge.focus()}var ft=uY(),Qt=lt(ft),Ti=m(Qt),Bi=v(m(Ti),2);{var bi=$=>{var q=BX(),R=m(q);{var G=ie=>{var se=mo();W(()=>O(se,`${l(u).provider??""} · ${(l(g)||l(u).model)??""}`)),D(ie,se)},Y=ie=>{var se=mo("Not configured");D(ie,se)};N(R,ie=>{l(we)?ie(G):ie(Y,-1)})}W(()=>fn(q,"title",`Provider: ${l(u).provider??""}`)),D($,q)};N(Bi,$=>{l(u)&&$(bi)})}var bn=v(Bi,2);{var Cn=$=>{var q=FX();z("click",q,sn),D($,q)};N(bn,$=>{l(n).length>0&&$(Cn)})}var kn=v(Ti,2),$e=m(kn);{var Yt=$=>{var q=LX();D($,q)},Fi=$=>{var q=TX(),R=m(q),G=m(R);{var Y=fe=>{var _e=IX(),Ce=v(lt(_e)),Oe=m(Ce);W(()=>O(Oe,t().id)),D(fe,_e)},ie=fe=>{var _e=mo("No view selected. Ask a general sheDB view question.");D(fe,_e)};N(G,fe=>{t()?fe(Y):fe(ie,-1)})}var se=v(R,2);ti(se,17,()=>pn,Ri,(fe,_e)=>{var Ce=PX(),Oe=m(Ce);W(()=>O(Oe,l(_e))),z("click",Ce,()=>wn(l(_e))),D(fe,Ce)}),D($,q)};N($e,$=>{l(we)?l(n).length===0&&l(s)===null&&$(Fi,1):$(Yt)})}var fi=v($e,2);ti(fi,17,()=>l(n),Ri,($,q,R)=>{var G=WX(),Y=m(G);{var ie=fe=>{var _e=MX(),Ce=m(_e);W(()=>O(Ce,l(q).content)),D(fe,_e)},se=fe=>{const _e=Ft(()=>Ne(l(q).content)),Ce=Ft(()=>it(l(_e)));var Oe=HX(),Re=lt(Oe);{var tt=Le=>{var Pe=$2();ti(Pe,21,()=>l(q).toolEvents,Ri,(gt,pt)=>{var Xe=Hs(),qt=lt(Xe);{var rt=Ct=>{var jt=V2(),Tt=v(m(jt)),ni=m(Tt);W(ze=>O(ni,ze),[()=>l(pt).name.replace(/_/g," ")]),D(Ct,jt)},st=Ct=>{var jt=j2(),Tt=v(m(jt)),ni=m(Tt);W(ze=>O(ni,ze),[()=>l(pt).name.replace(/_/g," ")]),D(Ct,jt)};N(qt,Ct=>{l(pt).type==="tool_call"?Ct(rt):Ct(st,-1)})}D(gt,Xe)}),D(Le,Pe)};N(Re,Le=>{var Pe;(Pe=l(q).toolEvents)!=null&&Pe.length&&Le(tt)})}var ei=v(Re,2),J=m(ei);ti(J,17,()=>l(_e),Ri,(Le,Pe,gt)=>{var pt=Hs(),Xe=lt(pt);{var qt=st=>{var Ct=U2();Fc(Ct,()=>ut(l(Pe).text),!0),D(st,Ct)},rt=st=>{const Ct=Ft(()=>`${R}:${gt}`),jt=Ft(()=>be(l(Pe).text)),Tt=Ft(()=>l(p).has(l(Ct))),ni=Ft(()=>l(Pe).lang==="filter");var ze=NX(),wt=m(ze),ii=m(wt),Vi=m(ii),Gt=v(ii,2),Xt=m(Gt),Di=v(wt,2);let Zi;var qi=m(Di),Ji=m(qi);Fc(Ji,()=>Je(l(Pe).text,l(Pe).lang??""),!0);var qe=v(qi,2);{var bt=It=>{var ui=RX(),Kt=m(ui);W(()=>O(Kt,l(Tt)?"▲ collapse":"▼ expand")),z("click",ui,()=>ke(l(Ct))),D(It,ui)};N(qe,It=>{l(jt)&&It(bt)})}W(()=>{O(Vi,l(ni)?"filter":l(Pe).lang),Zi=At(Di,1,"code-body svelte-1twuiul",null,Zi,{collapsed:l(jt)&&!l(Tt)})}),z("click",Xt,()=>kt(l(Pe).text)),D(st,ze)};N(Xe,st=>{l(Pe).type==="text"?st(qt):st(rt,-1)})}D(Le,pt)});var he=v(J,2);{var je=Le=>{var Pe=OX(),gt=m(Pe),pt=m(gt);W(Xe=>O(pt,Xe),[()=>et(l(Ce))]),z("click",gt,()=>e.onApplyView(l(Ce))),D(Le,Pe)},yt=Ft(()=>Lt(l(Ce))&&e.onApplyView);N(he,Le=>{l(yt)&&Le(je)})}D(fe,Oe)};N(Y,fe=>{l(q).role==="user"?fe(ie):fe(se,-1)})}W(()=>At(G,1,`message ${l(q).role??""}`,"svelte-1twuiul")),D($,G)});var ji=v(fi,2);{var gi=$=>{var q=$2();ti(q,21,()=>l(re),Ri,(R,G)=>{var Y=Hs(),ie=lt(Y);{var se=_e=>{var Ce=V2(),Oe=v(m(Ce)),Re=m(Oe);W(tt=>O(Re,tt),[()=>l(G).name.replace(/_/g," ")]),D(_e,Ce)},fe=_e=>{var Ce=j2(),Oe=v(m(Ce)),Re=m(Oe);W(tt=>O(Re,tt),[()=>l(G).name.replace(/_/g," ")]),D(_e,Ce)};N(ie,_e=>{l(G).type==="tool_call"?_e(se):_e(fe,-1)})}D(R,Y)}),D($,q)};N(ji,$=>{l(re).length>0&&$(gi)})}var Gi=v(ji,2);{var Z=$=>{var q=zX(),R=m(q),G=m(R),Y=m(G);W(()=>O(Y,T[l(I)])),D($,q)};N(Gi,$=>{l(a)&&l(s)===null&&l(re).length===0&&$(Z)})}var Se=v(Gi,2);{var ot=$=>{var q=jX(),R=m(q);ti(R,21,()=>Ee(l(s)),Ri,(G,Y)=>{var ie=Hs(),se=lt(ie);{var fe=Ce=>{var Oe=U2();Fc(Oe,()=>ut(l(Y).text),!0),D(Ce,Oe)},_e=Ce=>{var Oe=VX(),Re=m(Oe),tt=m(Re),ei=m(tt),J=v(Re,2),he=m(J);Fc(he,()=>Je(l(Y).text,l(Y).lang??""),!0),W(()=>O(ei,l(Y).lang)),D(Ce,Oe)};N(se,Ce=>{l(Y).type==="text"?Ce(fe):Ce(_e,-1)})}D(G,ie)}),D($,q)};N(Se,$=>{l(s)!==null&&$(ot)})}Bs(kn,$=>te=$,()=>te);var Ye=v(kn,2);{var Wt=$=>{var q=$X(),R=m(q);W(()=>O(R,l(d))),D($,q)};N(Ye,$=>{l(d)&&$(Wt)})}var Jt=v(Ye,2),ht=m(Jt),Qe=m(ht),dt=v(ht,2),di=m(dt),De=v(dt,2),We=m(De),Oi=v(De,2),on=m(Oi),Ki=v(Jt,2),ue=m(Ki);{var Ke=$=>{var q=UX();let R;var G=v(m(q),2),Y=m(G),ie=v(G,2),se=m(ie);W(()=>{R=At(q,1,"file-chip svelte-1twuiul",null,R,{inactive:!l(Q)}),O(Y,t().id),fn(ie,"title",l(Q)?"Remove from context":"Re-add to context"),O(se,l(Q)?"×":"+")}),z("click",ie,()=>x(Q,!l(Q))),D($,q)};N(ue,$=>{t()&&$(Ke)})}var Bt=v(ue,2);ti(Bt,17,()=>l(U),Ri,($,q,R)=>{const G=Ft(()=>ri(l(q).name));var Y=qX(),ie=m(Y),se=m(ie),fe=v(ie,2),_e=m(fe),Ce=v(fe,2);W((Oe,Re)=>{At(ie,1,`badge badge-${Oe??""}`,"svelte-1twuiul"),O(se,Re),O(_e,l(q).name)},[()=>l(G).toLowerCase(),()=>vt(l(G))]),z("click",Ce,()=>li(R)),D($,Y)});var zt=v(Bt,2),Fe=v(zt,2);Bs(Fe,$=>le=$,()=>le);var Ve=v(Ki,2);let Vt;var Ut=m(Ve);let Zt;var Rt=m(Ut);Bs(Rt,$=>ge=$,()=>ge);var V=v(Ut,2);{var ae=$=>{var q=GX();z("click",q,ki),D($,q)},pe=$=>{var q=KX();W(R=>q.disabled=R,[()=>!l(r).trim()||!l(we)]),z("click",q,Ni),D($,q)};N(V,$=>{l(a)?$(ae):$(pe,-1)})}var ve=v(Ve,2);{var nt=$=>{var q=JX(),R=m(q),G=m(R),Y=v(R,2);{var ie=Ce=>{var Oe=XX();ti(Oe,21,()=>l(f),Ri,(Re,tt)=>{var ei=ZX(),J=m(ei),he={};W(()=>{O(J,l(tt)),he!==(he=l(tt))&&(ei.value=(ei.__value=l(tt))??"")}),D(Re,ei)}),W(()=>Oe.disabled=l(a)),Ks(Oe,()=>l(g),Re=>x(g,Re)),D(Ce,Oe)},se=Ce=>{var Oe=YX(),Re=m(Oe);W(()=>O(Re,l(g)||l(u).model)),D(Ce,Oe)};N(Y,Ce=>{l(f).length>0?Ce(ie):Ce(se,-1)})}var fe=v(Y,2);{var _e=Ce=>{var Oe=QX();z("click",Oe,oi),D(Ce,Oe)};N(fe,Ce=>{l(u).provider==="ollama"&&Ce(_e)})}W(()=>O(G,l(u).provider)),D($,q)};N(ve,$=>{l(we)&&l(u)&&$(nt)})}var Ze=v(Qt,2);{var Et=$=>{var q=dY(),R=m(q),G=m(R),Y=m(G),ie=m(Y),se=v(Y,2),fe=v(G,2),_e=m(fe);{var Ce=tt=>{var ei=eY();D(tt,ei)},Oe=tt=>{var ei=tY(),J=m(ei);W(()=>O(J,l(w))),D(tt,ei)},Re=tt=>{var ei=cY(),J=m(ei);{var he=st=>{var Ct=iY(),jt=v(lt(Ct)),Tt=m(jt);W(()=>O(Tt,l(b).version)),D(st,Ct)};N(J,st=>{l(b).version&&st(he)})}var je=v(J,2);{var yt=st=>{var Ct=nY(),jt=v(lt(Ct)),Tt=m(jt);W(()=>O(Tt,l(b).details.family)),D(st,Ct)};N(je,st=>{var Ct;(Ct=l(b).details)!=null&&Ct.family&&st(yt)})}var Le=v(je,2);{var Pe=st=>{var Ct=sY(),jt=v(lt(Ct)),Tt=m(jt);W(()=>O(Tt,l(b).details.parameter_size)),D(st,Ct)};N(Le,st=>{var Ct;(Ct=l(b).details)!=null&&Ct.parameter_size&&st(Pe)})}var gt=v(Le,2);{var pt=st=>{var Ct=oY(),jt=v(lt(Ct)),Tt=m(jt);W(()=>O(Tt,l(b).details.quantization_level)),D(st,Ct)};N(gt,st=>{var Ct;(Ct=l(b).details)!=null&&Ct.quantization_level&&st(pt)})}var Xe=v(gt,2);{var qt=st=>{var Ct=aY(),jt=v(lt(Ct),2);ti(jt,21,()=>l(b).running,Ri,(Tt,ni)=>{var ze=rY(),wt=m(ze);W(ii=>O(wt,`${l(ni).name??""} · ${ii??""} VRAM`),[()=>vi(l(ni).size_vram)]),D(Tt,ze)}),D(st,Ct)},rt=st=>{var Ct=lY();D(st,Ct)};N(Xe,st=>{l(b).running&&l(b).running.length>0?st(qt):l(b).running!==null&&st(rt,1)})}D(tt,ei)};N(_e,tt=>{l(E)?tt(Ce):l(w)?tt(Oe,1):l(b)&&tt(Re,2)})}W(()=>{var tt;return O(ie,`Ollama · ${(l(g)||((tt=l(u))==null?void 0:tt.model))??""}`)}),z("click",q,()=>x(C,!1)),z("click",R,tt=>tt.stopPropagation()),z("click",se,()=>x(C,!1)),D($,q)};N(Ze,$=>{l(C)&&$(Et)})}W($=>{O(on,$),Vt=At(Ve,1,"input-row svelte-1twuiul",null,Vt,{"drag-over":l(oe)}),Zt=At(Ut,1,"textarea-wrap svelte-1twuiul",null,Zt,{loading:l(a)}),fn(Rt,"placeholder",l(we)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Rt.disabled=l(a)||!l(we)},[()=>vi(l(He))]),Os(Qe,()=>l(M),$=>x(M,$)),Os(di,()=>l(P),$=>x(P,$)),Os(We,()=>l(j),$=>x(j,$)),z("click",zt,Ie),z("change",Fe,Pt),Ns("dragover",Ve,$t),Ns("dragleave",Ve,Pi),Ns("drop",Ve,ci),z("keydown",Rt,nn),Dt(Rt,()=>l(r),$=>x(r,$)),D(o,ft),eo()}uo(["click","change","keydown"]);var fY=F('<div class="me svelte-1pxdb1"></div>');function Mg(o,e){Js(e,!0);let t=qu(e,"value",15,""),i=qu(e,"language",3,"javascript"),n,s,r=!1;function a(){dr.setTheme(pf())}no(()=>{const u=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=dr.create(n,{value:t(),language:i(),theme:pf(),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},...u}),s.onDidChangeModelContent(()=>{r||t(s.getValue())}),e.onSave&&s.addCommand(h1.CtrlCmd|Wk.KeyS,()=>e.onSave()),window.addEventListener("she:theme-changed",a);const f=window.matchMedia("(prefers-color-scheme: dark)");return f.addEventListener("change",a),()=>{window.removeEventListener("she:theme-changed",a),f.removeEventListener("change",a)}}),B0(()=>s==null?void 0:s.dispose()),vs(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var d=fY();Bs(d,u=>n=u,()=>n),D(o,d),eo()}const q2=o=>{var e=gY();D(o,e)};var gY=F('<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 &mdash; 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>'),pY=F('<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>'),G2=F('<div class="form-error svelte-rrt0o"> </div>'),xY=F('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),K2=F("<li> </li>"),Z2=F('<div class="error-bar svelte-rrt0o"> </div>'),X2=F('<div class="loading svelte-rrt0o">Loading…</div>'),vY=F('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),mY=F('<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),_Y=F('<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>'),bY=F('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),CY=pb('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="2,8 6,12 14,4"></polyline></svg>'),EY=pb('<svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><rect x="5" y="2" width="9" height="11" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"></rect><rect x="2" y="5" width="9" height="11" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"></rect></svg>'),yY=F('<div class="mqtt-topic-row svelte-rrt0o"><code class="mqtt-topic svelte-rrt0o"> </code> <button class="btn-copy svelte-rrt0o"><!></button> <span class="section-hint svelte-rrt0o">published on every update</span></div> <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>',1),wY=F('<span class="badge-error svelte-rrt0o">error</span>'),SY=F('<span class="badge-ok svelte-rrt0o"> </span>'),DY=F('<pre class="result-error svelte-rrt0o"> </pre>'),AY=F('<pre class="result-json svelte-rrt0o"> </pre>'),kY=F('<div class="view-result-fill svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),BY=F('<div class="view-sections svelte-rrt0o"><div class="view-top 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 &nbsp;·&nbsp; call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap svelte-rrt0o"><!></div> <div class="view-row-handle svelte-rrt0o" role="separator"></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 svelte-rrt0o"><!></div> <div class="view-row-handle svelte-rrt0o" role="separator"></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</label> <!></div></div> <!></div>'),FY=F('<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),LY=F('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),IY=F('<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>'),PY=F('<!> <div role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>',1);function TY(o,e){Js(e,!0);let t=B(_i([])),i=B(null),n=B("{}"),s=B(!1),r=B(null);const a="she-db-selected-view";let d=B(_i([])),u=B(_i(localStorage.getItem(a))),f=B("#"),g=B("// emit(this.someProperty)"),p=B(""),C=B(""),b=B(!1),E=B(!1),w=B(null),A=B(!1),I=B(null),T=B("she/db/view/");const M="she-db-panel";let P=B(_i(localStorage.getItem(M)??"docs")),j=B(""),U=B(!1),Q=B(null),oe=B(""),le=B(!1),re=B(null);const ce="she-db-sidebar-width";let ge=B(_i(parseInt(localStorage.getItem(ce)??"220",10))),te=!1,de=0,we=0;const He="she-db-chat-width",me="she-db-chat-open";let Me=B(localStorage.getItem(me)==="true"),Ne=B(_i(parseInt(localStorage.getItem(He)??"320",10))),Ee=!1,it=0,Lt=0;const et="she-db-map-height",St="she-db-reduce-height";let be=B(_i(parseInt(localStorage.getItem(et)??"240",10))),ke=B(_i(parseInt(localStorage.getItem(St)??"160",10))),Je=!1,ut=0,ct=0,kt=!1,oi=0,vi=0;const ri=Ft(()=>l(u)?{id:l(u),filter:l(f),map:l(g),reduce:l(p)}:null);function vt(De){De.filter!==void 0&&x(f,De.filter,!0),De.map!==void 0&&x(g,De.map,!0),De.reduce!==void 0&&x(p,De.reduce,!0)}vs(()=>{localStorage.setItem(me,String(l(Me)))}),vs(()=>{localStorage.setItem(M,l(P))}),vs(()=>{l(u)?localStorage.setItem(a,l(u)):localStorage.removeItem(a)});function li(De){te=!0,de=De.clientX,we=l(ge),De.preventDefault()}function Ie(De){te&&x(ge,Math.max(140,Math.min(500,we+De.clientX-de)),!0),Ee&&x(Ne,Math.max(240,Math.min(600,Lt-(De.clientX-it))),!0),Je&&x(be,Math.max(60,Math.min(600,ct+De.clientY-ut)),!0),kt&&x(ke,Math.max(40,Math.min(400,vi+De.clientY-oi)),!0)}function ye(){te&&(te=!1,localStorage.setItem(ce,String(l(ge)))),Ee&&(Ee=!1,localStorage.setItem(He,String(l(Ne)))),Je&&(Je=!1,localStorage.setItem(et,String(l(be)))),kt&&(kt=!1,localStorage.setItem(St,String(l(ke))))}function Pt(De){Ee=!0,it=De.clientX,Lt=l(Ne),De.preventDefault()}async function ci(){try{x(t,await wF(),!0)}catch{}}async function $t(){try{x(d,await SF(),!0)}catch{}}async function Pi(De){x(i,De,!0),x(r,null),x(s,!0);try{const We=await lU(De);x(n,JSON.stringify(We,null,2),!0)}catch(We){x(r,We instanceof Error?We.message:String(We),!0)}finally{x(s,!1)}}async function Ni(){if(l(i)){x(r,null);try{const De=JSON.parse(l(n));await h2(l(i),De)}catch(De){x(r,De instanceof Error?De.message:String(De),!0)}}}let ki;async function nn(){if(l(i)&&await ki.show(`Delete document "${l(i)}"?`,{confirm:"Delete",danger:!0}))try{await cU(l(i)),x(i,null),x(n,"{}")}catch(De){x(r,De instanceof Error?De.message:String(De),!0)}}async function sn(){const De=l(j).trim();if(De){x(Q,null);try{await h2(De,{}),x(U,!1),x(j,""),await Pi(De)}catch(We){x(Q,We instanceof Error?We.message:String(We),!0)}}}async function pn(De){x(u,De,!0),x(I,null),x(A,!0),x(w,null);try{const We=await dU(De);x(f,We.filter??"",!0),x(g,We.map,!0),x(p,We.reduce??"",!0),x(C,We.description??"",!0),x(b,We.mqttpub??!1,!0),x(E,We.retain??!1,!0),x(w,await VC(De).catch(()=>null),!0)}catch(We){x(I,We instanceof Error?We.message:String(We),!0)}finally{x(A,!1)}}async function wn(){if(l(u)){x(I,null);try{const De={map:l(g)};l(f).trim()&&(De.filter=l(f).trim()),l(p).trim()&&(De.reduce=l(p).trim()),l(C).trim()&&(De.description=l(C).trim()),l(b)&&(De.mqttpub=!0),l(E)&&(De.retain=!0),await f2(l(u),De)}catch(De){x(I,De instanceof Error?De.message:String(De),!0)}}}async function ft(){if(l(u))try{x(w,await VC(l(u)),!0)}catch(De){x(I,De instanceof Error?De.message:String(De),!0)}}async function Qt(){if(l(u)&&await ki.show(`Delete view "${l(u)}"?`,{confirm:"Delete",danger:!0}))try{await uU(l(u)),x(u,null),x(f,""),x(g,"// emit(this.someProperty)"),x(p,""),x(C,""),x(b,!1),x(E,!1),x(w,null)}catch(De){x(I,De instanceof Error?De.message:String(De),!0)}}async function Ti(){if(!l(oe).trim())return;const De=l(oe).trim();x(re,null);try{await f2(De,{map:"// emit(this.someProperty)"}),x(le,!1),x(oe,""),await $t(),await pn(De)}catch(We){x(re,We instanceof Error?We.message:String(We),!0)}}let Bi=B(""),bi=B("");function bn(De){return De.includes("#")||De.includes("+")}let Cn=Ft(()=>[...l(t)].filter(De=>l(Bi)?bn(l(Bi))?z2(De,l(Bi))!==null:De.toLowerCase().includes(l(Bi).toLowerCase()):!0).sort()),kn=Ft(()=>[...l(d)].filter(De=>l(bi)?bn(l(bi))?z2(De,l(bi))!==null:De.toLowerCase().includes(l(bi).toLowerCase()):!0).sort()),$e=B(!1),Yt=null;function Fi(){try{navigator.clipboard.writeText(`${l(T)}${l(u)}`)}catch{}x($e,!0),Yt&&clearTimeout(Yt),Yt=setTimeout(()=>x($e,!1),1500)}no(()=>{ci(),$t().then(()=>{l(u)&&l(d).includes(l(u))?pn(l(u)):x(u,null)}),Gl().then(Ki=>{const ue=Ki.dbPrefix||"she/db/",Ke=ue.endsWith("/")?ue:ue+"/";x(T,Ke+"view/")}).catch(()=>{});const De=mr("db:ids",Ki=>{x(t,Ki.ids??[],!0)}),We=mr("db:viewIds",Ki=>{x(d,Ki.ids??[],!0)}),Oi=mr("db:change",async Ki=>{const ue=Ki.id;l(i)===ue&&(Ki.doc===null?(x(i,null),x(n,"{}")):x(n,JSON.stringify(Ki.doc,null,2),!0))}),on=mr("db:viewUpdate",async Ki=>{const ue=Ki.id;l(u)===ue&&x(w,await VC(ue).catch(()=>null),!0)});return()=>{De(),We(),Oi(),on()}});var fi=PY(),ji=lt(fi);Bs(hl(ji,{}),De=>ki=De,()=>ki);var gi=v(ji,2);let Gi;var Z=m(gi),Se=m(Z);let ot;var Ye=v(Se,2);let Wt;var Jt=v(Ye,2);{var ht=De=>{var We=pY();let Oi;W(()=>{Oi=At(We,1,"ai-toggle svelte-rrt0o",null,Oi,{"ai-open":l(Me)}),fn(We,"title",l(Me)?"Close AI assistant":"Open AI assistant")}),z("click",We,()=>x(Me,!l(Me))),D(De,We)};N(Jt,De=>{l(P)==="views"&&De(ht)})}var Qe=v(Z,2);{var dt=De=>{var We=_Y(),Oi=m(We);let on;var Ki=m(Oi),ue=m(Ki),Ke=v(Ki,2);{var Bt=ae=>{var pe=xY(),ve=lt(pe),nt=m(ve),Ze=v(nt,2),Et=v(ve,2);{var $=q=>{var R=G2(),G=m(R);W(()=>O(G,l(Q))),D(q,R)};N(Et,q=>{l(Q)&&q($)})}z("keydown",nt,q=>q.key==="Enter"&&sn()),Dt(nt,()=>l(j),q=>x(j,q)),z("click",Ze,sn),D(ae,pe)};N(Ke,ae=>{l(U)&&ae(Bt)})}var zt=v(Ke,2),Fe=m(zt),Ve=v(zt,2);ti(Ve,20,()=>l(Cn),ae=>ae,(ae,pe)=>{var ve=K2();let nt;var Ze=m(ve);W(()=>{nt=At(ve,1,"flat-item svelte-rrt0o",null,nt,{"active-item":l(i)===pe}),O(Ze,pe)}),z("click",ve,()=>Pi(pe)),D(ae,ve)});var Vt=v(Oi,2),Ut=v(Vt,2),Zt=m(Ut);{var Rt=ae=>{var pe=mY(),ve=lt(pe),nt=m(ve),Ze=m(nt),Et=v(nt,2),$=v(Et,2),q=v(ve,2);{var R=se=>{var fe=Z2(),_e=m(fe);W(()=>O(_e,l(r))),D(se,fe)};N(q,se=>{l(r)&&se(R)})}var G=v(q,2);{var Y=se=>{var fe=X2();D(se,fe)},ie=se=>{var fe=vY(),_e=m(fe);Mg(_e,{language:"json",get value(){return l(n)},set value(Ce){x(n,Ce,!0)}}),D(se,fe)};N(G,se=>{l(s)?se(Y):se(ie,-1)})}W(()=>O(Ze,l(i))),z("click",Et,Ni),z("click",$,nn),D(ae,pe)},V=ae=>{q2(ae)};N(Zt,ae=>{l(i)?ae(Rt):ae(V,-1)})}W(()=>on=Io(Oi,"",on,{width:`${l(ge)??""}px`})),z("click",ue,()=>{x(U,!l(U)),x(Q,null)}),Dt(Fe,()=>l(Bi),ae=>x(Bi,ae)),z("mousedown",Vt,li),D(De,We)},di=De=>{var We=IY(),Oi=m(We);let on;var Ki=m(Oi),ue=m(Ki),Ke=v(Ki,2);{var Bt=ve=>{var nt=bY(),Ze=lt(nt),Et=m(Ze),$=v(Et,2),q=v(Ze,2);{var R=G=>{var Y=G2(),ie=m(Y);W(()=>O(ie,l(re))),D(G,Y)};N(q,G=>{l(re)&&G(R)})}z("keydown",Et,G=>G.key==="Enter"&&Ti()),Dt(Et,()=>l(oe),G=>x(oe,G)),z("click",$,Ti),D(ve,nt)};N(Ke,ve=>{l(le)&&ve(Bt)})}var zt=v(Ke,2),Fe=m(zt),Ve=v(zt,2);ti(Ve,20,()=>l(kn),ve=>ve,(ve,nt)=>{var Ze=K2();let Et;var $=m(Ze);W(()=>{Et=At(Ze,1,"flat-item svelte-rrt0o",null,Et,{"active-item":l(u)===nt}),O($,nt)}),z("click",Ze,()=>pn(nt)),D(ve,Ze)});var Vt=v(Oi,2),Ut=v(Vt,2),Zt=m(Ut);{var Rt=ve=>{var nt=FY(),Ze=lt(nt),Et=m(Ze),$=m(Et),q=v(Et,2),R=v(q,2),G=v(R,2),Y=v(Ze,2);{var ie=Ce=>{var Oe=Z2(),Re=m(Oe);W(()=>O(Re,l(I))),D(Ce,Oe)};N(Y,Ce=>{l(I)&&Ce(ie)})}var se=v(Y,2);{var fe=Ce=>{var Oe=X2();D(Ce,Oe)},_e=Ce=>{var Oe=BY(),Re=m(Oe),tt=m(Re),ei=v(m(tt),2),J=m(ei),he=v(tt,2),je=v(m(he),2),yt=m(je),Le=v(he,2),Pe=v(m(Le),2);let gt;var pt=m(Pe);Mg(pt,{language:"javascript",onSave:wn,get value(){return l(g)},set value(Xt){x(g,Xt,!0)}});var Xe=v(Pe,2),qt=v(Le,2),rt=v(m(qt),2);let st;var Ct=m(rt);Mg(Ct,{language:"javascript",onSave:wn,get value(){return l(p)},set value(Xt){x(p,Xt,!0)}});var jt=v(rt,2),Tt=v(qt,2),ni=m(Tt),ze=m(ni),wt=v(ni,2);{var ii=Xt=>{var Di=yY(),Zi=lt(Di),qi=m(Zi),Ji=m(qi),qe=v(qi,2),bt=m(qe);{var It=Li=>{var Yi=CY();D(Li,Yi)},ui=Li=>{var Yi=EY();D(Li,Yi)};N(bt,Li=>{l($e)?Li(It):Li(ui,-1)})}var Kt=v(Zi,2),mi=m(Kt);W(()=>{O(Ji,`${l(T)??""}${l(u)??""}`),fn(qe,"title",l($e)?"Copied!":"Copy topic")}),z("click",qe,Fi),Os(mi,()=>l(E),Li=>x(E,Li)),D(Xt,Di)};N(wt,Xt=>{l(b)&&Xt(ii)})}var Vi=v(Re,2);{var Gt=Xt=>{var Di=kY(),Zi=m(Di),qi=v(m(Zi));{var Ji=Kt=>{var mi=wY();D(Kt,mi)},qe=Kt=>{var mi=SY(),Li=m(mi);W(()=>O(Li,`${l(w).length??0??""} items · rev ${l(w)._rev??""}`)),D(Kt,mi)};N(qi,Kt=>{l(w).error?Kt(Ji):Kt(qe,-1)})}var bt=v(Zi,2);{var It=Kt=>{var mi=DY(),Li=m(mi);W(()=>O(Li,l(w).error)),D(Kt,mi)},ui=Kt=>{var mi=AY(),Li=m(mi);W(Yi=>O(Li,Yi),[()=>JSON.stringify(l(w).result,null,2)]),D(Kt,mi)};N(bt,Kt=>{l(w).error?Kt(It):Kt(ui,-1)})}D(Xt,Di)};N(Vi,Xt=>{l(w)&&Xt(Gt)})}W(()=>{gt=Io(Pe,"",gt,{height:`${l(be)??""}px`}),st=Io(rt,"",st,{height:`${l(ke)??""}px`})}),Dt(J,()=>l(C),Xt=>x(C,Xt)),Dt(yt,()=>l(f),Xt=>x(f,Xt)),z("mousedown",Xe,Xt=>{Je=!0,ut=Xt.clientY,ct=l(be),Xt.preventDefault()}),z("mousedown",jt,Xt=>{kt=!0,oi=Xt.clientY,vi=l(ke),Xt.preventDefault()}),Os(ze,()=>l(b),Xt=>x(b,Xt)),D(Ce,Oe)};N(se,Ce=>{l(A)?Ce(fe):Ce(_e,-1)})}W(()=>O($,l(u))),z("click",q,wn),z("click",R,ft),z("click",G,Qt),D(ve,nt)},V=ve=>{q2(ve)};N(Zt,ve=>{l(u)?ve(Rt):ve(V,-1)})}var ae=v(Ut,2);{var pe=ve=>{var nt=LY(),Ze=lt(nt),Et=v(Ze,2);let $;var q=m(Et);hY(q,{get currentView(){return l(ri)},onApplyView:vt}),W(()=>$=Io(Et,"",$,{width:`${l(Ne)??""}px`})),z("mousedown",Ze,Pt),D(ve,nt)};N(ae,ve=>{l(Me)&&ve(pe)})}W(()=>on=Io(Oi,"",on,{width:`${l(ge)??""}px`})),z("click",ue,()=>{x(le,!l(le)),x(re,null)}),Dt(Fe,()=>l(bi),ve=>x(bi,ve)),z("mousedown",Vt,li),D(De,We)};N(Qe,De=>{l(P)==="docs"?De(dt):De(di,-1)})}W(()=>{Gi=At(gi,1,"db-root svelte-rrt0o",null,Gi,{"row-dragging":Je||kt}),ot=At(Se,1,"svelte-rrt0o",null,ot,{active:l(P)==="docs"}),Wt=At(Ye,1,"svelte-rrt0o",null,Wt,{active:l(P)==="views"})}),z("mousemove",gi,Ie),z("mouseup",gi,ye),Ns("mouseleave",gi,ye),z("click",Se,()=>x(P,"docs")),z("click",Ye,()=>x(P,"views")),D(o,fi),eo()}uo(["mousemove","mouseup","click","keydown","mousedown"]);var Dv={exports:{}},MY=Dv.exports,Y2;function RY(){return Y2||(Y2=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:MY,function(){return(function(t){var i={};function n(s){if(i[s])return i[s].exports;var r=i[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(s,r,a){n.o(s,r)||Object.defineProperty(s,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(s){var r=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(r,"a",r),r},n.o=function(s,r){return Object.prototype.hasOwnProperty.call(s,r)},n.p="",n(n.s=3)})([(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a,d){this.width=d,this.height=a.length/d,this.data=a}return r.createEmpty=function(a,d){return new r(new Uint8ClampedArray(a*d),a)},r.prototype.get=function(a,d){return a<0||a>=this.width||d<0||d>=this.height?!1:!!this.data[d*this.width+a]},r.prototype.set=function(a,d,u){this.data[d*this.width+a]=u?1:0},r.prototype.setRegion=function(a,d,u,f,g){for(var p=d;p<d+f;p++)for(var C=a;C<a+u;C++)this.set(C,p,!!g)},r})();i.BitMatrix=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(2);function r(d,u){return d^u}i.addOrSubtractGF=r;var a=(function(){function d(u,f,g){this.primitive=u,this.size=f,this.generatorBase=g,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var p=1,C=0;C<this.size;C++)this.expTable[C]=p,p=p*2,p>=this.size&&(p=(p^this.primitive)&this.size-1);for(var C=0;C<this.size-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]))}return d.prototype.multiply=function(u,f){return u===0||f===0?0:this.expTable[(this.logTable[u]+this.logTable[f])%(this.size-1)]},d.prototype.inverse=function(u){if(u===0)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[u]-1]},d.prototype.buildMonomial=function(u,f){if(u<0)throw new Error("Invalid monomial degree less than 0");if(f===0)return this.zero;var g=new Uint8ClampedArray(u+1);return g[0]=f,new s.default(this,g)},d.prototype.log=function(u){if(u===0)throw new Error("Can't take log(0)");return this.logTable[u]},d.prototype.exp=function(u){return this.expTable[u]},d})();i.default=a}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=(function(){function a(d,u){if(u.length===0)throw new Error("No coefficients.");this.field=d;var f=u.length;if(f>1&&u[0]===0){for(var g=1;g<f&&u[g]===0;)g++;if(g===f)this.coefficients=d.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(f-g);for(var p=0;p<this.coefficients.length;p++)this.coefficients[p]=u[g+p]}}else this.coefficients=u}return a.prototype.degree=function(){return this.coefficients.length-1},a.prototype.isZero=function(){return this.coefficients[0]===0},a.prototype.getCoefficient=function(d){return this.coefficients[this.coefficients.length-1-d]},a.prototype.addOrSubtract=function(d){var u;if(this.isZero())return d;if(d.isZero())return this;var f=this.coefficients,g=d.coefficients;f.length>g.length&&(u=[g,f],f=u[0],g=u[1]);for(var p=new Uint8ClampedArray(g.length),C=g.length-f.length,b=0;b<C;b++)p[b]=g[b];for(var b=C;b<g.length;b++)p[b]=s.addOrSubtractGF(f[b-C],g[b]);return new a(this.field,p)},a.prototype.multiply=function(d){if(d===0)return this.field.zero;if(d===1)return this;for(var u=this.coefficients.length,f=new Uint8ClampedArray(u),g=0;g<u;g++)f[g]=this.field.multiply(this.coefficients[g],d);return new a(this.field,f)},a.prototype.multiplyPoly=function(d){if(this.isZero()||d.isZero())return this.field.zero;for(var u=this.coefficients,f=u.length,g=d.coefficients,p=g.length,C=new Uint8ClampedArray(f+p-1),b=0;b<f;b++)for(var E=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(E,g[w]));return new a(this.field,C)},a.prototype.multiplyByMonomial=function(d,u){if(d<0)throw new Error("Invalid degree less than 0");if(u===0)return this.field.zero;for(var f=this.coefficients.length,g=new Uint8ClampedArray(f+d),p=0;p<f;p++)g[p]=this.field.multiply(this.coefficients[p],u);return new a(this.field,g)},a.prototype.evaluateAt=function(d){var u=0;if(d===0)return this.getCoefficient(0);var f=this.coefficients.length;if(d===1)return this.coefficients.forEach(function(p){u=s.addOrSubtractGF(u,p)}),u;u=this.coefficients[0];for(var g=1;g<f;g++)u=s.addOrSubtractGF(this.field.multiply(d,u),this.coefficients[g]);return u},a})();i.default=r}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(4),r=n(5),a=n(11),d=n(12);function u(p){var C=d.locate(p);if(!C)return null;for(var b=0,E=C;b<E.length;b++){var w=E[b],A=a.extract(p,w),I=r.decode(A.matrix);if(I)return{binaryData:I.bytes,data:I.text,chunks:I.chunks,version:I.version,location:{topRightCorner:A.mappingFunction(w.dimension,0),topLeftCorner:A.mappingFunction(0,0),bottomRightCorner:A.mappingFunction(w.dimension,w.dimension),bottomLeftCorner:A.mappingFunction(0,w.dimension),topRightFinderPattern:w.topRight,topLeftFinderPattern:w.topLeft,bottomLeftFinderPattern:w.bottomLeft,bottomRightAlignmentPattern:w.alignmentPattern}}}return null}var f={inversionAttempts:"attemptBoth"};function g(p,C,b,E){E===void 0&&(E={});var w=f;Object.keys(w||{}).forEach(function(U){w[U]=E[U]||w[U]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",I=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",T=s.binarize(p,C,b,A),M=T.binarized,P=T.inverted,j=u(I?P:M);return!j&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(j=u(I?M:P)),j}g.default=g,i.default=g}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=8,a=24;function d(g,p,C){return g<p?p:g>C?C:g}var u=(function(){function g(p,C){this.width=p,this.data=new Uint8ClampedArray(p*C)}return g.prototype.get=function(p,C){return this.data[C*this.width+p]},g.prototype.set=function(p,C,b){this.data[C*this.width+p]=b},g})();function f(g,p,C,b){if(g.length!==p*C*4)throw new Error("Malformed data passed to binarizer.");for(var E=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var I=g[(A*p+w)*4+0],T=g[(A*p+w)*4+1],M=g[(A*p+w)*4+2];E.set(w,A,.2126*I+.7152*T+.0722*M)}for(var P=Math.ceil(p/r),j=Math.ceil(C/r),U=new u(P,j),Q=0;Q<j;Q++)for(var oe=0;oe<P;oe++){for(var le=0,re=1/0,ce=0,A=0;A<r;A++)for(var w=0;w<r;w++){var ge=E.get(oe*r+w,Q*r+A);le+=ge,re=Math.min(re,ge),ce=Math.max(ce,ge)}var te=le/Math.pow(r,2);if(ce-re<=a&&(te=re/2,Q>0&&oe>0)){var de=(U.get(oe,Q-1)+2*U.get(oe-1,Q)+U.get(oe-1,Q-1))/4;re<de&&(te=de)}U.set(oe,Q,te)}var we=s.BitMatrix.createEmpty(p,C),He=null;b&&(He=s.BitMatrix.createEmpty(p,C));for(var Q=0;Q<j;Q++)for(var oe=0;oe<P;oe++){for(var me=d(oe,2,P-3),Me=d(Q,2,j-3),le=0,Ne=-2;Ne<=2;Ne++)for(var Ee=-2;Ee<=2;Ee++)le+=U.get(me+Ne,Me+Ee);for(var it=le/25,Ne=0;Ne<r;Ne++)for(var Ee=0;Ee<r;Ee++){var w=oe*r+Ne,A=Q*r+Ee,Lt=E.get(w,A);we.set(w,A,Lt<=it),b&&He.set(w,A,!(Lt<=it))}}return b?{binarized:we,inverted:He}:{binarized:we}}i.binarize=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=n(6),a=n(9),d=n(10);function u(M,P){for(var j=M^P,U=0;j;)U++,j&=j-1;return U}function f(M,P){return P<<1|M}var g=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],p=[function(M){return(M.y+M.x)%2===0},function(M){return M.y%2===0},function(M){return M.x%3===0},function(M){return(M.y+M.x)%3===0},function(M){return(Math.floor(M.y/2)+Math.floor(M.x/3))%2===0},function(M){return M.x*M.y%2+M.x*M.y%3===0},function(M){return(M.y*M.x%2+M.y*M.x%3)%2===0},function(M){return((M.y+M.x)%2+M.y*M.x%3)%2===0}];function C(M){var P=17+4*M.versionNumber,j=s.BitMatrix.createEmpty(P,P);j.setRegion(0,0,9,9,!0),j.setRegion(P-8,0,8,9,!0),j.setRegion(0,P-8,9,8,!0);for(var U=0,Q=M.alignmentPatternCenters;U<Q.length;U++)for(var oe=Q[U],le=0,re=M.alignmentPatternCenters;le<re.length;le++){var ce=re[le];oe===6&&ce===6||oe===6&&ce===P-7||oe===P-7&&ce===6||j.setRegion(oe-2,ce-2,5,5,!0)}return j.setRegion(6,9,1,P-17,!0),j.setRegion(9,6,P-17,1,!0),M.versionNumber>6&&(j.setRegion(P-11,0,3,6,!0),j.setRegion(0,P-11,6,3,!0)),j}function b(M,P,j){for(var U=p[j.dataMask],Q=M.height,oe=C(P),le=[],re=0,ce=0,ge=!0,te=Q-1;te>0;te-=2){te===6&&te--;for(var de=0;de<Q;de++)for(var we=ge?Q-1-de:de,He=0;He<2;He++){var me=te-He;if(!oe.get(me,we)){ce++;var Me=M.get(me,we);U({y:we,x:me})&&(Me=!Me),re=f(Me,re),ce===8&&(le.push(re),ce=0,re=0)}}ge=!ge}return le}function E(M){var P=M.height,j=Math.floor((P-17)/4);if(j<=6)return d.VERSIONS[j-1];for(var U=0,Q=5;Q>=0;Q--)for(var oe=P-9;oe>=P-11;oe--)U=f(M.get(oe,Q),U);for(var le=0,oe=5;oe>=0;oe--)for(var Q=P-9;Q>=P-11;Q--)le=f(M.get(oe,Q),le);for(var re=1/0,ce,ge=0,te=d.VERSIONS;ge<te.length;ge++){var de=te[ge];if(de.infoBits===U||de.infoBits===le)return de;var we=u(U,de.infoBits);we<re&&(ce=de,re=we),we=u(le,de.infoBits),we<re&&(ce=de,re=we)}if(re<=3)return ce}function w(M){for(var P=0,j=0;j<=8;j++)j!==6&&(P=f(M.get(j,8),P));for(var U=7;U>=0;U--)U!==6&&(P=f(M.get(8,U),P));for(var Q=M.height,oe=0,U=Q-1;U>=Q-7;U--)oe=f(M.get(8,U),oe);for(var j=Q-8;j<Q;j++)oe=f(M.get(j,8),oe);for(var le=1/0,re=null,ce=0,ge=g;ce<ge.length;ce++){var te=ge[ce],de=te.bits,we=te.formatInfo;if(de===P||de===oe)return we;var He=u(P,de);He<le&&(re=we,le=He),P!==oe&&(He=u(oe,de),He<le&&(re=we,le=He))}return le<=3?re:null}function A(M,P,j){var U=P.errorCorrectionLevels[j],Q=[],oe=0;if(U.ecBlocks.forEach(function(Me){for(var Ne=0;Ne<Me.numBlocks;Ne++)Q.push({numDataCodewords:Me.dataCodewordsPerBlock,codewords:[]}),oe+=Me.dataCodewordsPerBlock+U.ecCodewordsPerBlock}),M.length<oe)return null;M=M.slice(0,oe);for(var le=U.ecBlocks[0].dataCodewordsPerBlock,re=0;re<le;re++)for(var ce=0,ge=Q;ce<ge.length;ce++){var te=ge[ce];te.codewords.push(M.shift())}if(U.ecBlocks.length>1)for(var de=U.ecBlocks[0].numBlocks,we=U.ecBlocks[1].numBlocks,re=0;re<we;re++)Q[de+re].codewords.push(M.shift());for(;M.length>0;)for(var He=0,me=Q;He<me.length;He++){var te=me[He];te.codewords.push(M.shift())}return Q}function I(M){var P=E(M);if(!P)return null;var j=w(M);if(!j)return null;var U=b(M,P,j),Q=A(U,P,j.errorCorrectionLevel);if(!Q)return null;for(var oe=Q.reduce(function(He,me){return He+me.numDataCodewords},0),le=new Uint8ClampedArray(oe),re=0,ce=0,ge=Q;ce<ge.length;ce++){var te=ge[ce],de=a.decode(te.codewords,te.codewords.length-te.numDataCodewords);if(!de)return null;for(var we=0;we<te.numDataCodewords;we++)le[re++]=de[we]}try{return r.decode(le,P.versionNumber)}catch{return null}}function T(M){if(M==null)return null;var P=I(M);if(P)return P;for(var j=0;j<M.width;j++)for(var U=j+1;U<M.height;U++)M.get(j,U)!==M.get(U,j)&&(M.set(j,U,!M.get(j,U)),M.set(U,j,!M.get(U,j)));return I(M)}i.decode=T}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(E){E.Numeric="numeric",E.Alphanumeric="alphanumeric",E.Byte="byte",E.Kanji="kanji",E.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(E){E[E.Terminator=0]="Terminator",E[E.Numeric=1]="Numeric",E[E.Alphanumeric=2]="Alphanumeric",E[E.Byte=4]="Byte",E[E.Kanji=8]="Kanji",E[E.ECI=7]="ECI"})(d||(d={}));function u(E,w){for(var A=[],I="",T=[10,12,14][w],M=E.readBits(T);M>=3;){var P=E.readBits(10);if(P>=1e3)throw new Error("Invalid numeric value above 999");var j=Math.floor(P/100),U=Math.floor(P/10)%10,Q=P%10;A.push(48+j,48+U,48+Q),I+=j.toString()+U.toString()+Q.toString(),M-=3}if(M===2){var P=E.readBits(7);if(P>=100)throw new Error("Invalid numeric value above 99");var j=Math.floor(P/10),U=P%10;A.push(48+j,48+U),I+=j.toString()+U.toString()}else if(M===1){var P=E.readBits(4);if(P>=10)throw new Error("Invalid numeric value above 9");A.push(48+P),I+=P.toString()}return{bytes:A,text:I}}var f=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function g(E,w){for(var A=[],I="",T=[9,11,13][w],M=E.readBits(T);M>=2;){var P=E.readBits(11),j=Math.floor(P/45),U=P%45;A.push(f[j].charCodeAt(0),f[U].charCodeAt(0)),I+=f[j]+f[U],M-=2}if(M===1){var j=E.readBits(6);A.push(f[j].charCodeAt(0)),I+=f[j]}return{bytes:A,text:I}}function p(E,w){for(var A=[],I="",T=[8,16,16][w],M=E.readBits(T),P=0;P<M;P++){var j=E.readBits(8);A.push(j)}try{I+=decodeURIComponent(A.map(function(U){return"%"+("0"+U.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:I}}function C(E,w){for(var A=[],I="",T=[8,10,12][w],M=E.readBits(T),P=0;P<M;P++){var j=E.readBits(13),U=Math.floor(j/192)<<8|j%192;U<7936?U+=33088:U+=49472,A.push(U>>8,U&255),I+=String.fromCharCode(r.shiftJISTable[U])}return{bytes:A,text:I}}function b(E,w){for(var A,I,T,M,P=new s.BitStream(E),j=w<=9?0:w<=26?1:2,U={text:"",bytes:[],chunks:[],version:w};P.available()>=4;){var Q=P.readBits(4);if(Q===d.Terminator)return U;if(Q===d.ECI)P.readBits(1)===0?U.chunks.push({type:a.ECI,assignmentNumber:P.readBits(7)}):P.readBits(1)===0?U.chunks.push({type:a.ECI,assignmentNumber:P.readBits(14)}):P.readBits(1)===0?U.chunks.push({type:a.ECI,assignmentNumber:P.readBits(21)}):U.chunks.push({type:a.ECI,assignmentNumber:-1});else if(Q===d.Numeric){var oe=u(P,j);U.text+=oe.text,(A=U.bytes).push.apply(A,oe.bytes),U.chunks.push({type:a.Numeric,text:oe.text})}else if(Q===d.Alphanumeric){var le=g(P,j);U.text+=le.text,(I=U.bytes).push.apply(I,le.bytes),U.chunks.push({type:a.Alphanumeric,text:le.text})}else if(Q===d.Byte){var re=p(P,j);U.text+=re.text,(T=U.bytes).push.apply(T,re.bytes),U.chunks.push({type:a.Byte,bytes:re.bytes,text:re.text})}else if(Q===d.Kanji){var ce=C(P,j);U.text+=ce.text,(M=U.bytes).push.apply(M,ce.bytes),U.chunks.push({type:a.Kanji,bytes:ce.bytes,text:ce.text})}}if(P.available()===0||P.readBits(P.available())===0)return U}i.decode=b}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a){this.byteOffset=0,this.bitOffset=0,this.bytes=a}return r.prototype.readBits=function(a){if(a<1||a>32||a>this.available())throw new Error("Cannot read "+a.toString()+" bits");var d=0;if(this.bitOffset>0){var u=8-this.bitOffset,f=a<u?a:u,g=u-f,p=255>>8-f<<g;d=(this.bytes[this.byteOffset]&p)>>g,a-=f,this.bitOffset+=f,this.bitOffset===8&&(this.bitOffset=0,this.byteOffset++)}if(a>0){for(;a>=8;)d=d<<8|this.bytes[this.byteOffset]&255,this.byteOffset++,a-=8;if(a>0){var g=8-a,p=255>>g<<g;d=d<<a|(this.bytes[this.byteOffset]&p)>>g,this.bitOffset+=a}}return d},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r})();i.BitStream=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=n(2);function a(g,p,C,b){var E;p.degree()<C.degree()&&(E=[C,p],p=E[0],C=E[1]);for(var w=p,A=C,I=g.zero,T=g.one;A.degree()>=b/2;){var M=w,P=I;if(w=A,I=T,w.isZero())return null;A=M;for(var j=g.zero,U=w.getCoefficient(w.degree()),Q=g.inverse(U);A.degree()>=w.degree()&&!A.isZero();){var oe=A.degree()-w.degree(),le=g.multiply(A.getCoefficient(A.degree()),Q);j=j.addOrSubtract(g.buildMonomial(oe,le)),A=A.addOrSubtract(w.multiplyByMonomial(oe,le))}if(T=j.multiplyPoly(I).addOrSubtract(P),A.degree()>=w.degree())return null}var re=T.getCoefficient(0);if(re===0)return null;var ce=g.inverse(re);return[T.multiply(ce),A.multiply(ce)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),E=0,w=1;w<g.size&&E<C;w++)p.evaluateAt(w)===0&&(b[E]=g.inverse(w),E++);return E!==C?null:b}function u(g,p,C){for(var b=C.length,E=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),I=1,T=0;T<b;T++)w!==T&&(I=g.multiply(I,s.addOrSubtractGF(1,g.multiply(C[T],A))));E[w]=g.multiply(p.evaluateAt(A),g.inverse(I)),g.generatorBase!==0&&(E[w]=g.multiply(E[w],A))}return E}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),E=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,I=0;I<p;I++){var T=E.evaluateAt(b.exp(I+b.generatorBase));w[w.length-1-I]=T,T!==0&&(A=!0)}if(!A)return C;var M=new r.default(b,w),P=a(b,b.buildMonomial(p,1),M,p);if(P===null)return null;var j=d(b,P[0]);if(j==null)return null;for(var U=u(b,P[1],j),Q=0;Q<j.length;Q++){var oe=C.length-1-b.log(j[Q]);if(oe<0)return null;C[oe]=s.addOrSubtractGF(C[oe],U[Q])}return C}i.decode=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0);function r(f,g,p,C){var b=f.x-g.x+p.x-C.x,E=f.y-g.y+p.y-C.y;if(b===0&&E===0)return{a11:g.x-f.x,a12:g.y-f.y,a13:0,a21:p.x-g.x,a22:p.y-g.y,a23:0,a31:f.x,a32:f.y,a33:1};var w=g.x-p.x,A=C.x-p.x,I=g.y-p.y,T=C.y-p.y,M=w*T-A*I,P=(b*T-A*E)/M,j=(w*E-b*I)/M;return{a11:g.x-f.x+P*g.x,a12:g.y-f.y+P*g.y,a13:P,a21:C.x-f.x+j*C.x,a22:C.y-f.y+j*C.y,a23:j,a31:f.x,a32:f.y,a33:1}}function a(f,g,p,C){var b=r(f,g,p,C);return{a11:b.a22*b.a33-b.a23*b.a32,a12:b.a13*b.a32-b.a12*b.a33,a13:b.a12*b.a23-b.a13*b.a22,a21:b.a23*b.a31-b.a21*b.a33,a22:b.a11*b.a33-b.a13*b.a31,a23:b.a13*b.a21-b.a11*b.a23,a31:b.a21*b.a32-b.a22*b.a31,a32:b.a12*b.a31-b.a11*b.a32,a33:b.a11*b.a22-b.a12*b.a21}}function d(f,g){return{a11:f.a11*g.a11+f.a21*g.a12+f.a31*g.a13,a12:f.a12*g.a11+f.a22*g.a12+f.a32*g.a13,a13:f.a13*g.a11+f.a23*g.a12+f.a33*g.a13,a21:f.a11*g.a21+f.a21*g.a22+f.a31*g.a23,a22:f.a12*g.a21+f.a22*g.a22+f.a32*g.a23,a23:f.a13*g.a21+f.a23*g.a22+f.a33*g.a23,a31:f.a11*g.a31+f.a21*g.a32+f.a31*g.a33,a32:f.a12*g.a31+f.a22*g.a32+f.a32*g.a33,a33:f.a13*g.a31+f.a23*g.a32+f.a33*g.a33}}function u(f,g){for(var p=a({x:3.5,y:3.5},{x:g.dimension-3.5,y:3.5},{x:g.dimension-6.5,y:g.dimension-6.5},{x:3.5,y:g.dimension-3.5}),C=r(g.topLeft,g.topRight,g.alignmentPattern,g.bottomLeft),b=d(C,p),E=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(j,U){var Q=b.a13*j+b.a23*U+b.a33;return{x:(b.a11*j+b.a21*U+b.a31)/Q,y:(b.a12*j+b.a22*U+b.a32)/Q}},A=0;A<g.dimension;A++)for(var I=0;I<g.dimension;I++){var T=I+.5,M=A+.5,P=w(T,M);E.set(I,A,f.get(Math.floor(P.x),Math.floor(P.y)))}return{matrix:E,mappingFunction:w}}i.extract=u}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=4,r=.5,a=1.5,d=function(T,M){return Math.sqrt(Math.pow(M.x-T.x,2)+Math.pow(M.y-T.y,2))};function u(T){return T.reduce(function(M,P){return M+P})}function f(T,M,P){var j,U,Q,oe,le=d(T,M),re=d(M,P),ce=d(T,P),ge,te,de;return re>=le&&re>=ce?(j=[M,T,P],ge=j[0],te=j[1],de=j[2]):ce>=re&&ce>=le?(U=[T,M,P],ge=U[0],te=U[1],de=U[2]):(Q=[T,P,M],ge=Q[0],te=Q[1],de=Q[2]),(de.x-te.x)*(ge.y-te.y)-(de.y-te.y)*(ge.x-te.x)<0&&(oe=[de,ge],ge=oe[0],de=oe[1]),{bottomLeft:ge,topLeft:te,topRight:de}}function g(T,M,P,j){var U=(u(C(T,P,j,5))/7+u(C(T,M,j,5))/7+u(C(P,T,j,5))/7+u(C(M,T,j,5))/7)/4;if(U<1)throw new Error("Invalid module size");var Q=Math.round(d(T,M)/U),oe=Math.round(d(T,P)/U),le=Math.floor((Q+oe)/2)+7;switch(le%4){case 0:le++;break;case 2:le--;break}return{dimension:le,moduleSize:U}}function p(T,M,P,j){var U=[{x:Math.floor(T.x),y:Math.floor(T.y)}],Q=Math.abs(M.y-T.y)>Math.abs(M.x-T.x),oe,le,re,ce;Q?(oe=Math.floor(T.y),le=Math.floor(T.x),re=Math.floor(M.y),ce=Math.floor(M.x)):(oe=Math.floor(T.x),le=Math.floor(T.y),re=Math.floor(M.x),ce=Math.floor(M.y));for(var ge=Math.abs(re-oe),te=Math.abs(ce-le),de=Math.floor(-ge/2),we=oe<re?1:-1,He=le<ce?1:-1,me=!0,Me=oe,Ne=le;Me!==re+we;Me+=we){var Ee=Q?Ne:Me,it=Q?Me:Ne;if(P.get(Ee,it)!==me&&(me=!me,U.push({x:Ee,y:it}),U.length===j+1))break;if(de+=te,de>0){if(Ne===ce)break;Ne+=He,de-=ge}}for(var Lt=[],et=0;et<j;et++)U[et]&&U[et+1]?Lt.push(d(U[et],U[et+1])):Lt.push(0);return Lt}function C(T,M,P,j){var U,Q=M.y-T.y,oe=M.x-T.x,le=p(T,M,P,Math.ceil(j/2)),re=p(T,{x:T.x-oe,y:T.y-Q},P,Math.ceil(j/2)),ce=le.shift()+re.shift()-1;return(U=re.concat(ce)).concat.apply(U,le)}function b(T,M){var P=u(T)/u(M),j=0;return M.forEach(function(U,Q){j+=Math.pow(T[Q]-U*P,2)}),{averageSize:P,error:j}}function E(T,M,P){try{var j=C(T,{x:-1,y:T.y},P,M.length),U=C(T,{x:T.x,y:-1},P,M.length),Q={x:Math.max(0,T.x-T.y)-1,y:Math.max(0,T.y-T.x)-1},oe=C(T,Q,P,M.length),le={x:Math.min(P.width,T.x+T.y)+1,y:Math.min(P.height,T.y+T.x)+1},re=C(T,le,P,M.length),ce=b(j,M),ge=b(U,M),te=b(oe,M),de=b(re,M),we=Math.sqrt(ce.error*ce.error+ge.error*ge.error+te.error*te.error+de.error*de.error),He=(ce.averageSize+ge.averageSize+te.averageSize+de.averageSize)/4,me=(Math.pow(ce.averageSize-He,2)+Math.pow(ge.averageSize-He,2)+Math.pow(te.averageSize-He,2)+Math.pow(de.averageSize-He,2))/He;return we+me}catch{return 1/0}}function w(T,M){for(var P=Math.round(M.x);T.get(P,Math.round(M.y));)P--;for(var j=Math.round(M.x);T.get(j,Math.round(M.y));)j++;for(var U=(P+j)/2,Q=Math.round(M.y);T.get(Math.round(U),Q);)Q--;for(var oe=Math.round(M.y);T.get(Math.round(U),oe);)oe++;var le=(Q+oe)/2;return{x:U,y:le}}function A(T){for(var M=[],P=[],j=[],U=[],Q=function(Ee){for(var it=0,Lt=!1,et=[0,0,0,0,0],St=function(ke){var Je=T.get(ke,Ee);if(Je===Lt)it++;else{et=[et[1],et[2],et[3],et[4],it],it=1,Lt=Je;var ut=u(et)/7,ct=Math.abs(et[0]-ut)<ut&&Math.abs(et[1]-ut)<ut&&Math.abs(et[2]-3*ut)<3*ut&&Math.abs(et[3]-ut)<ut&&Math.abs(et[4]-ut)<ut&&!Je,kt=u(et.slice(-3))/3,oi=Math.abs(et[2]-kt)<kt&&Math.abs(et[3]-kt)<kt&&Math.abs(et[4]-kt)<kt&&Je;if(ct){var vi=ke-et[3]-et[4],ri=vi-et[2],vt={startX:ri,endX:vi,y:Ee},li=P.filter(function(Pt){return ri>=Pt.bottom.startX&&ri<=Pt.bottom.endX||vi>=Pt.bottom.startX&&ri<=Pt.bottom.endX||ri<=Pt.bottom.startX&&vi>=Pt.bottom.endX&&et[2]/(Pt.bottom.endX-Pt.bottom.startX)<a&&et[2]/(Pt.bottom.endX-Pt.bottom.startX)>r});li.length>0?li[0].bottom=vt:P.push({top:vt,bottom:vt})}if(oi){var Ie=ke-et[4],ye=Ie-et[3],vt={startX:ye,y:Ee,endX:Ie},li=U.filter(function($t){return ye>=$t.bottom.startX&&ye<=$t.bottom.endX||Ie>=$t.bottom.startX&&ye<=$t.bottom.endX||ye<=$t.bottom.startX&&Ie>=$t.bottom.endX&&et[2]/($t.bottom.endX-$t.bottom.startX)<a&&et[2]/($t.bottom.endX-$t.bottom.startX)>r});li.length>0?li[0].bottom=vt:U.push({top:vt,bottom:vt})}}},be=-1;be<=T.width;be++)St(be);M.push.apply(M,P.filter(function(ke){return ke.bottom.y!==Ee&&ke.bottom.y-ke.top.y>=2})),P=P.filter(function(ke){return ke.bottom.y===Ee}),j.push.apply(j,U.filter(function(ke){return ke.bottom.y!==Ee})),U=U.filter(function(ke){return ke.bottom.y===Ee})},oe=0;oe<=T.height;oe++)Q(oe);M.push.apply(M,P.filter(function(Ee){return Ee.bottom.y-Ee.top.y>=2})),j.push.apply(j,U);var le=M.filter(function(Ee){return Ee.bottom.y-Ee.top.y>=2}).map(function(Ee){var it=(Ee.top.startX+Ee.top.endX+Ee.bottom.startX+Ee.bottom.endX)/4,Lt=(Ee.top.y+Ee.bottom.y+1)/2;if(T.get(Math.round(it),Math.round(Lt))){var et=[Ee.top.endX-Ee.top.startX,Ee.bottom.endX-Ee.bottom.startX,Ee.bottom.y-Ee.top.y+1],St=u(et)/et.length,be=E({x:Math.round(it),y:Math.round(Lt)},[1,1,3,1,1],T);return{score:be,x:it,y:Lt,size:St}}}).filter(function(Ee){return!!Ee}).sort(function(Ee,it){return Ee.score-it.score}).map(function(Ee,it,Lt){if(it>s)return null;var et=Lt.filter(function(be,ke){return it!==ke}).map(function(be){return{x:be.x,y:be.y,score:be.score+Math.pow(be.size-Ee.size,2)/Ee.size,size:be.size}}).sort(function(be,ke){return be.score-ke.score});if(et.length<2)return null;var St=Ee.score+et[0].score+et[1].score;return{points:[Ee].concat(et.slice(0,2)),score:St}}).filter(function(Ee){return!!Ee}).sort(function(Ee,it){return Ee.score-it.score});if(le.length===0)return null;var re=f(le[0].points[0],le[0].points[1],le[0].points[2]),ce=re.topRight,ge=re.topLeft,te=re.bottomLeft,de=I(T,j,ce,ge,te),we=[];de&&we.push({alignmentPattern:{x:de.alignmentPattern.x,y:de.alignmentPattern.y},bottomLeft:{x:te.x,y:te.y},dimension:de.dimension,topLeft:{x:ge.x,y:ge.y},topRight:{x:ce.x,y:ce.y}});var He=w(T,ce),me=w(T,ge),Me=w(T,te),Ne=I(T,j,He,me,Me);return Ne&&we.push({alignmentPattern:{x:Ne.alignmentPattern.x,y:Ne.alignmentPattern.y},bottomLeft:{x:Me.x,y:Me.y},topLeft:{x:me.x,y:me.y},topRight:{x:He.x,y:He.y},dimension:Ne.dimension}),we.length===0?null:we}i.locate=A;function I(T,M,P,j,U){var Q,oe,le;try{Q=g(j,P,U,T),oe=Q.dimension,le=Q.moduleSize}catch{return null}var re={x:P.x-j.x+U.x,y:P.y-j.y+U.y},ce=(d(j,U)+d(j,P))/2/le,ge=1-3/ce,te={x:j.x+ge*(re.x-j.x),y:j.y+ge*(re.y-j.y)},de=M.map(function(He){var me=(He.top.startX+He.top.endX+He.bottom.startX+He.bottom.endX)/4,Me=(He.top.y+He.bottom.y+1)/2;if(T.get(Math.floor(me),Math.floor(Me))){var Ne=[He.top.endX-He.top.startX,He.bottom.endX-He.bottom.startX,He.bottom.y-He.top.y+1];u(Ne)/Ne.length;var Ee=E({x:Math.floor(me),y:Math.floor(Me)},[1,1,1],T),it=Ee+d({x:me,y:Me},te);return{x:me,y:Me,score:it}}}).filter(function(He){return!!He}).sort(function(He,me){return He.score-me.score}),we=ce>=15&&de.length?de[0]:te;return{alignmentPattern:we,dimension:oe}}})]).default})})(Dv)),Dv.exports}var NY=RY();const OY=fS(NY);var HY=F('<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),WY=F('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:… or 11-digit code e.g. 2477-500-3245" class="svelte-1ua3isv"/></label> <div class="scan-row svelte-1ua3isv"><button class="scan-btn svelte-1ua3isv" title="Scan QR code with camera"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M1 1h5v5H1V1zm1 1v3h3V2H2zm7-1h5v5h-5V1zm1 1v3h3V2h-3zM1 9h5v5H1V9zm1 1v3h3v-3H2zm7 0h2v2H9v-2zm2 0h2v2h-2v-2zm0 2h2v2h-2v-2zm-2 2h2v2H9v-2zm2 0h2v2h-2v-2z"></path></svg> Camera</button> <label class="scan-btn scan-file-btn svelte-1ua3isv" title="Decode QR from image file"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M13 4H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zM3 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3zm5 2.5a.5.5 0 0 1 .5.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1V6a.5.5 0 0 1 .5-.5z"></path></svg> Image… <input type="file" accept="image/*" style="display:none" class="svelte-1ua3isv"/></label></div>',1),Q2=F('<p class="err svelte-1ua3isv"> </p>'),zY=F('<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>'),VY=F('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),jY=F('<span class="device-name svelte-1ua3isv"> </span>'),$Y=F('<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>'),UY=F('<li class="empty svelte-1ua3isv">No paired devices</li>'),qY=F('<div class="ctx-bd svelte-1ua3isv"></div> <div class="ctx-menu svelte-1ua3isv"><button class="svelte-1ua3isv">Rename…</button> <button class="svelte-1ua3isv">Copy node ID</button> <button class="ctx-danger svelte-1ua3isv">Unpair…</button></div>',1),GY=F('<p class="info svelte-1ua3isv">Loading…</p>'),KY=F('<p class="err cmd-err svelte-1ua3isv"> <button class="err-dismiss svelte-1ua3isv" title="Dismiss">✕</button></p>'),ZY=F('<p class="device-subtitle svelte-1ua3isv"> </p>'),XY=F('<span class="ep-chip svelte-1ua3isv"> </span>'),YY=F('<span class="attr-id svelte-1ua3isv"> </span>'),QY=F('<button class="attr-action-btn svelte-1ua3isv"> </button>'),JY=F('<div class="attr-actions svelte-1ua3isv"></div>'),eQ=F('<span class="cmd-sep svelte-1ua3isv">,</span>'),tQ=F('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),iQ=F('<span class="cmd-id svelte-1ua3isv"> </span>'),nQ=F("<!> <!>",1),sQ=F('<span class="cmd-list svelte-1ua3isv"></span>'),oQ=F(' <span class="cmd-id svelte-1ua3isv"> </span>',1),rQ=F('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),aQ=F('<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>'),lQ=F('<th class="svelte-1ua3isv"> </th>'),cQ=F('<td class="svelte-1ua3isv"> </td>'),dQ=F('<tr class="svelte-1ua3isv"></tr>'),uQ=F('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),hQ=F('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),fQ=F('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),gQ=F('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),pQ=F('<span class="attr-val svelte-1ua3isv"> </span>'),xQ=F('<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>'),vQ=F('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),mQ=F('<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>'),_Q=F('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),bQ=F('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),CQ=F('<!> <div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),EQ=F('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),yQ=F('<span class="stream-badge svelte-1ua3isv"> </span>'),wQ=F('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),GC=F('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),SQ=F('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),DQ=F('<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),AQ=F('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),kQ=F('<div class="stream-body svelte-1ua3isv"><!></div>'),BQ=F('<p class="scan-err svelte-1ua3isv"> </p>'),FQ=F('<div class="scan-preview svelte-1ua3isv"><video playsinline="" class="scan-video svelte-1ua3isv"></video> <div class="scan-reticle svelte-1ua3isv"></div></div> <p class="scan-hint svelte-1ua3isv">Point camera at the QR code on the device</p>',3),LQ=F('<div class="scan-backdrop svelte-1ua3isv"></div> <div class="scan-modal svelte-1ua3isv"><div class="scan-modal-hdr svelte-1ua3isv"><span>Scan Matter QR Code</span> <button class="scan-close svelte-1ua3isv">✕</button></div> <!> <canvas style="display:none"></canvas></div>',1),IQ=F('<!> <!> <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 PQ(o,e){Js(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"}]}};let i=B(null);async function n(ue,Ke,Bt,zt,Fe){x(i,null);try{await wU(ue,Ke,Bt,zt,Fe)}catch(Ve){x(i,`${Bt}.${zt} failed: ${Ve instanceof Error?Ve.message:String(Ve)}`)}}const s={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 r(ue,Ke){const Bt=s[ue];return Ke.map(zt=>{const Fe=typeof zt=="number"?zt:Number(zt);return{id:Fe,name:(Bt==null?void 0:Bt[Fe])??null}})}const a={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"},d={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},u={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 f(ue){return"0x"+ue.toString(16).toUpperCase().padStart(4,"0")}let g=B(_i([])),p=_i(new Map);function C(ue){if(ue==null)return"—";if(typeof ue=="boolean"||typeof ue=="number")return String(ue);if(typeof ue=="string")return ue.length>50?ue.slice(0,47)+"…":ue;const Ke=JSON.stringify(ue);return Ke.length>60?Ke.slice(0,57)+"…":Ke}function b(ue){return ue==null?"—":typeof ue=="boolean"||typeof ue=="number"?String(ue):typeof ue=="string"?ue:JSON.stringify(ue)}function E(ue){return ue!==null&&typeof ue=="object"&&!Array.isArray(ue)}function w(ue){return Array.isArray(ue)&&ue.length>0&&ue.every(E)}function A(ue,Ke){return!!(Ke==="attributeList"||Array.isArray(ue)&&ue.length===0||E(ue)&&Object.keys(ue).length===0)}function I(ue){return new Date(ue).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const T=500,M=20,P=32;let j=0,U=B(_i([])),Q=B(!0),oe=B(180),le=Ft(()=>{const ue=Math.max(1,Math.floor((l(oe)-P)/M)+1);return l(U).slice(0,ue)});function re(ue){ue.preventDefault();const Ke=ue.clientY,Bt=l(oe);function zt(Ve){x(oe,Math.max(60,Math.min(600,Bt+Ke-Ve.clientY)),!0)}function Fe(){document.removeEventListener("mousemove",zt),document.removeEventListener("mouseup",Fe)}document.addEventListener("mousemove",zt),document.addEventListener("mouseup",Fe)}let ce=B(null),ge=B(!1),te=B(null),de=B(!1),we=B("passcode"),He=B(""),me=B(""),Me=B(""),Ne=B(!1),Ee=B(null),it=B(""),Lt=B(!1),et=B(""),St=B(void 0),be=B(void 0),ke=null,Je=null;function ut(){Je!==null&&(cancelAnimationFrame(Je),Je=null),ke&&(ke.getTracks().forEach(ue=>ue.stop()),ke=null),x(Lt,!1),x(et,"")}function ct(ue){ut(),x(we,"pairingCode"),x(Me,ue,!0)}function kt(){if(!l(be))return null;const ue=l(be).getContext("2d",{willReadFrequently:!0}),{width:Ke,height:Bt}=l(be);if(!Ke||!Bt)return null;const zt=ue.getImageData(0,0,Ke,Bt);return OY(zt.data,zt.width,zt.height,{inversionAttempts:"dontInvert"})}async function oi(){if(x(Lt,!0),x(et,""),await Dl(),!l(St)||!l(be))return;try{ke=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),l(St).srcObject=ke,await l(St).play()}catch(Ke){x(et,"Camera unavailable: "+(Ke instanceof Error?Ke.message:String(Ke)));return}const ue=()=>{var Ke;if(!(!l(St)||!l(be)||!ke)){if(l(St).readyState===l(St).HAVE_ENOUGH_DATA){l(be).width=l(St).videoWidth,l(be).height=l(St).videoHeight,l(be).getContext("2d",{willReadFrequently:!0}).drawImage(l(St),0,0);const zt=kt();if((Ke=zt==null?void 0:zt.data)!=null&&Ke.startsWith("MT:")){ct(zt.data);return}}Je=requestAnimationFrame(ue)}};Je=requestAnimationFrame(ue)}function vi(ue){var zt;const Ke=(zt=ue.target.files)==null?void 0:zt[0];if(!Ke)return;const Bt=new FileReader;Bt.onload=Fe=>{const Ve=new Image;Ve.onload=()=>{var Zt;if(!l(be))return;l(be).width=Ve.width,l(be).height=Ve.height,l(be).getContext("2d",{willReadFrequently:!0}).drawImage(Ve,0,0);const Ut=kt();(Zt=Ut==null?void 0:Ut.data)!=null&&Zt.startsWith("MT:")?ct(Ut.data):x(et,"No Matter QR code found in image.")},Ve.src=Fe.target.result},Bt.readAsDataURL(Ke)}const ri="she:matter:selectedNodeId";async function vt(){try{x(g,await aS(),!0);for(const ue of l(g))Ev(ue.nodeId).then(Ke=>{p.set(ue.nodeId,Ke)}).catch(()=>{});if(l(g).length>0&&!l(ce)){const ue=localStorage.getItem(ri),Ke=ue&&l(g).find(Bt=>Bt.nodeId===ue)?ue:l(g)[0].nodeId;li(Ke)}}catch{x(g,[],!0)}}async function li(ue){x(ge,!0),x(te,null);try{x(ce,await Ev(ue),!0),p.set(ue,l(ce)),localStorage.setItem(ri,ue)}catch(Ke){x(te,Ke instanceof Error?Ke.message:String(Ke),!0)}finally{x(ge,!1)}}let Ie,ye,Pt=B(null);async function ci(ue,Ke){var zt;const Bt=await ye.show(`Rename ${Ke??`node ${ue}`} — writes the device's nodeLabel (max 32 characters):`,{placeholder:"New name",confirm:"Rename",initial:Ke??""});if(!(Bt===null||!Bt.trim()))try{await yU(ue,Bt.trim()),p.delete(ue),await vt(),((zt=l(ce))==null?void 0:zt.nodeId)===ue&&await li(ue)}catch(Fe){x(te,`Rename failed: ${Fe instanceof Error?Fe.message:String(Fe)}`)}}async function $t(ue){var Ke;if(await Ie.show(`Unpair device ${ue}?`,{confirm:"Unpair",danger:!0}))try{await EU(ue),((Ke=l(ce))==null?void 0:Ke.nodeId)===ue&&x(ce,null),await vt()}catch(Bt){x(te,Bt instanceof Error?Bt.message:String(Bt),!0)}}async function Pi(){x(Ne,!0),x(Ee,null);try{let ue;l(we)==="passcode"?(ue={passcode:Number(l(He))},l(me)&&(ue={...ue,discriminator:Number(l(me))})):ue={pairingCode:l(Me).trim()},l(it).trim()&&(ue={...ue,discoveryAddress:l(it).trim()}),await CU(ue),x(de,!1),x(He,""),x(me,""),x(Me,""),x(it,""),await vt()}catch(ue){x(Ee,ue instanceof Error?ue.message:String(ue),!0)}finally{x(Ne,!1)}}no(()=>{vt()});const Ni=mr("matter:deviceList",ue=>{if(!Array.isArray(ue.devices))return;const Ke=ue.devices;for(const Bt of Ke)p.has(Bt.nodeId)||Ev(Bt.nodeId).then(zt=>{p.set(Bt.nodeId,zt)}).catch(()=>{});if(x(g,Ke,!0),l(ce)){const Bt=Ke.find(zt=>zt.nodeId===l(ce).nodeId);Bt!=null&&Bt.name&&l(ce).name!==Bt.name&&(l(ce).name=Bt.name)}}),ki=mr("matter:deviceStatus",ue=>{if(ue.nodeId===void 0)return;const Ke=String(ue.nodeId),Bt=!!ue.online;x(g,l(g).map(zt=>zt.nodeId===Ke?{...zt,online:Bt}:zt),!0),x(U,[{id:j++,kind:"status",nodeId:Ke,online:Bt,ts:Date.now()},...l(U).slice(0,T-1)],!0)}),nn=mr("matter:attr",ue=>{const Ke=String(ue.nodeId),Bt=ue.endpointId,zt=String(ue.clusterName),Fe=String(ue.attrName),Ve=ue.value;if(l(ce)&&l(ce).nodeId===Ke){const Ut=l(ce).endpoints.find(Rt=>Rt.endpointId===Bt),Zt=Ut==null?void 0:Ut.clusters.find(Rt=>Rt.name===zt);Zt&&(Zt.attrs[Fe]=Ve)}const Vt=p.get(Ke);if(Vt){const Ut=Vt.endpoints.find(Rt=>Rt.endpointId===Bt),Zt=Ut==null?void 0:Ut.clusters.find(Rt=>Rt.name===zt);Zt&&(Zt.attrs[Fe]=Ve)}x(U,[{id:j++,kind:"attr",nodeId:Ke,endpointId:Bt,clusterName:zt,attrName:Fe,value:Ve,ts:ue.ts??Date.now()},...l(U).slice(0,T-1)],!0)});B0(()=>{Ni(),ki(),nn(),ut()});var sn=IQ(),pn=lt(sn);Bs(hl(pn,{}),ue=>Ie=ue,()=>Ie);var wn=v(pn,2);Bs(OF(wn,{}),ue=>ye=ue,()=>ye);var ft=v(wn,2),Qt=m(ft),Ti=m(Qt),Bi=m(Ti),bi=v(m(Bi),2),bn=v(Bi,2);{var Cn=ue=>{var Ke=zY(),Bt=m(Ke),zt=m(Bt);let Fe;var Ve=v(zt,2);let Vt;var Ut=v(Bt,2);{var Zt=Et=>{var $=HY(),q=lt($),R=v(m(q)),G=v(q,2),Y=v(m(G));Dt(R,()=>l(He),ie=>x(He,ie)),Dt(Y,()=>l(me),ie=>x(me,ie)),D(Et,$)},Rt=Et=>{var $=WY(),q=lt($),R=v(m(q)),G=v(q,2),Y=m(G),ie=v(Y,2),se=v(m(ie),2);Dt(R,()=>l(Me),fe=>x(Me,fe)),z("click",Y,oi),z("change",se,vi),D(Et,$)};N(Ut,Et=>{l(we)==="passcode"?Et(Zt):Et(Rt,-1)})}var V=v(Ut,2),ae=v(m(V)),pe=v(V,2);{var ve=Et=>{var $=Q2(),q=m($);W(()=>O(q,l(Ee))),D(Et,$)};N(pe,Et=>{l(Ee)&&Et(ve)})}var nt=v(pe,2),Ze=m(nt);W(()=>{Fe=At(zt,1,"svelte-1ua3isv",null,Fe,{active:l(we)==="passcode"}),Vt=At(Ve,1,"svelte-1ua3isv",null,Vt,{active:l(we)==="pairingCode"}),nt.disabled=l(Ne),O(Ze,l(Ne)?"Commissioning…":"Commission")}),z("click",zt,()=>x(we,"passcode")),z("click",Ve,()=>x(we,"pairingCode")),Dt(ae,()=>l(it),Et=>x(it,Et)),z("click",nt,Pi),D(ue,Ke)};N(bn,ue=>{l(de)&&ue(Cn)})}var kn=v(bn,2),$e=m(kn);ti($e,17,()=>l(g),ue=>ue.nodeId,(ue,Ke)=>{var Bt=$Y();let zt;var Fe=m(Bt),Ve=m(Fe);let Vt;var Ut=v(Ve,2),Zt=m(Ut);{var Rt=pe=>{var ve=VY(),nt=lt(ve),Ze=m(nt),Et=v(nt,2),$=m(Et);W(()=>{O(Ze,l(Ke).name),O($,`#${l(Ke).nodeId??""}`)}),D(pe,ve)},V=pe=>{var ve=jY(),nt=m(ve);W(()=>O(nt,`Node ${l(Ke).nodeId??""}`)),D(pe,ve)};N(Zt,pe=>{l(Ke).name?pe(Rt):pe(V,-1)})}var ae=v(Fe,2);W(()=>{var pe;zt=At(Bt,1,"svelte-1ua3isv",null,zt,{selected:((pe=l(ce))==null?void 0:pe.nodeId)===l(Ke).nodeId}),Vt=At(Ve,1,"status-dot svelte-1ua3isv",null,Vt,{online:l(Ke).online})}),z("click",Fe,()=>li(l(Ke).nodeId)),z("contextmenu",Fe,pe=>{pe.preventDefault(),x(Pt,{x:pe.clientX,y:pe.clientY,nodeId:l(Ke).nodeId,name:l(Ke).name??null},!0)}),z("click",ae,()=>$t(l(Ke).nodeId)),D(ue,Bt)});var Yt=v($e,2);{var Fi=ue=>{var Ke=UY();D(ue,Ke)};N(Yt,ue=>{l(g).length===0&&ue(Fi)})}var fi=v(Ti,2);{var ji=ue=>{var Ke=qY(),Bt=lt(Ke),zt=v(Bt,2);let Fe;var Ve=m(zt),Vt=v(Ve,2),Ut=v(Vt,2);W(()=>Fe=Io(zt,"",Fe,{left:`${l(Pt).x??""}px`,top:`${l(Pt).y??""}px`})),z("click",Bt,()=>x(Pt,null)),z("contextmenu",Bt,Zt=>{Zt.preventDefault(),x(Pt,null)}),z("click",Ve,()=>{const Zt=l(Pt);x(Pt,null),ci(Zt.nodeId,Zt.name)}),z("click",Vt,()=>{const Zt=l(Pt);x(Pt,null),navigator.clipboard.writeText(Zt.nodeId)}),z("click",Ut,()=>{const Zt=l(Pt);x(Pt,null),$t(Zt.nodeId)}),D(ue,Ke)};N(fi,ue=>{l(Pt)&&ue(ji)})}var gi=v(fi,2),Gi=m(gi);{var Z=ue=>{var Ke=GY();D(ue,Ke)},Se=ue=>{var Ke=Q2(),Bt=m(Ke);W(()=>O(Bt,l(te))),D(ue,Ke)},ot=ue=>{var Ke=CQ(),Bt=lt(Ke);{var zt=pe=>{var ve=KY(),nt=m(ve),Ze=v(nt);W(()=>O(nt,`${l(i)??""} `)),z("click",Ze,()=>x(i,null)),D(pe,ve)};N(Bt,pe=>{l(i)&&pe(zt)})}var Fe=v(Bt,2),Ve=m(Fe),Vt=m(Ve),Ut=v(Ve,2);{var Zt=pe=>{var ve=ZY(),nt=m(ve);W(()=>O(nt,l(ce).subtitle)),D(pe,ve)};N(Ut,pe=>{l(ce).subtitle&&pe(Zt)})}var Rt=v(Ut,2),V=m(Rt),ae=v(Fe,2);ti(ae,17,()=>l(ce).endpoints,pe=>pe.endpointId,(pe,ve)=>{var nt=bQ(),Ze=m(nt),Et=m(Ze),$=v(Et),q=m($),R=v($,2);ti(R,21,()=>l(ve).clusters,Ri,(se,fe)=>{var _e=XY(),Ce=m(_e);W(()=>O(Ce,l(fe).name)),D(se,_e)});var G=v(Ze,2);{var Y=se=>{var fe=mQ(),_e=v(m(fe));ti(_e,21,()=>l(ve).clusters,Ri,(Ce,Oe)=>{var Re=vQ(),tt=lt(Re),ei=m(tt),J=m(ei),he=v(tt,2);ti(he,17,()=>Object.entries(l(Oe).attrs),Ri,(je,yt)=>{var Le=Ft(()=>d8(l(yt),2));let Pe=()=>l(Le)[0],gt=()=>l(Le)[1];var pt=Hs(),Xe=lt(pt);{var qt=st=>{const Ct=Ft(()=>{var yi;return(yi=t[l(Oe).name])==null?void 0:yi[Pe()]}),jt=Ft(()=>(Pe()==="acceptedCommandList"||Pe()==="generatedCommandList")&&Array.isArray(gt())),Tt=Ft(()=>{var yi;return((yi=u[l(Oe).name])==null?void 0:yi[Pe()])??d[Pe()]});var ni=xQ(),ze=m(ni),wt=m(ze),ii=m(wt),Vi=v(wt);{var Gt=yi=>{var Ci=YY(),En=m(Ci);W(cn=>O(En,`(${cn??""})`),[()=>f(l(Tt))]),D(yi,Ci)};N(Vi,yi=>{l(Tt)!==void 0&&yi(Gt)})}var Xt=v(ze),Di=m(Xt);{var Zi=yi=>{var Ci=JY();ti(Ci,21,()=>l(Ct),Ri,(En,cn)=>{var Mi=QY(),Wn=m(Mi);W(()=>O(Wn,l(cn).label)),z("click",Mi,()=>n(l(ce).nodeId,l(ve).endpointId,l(Oe).name,l(cn).command,l(cn).args)),D(En,Mi)}),D(yi,Ci)};N(Di,yi=>{l(Ct)&&yi(Zi)})}var qi=v(Xt),Ji=m(qi);{var qe=yi=>{var Ci=sQ();ti(Ci,21,()=>r(l(Oe).name,gt()),Ri,(En,cn,Mi)=>{var Wn=nQ(),Ui=lt(Wn);{var Ai=en=>{var un=eQ();D(en,un)};N(Ui,en=>{Mi>0&&en(Ai)})}var Hi=v(Ui,2);{var rn=en=>{var un=tQ(),Ln=lt(un),ls=m(Ln),is=v(Ln),an=m(is);W(()=>{O(ls,l(cn).name),O(an,`(${l(cn).id??""})`)}),D(en,un)},Jn=en=>{var un=iQ(),Ln=m(un);W(()=>O(Ln,l(cn).id)),D(en,un)};N(Hi,en=>{l(cn).name?en(rn):en(Jn,-1)})}D(En,Wn)}),D(yi,Ci)},bt=yi=>{var Ci=aQ(),En=v(m(Ci));ti(En,21,gt,Ri,(cn,Mi)=>{const Wn=Ft(()=>l(Mi)),Ui=Ft(()=>l(Wn).deviceType),Ai=Ft(()=>a[l(Ui)]);var Hi=rQ(),rn=m(Hi),Jn=m(rn);{var en=is=>{var an=oQ(),zn=lt(an),Ys=v(zn),Us=m(Ys);W(xs=>{O(zn,`${l(Ai)??""} `),O(Us,`(${xs??""})`)},[()=>f(l(Ui))]),D(is,an)},un=is=>{var an=mo();W(zn=>O(an,zn),[()=>f(l(Ui))]),D(is,an)};N(Jn,is=>{l(Ai)?is(en):is(un,-1)})}var Ln=v(rn),ls=m(Ln);W(is=>O(ls,is),[()=>b(l(Wn).revision)]),D(cn,Hi)}),D(yi,Ci)},It=Ft(()=>Pe()==="deviceTypeList"&&Array.isArray(gt())),ui=yi=>{const Ci=Ft(()=>[...new Set(gt().flatMap(Ui=>Object.keys(Ui)))]);var En=uQ(),cn=m(En),Mi=m(cn);ti(Mi,21,()=>l(Ci),Ri,(Ui,Ai)=>{var Hi=lQ(),rn=m(Hi);W(()=>O(rn,l(Ai))),D(Ui,Hi)});var Wn=v(cn);ti(Wn,21,gt,Ri,(Ui,Ai)=>{var Hi=dQ();ti(Hi,21,()=>l(Ci),Ri,(rn,Jn)=>{var en=cQ(),un=m(en);W(Ln=>O(un,Ln),[()=>b(l(Ai)[l(Jn)])]),D(rn,en)}),D(Ui,Hi)}),D(yi,En)},Kt=Ft(()=>w(gt())),mi=yi=>{var Ci=fQ(),En=m(Ci);ti(En,21,()=>Object.entries(gt()),Ri,(cn,Mi)=>{var Wn=Ft(()=>d8(l(Mi),2));let Ui=()=>l(Wn)[0],Ai=()=>l(Wn)[1];var Hi=hQ(),rn=m(Hi),Jn=m(rn),en=v(rn),un=m(en);W(Ln=>{O(Jn,Ui()),O(un,Ln)},[()=>b(Ai())]),D(cn,Hi)}),D(yi,Ci)},Li=Ft(()=>E(gt())),Yi=yi=>{var Ci=gQ(),En=m(Ci);W(()=>{fn(Ci,"href",gt()),O(En,gt())}),D(yi,Ci)},An=yi=>{var Ci=pQ(),En=m(Ci);W(cn=>O(En,cn),[()=>b(gt())]),D(yi,Ci)};N(Ji,yi=>{l(jt)?yi(qe):l(It)?yi(bt,1):l(Kt)?yi(ui,2):l(Li)?yi(mi,3):(Pe()==="productUrl"||Pe()==="productURL")&&typeof gt()=="string"?yi(Yi,4):yi(An,-1)})}W(()=>{fn(ze,"title",Pe()),O(ii,Pe())}),D(st,ni)},rt=Ft(()=>!A(gt(),Pe()));N(Xe,st=>{l(rt)&&st(qt)})}D(je,pt)}),W(()=>O(J,l(Oe).name)),D(Ce,Re)}),D(se,fe)},ie=se=>{var fe=_Q();D(se,fe)};N(G,se=>{l(ve).clusters.length>0?se(Y):se(ie,-1)})}W(()=>{O(Et,`${l(ve).name??`Endpoint ${l(ve).endpointId}`??""} `),O(q,`ep${l(ve).endpointId??""}`)}),D(pe,nt)}),W(()=>{O(Vt,l(ce).name??`Node ${l(ce).nodeId}`),O(V,`Node ID: ${l(ce).nodeId??""}`)}),D(ue,Ke)},Ye=ue=>{var Ke=EQ();D(ue,Ke)};N(Gi,ue=>{l(ge)?ue(Z):l(te)?ue(Se,1):l(ce)?ue(ot,2):ue(Ye,-1)})}var Wt=v(Qt,2),Jt=m(Wt),ht=v(Jt,2),Qe=v(m(ht),2);{var dt=ue=>{var Ke=yQ(),Bt=m(Ke);W(()=>O(Bt,l(U).length)),D(ue,Ke)};N(Qe,ue=>{!l(Q)&&l(U).length>0&&ue(dt)})}var di=v(Qe,2),De=m(di),We=v(ht,2);{var Oi=ue=>{var Ke=kQ(),Bt=m(Ke);{var zt=Ve=>{var Vt=wQ();D(Ve,Vt)},Fe=Ve=>{var Vt=Hs(),Ut=lt(Vt);ti(Ut,17,()=>l(le),Zt=>Zt.id,(Zt,Rt)=>{const V=Ft(()=>{var R,G;return((R=p.get(l(Rt).nodeId))==null?void 0:R.name)??((G=l(g).find(Y=>Y.nodeId===l(Rt).nodeId))==null?void 0:G.name)??null}),ae=Ft(()=>{var R,G;return l(Rt).endpointId!==void 0?((G=(R=p.get(l(Rt).nodeId))==null?void 0:R.endpoints.find(Y=>Y.endpointId===l(Rt).endpointId))==null?void 0:G.name)??null:null}),pe=Ft(()=>l(Rt).attrName??l(Rt).clusterName);var ve=AQ(),nt=m(ve),Ze=m(nt),Et=v(nt,2);{var $=R=>{var G=SQ(),Y=v(lt(G),2),ie=m(Y),se=v(ie);{var fe=Re=>{var tt=GC(),ei=v(lt(tt)),J=m(ei);W(()=>O(J,`(#${l(Rt).nodeId??""})`)),D(Re,tt)};N(se,Re=>{l(V)&&Re(fe)})}var _e=v(Y,2);let Ce;var Oe=m(_e);W(()=>{O(ie,l(V)??`#${l(Rt).nodeId}`),Ce=At(_e,1,"e-val svelte-1ua3isv",null,Ce,{"e-online":l(Rt).online,"e-offline":!l(Rt).online}),O(Oe,l(Rt).online?"online":"offline")}),D(R,G)},q=R=>{var G=DQ(),Y=v(lt(G),2),ie=m(Y),se=v(ie);{var fe=Le=>{var Pe=GC(),gt=v(lt(Pe)),pt=m(gt);W(()=>O(pt,`(#${l(Rt).nodeId??""})`)),D(Le,Pe)};N(se,Le=>{l(V)&&Le(fe)})}var _e=v(Y,2),Ce=m(_e),Oe=v(Ce);{var Re=Le=>{var Pe=GC(),gt=v(lt(Pe)),pt=m(gt);W(()=>O(pt,`(ep ${l(Rt).endpointId??""})`)),D(Le,Pe)};N(Oe,Le=>{l(ae)&&Le(Re)})}var tt=v(_e,2),ei=m(tt),J=v(tt,2),he=m(J),je=v(J,2),yt=m(je);W(Le=>{O(ie,l(V)??`#${l(Rt).nodeId}`),O(Ce,l(ae)??`ep${l(Rt).endpointId}`),O(ei,l(Rt).clusterName),O(he,l(pe)),O(yt,Le)},[()=>C(l(Rt).value)]),D(R,G)};N(Et,R=>{l(Rt).kind==="status"?R($):R(q,-1)})}W(R=>O(Ze,R),[()=>I(l(Rt).ts)]),D(Zt,ve)}),D(Ve,Vt)};N(Bt,Ve=>{l(le).length===0?Ve(zt):Ve(Fe,-1)})}D(ue,Ke)};N(We,ue=>{l(Q)&&ue(Oi)})}var on=v(ft,2);{var Ki=ue=>{var Ke=LQ(),Bt=lt(Ke),zt=v(Bt,2),Fe=m(zt),Ve=v(m(Fe),2),Vt=v(Fe,2);{var Ut=V=>{var ae=BQ(),pe=m(ae);W(()=>O(pe,l(et))),D(V,ae)},Zt=V=>{var ae=FQ(),pe=lt(ae),ve=m(pe);Bs(ve,nt=>x(St,nt),()=>l(St)),D(V,ae)};N(Vt,V=>{l(et)?V(Ut):V(Zt,-1)})}var Rt=v(Vt,2);Bs(Rt,V=>x(be,V),()=>l(be)),z("click",Bt,ut),z("click",Ve,ut),D(ue,Ke)};N(on,ue=>{l(Lt)&&ue(Ki)})}W(()=>{Io(Wt,l(Q)?`height: ${l(oe)}px;`:""),O(De,l(Q)?"▾":"▸")}),z("click",bi,()=>{x(de,!l(de)),l(de)&&(x(Ne,!1),x(Ee,null))}),z("mousedown",Jt,re),z("click",di,()=>{x(Q,!l(Q))}),D(o,sn),eo()}uo(["click","change","contextmenu","mousedown"]);var TQ=F("<button>›</button>"),MQ=F('<span class="chev-ph svelte-1vejtrc"></span>'),RQ=F('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),NQ=F("<button>🔒</button>"),OQ=F('<span class="acl-loading">Loading…</span>'),HQ=F("<span> </span>"),WQ=F('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),zQ=F('<span class="acl-members svelte-1vejtrc"> </span>'),VQ=F('<span class="acl-group svelte-1vejtrc"> </span>'),jQ=F('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),$Q=F('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),UQ=F('<div class="acl-panel svelte-1vejtrc"><!></div>'),qQ=F('<div class="tc svelte-1vejtrc"></div>'),GQ=F('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),KQ=F('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),ZQ=F('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),XQ=F("<option></option>"),YQ=F('<span class="pub-ok svelte-1vejtrc">✓</span>'),QQ=F('<span class="pub-err svelte-1vejtrc"> </span>'),JQ=F('<div class="info svelte-1vejtrc">Loading…</div>'),eJ=F('<div class="info err svelte-1vejtrc"> </div>'),tJ=F('<div class="info svelte-1vejtrc">No topics match.</div>'),iJ=F('<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>'),nJ=F('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),sJ=F('<div class="info svelte-1vejtrc">No topics yet.</div>'),oJ=F('<div class="tree-wrap svelte-1vejtrc"><!></div>'),rJ=F('<span class="stream-badge"> </span>'),aJ=F('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),lJ=F('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),cJ=F('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),dJ=F('<div class="stream-body svelte-1vejtrc"><!></div>'),uJ=F('<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),hJ=F('<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>'),fJ=F('<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),gJ=F('<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 pJ(o,e){Js(e,!0);const t=(R,G=db)=>{const Y=Ft(()=>l(p).has(G().path)),ie=Ft(()=>l(a)>=0&&G().children.size>0),se=Ft(()=>l(a)>=0&&G().isLeaf&&!n.has(G().path));var fe=GQ(),_e=m(fe);let Ce;var Oe=m(_e);{var Re=rt=>{var st=TQ();let Ct;W(()=>{Ct=At(st,1,"chev svelte-1vejtrc",null,Ct,{open:l(Y)}),fn(st,"aria-label",l(Y)?"Collapse":"Expand")}),z("click",st,()=>C(G().path)),D(rt,st)},tt=rt=>{var st=MQ();D(rt,st)};N(Oe,rt=>{l(ie)?rt(Re):rt(tt,-1)})}var ei=v(Oe,2),J=m(ei),he=v(ei,2);{var je=rt=>{var st=RQ(),Ct=lt(st),jt=m(Ct),Tt=v(Ct,2),ni=m(Tt);W((ze,wt,ii)=>{fn(Ct,"title",ze),O(jt,wt),O(ni,ii)},[()=>{var ze;return ri((ze=Ie(G().path))==null?void 0:ze.val)},()=>{var ze;return ri((ze=Ie(G().path))==null?void 0:ze.val)},()=>{var ze;return((ze=Ie(G().path))==null?void 0:ze.ts)!=null?vt(Ie(G().path).ts):""}]),D(rt,st)},yt=Ft(()=>G().isLeaf&&i.has(G().path));N(he,rt=>{l(yt)&&rt(je)})}var Le=v(he,2);{var Pe=rt=>{const st=Ft(()=>!!l(Ni)&&wn(G().path));var Ct=NQ();let jt;W(()=>{jt=At(Ct,1,"acl-badge svelte-1vejtrc",null,jt,{matched:l(st)}),fn(Ct,"title",l(st)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),z("click",Ct,Tt=>{Tt.stopPropagation(),Qt(G().path)}),D(rt,Ct)};N(Le,rt=>{l($t)&&G().isLeaf&&rt(Pe)})}var gt=v(_e,2);{var pt=rt=>{var st=UQ(),Ct=m(st);{var jt=ni=>{var ze=OQ();D(ni,ze)},Tt=ni=>{var ze=Hs(),wt=lt(ze);ti(wt,17,()=>[{label:"Send",section:l(nn).send},{label:"Subscribe",section:l(nn).subscribe},{label:"Receive",section:l(nn).receive}],Ri,(ii,Vi)=>{var Gt=$Q(),Xt=m(Gt),Di=m(Xt),Zi=v(Xt,2);{var qi=qe=>{var bt=HQ();let It;var ui=m(bt);W(()=>{It=At(bt,1,"acl-def svelte-1vejtrc",null,It,{allow:l(Vi).section.default,deny:!l(Vi).section.default}),O(ui,`${l(Vi).section.default?"allow":"deny"} (default)`)}),D(qe,bt)},Ji=qe=>{var bt=Hs(),It=lt(bt);ti(It,17,()=>l(Vi).section.roles,Ri,(ui,Kt)=>{var mi=jQ();let Li;var Yi=m(mi),An=v(Yi),yi=m(An),Ci=v(An,2);{var En=Ui=>{var Ai=WQ();D(Ui,Ai)};N(Ci,Ui=>{l(Kt).dynamic&&Ui(En)})}var cn=v(Ci,2);{var Mi=Ui=>{var Ai=zQ(),Hi=m(Ai);W(rn=>O(Hi,rn),[()=>l(Kt).users.join(", ")]),D(Ui,Ai)};N(cn,Ui=>{l(Kt).users.length>0&&Ui(Mi)})}var Wn=v(cn,2);ti(Wn,17,()=>l(Kt).groups,Ri,(Ui,Ai)=>{var Hi=VQ(),rn=m(Hi);W(()=>O(rn,l(Ai).groupname)),D(Ui,Hi)}),W(()=>{Li=At(mi,1,"acl-role svelte-1vejtrc",null,Li,{allow:l(Kt).allow,deny:!l(Kt).allow}),O(Yi,`${l(Kt).allow?"✓":"✗"} `),O(yi,l(Kt).rolename)}),D(ui,mi)}),D(qe,bt)};N(Zi,qe=>{l(Vi).section.roles.length===0?qe(qi):qe(Ji,-1)})}W(()=>O(Di,l(Vi).label)),D(ii,Gt)}),D(ni,ze)};N(Ct,ni=>{l(sn)?ni(jt):l(nn)&&ni(Tt,1)})}D(rt,st)};N(gt,rt=>{l($t)&&G().isLeaf&&l(ki)===G().path&&rt(pt)})}var Xe=v(gt,2);{var qt=rt=>{var st=qQ();ti(st,21,()=>[...G().children.values()].sort((Ct,jt)=>Ct.seg.localeCompare(jt.seg)),Ct=>Ct.path,(Ct,jt)=>{t(Ct,()=>l(jt))}),D(rt,st)};N(Xe,rt=>{l(ie)&&l(Y)&&rt(qt)})}W(()=>{Ce=At(_e,1,"tr svelte-1vejtrc",null,Ce,{stale:l(se)}),O(J,G().seg)}),z("click",_e,()=>{x(ge,G().path+"/#")}),z("contextmenu",_e,rt=>{rt.preventDefault(),x(it,{x:rt.clientX,y:rt.clientY,topic:G().path},!0)}),D(R,fe)},i=new Map,n=new Set,s=new Set;let r=null,a=B(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const R of s)f(R);s.clear(),f8(a)}))}const u=new Map;function f(R){const G=R.split("/");let Y=u,ie="";for(let se=0;se<G.length;se++){const fe=G[se];ie=se===0?fe:`${ie}/${fe}`,Y.has(fe)||Y.set(fe,{seg:fe,path:ie,children:new Map,isLeaf:!1});const _e=Y.get(fe);se===G.length-1&&(_e.isLeaf=!0),Y=_e.children}}function g(R){const G=R.split("/"),Y=[];let ie=u;for(const se of G){const fe=ie.get(se);if(!fe)return;Y.push({map:ie,node:fe}),ie=fe.children}Y[Y.length-1].node.isLeaf=!1;for(let se=Y.length-1;se>=0;se--){const{map:fe,node:_e}=Y[se];if(!_e.isLeaf&&_e.children.size===0)fe.delete(_e.seg);else break}}let p=B(_i(new Set));function C(R){const G=new Set(l(p));G.has(R)?G.delete(R):G.add(R),x(p,G,!0)}let b=B("");const E=24,w=5;let A=B(0),I=B(300),T=Ft(()=>{if(l(a),!l(b))return[];const R=l(b).toLowerCase().split(/\s+/).filter(Boolean),G=[];for(const[Y,ie]of i){const se=Y.toLowerCase();R.every(fe=>se.includes(fe))&&G.push({topic:Y,...ie})}return G.sort((Y,ie)=>Y.topic.localeCompare(ie.topic))}),M=Ft(()=>{const R=l(T).length,G=Math.max(0,Math.floor(l(A)/E)-w),Y=Math.min(R,Math.ceil((l(A)+l(I))/E)+w);return{start:G,end:Y,totalH:R*E,top:G*E}});const P=1e3,j=200,U=20,Q=36;let oe=0,le=B(_i([])),re=B(_i([])),ce=B(!0),ge=B("#"),te=B(200);vs(()=>{const R=l(ge).trim(),G=Jl(()=>l(le)),Y=!R||R==="#"?G.slice(0,j):G.filter(ie=>de(R,ie.topic)).slice(0,j);if(R&&R!=="#"){const ie=new Set(Y.map(fe=>fe.topic)),se=[];for(const[fe,_e]of i)ie.has(fe)||de(R,fe)&&se.push({id:-(se.length+1),topic:fe,val:_e.val,ts:_e.ts,retained:!0});se.sort((fe,_e)=>fe.topic.localeCompare(_e.topic)),x(re,[...Y,...se],!0)}else x(re,Y,!0)});function de(R,G){if(R==="#")return!0;const Y=R.split("/"),ie=G.split("/");for(let se=0;se<Y.length;se++){if(Y[se]==="#")return!0;if(se>=ie.length||Y[se]!=="+"&&Y[se]!==ie[se])return!1}return Y.length===ie.length}function we(R){R.preventDefault();const G=R.clientY,Y=l(te);function ie(fe){x(te,Math.max(60,Math.min(800,Y+G-fe.clientY)),!0)}function se(){document.removeEventListener("mousemove",ie),document.removeEventListener("mouseup",se)}document.addEventListener("mousemove",ie),document.addEventListener("mouseup",se)}let He=Ft(()=>{const R=Math.max(1,Math.floor((l(te)-Q)/U)+1);return l(re).slice(0,R)}),me=B(!0),Me=B(null);async function Ne(){x(me,!0),x(Me,null);try{const R=await AF();for(const G of R)i.set(G.topic,{val:G.val,ts:G.ts}),f(G.topic)}catch(R){x(Me,R instanceof Error?R.message:String(R),!0)}finally{x(me,!1),f8(a)}}const Ee=mr("mqtt",R=>{const{topic:G,val:Y,ts:ie}=R;if(R.deleted){i.delete(G),n.delete(G),s.delete(G),g(G),d();return}i.set(G,{val:Y,ts:ie}),n.add(G),s.add(G),d();const se={id:oe++,topic:G,val:Y,ts:ie};x(le,[se,...l(le).slice(0,P-1)],!0);const fe=l(ge).trim();(!fe||fe==="#"||de(fe,G))&&x(re,[se,...l(re).filter(_e=>!(_e.retained&&_e.topic===G)).slice(0,j-1)],!0)});let it=B(null),Lt=B(null);async function et(R,G){const Y=[R];if(G){const ie=R+"/";for(const se of i.keys())se.startsWith(ie)&&Y.push(se)}for(const ie of Y)await p2(ie,"",!0,0)}let St=Ft(()=>(l(a),[...i.keys()].sort())),be=B(""),ke=B(""),Je=B(!1),ut=B(0),ct=B(!1),kt=B(null),oi=B(!1);async function vi(){if(l(be)){x(ct,!0),x(kt,null),x(oi,!1);try{await p2(l(be),l(ke),l(Je),l(ut)),x(oi,!0),setTimeout(()=>{x(oi,!1)},2e3)}catch(R){x(kt,R instanceof Error?R.message:String(R),!0)}finally{x(ct,!1)}}}function ri(R){return R==null?"":typeof R=="object"?JSON.stringify(R):String(R)}function vt(R){return new Date(R).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function li(R){return new Date(R).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ie(R){return l(a),i.get(R)}let ye=Ft(()=>(l(a),[...u.values()].sort((R,G)=>R.seg.localeCompare(G.seg)))),Pt=Ft(()=>(l(a),i.size)),ci=B(!1),$t=B(!1),Pi=B(!1),Ni=B(null),ki=B(null),nn=B(null),sn=B(!1);function pn(R,G,Y){return G.includes("%u")||G.includes("%c")?"dynamic":R==="subscribeLiteral"||R==="unsubscribeLiteral"?G===Y?"match":"no-match":de(G,Y)?"match":"no-match"}function wn(R){if(!l(Ni))return!1;for(const G of l(Ni).roles)if(G.acls){for(const Y of G.acls)if(pn(Y.acltype,Y.topic,R)!=="no-match")return!0}return!1}async function ft(){x(Pi,!0);try{const R=await PF();x(Ni,{roles:R.roles},!0)}catch{x(Ni,null),x($t,!1)}finally{x(Pi,!1)}}async function Qt(R){if(l(ki)===R){x(ki,null),x(nn,null);return}x(ki,R,!0),x(nn,null),x(sn,!0);try{x(nn,await iq(R),!0)}catch{x(nn,null)}finally{x(sn,!1)}}async function Ti(){l($t)?(x($t,!1),x(ki,null),x(nn,null)):(x($t,!0),x(ki,null),x(nn,null),l(Ni)||await ft())}const Bi=mr("mqtt:status",()=>{Ne()});no(Ne),no(async()=>{var R;try{const G=await Ob();x(ci,!!((R=G.dynsec)!=null&&R.dynsecReady),!0)}catch{x(ci,!1)}}),B0(()=>{Ee(),Bi(),r!==null&&cancelAnimationFrame(r)});var bi=gJ(),bn=m(bi),Cn=v(m(bn),2);{var kn=R=>{var G=ZQ(),Y=lt(G);let ie;var se=v(m(Y),2);{var fe=Oe=>{var Re=mo("…");D(Oe,Re)};N(se,Oe=>{l(Pi)&&Oe(fe)})}var _e=v(Y,2);{var Ce=Oe=>{var Re=KQ();W(()=>Re.disabled=l(Pi)),z("click",Re,ft),D(Oe,Re)};N(_e,Oe=>{l($t)&&Oe(Ce)})}W(()=>{ie=At(Y,1,"acl-btn svelte-1vejtrc",null,ie,{active:l($t)}),Y.disabled=l(Pi)}),z("click",Y,Ti),D(R,G)};N(Cn,R=>{l(ci)&&R(kn)})}var $e=v(bn,2),Yt=m($e),Fi=m(Yt),fi=v(Fi,2);ti(fi,20,()=>l(St),R=>R,(R,G)=>{var Y=XQ(),ie={};W(()=>{ie!==(ie=G)&&(Y.value=(Y.__value=G)??"")}),D(R,Y)});var ji=v(fi,2),gi=v(ji,2),Gi=m(gi),Z=v(gi,2),Se=m(Z);Se.value=Se.__value=0;var ot=v(Se);ot.value=ot.__value=1;var Ye=v(ot);Ye.value=Ye.__value=2;var Wt=v(Z,2),Jt=v(Wt,2);{var ht=R=>{var G=YQ();D(R,G)};N(Jt,R=>{l(oi)&&R(ht)})}var Qe=v(Jt,2);{var dt=R=>{var G=QQ(),Y=m(G);W(()=>O(Y,l(kt))),D(R,G)};N(Qe,R=>{l(kt)&&R(dt)})}var di=v(Yt,2),De=m(di),We=v(De,2),Oi=m(We);{var on=R=>{var G=mo();W(()=>O(G,`${l(T).length??""} /`)),D(R,G)};N(Oi,R=>{l(b)&&R(on)})}var Ki=v(Oi),ue=v(di,2);{var Ke=R=>{var G=JQ();D(R,G)},Bt=R=>{var G=eJ(),Y=m(G);W(()=>O(Y,l(Me))),D(R,G)},zt=R=>{var G=Hs(),Y=lt(G);{var ie=fe=>{var _e=tJ();D(fe,_e)},se=fe=>{var _e=nJ(),Ce=m(_e),Oe=m(Ce);ti(Oe,21,()=>l(T).slice(l(M).start,l(M).end),Re=>Re.topic,(Re,tt)=>{var ei=iJ(),J=m(ei),he=m(J),je=v(J,2),yt=m(je),Le=v(je,2),Pe=m(Le);W((gt,pt,Xe)=>{O(he,l(tt).topic),fn(je,"title",gt),O(yt,pt),O(Pe,Xe)},[()=>ri(l(tt).val),()=>ri(l(tt).val),()=>vt(l(tt).ts)]),D(Re,ei)}),W(()=>{Io(Ce,`height: ${l(M).totalH??""}px; position: relative;`),Io(Oe,`top: ${l(M).top??""}px;`)}),Ns("scroll",_e,Re=>{x(A,Re.currentTarget.scrollTop,!0)}),kP(_e,"clientHeight",Re=>x(I,Re)),D(fe,_e)};N(Y,fe=>{l(T).length===0?fe(ie):fe(se,-1)})}D(R,G)},Fe=R=>{var G=oJ(),Y=m(G);{var ie=fe=>{var _e=sJ();D(fe,_e)},se=fe=>{var _e=Hs(),Ce=lt(_e);ti(Ce,17,()=>l(ye),Oe=>Oe.path,(Oe,Re)=>{t(Oe,()=>l(Re))}),D(fe,_e)};N(Y,fe=>{l(ye).length===0?fe(ie):fe(se,-1)})}D(R,G)};N(ue,R=>{l(me)?R(Ke):l(Me)?R(Bt,1):l(b)?R(zt,2):R(Fe,-1)})}var Ve=v($e,2),Vt=m(Ve),Ut=v(Vt,2),Zt=m(Ut),Rt=v(Zt,2);{var V=R=>{var G=rJ(),Y=m(G);W(()=>O(Y,l(re).length)),D(R,G)};N(Rt,R=>{!l(ce)&&l(re).length>0&&R(V)})}var ae=v(Rt,2),pe=m(ae),ve=v(Ut,2);{var nt=R=>{var G=dJ(),Y=m(G);{var ie=fe=>{var _e=aJ();D(fe,_e)},se=fe=>{var _e=Hs(),Ce=lt(_e);ti(Ce,17,()=>l(He),Oe=>Oe.id,(Oe,Re)=>{var tt=cJ();let ei;var J=m(tt),he=m(J),je=v(J,2);{var yt=Xe=>{var qt=lJ();D(Xe,qt)};N(je,Xe=>{l(Re).retained&&Xe(yt)})}var Le=v(je,2),Pe=m(Le),gt=v(Le,2),pt=m(gt);W((Xe,qt,rt)=>{ei=At(tt,1,"sr svelte-1vejtrc",null,ei,{retained:l(Re).retained}),O(he,Xe),O(Pe,l(Re).topic),fn(gt,"title",qt),O(pt,rt)},[()=>li(l(Re).ts),()=>ri(l(Re).val),()=>ri(l(Re).val)]),D(Oe,tt)}),D(fe,_e)};N(Y,fe=>{l(He).length===0?fe(ie):fe(se,-1)})}D(R,G)};N(ve,R=>{l(ce)&&R(nt)})}var Ze=v(Ve,2);{var Et=R=>{var G=uJ(),Y=lt(G),ie=v(Y,2);let se;var fe=m(ie),_e=v(fe,2);W(()=>se=Io(ie,"",se,{left:`${l(it).x??""}px`,top:`${l(it).y??""}px`})),z("click",Y,()=>x(it,null)),z("contextmenu",Y,Ce=>{Ce.preventDefault(),x(it,null)}),z("click",fe,()=>{navigator.clipboard.writeText(l(it).topic),x(it,null)}),z("click",_e,()=>{const Ce=l(it).topic,Oe=Ce+"/",Re=[...i.keys()].some(tt=>tt.startsWith(Oe));x(Lt,{topic:Ce,hasChildren:Re,recursive:!1},!0),x(it,null)}),D(R,G)};N(Ze,R=>{l(it)&&R(Et)})}var $=v(Ze,2);{var q=R=>{var G=fJ(),Y=lt(G),ie=v(Y,2),se=v(m(ie),2),fe=m(se),_e=v(m(fe)),Ce=m(_e),Oe=v(fe,2);{var Re=he=>{var je=hJ(),yt=m(je);Os(yt,()=>l(Lt).recursive,Le=>l(Lt).recursive=Le),D(he,je)};N(Oe,he=>{l(Lt).hasChildren&&he(Re)})}var tt=v(se,2),ei=m(tt),J=v(ei,2);W(()=>O(Ce,l(Lt).topic)),z("click",Y,()=>x(Lt,null)),z("click",ei,()=>x(Lt,null)),z("click",J,()=>{const{topic:he,recursive:je}=l(Lt);x(Lt,null),et(he,je)}),D(R,G)};N($,R=>{l(Lt)&&R(q)})}W(()=>{Wt.disabled=l(ct)||!l(be),O(Ki,` ${l(Pt)??""}`),Io(Ve,l(ce)?`height: ${l(te)}px;`:""),O(pe,l(ce)?"▾":"▸")}),Dt(Fi,()=>l(be),R=>x(be,R)),Dt(ji,()=>l(ke),R=>x(ke,R)),Os(Gi,()=>l(Je),R=>x(Je,R)),Ks(Z,()=>l(ut),R=>x(ut,R)),z("click",Wt,vi),Dt(De,()=>l(b),R=>x(b,R)),z("mousedown",Vt,we),Dt(Zt,()=>l(ge),R=>x(ge,R)),z("click",ae,()=>{x(ce,!l(ce))}),D(o,bi),eo()}uo(["click","contextmenu","mousedown"]);var xJ=F('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),vJ=F('<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>'),mJ=F('<div class="err svelte-twakcj"> </div>'),_J=F('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),bJ=F('<p class="empty svelte-twakcj">No packages installed.</p>'),CJ=F('<p class="empty svelte-twakcj">No match.</p>'),EJ=F("<span> </span>"),yJ=pb('<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>'),wJ=pb('<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>'),SJ=F('<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><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <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>'),DJ=F('<span class="result-author svelte-twakcj"> </span>'),AJ=F('<span class="result-date svelte-twakcj"> </span>'),kJ=F('<span class="result-desc svelte-twakcj"> </span>'),BJ=F('<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>'),FJ=F('<div class="results-list svelte-twakcj"></div>'),LJ=F('<pre class="npm-output svelte-twakcj"> </pre>'),IJ=F(`<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>`),PJ=F('<!> <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 TJ(o,e){Js(e,!0);let t=B(_i([])),i=B(""),n=B(_i({})),s=B(_i([])),r=B(!1),a=B(""),d=B(_i([])),u=B(!1),f=B(!1),g=B(!1),p=B(""),C=B(""),b=_i({});const E=Ft(()=>l(i).trim()?l(t).filter(ft=>ft.name.toLowerCase().includes(l(i).toLowerCase())):l(t)),w=Ft(()=>Object.keys(l(n)).filter(ft=>!l(s).includes(ft)).length);no(async()=>{await Promise.all([A(),I(),T()])});async function A(){try{x(t,await hU(),!0),x(p,"")}catch(ft){x(p,ft.message,!0)}}async function I(){try{x(n,await DF(),!0)}catch{}}async function T(){try{const ft=await Gl();x(s,Array.isArray(ft.pinnedPackages)?ft.pinnedPackages:[],!0)}catch{}}async function M(ft){const Qt=l(s).includes(ft)?l(s).filter(Ti=>Ti!==ft):[...l(s),ft];x(s,Qt,!0);try{const Ti=await Gl();await Ap({...Ti,pinnedPackages:Qt})}catch{}}async function P(){x(r,!0);try{x(n,await vU(),!0)}catch{}finally{x(r,!1)}}async function j(){const ft=l(a).trim();if(!ft){x(d,[],!0);return}x(g,!0),x(p,"");try{x(d,await fU(ft),!0)}catch(Qt){x(p,Qt.message,!0)}finally{x(g,!1)}}function U(ft){if(!ft)return"";try{return new Date(ft).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function Q(ft,Qt){b[ft]=!0,x(p,""),x(C,"");try{const Ti=await gU(ft,Qt);x(C,Ti.stdout||Ti.stderr||"Done.",!0),x(u,!0),await A()}catch(Ti){x(p,Ti.message,!0)}finally{b[ft]=!1}}async function oe(ft){b[ft]=!0,x(p,""),x(C,"");try{const Qt=await pU(ft);x(C,Qt.stdout||Qt.stderr||"Done.",!0),x(u,!0);const Ti={...l(n)};delete Ti[ft],x(n,Ti,!0),await A()}catch(Qt){x(p,Qt.message,!0)}finally{b[ft]=!1}}async function le(ft){b[ft]=!0,x(p,""),x(C,"");try{const Qt=await xU(ft);x(C,Qt.stdout||Qt.stderr||"Done.",!0),x(u,!0);const Ti={...l(n)};delete Ti[ft],x(n,Ti,!0),await A()}catch(Qt){x(p,Qt.message,!0)}finally{b[ft]=!1}}let re;async function ce(){if(await re.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){x(f,!0);try{await yF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var ge=PJ(),te=lt(ge);Bs(hl(te,{}),ft=>re=ft,()=>re);var de=v(te,2),we=m(de);{var He=ft=>{var Qt=xJ();D(ft,Qt)},me=ft=>{var Qt=vJ(),Ti=v(m(Qt));z("click",Ti,ce),D(ft,Qt)};N(we,ft=>{l(f)?ft(He):l(u)&&ft(me,1)})}var Me=v(we,2);{var Ne=ft=>{var Qt=mJ(),Ti=m(Qt);W(()=>O(Ti,l(p))),D(ft,Qt)};N(Me,ft=>{l(p)&&ft(Ne)})}var Ee=v(Me,2),it=m(Ee),Lt=m(it),et=v(m(Lt),2),St=m(et),be=v(et,2);{var ke=ft=>{var Qt=_J(),Ti=m(Qt);W(()=>O(Ti,`${l(w)??""} outdated`)),D(ft,Qt)};N(be,ft=>{l(w)>0&&ft(ke)})}var Je=v(be,2),ut=m(Je);let ct;var kt=v(Lt,2),oi=m(kt),vi=v(kt,2),ri=m(vi);{var vt=ft=>{var Qt=bJ();D(ft,Qt)},li=ft=>{var Qt=CJ();D(ft,Qt)},Ie=ft=>{var Qt=Hs(),Ti=lt(Qt);ti(Ti,17,()=>l(E),Bi=>Bi.name,(Bi,bi)=>{var bn=SJ();let Cn;var kn=m(bn),$e=m(kn),Yt=m($e),Fi=v($e,2),fi=m(Fi),ji=v(Fi,2);{var gi=dt=>{var di=EJ();let De;var We=m(di);W(Oi=>{De=At(di,1,"dep-latest svelte-twakcj",null,De,Oi),O(We,`→ v${l(n)[l(bi).name].latest??""}`)},[()=>({"dep-latest--pinned":l(s).includes(l(bi).name)})]),D(dt,di)};N(ji,dt=>{l(n)[l(bi).name]&&dt(gi)})}var Gi=v(kn,2),Z=m(Gi);let Se;var ot=v(Z,2);let Ye;var Wt=m(ot);{var Jt=dt=>{var di=yJ();D(dt,di)},ht=dt=>{var di=wJ();D(dt,di)};N(Wt,dt=>{b[l(bi).name]?dt(Jt):dt(ht,-1)})}var Qe=v(ot,2);W((dt,di,De)=>{Cn=At(bn,1,"dep-row svelte-twakcj",null,Cn,{"dep-busy":!!b[l(bi).name]}),fn($e,"href",l(bi).url??`https://www.npmjs.com/package/${l(bi).name}`),O(Yt,l(bi).name),O(fi,l(bi).installedVersion??l(bi).version),Se=At(Z,1,"icon-btn svelte-twakcj",null,Se,dt),fn(Z,"title",di),Ye=At(ot,1,"icon-btn svelte-twakcj",null,Ye,De),ot.disabled=!!b[l(bi).name],fn(ot,"title",l(n)[l(bi).name]?`Update to v${l(n)[l(bi).name].latest}`:"Update to latest"),Qe.disabled=!!b[l(bi).name]},[()=>({"icon-btn--pinned":l(s).includes(l(bi).name)}),()=>l(s).includes(l(bi).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!l(n)[l(bi).name]&&!l(s).includes(l(bi).name)})]),z("click",Z,()=>M(l(bi).name)),z("click",ot,()=>le(l(bi).name)),z("click",Qe,()=>oe(l(bi).name)),D(Bi,bn)}),D(ft,Qt)};N(ri,ft=>{l(t).length===0?ft(vt):l(E).length===0?ft(li,1):ft(Ie,-1)})}var ye=v(it,2),Pt=v(m(ye),2),ci=m(Pt),$t=v(ci,2),Pi=m($t),Ni=v(Pt,2);{var ki=ft=>{var Qt=FJ();ti(Qt,21,()=>l(d),Ti=>Ti.name,(Ti,Bi)=>{var bi=BJ(),bn=m(bi),Cn=m(bn),kn=m(Cn),$e=v(Cn,2),Yt=m($e),Fi=v($e,2);{var fi=Ye=>{var Wt=DJ(),Jt=m(Wt);W(()=>O(Jt,l(Bi).author)),D(Ye,Wt)};N(Fi,Ye=>{l(Bi).author&&Ye(fi)})}var ji=v(Fi,2);{var gi=Ye=>{var Wt=AJ(),Jt=m(Wt);W(ht=>{fn(Wt,"title",l(Bi).date),O(Jt,ht)},[()=>U(l(Bi).date)]),D(Ye,Wt)};N(ji,Ye=>{l(Bi).date&&Ye(gi)})}var Gi=v(ji,2);{var Z=Ye=>{var Wt=kJ(),Jt=m(Wt);W(()=>O(Jt,l(Bi).description)),D(Ye,Wt)};N(Gi,Ye=>{l(Bi).description&&Ye(Z)})}var Se=v(bn,2),ot=m(Se);W(()=>{fn(Cn,"href",l(Bi).url??`https://www.npmjs.com/package/${l(Bi).name}`),O(kn,l(Bi).name),O(Yt,l(Bi).version),Se.disabled=!!b[l(Bi).name],O(ot,b[l(Bi).name]?"Installing…":"Install")}),z("click",Se,()=>Q(l(Bi).name)),D(Ti,bi)}),D(ft,Qt)};N(Ni,ft=>{l(d).length>0&&ft(ki)})}var nn=v(Ni,2);{var sn=ft=>{var Qt=LJ(),Ti=m(Qt);W(()=>O(Ti,l(C))),D(ft,Qt)};N(nn,ft=>{l(C)&&ft(sn)})}var pn=v(nn,2);{var wn=ft=>{var Qt=IJ();D(ft,Qt)};N(pn,ft=>{!l(d).length&&!l(C)&&ft(wn)})}W(()=>{O(St,l(t).length),Je.disabled=l(r),ct=At(ut,0,"svelte-twakcj",null,ct,{spinning:l(r)}),$t.disabled=l(g),O(Pi,l(g)?"Searching…":"Search")}),z("click",Je,P),Dt(oi,()=>l(i),ft=>x(i,ft)),z("keydown",ci,ft=>ft.key==="Enter"&&j()),Dt(ci,()=>l(a),ft=>x(a,ft)),z("click",$t,j),D(o,ge),eo()}uo(["click","keydown"]);var MJ=F('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),Na=F('<div class="err svelte-3itf14"> </div>'),RJ=F('<div class="empty svelte-3itf14">No users found.</div>'),NJ=F('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),Zh=F("<option> </option>"),Zx=F('<div class="inline-err svelte-3itf14"> </div>'),J2=F('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— role —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),OJ=F('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),HJ=F('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— group —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),WJ=F('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add to group">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),zJ=F('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),VJ=F('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),jJ=F('<div class="empty svelte-3itf14">No roles found.</div>'),$J=F('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),UJ=F('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),qJ=F('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),GJ=F('<div class="empty svelte-3itf14">No groups found.</div>'),KJ=F('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),ZJ=F('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— user —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),XJ=F('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),YJ=F('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add member">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),QJ=F('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),JJ=F('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),eA=F('<div class="empty svelte-3itf14">Loading…</div>'),eee=F('<tr><td class="mono small svelte-3itf14"> </td><td class="acl-radio svelte-3itf14"><input type="radio" value="allow"/></td><td class="acl-radio svelte-3itf14"><input type="radio" value="deny"/></td></tr>'),tee=F('<table class="acl-defaults-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Operation</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14">Deny</th></tr></thead><tbody></tbody></table>'),iee=F('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),nee=F('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),see=F('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),oee=F('<div class="panel svelte-3itf14"><div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Default ACL Access</h3> <p class="settings-hint svelte-3itf14">Broker-wide defaults applied when no role ACL matches. Role ACLs always take precedence over these defaults.</p> <!> <!></div> <div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Anonymous Group</h3> <p class="settings-hint svelte-3itf14">Clients connecting without credentials are treated as members of this group. Requires <code class="svelte-3itf14">allow_anonymous true</code> in mosquitto.conf.</p> <!> <!></div></div>'),ree=F('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),aee=F('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),lee=F('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),cee=F('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="btn-rm svelte-3itf14">✕</button></td></tr>'),dee=F('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),uee=F('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),hee=F('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> <span class="acl-checkmark svelte-3itf14"></span> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),fee=F('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),gee=F('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button>Settings</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>',1);function pee(o,e){Js(e,!0);let t=qu(e,"dynsecReady",3,!1),i,n=B(_i([])),s=B(_i([])),r=B(_i([])),a=B(""),d=B(""),u=B(""),f=B("users"),g=B(null),p=B(""),C=B(""),b=B(!1);const E=Ft(()=>l(g)?l(g).kind==="user-roles"?l(s).map(V=>V.rolename).filter(V=>{var ae,pe;return!((pe=(ae=l(n).find(ve=>ve.username===l(g).target))==null?void 0:ae.roles)!=null&&pe.some(ve=>ve.rolename===V))}):l(g).kind==="user-groups"?l(r).map(V=>V.groupname).filter(V=>{var ae,pe;return!((pe=(ae=l(n).find(ve=>ve.username===l(g).target))==null?void 0:ae.groups)!=null&&pe.some(ve=>ve.groupname===V))}):l(g).kind==="group-members"?l(n).map(V=>V.username).filter(V=>{var ae,pe;return!((pe=(ae=l(r).find(ve=>ve.groupname===l(g).target))==null?void 0:ae.clients)!=null&&pe.some(ve=>ve.username===V))}):l(s).map(V=>V.rolename).filter(V=>{var ae,pe;return!((pe=(ae=l(r).find(ve=>ve.groupname===l(g).target))==null?void 0:ae.roles)!=null&&pe.some(ve=>ve.rolename===V))}):[]);function w(V,ae){x(g,{kind:V,target:ae},!0),x(p,""),x(C,"")}async function A(){if(!(!l(g)||!l(p))){x(b,!0),x(C,"");try{const{kind:V,target:ae}=l(g);V==="user-roles"?await jU(ae,l(p)):V==="user-groups"?await v2(l(p),ae):V==="group-members"?await v2(ae,l(p)):await QU(ae,l(p)),x(g,null),x(p,""),await ki()}catch(V){x(C,V.message,!0)}finally{x(b,!1)}}}async function I(V,ae){try{await $U(V,ae),await ki()}catch(pe){x(a,pe.message,!0)}}async function T(V,ae){try{await m2(ae,V),await ki()}catch(pe){x(a,pe.message,!0)}}async function M(V,ae){try{await m2(V,ae),await ki()}catch(pe){x(u,pe.message,!0)}}async function P(V,ae){try{await JU(V,ae),await ki()}catch(pe){x(u,pe.message,!0)}}let j=B(!1),U=B(""),Q=B(""),oe=B(!1),le=B(""),re=B(!1),ce=B(!1),ge=B(""),te=B(""),de=B(""),we=B(!1),He=B(!1),me=B(""),Me=B(""),Ne=B(!1),Ee=B(null),it=B(!1),Lt=B("publishClientSend"),et=B(""),St=B(!0),be=B(""),ke=B(!1),Je=B(""),ut=B(""),ct=B(!1),kt=B(_i([])),oi=B(""),vi=B(!1),ri=B(null),vt=B(""),li=B(""),Ie=B(!1),ye=B(!1);const Pt=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function ci(){var V,ae;x(ye,!1),x(oi,""),x(li,"");try{const[pe,ve]=await Promise.allSettled([eq(),nq()]);if(pe.status==="fulfilled"){const nt=Object.fromEntries(pe.value.acls.map(Ze=>[Ze.acltype,Ze.allow]));x(kt,Pt.map(({acltype:Ze})=>({acltype:Ze,allow:nt[Ze]??(Ze==="publishClientReceive"||Ze==="unsubscribe")})),!0)}else x(oi,((V=pe.reason)==null?void 0:V.message)??"Failed to load default ACLs",!0);ve.status==="fulfilled"?(x(ri,ve.value.group,!0),x(vt,ve.value.group??"",!0)):x(li,((ae=ve.reason)==null?void 0:ae.message)??"Failed to load anonymous group",!0)}finally{x(ye,!0)}}async function $t(V,ae){x(kt,l(kt).map(pe=>pe.acltype===V?{...pe,allow:ae}:pe),!0),x(vi,!0),x(oi,"");try{await tq(l(kt))}catch(pe){x(oi,pe.message,!0)}finally{x(vi,!1)}}async function Pi(){x(Ie,!0),x(li,"");try{await sq(l(vt)||null),x(ri,l(vt)||null,!0)}catch(V){x(li,V.message,!0)}finally{x(Ie,!1)}}const Ni=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function ki(){var V,ae,pe;try{const[ve,nt,Ze]=await Promise.allSettled([HU(),PF(),ZU()]);ve.status==="fulfilled"?(x(n,ve.value.users,!0),x(a,"")):x(a,((V=ve.reason)==null?void 0:V.message)??"Failed to load users",!0),nt.status==="fulfilled"?(x(s,nt.value.roles,!0),x(d,"")):x(d,((ae=nt.reason)==null?void 0:ae.message)??"Failed to load roles",!0),Ze.status==="fulfilled"?(x(r,Ze.value.groups,!0),x(u,"")):x(u,((pe=Ze.reason)==null?void 0:pe.message)??"Failed to load groups",!0)}catch{}}no(()=>{ki()});async function nn(){x(le,""),x(re,!0);try{await WU(l(U),l(Q)),x(U,""),x(Q,""),x(j,!1),await ki()}catch(V){x(le,V.message??"Failed to create user",!0)}finally{x(re,!1)}}async function sn(V){if(await i.show(`Delete user “${V}”?`,{confirm:"Delete",danger:!0}))try{await zU(V),await ki()}catch(ae){x(a,ae.message,!0)}}async function pn(V){x(ge,V,!0),x(te,""),x(de,""),x(ce,!0)}async function wn(){x(de,""),x(we,!0);try{await VU(l(ge),l(te)),x(ce,!1)}catch(V){x(de,V.message,!0)}finally{x(we,!1)}}async function ft(){x(Me,""),x(Ne,!0);try{await UU(l(me)),x(me,""),x(He,!1),await ki()}catch(V){x(Me,V.message??"Failed to create role",!0)}finally{x(Ne,!1)}}async function Qt(V){var ae;if(await i.show(`Delete role “${V}”?`,{confirm:"Delete",danger:!0}))try{await qU(V),((ae=l(Ee))==null?void 0:ae.rolename)===V&&(x(Ee,null),x(it,!1)),await ki()}catch(pe){x(d,pe.message,!0)}}function Ti(V){x(Ee,V,!0),x(it,!0),x(Lt,"publishClientSend"),x(et,""),x(St,!0),x(be,"")}async function Bi(){if(l(Ee)){x(be,"");try{await GU(l(Ee).rolename,{acltype:l(Lt),topic:l(et),allow:l(St)}),x(et,""),await ki(),x(Ee,l(s).find(V=>V.rolename===l(Ee).rolename)??l(Ee),!0)}catch(V){x(be,V.message,!0)}}}async function bi(V,ae,pe){try{await KU(V,ae,pe),await ki(),x(Ee,l(s).find(ve=>ve.rolename===V)??l(Ee),!0)}catch(ve){x(be,ve.message,!0)}}async function bn(){x(ut,""),x(ct,!0);try{await XU(l(Je)),x(Je,""),x(ke,!1),await ki()}catch(V){x(ut,V.message??"Failed to create group",!0)}finally{x(ct,!1)}}async function Cn(V){if(await i.show(`Delete group “${V}”?`,{confirm:"Delete",danger:!0}))try{await YU(V),await ki()}catch(ae){x(u,ae.message,!0)}}var kn=gee(),$e=lt(kn),Yt=m($e);{var Fi=V=>{var ae=MJ();D(V,ae)};N(Yt,V=>{t()||V(Fi)})}var fi=v(Yt,2),ji=m(fi);let gi;var Gi=v(ji,2);let Z;var Se=v(Gi,2);let ot;var Ye=v(Se,2);let Wt;var Jt=v(Ye,2),ht=v(fi,2);{var Qe=V=>{var ae=VJ(),pe=m(ae),ve=v(m(pe),2),nt=v(pe,2);{var Ze=R=>{var G=Na(),Y=m(G);W(()=>O(Y,l(a))),D(R,G)};N(nt,R=>{l(a)&&R(Ze)})}var Et=v(nt,2);{var $=R=>{var G=RJ();D(R,G)},q=R=>{var G=zJ(),Y=v(m(G));ti(Y,21,()=>l(n),Ri,(ie,se)=>{var fe=WJ(),_e=m(fe),Ce=m(_e),Oe=v(_e),Re=m(Oe),tt=m(Re),ei=m(tt);ti(ei,17,()=>l(se).roles??[],Ri,(Tt,ni)=>{var ze=NJ(),wt=m(ze),ii=v(wt);W(()=>O(wt,l(ni).rolename)),z("click",ii,()=>I(l(se).username,l(ni).rolename)),D(Tt,ze)});var J=v(ei,2),he=v(tt,2);{var je=Tt=>{var ni=J2(),ze=lt(ni),wt=m(ze),ii=m(wt);ii.value=ii.__value="";var Vi=v(ii);ti(Vi,17,()=>l(E),Ri,(qi,Ji)=>{var qe=Zh(),bt=m(qe),It={};W(()=>{O(bt,l(Ji)),It!==(It=l(Ji))&&(qe.value=(qe.__value=l(Ji))??"")}),D(qi,qe)});var Gt=v(wt,2),Xt=v(Gt,2),Di=v(ze,2);{var Zi=qi=>{var Ji=Zx(),qe=m(Ji);W(()=>O(qe,l(C))),D(qi,Ji)};N(Di,qi=>{l(C)&&qi(Zi)})}W(()=>Gt.disabled=!l(p)||l(b)),Ks(wt,()=>l(p),qi=>x(p,qi)),z("click",Gt,A),z("click",Xt,()=>x(g,null)),D(Tt,ni)};N(he,Tt=>{var ni;((ni=l(g))==null?void 0:ni.kind)==="user-roles"&&l(g).target===l(se).username&&Tt(je)})}var yt=v(Oe),Le=m(yt),Pe=m(Le),gt=m(Pe);ti(gt,17,()=>l(se).groups??[],Ri,(Tt,ni)=>{var ze=OJ(),wt=m(ze),ii=v(wt);W(()=>O(wt,l(ni).groupname)),z("click",ii,()=>T(l(se).username,l(ni).groupname)),D(Tt,ze)});var pt=v(gt,2),Xe=v(Pe,2);{var qt=Tt=>{var ni=HJ(),ze=lt(ni),wt=m(ze),ii=m(wt);ii.value=ii.__value="";var Vi=v(ii);ti(Vi,17,()=>l(E),Ri,(qi,Ji)=>{var qe=Zh(),bt=m(qe),It={};W(()=>{O(bt,l(Ji)),It!==(It=l(Ji))&&(qe.value=(qe.__value=l(Ji))??"")}),D(qi,qe)});var Gt=v(wt,2),Xt=v(Gt,2),Di=v(ze,2);{var Zi=qi=>{var Ji=Zx(),qe=m(Ji);W(()=>O(qe,l(C))),D(qi,Ji)};N(Di,qi=>{l(C)&&qi(Zi)})}W(()=>Gt.disabled=!l(p)||l(b)),Ks(wt,()=>l(p),qi=>x(p,qi)),z("click",Gt,A),z("click",Xt,()=>x(g,null)),D(Tt,ni)};N(Xe,Tt=>{var ni;((ni=l(g))==null?void 0:ni.kind)==="user-groups"&&l(g).target===l(se).username&&Tt(qt)})}var rt=v(yt),st=m(rt),Ct=m(st),jt=v(Ct,2);W(()=>O(Ce,l(se).username)),z("click",J,()=>w("user-roles",l(se).username)),z("click",pt,()=>w("user-groups",l(se).username)),z("click",Ct,()=>pn(l(se).username)),z("click",jt,()=>sn(l(se).username)),D(ie,fe)}),D(R,G)};N(Et,R=>{l(n).length===0?R($):R(q,-1)})}z("click",ve,()=>{x(j,!0),x(le,"")}),D(V,ae)};N(ht,V=>{l(f)==="users"&&V(Qe)})}var dt=v(ht,2);{var di=V=>{var ae=qJ(),pe=m(ae),ve=v(m(pe),2),nt=v(pe,2);{var Ze=R=>{var G=Na(),Y=m(G);W(()=>O(Y,l(d))),D(R,G)};N(nt,R=>{l(d)&&R(Ze)})}var Et=v(nt,2);{var $=R=>{var G=jJ();D(R,G)},q=R=>{var G=UJ(),Y=v(m(G));ti(Y,21,()=>l(s),Ri,(ie,se)=>{var fe=$J(),_e=m(fe),Ce=m(_e),Oe=v(_e),Re=m(Oe),tt=v(Oe),ei=m(tt),J=m(ei),he=v(J,2);W(()=>{var je;O(Ce,l(se).rolename),O(Re,((je=l(se).acls)==null?void 0:je.length)??0)}),z("click",J,()=>Ti(l(se))),z("click",he,()=>Qt(l(se).rolename)),D(ie,fe)}),D(R,G)};N(Et,R=>{l(s).length===0?R($):R(q,-1)})}z("click",ve,()=>{x(He,!0),x(Me,""),x(me,"")}),D(V,ae)};N(dt,V=>{l(f)==="roles"&&V(di)})}var De=v(dt,2);{var We=V=>{var ae=JJ(),pe=m(ae),ve=v(m(pe),2),nt=v(pe,2);{var Ze=R=>{var G=Na(),Y=m(G);W(()=>O(Y,l(u))),D(R,G)};N(nt,R=>{l(u)&&R(Ze)})}var Et=v(nt,2);{var $=R=>{var G=GJ();D(R,G)},q=R=>{var G=QJ(),Y=v(m(G));ti(Y,21,()=>l(r),Ri,(ie,se)=>{var fe=YJ(),_e=m(fe),Ce=m(_e),Oe=v(_e),Re=m(Oe),tt=m(Re),ei=m(tt);ti(ei,17,()=>l(se).clients??[],Ri,(jt,Tt)=>{var ni=KJ(),ze=m(ni),wt=v(ze);W(()=>O(ze,l(Tt).username)),z("click",wt,()=>M(l(se).groupname,l(Tt).username)),D(jt,ni)});var J=v(ei,2),he=v(tt,2);{var je=jt=>{var Tt=ZJ(),ni=lt(Tt),ze=m(ni),wt=m(ze);wt.value=wt.__value="";var ii=v(wt);ti(ii,17,()=>l(E),Ri,(Zi,qi)=>{var Ji=Zh(),qe=m(Ji),bt={};W(()=>{O(qe,l(qi)),bt!==(bt=l(qi))&&(Ji.value=(Ji.__value=l(qi))??"")}),D(Zi,Ji)});var Vi=v(ze,2),Gt=v(Vi,2),Xt=v(ni,2);{var Di=Zi=>{var qi=Zx(),Ji=m(qi);W(()=>O(Ji,l(C))),D(Zi,qi)};N(Xt,Zi=>{l(C)&&Zi(Di)})}W(()=>Vi.disabled=!l(p)||l(b)),Ks(ze,()=>l(p),Zi=>x(p,Zi)),z("click",Vi,A),z("click",Gt,()=>x(g,null)),D(jt,Tt)};N(he,jt=>{var Tt;((Tt=l(g))==null?void 0:Tt.kind)==="group-members"&&l(g).target===l(se).groupname&&jt(je)})}var yt=v(Oe),Le=m(yt),Pe=m(Le),gt=m(Pe);ti(gt,17,()=>l(se).roles??[],Ri,(jt,Tt)=>{var ni=XJ(),ze=m(ni),wt=v(ze);W(()=>O(ze,l(Tt).rolename)),z("click",wt,()=>P(l(se).groupname,l(Tt).rolename)),D(jt,ni)});var pt=v(gt,2),Xe=v(Pe,2);{var qt=jt=>{var Tt=J2(),ni=lt(Tt),ze=m(ni),wt=m(ze);wt.value=wt.__value="";var ii=v(wt);ti(ii,17,()=>l(E),Ri,(Zi,qi)=>{var Ji=Zh(),qe=m(Ji),bt={};W(()=>{O(qe,l(qi)),bt!==(bt=l(qi))&&(Ji.value=(Ji.__value=l(qi))??"")}),D(Zi,Ji)});var Vi=v(ze,2),Gt=v(Vi,2),Xt=v(ni,2);{var Di=Zi=>{var qi=Zx(),Ji=m(qi);W(()=>O(Ji,l(C))),D(Zi,qi)};N(Xt,Zi=>{l(C)&&Zi(Di)})}W(()=>Vi.disabled=!l(p)||l(b)),Ks(ze,()=>l(p),Zi=>x(p,Zi)),z("click",Vi,A),z("click",Gt,()=>x(g,null)),D(jt,Tt)};N(Xe,jt=>{var Tt;((Tt=l(g))==null?void 0:Tt.kind)==="group-roles"&&l(g).target===l(se).groupname&&jt(qt)})}var rt=v(yt),st=m(rt),Ct=m(st);W(()=>O(Ce,l(se).groupname)),z("click",J,()=>w("group-members",l(se).groupname)),z("click",pt,()=>w("group-roles",l(se).groupname)),z("click",Ct,()=>Cn(l(se).groupname)),D(ie,fe)}),D(R,G)};N(Et,R=>{l(r).length===0?R($):R(q,-1)})}z("click",ve,()=>{x(ke,!0),x(ut,""),x(Je,"")}),D(V,ae)};N(De,V=>{l(f)==="groups"&&V(We)})}var Oi=v(De,2);{var on=V=>{var ae=oee(),pe=m(ae),ve=v(m(pe),4);{var nt=fe=>{var _e=Na(),Ce=m(_e);W(()=>O(Ce,l(oi))),D(fe,_e)};N(ve,fe=>{l(oi)&&fe(nt)})}var Ze=v(ve,2);{var Et=fe=>{var _e=eA();D(fe,_e)},$=fe=>{var _e=tee(),Ce=v(m(_e));ti(Ce,21,()=>Pt,Ri,(Oe,Re)=>{let tt=()=>l(Re).acltype,ei=()=>l(Re).label;const J=Ft(()=>l(kt).find(qt=>qt.acltype===tt()));var he=eee();let je;var yt=m(he),Le=m(yt),Pe=v(yt),gt=m(Pe),pt=v(Pe),Xe=m(pt);W(()=>{var qt,rt;je=At(he,1,"svelte-3itf14",null,je,{saving:l(vi)}),O(Le,ei()),fn(gt,"name",tt()),vr(gt,((qt=l(J))==null?void 0:qt.allow)===!0),fn(Xe,"name",tt()),vr(Xe,((rt=l(J))==null?void 0:rt.allow)===!1)}),z("change",gt,()=>$t(tt(),!0)),z("change",Xe,()=>$t(tt(),!1)),D(Oe,he)}),D(fe,_e)};N(Ze,fe=>{l(ye)?fe($,-1):fe(Et)})}var q=v(pe,2),R=v(m(q),4);{var G=fe=>{var _e=Na(),Ce=m(_e);W(()=>O(Ce,l(li))),D(fe,_e)};N(R,fe=>{l(li)&&fe(G)})}var Y=v(R,2);{var ie=fe=>{var _e=eA();D(fe,_e)},se=fe=>{var _e=see(),Ce=lt(_e),Oe=m(Ce),Re=m(Oe);Re.value=Re.__value="";var tt=v(Re);ti(tt,17,()=>l(r),Ri,(Le,Pe)=>{var gt=Zh(),pt=m(gt),Xe={};W(()=>{O(pt,l(Pe).groupname),Xe!==(Xe=l(Pe).groupname)&&(gt.value=(gt.__value=l(Pe).groupname)??"")}),D(Le,gt)});var ei=v(Oe,2),J=m(ei),he=v(Ce,2);{var je=Le=>{var Pe=iee(),gt=v(m(Pe)),pt=m(gt);W(()=>O(pt,l(ri))),D(Le,Pe)},yt=Le=>{var Pe=nee();D(Le,Pe)};N(he,Le=>{l(ri)?Le(je):Le(yt,-1)})}W(()=>{ei.disabled=l(Ie)||l(vt)===(l(ri)??""),O(J,l(Ie)?"Saving…":"Save")}),Ks(Oe,()=>l(vt),Le=>x(vt,Le)),z("click",ei,Pi),D(fe,_e)};N(Y,fe=>{l(ye)?fe(se,-1):fe(ie)})}D(V,ae)};N(Oi,V=>{l(f)==="settings"&&V(on)})}var Ki=v($e,2);{var ue=V=>{var ae=ree(),pe=m(ae),ve=v(m(pe),2),nt=v(m(ve)),Ze=v(ve,2),Et=v(m(Ze)),$=m(Et),q=v($,2),R=m(q),G=v(Ze,2);{var Y=Ce=>{var Oe=Na(),Re=m(Oe);W(()=>O(Re,l(le))),D(Ce,Oe)};N(G,Ce=>{l(le)&&Ce(Y)})}var ie=v(G,2),se=m(ie),fe=v(se,2),_e=m(fe);W(()=>{fn($,"type",l(oe)?"text":"password"),O(R,l(oe)?"Hide":"Show"),fe.disabled=l(re)||!l(U)||!l(Q),O(_e,l(re)?"Creating…":"Create")}),Dt(nt,()=>l(U),Ce=>x(U,Ce)),Dt($,()=>l(Q),Ce=>x(Q,Ce)),z("click",q,()=>x(oe,!l(oe))),z("click",se,()=>x(j,!1)),z("click",fe,nn),D(V,ae)};N(Ki,V=>{l(j)&&V(ue)})}var Ke=v(Ki,2);{var Bt=V=>{var ae=aee(),pe=m(ae),ve=m(pe),nt=v(m(ve)),Ze=m(nt),Et=v(ve,2),$=v(m(Et)),q=v(Et,2);{var R=fe=>{var _e=Na(),Ce=m(_e);W(()=>O(Ce,l(de))),D(fe,_e)};N(q,fe=>{l(de)&&fe(R)})}var G=v(q,2),Y=m(G),ie=v(Y,2),se=m(ie);W(()=>{O(Ze,l(ge)),ie.disabled=l(we)||!l(te),O(se,l(we)?"Saving…":"Set password")}),Dt($,()=>l(te),fe=>x(te,fe)),z("click",Y,()=>x(ce,!1)),z("click",ie,wn),D(V,ae)};N(Ke,V=>{l(ce)&&V(Bt)})}var zt=v(Ke,2);{var Fe=V=>{var ae=lee(),pe=m(ae),ve=v(m(pe),2),nt=v(m(ve)),Ze=v(ve,2);{var Et=Y=>{var ie=Na(),se=m(ie);W(()=>O(se,l(Me))),D(Y,ie)};N(Ze,Y=>{l(Me)&&Y(Et)})}var $=v(Ze,2),q=m($),R=v(q,2),G=m(R);W(()=>{R.disabled=l(Ne)||!l(me),O(G,l(Ne)?"Creating…":"Create")}),Dt(nt,()=>l(me),Y=>x(me,Y)),z("click",q,()=>x(He,!1)),z("click",R,ft),D(V,ae)};N(zt,V=>{l(He)&&V(Fe)})}var Ve=v(zt,2);{var Vt=V=>{var ae=hee(),pe=m(ae),ve=m(pe),nt=v(m(ve)),Ze=m(nt),Et=v(ve,2);{var $=tt=>{var ei=dee(),J=v(m(ei));ti(J,21,()=>l(Ee).acls??[],Ri,(he,je)=>{var yt=cee(),Le=m(yt),Pe=m(Le),gt=v(Le),pt=m(gt),Xe=v(gt),qt=m(Xe),rt=v(Xe),st=m(rt);W(()=>{O(Pe,l(je).acltype),O(pt,l(je).topic),O(qt,l(je).allow?"✓":"✗")}),z("click",st,()=>bi(l(Ee).rolename,l(je).acltype,l(je).topic)),D(he,yt)}),D(tt,ei)},q=tt=>{var ei=uee();D(tt,ei)};N(Et,tt=>{var ei;(((ei=l(Ee).acls)==null?void 0:ei.length)??0)>0?tt($):tt(q,-1)})}var R=v(Et,2),G=m(R);ti(G,21,()=>Ni,Ri,(tt,ei)=>{var J=Zh(),he=m(J),je={};W(()=>{O(he,l(ei)),je!==(je=l(ei))&&(J.value=(J.__value=l(ei))??"")}),D(tt,J)});var Y=v(G,2),ie=v(Y,2),se=m(ie),fe=v(ie,2),_e=v(R,2);{var Ce=tt=>{var ei=Na(),J=m(ei);W(()=>O(J,l(be))),D(tt,ei)};N(_e,tt=>{l(be)&&tt(Ce)})}var Oe=v(_e,2),Re=m(Oe);W(()=>{O(Ze,l(Ee).rolename),fe.disabled=!l(et)}),Ks(G,()=>l(Lt),tt=>x(Lt,tt)),Dt(Y,()=>l(et),tt=>x(et,tt)),Os(se,()=>l(St),tt=>x(St,tt)),z("click",fe,Bi),z("click",Re,()=>x(it,!1)),D(V,ae)};N(Ve,V=>{l(it)&&l(Ee)&&V(Vt)})}var Ut=v(Ve,2);{var Zt=V=>{var ae=fee(),pe=m(ae),ve=v(m(pe),2),nt=v(m(ve)),Ze=v(ve,2);{var Et=Y=>{var ie=Na(),se=m(ie);W(()=>O(se,l(ut))),D(Y,ie)};N(Ze,Y=>{l(ut)&&Y(Et)})}var $=v(Ze,2),q=m($),R=v(q,2),G=m(R);W(()=>{R.disabled=l(ct)||!l(Je),O(G,l(ct)?"Creating…":"Create")}),Dt(nt,()=>l(Je),Y=>x(Je,Y)),z("click",q,()=>x(ke,!1)),z("click",R,bn),D(V,ae)};N(Ut,V=>{l(ke)&&V(Zt)})}var Rt=v(Ut,2);Bs(hl(Rt,{}),V=>i=V,()=>i),W(()=>{gi=At(ji,1,"svelte-3itf14",null,gi,{active:l(f)==="users"}),Z=At(Gi,1,"svelte-3itf14",null,Z,{active:l(f)==="roles"}),ot=At(Se,1,"svelte-3itf14",null,ot,{active:l(f)==="groups"}),Wt=At(Ye,1,"svelte-3itf14",null,Wt,{active:l(f)==="settings"})}),z("click",ji,()=>x(f,"users")),z("click",Gi,()=>x(f,"roles")),z("click",Se,()=>x(f,"groups")),z("click",Ye,()=>{x(f,"settings"),l(ye)||ci()}),z("click",Jt,ki),D(o,kn),eo()}uo(["click","change"]);var tA=F('<div class="err svelte-9i68x"> </div>'),xee=F('<div class="ok svelte-9i68x">Saved.</div>'),vee=F('<div class="reload-msg svelte-9i68x"> </div>'),mee=F('<div class="loading svelte-9i68x">Loading…</div>'),_ee=F('<div class="anon-row svelte-9i68x"><span class="field-label svelte-9i68x"><code class="svelte-9i68x">allow_anonymous</code></span> <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated clients</option><option>false — require authentication</option></select></div>'),bee=F("<option></option>"),Cee=F('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert CN as username (use_identity_as_username)</label></div></div>'),Eee=F('<div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert Subject as username (use_subject_as_username)</label></div>'),yee=F('<div class="advanced-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Mount point <input placeholder="(none)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max connections <input type="number" min="-1" placeholder="-1 (unlimited)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max QoS <select class="svelte-9i68x"><option>default</option><option>0 — fire and forget</option><option>1 — at least once</option><option>2 — exactly once</option></select></label></div> <!></div>'),wee=F('<div class="auth-section svelte-9i68x"><div class="auth-section-title svelte-9i68x">Authentication</div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">allow_anonymous <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated</option><option>false — require auth</option></select></label> <label class="svelte-9i68x">password_file <input placeholder="/etc/mosquitto/passwd" class="svelte-9i68x"/></label> <label class="svelte-9i68x">acl_file <input placeholder="/etc/mosquitto/acl" class="svelte-9i68x"/></label></div></div>'),See=F('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label> <label class="toggle-label tls-inline svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> TLS</label></div> <datalist></datalist> <!> <button class="advanced-btn svelte-9i68x"> </button> <!> <!></div>'),Dee=F('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),Aee=F('<div class="global-settings svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> <span><code>per_listener_settings</code> — independent auth per listener</span> <span class="info-icon svelte-9i68x" title="Not recommended when using the dynamic-security plugin — dynsec credentials only apply to the default listener. See mosquitto documentation.">ℹ</span></label> <!></div> <div class="cards svelte-9i68x"><!> <!></div>',1),kee=F('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply &amp; Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function Bee(o,e){Js(e,!0);let t=B(null),i=B(""),n=B(!1),s=B(""),r=B(!1),a=B(!1),d=B(""),u=B(_i([])),f=B(null),g=B(!1),p=B(""),C=B(_i([])),b=B(_i(new Set));no(()=>{E(),DU().then(be=>{x(C,be.addresses,!0)}).catch(()=>{})});async function E(){try{x(t,await ux(),!0),x(u,JSON.parse(JSON.stringify(l(t).listeners)),!0),x(f,l(t).checksum,!0);const be=l(t).managed.allow_anonymous;x(p,be==="true"||be==="false"?be:"",!0),x(g,l(t).managed.per_listener_settings==="true"),x(i,"")}catch(be){x(i,be.message??"Failed to load broker config",!0)}}function w(){x(u,[...l(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0),x(b,new Set(l(b)),!0)}function A(be){const ke=new Set(l(b));ke.has(be)?ke.delete(be):ke.add(be),x(b,ke,!0)}function I(be){x(u,l(u).filter((ke,Je)=>Je!==be),!0)}async function T(){if(l(t)){x(n,!0),x(s,""),x(r,!1);try{const be={...l(t).managed};l(g)?(be.per_listener_settings="true",delete be.allow_anonymous):(delete be.per_listener_settings,l(p)?be.allow_anonymous=l(p):delete be.allow_anonymous),await IF({listeners:l(u),managed:be,passthrough:l(t).passthrough,checksum:l(f)}),x(r,!0),setTimeout(()=>x(r,!1),3e3),await E()}catch(be){x(s,be.message??"Save failed",!0)}finally{x(n,!1)}}}async function M(){x(a,!0),x(d,"");try{const be=await Hb();x(d,be.stderr||be.stdout||"Reloaded",!0)}catch(be){x(d,"Error: "+(be.message??"reload failed"))}finally{x(a,!1)}}function P(be){var ke,Je,ut,ct,kt;return!!((ke=be.tls)!=null&&ke.enabled||(Je=be.tls)!=null&&Je.certfile||(ut=be.tls)!=null&&ut.keyfile||(ct=be.tls)!=null&&ct.capath||(kt=be.tls)!=null&&kt.cafile)}function j(be,ke){ke?be.tls={...be.tls,enabled:!0}:be.tls={},x(u,[...l(u)],!0)}var U=kee(),Q=m(U),oe=v(m(Q),2),le=m(oe),re=v(le,2),ce=m(re),ge=v(re,2),te=m(ge),de=v(Q,2);{var we=be=>{var ke=tA(),Je=m(ke);W(()=>O(Je,l(i))),D(be,ke)};N(de,be=>{l(i)&&be(we)})}var He=v(de,2);{var me=be=>{var ke=tA(),Je=m(ke);W(()=>O(Je,l(s))),D(be,ke)};N(He,be=>{l(s)&&be(me)})}var Me=v(He,2);{var Ne=be=>{var ke=xee();D(be,ke)};N(Me,be=>{l(r)&&be(Ne)})}var Ee=v(Me,2);{var it=be=>{var ke=vee(),Je=m(ke);W(()=>O(Je,l(d))),D(be,ke)};N(Ee,be=>{l(d)&&be(it)})}var Lt=v(Ee,2);{var et=be=>{var ke=mee();D(be,ke)},St=be=>{var ke=Aee(),Je=lt(ke),ut=m(Je),ct=m(ut),kt=v(ut,2);{var oi=Ie=>{var ye=_ee(),Pt=v(m(ye),2),ci=m(Pt);ci.value=ci.__value="";var $t=v(ci);$t.value=$t.__value="true";var Pi=v($t);Pi.value=Pi.__value="false",Ks(Pt,()=>l(p),Ni=>x(p,Ni)),D(Ie,ye)};N(kt,Ie=>{l(g)||Ie(oi)})}var vi=v(Je,2),ri=m(vi);ti(ri,17,()=>l(u),Ri,(Ie,ye,Pt)=>{var ci=See(),$t=m(ci),Pi=m($t),Ni=m(Pi),ki=v(Pi,2),nn=v($t,2),sn=m(nn),pn=v(m(sn)),wn=v(sn,2),ft=v(m(wn)),Qt=m(ft);Qt.value=Qt.__value="mqtt";var Ti=v(Qt);Ti.value=Ti.__value="websockets";var Bi=v(wn,2),bi=v(m(Bi));fn(bi,"list",`bind-addr-list-${Pt}`);var bn=v(Bi,2),Cn=m(bn),kn=v(nn,2);fn(kn,"id",`bind-addr-list-${Pt}`),ti(kn,21,()=>l(C),Ri,(Ye,Wt)=>{var Jt=bee(),ht={};W(()=>{ht!==(ht=l(Wt))&&(Jt.value=(Jt.__value=l(Wt))??"")}),D(Ye,Jt)});var $e=v(kn,2);{var Yt=Ye=>{var Wt=Cee(),Jt=m(Wt),ht=m(Jt),Qe=v(m(ht)),dt=v(ht,2),di=v(m(dt)),De=v(Jt,2),We=m(De),Oi=v(m(We)),on=v(We,2),Ki=v(m(on)),ue=v(De,2),Ke=m(ue),Bt=v(m(Ke)),zt=v(Ke,2),Fe=v(m(zt)),Ve=m(Fe);Ve.value=Ve.__value="";var Vt=v(Ve);Vt.value=Vt.__value="tlsv1.3";var Ut=v(Vt);Ut.value=Ut.__value="tlsv1.2";var Zt=v(ue,2),Rt=m(Zt),V=m(Rt),ae=v(Rt,2),pe=m(ae);Dt(Qe,()=>l(ye).tls.certfile,ve=>l(ye).tls.certfile=ve),Dt(di,()=>l(ye).tls.keyfile,ve=>l(ye).tls.keyfile=ve),Dt(Oi,()=>l(ye).tls.cafile,ve=>l(ye).tls.cafile=ve),Dt(Ki,()=>l(ye).tls.capath,ve=>l(ye).tls.capath=ve),Dt(Bt,()=>l(ye).tls.crlfile,ve=>l(ye).tls.crlfile=ve),Ks(Fe,()=>l(ye).tls.tls_version,ve=>l(ye).tls.tls_version=ve),Os(V,()=>l(ye).tls.require_certificate,ve=>l(ye).tls.require_certificate=ve),Os(pe,()=>l(ye).tls.use_identity_as_username,ve=>l(ye).tls.use_identity_as_username=ve),D(Ye,Wt)},Fi=Ft(()=>P(l(ye)));N($e,Ye=>{l(Fi)&&Ye(Yt)})}var fi=v($e,2),ji=m(fi),gi=v(fi,2);{var Gi=Ye=>{var Wt=yee(),Jt=m(Wt),ht=m(Jt),Qe=v(m(ht)),dt=v(ht,2),di=v(m(dt)),De=v(dt,2),We=v(m(De)),Oi=m(We);Oi.value=Oi.__value="";var on=v(Oi);on.value=on.__value="0";var Ki=v(on);Ki.value=Ki.__value="1";var ue=v(Ki);ue.value=ue.__value="2";var Ke;D1(We);var Bt=v(Jt,2);{var zt=Ve=>{var Vt=Eee(),Ut=m(Vt),Zt=m(Ut);Os(Zt,()=>l(ye).tls.use_subject_as_username,Rt=>l(ye).tls.use_subject_as_username=Rt),D(Ve,Vt)},Fe=Ft(()=>P(l(ye)));N(Bt,Ve=>{l(Fe)&&Ve(zt)})}W(Ve=>{Ke!==(Ke=Ve)&&(We.value=(We.__value=Ve)??"",jv(We,Ve))},[()=>l(ye).max_qos!==void 0?String(l(ye).max_qos):""]),Dt(Qe,()=>l(ye).mount_point,Ve=>l(ye).mount_point=Ve),Dt(di,()=>l(ye).max_connections,Ve=>l(ye).max_connections=Ve),z("change",We,Ve=>{const Vt=Ve.target.value;l(ye).max_qos=Vt===""?void 0:Number(Vt),x(u,[...l(u)],!0)}),D(Ye,Wt)},Z=Ft(()=>l(b).has(Pt));N(gi,Ye=>{l(Z)&&Ye(Gi)})}var Se=v(gi,2);{var ot=Ye=>{var Wt=wee(),Jt=v(m(Wt),2),ht=m(Jt),Qe=v(m(ht)),dt=m(Qe);dt.value=dt.__value="";var di=v(dt);di.value=di.__value="true";var De=v(di);De.value=De.__value="false";var We;D1(Qe);var Oi=v(ht,2),on=v(m(Oi)),Ki=v(Oi,2),ue=v(m(Ki));W(()=>{We!==(We=l(ye).allow_anonymous===void 0?"":l(ye).allow_anonymous?"true":"false")&&(Qe.value=Qe.__value=l(ye).allow_anonymous===void 0?"":l(ye).allow_anonymous?"true":"false",jv(Qe,l(ye).allow_anonymous===void 0?"":l(ye).allow_anonymous?"true":"false"))}),z("change",Qe,Ke=>{const Bt=Ke.target.value;l(ye).allow_anonymous=Bt===""?void 0:Bt==="true",x(u,[...l(u)],!0)}),Dt(on,()=>l(ye).password_file,Ke=>l(ye).password_file=Ke),Dt(ue,()=>l(ye).acl_file,Ke=>l(ye).acl_file=Ke),D(Ye,Wt)};N(Se,Ye=>{l(g)&&Ye(ot)})}W((Ye,Wt)=>{O(Ni,`Port ${l(ye).port??""}`),vr(Cn,Ye),O(ji,`${Wt??""} Advanced`)},[()=>P(l(ye)),()=>l(b).has(Pt)?"▾":"▸"]),z("click",ki,()=>I(Pt)),Dt(pn,()=>l(ye).port,Ye=>l(ye).port=Ye),Ks(ft,()=>l(ye).protocol,Ye=>l(ye).protocol=Ye),Dt(bi,()=>l(ye).bindAddress,Ye=>l(ye).bindAddress=Ye),z("change",Cn,Ye=>j(l(ye),Ye.target.checked)),z("click",fi,()=>A(Pt)),D(Ie,ci)});var vt=v(ri,2);{var li=Ie=>{var ye=Dee();D(Ie,ye)};N(vt,Ie=>{l(u).length===0&&Ie(li)})}Os(ct,()=>l(g),Ie=>x(g,Ie)),D(be,ke)};N(Lt,be=>{l(t)===null&&!l(i)?be(et):be(St,-1)})}W(()=>{re.disabled=l(n),O(ce,l(n)?"Saving…":"Save"),ge.disabled=l(a),O(te,l(a)?"Reloading…":"Apply & Reload")}),z("click",le,w),z("click",re,T),z("click",ge,M),D(o,U),eo()}uo(["click","change"]);var iA=F('<div class="err svelte-1by6o5t"> </div>'),Fee=F('<div class="ok svelte-1by6o5t">Saved.</div>'),Lee=F('<div class="reload-msg svelte-1by6o5t"> </div>'),KC=F('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),Iee=F('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),Pee=F(`<div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">General</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — persist sessions &amp; retained msgs</option><option>false — no disk persistence</option></select></label> <p class="hint svelte-1by6o5t">Enable on-disk persistence of subscriptions, retained messages, and QoS 1/2 queues.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence_location</span> <input placeholder="/var/lib/mosquitto/" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Directory where mosquitto stores its persistence data. Must be writable by the mosquitto process.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">sys_interval</span> <input type="number" placeholder="10" min="0" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Interval in seconds between <code class="svelte-1by6o5t">$SYS</code> status updates. <code class="svelte-1by6o5t">0</code> disables <code class="svelte-1by6o5t">$SYS</code> messages.</p></div></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">include_dir</span> <textarea placeholder="/etc/mosquitto/conf.d" class="svelte-1by6o5t"></textarea></label> <p class="hint svelte-1by6o5t">One path per line. Each directory will be scanned for <code class="svelte-1by6o5t">*.conf</code> files and included in order.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Logging</h4> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_dest</span> <div class="checkbox-group svelte-1by6o5t"></div> <p class="hint svelte-1by6o5t">Log destinations. Enable <code class="svelte-1by6o5t">topic</code> to stream logs to <code class="svelte-1by6o5t">$SYS/broker/log/*</code> and view them in the Logs tab. <code class="svelte-1by6o5t">none</code> disables logging entirely.</p></div> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_type</span> <div class="log-type-grid svelte-1by6o5t"><div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Severity</span> <!></div> <div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Events</span> <!></div> <div class="log-type-group log-type-group--other svelte-1by6o5t"><!> <span class="all-hint svelte-1by6o5t">enables all types above</span></div></div> <p class="hint svelte-1by6o5t">Types of messages to log. Leave all unchecked to use the broker default.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Connection limits</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_connections</span> <input placeholder="−1 (unlimited)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum simultaneous client connections. <code class="svelte-1by6o5t">-1</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_keepalive</span> <input placeholder="65535" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum keepalive value (seconds) a client may request. <code class="svelte-1by6o5t">0</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_inflight_messages</span> <input placeholder="20" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max simultaneous unacknowledged QoS 1/2 messages per client.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_queued_messages</span> <input placeholder="100" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max messages queued for a disconnected persistent client.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Packet &amp; payload size</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_packet_size</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum MQTT packet size in bytes (MQTT v5 only). <code class="svelte-1by6o5t">0</code> = no limit.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">message_size_limit</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum payload size in bytes for published messages. <code class="svelte-1by6o5t">0</code> = no limit.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Sessions &amp; persistence</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistent_client_expiration</span> <input placeholder="e.g. 7d, 2h, 30m" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Expire persistent sessions after this duration. Suffix: <code class="svelte-1by6o5t">d</code>/<code class="svelte-1by6o5t">h</code>/<code class="svelte-1by6o5t">m</code>/<code class="svelte-1by6o5t">s</code>. Empty = never expire.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">retain_available</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — allow retained messages</option><option>false — disable retained messages globally</option></select></label> <p class="hint svelte-1by6o5t">Disable retained messages broker-wide.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Performance</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">set_tcp_nodelay</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — disable Nagle (lower latency)</option><option>false — enable Nagle</option></select></label> <p class="hint svelte-1by6o5t">Disable Nagle's algorithm to reduce latency at the cost of slightly more packets.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">connection_messages</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — log connect/disconnect</option><option>false — suppress</option></select></label> <p class="hint svelte-1by6o5t">Log a message on every client connect and disconnect.</p></div></div></div>`,1),Tee=F('<div class="config-page svelte-1by6o5t"><div class="page-header svelte-1by6o5t"><h3 class="svelte-1by6o5t">Global config</h3> <div class="header-actions svelte-1by6o5t"><button class="btn-save svelte-1by6o5t"> </button> <button class="btn-reload svelte-1by6o5t"> </button></div></div> <!> <!> <!> <!> <!></div>');function Mee(o,e){Js(e,!0);let t=B(null),i=B(""),n=B(!1),s=B(""),r=B(!1),a=B(!1),d=B(""),u=B(null),f=B(""),g=B(""),p=B(""),C=B(""),b=B(""),E=B(""),w=B(""),A=B(""),I=B(""),T=B(""),M=B(""),P=B(""),j=B(""),U=B("");const Q=["file","stdout","stderr","syslog","topic","none"],oe=["error","warning","notice","information","debug"],le=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],re=["all"];[...oe,...le,...re];let ce=B(_i(new Set)),ge=B(_i(new Set));function te(Ie,ye){const Pt=new Set(Ie);return Pt.has(ye)?Pt.delete(ye):Pt.add(ye),Pt}function de(Ie){if(!l(t))return"";const ye=l(t).managed[Ie];return Array.isArray(ye)?ye[0]:ye??""}function we(Ie){if(!l(t))return new Set;const ye=l(t).managed[Ie];return ye?new Set(Array.isArray(ye)?ye:[ye]):new Set}no(()=>He());async function He(){try{x(t,await ux(),!0),x(u,l(t).checksum,!0),x(f,de("persistence"),!0),x(g,de("persistence_location"),!0),x(p,de("sys_interval"),!0);const Ie=l(t).managed.include_dir;x(C,Ie?Array.isArray(Ie)?Ie.join(`
231
+ `):Ie:"",!0),x(b,de("max_connections"),!0),x(E,de("max_inflight_messages"),!0),x(w,de("max_queued_messages"),!0),x(A,de("max_packet_size"),!0),x(I,de("message_size_limit"),!0),x(T,de("max_keepalive"),!0),x(M,de("persistent_client_expiration"),!0),x(P,de("retain_available"),!0),x(j,de("set_tcp_nodelay"),!0),x(U,de("connection_messages"),!0),x(ce,we("log_dest"),!0),x(ge,we("log_type"),!0),x(i,"")}catch(Ie){x(i,Ie.message??"Failed to load config",!0)}}async function me(){if(l(t)){x(n,!0),x(s,""),x(r,!1);try{let ye=function(ci,$t){$t!==""?Ie[ci]=$t:delete Ie[ci]};const Ie={...l(t).managed};ye("persistence",l(f)),ye("persistence_location",l(g)),ye("sys_interval",l(p));const Pt=l(C).split(`
232
+ `).map(ci=>ci.trim()).filter(Boolean);Pt.length>0?Ie.include_dir=Pt.length===1?Pt[0]:Pt:delete Ie.include_dir,ye("max_connections",l(b)),ye("max_inflight_messages",l(E)),ye("max_queued_messages",l(w)),ye("max_packet_size",l(A)),ye("message_size_limit",l(I)),ye("max_keepalive",l(T)),ye("persistent_client_expiration",l(M)),ye("retain_available",l(P)),ye("set_tcp_nodelay",l(j)),ye("connection_messages",l(U)),l(ce).size>0?Ie.log_dest=l(ce).size===1?[...l(ce)][0]:[...l(ce)]:delete Ie.log_dest,l(ge).size>0?Ie.log_type=l(ge).size===1?[...l(ge)][0]:[...l(ge)]:delete Ie.log_type,await IF({listeners:l(t).listeners,managed:Ie,passthrough:l(t).passthrough,checksum:l(u)}),x(r,!0),setTimeout(()=>x(r,!1),3e3),await He()}catch(Ie){x(s,Ie.message??"Save failed",!0)}finally{x(n,!1)}}}async function Me(){x(a,!0),x(d,"");try{const Ie=await Hb();x(d,Ie.stderr||Ie.stdout||"Reloaded",!0)}catch(Ie){x(d,"Error: "+(Ie.message??"reload failed"))}finally{x(a,!1)}}var Ne=Tee(),Ee=m(Ne),it=v(m(Ee),2),Lt=m(it),et=m(Lt),St=v(Lt,2),be=m(St),ke=v(Ee,2);{var Je=Ie=>{var ye=iA(),Pt=m(ye);W(()=>O(Pt,l(i))),D(Ie,ye)};N(ke,Ie=>{l(i)&&Ie(Je)})}var ut=v(ke,2);{var ct=Ie=>{var ye=iA(),Pt=m(ye);W(()=>O(Pt,l(s))),D(Ie,ye)};N(ut,Ie=>{l(s)&&Ie(ct)})}var kt=v(ut,2);{var oi=Ie=>{var ye=Fee();D(Ie,ye)};N(kt,Ie=>{l(r)&&Ie(oi)})}var vi=v(kt,2);{var ri=Ie=>{var ye=Lee(),Pt=m(ye);W(()=>O(Pt,l(d))),D(Ie,ye)};N(vi,Ie=>{l(d)&&Ie(ri)})}var vt=v(vi,2);{var li=Ie=>{var ye=Pee(),Pt=lt(ye),ci=v(m(Pt),2),$t=m(ci),Pi=m($t),Ni=v(m(Pi),2),ki=m(Ni);ki.value=ki.__value="";var nn=v(ki);nn.value=nn.__value="true";var sn=v(nn);sn.value=sn.__value="false";var pn=v($t,2),wn=m(pn),ft=v(m(wn),2),Qt=v(pn,2),Ti=m(Qt),Bi=v(m(Ti),2),bi=v(ci,2),bn=m(bi),Cn=v(m(bn),2);fn(Cn,"rows",3);var kn=v(Pt,2),$e=v(m(kn),2),Yt=v(m($e),2);ti(Yt,21,()=>Q,Ri,(Le,Pe)=>{var gt=KC(),pt=m(gt),Xe=v(pt,3);W(qt=>{vr(pt,qt),O(Xe,` ${l(Pe)??""}`)},[()=>l(ce).has(l(Pe))]),z("change",pt,()=>{x(ce,te(l(ce),l(Pe)),!0)}),D(Le,gt)});var Fi=v($e,2),fi=v(m(Fi),2),ji=m(fi),gi=v(m(ji),2);ti(gi,17,()=>oe,Ri,(Le,Pe)=>{var gt=KC(),pt=m(gt),Xe=v(pt,3);W(qt=>{vr(pt,qt),O(Xe,` ${l(Pe)??""}`)},[()=>l(ge).has(l(Pe))]),z("change",pt,()=>{x(ge,te(l(ge),l(Pe)),!0)}),D(Le,gt)});var Gi=v(ji,2),Z=v(m(Gi),2);ti(Z,17,()=>le,Ri,(Le,Pe)=>{var gt=KC(),pt=m(gt),Xe=v(pt,3);W(qt=>{vr(pt,qt),O(Xe,` ${l(Pe)??""}`)},[()=>l(ge).has(l(Pe))]),z("change",pt,()=>{x(ge,te(l(ge),l(Pe)),!0)}),D(Le,gt)});var Se=v(Gi,2),ot=m(Se);ti(ot,17,()=>re,Ri,(Le,Pe)=>{var gt=Iee(),pt=m(gt),Xe=v(pt,4),qt=m(Xe);W(rt=>{vr(pt,rt),O(qt,l(Pe))},[()=>l(ge).has(l(Pe))]),z("change",pt,()=>{x(ge,te(l(ge),l(Pe)),!0)}),D(Le,gt)});var Ye=v(kn,2),Wt=v(m(Ye),2),Jt=m(Wt),ht=m(Jt),Qe=v(m(ht),2),dt=v(Jt,2),di=m(dt),De=v(m(di),2),We=v(dt,2),Oi=m(We),on=v(m(Oi),2),Ki=v(We,2),ue=m(Ki),Ke=v(m(ue),2),Bt=v(Ye,2),zt=v(m(Bt),2),Fe=m(zt),Ve=m(Fe),Vt=v(m(Ve),2),Ut=v(Fe,2),Zt=m(Ut),Rt=v(m(Zt),2),V=v(Bt,2),ae=v(m(V),2),pe=m(ae),ve=m(pe),nt=v(m(ve),2),Ze=v(pe,2),Et=m(Ze),$=v(m(Et),2),q=m($);q.value=q.__value="";var R=v(q);R.value=R.__value="true";var G=v(R);G.value=G.__value="false";var Y=v(V,2),ie=v(m(Y),2),se=m(ie),fe=m(se),_e=v(m(fe),2),Ce=m(_e);Ce.value=Ce.__value="";var Oe=v(Ce);Oe.value=Oe.__value="true";var Re=v(Oe);Re.value=Re.__value="false";var tt=v(se,2),ei=m(tt),J=v(m(ei),2),he=m(J);he.value=he.__value="";var je=v(he);je.value=je.__value="true";var yt=v(je);yt.value=yt.__value="false",Ks(Ni,()=>l(f),Le=>x(f,Le)),Dt(ft,()=>l(g),Le=>x(g,Le)),Dt(Bi,()=>l(p),Le=>x(p,Le)),Dt(Cn,()=>l(C),Le=>x(C,Le)),Dt(Qe,()=>l(b),Le=>x(b,Le)),Dt(De,()=>l(T),Le=>x(T,Le)),Dt(on,()=>l(E),Le=>x(E,Le)),Dt(Ke,()=>l(w),Le=>x(w,Le)),Dt(Vt,()=>l(A),Le=>x(A,Le)),Dt(Rt,()=>l(I),Le=>x(I,Le)),Dt(nt,()=>l(M),Le=>x(M,Le)),Ks($,()=>l(P),Le=>x(P,Le)),Ks(_e,()=>l(j),Le=>x(j,Le)),Ks(J,()=>l(U),Le=>x(U,Le)),D(Ie,ye)};N(vt,Ie=>{l(t)&&Ie(li)})}W(()=>{Lt.disabled=l(n),O(et,l(n)?"Saving…":"Save"),St.disabled=l(a),O(be,l(a)?"Reloading…":"Apply & Reload")}),z("click",Lt,me),z("click",St,Me),D(o,Ne),eo()}uo(["click","change"]);var vl=F('<div class="err svelte-9auejo"> </div>'),Ree=F('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),Nee=F('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),Oee=F('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),Hee=F('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),Wee=F('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),zee=F('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),nA=F('<button class="btn-primary svelte-9auejo"> </button>'),Vee=F('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),jee=F('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),$ee=F('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),Uee=F('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),qee=F('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),Gee=F('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),Kee=F('<span class="file-name mono small svelte-9auejo"> </span>'),Zee=F('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),Xee=F('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),ZC=F("<option></option>"),Yee=F('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),Qee=F('<label class="svelte-9auejo">CA certificate (PEM)<textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),Jee=F('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),ete=F('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add trusted CA certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),tte=F('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function ite(o,e){Js(e,!0);let t=B(null),i=B(_i([])),n=B(""),s=B(""),r=B(!1),a=B(""),d=B(""),u=B(365),f=B(!1),g=B(""),p=B(null),C=B(!1),b=B(""),E=B(""),w=B(!1),A=B(""),I=B(""),T=B(""),M=B(!1),P=B(""),j=B(!1),U=B(!1),Q=B("pem"),oe=B(""),le=B(""),re=B(""),ce=B(""),ge=B(""),te=B(!1),de=B(!1),we=B(""),He=B(!1),me=B(""),Me=B(""),Ne=B(!1),Ee=B(""),it=B(_i([])),Lt=B(_i([])),et=B(!1),St=B("pem"),be=B(""),ke=B(!1),Je=B(""),ut=B(""),ct=B(_i([])),kt=B(!1),oi=B("");async function vi(){try{const[Fe,Ve]=await Promise.allSettled([oq(),lq()]);Fe.status==="fulfilled"&&x(t,Fe.value.server,!0),Ve.status==="fulfilled"&&x(i,Ve.value.certs,!0),x(n,"")}catch(Fe){x(n,Fe.message,!0)}}no(()=>{vi()});async function ri(){x(g,""),x(f,!0),x(p,null);try{const Fe=l(d).split(",").map(Vt=>Vt.trim()).filter(Boolean),Ve=await rq({cn:l(a),san:Fe,days:l(u)});x(p,{fingerprint:Ve.fingerprint,expires:Ve.expires},!0),await vi()}catch(Fe){x(g,Fe.message,!0)}finally{x(f,!1)}}async function vt(){x(A,""),x(w,!0),x(I,"");try{const Fe=l(E).split(",").map(Vt=>Vt.trim()).filter(Boolean),Ve=await aq({cn:l(b),san:Fe});x(I,Ve.csrPem,!0)}catch(Fe){x(A,Fe.message,!0)}finally{x(w,!1)}}async function li(){x(P,""),x(M,!0),x(j,!1);try{if(!l(T).trim())throw new Error("Paste the signed certificate PEM");await jC({cert:l(T)}),x(j,!0),await vi()}catch(Fe){x(P,Fe.message,!0)}finally{x(M,!1)}}function Ie(){navigator.clipboard.writeText(l(I)).catch(()=>{})}function ye(Fe){var Ut;const Ve=(Ut=Fe.target.files)==null?void 0:Ut[0];if(!Ve)return;x(ce,Ve.name,!0);const Vt=new FileReader;Vt.onload=()=>{const Zt=Vt.result;x(re,btoa(String.fromCharCode(...new Uint8Array(Zt))),!0)},Vt.readAsArrayBuffer(Ve)}async function Pt(){x(we,""),x(de,!0);try{if(l(Q)==="p12"){if(!l(re))throw new Error("Select a .p12 / .pfx file");await jC({p12base64:l(re),passphrase:l(ge)})}else{if(!l(oe).trim())throw new Error("Certificate PEM is required");await jC({cert:l(oe),key:l(le)||void 0})}x(U,!1),await vi()}catch(Fe){x(we,Fe.message,!0)}finally{x(de,!1)}}function ci(Fe){let Ve;return Vt=>{const Ut=Vt.target.value;clearTimeout(Ve),Ve=setTimeout(async()=>{if(!Ut.startsWith("/")||Ut.length<2){Fe([]);return}try{Fe((await uq(Ut)).suggestions)}catch{Fe([])}},280)}}const $t=ci(Fe=>{x(it,Fe,!0)}),Pi=ci(Fe=>{x(Lt,Fe,!0)}),Ni=ci(Fe=>{x(ct,Fe,!0)});async function ki(){x(Ee,""),x(Ne,!0);try{await hq({certPath:l(me),keyPath:l(Me)}),x(He,!1),await vi()}catch(Fe){x(Ee,Fe.message,!0)}finally{x(Ne,!1)}}async function nn(){x(Je,""),x(ke,!0);try{await cq(l(be)),x(be,""),x(et,!1),await vi()}catch(Fe){x(Je,Fe.message,!0)}finally{x(ke,!1)}}async function sn(){x(oi,""),x(kt,!0);try{await fq(l(ut)),x(ut,""),x(et,!1),await vi()}catch(Fe){x(oi,Fe.message,!0)}finally{x(kt,!1)}}async function pn(Fe){if(confirm("Remove this trusted CA cert?"))try{await dq(Fe),await vi()}catch(Ve){x(s,Ve.message,!0)}}function wn(Fe){const Ve=new Date(Fe).getTime()-Date.now();return Ve<0?"expired":Ve<30*864e5?"expiring":""}function ft(Fe){return new Date(Fe).toLocaleDateString()}var Qt=tte(),Ti=lt(Qt),Bi=m(Ti),bi=m(Bi),bn=v(Bi,2);{var Cn=Fe=>{var Ve=vl(),Vt=m(Ve);W(()=>O(Vt,l(n))),D(Fe,Ve)};N(bn,Fe=>{l(n)&&Fe(Cn)})}var kn=v(bn,2);{var $e=Fe=>{var Ve=vl(),Vt=m(Ve);W(()=>O(Vt,l(s))),D(Fe,Ve)};N(kn,Fe=>{l(s)&&Fe($e)})}var Yt=v(kn,2),Fi=m(Yt),fi=v(m(Fi),2),ji=v(fi,2),gi=v(ji,2),Gi=v(gi,2),Z=v(Fi,2);{var Se=Fe=>{var Ve=Ree(),Vt=m(Ve),Ut=v(m(Vt)),Zt=m(Ut),Rt=v(Ut,3),V=m(Rt),ae=v(Rt,3),pe=m(ae);W((ve,nt)=>{O(Zt,l(t).cn),O(V,l(t).fingerprint),At(ae,1,ve,"svelte-9auejo"),O(pe,nt)},[()=>yg(wn(l(t).expires)),()=>ft(l(t).expires)]),D(Fe,Ve)},ot=Fe=>{var Ve=Nee();D(Fe,Ve)};N(Z,Fe=>{l(t)?Fe(Se):Fe(ot,-1)})}var Ye=v(Yt,2),Wt=m(Ye),Jt=v(m(Wt),2),ht=v(Wt,2);{var Qe=Fe=>{var Ve=Oee();D(Fe,Ve)},dt=Fe=>{var Ve=Wee(),Vt=v(m(Ve));ti(Vt,21,()=>l(i),Ri,(Ut,Zt)=>{var Rt=Hee(),V=m(Rt),ae=m(V),pe=v(V),ve=m(pe),nt=v(pe),Ze=m(nt),Et=v(nt),$=m(Et);W((q,R,G)=>{O(ae,l(Zt).cn),O(ve,`${q??""}…`),At(nt,1,R,"svelte-9auejo"),O(Ze,G)},[()=>l(Zt).fingerprint.slice(0,29),()=>yg(wn(l(Zt).expires)),()=>ft(l(Zt).expires)]),z("click",$,()=>pn(l(Zt).fingerprint)),D(Ut,Rt)}),D(Fe,Ve)};N(ht,Fe=>{l(i).length===0?Fe(Qe):Fe(dt,-1)})}var di=v(Ti,2);{var De=Fe=>{var Ve=Vee(),Vt=m(Ve),Ut=v(m(Vt),2),Zt=v(m(Ut)),Rt=v(Ut,2),V=v(m(Rt)),ae=v(Rt,2),pe=v(m(ae)),ve=v(ae,2);{var nt=Y=>{var ie=vl(),se=m(ie);W(()=>O(se,l(g))),D(Y,ie)};N(ve,Y=>{l(g)&&Y(nt)})}var Ze=v(ve,2);{var Et=Y=>{var ie=zee(),se=v(m(ie),2),fe=v(m(se)),_e=m(fe),Ce=v(fe,2),Oe=m(Ce);W(Re=>{O(_e,l(p).fingerprint),O(Oe,Re)},[()=>ft(l(p).expires)]),D(Y,ie)};N(Ze,Y=>{l(p)&&Y(Et)})}var $=v(Ze,2),q=m($),R=v(q,2);{var G=Y=>{var ie=nA(),se=m(ie);W(()=>{ie.disabled=l(f),O(se,l(f)?"Generating…":"Generate")}),z("click",ie,ri),D(Y,ie)};N(R,Y=>{l(p)||Y(G)})}Dt(Zt,()=>l(a),Y=>x(a,Y)),Dt(V,()=>l(d),Y=>x(d,Y)),Dt(pe,()=>l(u),Y=>x(u,Y)),z("click",q,()=>x(r,!1)),D(Fe,Ve)};N(di,Fe=>{l(r)&&Fe(De)})}var We=v(di,2);{var Oi=Fe=>{var Ve=qee(),Vt=m(Ve),Ut=v(m(Vt),2);{var Zt=V=>{var ae=jee(),pe=lt(ae),ve=v(m(pe)),nt=v(pe,2),Ze=v(m(nt)),Et=v(nt,4);{var $=ie=>{var se=vl(),fe=m(se);W(()=>O(fe,l(A))),D(ie,se)};N(Et,ie=>{l(A)&&ie($)})}var q=v(Et,2),R=m(q),G=v(R,2),Y=m(G);W(()=>{G.disabled=l(w),O(Y,l(w)?"Generating…":"Generate key + CSR")}),Dt(ve,()=>l(b),ie=>x(b,ie)),Dt(Ze,()=>l(E),ie=>x(E,ie)),z("click",R,()=>x(C,!1)),z("click",G,vt),D(V,ae)},Rt=V=>{var ae=Uee(),pe=v(lt(ae),2),ve=v(m(pe)),nt=v(pe,2),Ze=m(nt),Et=v(Ze,2),$=v(nt,4),q=v(m($)),R=v($,2);{var G=Oe=>{var Re=vl(),tt=m(Re);W(()=>O(tt,l(P))),D(Oe,Re)};N(R,Oe=>{l(P)&&Oe(G)})}var Y=v(R,2);{var ie=Oe=>{var Re=$ee();D(Oe,Re)};N(Y,Oe=>{l(j)&&Oe(ie)})}var se=v(Y,2),fe=m(se),_e=v(fe,2);{var Ce=Oe=>{var Re=nA(),tt=m(Re);W(ei=>{Re.disabled=ei,O(tt,l(M)?"Uploading…":"Upload signed cert")},[()=>l(M)||!l(T).trim()]),z("click",Re,li),D(Oe,Re)};N(_e,Oe=>{l(j)||Oe(Ce)})}W(Oe=>{A1(ve,l(I)),fn(Et,"href",`data:application/pkcs10;charset=utf-8,${Oe??""}`)},[()=>encodeURIComponent(l(I))]),z("click",Ze,Ie),Dt(q,()=>l(T),Oe=>x(T,Oe)),z("click",fe,()=>x(C,!1)),D(V,ae)};N(Ut,V=>{l(I)?V(Rt,-1):V(Zt)})}D(Fe,Ve)};N(We,Fe=>{l(C)&&Fe(Oi)})}var on=v(We,2);{var Ki=Fe=>{var Ve=Xee(),Vt=m(Ve),Ut=v(m(Vt),2),Zt=m(Ut);let Rt;var V=v(Zt,2);let ae;var pe=v(Ut,2);{var ve=Y=>{var ie=Gee(),se=lt(ie),fe=v(m(se)),_e=v(se,2),Ce=v(m(_e));Dt(fe,()=>l(oe),Oe=>x(oe,Oe)),Dt(Ce,()=>l(le),Oe=>x(le,Oe)),D(Y,ie)},nt=Y=>{var ie=Zee(),se=lt(ie),fe=v(m(se)),_e=m(fe),Ce=v(_e,2);{var Oe=je=>{var yt=Kee(),Le=m(yt);W(()=>O(Le,l(ce))),D(je,yt)};N(Ce,je=>{l(ce)&&je(Oe)})}var Re=v(se,2),tt=v(m(Re)),ei=m(tt),J=v(ei,2),he=m(J);W(()=>{fn(ei,"type",l(te)?"text":"password"),O(he,l(te)?"Hide":"Show")}),z("change",_e,ye),Dt(ei,()=>l(ge),je=>x(ge,je)),z("click",J,()=>x(te,!l(te))),D(Y,ie)};N(pe,Y=>{l(Q)==="pem"?Y(ve):Y(nt,-1)})}var Ze=v(pe,2);{var Et=Y=>{var ie=vl(),se=m(ie);W(()=>O(se,l(we))),D(Y,ie)};N(Ze,Y=>{l(we)&&Y(Et)})}var $=v(Ze,2),q=m($),R=v(q,2),G=m(R);W(()=>{Rt=At(Zt,1,"svelte-9auejo",null,Rt,{active:l(Q)==="pem"}),ae=At(V,1,"svelte-9auejo",null,ae,{active:l(Q)==="p12"}),R.disabled=l(de),O(G,l(de)?"Importing…":"Import")}),z("click",Zt,()=>x(Q,"pem")),z("click",V,()=>x(Q,"p12")),z("click",q,()=>x(U,!1)),z("click",R,Pt),D(Fe,Ve)};N(on,Fe=>{l(U)&&Fe(Ki)})}var ue=v(on,2);{var Ke=Fe=>{var Ve=Yee(),Vt=m(Ve),Ut=v(m(Vt),4),Zt=v(m(Ut)),Rt=v(Zt,2);ti(Rt,21,()=>l(it),Ri,(R,G)=>{var Y=ZC(),ie={};W(()=>{ie!==(ie=l(G))&&(Y.value=(Y.__value=l(G))??"")}),D(R,Y)});var V=v(Ut,2),ae=v(m(V)),pe=v(ae,2);ti(pe,21,()=>l(Lt),Ri,(R,G)=>{var Y=ZC(),ie={};W(()=>{ie!==(ie=l(G))&&(Y.value=(Y.__value=l(G))??"")}),D(R,Y)});var ve=v(V,2);{var nt=R=>{var G=vl(),Y=m(G);W(()=>O(Y,l(Ee))),D(R,G)};N(ve,R=>{l(Ee)&&R(nt)})}var Ze=v(ve,2),Et=m(Ze),$=v(Et,2),q=m($);W(R=>{$.disabled=R,O(q,l(Ne)?"Installing…":"Install")},[()=>l(Ne)||!l(me).trim()||!l(Me).trim()]),z("input",Zt,$t),Dt(Zt,()=>l(me),R=>x(me,R)),z("input",ae,Pi),Dt(ae,()=>l(Me),R=>x(Me,R)),z("click",Et,()=>x(He,!1)),z("click",$,ki),D(Fe,Ve)};N(ue,Fe=>{l(He)&&Fe(Ke)})}var Bt=v(ue,2);{var zt=Fe=>{var Ve=ete(),Vt=m(Ve),Ut=v(m(Vt),2),Zt=m(Ut);let Rt;var V=v(Zt,2);let ae;var pe=v(Ut,2);{var ve=Ze=>{var Et=Qee(),$=lt(Et),q=v(m($)),R=v($,2);{var G=_e=>{var Ce=vl(),Oe=m(Ce);W(()=>O(Oe,l(Je))),D(_e,Ce)};N(R,_e=>{l(Je)&&_e(G)})}var Y=v(R,2),ie=m(Y),se=v(ie,2),fe=m(se);W(_e=>{se.disabled=_e,O(fe,l(ke)?"Adding…":"Add CA cert")},[()=>l(ke)||!l(be).trim()]),Dt(q,()=>l(be),_e=>x(be,_e)),z("click",ie,()=>x(et,!1)),z("click",se,nn),D(Ze,Et)},nt=Ze=>{var Et=Jee(),$=v(lt(Et),2),q=v(m($)),R=v(q,2);ti(R,21,()=>l(ct),Ri,(Ce,Oe)=>{var Re=ZC(),tt={};W(()=>{tt!==(tt=l(Oe))&&(Re.value=(Re.__value=l(Oe))??"")}),D(Ce,Re)});var G=v($,2);{var Y=Ce=>{var Oe=vl(),Re=m(Oe);W(()=>O(Re,l(oi))),D(Ce,Oe)};N(G,Ce=>{l(oi)&&Ce(Y)})}var ie=v(G,2),se=m(ie),fe=v(se,2),_e=m(fe);W(Ce=>{fe.disabled=Ce,O(_e,l(kt)?"Adding…":"Add CA cert")},[()=>l(kt)||!l(ut).trim()]),z("input",q,Ni),Dt(q,()=>l(ut),Ce=>x(ut,Ce)),z("click",se,()=>x(et,!1)),z("click",fe,sn),D(Ze,Et)};N(pe,Ze=>{l(St)==="pem"?Ze(ve):Ze(nt,-1)})}W(()=>{Rt=At(Zt,1,"svelte-9auejo",null,Rt,{active:l(St)==="pem"}),ae=At(V,1,"svelte-9auejo",null,ae,{active:l(St)==="path"})}),z("click",Zt,()=>x(St,"pem")),z("click",V,()=>x(St,"path")),D(Fe,Ve)};N(Bt,Fe=>{l(et)&&Fe(zt)})}z("click",bi,vi),z("click",fi,()=>{x(r,!0),x(g,""),x(p,null)}),z("click",ji,()=>{x(C,!0),x(A,""),x(I,""),x(T,""),x(j,!1),x(P,"")}),z("click",gi,()=>{x(U,!0),x(we,""),x(Q,"pem"),x(oe,""),x(le,""),x(re,""),x(ce,""),x(ge,""),x(te,!1)}),z("click",Gi,()=>{x(He,!0),x(Ee,""),x(me,""),x(Me,""),x(it,[],!0),x(Lt,[],!0)}),z("click",Jt,()=>{x(et,!0),x(Je,""),x(be,""),x(St,"pem"),x(oi,""),x(ut,""),x(ct,[],!0)}),D(o,Qt),eo()}uo(["click","change","input"]);var Xx=F('<div class="err svelte-17yczfe"> </div>'),nte=F('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),ste=F('<div class="checking svelte-17yczfe">Checking…</div>'),ote=F('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),rte=F('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),ate=F('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),lte=F('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),cte=F("<span> </span>"),dte=F('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host<input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port<input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user<input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key)<input class="svelte-17yczfe"/></label></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),ute=F('<div class="ok svelte-17yczfe">Saved.</div>'),hte=F('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function fte(o,e){Js(e,!0);let t=B(_i({})),i=B(""),n=B(!1),s=B(!1),r=B(""),a=B("~/.she/ssh/broker_id_ed25519"),d=B("local"),u=B(null),f=B(!1),g=B(""),p=B(""),C=B(!1),b=B(""),E=B(!1),w=B(""),A=B(_i({}));no(async()=>{try{const[ct,kt,oi]=await Promise.all([Gl(),Ob(),fetch("/she/broker/ssh/pubkey").then(ri=>ri.json()).catch(()=>({publicKey:null}))]);x(A,ct,!0),kt.sshKeyDefault&&x(a,kt.sshKeyDefault,!0);const vi=l(A).broker??{};x(t,vi.ssh??{},!0),l(t).port||(l(t).port=22),l(t).identityFile||(l(t).identityFile=l(a)),oi.publicKey&&x(p,oi.publicKey,!0),x(d,l(t).host?"ssh":"local",!0),l(d)==="local"&&I()}catch(ct){x(i,ct.message,!0)}});async function I(){x(f,!0),x(g,"");try{x(u,await SU(),!0)}catch(ct){x(g,ct.message??"Check failed",!0)}finally{x(f,!1)}}async function T(){x(n,!0),x(r,""),x(s,!1);try{const ct=l(A).broker??{},kt=l(d)==="local"?{...l(t),host:""}:l(t),oi={...l(A),broker:{...ct,ssh:kt}};await Ap(oi),x(s,!0),setTimeout(()=>x(s,!1),3e3)}catch(ct){x(r,ct.message,!0)}finally{x(n,!1)}}async function M(){x(C,!0),x(b,"");try{const ct=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),kt=await ct.json();if(!ct.ok)throw new Error(kt.error??ct.statusText);x(p,kt.publicKey,!0)}catch(ct){x(b,ct.message,!0)}finally{x(C,!1)}}async function P(){x(E,!0),x(w,"");try{const ct=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),kt=await ct.json();if(!ct.ok)throw new Error(kt.error??ct.statusText);x(w,kt.ok?"✓ Connection successful":"✗ "+(kt.error??"Failed"),!0)}catch(ct){x(w,"✗ "+ct.message)}finally{x(E,!1)}}function j(ct){navigator.clipboard.writeText(ct).catch(()=>{})}const U=Ft(()=>l(t).identityFile&&l(t).user&&l(t).host?`ssh-copy-id -i ${l(t).identityFile}.pub ${l(t).user}@${l(t).host}`:"");var Q=hte(),oe=m(Q);{var le=ct=>{var kt=Xx(),oi=m(kt);W(()=>O(oi,l(i))),D(ct,kt)};N(oe,ct=>{l(i)&&ct(le)})}var re=v(oe,2),ce=v(m(re),2),ge=m(ce);let te;var de=v(ge,2);let we;var He=v(ce,2),me=m(He),Me=v(re,2);{var Ne=ct=>{var kt=ote(),oi=v(m(kt),4);{var vi=ci=>{var $t=Xx(),Pi=m($t);W(()=>O(Pi,l(g))),D(ci,$t)};N(oi,ci=>{l(g)&&ci(vi)})}var ri=v(oi,2);{var vt=ci=>{var $t=nte(),Pi=m($t),Ni=m(Pi);let ki;var nn=m(Ni),sn=v(Ni,4);let pn;var wn=m(sn),ft=v(Pi,2),Qt=m(ft);let Ti;var Bi=m(Qt),bi=v(Qt,4);let bn;var Cn=m(bi);W(()=>{ki=At(Ni,1,"check-icon svelte-17yczfe",null,ki,{ok:l(u).mosquittoCtrl,fail:!l(u).mosquittoCtrl}),O(nn,l(u).mosquittoCtrl?"✓":"✗"),pn=At(sn,1,"check-note svelte-17yczfe",null,pn,{ok:l(u).mosquittoCtrl,fail:!l(u).mosquittoCtrl}),O(wn,l(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Ti=At(Qt,1,"check-icon svelte-17yczfe",null,Ti,{ok:l(u).mosquitto,fail:!l(u).mosquitto}),O(Bi,l(u).mosquitto?"✓":"✗"),bn=At(bi,1,"check-note svelte-17yczfe",null,bn,{ok:l(u).mosquitto,fail:!l(u).mosquitto}),O(Cn,l(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(ci,$t)},li=ci=>{var $t=ste();D(ci,$t)};N(ri,ci=>{l(u)?ci(vt):l(f)&&ci(li,1)})}var Ie=v(ri,2),ye=m(Ie),Pt=m(ye);W(()=>{ye.disabled=l(f),O(Pt,l(f)?"Checking…":l(u)?"Re-check":"Check tools")}),z("click",ye,I),D(ct,kt)};N(Me,ct=>{l(d)==="local"&&ct(Ne)})}var Ee=v(Me,2);{var it=ct=>{var kt=dte(),oi=lt(kt),vi=v(m(oi),4),ri=m(vi),vt=v(m(ri)),li=v(ri,2),Ie=v(m(li)),ye=v(li,2),Pt=v(m(ye)),ci=v(ye,2),$t=v(m(ci)),Pi=v(oi,2),Ni=v(m(Pi),2),ki=v(m(Ni)),nn=m(ki),sn=v(Ni,2);{var pn=$e=>{var Yt=ate(),Fi=lt(Yt),fi=v(m(Fi)),ji=m(fi),gi=v(ji,2),Gi=v(Fi,2);{var Z=Wt=>{var Jt=rte(),ht=v(m(Jt)),Qe=m(ht),dt=v(Qe,2);W(()=>A1(Qe,l(U))),z("click",dt,()=>j(l(U))),D(Wt,Jt)};N(Gi,Wt=>{l(U)&&Wt(Z)})}var Se=v(Gi,2),ot=m(Se),Ye=m(ot);W(()=>{A1(ji,l(p)),ot.disabled=l(C),O(Ye,l(C)?"Generating…":"Regenerate keypair")}),z("click",gi,()=>j(l(p))),z("click",ot,M),D($e,Yt)},wn=$e=>{var Yt=lte(),Fi=m(Yt),fi=m(Fi);W(()=>{Fi.disabled=l(C),O(fi,l(C)?"Generating…":"Generate keypair")}),z("click",Fi,M),D($e,Yt)};N(sn,$e=>{l(p)?$e(pn):$e(wn,-1)})}var ft=v(sn,2);{var Qt=$e=>{var Yt=Xx(),Fi=m(Yt);W(()=>O(Fi,l(b))),D($e,Yt)};N(ft,$e=>{l(b)&&$e(Qt)})}var Ti=v(Pi,2),Bi=v(m(Ti),2),bi=m(Bi),bn=m(bi),Cn=v(bi,2);{var kn=$e=>{var Yt=cte();let Fi;var fi=m(Yt);W(ji=>{Fi=At(Yt,1,"test-result svelte-17yczfe",null,Fi,ji),O(fi,l(w))},[()=>({ok:l(w).startsWith("✓"),fail:l(w).startsWith("✗")})]),D($e,Yt)};N(Cn,$e=>{l(w)&&$e(kn)})}W(()=>{fn($t,"placeholder",l(a)),O(nn,l(t).identityFile||l(a)),bi.disabled=l(E)||!l(t).host,O(bn,l(E)?"Testing…":"Test SSH connection")}),Dt(vt,()=>l(t).host,$e=>l(t).host=$e),Dt(Ie,()=>l(t).port,$e=>l(t).port=$e),Dt(Pt,()=>l(t).user,$e=>l(t).user=$e),Dt($t,()=>l(t).identityFile,$e=>l(t).identityFile=$e),z("click",bi,P),D(ct,kt)};N(Ee,ct=>{l(d)==="ssh"&&ct(it)})}var Lt=v(Ee,2);{var et=ct=>{var kt=Xx(),oi=m(kt);W(()=>O(oi,l(r))),D(ct,kt)};N(Lt,ct=>{l(r)&&ct(et)})}var St=v(Lt,2);{var be=ct=>{var kt=ute();D(ct,kt)};N(St,ct=>{l(s)&&ct(be)})}var ke=v(St,2),Je=m(ke),ut=m(Je);W(()=>{te=At(ge,1,"svelte-17yczfe",null,te,{active:l(d)==="local"}),we=At(de,1,"svelte-17yczfe",null,we,{active:l(d)==="ssh"}),O(me,l(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),Je.disabled=l(n),O(ut,l(n)?"Saving…":"Save")}),z("click",ge,()=>{x(d,"local"),l(u)||I()}),z("click",de,()=>x(d,"ssh")),z("click",Je,T),D(o,Q),eo()}uo(["click"]);var gte=F("<button> </button>"),pte=F('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply &amp; Reload</em>.</span>',1),xte=F('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),vte=F('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),mte=F('<div class="empty svelte-1yc29ow"><!></div>'),_te=F('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),bte=F('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function Cte(o,e){Js(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=B(_i([])),r=B(!0),a=B(_i(new Set(["D","I","N","W","E"]))),d=B(void 0),u=B(!1),f=B(null),g=null;no(async()=>{const le=await AU().catch(()=>[]),re=xq(),ce=new Set,ge=[...le,...re].filter(te=>n.has(te.level)).map(te=>({ts:te.ts,level:te.level,msg:te.msg}));ge.sort((te,de)=>te.ts-de.ts),x(s,ge.filter(te=>{const de=`${te.ts}\0${te.msg}`;return ce.has(de)?!1:(ce.add(de),!0)}).slice(-500),!0),l(s).length>0&&(x(u,!0),Dl().then(p)),g=mr("brokerLog",te=>{n.has(te.level)&&(x(u,!0),x(s,[...l(s).slice(-499),{ts:te.ts,level:te.level,msg:te.msg}],!0),l(r)&&Dl().then(p))}),ux().then(te=>{const de=te.managed.log_dest,we=Array.isArray(de)?de:de?[de]:[];x(f,we.includes("topic"),!0)}).catch(()=>{x(f,null)})}),B0(()=>{g==null||g()});function p(){l(d)&&(l(d).scrollTop=l(d).scrollHeight)}function C(le){const re=new Set(l(a));re.has(le)?re.delete(le):re.add(le),x(a,re,!0)}function b(){x(s,[],!0),x(u,!1)}let E=Ft(()=>l(s).filter(le=>l(a).has(le.level)));var w=bte(),A=m(w),I=m(A);ti(I,20,()=>["D","I","N","W","E"],Ri,(le,re)=>{var ce=gte();let ge;var te=m(ce);W(de=>{ge=At(ce,1,`lvl-btn ${i[re]??""}`,"svelte-1yc29ow",ge,de),fn(ce,"title",`Toggle ${re??""} messages`),O(te,t[re])},[()=>({active:l(a).has(re)})]),z("click",ce,()=>C(re)),D(le,ce)});var T=v(I,4),M=m(T),P=v(T,2),j=v(A,2),U=m(j);{var Q=le=>{var re=mte(),ce=m(re);{var ge=de=>{var we=Hs(),He=lt(we);{var me=Ee=>{var it=pte();D(Ee,it)},Me=Ee=>{var it=xte();D(Ee,it)},Ne=Ee=>{var it=vte();D(Ee,it)};N(He,Ee=>{l(f)===!1?Ee(me):l(f)===!0?Ee(Me,1):Ee(Ne,-1)})}D(de,we)},te=de=>{var we=mo("No messages match the current filter.");D(de,we)};N(ce,de=>{l(u)?de(te,-1):de(ge)})}D(le,re)},oe=le=>{var re=Hs(),ce=lt(re);ti(ce,17,()=>l(E),Ri,(ge,te)=>{var de=_te(),we=m(de),He=m(we),me=v(we,2),Me=m(me),Ne=v(me,2),Ee=m(Ne);W(it=>{O(He,it),At(me,1,`badge ${i[l(te).level]??""}`,"svelte-1yc29ow"),O(Me,t[l(te).level]),O(Ee,l(te).msg)},[()=>uS(l(te).ts)]),D(ge,de)}),D(le,re)};N(U,le=>{l(E).length===0?le(Q):le(oe,-1)})}Bs(j,le=>x(d,le),()=>l(d)),Os(M,()=>l(r),le=>x(r,le)),z("click",P,b),D(o,w),eo()}uo(["click"]);var Ete=F('<div class="err svelte-d31be1"> </div>'),yte=F('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),wte=F('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Ste=F('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),Dte=F('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Ate=F(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),kte=F('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),Bte=F('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),Fte=F('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function Lte(o,e){Js(e,!0);let t=B("intro"),i=B(""),n=B(!1),s=B("she-admin"),r=B(""),a=B("/etc/mosquitto"),d=B(null),u=B(!1),f=B(!1),g=B("she-admin"),p=B(""),C=B(!1);async function b(){x(n,!0),x(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?x(t,"done"):x(t,"config")}catch(te){x(i,te.message,!0)}finally{x(n,!1)}}async function E(){x(n,!0),x(i,"");try{const te=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:l(s),adminPassword:l(r)||void 0,configDir:l(a)})}),de=await te.json();if(!te.ok||!de.ok)throw new Error(de.error??"Bootstrap failed");x(d,de,!0);const we=await Gl(),He=we.broker??{};await Ap({...we,broker:{...He,dynsec:{adminUsername:de.adminUsername,adminPassword:de.adminPassword}}}),await PU().catch(()=>{}),x(t,"restart")}catch(te){x(i,te.message,!0)}finally{x(n,!1)}}async function w(){x(f,!0),x(i,"");try{await LU(),await new Promise(te=>setTimeout(te,2e3)),x(u,!0),x(t,"done")}catch(te){x(i,te.message,!0)}finally{x(f,!1)}}async function A(){x(C,!0),x(i,"");try{const te=await Gl(),de=te.broker??{};await Ap({...te,broker:{...de,dynsec:{adminUsername:l(g),adminPassword:l(p)}}}),x(t,"done")}catch(te){x(i,te.message,!0)}finally{x(C,!1)}}var I=Fte(),T=m(I),M=v(m(T),2),P=v(T,2);{var j=te=>{var de=Ete(),we=m(de);W(()=>O(we,l(i))),D(te,de)};N(P,te=>{l(i)&&te(j)})}var U=v(P,2);{var Q=te=>{var de=yte(),we=v(m(de),6),He=m(we);W(()=>He.disabled=l(n)),z("click",He,()=>{x(t,"probe"),b()}),D(te,de)},oe=te=>{var de=wte(),we=m(de),He=m(we);W(()=>O(He,l(n)?"Probing dynsec…":"Checking dynsec status…")),D(te,de)},le=te=>{var de=Ste(),we=v(m(de),2),He=v(m(we)),me=v(we,2),Me=v(m(me)),Ne=v(me,2),Ee=v(m(Ne)),it=v(Ne,2),Lt=m(it),et=m(Lt);W(()=>{Lt.disabled=l(n)||!l(s),O(et,l(n)?"Bootstrapping…":"Bootstrap dynsec")}),Dt(He,()=>l(s),St=>x(s,St)),Dt(Me,()=>l(r),St=>x(r,St)),Dt(Ee,()=>l(a),St=>x(a,St)),z("click",Lt,E),D(te,de)},re=te=>{var de=Ate(),we=v(m(de),2),He=v(m(we),3),me=m(He),Me=v(we,4),Ne=m(Me),Ee=m(Ne),it=v(Ne,2),Lt=v(Me,2);{var et=St=>{var be=Dte();D(St,be)};N(Lt,St=>{l(f)&&St(et)})}W(()=>{O(me,l(d).confFilePath),Ne.disabled=l(f),O(Ee,l(f)?"Restarting…":"Restart mosquitto now")}),z("click",Ne,w),z("click",it,()=>{x(t,"done")}),D(te,de)},ce=te=>{var de=kte(),we=v(m(de),4),He=m(we);z("click",He,function(...me){var Me;(Me=e.onDone)==null||Me.apply(this,me)}),D(te,de)},ge=te=>{var de=Bte(),we=v(m(de),2),He=v(m(we)),me=v(we,2),Me=v(m(me)),Ne=v(me,2),Ee=m(Ne),it=v(Ee,2),Lt=m(it);W(()=>{it.disabled=l(C)||!l(g)||!l(p),O(Lt,l(C)?"Saving…":"Save credentials")}),Dt(He,()=>l(g),et=>x(g,et)),Dt(Me,()=>l(p),et=>x(p,et)),z("click",Ee,()=>x(t,"intro")),z("click",it,A),D(te,de)};N(U,te=>{l(t)==="intro"?te(Q):l(t)==="probe"?te(oe,1):l(t)==="config"?te(le,2):l(t)==="restart"&&l(d)?te(re,3):l(t)==="done"?te(ce,4):l(t)==="manual"&&te(ge,5)})}z("click",M,()=>x(t,"manual")),D(o,I),eo()}uo(["click"]);var sA=F('<div class="err svelte-bwar3a"> </div>'),Ite=F('<div class="ok svelte-bwar3a">Saved.</div>'),Pte=F('<div class="reload-msg svelte-bwar3a"> </div>'),Tte=F('<div class="loading svelte-bwar3a">Loading…</div>'),Mte=F('<li class="svelte-bwar3a"><span class="backup-name svelte-bwar3a"> </span> <button class="btn-restore svelte-bwar3a"> </button></li>'),Rte=F('<div class="backups-section svelte-bwar3a"><div class="backups-header svelte-bwar3a"><span class="backups-title svelte-bwar3a">Backups</span> <button class="btn-refresh svelte-bwar3a" title="Refresh backup list">↻</button></div> <ul class="backup-list svelte-bwar3a"></ul></div>'),Nte=F('<div class="advanced-page svelte-bwar3a"><div class="page-header svelte-bwar3a"><h3 class="svelte-bwar3a">Advanced — mosquitto.conf</h3> <div class="header-actions svelte-bwar3a"><button class="btn-save svelte-bwar3a"> </button> <button class="svelte-bwar3a"> </button></div></div> <!> <!> <!> <!> <div class="editor-wrap svelte-bwar3a"><!></div> <!></div> <!>',1);function Ote(o,e){Js(e,!0);let t=B(""),i=B(null),n=B(_i([])),s=B(!0),r=B(""),a=B(!1),d=B(""),u=B(!1),f=B(!1),g=B(""),p=B(""),C;no(()=>{b()});async function b(){x(s,!0),x(r,"");try{const ke=await ux();x(t,ke.raw??"",!0),x(i,ke.checksum,!0),x(n,ke.backups??[],!0)}catch(ke){x(r,ke.message??"Failed to load config",!0)}finally{x(s,!1)}}async function E(){var ke;x(a,!0),x(d,""),x(u,!1);try{await kU(l(t),l(i)),x(u,!0),await b(),x(u,!0)}catch(Je){(ke=Je.message)!=null&&ke.includes("external_modify")||Je.status===409?x(d,"mosquitto.conf was modified externally since last read. Reload first."):x(d,Je.message??"Save failed",!0)}finally{x(a,!1)}}async function w(){x(f,!0),x(g,"");try{const ke=await Hb();x(g,ke.stderr||ke.stdout||"Reloaded",!0)}catch(ke){x(g,"Error: "+(ke.message??"reload failed"))}finally{x(f,!1)}}async function A(ke){if(await C.show(`Restore backup "${ke}"? Current mosquitto.conf will be overwritten.`,{confirm:"Restore",danger:!0})){x(p,ke,!0),x(d,"");try{await FU(ke),await b()}catch(Je){x(d,Je.message??"Restore failed",!0)}finally{x(p,"")}}}async function I(){try{const ke=await BU();x(n,ke.backups,!0)}catch{}}function T(ke){const Je=ke.match(/\.bak-(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})/);return Je?`${Je[1]}-${Je[2]}-${Je[3]} ${Je[4]}:${Je[5]}:${Je[6]}`:ke}var M=Nte(),P=lt(M),j=m(P),U=v(m(j),2),Q=m(U),oe=m(Q),le=v(Q,2),re=m(le),ce=v(j,2);{var ge=ke=>{var Je=sA(),ut=m(Je);W(()=>O(ut,l(r))),D(ke,Je)};N(ce,ke=>{l(r)&&ke(ge)})}var te=v(ce,2);{var de=ke=>{var Je=sA(),ut=m(Je);W(()=>O(ut,l(d))),D(ke,Je)};N(te,ke=>{l(d)&&ke(de)})}var we=v(te,2);{var He=ke=>{var Je=Ite();D(ke,Je)};N(we,ke=>{l(u)&&ke(He)})}var me=v(we,2);{var Me=ke=>{var Je=Pte(),ut=m(Je);W(()=>O(ut,l(g))),D(ke,Je)};N(me,ke=>{l(g)&&ke(Me)})}var Ne=v(me,2),Ee=m(Ne);{var it=ke=>{var Je=Tte();D(ke,Je)},Lt=ke=>{Mg(ke,{language:"ini",onSave:E,get value(){return l(t)},set value(Je){x(t,Je,!0)}})};N(Ee,ke=>{l(s)?ke(it):ke(Lt,-1)})}var et=v(Ne,2);{var St=ke=>{var Je=Rte(),ut=m(Je),ct=v(m(ut),2),kt=v(ut,2);ti(kt,21,()=>l(n),Ri,(oi,vi)=>{var ri=Mte(),vt=m(ri),li=m(vt),Ie=v(vt,2),ye=m(Ie);W(Pt=>{O(li,Pt),Ie.disabled=l(p)===l(vi),O(ye,l(p)===l(vi)?"Restoring…":"Restore")},[()=>T(l(vi))]),z("click",Ie,()=>A(l(vi))),D(oi,ri)}),z("click",ct,I),D(ke,Je)};N(et,ke=>{l(n).length>0&&ke(St)})}var be=v(P,2);Bs(hl(be,{}),ke=>C=ke,()=>C),W(()=>{Q.disabled=l(a)||l(s),O(oe,l(a)?"Saving…":"Save"),le.disabled=l(f),O(re,l(f)?"Reloading…":"Apply & Reload")}),z("click",Q,E),z("click",le,w),D(o,M),eo()}uo(["click"]);var Hte=F('<div class="reload-msg svelte-1q1ovna"> </div>'),XC=F('<div class="err svelte-1q1ovna"> </div>'),oA=F('<div class="ok svelte-1q1ovna"> </div>'),rA=F('<div class="loading svelte-1q1ovna">Loading…</div>'),Wte=F('<span class="inline-err svelte-1q1ovna"> </span>'),zte=F('<div class="change-form svelte-1q1ovna"><input type="password" placeholder="New password" autocomplete="new-password" class="svelte-1q1ovna"/> <input type="password" placeholder="Confirm password" autocomplete="new-password" class="svelte-1q1ovna"/> <!> <button class="svelte-1q1ovna"> </button> <button class="svelte-1q1ovna">Cancel</button></div>'),Vte=F('<button class="svelte-1q1ovna">Change password</button> <button class="btn-danger svelte-1q1ovna"> </button>',1),jte=F('<tr><td class="user-name svelte-1q1ovna"> </td><td class="user-actions svelte-1q1ovna"><!></td></tr>'),$te=F('<table class="user-table svelte-1q1ovna"><thead><tr><th class="svelte-1q1ovna">Username</th><th class="svelte-1q1ovna"></th></tr></thead><tbody></tbody></table>'),Ute=F('<p class="empty svelte-1q1ovna">No users found — file may not exist yet.</p>'),qte=F('<!> <div class="add-form svelte-1q1ovna"><span class="add-title svelte-1q1ovna">Add user</span> <div class="add-fields svelte-1q1ovna"><input placeholder="Username" autocomplete="off" class="svelte-1q1ovna"/> <input type="password" placeholder="Password" autocomplete="new-password" class="svelte-1q1ovna"/> <input type="password" placeholder="Confirm password" autocomplete="new-password" class="svelte-1q1ovna"/> <button class="btn-add svelte-1q1ovna"> </button></div> <!></div>',1),Gte=F(`<div class="passwd-page svelte-1q1ovna"><section class="card svelte-1q1ovna"><div class="card-header svelte-1q1ovna"><h4 class="svelte-1q1ovna">Password File</h4> <div class="header-actions svelte-1q1ovna"><button class="svelte-1q1ovna"> </button></div></div> <div class="file-row svelte-1q1ovna"><label class="file-label svelte-1q1ovna"><span class="svelte-1q1ovna">File path</span> <input placeholder="/etc/mosquitto/passwd" class="svelte-1q1ovna"/></label> <button class="svelte-1q1ovna">↻</button></div> <!> <!> <!> <!></section> <section class="card acl-card svelte-1q1ovna"><div class="card-header svelte-1q1ovna"><h4 class="svelte-1q1ovna">ACL File</h4> <div class="header-actions svelte-1q1ovna"><button class="btn-save svelte-1q1ovna"> </button></div></div> <div class="file-row svelte-1q1ovna"><label class="file-label svelte-1q1ovna"><span class="svelte-1q1ovna">File path</span> <input placeholder="/etc/mosquitto/acl" class="svelte-1q1ovna"/></label> <button class="svelte-1q1ovna">↻</button></div> <!> <!> <div class="acl-editor-wrap svelte-1q1ovna"><!></div> <p class="hint svelte-1q1ovna">Static ACL file format: <code class="svelte-1q1ovna">user &lt;username&gt;</code> followed by <code class="svelte-1q1ovna">topic [read|write|readwrite] &lt;pattern&gt;</code>.
233
+ Requires <code class="svelte-1q1ovna">acl_file</code> set in mosquitto.conf and no dynsec plugin.
234
+ After saving, click <strong>Apply &amp; Reload</strong> above to activate changes.</p></section></div> <!>`,1);function Kte(o,e){Js(e,!0);let t=B("/etc/mosquitto/passwd"),i=B(_i([])),n=B(!1),s=B(""),r=B(""),a=B(""),d=B(""),u=B(""),f=B(!1),g=B(""),p=B(null),C=B(""),b=B(""),E=B(!1),w=B(""),A=B(null),I=B("/etc/mosquitto/acl"),T=B(""),M=B(!1),P=B(""),j=B(""),U=B(!1),Q=B(!1),oe=B(""),le;no(async()=>{try{const $e=await ux(),Yt=$e.listeners.find(fi=>fi.password_file);Yt!=null&&Yt.password_file&&x(t,Yt.password_file,!0);const Fi=$e.listeners.find(fi=>fi.acl_file);Fi!=null&&Fi.acl_file&&x(I,Fi.acl_file,!0),!(Yt!=null&&Yt.password_file)&&$e.managed.password_file&&x(t,String($e.managed.password_file),!0),!(Fi!=null&&Fi.acl_file)&&$e.managed.acl_file&&x(I,String($e.managed.acl_file),!0)}catch{}await re(),await we()});async function re(){if(l(t)){x(n,!0),x(s,""),x(r,"");try{const $e=await MU(l(t));x(i,$e.users,!0)}catch($e){x(s,$e.message??"Failed to load password file",!0)}finally{x(n,!1)}}}async function ce(){if(!l(a).trim()){x(g,"Username required");return}if(!l(d)){x(g,"Password required");return}if(l(d)!==l(u)){x(g,"Passwords do not match");return}x(f,!0),x(g,""),x(r,"");try{await x2(l(t),l(a).trim(),l(d)),x(a,""),x(d,""),x(u,""),x(r,"User added."),await re()}catch($e){x(g,$e.message??"Failed to add user",!0)}finally{x(f,!1)}}async function ge($e){x(p,$e,!0),x(C,""),x(b,""),x(w,"")}async function te(){if(!l(C)){x(w,"Password required");return}if(l(C)!==l(b)){x(w,"Passwords do not match");return}x(E,!0),x(w,""),x(r,"");try{await x2(l(t),l(p),l(C)),x(p,null),x(r,"Password updated.")}catch($e){x(w,$e.message??"Failed to change password",!0)}finally{x(E,!1)}}async function de($e){if(await le.show(`Delete user "${$e}" from ${l(t)}?`,{confirm:"Delete",danger:!0})){x(A,$e,!0),x(s,""),x(r,"");try{await RU(l(t),$e),x(r,`User "${$e}" deleted.`),await re()}catch(Yt){x(s,Yt.message??"Delete failed",!0)}finally{x(A,null)}}}async function we(){if(l(I)){x(M,!0),x(P,""),x(j,"");try{const $e=await NU(l(I));x(T,$e.content,!0)}catch($e){x(P,$e.message??"Failed to load ACL file",!0)}finally{x(M,!1)}}}async function He(){x(U,!0),x(P,""),x(j,"");try{await OU(l(I),l(T)),x(j,"ACL file saved.")}catch($e){x(P,$e.message??"Save failed",!0)}finally{x(U,!1)}}async function me(){x(Q,!0),x(oe,"");try{const $e=await Hb();x(oe,$e.stderr||$e.stdout||"Reloaded",!0)}catch($e){x(oe,"Error: "+($e.message??"reload failed"))}finally{x(Q,!1)}}var Me=Gte(),Ne=lt(Me),Ee=m(Ne),it=m(Ee),Lt=v(m(it),2),et=m(Lt),St=m(et),be=v(it,2),ke=m(be),Je=v(m(ke),2),ut=v(ke,2),ct=v(be,2);{var kt=$e=>{var Yt=Hte(),Fi=m(Yt);W(()=>O(Fi,l(oe))),D($e,Yt)};N(ct,$e=>{l(oe)&&$e(kt)})}var oi=v(ct,2);{var vi=$e=>{var Yt=XC(),Fi=m(Yt);W(()=>O(Fi,l(s))),D($e,Yt)};N(oi,$e=>{l(s)&&$e(vi)})}var ri=v(oi,2);{var vt=$e=>{var Yt=oA(),Fi=m(Yt);W(()=>O(Fi,l(r))),D($e,Yt)};N(ri,$e=>{l(r)&&$e(vt)})}var li=v(ri,2);{var Ie=$e=>{var Yt=rA();D($e,Yt)},ye=$e=>{var Yt=qte(),Fi=lt(Yt);{var fi=Qe=>{var dt=$te(),di=v(m(dt));ti(di,21,()=>l(i),Ri,(De,We)=>{var Oi=jte(),on=m(Oi),Ki=m(on),ue=v(on),Ke=m(ue);{var Bt=Fe=>{var Ve=zte(),Vt=m(Ve),Ut=v(Vt,2),Zt=v(Ut,2);{var Rt=ve=>{var nt=Wte(),Ze=m(nt);W(()=>O(Ze,l(w))),D(ve,nt)};N(Zt,ve=>{l(w)&&ve(Rt)})}var V=v(Zt,2),ae=m(V),pe=v(V,2);W(()=>{V.disabled=l(E),O(ae,l(E)?"…":"Save")}),Dt(Vt,()=>l(C),ve=>x(C,ve)),Dt(Ut,()=>l(b),ve=>x(b,ve)),z("click",V,te),z("click",pe,()=>x(p,null)),D(Fe,Ve)},zt=Fe=>{var Ve=Vte(),Vt=lt(Ve),Ut=v(Vt,2),Zt=m(Ut);W(()=>{Ut.disabled=l(A)===l(We),O(Zt,l(A)===l(We)?"…":"Delete")}),z("click",Vt,()=>ge(l(We))),z("click",Ut,()=>de(l(We))),D(Fe,Ve)};N(Ke,Fe=>{l(p)===l(We)?Fe(Bt):Fe(zt,-1)})}W(()=>O(Ki,l(We))),D(De,Oi)}),D(Qe,dt)},ji=Qe=>{var dt=Ute();D(Qe,dt)};N(Fi,Qe=>{l(i).length>0?Qe(fi):l(s)||Qe(ji,1)})}var gi=v(Fi,2),Gi=v(m(gi),2),Z=m(Gi),Se=v(Z,2),ot=v(Se,2),Ye=v(ot,2),Wt=m(Ye),Jt=v(Gi,2);{var ht=Qe=>{var dt=XC(),di=m(dt);W(()=>O(di,l(g))),D(Qe,dt)};N(Jt,Qe=>{l(g)&&Qe(ht)})}W(()=>{Ye.disabled=l(f),O(Wt,l(f)?"Adding…":"Add")}),Dt(Z,()=>l(a),Qe=>x(a,Qe)),Dt(Se,()=>l(d),Qe=>x(d,Qe)),Dt(ot,()=>l(u),Qe=>x(u,Qe)),z("click",Ye,ce),D($e,Yt)};N(li,$e=>{l(n)?$e(Ie):$e(ye,-1)})}var Pt=v(Ee,2),ci=m(Pt),$t=v(m(ci),2),Pi=m($t),Ni=m(Pi),ki=v(ci,2),nn=m(ki),sn=v(m(nn),2),pn=v(nn,2),wn=v(ki,2);{var ft=$e=>{var Yt=XC(),Fi=m(Yt);W(()=>O(Fi,l(P))),D($e,Yt)};N(wn,$e=>{l(P)&&$e(ft)})}var Qt=v(wn,2);{var Ti=$e=>{var Yt=oA(),Fi=m(Yt);W(()=>O(Fi,l(j))),D($e,Yt)};N(Qt,$e=>{l(j)&&$e(Ti)})}var Bi=v(Qt,2),bi=m(Bi);{var bn=$e=>{var Yt=rA();D($e,Yt)},Cn=$e=>{Mg($e,{language:"plaintext",onSave:He,get value(){return l(T)},set value(Yt){x(T,Yt,!0)}})};N(bi,$e=>{l(M)?$e(bn):$e(Cn,-1)})}var kn=v(Ne,2);Bs(hl(kn,{}),$e=>le=$e,()=>le),W(()=>{et.disabled=l(Q),O(St,l(Q)?"Reloading…":"Apply & Reload"),ut.disabled=l(n),Pi.disabled=l(U),O(Ni,l(U)?"Saving…":"Save"),pn.disabled=l(M)}),z("click",et,me),z("change",Je,re),Dt(Je,()=>l(t),$e=>x(t,$e)),z("click",ut,re),z("click",Pi,He),z("change",sn,we),Dt(sn,()=>l(I),$e=>x(I,$e)),z("click",pn,we),D(o,Me),eo()}uo(["click","change"]);var Zte=F('<div class="loading svelte-zuhcpo">Loading…</div>'),Xte=F('<div class="error-banner svelte-zuhcpo"> </div>'),Yte=F('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),Qte=F('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),Jte=F('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),eie=F('<div class="error-inline svelte-zuhcpo"> </div>'),tie=F('<button class="diag-btn svelte-zuhcpo"> </button>'),aA=F('<p class="diag-issue svelte-zuhcpo"> </p>'),iie=F('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),nie=F('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),sie=F('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),oie=F('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),rie=F('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),aie=F('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),lie=F('<div style="margin-top: 20px;"><!></div>'),cie=F('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),die=F('<div class="tab-content svelte-zuhcpo"><!></div>'),uie=F('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Advanced</button> <button>Auth Files</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function hie(o,e){Js(e,!0);let t=B(!1),i,n=B(!1),s=B(""),r=B(!1),a=B(null);const d="she-broker-tab";let u=B(_i(localStorage.getItem(d)??"status"));vs(()=>{localStorage.setItem(d,l(u))});let f=B(null),g=B(""),p=B(!0);async function C(){try{x(f,await Ob(),!0),x(g,"")}catch(vt){x(g,vt.message??"Failed to load broker status",!0)}finally{x(p,!1)}}no(()=>{C();const vt=setInterval(C,1e4);return()=>clearInterval(vt)});async function b(){x(r,!0),x(a,null);try{x(a,await TU(),!0)}catch(vt){x(a,{ok:!1,dynSecPath:"",issues:[vt.message??"Diagnose request failed"]},!0)}finally{x(r,!1)}}async function E(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){x(n,!0),x(s,"");try{await IU(),await C()}catch(vt){x(s,vt.message??"Deactivate failed",!0)}finally{x(n,!1)}}}function w(vt){var Ie;if(!((Ie=l(f))!=null&&Ie.sys))return"—";const li=l(f).sys[vt];return li?String(li.val??"—"):"—"}function A(vt){if(vt==="—")return vt;const li=vt.match(/^(\d+)/),Ie=li?parseInt(li[1]):NaN;if(isNaN(Ie))return vt;const ye=Math.floor(Ie/86400),Pt=Math.floor(Ie%86400/3600),ci=Math.floor(Ie%3600/60),$t=Ie%60,Pi=Ni=>String(Ni).padStart(2,"0");return ye>0?`${ye}d ${Pi(Pt)}:${Pi(ci)}:${Pi($t)}`:`${Pi(Pt)}:${Pi(ci)}:${Pi($t)}`}function I(vt){if(vt==="—")return vt;const li=parseInt(vt);return isNaN(li)?vt:li<1024?`${li} B`:li<1048576?`${(li/1024).toFixed(1)} KB`:li<1073741824?`${(li/1048576).toFixed(1)} MB`:`${(li/1073741824).toFixed(1)} GB`}var T=uie(),M=lt(T),P=m(M),j=m(P);let U;var Q=v(j,2);let oe;var le=v(Q,2);let re;var ce=v(le,2);let ge;var te=v(ce,2);let de;var we=v(te,2);let He;var me=v(we,2);let Me;var Ne=v(me,2);let Ee;var it=v(Ne,2);let Lt;var et=v(P,2);{var St=vt=>{var li=die(),Ie=m(li);{var ye=$t=>{var Pi=Zte();D($t,Pi)},Pt=$t=>{var Pi=Xte(),Ni=m(Pi);W(()=>O(Ni,l(g))),D($t,Pi)},ci=$t=>{var Pi=cie(),Ni=lt(Pi),ki=m(Ni),nn=m(ki),sn=v(m(nn),4),pn=m(sn),wn=v(nn,2);{var ft=fi=>{var ji=Yte(),gi=m(ji);let Gi;var Z=v(gi,4);let Se;var ot=m(Z);{var Ye=dt=>{var di=mo("plugin active");D(dt,di)},Wt=dt=>{var di=mo("connected — plugin not responding");D(dt,di)},Jt=dt=>{var di=mo("disconnected");D(dt,di)};N(ot,dt=>{l(f).dynsec.dynsecReady?dt(Ye):l(f).dynsec.connected?dt(Wt,1):dt(Jt,-1)})}var ht=v(Z,2),Qe=m(ht);W(()=>{Gi=At(gi,1,"dot svelte-zuhcpo",null,Gi,{ok:l(f).dynsec.dynsecReady,warn:l(f).dynsec.connected&&!l(f).dynsec.dynsecReady,"dot-err":!l(f).dynsec.connected}),Se=At(Z,1,"conn-detail svelte-zuhcpo",null,Se,{ok:l(f).dynsec.dynsecReady,warn:l(f).dynsec.connected&&!l(f).dynsec.dynsecReady,err:!l(f).dynsec.connected}),ht.disabled=l(n),O(Qe,l(n)?"…":"deactivate")}),z("click",ht,E),D(fi,ji)},Qt=fi=>{var ji=Jte(),gi=v(m(ji),6);{var Gi=Z=>{var Se=Qte();z("click",Se,()=>x(t,!0)),D(Z,Se)};N(gi,Z=>{l(t)||Z(Gi)})}D(fi,ji)};N(wn,fi=>{l(f).dynsec.configured?fi(ft):fi(Qt,-1)})}var Ti=v(wn,2);{var Bi=fi=>{var ji=eie(),gi=m(ji);W(()=>O(gi,l(s))),D(fi,ji)};N(Ti,fi=>{l(s)&&fi(Bi)})}var bi=v(ki,2);{var bn=fi=>{var ji=rie(),gi=m(ji);{var Gi=Ye=>{var Wt=tie(),Jt=m(Wt);W(()=>{Wt.disabled=l(r),O(Jt,l(r)?"Running diagnostics…":"Run diagnostics")}),z("click",Wt,b),D(Ye,Wt)},Z=Ye=>{var Wt=sie(),Jt=lt(Wt);let ht;var Qe=m(Jt);{var dt=Oi=>{var on=aA(),Ki=m(on);W(()=>O(Ki,`⚠ ${l(a).error??""}`)),D(Oi,on)},di=Oi=>{var on=nie(),Ki=lt(on),ue=v(m(Ki)),Ke=m(ue),Bt=v(Ki,2),zt=v(m(Bt)),Fe=m(zt),Ve=v(Bt,2),Vt=v(m(Ve)),Ut=m(Vt),Zt=v(Ve,2),Rt=v(m(Zt)),V=m(Rt),ae=v(Zt,2);ti(ae,17,()=>l(a).issues,Ri,(nt,Ze)=>{var Et=aA(),$=m(Et);W(()=>O($,`⚠ ${l(Ze)??""}`)),D(nt,Et)});var pe=v(ae,2);{var ve=nt=>{var Ze=iie();D(nt,Ze)};N(pe,nt=>{l(a).ok&&nt(ve)})}W(()=>{O(Ke,l(a).dynSecPath),At(zt,1,yg(l(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),O(Fe,l(a).adminClientExists?"✓ yes":"✗ no"),At(Vt,1,yg(l(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),O(Ut,l(a).hasAdminRole?"✓ yes":"✗ no"),At(Rt,1,yg(l(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),O(V,l(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(Oi,on)};N(Qe,Oi=>{l(a).error?Oi(dt):Oi(di,-1)})}var De=v(Jt,2),We=m(De);W(()=>{ht=At(Jt,1,"diag-card svelte-zuhcpo",null,ht,{"diag-ok":l(a).ok,"diag-fail":!l(a).ok}),De.disabled=l(r),O(We,l(r)?"Running…":"Re-run")}),z("click",De,b),D(Ye,Wt)};N(gi,Ye=>{l(a)?Ye(Z,-1):Ye(Gi)})}var Se=v(gi,2);{var ot=Ye=>{var Wt=oie();z("click",Wt,()=>x(t,!0)),D(Ye,Wt)};N(Se,Ye=>{l(t)||Ye(ot)})}D(fi,ji)};N(bi,fi=>{l(f).dynsec.configured&&l(f).dynsec.connected&&!l(f).dynsec.dynsecReady&&fi(bn)})}var Cn=v(bi,2);{var kn=fi=>{var ji=aie(),gi=m(ji),Gi=v(m(gi)),Z=m(Gi),Se=v(Gi,3),ot=m(Se),Ye=v(Se,3),Wt=m(Ye),Jt=v(Ye,3),ht=m(Jt),Qe=v(Jt,3),dt=m(Qe),di=v(Qe,3),De=m(di);W((We,Oi,on,Ki,ue,Ke,Bt,zt,Fe,Ve,Vt,Ut)=>{O(Z,We),O(ot,Oi),O(Wt,`${on??""} connected · ${Ki??""} max · ${ue??""} total`),O(ht,`${Ke??""} rcv · ${Bt??""} sent · ${zt??""} stored`),O(dt,`${Fe??""} retained · ${Ve??""} subscriptions`),O(De,`${Vt??""} in · ${Ut??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>I(w("$SYS/broker/bytes/received")),()=>I(w("$SYS/broker/bytes/sent"))]),D(fi,ji)},$e=Ft(()=>Object.keys(l(f).sys).length>0);N(Cn,fi=>{l($e)&&fi(kn)})}var Yt=v(Ni,2);{var Fi=fi=>{var ji=lie(),gi=m(ji);Lte(gi,{onDone:()=>{x(t,!1),C()}}),D(fi,ji)};N(Yt,fi=>{l(t)&&(!l(f).dynsec.configured||!l(f).dynsec.dynsecReady)&&fi(Fi)})}W(()=>O(pn,l(f).sshConfigured?`ssh — ${l(f).sshHost}`:"local")),D($t,Pi)};N(Ie,$t=>{l(p)?$t(ye):l(g)?$t(Pt,1):l(f)&&$t(ci,2)})}D(vt,li)},be=vt=>{{let li=Ft(()=>{var Ie;return((Ie=l(f))==null?void 0:Ie.dynsec.dynsecReady)??!1});pee(vt,{get dynsecReady(){return l(li)}})}},ke=vt=>{Mee(vt,{})},Je=vt=>{Ote(vt,{})},ut=vt=>{Kte(vt,{})},ct=vt=>{Bee(vt,{})},kt=vt=>{ite(vt,{})},oi=vt=>{fte(vt,{})},vi=vt=>{Cte(vt,{})};N(et,vt=>{l(u)==="status"?vt(St):l(u)==="users"?vt(be,1):l(u)==="brokerconfig"?vt(ke,2):l(u)==="advanced"?vt(Je,3):l(u)==="passwd"?vt(ut,4):l(u)==="listeners"?vt(ct,5):l(u)==="certs"?vt(kt,6):l(u)==="ssh"?vt(oi,7):l(u)==="logs"&&vt(vi,8)})}var ri=v(M,2);Bs(hl(ri,{}),vt=>i=vt,()=>i),W(()=>{U=At(j,1,"svelte-zuhcpo",null,U,{active:l(u)==="status"}),oe=At(Q,1,"svelte-zuhcpo",null,oe,{active:l(u)==="users"}),re=At(le,1,"svelte-zuhcpo",null,re,{active:l(u)==="brokerconfig"}),ge=At(ce,1,"svelte-zuhcpo",null,ge,{active:l(u)==="advanced"}),de=At(te,1,"svelte-zuhcpo",null,de,{active:l(u)==="passwd"}),He=At(we,1,"svelte-zuhcpo",null,He,{active:l(u)==="listeners"}),Me=At(me,1,"svelte-zuhcpo",null,Me,{active:l(u)==="certs"}),Ee=At(Ne,1,"svelte-zuhcpo",null,Ee,{active:l(u)==="ssh"}),Lt=At(it,1,"svelte-zuhcpo",null,Lt,{active:l(u)==="logs"})}),z("click",j,()=>x(u,"status")),z("click",Q,()=>x(u,"users")),z("click",le,()=>x(u,"brokerconfig")),z("click",ce,()=>x(u,"advanced")),z("click",te,()=>x(u,"passwd")),z("click",we,()=>x(u,"listeners")),z("click",me,()=>x(u,"certs")),z("click",Ne,()=>x(u,"ssh")),z("click",it,()=>x(u,"logs")),D(o,T),eo()}uo(["click"]);var fie=F('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),gie=F('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),pie=F('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),xie=F('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),vie=F('<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"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),mie=F('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),_ie=F('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),bie=F('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),Cie=F('<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>'),Eie=F('<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>'),yie=F('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),wie=F('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),Sie=F('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Die=F('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Aie=F('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),kie=F('<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>'),Bie=F('<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>'),Fie=F('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Lie=F('<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),Iie=F('<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),Pie=F('<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> <dt class="svelte-1n46o8q">EL util</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">EL lag mean</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">EL lag max</dt><dd class="svelte-1n46o8q"> </dd></dl>'),Tie=F('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Mie=F('<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>'),Rie=F('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Nie=F('<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>'),Oie=F('<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.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> <div><!></div></main></div>'),Hie=F('<div class="login-error svelte-1n46o8q"> </div>'),Wie=F('<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>'),zie=F('<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>'),Vie=F('<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>'),jie=F("<!> <!> <!> <!>",1);function $ie(o,e){Js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const ut=location.hash.slice(1);return t.includes(ut)?ut:"scripts"}let n=B(_i(i())),s=B(null),r=B(!1),a=B(!1),d=B(!1),u=B(!1),f=B("none"),g=B(""),p=B(!1),C=B(""),b=B(""),E=B(!1),w=B(!1);Z$(()=>{x(p,!0)});async function A(){x(b,""),x(E,!0);try{await Q$(l(C)),x(C,""),x(p,!1)}catch(ut){x(b,ut.message??"Login failed",!0)}finally{x(E,!1)}}async function I(){if(l(f)==="proxy"&&l(g)){window.location.href=l(g);return}await J$(),x(p,!0)}let T=B(null),M=B(!1),P=B(!1),j=B(!1),U=B(!1),Q=B(_i([])),oe=B(0),le=B(!1),re=B(_i([]));const ce=Ft(()=>l(re).filter(ut=>ut.online).length),ge=Ft(()=>l(re).length===0?"none":l(ce)===l(re).length?"all":l(ce)>0?"some":"offline");let te=B(!1),de=B(!1);async function we(){if(!await l(T).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;x(M,!0);let ut;try{ut=(await xf()).startedAt}catch{}try{await yF()}catch{}const ct=Date.now()+6e4;for(;Date.now()<ct;){await new Promise(kt=>setTimeout(kt,250));try{const kt=await xf();if(ut===void 0||kt.startedAt!==ut){location.reload();return}}catch{}}location.reload()}async function He(){x(d,!0);try{const ut=await sU();l(s)&&x(s,{...l(s),latestVersion:ut.latestVersion??void 0},!0)}catch{}finally{x(d,!1)}}async function me(){var kt,oi;if(!await l(T).show(`Update to v${(kt=l(s))==null?void 0:kt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;x(a,!1),x(u,!0);const ut=(oi=l(s))==null?void 0:oi.startedAt;try{await nU()}catch{}const ct=Date.now()+18e4;for(;Date.now()<ct;){await new Promise(vi=>setTimeout(vi,1e3));try{const vi=await xf();if(ut===void 0||vi.startedAt!==ut){location.reload();return}}catch{x(u,!1),x(M,!0)}}location.reload()}function Me(ut){x(n,ut,!0),location.hash=ut}no(async()=>{location.hash||(location.hash=l(n));const ut=()=>{x(n,i(),!0)};window.addEventListener("hashchange",ut);try{const Ie=await Y$();x(f,Ie.mode,!0),x(g,Ie.proxyLogoutUrl??"",!0),l(f)==="password"&&(await fetch("/she/scripts")).status===401&&x(p,!0)}catch{}x(w,!0);async function ct(){var Ie,ye,Pt;try{x(s,await xf(),!0)}catch{}try{const[ci,$t]=await Promise.all([DF(),Gl()]);x(Q,Array.isArray($t.pinnedPackages)?$t.pinnedPackages:[],!0),x(oe,Object.keys(ci).filter(Ni=>!l(Q).includes(Ni)).length,!0);const Pi=l(le);x(le,((Ie=$t.broker)==null?void 0:Ie.enabled)===!0),Pi&&!l(le)&&l(n)==="security"&&Me("scripts")}catch{}!((ye=l(s))!=null&&ye.matterEnabled)&&l(n)==="matter"&&Me("scripts"),!((Pt=l(s))!=null&&Pt.dbEnabled)&&l(n)==="db"&&Me("scripts")}ct();const kt=setInterval(ct,5e3),oi=mr("mqtt:status",Ie=>{Ie.connected===!1?(x(U,!0),x(P,!1),x(j,!1)):(x(U,!1),x(P,Ie.ready===!1),x(j,Ie.ready===!0))}),vi=mr("matter:deviceList",Ie=>{Array.isArray(Ie.devices)&&x(re,Ie.devices.map(ye=>({nodeId:String(ye.nodeId),online:!!ye.online})),!0)}),ri=mr("matter:deviceStatus",Ie=>{if(Ie.nodeId===void 0)return;const ye=String(Ie.nodeId),Pt=!!Ie.online;x(re,l(re).map(ci=>ci.nodeId===ye?{...ci,online:Pt}:ci),!0)}),vt=TF();x(te,vt.some(Ie=>Ie.level==="error"),!0),x(de,!l(te)&&vt.some(Ie=>Ie.level==="warn"),!0);const li=dS(Ie=>{Ie.level==="error"?(x(te,!0),x(de,!1)):Ie.level==="warn"&&!l(te)&&x(de,!0)});return()=>{window.removeEventListener("hashchange",ut),clearInterval(kt),oi(),vi(),ri(),li()}});var Ne=jie();Ns("click",u6,()=>{l(r)&&x(r,!1),l(a)&&x(a,!1)});var Ee=lt(Ne);{var it=ut=>{var ct=Oie(),kt=m(ct),oi=v(m(kt),2);let vi;var ri=v(oi,2);let vt;var li=v(m(ri),2);{var Ie=q=>{var R=fie();W(()=>fn(R,"title",`${l(oe)??""} package update${l(oe)===1?"":"s"} available`)),D(q,R)};N(li,q=>{l(oe)>0&&q(Ie)})}var ye=v(ri,2);let Pt;var ci=v(m(ye),2);{var $t=q=>{var R=gie();D(q,R)},Pi=q=>{var R=pie();D(q,R)},Ni=q=>{var R=xie();D(q,R)};N(ci,q=>{l(U)?q($t):l(P)?q(Pi,1):l(j)&&q(Ni,2)})}var ki=v(ye,2);{var nn=q=>{var R=vie();let G;W(()=>G=At(R,1,"svelte-1n46o8q",null,G,{active:l(n)==="security"})),z("click",R,()=>Me("security")),D(q,R)};N(ki,q=>{l(le)&&q(nn)})}var sn=v(ki,2);{var pn=q=>{var R=Cie();let G;var Y=v(m(R),2);{var ie=_e=>{var Ce=mie();D(_e,Ce)},se=_e=>{var Ce=_ie();D(_e,Ce)},fe=_e=>{var Ce=bie();D(_e,Ce)};N(Y,_e=>{l(ge)==="all"?_e(ie):l(ge)==="some"?_e(se,1):l(ge)==="offline"&&_e(fe,2)})}W(()=>G=At(R,1,"svelte-1n46o8q",null,G,{active:l(n)==="matter"})),z("click",R,()=>Me("matter")),D(q,R)};N(sn,q=>{var R;(R=l(s))!=null&&R.matterEnabled&&q(pn)})}var wn=v(sn,2);{var ft=q=>{var R=Eie();let G;W(()=>G=At(R,1,"svelte-1n46o8q",null,G,{active:l(n)==="db"})),z("click",R,()=>Me("db")),D(q,R)};N(wn,q=>{var R;(R=l(s))!=null&&R.dbEnabled&&q(ft)})}var Qt=v(wn,2);let Ti;var Bi=v(m(Qt),2);{var bi=q=>{var R=yie();D(q,R)},bn=q=>{var R=wie();D(q,R)};N(Bi,q=>{l(te)?q(bi):l(de)&&q(bn,1)})}var Cn=v(Qt,4),kn=v(m(Cn),2),$e=m(kn),Yt=m($e);Yt.nodeValue="v1.20.7 ";var Fi=v(Yt);{var fi=q=>{var R=Sie();D(q,R)};N(Fi,q=>{var R,G;(R=l(s))!=null&&R.latestVersion&&!((G=l(s))!=null&&G.docker)&&q(fi)})}var ji=v($e,2);{var gi=q=>{var R=Bie(),G=m(R),Y=v(m(G));Y.textContent="v1.20.7";var ie=v(Y,2);{var se=he=>{var je=Die(),yt=v(lt(je)),Le=m(yt);W(()=>O(Le,`v${l(s).latestVersion??""}`)),D(he,je)},fe=he=>{var je=Aie();D(he,je)};N(ie,he=>{var je;(je=l(s))!=null&&je.latestVersion?he(se):he(fe,-1)})}var _e=v(G,2),Ce=m(_e);{var Oe=he=>{var je=kie(),yt=v(m(je));W(()=>O(yt,` Update to v${l(s).latestVersion??""}`)),z("click",je,me),D(he,je)};N(Ce,he=>{var je;(je=l(s))!=null&&je.latestVersion&&he(Oe)})}var Re=v(Ce,2),tt=m(Re);let ei;var J=v(tt);W(()=>{Re.disabled=l(d),ei=At(tt,0,"svelte-1n46o8q",null,ei,{spinning:l(d)}),O(J,` ${l(d)?"Checking…":"Check for updates"}`)}),z("click",R,he=>he.stopPropagation()),z("click",Re,He),D(q,R)};N(ji,q=>{var R;l(a)&&!((R=l(s))!=null&&R.docker)&&q(gi)})}var Gi=v(kn,2),Z=m(Gi),Se=v(Z,2);{var ot=q=>{var R=Rie(),G=m(R);{var Y=Ce=>{var Oe=Pie(),Re=m(Oe);{var tt=Xt=>{const Di=Ft(()=>Math.floor((Date.now()-l(s).startedAt)/1e3)),Zi=Ft(()=>Math.floor(l(Di)/86400)),qi=Ft(()=>Math.floor(l(Di)%86400/3600)),Ji=Ft(()=>Math.floor(l(Di)%3600/60));var qe=Fie(),bt=v(lt(qe)),It=m(bt);W(()=>O(It,`${l(Zi)>0?l(Zi)+"d ":""}${l(qi)>0||l(Zi)>0?l(qi)+"h ":""}${l(Ji)??""}m`)),D(Xt,qe)};N(Re,Xt=>{l(s).startedAt&&Xt(tt)})}var ei=v(Re,3),J=m(ei),he=v(ei,3),je=m(he),yt=v(he,3),Le=m(yt),Pe=v(yt,2);{var gt=Xt=>{var Di=Lie(),Zi=v(lt(Di)),qi=m(Zi),Ji=v(Zi,3),qe=m(Ji);W(()=>{O(qi,l(s).matterNodes??0),O(qe,l(s).matterEndpoints??0)}),D(Xt,Di)};N(Pe,Xt=>{l(s).matterEnabled&&Xt(gt)})}var pt=v(Pe,2);{var Xe=Xt=>{var Di=Iie(),Zi=v(lt(Di)),qi=m(Zi),Ji=v(Zi,3),qe=m(Ji);W(()=>{O(qi,l(s).dbDocs??"—"),O(qe,l(s).dbViews??"—")}),D(Xt,Di)};N(pt,Xt=>{l(s).dbEnabled&&Xt(Xe)})}var qt=v(pt,3),rt=m(qt),st=v(qt,3),Ct=m(st),jt=v(st,3),Tt=m(jt),ni=v(jt,3),ze=m(ni),wt=v(ni,3),ii=m(wt),Vi=v(wt,3),Gt=m(Vi);W(()=>{O(J,l(s).scripts),O(je,l(s).topics),O(Le,l(s).mqttMsgPerSec??"—"),O(rt,l(s).handlers??"—"),O(Ct,l(s).memMb!=null?l(s).memMb+" MB":"—"),O(Tt,l(s).cpuPercent!=null?l(s).cpuPercent+" %":"—"),O(ze,l(s).eluPercent!=null?l(s).eluPercent+" %":"—"),O(ii,l(s).elMeanMs!=null?l(s).elMeanMs+" ms":"—"),O(Gt,l(s).elMaxMs!=null?l(s).elMaxMs+" ms":"—")}),D(Ce,Oe)},ie=Ce=>{var Oe=Tie();D(Ce,Oe)};N(G,Ce=>{l(s)?Ce(Y):Ce(ie,-1)})}var se=v(G,2),fe=m(se);{var _e=Ce=>{var Oe=Mie();z("click",Oe,()=>{x(r,!1),we()}),D(Ce,Oe)};N(fe,Ce=>{var Oe;(Oe=l(s))!=null&&Oe.docker||Ce(_e)})}z("click",R,Ce=>Ce.stopPropagation()),D(q,R)};N(Se,q=>{l(r)&&q(ot)})}var Ye=v(Gi,2);let Wt;var Jt=v(Ye,2);{var ht=q=>{var R=Nie();z("click",R,I),D(q,R)};N(Jt,q=>{l(f)==="password"&&q(ht)})}var Qe=v(kt,2),dt=m(Qe);Bs(hl(dt,{}),q=>x(T,q,!0),()=>l(T));var di=v(dt,2);let De;var We=m(di);{let q=Ft(()=>l(n)==="scripts");LZ(We,{get active(){return l(q)}})}var Oi=v(di,2);let on;var Ki=m(Oi);TJ(Ki,{});var ue=v(Oi,2);let Ke;var Bt=m(ue);pJ(Bt,{});var zt=v(ue,2);let Fe;var Ve=m(zt);PQ(Ve,{});var Vt=v(zt,2);let Ut;var Zt=m(Vt);hie(Zt,{});var Rt=v(Vt,2);let V;var ae=m(Rt);TY(ae,{});var pe=v(Rt,2);let ve;var nt=m(pe);EX(nt,{});var Ze=v(pe,2);let Et;var $=m(Ze);kX($,{}),W(()=>{vi=At(oi,1,"svelte-1n46o8q",null,vi,{active:l(n)==="scripts"}),vt=At(ri,1,"svelte-1n46o8q",null,vt,{active:l(n)==="packages"}),Pt=At(ye,1,"svelte-1n46o8q",null,Pt,{active:l(n)==="mqtt"}),Ti=At(Qt,1,"svelte-1n46o8q",null,Ti,{active:l(n)==="logs"}),Wt=At(Ye,1,"nav-settings svelte-1n46o8q",null,Wt,{active:l(n)==="config"}),De=At(di,1,"page-wrap svelte-1n46o8q",null,De,{hidden:l(n)!=="scripts"}),on=At(Oi,1,"page-wrap svelte-1n46o8q",null,on,{hidden:l(n)!=="packages"}),Ke=At(ue,1,"page-wrap svelte-1n46o8q",null,Ke,{hidden:l(n)!=="mqtt"}),Fe=At(zt,1,"page-wrap svelte-1n46o8q",null,Fe,{hidden:l(n)!=="matter"}),Ut=At(Vt,1,"page-wrap svelte-1n46o8q",null,Ut,{hidden:l(n)!=="security"}),V=At(Rt,1,"page-wrap svelte-1n46o8q",null,V,{hidden:l(n)!=="db"}),ve=At(pe,1,"page-wrap svelte-1n46o8q",null,ve,{hidden:l(n)!=="config"}),Et=At(Ze,1,"page-wrap svelte-1n46o8q",null,Et,{hidden:l(n)!=="logs"})}),z("click",oi,()=>Me("scripts")),z("click",ri,()=>Me("packages")),z("click",ye,()=>Me("mqtt")),z("click",Qt,()=>{Me("logs"),x(te,!1),x(de,!1)}),z("click",$e,q=>{q.stopPropagation(),x(a,!l(a)),x(r,!1)}),z("click",Z,q=>{q.stopPropagation(),x(r,!l(r)),x(a,!1)}),z("click",Ye,()=>Me("config")),D(ut,ct)};N(Ee,ut=>{l(w)&&!l(p)&&ut(it)})}var Lt=v(Ee,2);{var et=ut=>{var ct=Wie(),kt=m(ct),oi=v(m(kt),4),vi=v(m(oi),2),ri=v(oi,2);{var vt=ye=>{var Pt=Hie(),ci=m(Pt);W(()=>O(ci,l(b))),D(ye,Pt)};N(ri,ye=>{l(b)&&ye(vt)})}var li=v(ri,2),Ie=m(li);W(()=>{vi.disabled=l(E),li.disabled=l(E)||!l(C),O(Ie,l(E)?"Signing in…":"Sign in")}),Ns("submit",kt,ye=>{ye.preventDefault(),A()}),Dt(vi,()=>l(C),ye=>x(C,ye)),D(ut,ct)};N(Lt,ut=>{l(p)&&ut(et)})}var St=v(Lt,2);{var be=ut=>{var ct=zie();D(ut,ct)};N(St,ut=>{l(M)&&ut(be)})}var ke=v(St,2);{var Je=ut=>{var ct=Vie();D(ut,ct)};N(ke,ut=>{l(u)&&ut(Je)})}D(o,Ne),eo()}uo(["click"]);fP($ie,{target:document.getElementById("app")});export{j6 as t};