smart-home-engine 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/web/assets/index-BUev42o8.js +234 -0
- package/dist/web/assets/{tsMode-DXWg2fgD.js → tsMode-Dbzvu1EX.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/service/smart-home-engine.service +2 -0
- package/src/index.js +9 -6
- package/src/influx.js +152 -4
- package/src/sandbox/influx-sandbox.js +61 -11
- package/src/web/log-ws.js +2 -2
- package/dist/web/assets/index-xdnNresq.js +0 -234
|
@@ -1,234 +0,0 @@
|
|
|
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-DXWg2fgD.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var i3=Object.defineProperty;var TS=o=>{throw TypeError(o)};var n3=(o,e,t)=>e in o?i3(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Mn=(o,e,t)=>n3(o,typeof e!="symbol"?e+"":e,t),iC=(o,e,t)=>e.has(o)||TS("Cannot "+t);var Be=(o,e,t)=>(iC(o,e,"read from private field"),t?t.call(o):e.get(o)),Bn=(o,e,t)=>e.has(o)?TS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Fn=(o,e,t,i)=>(iC(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),ns=(o,e,t)=>(iC(o,e,"access private method"),t);import{_ as gA,m as pA,l as Bi,A as Ao,C as Ke,I as rs,D as wp,a as ws,g as xA,M as hi,b as Qi,E as da,c as q,r as Gn,d as Wr,e as S,f as s3,h as is,R as Ln,S as Ki,i as lo,j as zr,k as On,n as vn,o as Re,p as St,K as ks,q as Si,s as $t,t as Ns,u as ee,v as kn,O as za,w as Is,P as Fi,x as nC,y as Sp,z as vA,B as _l,F as ua,G as s1,H as Ys,U as Zn,J as Lf,L as Li,N as Sl,Q as o3,T as Eo,V as o1,W as r3,X as mA,$ as wi,Y as zn,Z as Nn,a0 as us,a1 as on,a2 as or,a3 as Bg,a4 as Vt,a5 as Xx,a6 as a3,a7 as l3,a8 as Rs,a9 as c3,aa as ha,ab as ko,ac as Ri,ad as _A,ae as ss,af as d3,ag as u3,ah as wo,ai as a0,aj as Bs,ak as z_,al as vo,am as Zc,an as Pw,ao as V_,ap as Gs,aq as If,ar as Ks,as as j_,at as $_,au as h3,av as Dp,aw as l0,ax as Rl,ay as f3,az as c0,aA as g3,aB as Tw,aC as p3,aD as x3,aE as MS,aF as ys,aG as bl,aH as mo,aI as fn,aJ as pl,aK as v3,aL as Ua,aM as ir,aN as $s,aO as fa,aP as Mw,aQ as Os,aR as Cs,aS as Sv,aT as hn,aU as bA,aV as m3,aW as Rw,aX as U_,aY as Nw,aZ as Ow,a_ as Ld,a$ as _3,b0 as Hw,b1 as b3,b2 as Ww,b3 as Nl,b4 as Ol,b5 as Pf,b6 as Fg,b7 as Oo,b8 as Ap,b9 as Dv,ba as sC,bb as Yn,bc as zw,bd as kp,be as q_,bf as C3,bg as CA,bh as Lg,bi as Tf,bj as Ig,bk as Bp,bl as G_,bm as Hn,bn as Xc,bo as Fp,bp as E3,bq as y3,br as Vw,bs as w3,bt as Av,bu as mr,bv as jw,bw as Mf,bx as Hl,by as d0,bz as Sn,bA as Rf,bB as EA,bC as Lp,bD as S3,bE as Id,bF as xi,bG as RS,bH as Yx,bI as yA,bJ as $r,bK as ra,bL as Jn,bM as Nf,bN as Tr,bO as Of,bP as ds,bQ as Pg,bR as Zu,bS as r1,bT as wA,bU as SA,bV as DA,bW as $w,bX as Io,bY as Un,bZ as Ip,b_ as AA,b$ as Cl,c0 as K_,c1 as D3,c2 as zh,c3 as NS,c4 as Pp,c5 as kA,c6 as Vh,c7 as A3,c8 as Ar,c9 as Z_,ca as k3,cb as Bo,cc as ga,cd as Tp,ce as Tg,cf as BA,cg as pr,ch as Mp,ci as X_,cj as B3,ck as F3,cl as L3,cm as u0,cn as qa,co as Us,cp as I3,cq as Uw,cr as P3,cs as T3,ct as OS,cu as M3,cv as Rp,cw as Dl,cx as a1,cy as Bu,cz as Al,cA as R3,cB as Va,cC as Mr,cD as Yo,cE as HS,cF as uo,cG as Np,cH as Wc,cI as Ga,cJ as N3,cK as pa,cL as Mg,cM as Y_,cN as FA,cO as O3,cP as H3,cQ as qw,cR as W3,cS as Rg,cT as z3,cU as fc,cV as Ng,cW as WS,cX as V3,cY as j3,cZ as Xa,c_ as $3,c$ as Gw,d0 as LA,d1 as IA,d2 as PA,d3 as TA,d4 as U3,d5 as q3,d6 as MA,d7 as RA,d8 as G3,d9 as Kw,da as K3,db as Z3,dc as fs,dd as X3,de as Zw,df as Y3,dg as jh,dh as zS,di as Q3,dj as J3,dk as e4,dl as t4,dm as i4,dn as n4,dp as Hf,dq as Q_,dr as l1,ds as s4,dt as o4,du as VS,dv as c1,dw as r4,dx as jS,dy as oC,dz as a4,dA as NA,dB as l4,dC as OA,dD as d1,dE as c4,dF as d4,dG as u4,dH as HA,dI as WA,dJ as h4,dK as kv,dL as zA,dM as J_,dN as f4,dO as g4,dP as zc,dQ as Xw,dR as p4,dS as $S,dT as US,dU as x4,dV as $h,dW as VA,dX as v4,dY as m4,dZ as _4,d_ as b4,d$ as jA,e0 as $A,e1 as UA,e2 as qA,e3 as C4,e4 as ja,e5 as qS,e6 as E4,e7 as Op,e8 as y4,e9 as $0,ea as GA,eb as GS,ec as Og,ed as KA,ee as Bv,ef as w4,eg as ZA,eh as S4,ei as XA,ej as D4,ek as A4,el as YA,em as QA,en as kl,eo as eb,ep as k4,eq as JA,er as nr,es as Pd,et as ek,eu as B4,ev as F4,ew as tk,ex as ik,ey as L4,ez as nk,eA as sk,eB as Hg,eC as I4,eD as P4,eE as T4,eF as M4,eG as P0,eH as KS,eI as R4,eJ as N4,eK as O4,eL as Fv,eM as eo,eN as H4,eO as u1,eP as Xu,eQ as W4,eR as fl,eS as z4,eT as V4,eU as ok,eV as j4,eW as ag,eX as $4,eY as U4,eZ as q4,e_ as G4,e$ as ZS,f0 as XS,f1 as YS,f2 as Yu,f3 as Yw,f4 as rk,f5 as h1,f6 as Qx,f7 as ak,f8 as Lv,f9 as K4,fa as Z4,fb as X4,fc as Y4,fd as Qw,fe as lk,ff as Q4,fg as Iv,fh as ck,fi as dk,fj as J4,fk as eL,fl as tL,fm as iL,fn as nL,fo as sL,fp as oL,fq as rL,fr as uk,fs as aL,ft as Pv,fu as hk,fv as lL,fw as fk,fx as cL,fy as gk,fz as pk,fA as dL,fB as QS,fC as xk,fD as JS,fE as uL,fF as rC,fG as e8,fH as hL,fI as fL,fJ as gL,fK as Ta,fL as Vc,fM as pL,fN as t8,fO as Jx,fP as xL,fQ as xl,fR as tb,fS as f1,fT as vL,fU as vk,fV as mk,fW as ho,fX as i8,fY as xx,fZ as Jw,f_ as mL,f$ as _L,g0 as bL,g1 as CL,g2 as EL,g3 as yL,g4 as wL,g5 as SL,g6 as n8,g7 as DL,g8 as AL,g9 as kL,ga as Wf,gb as lg,gc as _k,gd as BL,ge as e9,gf as ev,gg as vx,gh as aC,gi as FL,gj as LL,gk as bk,gl as IL,gm as t9,gn as PL,go as TL,gp as Ck,gq as ib,gr as ML,gs as Tv,gt as i9,gu as n9,gv as s9,gw as Ek,gx as yk,gy as wk,gz as Sk,gA as Dk,gB as Ak,gC as kk,gD as s8,gE as Bk,gF as mh,gG as RL,gH as NL,gI as OL,gJ as HL,gK as Fk,gL as WL,gM as zL,gN as o8,gO as g1,gP as bc,gQ as VL,gR as jL,gS as $L,gT as UL,gU as qL,gV as GL,gW as r8,gX as o9,gY as p1,gZ as KL,g_ as x1,g$ as ZL,h0 as XL,h1 as YL,h2 as QL,h3 as r9,h4 as Lk,h5 as a8,h6 as l8,h7 as JL,h8 as e7,h9 as t7,ha as c8,hb as lC,hc as i7,hd as n7,he as s7,hf as cC,hg as Ik,hh as Pk,hi as Tk,hj as Mk,hk as Bl,hl as Rk,hm as a9,hn as d8,ho as o7,hp as Nk,hq as r7,hr as a7,hs as nb,ht as sb,hu as Qu,hv as ob,hw as Hp,hx as l7,hy as rb,hz as c7,hA as d7,hB as u7,hC as Ok,hD as T0,hE as h7,hF as f7,hG as g7,hH as p7,hI as Wp,hJ as x7,hK as Hk,hL as Wk,hM as zk,hN as v1,hO as v7,hP as m7,hQ as _7,hR as b7,hS as C7,hT as m1,hU as E7,hV as y7,hW as w7,hX as S7,hY as D7,hZ as A7,h_ as k7,h$ as B7,i0 as Vk,i1 as F7,i2 as L7,i3 as I7,i4 as u8,i5 as P7,i6 as T7,i7 as vd,i8 as Go,i9 as _1,ia as jk,ib as M7,ic as R7}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 $k=!1;var l9=Array.isArray,N7=Array.prototype.indexOf,Mv=Array.prototype.includes,ab=Array.from,O7=Object.defineProperty,lf=Object.getOwnPropertyDescriptor,H7=Object.getOwnPropertyDescriptors,W7=Object.prototype,z7=Array.prototype,Uk=Object.getPrototypeOf,h8=Object.isExtensible;const lb=()=>{};function V7(o){for(var e=0;e<o.length;e++)o[e]()}function qk(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function j7(o,e,t=!1){return o===void 0?t?e():e:o}function f8(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 po=2,zf=4,cb=8,Gk=1<<24,aa=16,ca=32,jc=64,b1=128,Or=512,to=1024,oo=2048,Ka=4096,To=8192,Hr=16384,h0=32768,C1=1<<25,Vf=65536,Rv=1<<17,$7=1<<18,f0=1<<19,U7=1<<20,Oa=1<<25,Fu=65536,Nv=1<<21,cf=1<<22,Cc=1<<23,Td=Symbol("$state"),q7=Symbol("legacy props"),G7=Symbol(""),tv=Symbol("attributes"),E1=Symbol("class"),y1=Symbol("style"),U0=Symbol("text"),iv=Symbol("form reset"),db=new class extends Error{constructor(){super(...arguments);Mn(this,"name","StaleReactionError");Mn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var uA;const K7=!!((uA=globalThis.document)!=null&&uA.contentType)&&globalThis.document.contentType.includes("xml");function Kk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Z7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function X7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Y7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Q7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function J7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function eI(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function tI(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function iI(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function nI(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function sI(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function oI(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const rI=1,aI=2,Zk=4,lI=8,cI=16,dI=1,uI=4,hI=8,fI=16,gI=1,pI=2,Js=Symbol("uninitialized"),Xk="http://www.w3.org/1999/xhtml",xI="http://www.w3.org/2000/svg",vI="http://www.w3.org/1998/Math/MathML";function mI(){console.warn("https://svelte.dev/e/derived_inert")}function _I(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function bI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Yk(o){return o===this.v}function CI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Qk(o){return!CI(o,this.v)}let EI=!1,go=null;function jf(o){go=o}function Ts(o,e=!1,t){go={p:go,i:!1,c:null,e:null,s:o,x:null,r:qn,l:null}}function Ms(o){var e=go,t=e.e;if(t!==null){e.e=null;for(var i of t)b6(i)}return o!==void 0&&(e.x=o),e.i=!0,go=e.p,o??{}}function Jk(){return!0}let Ed=[];function e6(){var o=Ed;Ed=[],V7(o)}function Ec(o){if(Ed.length===0&&!dg){var e=Ed;queueMicrotask(()=>{e===Ed&&e6()})}Ed.push(o)}function yI(){for(;Ed.length>0;)e6()}function t6(o){var e=qn;if(e===null)return $n.f|=Cc,o;if((e.f&h0)===0&&(e.f&zf)===0)throw o;gc(o,e)}function gc(o,e){for(;e!==null;){if((e.f&b1)!==0){if((e.f&h0)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const wI=-7169;function zs(o,e){o.f=o.f&wI|e}function c9(o){(o.f&Or)!==0||o.deps===null?zs(o,to):zs(o,Ka)}function i6(o){if(o!==null)for(const e of o)(e.f&po)===0||(e.f&Fu)===0||(e.f^=Fu,i6(e.deps))}function n6(o,e,t){(o.f&oo)!==0?e.add(o):(o.f&Ka)!==0&&t.add(o),i6(o.deps),zs(o,to)}let mx=!1;function SI(o){var e=mx;try{return mx=!1,[o(),mx]}finally{mx=e}}let dC=null,_h=null,ln=null,cg=null,co=null,w1=null,dg=!1,uC=!1,Uh=null,nv=null;var g8=0;let DI=1;var ff,dc,Dd,gf,pf,xf,cl,vf,Ko,mp,dl,Yr,Fa,mf,Ad,gs,S1,q0,D1,s6,o6,Mh,AI,G0;const Km=class Km{constructor(){Bn(this,gs);Mn(this,"id",DI++);Bn(this,ff,!1);Mn(this,"linked",!0);Bn(this,dc,null);Bn(this,Dd,null);Mn(this,"async_deriveds",new Map);Mn(this,"current",new Map);Mn(this,"previous",new Map);Bn(this,gf,new Set);Bn(this,pf,new Set);Bn(this,xf,0);Bn(this,cl,new Map);Bn(this,vf,null);Bn(this,Ko,[]);Bn(this,mp,[]);Bn(this,dl,new Set);Bn(this,Yr,new Set);Bn(this,Fa,new Map);Bn(this,mf,new Set);Mn(this,"is_fork",!1);Bn(this,Ad,!1);_h===null?dC=_h=this:(Fn(_h,Dd,this),Fn(this,dc,_h)),_h=this}skip_effect(e){Be(this,Fa).has(e)||Be(this,Fa).set(e,{d:[],m:[]}),Be(this,mf).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=Be(this,Fa).get(e);if(i){Be(this,Fa).delete(e);for(var n of i.d)zs(n,oo),t(n);for(n of i.m)zs(n,Ka),t(n)}Be(this,mf).add(e)}capture(e,t,i=!1){e.v!==Js&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Cc)===0&&(this.current.set(e,[t,i]),co==null||co.set(e,t)),this.is_fork||(e.v=t)}activate(){ln=this}deactivate(){ln=null,co=null}flush(){try{uC=!0,ln=this,ns(this,gs,q0).call(this)}finally{g8=0,w1=null,Uh=null,nv=null,uC=!1,ln=null,co=null,Md.clear()}}discard(){var e;for(const t of Be(this,pf))t(this);Be(this,pf).clear(),ns(this,gs,G0).call(this),(e=Be(this,vf))==null||e.resolve()}register_created_effect(e){Be(this,mp).push(e)}increment(e,t){if(Fn(this,xf,Be(this,xf)+1),e){let i=Be(this,cl).get(t)??0;Be(this,cl).set(t,i+1)}}decrement(e,t){if(Fn(this,xf,Be(this,xf)-1),e){let i=Be(this,cl).get(t)??0;i===1?Be(this,cl).delete(t):Be(this,cl).set(t,i-1)}Be(this,Ad)||(Fn(this,Ad,!0),Ec(()=>{Fn(this,Ad,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)Be(this,dl).add(i);for(const i of t)Be(this,Yr).add(i);e.clear(),t.clear()}oncommit(e){Be(this,gf).add(e)}ondiscard(e){Be(this,pf).add(e)}settled(){return(Be(this,vf)??Fn(this,vf,qk())).promise}static ensure(){if(ln===null){const e=ln=new Km;!uC&&!dg&&Ec(()=>{Be(e,ff)||e.flush()})}return ln}apply(){{co=null;return}}schedule(e){var n;if(w1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(zf|cb|Gk))!==0&&(e.f&h0)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Uh!==null&&t===qn&&($n===null||($n.f&po)===0))return;if((i&(jc|ca))!==0){if((i&to)===0)return;t.f^=to}}Be(this,Ko).push(t)}};ff=new WeakMap,dc=new WeakMap,Dd=new WeakMap,gf=new WeakMap,pf=new WeakMap,xf=new WeakMap,cl=new WeakMap,vf=new WeakMap,Ko=new WeakMap,mp=new WeakMap,dl=new WeakMap,Yr=new WeakMap,Fa=new WeakMap,mf=new WeakMap,Ad=new WeakMap,gs=new WeakSet,S1=function(){if(this.is_fork)return!0;for(const i of Be(this,cl).keys()){for(var e=i,t=!1;e.parent!==null;){if(Be(this,Fa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},q0=function(){var d,u,f,g;Fn(this,ff,!0),g8++>1e3&&(ns(this,gs,G0).call(this),BI());for(const p of Be(this,dl))Be(this,Yr).delete(p),zs(p,oo),this.schedule(p);for(const p of Be(this,Yr))zs(p,Ka),this.schedule(p);const e=Be(this,Ko);Fn(this,Ko,[]),this.apply();var t=Uh=[],i=[],n=nv=[];for(const p of e)try{ns(this,gs,D1).call(this,p,t,i)}catch(C){throw l6(p),ns(this,gs,S1).call(this)||this.discard(),C}if(ln=null,n.length>0){var s=Km.ensure();for(const p of n)s.schedule(p)}if(Uh=null,nv=null,ns(this,gs,S1).call(this)){ns(this,gs,Mh).call(this,i),ns(this,gs,Mh).call(this,t);for(const[p,C]of Be(this,Fa))a6(p,C);n.length>0&&ns(d=ln,gs,q0).call(d);return}const r=ns(this,gs,s6).call(this);if(r){ns(this,gs,Mh).call(this,i),ns(this,gs,Mh).call(this,t),ns(u=r,gs,o6).call(u,this);return}Be(this,dl).clear(),Be(this,Yr).clear();for(const p of Be(this,gf))p(this);Be(this,gf).clear(),cg=this,p8(i),p8(t),cg=null,(f=Be(this,vf))==null||f.resolve();var a=ln;if(Be(this,xf)===0&&(Be(this,Ko).length===0||a!==null)&&ns(this,gs,G0).call(this),Be(this,Ko).length>0)if(a!==null){const p=a;Be(p,Ko).push(...Be(this,Ko).filter(C=>!Be(p,Ko).includes(C)))}else a=this;a!==null&&ns(g=a,gs,q0).call(g)},D1=function(e,t,i){e.f^=to;for(var n=e.first;n!==null;){var s=n.f,r=(s&(ca|jc))!==0,a=r&&(s&to)!==0,d=a||(s&To)!==0||Be(this,Fa).has(n);if(!d&&n.fn!==null){r?n.f^=to:(s&zf)!==0?t.push(n):Vp(n)&&((s&aa)!==0&&Be(this,Yr).add(n),Uf(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}}},s6=function(){for(var e=Be(this,dc);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=Be(e,dc)}return null},o6=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(Be(e,dl),Be(e,Yr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&po)!==0)t(d);else{var a=d;r&(cf|aa)&&!this.async_deriveds.has(a)&&(Be(this,Yr).delete(a),zs(a,oo),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),ns(i=e,gs,G0).call(i),ln=this,ns(this,gs,q0).call(this)},Mh=function(e){for(var t=0;t<e.length;t+=1)n6(e[t],Be(this,dl),Be(this,Yr))},AI=function(){var f;for(let g=dC;g!==null;g=Be(g,Dd)){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(Be(g,ff)){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 Be(this,mf))g.unskip_effect(p,C=>{var b;(C.f&(aa|cf))!==0?g.schedule(C):ns(b=g,gs,Mh).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)r6(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 Be(this,mp))(p.f&(Hr|To|Rv))===0&&d9(p,d,r)&&((p.f&(cf|aa))!==0?(zs(p,oo),g.schedule(p)):Be(g,dl).add(p));if(Be(g,Ko).length>0&&!Be(g,Ad)){g.apply();for(var u of Be(g,Ko))ns(f=g,gs,D1).call(f,u,[],[]);Fn(g,Ko,[])}g.deactivate()}}}},G0=function(){if(this.linked){var e=Be(this,dc),t=Be(this,Dd);e===null?dC=t:Fn(e,Dd,t),t===null?_h=e:Fn(t,dc,e),this.linked=!1}};let Lu=Km;function kI(o){var e=dg;dg=!0;try{for(var t;;){if(yI(),ln===null)return t;ln.flush()}}finally{dg=e}}function BI(){try{eI()}catch(o){gc(o,w1)}}let Kr=null;function p8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Hr|To))===0&&Vp(i)&&(Kr=new Set,Uf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&y6(i),(Kr==null?void 0:Kr.size)>0)){Md.clear();for(const n of Kr){if((n.f&(Hr|To))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Kr.has(r)&&(Kr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Hr|To))===0&&Uf(d)}}Kr.clear()}}Kr=null}}function r6(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&po)!==0?r6(n,e,t,i):(s&(cf|aa))!==0&&(s&oo)===0&&d9(n,e,i)&&(zs(n,oo),u9(n))}}function d9(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(Mv.call(e,n))return!0;if((n.f&po)!==0&&d9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function u9(o){ln.schedule(o)}function a6(o,e){if(!((o.f&ca)!==0&&(o.f&to)!==0)){(o.f&oo)!==0?e.d.push(o):(o.f&Ka)!==0&&e.m.push(o),zs(o,to);for(var t=o.first;t!==null;)a6(t,e),t=t.next}}function l6(o){zs(o,to);for(var e=o.first;e!==null;)l6(e),e=e.next}function FI(o){let e=0,t=Iu(0),i;return()=>{p9()&&(l(t),hb(()=>(e===0&&(i=zl(()=>o(()=>ug(t)))),e+=1,()=>{Ec(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ug(t))})})))}}var LI=Vf|f0;function II(o,e,t,i){new PI(o,e,t,i)}var Br,Iw,Fr,kd,Zo,Lr,Fo,ur,ul,Bd,uc,_f,_p,bp,hl,Zm,Vs,TI,MI,RI,A1,sv,ov,k1,B1;class PI{constructor(e,t,i,n){Bn(this,Vs);Mn(this,"parent");Mn(this,"is_pending",!1);Mn(this,"transform_error");Bn(this,Br);Bn(this,Iw,null);Bn(this,Fr);Bn(this,kd);Bn(this,Zo);Bn(this,Lr,null);Bn(this,Fo,null);Bn(this,ur,null);Bn(this,ul,null);Bn(this,Bd,0);Bn(this,uc,0);Bn(this,_f,!1);Bn(this,_p,new Set);Bn(this,bp,new Set);Bn(this,hl,null);Bn(this,Zm,FI(()=>(Fn(this,hl,Iu(Be(this,Bd))),()=>{Fn(this,hl,null)})));var s;Fn(this,Br,e),Fn(this,Fr,t),Fn(this,kd,r=>{var a=qn;a.b=this,a.f|=b1,i(r)}),this.parent=qn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Fn(this,Zo,m9(()=>{ns(this,Vs,A1).call(this)},LI))}defer_effect(e){n6(e,Be(this,_p),Be(this,bp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!Be(this,Fr).pending}update_pending_count(e,t){ns(this,Vs,k1).call(this,e,t),Fn(this,Bd,Be(this,Bd)+e),!(!Be(this,hl)||Be(this,_f))&&(Fn(this,_f,!0),Ec(()=>{Fn(this,_f,!1),Be(this,hl)&&$f(Be(this,hl),Be(this,Bd))}))}get_effect_pending(){return Be(this,Zm).call(this),l(Be(this,hl))}error(e){if(!Be(this,Fr).onerror&&!Be(this,Fr).failed)throw e;ln!=null&&ln.is_fork?(Be(this,Lr)&&ln.skip_effect(Be(this,Lr)),Be(this,Fo)&&ln.skip_effect(Be(this,Fo)),Be(this,ur)&&ln.skip_effect(Be(this,ur)),ln.oncommit(()=>{ns(this,Vs,B1).call(this,e)})):ns(this,Vs,B1).call(this,e)}}Br=new WeakMap,Iw=new WeakMap,Fr=new WeakMap,kd=new WeakMap,Zo=new WeakMap,Lr=new WeakMap,Fo=new WeakMap,ur=new WeakMap,ul=new WeakMap,Bd=new WeakMap,uc=new WeakMap,_f=new WeakMap,_p=new WeakMap,bp=new WeakMap,hl=new WeakMap,Zm=new WeakMap,Vs=new WeakSet,TI=function(){try{Fn(this,Lr,Ir(()=>Be(this,kd).call(this,Be(this,Br))))}catch(e){this.error(e)}},MI=function(e){const t=Be(this,Fr).failed;t&&Fn(this,ur,Ir(()=>{t(Be(this,Br),()=>e,()=>()=>{})}))},RI=function(){const e=Be(this,Fr).pending;e&&(this.is_pending=!0,Fn(this,Fo,Ir(()=>e(Be(this,Br)))),Ec(()=>{var t=Fn(this,ul,document.createDocumentFragment()),i=El();t.append(i),Fn(this,Lr,ns(this,Vs,ov).call(this,()=>Ir(()=>Be(this,kd).call(this,i)))),Be(this,uc)===0&&(Be(this,Br).before(t),Fn(this,ul,null),Nd(Be(this,Fo),()=>{Fn(this,Fo,null)}),ns(this,Vs,sv).call(this,ln))}))},A1=function(){try{if(this.is_pending=this.has_pending_snippet(),Fn(this,uc,0),Fn(this,Bd,0),Fn(this,Lr,Ir(()=>{Be(this,kd).call(this,Be(this,Br))})),Be(this,uc)>0){var e=Fn(this,ul,document.createDocumentFragment());b9(Be(this,Lr),e);const t=Be(this,Fr).pending;Fn(this,Fo,Ir(()=>t(Be(this,Br))))}else ns(this,Vs,sv).call(this,ln)}catch(t){this.error(t)}},sv=function(e){this.is_pending=!1,e.transfer_effects(Be(this,_p),Be(this,bp))},ov=function(e){var t=qn,i=$n,n=go;Za(Be(this,Zo)),Vr(Be(this,Zo)),jf(Be(this,Zo).ctx);try{return Lu.ensure(),e()}catch(s){return t6(s),null}finally{Za(t),Vr(i),jf(n)}},k1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&ns(i=this.parent,Vs,k1).call(i,e,t);return}Fn(this,uc,Be(this,uc)+e),Be(this,uc)===0&&(ns(this,Vs,sv).call(this,t),Be(this,Fo)&&Nd(Be(this,Fo),()=>{Fn(this,Fo,null)}),Be(this,ul)&&(Be(this,Br).before(Be(this,ul)),Fn(this,ul,null)))},B1=function(e){Be(this,Lr)&&(sr(Be(this,Lr)),Fn(this,Lr,null)),Be(this,Fo)&&(sr(Be(this,Fo)),Fn(this,Fo,null)),Be(this,ur)&&(sr(Be(this,ur)),Fn(this,ur,null));var t=Be(this,Fr).onerror;let i=Be(this,Fr).failed;var n=!1,s=!1;const r=()=>{if(n){bI();return}n=!0,s&&oI(),Be(this,ur)!==null&&Nd(Be(this,ur),()=>{Fn(this,ur,null)}),ns(this,Vs,ov).call(this,()=>{ns(this,Vs,A1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){gc(u,Be(this,Zo)&&Be(this,Zo).parent)}i&&Fn(this,ur,ns(this,Vs,ov).call(this,()=>{try{return Ir(()=>{var u=qn;u.b=this,u.f|=b1,i(Be(this,Br),()=>d,()=>r)})}catch(u){return gc(u,Be(this,Zo).parent),null}}))};Ec(()=>{var d;try{d=this.transform_error(e)}catch(u){gc(u,Be(this,Zo)&&Be(this,Zo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>gc(u,Be(this,Zo)&&Be(this,Zo).parent)):a(d)})};function NI(o,e,t,i){const n=Wg;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=qn,a=OI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Hr)===0){a();try{i(p)}catch(C){gc(C,r)}Ov()}}var f=c6();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>HI(p))).then(p=>u([...e.map(n),...p])).catch(p=>gc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Ov()}):g()}function OI(){var o=qn,e=$n,t=go,i=ln;return function(s=!0){Za(o),Vr(e),jf(t),s&&(o.f&Hr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Ov(o=!0){Za(null),Vr(null),jf(null),o&&(ln==null||ln.deactivate())}function c6(){var o=qn,e=o.b,t=ln,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 Wg(o){var e=po|oo;return qn!==null&&(qn.f|=f0),{ctx:go,deps:null,effects:null,equals:Yk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:qn,ac:null}}const _x=Symbol("obsolete");function HI(o,e,t){let i=qn;i===null&&Z7();var n=void 0,s=Iu(Js),r=!$n,a=new Set;return YI(()=>{var C,b;var d=qn,u=qk();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==db&&u.reject(y)}).finally(Ov)}catch(y){u.reject(y),Ov()}var f=ln;if(r){if((d.f&h0)!==0)var g=c6();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(_x);else for(const y of a.values())y.reject(_x);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==_x&&(f.activate(),w?(s.f|=Cc,$f(s,w)):((s.f&Cc)!==0&&(s.f^=Cc),$f(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),x9(()=>{for(const d of a)d.reject(_x)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Ot(o){const e=Wg(o);return D6(e),e}function h9(o){const e=Wg(o);return e.equals=Qk,e}function WI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)sr(e[t])}}function f9(o){var e,t=qn,i=o.parent;if(!Fl&&i!==null&&o.v!==Js&&(i.f&(Hr|To))!==0)return mI(),o.v;Za(i);try{o.f&=~Fu,WI(o),e=F6(o)}finally{Za(t)}return e}function d6(o){var e=f9(o);if(!o.equals(e)&&(o.wv=k6(),(!(ln!=null&&ln.is_fork)||o.deps===null)&&(ln!==null?(ln.capture(o,e,!0),cg==null||cg.capture(o,e,!0)):o.v=e,o.deps===null))){zs(o,to);return}Fl||(co!==null?(p9()||ln!=null&&ln.is_fork)&&co.set(o,e):c9(o))}function zI(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(db),i.fn!==null&&(i.teardown=lb),i.ac=null,zg(i,0),_9(i))}function u6(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Uf(e)}let Hv=new Set;const Md=new Map;let h6=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:Yk,rv:0,wv:0};return t}function B(o,e){const t=Iu(o);return D6(t),t}function VI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=Qk),i}function x(o,e,t=!1){$n!==null&&(!la||($n.f&Rv)!==0)&&Jk()&&($n.f&(po|aa|cf|Rv))!==0&&($a===null||!$a.has(o))&&sI();let i=t?Di(e):e;return $f(o,i,nv)}function $f(o,e,t=null){if(!o.equals(e)){Md.set(o,Fl?e:o.v);var i=Lu.ensure();if(i.capture(o,e),(o.f&po)!==0){const n=o;(o.f&oo)!==0&&f9(n),co===null&&c9(n)}o.wv=k6(),f6(o,oo,t),qn!==null&&(qn.f&to)!==0&&(qn.f&(ca|jc))===0&&(kr===null?JI([o]):kr.push(o)),!i.is_fork&&Hv.size>0&&!h6&&jI()}return e}function jI(){h6=!1;for(const o of Hv){(o.f&to)!==0&&zs(o,Ka);let e;try{e=Vp(o)}catch{e=!0}e&&Uf(o)}Hv.clear()}function x8(o,e=1){var t=l(o),i=e===1?t++:t--;return x(o,t),i}function ug(o){x(o,o.v+1)}function f6(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&oo)===0;if(d&&zs(r,e),(a&Rv)!==0)Hv.add(r);else if((a&po)!==0){var u=r;co==null||co.delete(u),(a&Fu)===0&&(a&Or&&(qn===null||(qn.f&Nv)===0)&&(r.f|=Fu),f6(u,Ka,t))}else if(d){var f=r;(a&aa)!==0&&Kr!==null&&Kr.add(f),t!==null?t.push(f):u9(f)}}}function Di(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Uk(o);if(e!==W7&&e!==z7)return o;var t=new Map,i=l9(o),n=B(0),s=Od,r=a=>{if(Od===s)return a();var d=$n,u=Od;Vr(null),b8(s);var f=a();return Vr(d),b8(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)&&iI();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(Js));t.set(d,f),ug(n)}}else x(u,Js),ug(n);return!0},get(a,d,u){var C;if(d===Td)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=lf(a,d))!=null&&C.writable)&&(f=r(()=>{var b=Di(g?a[d]:Js),y=B(b);return y}),t.set(d,f)),f!==void 0){var p=l(f);return p===Js?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!==Js)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===Td)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Js||Reflect.has(a,d);if(u!==void 0||qn!==null&&(!f||(p=lf(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?Di(a[d]):Js,b=B(C);return b}),t.set(d,u));var g=l(u);if(g===Js)return!1}return f},set(a,d,u,f){var M;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,Js):C in a&&(b=r(()=>B(Js)),t.set(C+"",b))}if(g===void 0)(!p||(M=lf(a,d))!=null&&M.writable)&&(g=r(()=>B(void 0)),x(g,Di(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>Di(u));x(g,y)}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)}ug(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!==Js});for(var[u,f]of t)f.v!==Js&&!(u in a)&&d.push(u);return d},setPrototypeOf(){nI()}})}function v8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function $I(o,e){return Object.is(v8(o),v8(e))}var Rd,g6,p6,x6,v6;function UI(){if(Rd===void 0){Rd=window,g6=document,p6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;x6=lf(e,"firstChild").get,v6=lf(e,"nextSibling").get,h8(o)&&(o[E1]=void 0,o[tv]=null,o[y1]=void 0,o.__e=void 0),h8(t)&&(t[U0]=void 0)}}function El(o=""){return document.createTextNode(o)}function Ha(o){return x6.call(o)}function zp(o){return v6.call(o)}function m(o,e){return Ha(o)}function bt(o,e=!1){{var t=Ha(o);return t instanceof Comment&&t.data===""?zp(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=zp(i);return i}function qI(o){o.textContent=""}function m6(){return!1}function _6(o,e,t){return e==null||e===Xk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let m8=!1;function GI(){m8||(m8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[iv])==null||e.call(t)})},{capture:!0}))}function ub(o){var e=$n,t=qn;Vr(null),Za(null);try{return o()}finally{Vr(e),Za(t)}}function g9(o,e,t,i=t){o.addEventListener(e,()=>ub(t));const n=o[iv];n?o[iv]=()=>{n(),i(!0)}:o[iv]=()=>i(!0),GI()}function KI(o){qn===null&&($n===null&&J7(),Q7()),Fl&&Y7()}function ZI(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Wl(o,e){var t=qn;t!==null&&(t.f&To)!==0&&(o|=To);var i={ctx:go,deps:null,nodes:null,f:o|oo|Or,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};ln==null||ln.register_created_effect(i);var n=i;if((o&zf)!==0)Uh!==null?Uh.push(i):Lu.ensure().schedule(i);else if(e!==null){try{Uf(i)}catch(r){throw sr(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&f0)===0&&(n=n.first,(o&aa)!==0&&(o&Vf)!==0&&n!==null&&(n.f|=Vf))}if(n!==null&&(n.parent=t,t!==null&&ZI(n,t),$n!==null&&($n.f&po)!==0&&(o&jc)===0)){var s=$n;(s.effects??(s.effects=[])).push(n)}return i}function p9(){return $n!==null&&!la}function x9(o){const e=Wl(cb,null);return zs(e,to),e.teardown=o,e}function Qn(o){KI();var e=qn.f,t=!$n&&(e&ca)!==0&&go!==null&&!go.i;if(t){var i=go;(i.e??(i.e=[])).push(o)}else return b6(o)}function b6(o){return Wl(zf|U7,o)}function XI(o){Lu.ensure();const e=Wl(jc|f0,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{sr(e),i(void 0)}):(sr(e),i(void 0))})}function v9(o){return Wl(zf,o)}function YI(o){return Wl(cf|f0,o)}function hb(o,e=0){return Wl(cb|e,o)}function z(o,e=[],t=[],i=[]){NI(i,e,t,n=>{Wl(cb,()=>o(...n.map(l)))})}function m9(o,e=0){var t=Wl(aa|e,o);return t}function Ir(o){return Wl(ca|f0,o)}function C6(o){var e=o.teardown;if(e!==null){const t=Fl,i=$n;_8(!0),Vr(null);try{e.call(null)}finally{_8(t),Vr(i)}}}function _9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&ub(()=>{n.abort(db)});var i=t.next;(t.f&jc)!==0?t.parent=null:sr(t,e),t=i}}function QI(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&ca)===0&&sr(e),e=t}}function sr(o,e=!0){var t=!1;(e||(o.f&$7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(E6(o.nodes.start,o.nodes.end),t=!0),zs(o,C1),_9(o,e&&!t),zg(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();C6(o),o.f^=C1,o.f|=Hr;var n=o.parent;n!==null&&n.first!==null&&y6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function E6(o,e){for(;o!==null;){var t=o===e?null:zp(o);o.remove(),o=t}}function y6(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 Nd(o,e,t=!0){var i=[];w6(o,i,!0);var n=()=>{t&&sr(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function w6(o,e,t){if((o.f&To)===0){o.f^=To;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&jc)===0){var r=(n.f&Vf)!==0||(n.f&ca)!==0&&(o.f&aa)!==0;w6(n,e,r?t:!1)}n=s}}}function Wv(o){S6(o,!0)}function S6(o,e){if((o.f&To)!==0){o.f^=To,(o.f&to)===0&&(zs(o,oo),Lu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&Vf)!==0||(t.f&ca)!==0;S6(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 b9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:zp(t);e.append(t),t=n}}let rv=!1,Fl=!1;function _8(o){Fl=o}let $n=null,la=!1;function Vr(o){$n=o}let qn=null;function Za(o){qn=o}let $a=null;function D6(o){$n!==null&&($a??($a=new Set)).add(o)}let Xo=null,cr=0,kr=null;function JI(o){kr=o}let A6=1,yd=0,Od=yd;function b8(o){Od=o}function k6(){return++A6}function Vp(o){var e=o.f;if((e&oo)!==0)return!0;if(e&po&&(o.f&=~Fu),(e&Ka)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Vp(s)&&d6(s),s.wv>o.wv)return!0}(e&Or)!==0&&co===null&&zs(o,to)}return!1}function B6(o,e,t=!0){var i=o.reactions;if(i!==null&&!($a!==null&&$a.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&po)!==0?B6(s,e,!1):e===s&&(t?zs(s,oo):(s.f&to)!==0&&zs(s,Ka),u9(s))}}function F6(o){var y;var e=Xo,t=cr,i=kr,n=$n,s=$a,r=go,a=la,d=Od,u=o.f;Xo=null,cr=0,kr=null,$n=(u&(ca|jc))===0?o:null,$a=null,jf(o.ctx),la=!1,Od=++yd,o.ac!==null&&(ub(()=>{o.ac.abort(db)}),o.ac=null);try{o.f|=Nv;var f=o.fn,g=f();o.f|=h0;var p=o.deps,C=ln==null?void 0:ln.is_fork;if(Xo!==null){var b;if(C||zg(o,cr),p!==null&&cr>0)for(p.length=cr+Xo.length,b=0;b<Xo.length;b++)p[cr+b]=Xo[b];else o.deps=p=Xo;if(p9()&&(o.f&Or)!==0)for(b=cr;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&cr<p.length&&(zg(o,cr),p.length=cr);if(Jk()&&kr!==null&&!la&&p!==null&&(o.f&(po|Ka|oo))===0)for(b=0;b<kr.length;b++)B6(kr[b],o);if(n!==null&&n!==o){if(yd++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=yd;if(e!==null)for(const w of e)w.rv=yd;kr!==null&&(i===null?i=kr:i.push(...kr))}return(o.f&Cc)!==0&&(o.f^=Cc),g}catch(w){return t6(w)}finally{o.f^=Nv,Xo=e,cr=t,kr=i,$n=n,$a=s,jf(r),la=a,Od=d}}function eP(o,e){let t=e.reactions;if(t!==null){var i=N7.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&po)!==0&&(Xo===null||!Mv.call(Xo,e))){var s=e;(s.f&Or)!==0&&(s.f^=Or,s.f&=~Fu),s.v!==Js&&c9(s),zI(s),zg(s,0)}}function zg(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)eP(o,t[i])}function Uf(o){var e=o.f;if((e&Hr)===0){zs(o,to);var t=qn,i=rv;qn=o,rv=!0;try{(e&(aa|Gk))!==0?QI(o):_9(o),C6(o);var n=F6(o);o.teardown=typeof n=="function"?n:null,o.wv=A6;var s;$k&&EI&&(o.f&oo)!==0&&o.deps}finally{rv=i,qn=t}}}async function gl(){await Promise.resolve(),kI()}function l(o){var e=o.f,t=(e&po)!==0;if($n!==null&&!la){var i=qn!==null&&(qn.f&Hr)!==0;if(!i&&($a===null||!$a.has(o))){var n=$n.deps;if(($n.f&Nv)!==0)o.rv<yd&&(o.rv=yd,Xo===null&&n!==null&&n[cr]===o?cr++:Xo===null?Xo=[o]:Xo.push(o));else{$n.deps??($n.deps=[]),Mv.call($n.deps,o)||$n.deps.push(o);var s=o.reactions;s===null?o.reactions=[$n]:Mv.call(s,$n)||s.push($n)}}}if(Fl&&Md.has(o))return Md.get(o);if(t){var r=o;if(Fl){var a=r.v;return((r.f&to)===0&&r.reactions!==null||I6(r))&&(a=f9(r)),Md.set(r,a),a}var d=(r.f&Or)===0&&!la&&$n!==null&&(rv||($n.f&Or)!==0),u=(r.f&h0)===0;Vp(r)&&(d&&(r.f|=Or),d6(r)),d&&!u&&(u6(r),L6(r))}if(co!=null&&co.has(o))return co.get(o);if((o.f&Cc)!==0)throw o.v;return o.v}function L6(o){if(o.f|=Or,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&po)!==0&&(e.f&Or)===0&&(u6(e),L6(e))}function I6(o){if(o.v===Js)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Md.has(e)||(e.f&po)!==0&&I6(e))return!0;return!1}function zl(o){var e=la;try{return la=!0,o()}finally{la=e}}const tP=["touchstart","touchmove"];function iP(o){return tP.includes(o)}const wd=Symbol("events"),P6=new Set,F1=new Set;function nP(o,e,t,i={}){function n(s){if(i.capture||L1.call(e,s),!s.cancelBubble)return ub(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Ec(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function _s(o,e,t,i,n){var s={capture:i,passive:n},r=nP(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&x9(()=>{e.removeEventListener(o,r,s)})}function j(o,e,t){(e[wd]??(e[wd]={}))[o]=t}function qs(o){for(var e=0;e<o.length;e++)P6.add(o[e]);for(var t of F1)t(o)}let C8=null;function L1(o){var y,w;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;C8=o;var r=0,a=C8===o&&o[wd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[wd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){O7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=$n,g=qn;Vr(null),Za(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[wd])==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[wd]=e,delete o.currentTarget,Vr(f),Za(g)}}}var hA;const hC=((hA=globalThis==null?void 0:globalThis.window)==null?void 0:hA.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function sP(o){return(hC==null?void 0:hC.createHTML(o))??o}function T6(o){var e=_6("template");return e.innerHTML=sP(o.replaceAll("<!>","<!---->")),e.content}function Pu(o,e){var t=qn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function F(o,e){var t=(e&gI)!==0,i=(e&pI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=T6(s?o:"<!>"+o),t||(n=Ha(n)));var r=i||p6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ha(r),d=r.lastChild;Pu(a,d)}else Pu(r,r);return r}}function oP(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=T6(n),a=Ha(r);s=Ha(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function fb(o,e){return oP(o,e,"svg")}function ro(o=""){{var e=El(o+"");return Pu(e,e),e}}function As(){var o=document.createDocumentFragment(),e=document.createComment(""),t=El();return o.append(e,t),Pu(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[U0]??(o[U0]=o.nodeValue))&&(o[U0]=t,o.nodeValue=`${t}`)}function rP(o,e){return aP(o,e)}const bx=new Map;function aP(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){UI();var d=void 0,u=XI(()=>{var f=t??e.appendChild(El());II(f,{pending:()=>{}},C=>{Ts({});var b=go;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},Ms()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var y=C[b];if(!g.has(y)){g.add(y);var w=iP(y);for(const M of[e,document]){var A=bx.get(M);A===void 0&&(A=new Map,bx.set(M,A));var I=A.get(y);I===void 0?(M.addEventListener(y,L1,{passive:w}),A.set(y,1)):A.set(y,I+1)}}}};return p(ab(P6)),F1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=bx.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,L1),b.delete(C),b.size===0&&bx.delete(A)):b.set(C,y)}F1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return lP.set(d,u),d}let lP=new WeakMap;var Qr,La,hr,Fd,Cp,Ep,Xm;class cP{constructor(e,t=!0){Mn(this,"anchor");Bn(this,Qr,new Map);Bn(this,La,new Map);Bn(this,hr,new Map);Bn(this,Fd,new Set);Bn(this,Cp,!0);Bn(this,Ep,e=>{if(Be(this,Qr).has(e)){var t=Be(this,Qr).get(e),i=Be(this,La).get(t);if(i)Wv(i),Be(this,Fd).delete(t);else{var n=Be(this,hr).get(t);n&&(Wv(n.effect),Be(this,La).set(t,n.effect),Be(this,hr).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of Be(this,Qr)){if(Be(this,Qr).delete(s),s===e)break;const a=Be(this,hr).get(r);a&&(sr(a.effect),Be(this,hr).delete(r))}for(const[s,r]of Be(this,La)){if(s===t||Be(this,Fd).has(s))continue;const a=()=>{if(Array.from(Be(this,Qr).values()).includes(s)){var u=document.createDocumentFragment();b9(r,u),u.append(El()),Be(this,hr).set(s,{effect:r,fragment:u})}else sr(r);Be(this,Fd).delete(s),Be(this,La).delete(s)};Be(this,Cp)||!i?(Be(this,Fd).add(s),Nd(r,a,!1)):a()}}});Bn(this,Xm,e=>{Be(this,Qr).delete(e);const t=Array.from(Be(this,Qr).values());for(const[i,n]of Be(this,hr))t.includes(i)||(sr(n.effect),Be(this,hr).delete(i))});this.anchor=e,Fn(this,Cp,t)}ensure(e,t){var i=ln,n=m6();if(t&&!Be(this,La).has(e)&&!Be(this,hr).has(e))if(n){var s=document.createDocumentFragment(),r=El();s.append(r),Be(this,hr).set(e,{effect:Ir(()=>t(r)),fragment:s})}else Be(this,La).set(e,Ir(()=>t(this.anchor)));if(Be(this,Qr).set(i,e),n){for(const[a,d]of Be(this,La))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of Be(this,hr))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(Be(this,Ep)),i.ondiscard(Be(this,Xm))}else Be(this,Ep).call(this,i)}}Qr=new WeakMap,La=new WeakMap,hr=new WeakMap,Fd=new WeakMap,Cp=new WeakMap,Ep=new WeakMap,Xm=new WeakMap;function H(o,e,t=!1){var i=new cP(o),n=t?Vf:0;function s(r,a){i.ensure(r,a)}m9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Vi(o,e){return e}function dP(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Nd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;I1(o,ab(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;qI(f),f.append(u),o.items.clear()}I1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function I1(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|=Oa;const r=document.createDocumentFragment();b9(s,r)}else sr(e[n],t)}}var E8;function ri(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Zk)!==0;if(d){var u=o;r=u.appendChild(El())}var f=null,g=h9(()=>{var M=t();return l9(M)?M:M==null?[]:ab(M)}),p,C=new Map,b=!0;function y(M){(I.effect.f&Hr)===0&&(I.pending.delete(M),I.fallback=f,uP(I,p,r,e,i),f!==null&&(p.length===0?(f.f&Oa)===0?Wv(f):(f.f^=Oa,K0(f,null,r)):Nd(f,()=>{f=null})))}function w(M){I.pending.delete(M)}var A=m9(()=>{p=l(g);for(var M=p.length,R=new Set,P=ln,V=m6(),$=0;$<M;$+=1){var J=p[$],re=i(J,$),fe=b?null:a.get(re);fe?(fe.v&&$f(fe.v,J),fe.i&&$f(fe.i,$),V&&P.unskip_effect(fe.e)):(fe=hP(a,b?r:E8??(E8=El()),J,re,$,n,e,t),b||(fe.e.f|=Oa),a.set(re,fe)),R.add(re)}if(M===0&&s&&!f&&(b?f=Ir(()=>s(r)):(f=Ir(()=>s(E8??(E8=El()))),f.f|=Oa)),M>R.size&&X7(),!b)if(C.set(P,R),V){for(const[Z,de]of a)R.has(Z)||P.skip_effect(de.e);P.oncommit(y),P.ondiscard(w)}else y(P);l(g)}),I={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function M0(o){for(;o!==null&&(o.f&ca)===0;)o=o.next;return o}function uP(o,e,t,i,n){var fe,Z,de,ve,se,ue,Se,Ie,xe;var s=(i&lI)!==0,r=e.length,a=o.items,d=M0(o.effect.first),u,f=null,g,p=[],C=[],b,y,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],y=n(b,A),w=a.get(y).e,(w.f&Oa)===0&&((Z=(fe=w.nodes)==null?void 0:fe.a)==null||Z.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],y=n(b,A),w=a.get(y).e,o.outrogroups!==null)for(const Ne of o.outrogroups)Ne.pending.delete(w),Ne.done.delete(w);if((w.f&To)!==0&&(Wv(w),s&&((ve=(de=w.nodes)==null?void 0:de.a)==null||ve.unfix(),(g??(g=new Set)).delete(w))),(w.f&Oa)!==0)if(w.f^=Oa,w===d)K0(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),Yl(o,f,w),Yl(o,w,I),K0(w,I,t),f=w,p=[],C=[],d=M0(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var M=C[0],R;f=M.prev;var P=p[0],V=p[p.length-1];for(R=0;R<p.length;R+=1)K0(p[R],M,t);for(R=0;R<C.length;R+=1)u.delete(C[R]);Yl(o,P.prev,V.next),Yl(o,f,P),Yl(o,V,M),d=M,f=V,A-=1,p=[],C=[]}else u.delete(w),K0(w,d,t),Yl(o,w.prev,w.next),Yl(o,w,f===null?o.effect.first:f.next),Yl(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=M0(d.next);if(d===null)continue}(w.f&Oa)===0&&p.push(w),f=w,d=M0(w.next)}if(o.outrogroups!==null){for(const Ne of o.outrogroups)Ne.pending.size===0&&(I1(o,ab(Ne.done)),(se=o.outrogroups)==null||se.delete(Ne));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var $=[];if(u!==void 0)for(w of u)(w.f&To)===0&&$.push(w);for(;d!==null;)(d.f&To)===0&&d!==o.fallback&&$.push(d),d=M0(d.next);var J=$.length;if(J>0){var re=(i&Zk)!==0&&r===0?t:null;if(s){for(A=0;A<J;A+=1)(Se=(ue=$[A].nodes)==null?void 0:ue.a)==null||Se.measure();for(A=0;A<J;A+=1)(xe=(Ie=$[A].nodes)==null?void 0:Ie.a)==null||xe.fix()}dP(o,$,re)}}s&&Ec(()=>{var Ne,ze;if(g!==void 0)for(w of g)(ze=(Ne=w.nodes)==null?void 0:Ne.a)==null||ze.apply()})}function hP(o,e,t,i,n,s,r,a){var d=(r&rI)!==0?(r&cI)===0?VI(t,!1,!1):Iu(t):null,u=(r&aI)!==0?Iu(n):null;return{v:d,i:u,e:Ir(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function K0(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Oa)===0?e.nodes.start:t;i!==null;){var r=zp(i);if(s.before(i),i===n)return;i=r}}function Yl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function pc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;z(()=>{var u=qn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Pu(Ha(d),d.lastChild);return}if(u.nodes!==null&&(E6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?xI:n?vI:void 0,g=_6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Pu(Ha(p),p.lastChild),i||n)for(;Ha(p);)r.before(Ha(p));else r.before(p)}}})}function M6(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=M6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function fP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=M6(o))&&(i&&(i+=" "),i+=e);return i}function hg(o){return typeof o=="object"?fP(o):o??""}const y8=[...`
|
|
3
|
-
\r\f \v\uFEFF`];function gP(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||y8.includes(i[r-1]))&&(a===i.length||y8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function w8(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 fC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function pP(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(fC)),n&&d.push(...Object.keys(n).map(fC));var u=0,f=-1;const y=o.length;for(var g=0;g<y;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===y-1){if(f!==-1){var C=fC(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+=w8(i)),n&&(t+=w8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Bt(o,e,t,i,n,s){var r=o[E1];if(r!==t||r===void 0){var a=gP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[E1]=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 gC(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 Co(o,e,t,i){var n=o[y1];if(n!==e){var s=pP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[y1]=e}else i&&(Array.isArray(i)?(gC(o,t==null?void 0:t[0],i[0]),gC(o,t==null?void 0:t[1],i[1],"important")):gC(o,t,i));return i}function zv(o,e,t=!1){if(o.multiple){if(e==null)return;if(!l9(e))return _I();for(var i of o.options)i.selected=e.includes(fg(i));return}for(i of o.options){var n=fg(i);if($I(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function P1(o){var e=new MutationObserver(()=>{zv(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),x9(()=>{e.disconnect()})}function Ps(o,e,t=e){var i=new WeakSet,n=!0;g9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),fg);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&fg(d)}t(a),o.__value=a,ln!==null&&i.add(ln)}),v9(()=>{var s=e();if(o===document.activeElement){var r=ln;if(i.has(r))return}if(zv(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=fg(a),t(s))}o.__value=s,n=!1}),P1(o)}function fg(o){return"__value"in o?o.__value:o.value}const xP=Symbol("is custom element"),vP=Symbol("is html"),mP=K7?"progress":"PROGRESS";function T1(o,e){var t=C9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==mP)||(o.value=e??"")}function er(o,e){var t=C9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function un(o,e,t,i){var n=C9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[G7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&_P(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function C9(o){return o[tv]??(o[tv]={[xP]:o.nodeName.includes("-"),[vP]:o.namespaceURI===Xk})}var S8=new Map;function _P(o){var e=o.getAttribute("is")||o.nodeName,t=S8.get(e);if(t)return t;S8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=H7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Uk(n)}return t}function Nt(o,e,t=e){var i=new WeakSet;g9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=pC(o)?xC(s):s,t(s),ln!==null&&i.add(ln),await gl(),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))}}}),zl(e)==null&&o.value&&(t(pC(o)?xC(o.value):o.value),ln!==null&&i.add(ln)),hb(()=>{var n=e();if(o===document.activeElement){var s=ln;if(i.has(s))return}pC(o)&&n===xC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function bs(o,e,t=e){g9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),zl(e)==null&&t(o.checked),hb(()=>{var i=e();o.checked=!!i})}function pC(o){var e=o.type;return e==="number"||e==="range"}function xC(o){return o===""?null:+o}var hc,bf,yp,Ym,R6;const Qm=class Qm{constructor(e){Bn(this,Ym);Bn(this,hc,new WeakMap);Bn(this,bf);Bn(this,yp);Fn(this,yp,e)}observe(e,t){var i=Be(this,hc).get(e)||new Set;return i.add(t),Be(this,hc).set(e,i),ns(this,Ym,R6).call(this).observe(e,Be(this,yp)),()=>{var n=Be(this,hc).get(e);n.delete(t),n.size===0&&(Be(this,hc).delete(e),Be(this,bf).unobserve(e))}}};hc=new WeakMap,bf=new WeakMap,yp=new WeakMap,Ym=new WeakSet,R6=function(){return Be(this,bf)??Fn(this,bf,new ResizeObserver(e=>{for(var t of e){Qm.entries.set(t.target,t);for(var i of Be(this,hc).get(t.target)||[])i(t)}}))},Mn(Qm,"entries",new WeakMap);let M1=Qm;var bP=new M1({box:"border-box"});function CP(o,e,t){var i=bP.observe(o,()=>t(o[e]));v9(()=>(zl(()=>t(o[e])),i))}function vC(o,e){return o===e||(o==null?void 0:o[Td])===e}function hs(o={},e,t,i){var n=go.r,s=qn;return v9(()=>{var r,a;return hb(()=>{r=a,a=[],zl(()=>{vC(t(...a),o)||(e(o,...a),r&&vC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&C1;)d=d.parent;const u=()=>{a&&vC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function Tu(o,e,t,i){var R;var n=!0,s=(t&hI)!==0,r=(t&fI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Wg(i)),l(u)):(d&&(d=!1,a=r?zl(i):i),a);let g;if(s){var p=Td in o||q7 in o;g=((R=lf(o,e))==null?void 0:R.set)??(p&&e in o?P=>o[e]=P:void 0)}var C,b=!1;s?[C,b]=SI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&(tI(),g(C)));var y;if(y=()=>{var P=o[e];return P===void 0?f():(d=!0,P)},(t&uI)===0)return y;if(g){var w=o.$$legacy;return(function(P,V){return arguments.length>0?((!V||w||b)&&g(V?y():P),P):y()})}var A=!1,I=((t&dI)!==0?Wg:h9)(()=>(A=!1,y()));s&&l(I);var M=qn;return(function(P,V){if(arguments.length>0){const $=V?l(I):s?Di(P):P;return x(I,$),A=!0,a!==void 0&&(a=$),P}return Fl&&A||(M.f&Hr)!==0?I.v:l(I)})}function js(o){go===null&&Kk(),Qn(()=>{const e=zl(o);if(typeof e=="function")return e})}function jp(o){go===null&&Kk(),js(()=>()=>zl(o))}const EP="5";var fA;typeof window<"u"&&((fA=window.__svelte??(window.__svelte={})).v??(fA.v=new Set)).add(EP);/*!-----------------------------------------------------------------------------
|
|
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 yP=Object.defineProperty,wP=Object.getOwnPropertyDescriptor,SP=Object.getOwnPropertyNames,DP=Object.prototype.hasOwnProperty,AP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of SP(e))!DP.call(o,n)&&n!==t&&yP(o,n,{get:()=>e[n],enumerable:!(i=wP(e,n))||i.enumerable});return o},kP=(o,e,t)=>(AP(o,e,"default"),t),$p={};kP($p,pA);var BP=class{constructor(e,t,i){this._onDidChange=new $p.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)}},FP={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},LP={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},N6=new BP("json",FP,LP),IP=()=>O6().then(o=>o.getWorker());$p.languages.json={jsonDefaults:N6,getWorker:IP};function O6(){return gA(()=>import("./jsonMode-tUihOf0o.js"),__vite__mapDeps([0,1,2]))}$p.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});$p.languages.onLanguage("json",()=>{O6().then(o=>o.setupMode(N6))});/*!-----------------------------------------------------------------------------
|
|
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 PP=Object.defineProperty,TP=Object.getOwnPropertyDescriptor,MP=Object.getOwnPropertyNames,RP=Object.prototype.hasOwnProperty,NP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of MP(e))!RP.call(o,n)&&n!==t&&PP(o,n,{get:()=>e[n],enumerable:!(i=TP(e,n))||i.enumerable});return o},OP=(o,e,t)=>(NP(o,e,"default"),t),HP="5.4.5",qf={};OP(qf,pA);var H6=(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))(H6||{}),W6=(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))(W6||{}),z6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(z6||{}),V6=(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))(V6||{}),j6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(j6||{}),$6=class{constructor(o,e,t,i,n){this._onDidChange=new qf.Emitter,this._onDidExtraLibsChange=new qf.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)}},WP=HP,U6={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},q6=new $6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},U6),G6=new $6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},U6),zP=()=>gb().then(o=>o.getTypeScriptWorker()),VP=()=>gb().then(o=>o.getJavaScriptWorker());qf.languages.typescript={ModuleKind:H6,JsxEmit:W6,NewLineKind:z6,ScriptTarget:V6,ModuleResolutionKind:j6,typescriptVersion:WP,typescriptDefaults:q6,javascriptDefaults:G6,getTypeScriptWorker:zP,getJavaScriptWorker:VP};function gb(){return gA(()=>import("./tsMode-DXWg2fgD.js"),__vite__mapDeps([3,1,2]))}qf.languages.onLanguage("typescript",()=>gb().then(o=>o.setupTypeScript(q6)));qf.languages.onLanguage("javascript",()=>gb().then(o=>o.setupJavaScript(G6)));class jP extends Ao{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Bi("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Qi.map,toggled:Ke.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Ke.has("isInDiffEditor"),menu:{when:Ke.has("isInDiffEditor"),id:hi.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(rs),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class K6 extends Ao{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Bi("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:Ke.has("isInDiffEditor")})}run(e,...t){const i=e.get(rs),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class Z6 extends Ao{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Bi("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:Ke.has("isInDiffEditor")})}run(e,...t){const i=e.get(rs),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Up=Bi("diffEditor","Diff Editor");class $P extends da{constructor(){super({id:"diffEditor.switchSide",title:Bi("switchSide","Switch Side"),icon:Qi.arrowSwap,precondition:Ke.has("isInDiffEditor"),f1:!0,category:Up})}runEditorCommand(e,t,i){const n=g0(e);if(n instanceof wp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class UP extends da{constructor(){super({id:"diffEditor.exitCompareMove",title:Bi("exitCompareMove","Exit Compare Move"),icon:Qi.close,precondition:q.comparingMovedCode,f1:!1,category:Up,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=g0(e);n instanceof wp&&n.exitCompareMove()}}class qP extends da{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Bi("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Qi.fold,precondition:Ke.has("isInDiffEditor"),f1:!0,category:Up})}runEditorCommand(e,t,...i){const n=g0(e);n instanceof wp&&n.collapseAllUnchangedRegions()}}class GP extends da{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Bi("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Qi.unfold,precondition:Ke.has("isInDiffEditor"),f1:!0,category:Up})}runEditorCommand(e,t,...i){const n=g0(e);n instanceof wp&&n.showAllUnchangedRegions()}}class R1 extends Ao{constructor(){super({id:"diffEditor.revert",title:Bi("revert","Revert"),f1:!1,category:Up})}run(e,t){const i=KP(e,t.originalUri,t.modifiedUri);i instanceof wp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const X6=Bi("accessibleDiffViewer","Accessible Diff Viewer"),Jm=class Jm extends Ao{constructor(){super({id:Jm.id,title:Bi("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:X6,precondition:Ke.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=g0(e);t==null||t.accessibleDiffViewerNext()}};Jm.id="editor.action.accessibleDiffViewer.next";let Vg=Jm;const e_=class e_ extends Ao{constructor(){super({id:e_.id,title:Bi("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:X6,precondition:Ke.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=g0(e);t==null||t.accessibleDiffViewerPrev()}};e_.id="editor.action.accessibleDiffViewer.prev";let Vv=e_;function KP(o,e,t){return o.get(ws).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 g0(o){const t=o.get(ws).listDiffEditors(),i=xA();if(i)for(const n of t){const s=n.getContainerDomNode();if(ZP(s,i))return n}return null}function ZP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Gn(jP);Gn(K6);Gn(Z6);Wr.appendMenuItem(hi.EditorTitle,{command:{id:new Z6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:Ke.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Ke.has("isInDiffEditor")},order:11,group:"1_diff",when:Ke.and(q.diffEditorRenderSideBySideInlineBreakpointReached,Ke.has("isInDiffEditor"))});Wr.appendMenuItem(hi.EditorTitle,{command:{id:new K6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Qi.move,toggled:s3.create("config.diffEditor.experimental.showMoves",!0),precondition:Ke.has("isInDiffEditor")},order:10,group:"1_diff",when:Ke.has("isInDiffEditor")});Gn(R1);for(const o of[{icon:Qi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Qi.discard,key:q.diffEditorInlineMode}])Wr.appendMenuItem(hi.DiffEditorHunkToolbar,{command:{id:new R1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:Ke.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Wr.appendMenuItem(hi.DiffEditorSelectionToolbar,{command:{id:new R1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:Ke.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Gn($P);Gn(UP);Gn(qP);Gn(GP);Wr.appendMenuItem(hi.EditorTitle,{command:{id:Vg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:Ke.has("isInDiffEditor")},order:10,group:"2_diff",when:Ke.and(q.accessibleDiffViewerVisible.negate(),Ke.has("isInDiffEditor"))});is.registerCommandAlias("editor.action.diffReview.next",Vg.id);Gn(Vg);is.registerCommandAlias("editor.action.diffReview.prev",Vv.id);Gn(Vv);var XP=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},YP=function(o,e){return function(t,i){e(t,i,o)}},N1;const pb=new Ln("selectionAnchorSet",!1);var Vd;let $c=(Vd=class{static get(e){return e.getContribution(N1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=pb.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(Ki.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new lo().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),zr(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(Ki.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()}},N1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);$c=N1=XP([YP(1,On)],$c);class QP extends St{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2080),weight:100}})}async run(e,t){var i;(i=$c.get(t))==null||i.setSelectionAnchor()}}class JP extends St{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:pb})}async run(e,t){var i;(i=$c.get(t))==null||i.goToSelectionAnchor()}}class eT extends St{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:pb,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2089),weight:100}})}async run(e,t){var i;(i=$c.get(t))==null||i.selectFromAnchorToCursor()}}class tT extends St{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:pb,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=$c.get(t))==null||i.cancelSelectionAnchor()}}vn($c.ID,$c,4);Re(QP);Re(JP);Re(eT);Re(tT);const iT=Si("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class nT extends St{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class sT extends St{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Bi("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=Mu.get(t))==null||s.selectToBracket(n)}}class oT extends St{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class rT{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const oc=class oc extends $t{static get(e){return e.getContribution(oc.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ns(()=>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 Ki(r.lineNumber,r.column,r.lineNumber,r.column):new Ki(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 Ki(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(Fi.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),y=oc._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=oc._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new rT(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};oc.ID="editor.contrib.bracketMatchingController",oc._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=kn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Is(iT),position:za.Center}}),oc._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=kn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=oc;vn(Mu.ID,Mu,1);Re(sT);Re(nT);Re(oT);Wr.appendMenuItem(hi.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class aT{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 Ki(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Ki(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class Y6 extends St{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 aT(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class lT extends Y6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class cT extends Y6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Re(lT);Re(cT);class dT extends St{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.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():nC.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=nC.leftPosition(i,f),p=nC.leftPosition(i,g),C=i.getValueInRange(ee.fromPositions(p,g)),b=i.getValueInRange(ee.fromPositions(g,f)),y=ee.fromPositions(p,f);n.push(new Sp(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Re(dT);const xb=(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 E9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function uT(o,e,t){const i={id:xb(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class Q6{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 _l.some(this,([i,n])=>n.asFile())&&t.push("files"),e5(jv(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 jv(e)}}function jv(o){return o.toLowerCase()}function J6(o,e){return e5(jv(o),e.map(jv))}function e5(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 vb=Object.freeze({create:o=>vA(o.map(e=>e.toString())).join(`\r
|
|
14
|
-
`),split:o=>o.split(`\r
|
|
15
|
-
`),parse:o=>vb.split(o).filter(e=>!e.startsWith("#"))}),Da=class Da{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+Da.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Da((this.value?[this.value,...e]:e).join(Da.sep))}};Da.sep=".",Da.None=new Da("@@none@@"),Da.Empty=new Da("");let os=Da;const D8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class hT{}const fT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ua.add(fT.DragAndDropContribution,new hT);const Sg=class Sg{constructor(){}static getInstance(){return Sg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Sg.INSTANCE=new Sg;let O1=Sg;function t5(o){const e=new Q6;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,E9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,gT(n))}}return e}function gT(o){const e=o.path?Zn.parse(o.path):void 0;return uT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const pT=Object.freeze([D8.EDITORS,D8.FILES,s1.RESOURCES,s1.INTERNAL_URI_LIST]);function i5(o,e=!1){const t=t5(o),i=t.get(s1.INTERNAL_URI_LIST);if(i)t.replace(Ys.uriList,i);else if(e||!t.has(Ys.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(Zn.file(a).toString()):n.push(Zn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ys.uriList,E9(vb.create(n)))}for(const n of pT)t.delete(n);return t}var y9=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},jg=function(o,e){return function(t,i){e(t,i,o)}};class w9{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 Dg=class Dg extends w9{constructor(){super(...arguments),this.kind=Dg.kind,this.dropMimeTypes=[Ys.text],this.pasteMimeTypes=[Ys.text]}async getEdit(e,t){const i=e.get(Ys.text);if(!i||e.has(Ys.uriList))return;const n=await i.asString();return{handledMimeType:Ys.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Dg.id="text",Dg.kind=new os("text.plain");let Ru=Dg;class n5 extends w9{constructor(){super(...arguments),this.kind=new os("uri.absolute"),this.dropMimeTypes=[Ys.uriList],this.pasteMimeTypes=[Ys.uriList]}async getEdit(e,t){const i=await s5(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===Eo.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:Ys.uriList,insertText:s,title:r,kind:this.kind}}}let $v=class extends w9{constructor(e){super(),this._workspaceContextService=e,this.kind=new os("uri.relative"),this.dropMimeTypes=[Ys.uriList],this.pasteMimeTypes=[Ys.uriList]}async getEdit(e,t){const i=await s5(e);if(!i.length||t.isCancellationRequested)return;const n=Sl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?o3(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ys.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}}};$v=y9([jg(0,Lf)],$v);class xT{constructor(){this.kind=new os("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ys.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==o1.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 s5(o){const e=o.get(Ys.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of vb.parse(t))try{i.push({uri:Zn.parse(n),originalText:n})}catch{}return i}let H1=class extends $t{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new n5)),this._register(e.documentDropEditProvider.register("*",new $v(t)))}};H1=y9([jg(0,Li),jg(1,Lf)],H1);let W1=class extends $t{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new n5)),this._register(e.documentPasteEditProvider.register("*",new $v(t))),this._register(e.documentPasteEditProvider.register("*",new xT))}};W1=y9([jg(0,Li),jg(1,Lf)],W1);const wr=class wr{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=wr._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(wr.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(wr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(wr.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(wr.isVariableCharacter(i)||wr.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 wr._table[i]>"u"&&!wr.isDigitCharacter(i)&&!wr.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};wr._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let z1=wr;class p0{constructor(){this._children=[]}appendChild(e){return e instanceof Po&&this._children[this._children.length-1]instanceof Po?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 qp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Po=class o5 extends p0{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new o5(this.value)}};class r5 extends p0{}class xr extends r5{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 x0?this._children[0]:void 0}clone(){const e=new xr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class x0 extends p0{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Po&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new x0;return this.options.forEach(e.appendChild,e),e}}class S9 extends p0{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(s=>s instanceof Jr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Jr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new S9;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Jr extends p0{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,n)=>n===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Jr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class $g extends r5{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 Po(t)],!0):!1}clone(){const e=new $g(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function A8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class qp extends p0{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof xr&&(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 A8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof xr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof $g&&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 qp;return this._children=this.children.map(t=>t.clone()),e}walk(e){A8(this.children,e)}}class Nu{constructor(){this._scanner=new z1,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 qp;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 xr&&(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 xr(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof xr&&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 xr(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 Po(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 xr(Number(t)):new $g(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 xr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new x0;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 Po(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 $g(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+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 S9;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 Po(s));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new Jr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Jr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){const s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Jr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Jr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Jr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){const s=this._until(1);if(s){const r=this._until(4);if(r)return e.appendChild(new Jr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Jr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Po(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function a5(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 r3(o,{range:s,text:typeof t.insertText=="string"?Nu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function l5(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 vT=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},mT=function(o,e){return function(t,i){e(t,i,o)}};const _T=kn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:mA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),t_=class t_ extends $t{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=wi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=wi("span.icon");this.domNode.append(t),t.classList.add(...zn.asClassNameArray(Qi.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(Nn(this.domNode,us.CLICK,n=>{this.delegate.cancel()}))}getId(){return t_.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)}};t_.baseId="editor.widget.inlineProgressWidget";let V1=t_,Uv=class extends $t{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new or),this._currentWidget=this._register(new or),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=Bg(()=>{const a=ee.fromPositions(e);this._currentDecorations.set([{range:a,options:_T}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(V1,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()}};Uv=vT([mT(2,on)],Uv);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},k8=function(o,e){return function(t,i){e(t,i,o)}},av,wc;let Mo=(wc=class{static get(e){return e.getContribution(av.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new or,this._messageListeners=new Vt,this._mouseOverMessage=!1,this._editor=e,this._visible=av.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){zr(Xx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Xx(e)?a3(e,{actionHandler:{callback:n=>{this.closeMessage(),l3(this._openerService,n,Xx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new B8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Rs.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&c3(xA(),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(Nn(this._messageWidget.value.getDomNode(),us.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Nn(this._messageWidget.value.getDomNode(),us.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(B8.fadeOut(this._messageWidget.value))}},av=wc,wc.ID="editor.contrib.messageController",wc.MESSAGE_VISIBLE=new Ln("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),wc);Mo=av=bT([k8(1,On),k8(2,ha)],Mo);const CT=ko.bindToContribution(Mo.get);Ri(new CT({id:"leaveEditorMessage",precondition:Mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let B8=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)}};vn(Mo.ID,Mo,4);function mC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",L8(o),F8(o.stack)||F8(o.stacktrace)):L8(o)}function F8(o){return Array.isArray(o)?o.join(`
|
|
16
|
-
`):o}function L8(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 qv(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=Sl(o),i=qv(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(_A(o))return o;if(o.detail){const t=o.detail;if(t.error)return mC(t.error,e);if(t.exception)return mC(t.exception,e)}return o.stack?mC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var c5=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)}},j1,jd;let $1=(jd=class extends $t{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(ss(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(ss((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(Rs.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=wi(".post-edit-widget"),this.button=this._register(new d3(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Nn(this.domNode,us.CLICK,()=>this.showSelector()))}getId(){return j1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=wo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>u3({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},j1=jd,jd.baseId="editor.widget.postEditWidget",jd);$1=j1=c5([df(7,a0),df(8,On),df(9,Bs)],$1);let Gv=class extends $t{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 or),this._register(Rs.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)=>{Zc(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,qv(w)))}if(s.isCancellationRequested)return;const g=a5(r.uri,e,f),p=e[0],C=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let b,y;try{b=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),y=r.getDecorationRange(C[0])}catch(w){return u(w,S("applyError",`Error applying edit '{0}':
|
|
18
|
-
{1}`,a.title,qv(w)))}finally{r.deltaDecorations(C,[])}s.isCancellationRequested||i&&b.isApplied&&t.allEdits.length>1&&this.show(y??p,t,d)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance($1,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()}};Gv=c5([df(4,on),df(5,z_),df(6,vo)],Gv);var ET=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)}},gd;const d5="editor.changePasteType",D9=new Ln("pasteWidgetVisible",!1,S("pasteWidgetVisible","Whether the paste widget is showing")),_C="application/vnd.code.copyMetadata";var $d;let Ll=($d=class extends $t{static get(e){return e.getContribution(gd.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(Nn(d,"copy",u=>this.handleCopy(u))),this._register(Nn(d,"cut",u=>this.handleCopy(u))),this._register(Nn(d,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new Uv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(Gv,"pasteIntoEditor",e,D9,{id:d5,label:S("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},Pw().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 y,w,A,I;if(!this._editor.hasTextFocus()||((w=(y=this._clipboardService).clearInternalState)==null||w.call(y),!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,V_),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(M=>!!M.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=t5(e.clipboardData),p=f.flatMap(M=>M.copyMimeTypes??[]),C=xb();this.setCopyMetadata(e.clipboardData,{id:C,providerCopyMimeTypes:p,defaultPastePayload:u});const b=Gs(async M=>{const R=Sl(await Promise.all(f.map(async P=>{try{return await P.prepareDocumentPaste(t,s,g,M)}catch(V){console.error(V);return}})));R.reverse();for(const P of R)for(const[V,$]of P)g.replace(V,$);return g});(I=gd._currentCopyOperation)==null||I.dataTransferPromise.cancel(),gd._currentCopyOperation={handle:C,dataTransferPromise:b}}async handlePaste(e){var d,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(d=Mo.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=i5(e.clipboardData);s.delete(_C);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Ys.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(y=>J6(y,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=Mo.get(this._editor))==null||i.showMessage(S("pasteAsError","No paste edits for '{0}' found",t instanceof os?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new If(r,3,void 0),d=Gs(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new Vt,C=p.add(new Ks(u));p.add(a.token.onCancellationRequested(()=>C.cancel()));const b=C.token;try{if(await this.mergeInDataFromCopy(i,n,b),b.isCancellationRequested)return;const y=e.filter(I=>this.isSupportedPasteProvider(I,i));if(!y.length||y.length===1&&y[0]instanceof Ru)return this.applyDefaultPasteHandler(i,n,b,s);const w={triggerKind:o1.Automatic},A=await this.getPasteEdits(y,i,g,t,w,b);if(p.add(A),b.isCancellationRequested)return;if(A.edits.length===1&&A.edits[0].provider instanceof Ru)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,(M,R)=>new Promise((P,V)=>{(async()=>{var $,J;try{const re=(J=($=M.provider).resolveDocumentPasteEdit)==null?void 0:J.call($,M,R),fe=new j_,Z=re&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),S("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([fe.p,re]),{cancel:()=>(fe.cancel(),V(new $_))},0);return Z&&(M.additionalEdit=Z.additionalEdit),P(M)}catch(re){return V(re)}})()}),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=Gs(async a=>{const d=this._editor;if(!d.hasModel())return;const u=d.getModel(),f=new Vt,g=f.add(new If(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:o1.PasteAs,only:e&&e instanceof os?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 os?e.contains(A.kind):e.providerId===A.provider.id),dispose:b.dispose}),!b.edits.length){C.only&&this.showPasteAsNoEditMessage(i,C.only);return}let y;if(e)y=b.edits.at(0);else{const A=await this._quickInputService.pick(b.edits.map(I=>{var M;return{label:I.title,description:(M=I.kind)==null?void 0:M.value,edit:I}}),{placeHolder:S("pasteAsPickerPlaceholder","Select Paste Action")});y=A==null?void 0:A.edit}if(!y)return;const w=a5(u.uri,i,y);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(_C,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(_C);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=h3.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=gd._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await gd._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Ys.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Ys.uriList,E9(vb.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new Vt,d=await Dp(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){Zc(C)||console.error(C);return}})),r),u=Sl(d??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:l5(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ys.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 os?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},gd=$d,$d.ID="editor.contrib.copyPasteActionController",$d);Ll=gd=ET([bh(1,on),bh(2,z_),bh(3,l0),bh(4,Li),bh(5,Rl),bh(6,f3)],Ll);const Ou="9_cutcopypaste",yT=c0||document.queryCommandSupported("cut"),u5=c0||document.queryCommandSupported("copy"),wT=typeof navigator.clipboard>"u"||g3?document.queryCommandSupported("paste"):!0;function A9(o){return o.register(),o}const ST=yT?A9(new Tw({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:c0?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:hi.MenubarEditMenu,group:"2_ccp",title:S({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:hi.EditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1},{menuId:hi.CommandPalette,group:"",title:S("actions.clipboard.cutLabel","Cut"),order:1},{menuId:hi.SimpleEditorContext,group:Ou,title:S("actions.clipboard.cutLabel","Cut"),when:q.writable,order:1}]})):void 0,DT=u5?A9(new Tw({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:c0?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:hi.MenubarEditMenu,group:"2_ccp",title:S({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:hi.EditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2},{menuId:hi.CommandPalette,group:"",title:S("actions.clipboard.copyLabel","Copy"),order:1},{menuId:hi.SimpleEditorContext,group:Ou,title:S("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Wr.appendMenuItem(hi.MenubarEditMenu,{submenu:hi.MenubarCopy,title:Bi("copy as","Copy As"),group:"2_ccp",order:3});Wr.appendMenuItem(hi.EditorContext,{submenu:hi.EditorContextCopy,title:Bi("copy as","Copy As"),group:Ou,order:3});Wr.appendMenuItem(hi.EditorContext,{submenu:hi.EditorContextShare,title:Bi("share","Share"),group:"11_share",order:-1,when:Ke.and(Ke.notEquals("resourceScheme","output"),q.editorTextFocus)});Wr.appendMenuItem(hi.ExplorerContext,{submenu:hi.ExplorerContextShare,title:Bi("share","Share"),group:"11_share",order:-1});const bC=wT?A9(new Tw({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:c0?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:hi.MenubarEditMenu,group:"2_ccp",title:S({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:hi.EditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4},{menuId:hi.CommandPalette,group:"",title:S("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:hi.SimpleEditorContext,group:Ou,title:S("actions.clipboard.pasteLabel","Paste"),when:q.writable,order:4}]})):void 0;class AT extends St{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:q.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(MS.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),MS.forceCopyWithSyntaxHighlighting=!1)}}function h5(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(ws).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)=>(Pw().execCommand(e),!0)))}h5(ST,"cut");h5(DT,"copy");bC&&(bC.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(ws),i=o.get(l0),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=Ll.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():p3?(async()=>{const a=await i.readText();if(a!==""){const d=x3.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}),bC.addImplementation(0,"generic-dom",(o,e)=>(Pw().execCommand("paste"),!0)));u5&&Re(AT);const es=new class{constructor(){this.QuickFix=new os("quickfix"),this.Refactor=new os("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 os("notebook"),this.Source=new os("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Ho;(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"})(Ho||(Ho={}));function kT(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>f5(e,t,o.include))||!o.includeSourceActions&&es.Source.contains(e))}function BT(o,e){const t=e.kind?new os(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>f5(t,i,o.include))||!o.includeSourceActions&&t&&es.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function f5(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Ma{static fromUser(e,t){return!e||typeof e!="object"?new Ma(t.kind,t.apply,!1):new Ma(Ma.getKindFromUser(e,t.kind),Ma.getApplyFromUser(e,t.apply),Ma.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 os(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 FT{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){ys(n)}i&&(this.action.edit=i.edit)}return this}}const g5="editor.action.codeAction",k9="editor.action.quickFix",p5="editor.action.autoFix",x5="editor.action.refactor",v5="editor.action.sourceAction",U1="editor.action.organizeImports",q1="editor.action.fixAll";class gg extends $t{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:ir(e.diagnostics)?ir(t.diagnostics)?gg.codeActionsPreferredComparator(e,t):-1:ir(t.diagnostics)?1:gg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(gg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&es.QuickFix.contains(new os(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 I8={actions:[],documentation:void 0};async function qh(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],es.Notebook]},d={only:(y=r.include)==null?void 0:y.value,trigger:i.type},u=new v3(e,s),f=i.type===2,g=LT(o,e,f?a:r),p=new Vt,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 I8;const I=((A==null?void 0:A.actions)||[]).filter(R=>R&&BT(r,R)),M=PT(w,I,r.include);return{actions:I.map(R=>new FT(R,w)),documentation:M}}catch(A){if(Zc(A))throw A;return ys(A),I8}}),b=o.onDidChange(()=>{const w=o.all(e);Ua(w,g)||u.cancel()});try{const w=await Promise.all(C),A=w.map(M=>M.actions).flat(),I=[...Sl(w.map(M=>M.documentation)),...IT(o,e,i,A)];return new gg(A,I,p)}finally{b.dispose(),u.dispose()}}function LT(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>kT(t,new os(n))):!0)}function*IT(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 PT(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new os(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 os(n.kind)))return s.command}}var Sd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Sd||(Sd={}));async function TT(o,e,t,i,n=fn.None){var u;const s=o.get(z_),r=o.get($s),a=o.get(fa),d=o.get(vo);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!==Sd.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=MT(f);d.error(typeof g=="string"?g:S("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function MT(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}is.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof Zn))throw bl();const{codeActionProvider:s}=o.get(Li),r=o.get(mo).getModel(e);if(!r)throw bl();const a=Ki.isISelection(t)?Ki.liftSelection(t):ee.isIRange(t)?r.validateRange(t):void 0;if(!a)throw bl();const d=typeof i=="string"?new os(i):void 0,u=await qh(s,r,a,{type:1,triggerAction:Ho.Default,filter:{includeSourceActions:!0,include:d}},pl.None,fn.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(fn.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var RT=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},NT=function(o,e){return function(t,i){e(t,i,o)}},G1,Ud;let K1=(Ud=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Mw(()=>this.keybindingService.getKeybindings().filter(t=>G1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===U1?i={kind:es.SourceOrganizeImports.value}:t.command===q1&&(i={kind:es.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Ma.fromUser(i,{kind:os.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 os(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)}},G1=Ud,Ud.codeActionCommands=[x5,g5,v5,U1,q1],Ud);K1=G1=RT([NT(0,Bs)],K1);Si("symbolIcon.arrayForeground",Os,S("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.booleanForeground",Os,S("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("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."));Si("symbolIcon.colorForeground",Os,S("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.constantForeground",Os,S("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("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."));Si("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."));Si("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."));Si("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."));Si("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."));Si("symbolIcon.fileForeground",Os,S("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.folderForeground",Os,S("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("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."));Si("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."));Si("symbolIcon.keyForeground",Os,S("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.keywordForeground",Os,S("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("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."));Si("symbolIcon.moduleForeground",Os,S("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.namespaceForeground",Os,S("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.nullForeground",Os,S("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.numberForeground",Os,S("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.objectForeground",Os,S("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.operatorForeground",Os,S("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.packageForeground",Os,S("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.propertyForeground",Os,S("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.referenceForeground",Os,S("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.snippetForeground",Os,S("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.stringForeground",Os,S("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.structForeground",Os,S("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.textForeground",Os,S("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.typeParameterForeground",Os,S("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("symbolIcon.unitForeground",Os,S("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));Si("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 m5=Object.freeze({kind:os.Empty,title:S("codeAction.widget.id.more","More Actions...")}),OT=Object.freeze([{kind:es.QuickFix,title:S("codeAction.widget.id.quickfix","Quick Fix")},{kind:es.RefactorExtract,title:S("codeAction.widget.id.extract","Extract"),icon:Qi.wrench},{kind:es.RefactorInline,title:S("codeAction.widget.id.inline","Inline"),icon:Qi.wrench},{kind:es.RefactorRewrite,title:S("codeAction.widget.id.convert","Rewrite"),icon:Qi.wrench},{kind:es.RefactorMove,title:S("codeAction.widget.id.move","Move"),icon:Qi.wrench},{kind:es.SurroundWith,title:S("codeAction.widget.id.surround","Surround With"),icon:Qi.surroundWith},{kind:es.Source,title:S("codeAction.widget.id.source","Source Action"),icon:Qi.symbolFile},m5]);function HT(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:m5,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=OT.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new os(s.action.kind):os.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:Qi.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}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},zT=function(o,e){return function(t,i){e(t,i,o)}},Rh;const P8=Cs("gutter-lightbulb",Qi.lightBulb,S("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),T8=Cs("gutter-lightbulb-auto-fix",Qi.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.")),M8=Cs("gutter-lightbulb-sparkle",Qi.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.")),R8=Cs("gutter-lightbulb-aifix-auto-fix",Qi.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.")),N8=Cs("gutter-lightbulb-sparkle-filled",Qi.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 Zr;(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})(Zr||(Zr={}));var vl;let Ug=(vl=class extends $t{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new hn),this.onClick=this._onClick.event,this._state=Zr.Hidden,this._gutterState=Zr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+P8.id,"codicon-"+R8.id,"codicon-"+T8.id,"codicon-"+M8.id,"codicon-"+N8.id],this.gutterDecoration=Rh.GUTTER_DECORATION,this._domNode=wi("div.lightBulbWidget"),this._domNode.role="listbox",this._register(bA.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(m3(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=wo(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(Nn(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(Rs.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(p5))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(k9))==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}=wo(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=Rw(g,u),C=f.spaceWidth*p>22,b=P=>P>2&&this._editor.getTopForLineNumber(P)===this._editor.getTopForLineNumber(P-1),y=this._editor.getLineDecorations(a);let w=!1;if(y)for(const P of y){const V=P.options.glyphMarginClassName;if(V&&!this.lightbulbClasses.some($=>V.includes($))){w=!0;break}}let A=a,I=1;if(!C){const P=V=>{const $=r.getLineContent(V);return/^\s*$|^\s+/.test($)||$.length<=I};if(a>1&&!b(a-1)){const V=r.getLineCount(),$=a===V,J=a>1&&P(a-1),re=!$&&P(a+1),fe=P(a),Z=!re&&!J;if(!re&&!J&&!w)return this.gutterState=new Zr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),this.renderGutterLightbub(),this.hide();J||$||J&&!fe?A-=1:(re||Z&&fe)&&(A+=1)}else if(a===1&&(a===r.getLineCount()||!P(a+1)&&!P(a)))if(this.gutterState=new Zr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._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 Zr.Showing(e,t,i,{position:{lineNumber:A,column:I},preference:Rh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const M=e.validActions,R=e.validActions[0].action.kind;if(M.length!==1||!R){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Zr.Hidden&&(this.state=Zr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Zr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Zr.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=Qi.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Qi.lightbulbSparkleAutofix:e=Qi.lightbulbAutofix:this.state.actions.hasAIFix?e=Qi.lightbulbSparkle:e=Qi.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=zn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=N8,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=R8:e=T8:this.gutterState.actions.hasAIFix?e=M8:e=P8,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=kn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:zn.asClassName(e),glyphMargin:{position:Sv.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}},Rh=vl,vl.GUTTER_DECORATION=kn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:zn.asClassName(Qi.lightBulb),glyphMargin:{position:Sv.Left},stickiness:1}),vl.ID="editor.contrib.lightbulbWidget",vl._posPref=[0],vl);Ug=Rh=WT([zT(1,Bs)],Ug);var _5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Z1=function(o,e){return function(t,i){e(t,i,o)}};const b5="acceptSelectedCodeAction",C5="previewSelectedCodeAction";class VT{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 X1=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 Nw(e,Ow);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=zn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Ld(e.group.icon.color.id))):(i.icon.className=zn.asClassName(Qi.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=E5(e.label),i.keybinding.set(e.keybinding),_3(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(b5))==null?void 0:a.getLabel(),s=(d=this._keybindingService.lookupKeybinding(C5))==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()}};X1=_5([Z1(1,Bs)],X1);class jT extends UIEvent{constructor(){super("acceptSelectedAction")}}class O8 extends UIEvent{constructor(){super("previewSelectedAction")}}function $T(o){if(o.kind==="action")return o.label}let Y1=class extends $t{constructor(e,t,i,n,s,r){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=r,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Ks),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:d=>d.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:d=>d.kind};this._list=this._register(new Hw(e,this.domNode,a,[new X1(t,this._keybindingService),new VT],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:$T},accessibilityProvider:{getAriaLabel:d=>{if(d.kind==="action"){let u=d.label?E5(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(b3),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 O8:new jT;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 O8):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([])}};Y1=_5([Z1(4,U_),Z1(5,Bs)],Y1);function E5(o){return o.replace(/\r\n|\r|\n/g," ")}var UT=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},CC=function(o,e){return function(t,i){e(t,i,o)}};Si("actionBar.toggledBackground",Ww,S("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Hu={Visible:new Ln("codeActionMenuVisible",!1,S("codeActionMenuVisible","Whether the action widget list is visible"))},Ju=Nl("actionWidgetService");let Wu=class extends $t{get isVisible(){return Hu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new or)}show(e,t,i,n,s,r,a){const d=Hu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(Y1,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 Vt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Nn(a,us.MOUSE_DOWN,b=>b.stopPropagation()));const d=document.createElement("div"),u=e.appendChild(d);u.classList.add("context-view-pointerBlock"),s.add(Nn(u,us.POINTER_MOVE,()=>u.remove())),s.add(Nn(u,us.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(Pf(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=wi(e),n=new Fg(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Wu=UT([CC(0,U_),CC(1,On),CC(2,on)],Wu);Ol(Ju,Wu,1);const Gp=1100;Gn(class extends Ao{constructor(){super({id:"hideCodeActionWidget",title:Bi("hideCodeActionWidget.title","Hide action widget"),precondition:Hu.Visible,keybinding:{weight:Gp,primary:9,secondary:[1033]}})}run(o){o.get(Ju).hide(!0)}});Gn(class extends Ao{constructor(){super({id:"selectPrevCodeAction",title:Bi("selectPrevCodeAction.title","Select previous action"),precondition:Hu.Visible,keybinding:{weight:Gp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusPrevious()}});Gn(class extends Ao{constructor(){super({id:"selectNextCodeAction",title:Bi("selectNextCodeAction.title","Select next action"),precondition:Hu.Visible,keybinding:{weight:Gp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.focusNext()}});Gn(class extends Ao{constructor(){super({id:b5,title:Bi("acceptSelected.title","Accept selected action"),precondition:Hu.Visible,keybinding:{weight:Gp,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected()}});Gn(class extends Ao{constructor(){super({id:C5,title:Bi("previewSelected.title","Preview selected action"),precondition:Hu.Visible,keybinding:{weight:Gp,primary:2051}})}run(o){const e=o.get(Ju);e instanceof Wu&&e.acceptSelected(!0)}});const y5=new Ln("supportedCodeAction",""),H8="_typescript.applyFixAllCodeAction";class qT extends $t{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Ap),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=>Dv(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Ho.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!==sC.Off){{if(i===sC.On)return t;if(i===sC.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 md;(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(Zc(r))return w5;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(md||(md={}));const w5=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class GT extends $t{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 or),this._state=md.Empty,this._onDidChangeState=this._register(new hn),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=y5.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(md.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(md.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 qT(this._editor,this._markerService,i=>{var d;if(!i){this.setState(md.Empty);return}const n=i.selection.getStartPosition(),s=Gs(async u=>{var f,g,p,C,b,y,w,A,I,M;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Ho.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(es.QuickFix))){const R=await qh(this._registry,e,i.selection,i.trigger,pl.None,u),P=[...R.allActions];if(u.isCancellationRequested)return w5;const V=(p=R.validActions)==null?void 0:p.some(J=>J.action.kind?es.QuickFix.contains(new os(J.action.kind)):!1),$=this._markerService.read({resource:e.uri});if(V){for(const J of R.validActions)(b=(C=J.action.command)==null?void 0:C.arguments)!=null&&b.some(re=>typeof re=="string"&&re.includes(H8))&&(J.action.diagnostics=[...$.filter(re=>re.relatedInformation)]);return{validActions:R.validActions,allActions:P,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}else if(!V&&$.length>0){const J=i.selection.getPosition();let re=J,fe=Number.MAX_VALUE;const Z=[...R.validActions];for(const ve of $){const se=ve.endColumn,ue=ve.endLineNumber,Se=ve.startLineNumber;if(ue===J.lineNumber||Se===J.lineNumber){re=new Fi(ue,se);const Ie={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(w=i.trigger.filter)==null?void 0:w.include:es.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((A=i.trigger.context)==null?void 0:A.notAvailableMessage)||"",position:re}},xe=new Ki(re.lineNumber,re.column,re.lineNumber,re.column),Ne=await qh(this._registry,e,xe,Ie,pl.None,u);if(Ne.validActions.length!==0){for(const ze of Ne.validActions)(M=(I=ze.action.command)==null?void 0:I.arguments)!=null&&M.some(me=>typeof me=="string"&&me.includes(H8))&&(ze.action.diagnostics=[...$.filter(me=>me.relatedInformation)]);R.allActions.length===0&&P.push(...Ne.allActions),Math.abs(J.column-se)<fe?Z.unshift(...Ne.validActions):Z.push(...Ne.validActions)}fe=Math.abs(J.column-se)}}const de=Z.filter((ve,se,ue)=>ue.findIndex(Se=>Se.action.title===ve.action.title)===se);return de.sort((ve,se)=>ve.action.isPreferred&&!se.action.isPreferred?-1:!ve.action.isPreferred&&se.action.isPreferred||ve.action.isAI&&!se.action.isAI?1:!ve.action.isAI&&se.action.isAI?-1:0),{validActions:de,allActions:P,documentation:R.documentation,hasAutoFix:R.hasAutoFix,hasAIFix:R.hasAIFix,allAIFixes:R.allAIFixes,dispose:()=>{R.dispose()}}}}if(i.trigger.type===1){const R=new Oo,P=await qh(this._registry,e,i.selection,i.trigger,pl.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:P.validActions.length,duration:R.elapsed()}),P}return qh(this._registry,e,i.selection,i.trigger,pl.None,u)});i.trigger.type===1&&((d=this._progressService)==null||d.showWhile(s,250));const r=new md.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:Ho.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 KT=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},ba=function(o,e){return function(t,i){e(t,i,o)}},Nh;const ZT="quickfix-edit-highlight";var Sc;let Gf=(Sc=class extends $t{static get(e){return e.getContribution(Nh.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 or),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new GT(this._editor,s.codeActionProvider,t,i,r,d,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new Mw(()=>{const p=this._editor.getContribution(Ug.ID);return p&&this._register(p.onClick(C=>this.showCodeActionsFromLightbulb(C.actions,C))),p}),this._resolver=n.createInstance(K1),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,Sd.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=Mo.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(TT,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Ho.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){Yn(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,Sd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Mo.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=Mo.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=Fi.isIPosition(t)?this.toCoords(t):t,d={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?Sd.FromAILightbulb:Sd.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 os(p);g=[es.RefactorExtract,es.RefactorInline,es.RefactorRewrite,es.RefactorMove,es.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(y=>({range:y,options:Nh.DECORATION})):p.map(y=>({range:y,options:Nh.DECORATION}));n.set(b)}else if(C&&C.length>0){const b=C.map(w=>({range:w,options:Nh.DECORATION}));n.set(b);const y=C[0];if(y.startLineNumber&&y.startColumn){const w=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:g.word;Tf(S("editingNewSelection","Context: {0} at line {1} and column {2}.",w,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,HT(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=wo(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}},Nh=Sc,Sc.ID="editor.contrib.codeActionController",Sc.DECORATION=kn.register({description:"quickfix-highlight",className:ZT}),Sc);Gf=Nh=KT([ba(1,zw),ba(2,On),ba(3,on),ba(4,Li),ba(5,kp),ba(6,$s),ba(7,rs),ba(8,Ju),ba(9,on),ba(10,fa)],Gf);q_((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(C3));const i=o.getColor(CA);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Lg(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Kp(o){return Ke.regex(y5.keys()[0],new RegExp("(\\s|^)"+Ig(o.value)+"\\b"))}const B9={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 eh(o,e,t,i,n=Ho.Default){if(o.hasModel()){const s=Gf.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class XT extends St{constructor(){super({id:k9,label:S("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:Ke.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:2137,weight:100}})}run(e,t){return eh(t,S("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Ho.QuickFix)}}class YT extends ko{constructor(){super({id:g5,precondition:Ke.and(q.writable,q.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:B9}]}})}runEditorCommand(e,t,i){const n=Ma.fromUser(i,{kind:os.Empty,apply:"ifSingle"});return eh(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 QT extends St{constructor(){super({id:x5,label:S("refactor.label","Refactor..."),alias:"Refactor...",precondition:Ke.and(q.writable,q.hasCodeActionsProvider),kbOpts:{kbExpr:q.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Ke.and(q.writable,Kp(es.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:B9}]}})}run(e,t,i){const n=Ma.fromUser(i,{kind:es.Refactor,apply:"never"});return eh(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:es.Refactor.contains(n.kind)?n.kind:os.None,onlyIncludePreferredActions:n.preferred},n.apply,Ho.Refactor)}}class JT extends St{constructor(){super({id:v5,label:S("source.label","Source Action..."),alias:"Source Action...",precondition:Ke.and(q.writable,q.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Ke.and(q.writable,Kp(es.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:B9}]}})}run(e,t,i){const n=Ma.fromUser(i,{kind:es.Source,apply:"never"});return eh(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:es.Source.contains(n.kind)?n.kind:os.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Ho.SourceAction)}}class eM extends St{constructor(){super({id:U1,label:S("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:Ke.and(q.writable,Kp(es.SourceOrganizeImports)),kbOpts:{kbExpr:q.textInputFocus,primary:1581,weight:100}})}run(e,t){return eh(t,S("editor.action.organize.noneMessage","No organize imports action available"),{include:es.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Ho.OrganizeImports)}}class tM extends St{constructor(){super({id:q1,label:S("fixAll.label","Fix All"),alias:"Fix All",precondition:Ke.and(q.writable,Kp(es.SourceFixAll))})}run(e,t){return eh(t,S("fixAll.noneMessage","No fix all action available"),{include:es.SourceFixAll,includeSourceActions:!0},"ifSingle",Ho.FixAll)}}class iM extends St{constructor(){super({id:p5,label:S("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:Ke.and(q.writable,Kp(es.QuickFix)),kbOpts:{kbExpr:q.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return eh(t,S("editor.action.autoFix.noneMessage","No auto fixes available"),{include:es.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Ho.AutoFix)}}vn(Gf.ID,Gf,3);vn(Ug.ID,Ug,4);Re(XT);Re(QT);Re(JT);Re(eM);Re(iM);Re(tM);Ri(new YT);ua.as(Bp.Configuration).registerConfiguration({...G_,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:S("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});ua.as(Bp.Configuration).registerConfiguration({...G_,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}}});ua.as(Bp.Configuration).registerConfiguration({...G_,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 Q1{constructor(){this.lenses=[],this._disposables=new Vt}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 S5(o,e,t){const i=o.ordered(e),n=new Map,s=new Q1,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){ys(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}is.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Hn(Zn.isUri(t)),Hn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Li),s=o.get(mo).getModel(t);if(!s)throw bl();const r=[],a=new Vt;return S5(n,s,fn.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,fn.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var nM=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},sM=function(o,e){return function(t,i){e(t,i,o)}};const D5=Nl("ICodeLensCache");class W8{constructor(e,t){this.lineCount=e,this.data=t}}let J1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Fp(20,.75);const t="codelens/cache";E3(y3,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=Rs.filter(e.onWillSaveState,r=>r.reason===Vw.SHUTDOWN);Rs.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 Q1;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new W8(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 Q1;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new W8(n.lineCount,r))}}catch{}}};J1=nM([sM(0,Xc)],J1);Ol(D5,J1,1);class oM{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 Ag=class Ag{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Ag._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=w3(r.command.title.trim());if(r.command.id){const d=`c${Ag._idPool++}`;i.push(wi("a",{id:d,title:r.command.tooltip,role:"button"},...a)),this._commands.set(d,r.command)}else i.push(wi("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(wi("span",void 0," | "))}}n?(Av(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):Av(this._domNode,wi("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}};Ag._idPool=0;let eE=Ag;class EC{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 z8=kn.register({collapseOnReplaceEdit:!0,description:"codelens"});class V8{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:z8},g=>this._decorationIds[f]=g),a?a=ee.plusRange(a,u.symbol.range):a=ee.lift(u.symbol.range)}),this._viewZone=new oM(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 eE(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:z8},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 rM=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},R0=function(o,e){return function(t,i){e(t,i,o)}},Cf;let qg=(Cf=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 Vt,this._localToDispose=new Vt,this._lenses=[],this._oldCodeLensModels=new Vt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new Ns(()=>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",jw.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&&Bg(()=>{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 Ns(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Gs(r=>S5(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()},Yn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(ss(()=>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 EC;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(ss(()=>{if(this._editor.getModel()){const n=Mf.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 EC;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=Mf.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(d=>{const u=new EC;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 V8(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 V8(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=Gs(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(y=>{g[b]=y},ys):(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=>{Yn(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}},Cf.ID="css.editor.codeLens",Cf);qg=rM([R0(1,Li),R0(2,mr),R0(3,$s),R0(4,vo),R0(5,D5)],qg);vn(qg.ID,qg,1);Re(class extends St{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:q.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(Rl),n=e.get($s),s=e.get(vo),r=t.getSelection().positionLineNumber,a=t.getContribution(qg.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 y;return b.symbol.range.startLineNumber===r&&((y=b.symbol.command)==null?void 0:y.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 A5=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},tE=function(o,e){return function(t,i){e(t,i,o)}};let Gg=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 Sn(new Rf(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),d=r?Sn.Format.CSS.formatRGB(a):Sn.Format.CSS.formatRGBA(a),u=r?Sn.Format.CSS.formatHSL(a):Sn.Format.CSS.formatHSLA(a),f=r?Sn.Format.CSS.formatHex(a):Sn.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}};Gg=A5([tE(0,Hl)],Gg);let iE=class extends $t{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Gg(t)))}};iE=A5([tE(0,Li),tE(1,Hl)],iE);d0(iE);async function k5(o,e,t,i=!0){return F9(new aM,o,e,t,i)}function B5(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class aM{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 lM{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 cM{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,fn.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function F9(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 Gg)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){ys(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function F5(o,e){const{colorProvider:t}=o.get(Li),i=o.get(mo).getModel(e);if(!i)throw bl();const n=o.get(rs).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}is.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof Zn))throw bl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=F5(o,t);return F9(new lM,n,i,fn.None,s)});is.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof Zn)||!Array.isArray(t)||t.length!==4||!ee.isIRange(s))throw bl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:d}=F5(o,n),[u,f,g,p]=t;return F9(new cM({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,fn.None,d)});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},yC=function(o,e){return function(t,i){e(t,i,o)}},nE;const L5=Object.create({});var Dc;let Kf=(Dc=class extends $t{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Vt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new EA(this._editor),this._decoratorLimitReporter=new uM,this._colorDecorationClassRefs=this._register(new Vt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:nE.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 Ap,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Gs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new Oo(!1),n=await k5(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){Yn(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:kn.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 Rf(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:mA,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:L5}}})}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)}},nE=Dc,Dc.ID="editor.contrib.colorDetector",Dc.RECOMPUTE_TIME=1e3,Dc);Kf=nE=dM([yC(1,rs),yC(2,Li),yC(3,mr)],Kf);class uM{constructor(){this._onDidChange=new hn,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}vn(Kf.ID,Kf,1);class hM{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 hn,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new hn,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new hn,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 Jo=wi;class fM extends $t{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Jo(".colorpicker-header"),xi(e,this._domNode),this._pickedColorNode=xi(this._domNode,Jo(".picked-color")),xi(this._pickedColorNode,Jo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=xi(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=xi(this._domNode,Jo(".original-color")),this._originalColorNode.style.backgroundColor=Sn.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(RS)||Sn.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(RS)||Sn.white})),this._register(Nn(this._pickedColorNode,us.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Nn(this._originalColorNode,us.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=Sn.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 gM(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Sn.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 gM extends $t{constructor(e){super(),this._onClicked=this._register(new hn),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),xi(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),xi(this._button,t),xi(t,Jo(".button"+zn.asCSSSelector(Cs("color-picker-close",Qi.close,S("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Nn(this._button,us.CLICK,()=>{this._onClicked.fire()}))}}class pM extends $t{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Jo(".colorpicker-body"),xi(e,this._domNode),this._saturationBox=new xM(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 vM(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 mM(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 _M(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 Sn(new Yx(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Sn(new Yx(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Sn(new Yx(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 xM extends $t{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new hn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new hn,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Jo(".saturation-wrap"),xi(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",xi(this._domNode,this._canvas),this.selection=Jo(".saturation-selection"),xi(this._domNode,this.selection),this.layout(),this._register(Nn(this._domNode,us.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 yA);const t=wo(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=Nn(e.target.ownerDocument,us.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 Sn(new Yx(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=Sn.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 I5 extends $t{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new hn,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new hn,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=xi(e,Jo(".standalone-strip")),this.overlay=xi(this.domNode,Jo(".standalone-overlay"))):(this.domNode=xi(e,Jo(".strip")),this.overlay=xi(this.domNode,Jo(".overlay"))),this.slider=xi(this.domNode,Jo(".slider")),this.slider.style.top="0px",this._register(Nn(this.domNode,us.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 yA),i=wo(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=Nn(e.target.ownerDocument,us.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 vM extends I5{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 Sn(new Rf(t,i,n,1)),r=new Sn(new Rf(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class mM extends I5{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class _M extends $t{constructor(e){super(),this._onClicked=this._register(new hn),this.onClicked=this._onClicked.event,this._button=xi(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Nn(this._button,us.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class bM extends Lp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(S3.getInstance(Id(e)).onDidChange(()=>this.layout())),this._domNode=Jo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new fM(this._domNode,this.model,n,s)),this.body=this._register(new pM(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class wC{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 lv{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 zu{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const th=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var P5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},T5=function(o,e){return function(t,i){e(t,i,o)}};class CM{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 Kg=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return ra.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=Kf.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 M5(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=R5(this,this._editor,this._themeService,t,e);if(!i)return new zu([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new zu([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Kg=P5([T5(1,$r)],Kg);class EM{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Zg=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!Kf.get(this._editor))return null;const s=await k5(i,this._editor.getModel(),fn.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 M5(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 cv(this._editor.getModel(),t,this._color,i,e),i=N5(this._editor,i,t))}renderHoverParts(e,t){return R5(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Zg=P5([T5(1,$r)],Zg);async function M5(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:d}=t.color,u=new Rf(Math.round(s*255),Math.round(r*255),Math.round(a*255),d),f=new Sn(u),g=await B5(e,t,i,fn.None),p=new hM(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Kg?new CM(o,ee.lift(t.range),p,i):new EM(o,ee.lift(t.range),p,i)}function R5(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Jn(302,p))}const s=new Vt,r=i[0],a=e.getModel(),d=r.model,u=s.add(new bM(n.fragment,d,e.getOption(144),t,o instanceof Zg));let f=!1,g=new ee(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Zg){const p=r.model.color;o.color=p,cv(a,d,p,g,r),s.add(d.onColorFlushed(C=>{o.color=C}))}else s.add(d.onColorFlushed(async p=>{await cv(a,d,p,g,r),f=!0,g=N5(e,g,d)}));return s.add(d.onDidChangeColor(p=>{cv(a,d,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function N5(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 cv(o,e,t,i,n){const s=await B5(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,fn.None);e.colorPresentations=s||[]}const O5="editor.action.showHover",yM="editor.action.showDefinitionPreviewHover",wM="editor.action.scrollUpHover",SM="editor.action.scrollDownHover",DM="editor.action.scrollLeftHover",AM="editor.action.scrollRightHover",kM="editor.action.pageUpHover",BM="editor.action.pageDownHover",FM="editor.action.goToTopHover",LM="editor.action.goToBottomHover",mb="editor.action.increaseHoverVerbosityLevel",IM=S({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),_b="editor.action.decreaseHoverVerbosityLevel",PM=S({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),H5="editor.action.inlineSuggest.commit",W5="editor.action.inlineSuggest.showPrevious",z5="editor.action.inlineSuggest.showNext";var L9=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},Pr=function(o,e){return function(t,i){e(t,i,o)}},dv;let sE=class extends $t{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Un(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 Fi(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Ip((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=AA((u,f)=>{const g=f.add(this.instantiationService.createInstance(Zf,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(ss(()=>e.removeContentWidget(g))),f.add(ds(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==Cl.Explicit&&r.triggerExplicitly()})),g}),d=K_(this,(u,f)=>!!this.position.read(u)||!!f);s.add(ds(u=>{d.read(u)&&a.read(u)}))}))}};sE=L9([Pr(2,on)],sE);const TM=Cs("inline-suggestion-hints-next",Qi.chevronRight,S("parameterHintsNextIcon","Icon for show next parameter hint.")),MM=Cs("inline-suggestion-hints-previous",Qi.chevronLeft,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Ac;let Zf=(Ac=class extends $t{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new Nf(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${dv.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Tr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Tr("div@toolBar")]),this.previousAction=this.createCommandAction(W5,S("previous","Previous"),zn.asClassName(MM)),this.availableSuggestionCountAction=new Nf("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(z5,S("next","Next"),zn.asClassName(TM)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(hi.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ns(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new Ns(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(d.createInstance(oE,this.nodes.toolBar,hi.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,C)=>{if(p instanceof Of)return d.createInstance(NM,p,void 0);if(p===this.availableSuggestionCountAction){const b=new RM(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=>{dv._dropDownVisible=p})),this._register(ds(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(ds(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(ds(p=>{const b=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:w=>this._commandService.executeCommand(y.id)}));for(const[y,w]of this.inlineCompletionsActionsMenus.getActions())for(const A of w)A instanceof Of&&b.push(A);b.length>0&&b.unshift(new Pg),this.toolBar.setAdditionalSecondaryActions(b)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},dv=Ac,Ac._dropDownVisible=!1,Ac.id=0,Ac);Zf=dv=L9([Pr(6,$s),Pr(7,on),Pr(8,Bs),Pr(9,On),Pr(10,Zu)],Zf);class RM extends r1{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 NM=class extends wA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Tr("div.keybinding").root;this._register(new Nw(t,Ow,{disableTitle:!0,...SA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},oE=class extends DA{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=[];$w(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){Ua(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ua(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};oE=L9([Pr(3,Zu),Pr(4,On),Pr(5,a0),Pr(6,Bs),Pr(7,$s),Pr(8,fa)],oE);function bb(o,e,t){const i=wo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let OM=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class V5 extends $t{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new hn),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new Ns(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new Ns(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new Ns(()=>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=D3(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){Yn(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 OM(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 I9{constructor(){this._onDidWillResize=new hn,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new hn,this.onDidResize=this._onDidResize.event,this._sashListener=new Vt,this._size=new Jn(0,0),this._minSize=new Jn(0,0),this._maxSize=new Jn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new zh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new zh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new zh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:NS.North}),this._southSash=new zh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:NS.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(Rs.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(Rs.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(Rs.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(Rs.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 Jn(t,e);Jn.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 HM=30,WM=24;class zM extends $t{constructor(e,t=new Jn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new I9),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Jn.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 Jn(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?Fi.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:wo(t).top+i.top-HM}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=wo(t),s=Pp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-WM}_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 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},Cx=function(o,e){return function(t,i){e(t,i,o)}},wa;const j8=30,jM=6;var kc;let rE=(kc=class extends zM{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 Jn(a,r);super(e,d),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new kA),this._onDidResize=this._register(new hn),this.onDidResize=this._onDidResize.event,this._minimumSize=d,this._hoverVisibleKey=q.hoverVisible.bindTo(t),this._hoverFocusedKey=q.hoverFocused.bindTo(t),xi(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(Pf(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 wa.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 wa._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return wa._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){wa._applyMaxDimensions(this._hover.contentsDomNode,e,t),wa._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 Jn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){wa._lastDimensions=new Jn(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=jM;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?Pp(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=wo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=$8(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=$8(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,wa._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,wa._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=Vh(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&&A3(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 Jn(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 Jn(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 Jn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Vh(e),i=Ar(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Vh(e),i=Ar(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=Vh(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-j8})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+j8})}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})}},wa=kc,kc.ID="editor.contrib.resizableContentHoverWidget",kc._lastDimensions=new Jn(0,0),kc);rE=wa=VM([Cx(1,On),Cx(2,rs),Cx(3,Z_),Cx(4,Bs)],rE);function $8(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 Kv{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 ra.EMPTY;const i=Kv._getLineDecorations(this._editor,t);return ra.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ra.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=Kv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return Sl(t)}}class j5{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 $M(this,this.anchor,t,this.isComplete)}}class $M extends j5{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var UM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qM=function(o,e){return function(t,i){e(t,i,o)}};const U8=wi;let Zv=class extends $t{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=U8("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=xi(this.hoverElement,U8("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(k3.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=xi(this.actionsElement,e);return this._hasContent=!0,t}};Zv=UM([qM(0,Bs)],Zv);class GM{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function KM(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ys);if(!(!s||!ZM(s)))return new GM(o,s,e)}function P9(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,d)=>KM(a,d,e,t,i));return ra.fromPromises(r).coalesce()}function $5(o,e,t,i,n=!1){return P9(o,e,t,i,n).map(s=>s.hover).toPromise()}Bo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Li);return $5(i.hoverProvider,e,t,fn.None)});Bo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Li);return $5(i.hoverProvider,e,t,fn.None,!0)});function ZM(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var XM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dd=function(o,e){return function(t,i){e(t,i,o)}};const Gh=wi,YM=Cs("hover-increase-verbosity",Qi.add,S("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),QM=Cs("hover-decrease-verbosity",Qi.remove,S("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Rr{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 U5{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case pr.Increase:return this.hover.canIncreaseVerbosity??!1;case pr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Xg=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 Rr(this,e.range,[new lo().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 Rr(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 Rr(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 y=b.range.startLineNumber===n?b.range.startColumn:1,w=b.range.endLineNumber===n?b.range.endColumn:s,A=b.options.hoverMessage;if(!A||Tg(A))continue;b.options.beforeContentClassName&&(C=!0);const I=new ee(e.range.startLineNumber,y,e.range.startLineNumber,w);r.push(new Rr(this,I,BA(A),C,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ra.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ra.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return P9(e,t,s,n).filter(d=>!Tg(d.hover.contents)).map(d=>{const u=d.hover.range?ee.lift(d.hover.range):i.range,f=new U5(d.hover,d.provider,s);return new Rr(this,u,d.hover.contents,!1,d.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new JM(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))}};Xg=XM([dd(1,ga),dd(2,ha),dd(3,rs),dd(4,Li),dd(5,Bs),dd(6,Tp),dd(7,$s)],Xg);class Ex{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class JM{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 Vt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(ss(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Mp(n=>n.ordinal,X_)),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 Vt;if(r.add(i),!s)return new Ex(e,n,r);const a=s.supportsVerbosityAction(pr.Increase),d=s.supportsVerbosityAction(pr.Decrease);if(!a&&!d)return new Ex(e,n,r);const u=Gh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,pr.Increase,a)),r.add(this._renderHoverExpansionAction(u,pr.Decrease,d)),new Ex(e,n,r)}_renderMarkdownHover(e,t){return q5(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Vt,s=t===pr.Increase,r=xi(e,Gh(zn.asCSSSelector(s?YM:QM)));r.tabIndex=0;const a=new B3("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,tR(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const d=()=>this._commandService.executeCommand(t===pr.Increase?mb:_b);return n.add(new F3(r,d)),n.add(new L3(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 U5(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Rr(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===pr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Ks;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const d={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,d))}catch(f){ys(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 Ex(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 eR(o,e,t,i,n){e.sort(Mp(r=>r.ordinal,X_));const s=[];for(const r of e)s.push(q5(t,r,i,n,o.onContentsChanged));return new zu(s)}function q5(o,e,t,i,n){const s=new Vt,r=Gh("div.hover-row"),a=Gh("div.hover-row-contents");r.appendChild(a);const d=e.contents;for(const f of d){if(Tg(f))continue;const g=Gh("div.markdown-hover"),p=xi(g,Gh("div.hover-contents")),C=s.add(new u0({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 tR(o,e){switch(e){case pr.Increase:{const t=o.lookupKeybinding(mb);return t?S("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):S("increaseVerbosity","Increase Hover Verbosity")}case pr.Decrease:{const t=o.lookupKeybinding(_b);return t?S("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):S("decreaseVerbosity","Decrease Hover Verbosity")}}}function aE(o,e){return!!o[e]}class SC{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=aE(e.event,t.triggerModifier),this.hasSideBySideModifier=aE(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class q8{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=aE(e,t.triggerModifier)}}class yx{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 G8(o){return o==="altKey"?qa?new yx(57,"metaKey",6,"altKey"):new yx(5,"ctrlKey",6,"altKey"):qa?new yx(6,"altKey",57,"metaKey"):new yx(6,"altKey",5,"ctrlKey")}class Cb extends $t{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new hn),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new hn),this.onExecute=this._onExecute.event,this._onCancel=this._register(new hn),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=G8(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=G8(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 SC(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new SC(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new SC(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new q8(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new q8(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 G5{constructor(e,t){this.range=e,this.direction=t}}class T9{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new T9(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){ys(t),this._isResolved=!1}}}const nf=class nf{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??nf._emptyInlayHintList,a])}catch(u){ys(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new $_;return new nf(i,s,t)}constructor(e,t,i){this._disposables=new Vt,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=nf._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 T9(a,new G5(g,u),r))}}this.items=n.sort((s,r)=>Fi.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)}};nf._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Xv=nf;function iR(o){return Zn.from({scheme:Eo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}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},nl=function(o,e){return function(t,i){e(t,i,o)}};let jr=class extends I3{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){Uw(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};jr=nR([nl(4,on),nl(5,ws),nl(6,$s),nl(7,On),nl(8,$r),nl(9,vo),nl(10,Z_),nl(11,Us),nl(12,Li)],jr);const K8=new Sn(new Rf(0,122,204)),sR={showArrow:!0,showFrame:!0,className:"",frameColor:K8,arrowColor:K8,keepEditorSelection:!1},oR="vs.editor.contrib.zoneWidget";class rR{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 aR{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const i_=class i_{constructor(e){this._editor=e,this._ruleName=i_._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),OS(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(){OS(this._ruleName),M3(`.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()}};i_._IdGenerator=new T3(".arrow-decoration-");let lE=i_;class lR{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Vt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=P3(t),Uw(this.options,sR,!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 lE(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:kn.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 rR(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 aR(oR+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 zh(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 K5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Z5=function(o,e){return function(t,i){e(t,i,o)}};const X5=Nl("IPeekViewService");Ol(X5,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 So;(function(o){o.inPeekEditor=new Ln("inReferenceSearchEditor",!0,S("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(So||(So={}));var Ef;let Yv=(Ef=class{constructor(e,t){e instanceof jr&&So.inPeekEditor.bindTo(t)}dispose(){}},Ef.ID="editor.contrib.referenceController",Ef);Yv=K5([Z5(1,On)],Yv);vn(Yv.ID,Yv,0);function cR(o){const e=o.get(ws).getFocusedCodeEditor();return e instanceof jr?e.getParentEditor():e}const dR={headerBackgroundColor:Sn.white,primaryHeadingColor:Sn.fromHex("#333333"),secondaryHeadingColor:Sn.fromHex("#6c6c6cb3")};let Qv=class extends lR{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new hn,this.onDidClose=this._onDidClose.event,Uw(this.options,dR,!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=wi(".head"),this._bodyElement=wi(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=wi(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Al(this._titleElement,"click",s=>this._onTitleClick(s))),xi(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=wi("span.filename"),this._secondaryHeading=wi("span.dirname"),this._metaHeading=wi("span.meta"),xi(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=wi(".peekview-actions");xi(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Fg(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Nf("peekview.close",S("label.close","Close"),zn.asClassName(Qi.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:R3.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:Va(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Mr(this._metaHeading)):Yo(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`)}};Qv=K5([Z5(2,on)],Qv);const uR=Si("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Sn.black,hcLight:Sn.white},S("peekViewTitleBackground","Background color of the peek view title area.")),Y5=Si("peekViewTitleLabel.foreground",{dark:Sn.white,light:Sn.black,hcDark:Sn.white,hcLight:Rp},S("peekViewTitleForeground","Color of the peek view title.")),Q5=Si("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},S("peekViewTitleInfoForeground","Color of the peek view title info.")),hR=Si("peekView.border",{dark:a1,light:a1,hcDark:Dl,hcLight:Dl},S("peekViewBorder","Color of the peek view borders and arrow.")),fR=Si("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Sn.black,hcLight:Sn.white},S("peekViewResultsBackground","Background color of the peek view result list."));Si("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Sn.white,hcLight:Rp},S("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));Si("peekViewResult.fileForeground",{dark:Sn.white,light:"#1E1E1E",hcDark:Sn.white,hcLight:Rp},S("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));Si("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},S("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));Si("peekViewResult.selectionForeground",{dark:Sn.white,light:"#6C6C6C",hcDark:Sn.white,hcLight:Rp},S("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const J5=Si("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Sn.black,hcLight:Sn.white},S("peekViewEditorBackground","Background color of the peek view editor."));Si("peekViewEditorGutter.background",J5,S("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));Si("peekViewEditorStickyScroll.background",J5,S("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));Si("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},S("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));Si("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},S("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));Si("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Bu,hcLight:Bu},S("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Uc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=N3.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,Ga(this.uri),this.range.startLineNumber,this.range.startColumn):S("aria.oneReference","in {0} on line {1} at column {2}",Ga(this.uri),this.range.startLineNumber,this.range.startColumn)}}class gR{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 Yg{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Wc}dispose(){uo(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}",Ga(this.uri),this.uri.fsPath):S("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Ga(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 gR(i))}catch(i){Yn(i)}return this}}class Ro{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new hn,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Ro._compareReferences);let n;for(const s of e)if((!n||!HS.isEqual(n.uri,s.uri,!0))&&(n=new Yg(this,s.uri),this.groups.push(n)),n.children.length===0||Ro._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Uc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){uo(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Ro(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:Np(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 HS.compare(e.uri,t.uri)||ee.compareRangesUsingStarts(e.range,t.range)}}var Eb=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yb=function(o,e){return function(t,i){e(t,i,o)}},cE;let dE=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Ro||e instanceof Yg}getChildren(e){if(e instanceof Ro)return e.groups;if(e instanceof Yg)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};dE=Eb([yb(0,pa)],dE);class pR{getHeight(){return 23}getTemplateId(e){return e instanceof Yg?Jv.id:em.id}}let uE=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Uc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Ga(e.uri)}};uE=Eb([yb(0,Bs)],uE);class xR{getId(e){return e instanceof Uc?e.id:e.uri}}let hE=class extends $t{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new FA(i,{supportHighlights:!0})),this.badge=new O3(xi(i,wi(".count")),{},H3),e.appendChild(i)}set(e,t){const i=qw(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))}};hE=Eb([yb(1,Mg)],hE);var qd;let Jv=(qd=class{constructor(e){this._instantiationService=e,this.templateId=cE.id}renderTemplate(e){return this._instantiationService.createInstance(hE,e)}renderElement(e,t,i){i.set(e.element,Y_(e.filterData))}disposeTemplate(e){e.dispose()}},cE=qd,qd.id="FileReferencesRenderer",qd);Jv=cE=Eb([yb(0,on)],Jv);class vR extends $t{constructor(e){super(),this.label=this._register(new W3(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(`${Ga(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Rg.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,Y_(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const n_=class n_{constructor(){this.templateId=n_.id}renderTemplate(e){return new vR(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};n_.id="OneReferenceRenderer";let em=n_;class mR{getWidgetAriaLabel(){return S("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var _R=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ch=function(o,e){return function(t,i){e(t,i,o)}};const s_=class s_{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Vt,this._callOnModelChange=new Vt,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:s_.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()}};s_.DecorationOptions=kn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let fE=s_;class bR{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 CR extends j3{}let gE=class extends Qv{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 Vt,this._callOnDispose=new Vt,this._onDidSelectReference=new hn,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Jn(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(),uo(this._preview),uo(this._previewNotAvailableMessage),uo(this._tree),uo(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(hR)||Sn.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(uR)||Sn.transparent,primaryHeadingColor:e.getColor(Y5),secondaryHeadingColor:e.getColor(Q5)})}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=xi(e,wi("div.messages")),Yo(this._messageContainer),this._splitView=new z3(e,{orientation:1}),this._previewContainer=xi(e,wi("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(jr,this._previewContainer,t,{},this.editor),Yo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(fc,S("missingPreviewMessage","no preview available"),Ng,fc.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=xi(e,wi("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new mR,keyboardNavigationLabelProvider:this._instantiationService.createInstance(uE),identityProvider:new xR,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:fR}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(Al(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(CR,"ReferencesWidget",this._treeContainer,new pR,[this._instantiationService.createInstance(Jv),this._instantiationService.createInstance(em)],this._instantiationService.createInstance(dE),i),this._splitView.addView({onDidChange:Rs.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},WS.Distribute),this._splitView.addView({onDidChange:Rs.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)}},WS.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 Uc&&(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")})),Yo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Jn(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"),Mr(this._messageContainer),Promise.resolve(void 0)):(Yo(this._messageContainer),this._decorationsManager=new fE(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"),Mr(this._treeContainer),Mr(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 Uc)return e;if(e instanceof Yg&&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!==Eo.inMemory?this.setTitle(V3(e.uri),this._uriLabel.getUriLabel(qw(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}uo(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()}};gE=_R([Ch(3,$r),Ch(4,pa),Ch(5,on),Ch(6,X5),Ch(7,Mg),Ch(8,Bs)],gE);var ER=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)}},uv;const ih=new Ln("referenceSearchVisible",!1,S("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Gd;let Vu=(Gd=class{static get(e){return e.getContribution(uv.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 Vt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ih.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=bR.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(gE,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 Fi(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=uv.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Gs(d=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Yn(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)}},uv=Gd,Gd.ID="editor.contrib.referencesController",Gd);Vu=uv=ER([Eh(2,On),Eh(3,ws),Eh(4,vo),Eh(5,on),Eh(6,Xc),Eh(7,rs)],Vu);function nh(o,e){const t=cR(o);if(!t)return;const i=Vu.get(t);i&&e(i)}Xa.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ks(2089,60),when:Ke.or(ih,So.inPeekEditor),handler(o){nh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Xa.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Ke.or(ih,So.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Xa.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Ke.or(ih,So.inPeekEditor),handler(o){nh(o,e=>{e.goToNextOrPreviousReference(!1)})}});is.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");is.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");is.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");is.registerCommand("closeReferenceSearch",o=>nh(o,e=>e.closeWidget()));Xa.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Ke.and(So.inPeekEditor,Ke.not("config.editor.stablePeek"))});Xa.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Ke.and(ih,Ke.not("config.editor.stablePeek"),Ke.or(q.editorTextFocus,$3.negate()))});Xa.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Ke.and(ih,LA,IA.negate(),PA.negate()),handler(o){var i;const t=(i=o.get(Gw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Uc&&nh(o,n=>n.revealReference(t[0]))}});Xa.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Ke.and(ih,LA,IA.negate(),PA.negate()),handler(o){var i;const t=(i=o.get(Gw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Uc&&nh(o,n=>n.openReference(t[0],!0,!0))}});is.registerCommand("openReference",o=>{var i;const t=(i=o.get(Gw).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Uc&&nh(o,n=>n.openReference(t[0],!1,!0))});var eB=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)}};const M9=new Ln("hasSymbols",!1,S("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),wb=Nl("ISymbolNavigationService");let pE=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=M9.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 xE(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(Dv(g.uri,a.uri))u=!0,f=f||ee.containsPosition(g.range,d);else if(u)break;(!u||!f)&&this.reset()});this._currentState=TA(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)}};pE=eB([Z0(0,On),Z0(1,ws),Z0(2,vo),Z0(3,Bs)],pE);Ol(wb,pE,1);Ri(new class extends ko{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:M9,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(wb).revealNext(e)}});Xa.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:M9,primary:9,handler(o){o.get(wb).reset()}});let xE=class{constructor(e){this._listener=new Map,this._disposables=new Vt,this._onDidChange=new hn,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(),uo(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,TA(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)}};xE=eB([Z0(0,ws)],xE);function vE(o,e){return e.uri.scheme===o.uri.scheme?!0:!U3(e.uri,Eo.walkThroughSnippet,Eo.vscodeChatCodeBlock,Eo.vscodeChatCodeCompareBlock)}async function Zp(o,e,t,i,n){const r=t.ordered(o,i).map(d=>Promise.resolve(n(d,o,e)).then(void 0,u=>{ys(u)})),a=await Promise.all(r);return Sl(a.flat()).filter(d=>vE(o,d))}function Xp(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function R9(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function N9(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function O9(o,e,t,i,n){return Zp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function Yp(o,e,t,i,n,s){return Zp(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=>vE(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=>vE(a,C));return f&&f.length===1?f:u})}async function Ya(o){const e=await o(),t=new Ro(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Bo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Li),n=Xp(i.definitionProvider,e,t,!1,fn.None);return Ya(()=>n)});Bo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Li),n=Xp(i.definitionProvider,e,t,!0,fn.None);return Ya(()=>n)});Bo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Li),n=O9(i.typeDefinitionProvider,e,t,!1,fn.None);return Ya(()=>n)});Bo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Li),n=O9(i.typeDefinitionProvider,e,t,!0,fn.None);return Ya(()=>n)});Bo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Li),n=R9(i.declarationProvider,e,t,!1,fn.None);return Ya(()=>n)});Bo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Li),n=R9(i.declarationProvider,e,t,!0,fn.None);return Ya(()=>n)});Bo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Li),n=Yp(i.referenceProvider,e,t,!1,!1,fn.None);return Ya(()=>n)});Bo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Li),n=Yp(i.referenceProvider,e,t,!1,!0,fn.None);return Ya(()=>n)});Bo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Li),n=N9(i.implementationProvider,e,t,!1,fn.None);return Ya(()=>n)});Bo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Li),n=N9(i.implementationProvider,e,t,!0,fn.None);return Ya(()=>n)});Wr.appendMenuItem(hi.EditorContext,{submenu:hi.EditorContextPeek,title:S("peek.submenu","Peek"),group:"navigation",order:100});class Xf{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Xf||Fi.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Sr=class Sr extends da{static all(){return Sr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of _l.wrap(t.menu))(i.id===hi.EditorContext||i.id===hi.EditorContextPeek)&&(i.when=Ke.and(e.precondition,i.when));return t}constructor(e,t){super(Sr._patchConfig(t)),this.configuration=e,Sr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(vo),r=e.get(ws),a=e.get(kp),d=e.get(wb),u=e.get(Li),f=e.get(on),g=t.getModel(),p=t.getPosition(),C=Xf.is(i)?i:new Xf(g,p),b=new If(t,5),y=Dp(this._getLocationModel(u,C.model,C.position,b.token),b.token).then(async w=>{var M;if(!w||b.token.isCancellationRequested)return;zr(w.ariaMessage);let A;if(w.referenceAt(g.uri,p)){const R=this._getAlternativeCommand(t);!Sr._activeAlternativeCommands.has(R)&&Sr._allSymbolNavigationCommands.has(R)&&(A=Sr._allSymbolNavigationCommands.get(R))}const I=w.references.length;if(I===0){if(!this.configuration.muteMessage){const R=g.getWordAtPosition(p);(M=Mo.get(t))==null||M.showMessage(this._getNoResultFoundMessage(R),p)}}else if(I===1&&A)Sr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(R=>A.runEditorCommand(R,t,i,n).finally(()=>{Sr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,d,t,w,n)},w=>{s.error(w)}).finally(()=>{b.dispose()});return a.showWhile(y,250),y}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof jr)&&(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(q3(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=Vu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Gs(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Sr._allSymbolNavigationCommands=new Map,Sr._activeAlternativeCommands=new Set;let Il=Sr;class Qp extends Il{async _getLocationModel(e,t,i,n){return new Ro(await Xp(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 Bc;Gn((Bc=class extends Qp{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Bc.id,title:{...Bi("actions.goToDecl.label","Go to Definition"),mnemonicTitle:S({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:q.hasDefinitionProvider,keybinding:[{when:q.editorTextFocus,primary:70,weight:100},{when:Ke.and(q.editorTextFocus,MA),primary:2118,weight:100}],menu:[{id:hi.EditorContext,group:"navigation",order:1.1},{id:hi.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),is.registerCommandAlias("editor.action.goToDeclaration",Bc.id)}},Bc.id="editor.action.revealDefinition",Bc));var Fc;Gn((Fc=class extends Qp{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Fc.id,title:Bi("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:Ke.and(q.hasDefinitionProvider,q.isInEmbeddedEditor.toNegated()),keybinding:[{when:q.editorTextFocus,primary:ks(2089,70),weight:100},{when:Ke.and(q.editorTextFocus,MA),primary:ks(2089,2118),weight:100}]}),is.registerCommandAlias("editor.action.openDeclarationToTheSide",Fc.id)}},Fc.id="editor.action.revealDefinitionAside",Fc));var Lc;Gn((Lc=class extends Qp{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Lc.id,title:Bi("actions.previewDecl.label","Peek Definition"),precondition:Ke.and(q.hasDefinitionProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:hi.EditorContextPeek,group:"peek",order:2}}),is.registerCommandAlias("editor.action.previewDeclaration",Lc.id)}},Lc.id="editor.action.peekDefinition",Lc));class tB extends Il{async _getLocationModel(e,t,i,n){return new Ro(await R9(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 Kd;Gn((Kd=class extends tB{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Kd.id,title:{...Bi("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:S({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:Ke.and(q.hasDeclarationProvider,q.isInEmbeddedEditor.toNegated()),menu:[{id:hi.EditorContext,group:"navigation",order:1.3},{id:hi.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")}},Kd.id="editor.action.revealDeclaration",Kd));Gn(class extends tB{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Bi("actions.peekDecl.label","Peek Declaration"),precondition:Ke.and(q.hasDeclarationProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:hi.EditorContextPeek,group:"peek",order:3}})}});class iB extends Il{async _getLocationModel(e,t,i,n){return new Ro(await O9(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 Zd;Gn((Zd=class extends iB{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Zd.ID,title:{...Bi("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:S({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:q.hasTypeDefinitionProvider,keybinding:{when:q.editorTextFocus,primary:0,weight:100},menu:[{id:hi.EditorContext,group:"navigation",order:1.4},{id:hi.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Zd.ID="editor.action.goToTypeDefinition",Zd));var Xd;Gn((Xd=class extends iB{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Xd.ID,title:Bi("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:Ke.and(q.hasTypeDefinitionProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:hi.EditorContextPeek,group:"peek",order:4}})}},Xd.ID="editor.action.peekTypeDefinition",Xd));class nB extends Il{async _getLocationModel(e,t,i,n){return new Ro(await N9(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 Yd;Gn((Yd=class extends nB{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Yd.ID,title:{...Bi("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:S({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:q.hasImplementationProvider,keybinding:{when:q.editorTextFocus,primary:2118,weight:100},menu:[{id:hi.EditorContext,group:"navigation",order:1.45},{id:hi.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Yd.ID="editor.action.goToImplementation",Yd));var Qd;Gn((Qd=class extends nB{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Qd.ID,title:Bi("actions.peekImplementation.label","Peek Implementations"),precondition:Ke.and(q.hasImplementationProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:3142,weight:100},menu:{id:hi.EditorContextPeek,group:"peek",order:5}})}},Qd.ID="editor.action.peekImplementation",Qd));class sB extends Il{_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}}Gn(class extends sB{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Bi("goToReferences.label","Go to References"),mnemonicTitle:S({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:Ke.and(q.hasReferenceProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),keybinding:{when:q.editorTextFocus,primary:1094,weight:100},menu:[{id:hi.EditorContext,group:"navigation",order:1.45},{id:hi.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Ro(await Yp(e.referenceProvider,t,i,!0,!1,n),S("ref.title","References"))}});Gn(class extends sB{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Bi("references.action.label","Peek References"),precondition:Ke.and(q.hasReferenceProvider,So.notInPeekEditor,q.isInEmbeddedEditor.toNegated()),menu:{id:hi.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Ro(await Yp(e.referenceProvider,t,i,!1,!1,n),S("ref.title","References"))}});class yR extends Il{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Bi("label.generic","Go to Any Symbol"),precondition:Ke.and(So.notInPeekEditor,q.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Ro(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""}}is.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:Zn},{name:"position",description:"The position at which to start",constraint:Fi.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)=>{Hn(Zn.isUri(e)),Hn(Fi.isIPosition(t)),Hn(Array.isArray(i)),Hn(typeof n>"u"||typeof n=="string"),Hn(typeof r>"u"||typeof r=="boolean");const a=o.get(ws),d=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(RA(d))return d.setPosition(t),d.revealPositionInCenterIfOutsideViewport(t,0),d.invokeWithinContext(u=>{const f=new class extends yR{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(on).invokeFunction(f.run.bind(f),d)})}});is.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:Zn},{name:"position",description:"The position at which to start",constraint:Fi.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($s).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});is.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Hn(Zn.isUri(e)),Hn(Fi.isIPosition(t));const i=o.get(Li),n=o.get(ws);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!RA(s)||!s.hasModel())return;const r=Vu.get(s);if(!r)return;const a=Gs(u=>Yp(i.referenceProvider,s.getModel(),Fi.lift(t),!1,!1,u).then(f=>new Ro(f,S("ref.title","References")))),d=new ee(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(d,a,!1))})}});is.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function wR(o,e,t,i){const n=o.get(pa),s=o.get(a0),r=o.get($s),a=o.get(on),d=o.get(vo);if(await i.item.resolve(fn.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Wr.getMenuItems(hi.EditorContext).map(C=>G3(C)?C.command.id:xb()));for(const C of Il.all())g.has(C.desc.id)&&f.push(new Nf(C.desc.id,Of.label(C.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const b=await n.createModelReference(u.uri);try{const y=new Xf(b.object.textEditorModel,ee.getStartPosition(u.range)),w=i.item.anchor.range;await a.invokeFunction(C.runEditorCommand.bind(C),e,y,w)}finally{b.dispose()}}));if(i.part.command){const{command:C}=i.part;f.push(new Pg),f.push(new Nf(C.id,C.title,void 0,!0,async()=>{try{await r.executeCommand(C.id,...C.arguments??[])}catch(b){d.notify({severity:Kw.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=wo(t);return{x:C.left,y:C.top+C.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function oB(o,e,t,i){const s=await o.get(pa).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,d=r.get(On),u=So.inPeekEditor.getValue(d),f=!a&&t.getOption(89)&&!u;return new Qp({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Xf(s.object.textEditorModel,ee.getStartPosition(i.range)),ee.lift(i.range))}),s.dispose()}var SR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yh=function(o,e){return function(t,i){e(t,i,o)}},Oh;class tm{constructor(){this._entries=new Fp(50)}get(e){const t=tm._key(e);return this._entries.get(t)}set(e,t){const i=tm._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const rB=Nl("IInlayHintsCache");Ol(rB,tm,1);class mE{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 DR{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var ml;let Qg=(ml=class{static get(e){return e.getContribution(Oh.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 Vt,this._sessionDisposables=new Vt,this._decorationsMetadata=new Map,this._ruleFactory=new EA(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(K3.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(ss(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new Ns(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Ks;const d=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Xv.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){Yn(u)}finally{n.dispose(),d.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(ss(()=>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 Vt,t=e.add(new Cb(this._editor)),i=new Vt;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 Ks;i.add(ss(()=>d.dispose(!0))),r.item.resolve(d.token),this._activeInlayHintPart=r.part.command||r.part.location?new DR(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(ss(()=>{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(oB,n,this._editor,r.location):Z3.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(fn.None),ir(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>fs.replace(ee.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!X3(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(wR,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 Zw&&(t==null?void 0:t.attachedData)instanceof mE)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Kw.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 G5(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,y;const i=[],n=(w,A,I,M,R)=>{const P={content:I,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:A.className,cursorStops:M,attachedData:R};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?jh.Right:jh.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>Oh._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 M=A[I],R=I===0,P=I===A.length-1,V={fontSize:`${r}px`,fontFamily:`var(${f}), ${jw.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};ir(w.hint.textEdits)&&(V.cursor="default"),this._fillInColors(V,w.hint),(M.command||M.location)&&((b=this._activeInlayHintPart)==null?void 0:b.part.item)===w&&this._activeInlayHintPart.part.index===I&&(V.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(V.color=Is(Y3),V.cursor="pointer")),d&&(R&&P?(V.padding=`1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px`):R?(V.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,V.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):P?(V.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,V.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):V.padding="1px 0 1px 0");let $=M.label;g.totalLen+=$.length;let J=!1;const re=g.totalLen-Oh._MAX_LABEL_LEN;if(re>0&&($=$.slice(0,-re)+"…",J=!0),n(w,this._ruleFactory.createClassNameRef(V),AR($),P&&!w.hint.paddingRight?jh.Right:jh.None,new mE(w,I)),J)break}if(w.hint.paddingRight&&s(w,!0),i.length>Oh._MAX_DECORATORS)break}const p=[];for(const[w,A]of this._decorationsMetadata){const I=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(w);I&&e.some(M=>M.containsRange(I))&&(p.push(w),A.classNameRef.dispose(),this._decorationsMetadata.delete(w))}const C=Mf.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 M=i[I];this._decorationsMetadata.set(A[I],M)}}),C.restore(this._editor)}_fillInColors(e,t){t.kind===zS.Parameter?(e.backgroundColor=Is(Q3),e.color=Is(J3)):t.kind===zS.Type?(e.backgroundColor=Is(e4),e.color=Is(t4)):(e.backgroundColor=Is(i4),e.color=Is(n4))}_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()}},Oh=ml,ml.ID="editor.contrib.InlayHints",ml._MAX_DECORATORS=1500,ml._MAX_LABEL_LEN=43,ml);Qg=Oh=SR([yh(1,Li),yh(2,mr),yh(3,rB),yh(4,$s),yh(5,vo),yh(6,on)],Qg);function AR(o){return o.replace(/[ \t]/g," ")}is.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Hn(Zn.isUri(t)),Hn(ee.isIRange(i));const{inlayHintsProvider:n}=o.get(Li),s=await o.get(pa).createModelReference(t);try{const r=await Xv.create(n,s.object.textEditorModel,[ee.lift(i)],fn.None),a=r.items.map(d=>d.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});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},Ql=function(o,e){return function(t,i){e(t,i,o)}};class Z8 extends lv{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let im=class extends Xg{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(!Qg.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof Zw&&i.attachedData instanceof mE?new Z8(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof Z8?new ra(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 lo().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Rr(this,e.range,[r],!1,0)),ir(s.item.hint.textEdits)&&n.emitOne(new Rr(this,e.range,[new lo().appendText(S("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new lo().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Rr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?qa?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):qa?S("links.navigate.kb.alt.mac","option + click"):S("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new lo().appendText(S("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new lo().appendText(S("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new lo(`[${S("hint.cmd","Execute Command")}](${iR(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Rr(this,e.range,[u],!1,1e4))}const d=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of d)n.emitOne(u)}):ra.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ra.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)?P9(this._languageFeaturesService.hoverProvider,r,new Fi(n.startLineNumber,n.startColumn),t).filter(a=>!Tg(a.hover.contents)).map(a=>new Rr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ra.EMPTY}finally{s.dispose()}}};im=kR([Ql(1,ga),Ql(2,ha),Ql(3,Bs),Ql(4,Tp),Ql(5,rs),Ql(6,pa),Ql(7,Li),Ql(8,$s)],im);class H9 extends $t{constructor(e,t,i,n,s,r){super();const a=t.anchor,d=t.hoverParts;this._renderedHoverParts=this._register(new _E(e,i,d,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=H9.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 Fi(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 y=g.startColumn,w=Math.min(r,y);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 Fi(s,r);return{showAtPosition:d,showAtSecondaryPosition:u}}}class BR{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 o_=class o_ extends $t{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 $t.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:o_._DECORATION_OPTIONS}]),ss(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new Zv(n),r={fragment:this._fragment,statusBar:s,...i},a=new Vt;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})),ss(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new zu([])}_renderStatusBar(e,t){if(t.hasContent)return new BR(e,t)}_registerListenersOnRenderedParts(){const e=new Vt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Nn(n,us.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Nn(n,us.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Xg&&!(i instanceof im));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Kg)}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 Hf;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};o_._DECORATION_OPTIONS=kn.register({description:"content-hover-highlight",className:"hoverHighlight"});let _E=o_;var FR=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},X8=function(o,e){return function(t,i){e(t,i,o)}};let bE=class extends $t{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new hn),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(rE,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new Kv(this._editor,this._participants),this._hoverOperation=this._register(new V5(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of th.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 j5(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(Al(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(Al(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(Q_.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 H9(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 wC(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 wC(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||!bb(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new wC(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}};bE=FR([X8(1,on),X8(2,Bs)],bE);var LR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Y8=function(o,e){return function(t,i){e(t,i,o)}},CE,Jd;let ao=(Jd=class extends $t{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new hn),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Vt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new Ns(()=>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(CE.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?bb(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===O5||t.commandId===mb||t.commandId===_b)&&((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)||Zf.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(bE,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()}},CE=Jd,Jd.ID="editor.contrib.contentHover",Jd);ao=CE=LR([Y8(1,on),Y8(2,Bs)],ao);const kS=class kS extends $t{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!==L5||!i.range)return;const n=this._editor.getContribution(ao.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)}}};kS.ID="editor.contrib.colorContribution";let nm=kS;vn(nm.ID,nm,2);th.register(Kg);var aB=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},Kh=function(o,e){return function(t,i){e(t,i,o)}},EE,yE,eu;let ju=(eu=class extends $t{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=q.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=q.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(wE,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(EE.ID)}},EE=eu,eu.ID="editor.contrib.standaloneColorPickerController",eu);ju=EE=aB([Kh(1,On),Kh(2,on)],ju);vn(ju.ID,ju,1);const Q8=8,IR=22;var tu;let wE=(tu=class extends $t{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 hn),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Zg,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(Pf(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 yE.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 PR(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 Gg(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 Zv(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-IR-Q8,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,C=p.pickedColorNode;C.style.width=u+Q8+"px";const b=p.originalColorNode;b.style.width=f+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},yE=tu,tu.ID="editor.contrib.standaloneColorPickerWidget",tu);wE=yE=aB([Kh(3,on),Kh(4,Bs),Kh(5,Li),Kh(6,Hl)],wE);class PR{constructor(e,t){this.value=e,this.foundInEditor=t}}class TR extends da{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Bi("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:hi.CommandPalette}],metadata:{description:Bi("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=ju.get(t))==null||i.showOrFocus()}}class MR extends St{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:q.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Bi("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.hide()}}class RR extends St{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:q.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Bi("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=ju.get(t))==null||i.insertColor()}}Re(MR);Re(RR);Gn(TR);class xc{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 y;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),y=xc._createRemoveBlockCommentOperations(new ee(a,C+t.length+1,u,b+1),t,i)):(y=xc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const w of y)r.addTrackedEditOperation(w.range,w.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return ee.isEmpty(e)?n.push(fs.delete(new ee(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(fs.delete(new ee(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(fs.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(fs.replace(new ee(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(fs.insert(new Fi(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(fs.insert(new Fi(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 Ki(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 Ki(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class rl{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 y=i.getLineContent(b),w=l1(y);if(w===-1){C.ignore=r,C.commentStrOffset=y.length;continue}if(u=!1,C.ignore=!1,C.commentStrOffset=w,f&&!xc._haystackHasNeedleAtOffset(y,C.commentStr,w)&&(e===0?f=!1:e===1||(C.ignore=!0)),f&&t){const A=w+C.commentStrLength;A<y.length&&y.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=rl._gatherPreflightCommentStrings(i,n,s,d);return u===null?{supported:!1}:rl._analyzeLines(e,t,i,u,n,r,a,d)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=rl._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(rl._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Fi(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?xc._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=l1(u);f===-1&&(f=u.length),d=xc._createAddBlockCommentOperations(new ee(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else d=xc._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=rl._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 Ki(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(fs.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(fs.insert(new Fi(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=rl.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=rl.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[d].commentStrOffset=r-1:t[d].commentStrOffset=r}}}class W9 extends St{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Us);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 rl(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class NR extends W9{constructor(){super(0,{id:"editor.action.commentLine",label:S("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:hi.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class OR extends W9{constructor(){super(1,{id:"editor.action.addCommentLine",label:S("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2081),weight:100}})}}class HR extends W9{constructor(){super(2,{id:"editor.action.removeCommentLine",label:S("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2099),weight:100}})}}class WR extends St{constructor(){super({id:"editor.action.blockComment",label:S("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:hi.MenubarEditMenu,group:"5_insert",title:S({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(Us);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new xc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}Re(NR);Re(OR);Re(HR);Re(WR);var zR=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)}},SE,iu;let Yf=(iu=class{static get(e){return e.getContribution(SE.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 Vt,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&&s4(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 o4){const u=this._getMenuActions(e,d.item.submenu);u.length>0&&(i.push(new VS(d.id,d.label,u)),a++)}else i.push(d),a++;a&&i.push(new Pg)}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=wo(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)&&!c1;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 r1(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const d=r;return typeof d.getActionViewItem=="function"?d.getActionViewItem():new r1(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()||r4(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 VS(`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)},y=[];for(const w of C)y.push(n({label:w.label,checked:p===w.value,run:b(w.value)}));return s(u,y)},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 Pg),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)&&!c1;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()}},SE=iu,iu.ID="editor.contrib.contextmenu",iu);Yf=SE=zR([ud(1,a0),ud(2,U_),ud(3,On),ud(4,Bs),ud(5,Zu),ud(6,rs),ud(7,Lf)],Yf);class VR extends St{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:q.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Yf.get(t))==null||i.showContextMenu()}}vn(Yf.ID,Yf,2);Re(VR);class DC{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 AC{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const r_=class r_ extends $t{static get(e){return e.getContribution(r_.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 DC(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new AC(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 AC(new DC(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 AC(new DC(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}};r_.ID="editor.contrib.cursorUndoRedoController";let Qf=r_;class jR extends St{constructor(){super({id:"cursorUndo",label:S("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Qf.get(t))==null||n.cursorUndo()}}class $R extends St{constructor(){super({id:"cursorRedo",label:S("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Qf.get(t))==null||n.cursorRedo()}}vn(Qf.ID,Qf,0);Re(jR);Re($R);class UR{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 Ki(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 Ki(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 Ki(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 Ki(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 Ki(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 wh(o){return qa?o.altKey:o.ctrlKey}const rc=class rc extends $t{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)||(wh(e)&&(this._modifierPressed=!0),this._mouseDown&&wh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(wh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===rc.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}wh(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 Fi(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 Ki(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Ki(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(wh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(rc.ID,new UR(this._dragSelection,t,wh(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:rc._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()}};rc.ID="editor.contrib.dragAndDrop",rc.TRIGGER_KEY_VALUE=qa?6:5,rc._DECORATION_OPTIONS=kn.register({description:"dnd-target",className:"dnd-target"});let sm=rc;vn(sm.ID,sm,2);vn(Ll.ID,Ll,0);d0(W1);Ri(new class extends ko{constructor(){super({id:d5,precondition:D9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=Ll.get(e))==null?void 0:t.changePasteType()}});Ri(new class extends ko{constructor(){super({id:"editor.hidePasteWidget",precondition:D9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=Ll.get(e))==null||t.clearWidgets()}});var nu;Re((nu=class extends St{constructor(){super({id:"editor.action.pasteAs",label:S("pasteAs","Paste As..."),alias:"Paste As...",precondition:q.writable,metadata:{description:"Paste as",args:[{name:"args",schema:nu.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=Ll.get(t))==null?void 0:s.pasteAs(n?new os(n):void 0)}},nu.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.")}}},nu));Re(class extends St{constructor(){super({id:"editor.action.pasteAsText",label:S("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:q.writable})}run(o,e){var t;return(t=Ll.get(e))==null?void 0:t.pasteAs({providerId:Ru.id})}});class qR{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 J8{constructor(e){this.identifier=e}}const lB=Nl("treeViewsDndService");Ol(lB,qR,1);var GR=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)}},DE;const cB="editor.experimental.dropIntoEditor.defaultProvider",dB="editor.changeDropType",z9=new Ln("dropWidgetVisible",!1,S("dropWidgetVisible","Whether the drop widget is showing"));var su;let Jf=(su=class extends $t{static get(e){return e.getContribution(DE.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=O1.getInstance(),this._dropProgressManager=this._register(t.createInstance(Uv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(Gv,"dropIntoEditor",e,z9,{id:dB,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=Gs(async r=>{const a=new Vt,d=a.add(new If(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 y=>y,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 Vt,a=await Dp(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=Sl(a??[]).flat();return{edits:l5(d),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(cB,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new os(s),a=t.findIndex(d=>r.value===d.providerId&&d.handledMimeType&&J6(n,[d.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new Q6;const t=i5(e.dataTransfer);if(this.treeItemsTransfer.hasData(J8.prototype)){const i=this.treeItemsTransfer.getData(J8.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}},DE=su,su.ID="editor.contrib.dropIntoEditorController",su);Jf=DE=GR([wx(1,on),wx(2,rs),wx(3,Li),wx(4,lB)],Jf);vn(Jf.ID,Jf,2);d0(H1);Ri(new class extends ko{constructor(){super({id:dB,precondition:z9,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Jf.get(e))==null||i.changeDropType()}});Ri(new class extends ko{constructor(){super({id:"editor.hideDropWidget",precondition:z9,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Jf.get(e))==null||i.clearWidgets()}});ua.as(Bp.Configuration).registerConfiguration({...G_,properties:{[cB]:{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 so=class so{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===so._FIND_MATCH_DECORATION||n===so._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,so._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,so._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,so._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=so._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=so._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 y=e[C].range;p+f>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new ee(g,1,p,1),options:so._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=y.startLineNumber,p=y.endLineNumber)}s.push({range:new ee(g,1,p,1),options:so._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,so._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}};so._CURRENT_FIND_MATCH_DECORATION=kn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:Is(oC),position:za.Center},minimap:{color:Is(jS),position:1}}),so._FIND_MATCH_DECORATION=kn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:Is(oC),position:za.Center},minimap:{color:Is(jS),position:1}}),so._FIND_MATCH_NO_OVERVIEW_DECORATION=kn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),so._FIND_MATCH_ONLY_OVERVIEW_DECORATION=kn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:Is(oC),position:za.Center}}),so._RANGE_HIGHLIGHT_DECORATION=kn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),so._FIND_SCOPE_DECORATION=kn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let AE=so;class KR{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 uB(o,e){if(o&&o[0]!==""){const t=eD(o,e,"-"),i=eD(o,e,"_");return t&&!i?tD(o,e,"-"):!t&&i?tD(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():a4(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 eD(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function tD(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=uB([n[a]],r)+t}),s.slice(0,-1)}class iD{constructor(e){this.staticValue=e,this.kind=0}}class ZR{constructor(e){this.pieces=e,this.kind=1}}class e0{static fromStaticValue(e){return new e0([Hd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new iD(""):e.length===1&&e[0].staticValue!==null?this._state=new iD(e[0].staticValue):this._state=new ZR(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?uB(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=e0._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 Hd{static staticValue(e){return new Hd(e,-1,null)}static caseOps(e,t){return new Hd(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 XR{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++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Hd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Hd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new e0(this._result)}}function YR(o){if(!o||o.length===0)return new e0(null);const e=[],t=new XR(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 Vl=new Ln("findWidgetVisible",!1);Vl.toNegated();const Sb=new Ln("findInputFocussed",!1),V9=new Ln("replaceInputFocussed",!1),Sx={primary:545,mac:{primary:2593}},Dx={primary:565,mac:{primary:2613}},Ax={primary:560,mac:{primary:2608}},kx={primary:554,mac:{primary:2602}},Bx={primary:558,mac:{primary:2606}},Xn={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"},vc=19999,QR=240;class pg{constructor(e,t){this._toDispose=new Vt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Ap,this._decorations=new AE(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ns(()=>{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,uo(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)},QR)):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,vc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=NA(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 Fi(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()<vc){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=pg._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 Fi(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 Fi(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<vc){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=pg._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 Fi(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?YR(this._state.replaceString):e0.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 Sp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Fi(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=>pg._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>=vc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new l4(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 OA(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 KR(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 Ki(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 a_=class a_ extends Lp{constructor(e,t,i){super(),this._hideSoon=this._register(new Ns(()=>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:Ld(WA),inputActiveOptionForeground:Ld(HA),inputActiveOptionBackground:Ld(Ww)},s=this._register(d1());this.caseSensitive=this._register(new c4({appendTitle:this._keybindingLabelFor(Xn.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 d4({appendTitle:this._keybindingLabelFor(Xn.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 u4({appendTitle:this._keybindingLabelFor(Xn.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(Nn(this._domNode,us.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Nn(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 a_.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")}};a_.ID="editor.contrib.findOptionsWidget";let kE=a_;function Fx(o,e){return o===1?!0:o===2?!1:e}class JR extends $t{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Fx(this._isRegexOverride,this._isRegex)}get wholeWord(){return Fx(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Fx(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Fx(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 hn),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>=vc}}const eN=S("defaultLabel","input"),tN=S("label.preserveCaseToggle","Preserve Case");class iN extends zA{constructor(e){super({icon:Qi.preserveCase,title:tN+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??J_("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class nN extends Lp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new hn),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new hn),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new hn),this._onInput=this._register(new hn),this._onKeyUp=this._register(new hn),this._onPreserveCaseKeyDown=this._register(new hn),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||eN;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 h4(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 iN({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(),kv.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 hB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},fB=function(o,e){return function(t,i){e(t,i,o)}};const j9=new Ln("suggestWidgetVisible",!1,S("suggestWidgetVisible","Whether suggestion are visible")),$9="historyNavigationWidgetFocus",gB="historyNavigationForwardsEnabled",pB="historyNavigationBackwardsEnabled";let yl;const Lx=[];function xB(o,e){if(Lx.includes(e))throw new Error("Cannot register the same widget multiple times");Lx.push(e);const t=new Vt,i=new Ln($9,!1).bindTo(o),n=new Ln(gB,!0).bindTo(o),s=new Ln(pB,!0).bindTo(o),r=()=>{i.set(!0),yl=e},a=()=>{i.set(!1),yl===e&&(yl=void 0)};return g4(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(ss(()=>{Lx.splice(Lx.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let BE=class extends f4{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(xB(s,this.inputBox))}};BE=hB([fB(3,On)],BE);let FE=class extends nN{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(xB(r,this.inputBox))}};FE=hB([fB(3,On)],FE);Xa.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Ke.and(Ke.has($9),Ke.equals(pB,!0),Ke.not("isComposing"),j9.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{yl==null||yl.showPreviousValue()}});Xa.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Ke.and(Ke.has($9),Ke.equals(gB,!0),Ke.not("isComposing"),j9.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{yl==null||yl.showNextValue()}});function nD(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 sD=Cs("find-collapsed",Qi.chevronRight,S("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),oD=Cs("find-expanded",Qi.chevronDown,S("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),sN=Cs("find-selection",Qi.selection,S("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),oN=Cs("find-replace",Qi.replace,S("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),rN=Cs("find-replace-all",Qi.replaceAll,S("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),aN=Cs("find-previous-match",Qi.arrowUp,S("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),lN=Cs("find-next-match",Qi.arrowDown,S("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),cN=S("label.findDialog","Find / Replace"),dN=S("label.find","Find"),uN=S("placeholder.find","Find"),hN=S("label.previousMatchButton","Previous Match"),fN=S("label.nextMatchButton","Next Match"),gN=S("label.toggleSelectionFind","Find in Selection"),pN=S("label.closeButton","Close"),xN=S("label.replace","Replace"),vN=S("placeholder.replace","Replace"),mN=S("label.replaceButton","Replace"),_N=S("label.replaceAllButton","Replace All"),bN=S("label.toggleReplaceButton","Toggle Replace"),CN=S("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",vc),EN=S("label.matchesLocation","{0} of {1}"),rD=S("label.noResults","No results"),Ca=419,yN=275,wN=yN-54;let N0=69;const SN=33,aD="ctrlEnterReplaceAll.windows.donotask",lD=qa?256:2048;class kC{constructor(e){this.afterLineNumber=e,this.heightInPx=SN,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function cD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function dD(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const l_=class l_ extends Lp{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(aD,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new zc(500),this._register(ss(()=>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 kC(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=Sb.bindTo(r),this._findFocusTracker=this._register(Pf(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=V9.bindTo(r),this._replaceFocusTracker=this._register(Pf(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 kC(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 l_.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=Ar(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,Yn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=N0+"px",this._state.matchesCount>=vc?this._matchesCount.title=CN: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>=vc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=Xw(EN,n,i)}else e=rD;this._matchesCount.appendChild(document.createTextNode(e)),zr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),N0=Math.max(N0,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===rD)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=wo(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=p4(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 kC(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&&Ar(this._domNode)>Ca){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=Ar(this._findInput.domNode);return}if(Ca+28+n>=i&&(r=!0),Ca+28+n-N0>=i&&(a=!0),Ca+28+n-N0>=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=Ar(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(lD|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 cD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return dD(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(lD|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{V_&&c0&&!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(aD,!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 cD(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return dD(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 BE(null,this._contextViewProvider,{width:wN,label:dN,placeholder:uN,appendCaseSensitiveLabel:this._keybindingLabelFor(Xn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Xn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Xn.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:()=>nD(this._keybindingService),inputBoxStyles:US,toggleStyles:$S},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()})),x4&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(d1());this._prevBtn=this._register(new Sh({label:hN+this._keybindingLabelFor(Xn.PreviousMatchFindAction),icon:aN,hoverDelegate:i,onTrigger:()=>{$h(this._codeEditor.getAction(Xn.PreviousMatchFindAction)).run().then(void 0,Yn)}},this._hoverService)),this._nextBtn=this._register(new Sh({label:fN+this._keybindingLabelFor(Xn.NextMatchFindAction),icon:lN,hoverDelegate:i,onTrigger:()=>{$h(this._codeEditor.getAction(Xn.NextMatchFindAction)).run().then(void 0,Yn)}},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 zA({icon:sN,title:gN+this._keybindingLabelFor(Xn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Ld(Ww),inputActiveOptionBorder:Ld(WA),inputActiveOptionForeground:Ld(HA)})),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 Sh({label:pN+this._keybindingLabelFor(Xn.CloseFindWidgetCommand),icon:VA,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 FE(null,void 0,{label:xN,placeholder:vN,appendPreserveCaseLabel:this._keybindingLabelFor(Xn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>nD(this._keybindingService),inputBoxStyles:US,toggleStyles:$S},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(d1());this._replaceBtn=this._register(new Sh({label:mN+this._keybindingLabelFor(Xn.ReplaceOneAction),icon:oN,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Sh({label:_N+this._keybindingLabelFor(Xn.ReplaceAllAction),icon:rN,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 Sh({label:bN,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Ar(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=cN,this._domNode.role="dialog",this._domNode.style.width=`${Ca}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 zh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=Ca;this._register(this._resizeSash.onDidStart(()=>{u=Ar(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<Ca)return;const p=parseFloat(v4(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=Ar(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=Ar(this._domNode);if(f<Ca)return;let g=Ca;if(!this._resized||f===Ca){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=Ar(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};l_.ID="editor.contrib.findWidget";let LE=l_;class Sh extends Lp{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+zn.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??J_("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(...zn.asClassNameArray(sD)),this._domNode.classList.add(...zn.asClassNameArray(oD))):(this._domNode.classList.remove(...zn.asClassNameArray(oD)),this._domNode.classList.add(...zn.asClassNameArray(sD)))}}q_((o,e)=>{const t=o.getColor(CA);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Lg(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(m4);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Lg(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(Dl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(_4);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(b4);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var vB=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)}},IE;const DN=524288;function PE(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)<DN)return o.getModel().getValueInRange(i)}return null}var ou;let Do=(ou=class extends $t{get editor(){return this._editor}static get(e){return e.getContribution(IE.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Vl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new zc(500),this._state=this._register(new JR),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!!Sb.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=Ig(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=PE(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Ig(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=PE(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 pg(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)}},IE=ou,ou.ID="editor.contrib.findController",ou);Do=IE=vB([fr(1,On),fr(2,Xc),fr(3,l0),fr(4,vo),fr(5,Tp)],Do);let TE=class extends Do{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 LE(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new kE(this._editor,this._state,this._keybindingService))}};TE=vB([fr(1,U_),fr(2,On),fr(3,Bs),fr(4,$r),fr(5,vo),fr(6,Xc),fr(7,l0),fr(8,Tp)],TE);const AN=jA(new $A({id:Xn.StartFindAction,label:S("startFindAction","Find"),alias:"Find",precondition:Ke.or(q.focus,Ke.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:hi.MenubarEditMenu,group:"3_find",title:S({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));AN.addImplementation(0,(o,e,t)=>{const i=Do.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 kN={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 BN extends St{constructor(){super({id:Xn.StartFindWithArgs,label:S("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:kN})}async run(e,t,i){const n=Do.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 FN extends St{constructor(){super({id:Xn.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=Do.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 mB extends St{async run(e,t){const i=Do.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 LN extends mB{constructor(){super({id:Xn.NextMatchFindAction,label:S("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Ke.and(q.focus,Sb),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class IN extends mB{constructor(){super({id:Xn.PreviousMatchFindAction,label:S("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:q.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Ke.and(q.focus,Sb),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class PN extends St{constructor(){super({id:Xn.GoToMatchFindAction,label:S("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Vl}),this._highlightDecorations=[]}run(e,t,i){const n=Do.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(vo).notify({severity:Kw.Warning,message:S("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Rl),a=new Vt,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:Is(UA),position:za.Full}}}])})}}class _B extends St{async run(e,t){const i=Do.get(t);if(!i)return;const n=PE(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 TN extends _B{constructor(){super({id:Xn.NextSelectionMatchFindAction,label:S("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class MN extends _B{constructor(){super({id:Xn.PreviousSelectionMatchFindAction,label:S("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const RN=jA(new $A({id:Xn.StartFindReplaceAction,label:S("startReplace","Replace"),alias:"Replace",precondition:Ke.or(q.focus,Ke.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:hi.MenubarEditMenu,group:"3_find",title:S({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));RN.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Do.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})});vn(Do.ID,TE,0);Re(BN);Re(FN);Re(LN);Re(IN);Re(PN);Re(TN);Re(MN);const xa=ko.bindToContribution(Do.get);Ri(new xa({id:Xn.CloseFindWidgetCommand,precondition:Vl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:Ke.and(q.focus,Ke.not("isComposing")),primary:9,secondary:[1033]}}));Ri(new xa({id:Xn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:q.focus,primary:Sx.primary,mac:Sx.mac,win:Sx.win,linux:Sx.linux}}));Ri(new xa({id:Xn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:q.focus,primary:Dx.primary,mac:Dx.mac,win:Dx.win,linux:Dx.linux}}));Ri(new xa({id:Xn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:q.focus,primary:Ax.primary,mac:Ax.mac,win:Ax.win,linux:Ax.linux}}));Ri(new xa({id:Xn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:q.focus,primary:kx.primary,mac:kx.mac,win:kx.win,linux:kx.linux}}));Ri(new xa({id:Xn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:q.focus,primary:Bx.primary,mac:Bx.mac,win:Bx.win,linux:Bx.linux}}));Ri(new xa({id:Xn.ReplaceOneAction,precondition:Vl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:q.focus,primary:3094}}));Ri(new xa({id:Xn.ReplaceOneAction,precondition:Vl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:Ke.and(q.focus,V9),primary:3}}));Ri(new xa({id:Xn.ReplaceAllAction,precondition:Vl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:q.focus,primary:2563}}));Ri(new xa({id:Xn.ReplaceAllAction,precondition:Vl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:Ke.and(q.focus,V9),primary:void 0,mac:{primary:2051}}}));Ri(new xa({id:Xn.SelectAllMatchesAction,precondition:Vl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:q.focus,primary:515}}));const NN={0:" ",1:"u",2:"r"},uD=65535,ea=16777215,hD=4278190080;class BC{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 Qo{constructor(e,t,i){if(e.length!==t.length||e.length>uD)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new BC(e.length),this._userDefinedStates=new BC(e.length),this._recoveredStates=new BC(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>ea||r>ea)throw new Error("startLineNumber or endLineNumber must not exceed "+ea);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]&ea}getEndLineNumber(e){return this._endIndexes[e]&ea}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 ON(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&hD)>>>24)+((this._endIndexes[e]&hD)>>>16);return t===uD?-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]=`[${NN[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&ea,endLineNumber:this._endIndexes[e]&ea,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 Qo(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 y=[];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)&&(y.push(w),b=w.startLineNumber,C&&p.push(C),C=w)}}return y}}class ON{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 HN{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new hn,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Qo(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(Qo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Qo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Qo.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=Qo.sanitizeAndMerge(this._regions,t,i);this.updatePost(Qo.fromFoldRanges(n))}_getLinesChecksum(e,t){return qA(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 U9(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 v0(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 bB(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 WN(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 zN(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 CB(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 q9(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 G9(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 VN(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 jN(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 $N(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 UN{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new hn,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||C4(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 fD(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!qN(r,n))&&(n=fD(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 qN(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function fD(o,e){const t=NA(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const GN=5e3,KN="indent";class K9{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=KN}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(YN(this.editorModel,i,n,this.foldingRangesLimit))}}let ZN=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>ea||t>ea)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 Qo(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=Rw(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[d],u++)}return new Qo(r,a)}}};const XN={limit:GN,update:()=>{}};function YN(o,e,t,i=XN){const n=o.getOptions().tabSize,s=new ZN(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=Rw(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 QN=Si("editor.foldBackground",{light:ja(qS,.3),dark:ja(qS,.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);Si("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."));Si("editorGutter.foldingControlForeground",E4,S("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const om=Cs("folding-expanded",Qi.chevronDown,S("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),rm=Cs("folding-collapsed",Qi.chevronRight,S("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),gD=Cs("folding-manual-collapsed",rm,S("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),pD=Cs("folding-manual-expanded",om,S("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),FC={color:Is(QN),position:1},Dh=S("linesCollapsed","Click to expand the range."),Ix=S("linesExpanded","Click to collapse the range."),Es=class Es{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Es.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Es.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Es.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Es.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Es.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Es.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Es.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Es.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Es.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Es.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Es.MANUALLY_EXPANDED_VISUAL_DECORATION:Es.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Es.COLLAPSED_VISUAL_DECORATION=kn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:zn.asClassName(rm)}),Es.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=kn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:FC,isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:zn.asClassName(rm)}),Es.MANUALLY_COLLAPSED_VISUAL_DECORATION=kn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:zn.asClassName(gD)}),Es.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=kn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:FC,isWholeLine:!0,linesDecorationsTooltip:Dh,firstLineDecorationClassName:zn.asClassName(gD)}),Es.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=kn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Dh}),Es.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=kn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:FC,isWholeLine:!0,linesDecorationsTooltip:Dh}),Es.EXPANDED_VISUAL_DECORATION=kn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+zn.asClassName(om),linesDecorationsTooltip:Ix}),Es.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=kn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:zn.asClassName(om),linesDecorationsTooltip:Ix}),Es.MANUALLY_EXPANDED_VISUAL_DECORATION=kn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+zn.asClassName(pD),linesDecorationsTooltip:Ix}),Es.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=kn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:zn.asClassName(pD),linesDecorationsTooltip:Ix}),Es.NO_CONTROLS_EXPANDED_RANGE_DECORATION=kn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Es.HIDDEN_RANGE_DECORATION=kn.register({description:"folding-hidden-range-decoration",stickiness:1});let ME=Es;const JN={},eO="syntax";class Z9{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=eO,this.disposables=new Vt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return tO(this.providers,this.editorModel,e).then(t=>{var i;return t?nO(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function tO(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,JN,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})}},ys));return Promise.all(n).then(s=>i)}class iO{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>ea||t>ea)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 Qo(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 Qo(n,s,r)}}}function nO(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 iO(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 sO=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},O0=function(o,e){return function(t,i){e(t,i,o)}},pd;const Qs=new Ln("foldingEnabled",!1);var ru;let qc=(ru=class extends $t{static get(e){return e.getContribution(pd.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=pd._foldingRangeSelector)==null?void 0:n.call(pd,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 Vt),this.editor=e,this._foldingLimitReporter=new EB(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 ME(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Qs.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 HN(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new UN(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new zc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new Ns(()=>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 K9(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=pd.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new Z9(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 Oo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Gs(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(Op.Imports.value,!0);u&&(r=Mf.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,oO(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=>(Yn(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,Yn)}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)}},pd=ru,ru.ID="editor.contrib.folding",ru);qc=pd=sO([O0(1,On),O0(2,Us),O0(3,vo),O0(4,mr),O0(5,Li)],qc);class EB{constructor(e){this.editor=e,this._onDidChange=new hn,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 io extends St{runEditorCommand(e,t,i){const n=e.get(Us),s=qc.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 oO(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 yB(o){if(!$0(o)){if(!GA(o))return!1;const e=o;if(!$0(e.levels)&&!GS(e.levels)||!$0(e.direction)&&!_A(e.direction)||!$0(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(GS)))return!1}return!0}class rO extends io{constructor(){super({id:"editor.unfold",label:S("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Qs,kbOpts:{kbExpr:q.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:yB,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"?bB(t,!1,s,r):v0(t,!1,s,r)}}class aO extends io{constructor(){super({id:"editor.unfoldRecursively",label:S("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2142),weight:100}})}invoke(e,t,i,n){v0(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class lO extends io{constructor(){super({id:"editor.fold",label:S("foldAction.label","Fold"),alias:"Fold",precondition:Qs,kbOpts:{kbExpr:q.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:yB,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"?WN(t,!0,s):a==="up"?bB(t,!0,r||1,s):v0(t,!0,r||1,s)}}class cO extends io{constructor(){super({id:"editor.toggleFold",label:S("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);U9(t,1,n)}}class dO extends io{constructor(){super({id:"editor.foldRecursively",label:S("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);v0(t,!0,Number.MAX_VALUE,n)}}class uO extends io{constructor(){super({id:"editor.toggleFoldRecursively",label:S("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);U9(t,Number.MAX_VALUE,n)}}class hO extends io{constructor(){super({id:"editor.foldAllBlockComments",label:S("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())G9(t,Op.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*"+Ig(a.blockCommentStartToken));q9(t,d,!0)}}}}class fO extends io{constructor(){super({id:"editor.foldAllMarkerRegions",label:S("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())G9(t,Op.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);q9(t,d,!0)}}}}class gO extends io{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:S("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())G9(t,Op.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);q9(t,d,!1)}}}}class pO extends io{constructor(){super({id:"editor.foldAllExcept",label:S("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);CB(t,!0,n)}}class xO extends io{constructor(){super({id:"editor.unfoldAllExcept",label:S("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);CB(t,!1,n)}}class vO extends io{constructor(){super({id:"editor.foldAll",label:S("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2069),weight:100}})}invoke(e,t,i){v0(t,!0)}}class mO extends io{constructor(){super({id:"editor.unfoldAll",label:S("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2088),weight:100}})}invoke(e,t,i){v0(t,!1)}}const sf=class sf extends io{getFoldingLevel(){return parseInt(this.id.substr(sf.ID_PREFIX.length))}invoke(e,t,i){zN(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};sf.ID_PREFIX="editor.foldLevel",sf.ID=e=>sf.ID_PREFIX+e;let am=sf;class _O extends io{constructor(){super({id:"editor.gotoParentFold",label:S("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=VN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class bO extends io{constructor(){super({id:"editor.gotoPreviousFold",label:S("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=jN(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class CO extends io{constructor(){super({id:"editor.gotoNextFold",label:S("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=$N(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class EO extends io{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:S("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(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=Qo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Qo.fromFoldRanges(a))}}}}class yO extends io{constructor(){super({id:"editor.removeManualFoldingRanges",label:S("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(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()}}}vn(qc.ID,qc,0);Re(rO);Re(aO);Re(lO);Re(dO);Re(uO);Re(vO);Re(mO);Re(hO);Re(fO);Re(gO);Re(pO);Re(xO);Re(cO);Re(_O);Re(bO);Re(CO);Re(EO);Re(yO);for(let o=1;o<=7;o++)y4(new am({id:am.ID(o),label:S("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Qs,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2048|21+o),weight:100}}));is.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof Zn))throw bl();const i=o.get(Li),n=o.get(mo).getModel(t);if(!n)throw bl();const s=o.get(rs);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(Us),a=s.getValue("editor.foldingStrategy",{resource:t}),d={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(C,b)=>{}},u=new K9(n,r,d);let f=u;if(a!=="indentation"){const C=qc.getFoldingRangeProviders(i,n);C.length&&(f=new Z9(n,C,()=>{},d,u))}const g=await f.compute(fn.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?Op.fromValue(b):void 0})}return p}finally{f.dispose()}});class wO extends St{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){Og.setZoomLevel(Og.getZoomLevel()+1)}}class SO extends St{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){Og.setZoomLevel(Og.getZoomLevel()-1)}}class DO extends St{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){Og.setZoomLevel(0)}}Re(wO);Re(SO);Re(DO);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},xg=function(o,e){return function(t,i){e(t,i,o)}},yf;let lm=(yf=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Vt,this._sessionDisposables=new Vt,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 Bv;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(n=>{const s=n.charCodeAt(n.length-1);i.has(s)&&this._trigger(String.fromCharCode(s))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new Ks,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,d=r.changes.length;a<d;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});w4(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||ir(r)&&(this._accessibilitySignalService.playSignal(ZA.format,{userGesture:!1}),S4.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},yf.ID="editor.contrib.autoFormat",yf);lm=wB([xg(1,Li),xg(2,Hl),xg(3,KA)],lm);var wf;let cm=(wf=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Vt,this._callOnModel=new Vt,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(XA,this.editor,e,2,pl.None,fn.None,!1).catch(Yn))}},wf.ID="editor.contrib.formatOnPaste",wf);cm=wB([xg(1,Li),xg(2,on)],cm);class AO extends St{constructor(){super({id:"editor.action.formatDocument",label:S("formatDocument.label","Format Document"),alias:"Format Document",precondition:Ke.and(q.notInCompositeEditor,q.writable,q.hasDocumentFormattingProvider),kbOpts:{kbExpr:q.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(on);await e.get(kp).showWhile(i.invokeFunction(D4,t,1,pl.None,fn.None,!0),250)}}}class kO extends St{constructor(){super({id:"editor.action.formatSelection",label:S("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:Ke.and(q.writable,q.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2084),weight:100},contextMenuOpts:{when:q.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(on),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(kp).showWhile(i.invokeFunction(XA,t,s,1,pl.None,fn.None,!0),250)}}vn(lm.ID,lm,2);vn(cm.ID,cm,2);Re(AO);Re(kO);is.registerCommand("editor.action.format",async o=>{const e=o.get(ws).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get($s);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var BO=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)}};class Zh{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 RE extends Zh{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class SB extends Zh{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class ll extends Zh{static create(e,t,i){const n=new Ks(i),s=new ll(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Zh.findId(`provider_${f}`,s),p=new SB(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(C=>{for(const b of C||[])ll._makeOutlineElement(b,p);return p},C=>(ys(C),p)).then(C=>{Zh.empty(C)?C.remove():s._groups.set(g,C)})}),d=e.onDidChange(()=>{const u=e.ordered(t);Ua(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?ll.create(e,t,i):s._compact()).finally(()=>{n.dispose(),d.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Zh.findId(e,t),n=new RE(i,t,e);if(e.children)for(const s of e.children)ll._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=_l.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 RE?e.push(t.symbol):e.push(..._l.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 ll._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Fi.compare(ee.getStartPosition(i.range),ee.getStartPosition(n.range))||Fi.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&&ll._flattenDocumentSymbols(e,n.children,n.name)}}const Jp=Nl("IOutlineModelService");let NE=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Vt,this._cache=new Fp(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()||!Ua(s.provider,n)){const a=new Ks;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:ll.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()}}};NE=BO([LC(0,Li),LC(1,mr),LC(2,mo)],NE);Ol(Jp,NE,1);is.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Hn(Zn.isUri(t));const i=o.get(Jp),s=await o.get(pa).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,fn.None)).getTopLevelSymbols()}finally{s.dispose()}});const Aa=class Aa extends $t{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Aa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Aa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Aa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Aa.suppressSuggestions.bindTo(this.contextKeyService),this._register(ds(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(ds(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=l1(f);C===-1&&(C=f.length-1),s=C>0;const b=n.textModel.getOptions().tabSize;r=A4.visibleColumnFromColumn(f,C+1,b)<b}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Aa.inlineSuggestionVisible=new Ln("inlineSuggestionVisible",!1,S("inlineSuggestionVisible","Whether an inline suggestion is visible")),Aa.inlineSuggestionHasIndentation=new Ln("inlineSuggestionHasIndentation",!1,S("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Aa.inlineSuggestionHasIndentationLessThanTabSize=new Ln("inlineSuggestionHasIndentationLessThanTabSize",!0,S("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Aa.suppressSuggestions=new Ln("inlineSuggestionSuppressSuggestions",void 0,S("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let No=Aa;function FO(o){const e=new Vt,t=e.add(YA());return e.add(ds(i=>{t.setStyle(o.read(i))})),e}class Jg{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 QA([...this.parts.map(s=>new kl(ee.fromPositions(new Fi(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 dm{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=eb(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 OE{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new dm(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=eb(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 xD(o,e){return Ua(o,e,DB)}function DB(o,e){return o===e?!0:!o||!e?!1:o instanceof Jg&&e instanceof Jg||o instanceof OE&&e instanceof OE?o.equals(e):!1}const LO=[];function IO(){return LO}class AB{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Hf(`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 kB(o,e){const t=new Vt,i=o.createDecorationsCollection();return t.add(k4({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function PO(o,e){return new Fi(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function vD(o,e){return new Fi(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var TO=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},MO=function(o,e){return function(t,i){e(t,i,o)}};const mD="ghost-text";let HE=class extends $t{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=nr(this,!1),this.currentTextModel=Io(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Un(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 OE?r.columnRange:void 0,d=[],u=[];function f(y,w){if(u.length>0){const A=u[u.length-1];w&&A.decorations.push(new Hg(A.content.length+1,A.content.length+1+y[0].length,w,0)),A.content+=y[0],y=y.slice(1)}for(const A of y)u.push({content:A,decorations:w?[new Hg(1,A.length+1,w,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,C=0;for(const y of r.parts){let w=y.lines;p===void 0?(d.push({column:y.column,text:w[0],preview:y.preview}),w=w.slice(1)):f([g.substring(C,y.column-1)],void 0),w.length>0&&(f(w,mD),p===void 0&&y.column<=g.length&&(p=y.column)),C=y.column-1}p!==void 0&&f([g.substring(C)],void 0);const b=p!==void 0?new AB(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=Un(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 Fi(s.lineNumber,a.column)),options:{description:mD,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:jh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new RO(this.editor,this.languageService.languageIdCodec,Un(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(ss(()=>{this.isDisposed.set(!0,void 0)})),this._register(kB(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};HE=TO([MO(2,ga)],HE);class RO extends $t{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=Pd("editorOptionChanged",Rs.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(ds(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");NO(d,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:d,afterColumnAffinity:1})}})}}function NO(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 ek(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,w=t.length;y<w;y++){const A=t[y],I=A.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*g)),p.appendString('px;width:1000000px;">');const M=sk(I),R=B4(I),P=F4.createEmpty(I,n);tk(new ik(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,I,!1,M,R,0,P,A.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,d,u!==L4.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),nk(o,f);const C=p.build(),b=_D?_D.createHTML(C):C;o.innerHTML=b}const _D=JA("editorGhostText",{createHTML:o=>o});function OO(o,e){const t=new M4,i=new P4(t,u=>e.getLanguageConfiguration(u)),n=new I4(new HO([o]),i),s=T4(n,[],void 0,!0);let r="";const a=o.getLineContent();function d(u,f){if(u.kind===2)if(d(u.openingBracket,f),f=P0(f,u.openingBracket.length),u.child&&(d(u.child,f),f=P0(f,u.child.length)),u.closingBracket)d(u.closingBracket,f),f=P0(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(KS(f),KS(P0(f,u.length)));else if(u.kind===4)for(const g of u.children)d(g,f),f=P0(f,g.length)}}return d(s,R4),r}class HO{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 BB(o,e,t,i,n=fn.None,s){const r=e instanceof Fi?VO(e,t):e,a=o.all(t),d=new N4;for(const A of a)A.groupId&&d.add(A.groupId,A);function u(A){if(!A.yieldsToGroupIds)return[];const I=[];for(const M of A.yieldsToGroupIds||[]){const R=d.get(M);for(const P of R)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 M=u(A);for(const R of M){const P=p(R,I);if(P)return P}}finally{g.delete(A)}}function C(A){const I=f.get(A);if(I)return I;const M=p(A,[]);M&&ys(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${M.map(P=>P.toString?P.toString():""+P).join(" -> ")}`));const R=new j_;return f.set(A,R.p),(async()=>{var P;if(!M){const V=u(A);for(const $ of V){const J=await C($);if(J&&J.items.length>0)return}}try{return e instanceof Fi?await A.provideInlineCompletions(t,e,i,n):await((P=A.provideInlineEdits)==null?void 0:P.call(A,t,e,i,n))}catch(V){ys(V);return}})().then(P=>R.complete(P),P=>R.error(P)),R.p}const b=await Promise.all(a.map(async A=>({provider:A,completions:await C(A)}))),y=new Map,w=[];for(const A of b){const I=A.completions;if(!I)continue;const M=new zO(I,A.provider);w.push(M);for(const R of I.items){const P=um.from(R,M,r,t,s);y.set(P.hash(),P)}}return new WO(Array.from(y.values()),new Set(y.keys()),w)}class WO{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 zO{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 um{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=bD(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=bD(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 Nu().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof Po?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:d})}else O4(e.insertText);return new um(r,e.command,d,r,a,e.additionalTextEdits||IO(),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 um(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 kl(this.range,this.insertText)}}function VO(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 bD(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?OO(a,i):o}function Wd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Np(n,o.text),r=Fv.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),d=ee.fromPositions(r,o.range.getEndPosition());return new kl(d,a)}function FB(o,e){return o.text.startsWith(e.text)&&jO(o.range,e.range)}function CD(o,e,t,i,n=0){let s=Wd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=eo(r).length;if(s.range.startColumn-1<=a){const b=eo(s.text).length,y=r.substring(s.range.startColumn-1,a),[w,A]=[s.range.getStartPosition(),s.range.getEndPosition()],I=w.column+y.length<=A.column?w.delta(0,y.length):A,M=ee.fromPositions(I,A),R=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(b);s=new kl(M,R)}const u=e.getValueInRange(s.range),f=$O(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const b=f.filter(y=>y.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 y=s.range.startColumn+b.originalStart+b.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<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),M=s.text.substring(A,Math.max(b.modifiedStart,w));I.length>0&&p.push(new dm(y,I,!1)),M.length>0&&p.push(new dm(y,M,!0))}return new Jg(g,p)}function jO(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let Ea;function $O(o,e){if((Ea==null?void 0:Ea.originalValue)===o&&(Ea==null?void 0:Ea.newValue)===e)return Ea==null?void 0:Ea.changes;{let t=yD(o,e,!0);if(t){const i=ED(t);if(i>0){const n=yD(o,e,!1);n&&ED(n)<i&&(t=n)}}return Ea={originalValue:o,newValue:e,changes:t},t}}function ED(o){let e=0;for(const t of o)e+=t.originalLength;return e}function yD(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 y=g*100+f;p[C]=s(2*y),f++}else if(t&&u[C]===")"){f=Math.max(f-1,0);const y=g*100+f;p[C]=s(2*y+1),f===0&&g++}else p[C]=u.charCodeAt(C);return p}const a=r(o),d=r(e);return new H4({getElements:()=>a},{getElements:()=>d}).ComputeDiff(!1).changes}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},wD=function(o,e){return function(t,i){e(t,i,o)}};let WE=class extends $t{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 or),this.inlineCompletions=u1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=u1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new GO(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 Ks,d=(async()=>{if((r||t.triggerKind===Cl.Automatic)&&await qO(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 BB(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 y=new Date;this._debounceValue.update(this.textModel,y.getTime()-C.getTime());const w=new ZO(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(),Xu(A=>{s.set(w,A)}),!0})(),u=new KO(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()}};WE=UO([wD(3,Li),wD(4,Us)],WE);function qO(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 GO{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&W4(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,V4())&&(e.context.triggerKind===Cl.Automatic||this.context.triggerKind===Cl.Explicit)&&this.versionId===e.versionId}}class KO{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class ZO{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 SD(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 SD(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class SD{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=fl({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)??IC)}toSingleTextEdit(e){return new kl(this._updatedRange.read(e)??IC,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Wd(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)&&!!z4(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Fv.ofRange(i).isGreaterThanOrEqualTo(Fv.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new kl(this._updatedRange.read(e)??IC,this.inlineCompletion.filterText)}}const IC=new ee(1,1,1,1),Yi={Visible:j9,HasFocusedSuggestion:new Ln("suggestWidgetHasFocusedSuggestion",!1,S("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Ln("suggestWidgetDetailsVisible",!1,S("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Ln("suggestWidgetMultipleSuggestions",!1,S("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Ln("suggestionMakesTextEdit",!0,S("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Ln("acceptSuggestionOnEnter",!0,S("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Ln("suggestionHasInsertAndReplaceRange",!1,S("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Ln("suggestionInsertMode",void 0,{type:"string",description:S("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Ln("suggestionCanResolve",!1,S("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},yc=new hi("suggestWidgetStatusBar");class XO{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Rg.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 Fi(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Fi(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Fi(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||ee.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Fi(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Fi(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Fi(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 Oo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Zc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const c_=class c_{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}};c_.default=new c_;let ep=c_;class YO{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function X9(o,e,t,i=ep.default,n={triggerKind:0},s=fn.None){const r=new Oo;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 Vt,p=[];let C=!1;const b=(w,A,I)=>{var R;let M=!1;if(!A)return M;for(const P of A.suggestions)if(!i.kindFilter.has(P.kind)){if(!i.showDeprecated&&((R=P==null?void 0:P.tags)!=null&&R.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=Nu.guessNeedsClipboard(P.insertText)),f.push(new XO(t,P,A,w)),M=!0}return ok(A)&&g.add(A),p.push({providerName:w._debugDisplayName??"unknown_provider",elapsedProvider:A.duration??-1,elapsedOverall:I.elapsed()}),M},y=(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 M=i.providerItemsToReuse.get(I);M.forEach(R=>f.push(R)),A=A||M.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(I)))try{const M=new Oo,R=await I.provideCompletionItems(e,t,n,s);A=b(I,R,M)||A}catch(M){ys(M)}})),A||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(g.dispose(),Promise.reject(new $_)):new YO(f.sort(eH(i.snippetSortOrder)),C,{entries:p,elapsed:r.elapsed()},g)}function Y9(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 QO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return Y9(o,e)}function JO(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return Y9(o,e)}const Db=new Map;Db.set(0,QO);Db.set(2,JO);Db.set(1,Y9);function eH(o){return Db.get(o)}is.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Hn(Zn.isUri(t)),Hn(Fi.isIPosition(i)),Hn(typeof n=="string"||!n),Hn(typeof s=="number"||!s);const{completionProvider:r}=o.get(Li),a=await o.get(pa).createModelReference(t);try{const d={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await X9(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(fn.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 tH(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Xh{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 DD(o,e=V_){return j4(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var iH=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)}};class AD{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 kD{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=eo(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof Po&&(a=eo(eb(u.value).pop())),!0));const d=Np(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 BD{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return ag(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=ag(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return $4(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(qw(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 FD{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=>!U4(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let hm=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}}};hm=iH([nH(2,Us)],hm);const ka=class ka{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 ka.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return ka.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return ka.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return ka.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}}};ka.dayNames=[S("Sunday","Sunday"),S("Monday","Monday"),S("Tuesday","Tuesday"),S("Wednesday","Wednesday"),S("Thursday","Thursday"),S("Friday","Friday"),S("Saturday","Saturday")],ka.dayNamesShort=[S("SundayShort","Sun"),S("MondayShort","Mon"),S("TuesdayShort","Tue"),S("WednesdayShort","Wed"),S("ThursdayShort","Thu"),S("FridayShort","Fri"),S("SaturdayShort","Sat")],ka.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")],ka.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 fm=ka;class LD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=q4(this._workspaceService.getWorkspace());if(!G4(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(ZS(e))return ag(e.uri.path);let t=ag(e.configPath.path);return t.endsWith(XS)&&(t=t.substr(0,t.length-XS.length-1)),t}_resoveWorkspacePath(e){if(ZS(e))return DD(e.uri.fsPath);const t=ag(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?DD(i):"/"}}class ID{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 xb()}}var sH=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)}},Gr;const Dr=class Dr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=YS(t.placeholders,xr.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?Dr._decor.inactiveFinal:Dr._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(fs.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 Ki(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(d,a.isFinalTabstop?Dr._decor.activeFinal:Dr._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?Dr._decor.activeFinal:Dr._decor.active),s.add(f)}}for(const[a,d]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(d,a.isFinalTabstop?Dr._decor.inactiveFinal:Dr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof xr){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 x0,!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,Dr._decor.inactive);this._placeholderDecorations.set(d,p)}}this._placeholderGroups=YS(this._snippet.placeholders,xr.compareByIndex)})}};Dr._decor={active:kn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:kn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:kn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:kn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let gm=Dr;const PD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let pm=Gr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=eo(r,0,t.column-1);let d;return n.walk(u=>{if(!(u instanceof Po)||u.parent instanceof x0||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 Po(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=Ki.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(R=>R.get(Lf)),b=e.invokeWithinContext(R=>new BD(R.get(Mg),p)),y=()=>a,w=p.getValueInRange(Gr.adjustSelection(p,e.getSelection(),i,0)),A=p.getValueInRange(Gr.adjustSelection(p,e.getSelection(),0,n)),I=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),M=e.getSelections().map((R,P)=>({selection:R,idx:P})).sort((R,P)=>ee.compareRangesUsingStarts(R.selection,P.selection));for(const{selection:R,idx:P}of M){let V=Gr.adjustSelection(p,R,i,0),$=Gr.adjustSelection(p,R,0,n);w!==p.getValueInRange(V)&&(V=R),A!==p.getValueInRange($)&&($=R);const J=R.setStartPosition(V.startLineNumber,V.startColumn).setEndPosition($.endLineNumber,$.endColumn),re=new Nu().parse(t,!0,s),fe=J.getStartPosition(),Z=Gr.adjustWhitespace(p,fe,r||P>0&&I!==p.getLineFirstNonWhitespaceColumn(R.positionLineNumber),re);re.resolveVariables(new AD([b,new FD(y,P,M.length,e.getOption(79)==="spread"),new kD(p,R,P,d),new hm(p,R,u),new fm,new LD(C),new ID])),f[P]=fs.replace(J,re.toString()),f[P].identifier={major:P,minor:0},f[P]._isTracked=!0,g[P]=new gm(e,re,Z)}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 Nu,g=new qp,p=new AD([e.invokeWithinContext(b=>new BD(b.get(Mg),u)),new FD(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new kD(u,e.getSelection(),0,r),new hm(u,e.getSelection(),a),new fm,new LD(e.invokeWithinContext(b=>b.get(Lf))),new ID]);t=t.sort((b,y)=>ee.compareRangesUsingStarts(b.range,y.range));let C=0;for(let b=0;b<t.length;b++){const{range:y,template:w}=t[b];if(b>0){const P=t[b-1].range,V=ee.fromPositions(P.getEndPosition(),y.getStartPosition()),$=new Po(u.getValueInRange(V));g.appendChild($),C+=$.value.length}const A=f.parseFragment(w,g);Gr.adjustWhitespace(u,y.getStartPosition(),!0,g,new Set(A)),g.resolveVariables(p);const I=g.toString(),M=I.slice(C);C=I.length;const R=fs.replace(y,M);R.identifier={major:b,minor:0},R._isTracked=!0,d.push(R)}return f.ensureFinalTabstop(g,i,!0),{edits:d,snippets:[new gm(e,g,"")]}}constructor(e,t,i=PD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){uo(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"?Gr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Gr.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=>Ki.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=PD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Gr.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=>Ki.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}};pm=Gr=sH([oH(3,Us)],pm);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},Px=function(o,e){return function(t,i){e(t,i,o)}},Hh;const TD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ra;let xo=(Ra=class{static get(e){return e.getContribution(Hh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Vt,this._modelVersionId=-1,this._inSnippet=Hh.InSnippetMode.bindTo(n),this._hasNextTabstop=Hh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Hh.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"?TD:{...TD,...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?(Hn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new pm(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()||!Fi.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),y=[];for(let w=0;w<p.choice.options.length;w++){const A=p.choice.options[w];y.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:y}}},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(()=>{tH(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()}},Hh=Ra,Ra.ID="snippetController2",Ra.InSnippetMode=new Ln("inSnippetMode",!1,S("inSnippetMode","Whether the editor in current in snippet mode")),Ra.HasNextTabstop=new Ln("hasNextTabstop",!1,S("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ra.HasPrevTabstop=new Ln("hasPrevTabstop",!1,S("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ra);xo=Hh=rH([Px(1,Yu),Px(2,Li),Px(3,On),Px(4,Us)],xo);vn(xo.ID,xo,4);const Ab=ko.bindToContribution(xo.get);Ri(new Ab({id:"jumpToNextSnippetPlaceholder",precondition:Ke.and(xo.InSnippetMode,xo.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:2}}));Ri(new Ab({id:"jumpToPrevSnippetPlaceholder",precondition:Ke.and(xo.InSnippetMode,xo.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:1026}}));Ri(new Ab({id:"leaveSnippet",precondition:xo.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Ri(new Ab({id:"acceptSnippet",precondition:xo.InSnippetMode,handler:o=>o.finish()}));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},PC=function(o,e){return function(t,i){e(t,i,o)}};let zE=class extends $t{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(WE,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=nr(this,!1),this._forceUpdateExplicitlySignal=Yw(this),this._selectedInlineCompletionId=nr(this,void 0),this._primaryPosition=Un(this,b=>this._positions.read(b)[0]??new Fi(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([al.Redo,al.Undo,al.AcceptWord]),this._fetchInlineCompletionsPromise=rk({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Cl.Automatic}),handleChange:(b,y)=>(b.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(b.change))?y.preserveCurrentCompletion=!0:b.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=Cl.Explicit),!0)},(b,y)=>{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 $=this._source.inlineCompletions.get();Xu(J=>{(!$||A.request.versionId>$.request.versionId)&&this._source.inlineCompletions.set(A.clone(),J),this._source.clearSuggestWidgetInlineCompletions(J)})}const M=this._primaryPosition.read(b),R={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:I==null?void 0:I.toSelectedSuggestionInfo()},P=this.selectedInlineCompletion.get(),V=y.preserveCurrentCompletion||P!=null&&P.forwardStable?P:void 0;return this._source.fetch(M,R,V)}),this._filteredInlineCompletionItems=fl({owner:this,equalsFn:h1()},b=>{const y=this._source.inlineCompletions.read(b);if(!y)return[];const w=this._primaryPosition.read(b);return y.inlineCompletions.filter(I=>I.isVisible(this.textModel,w,b))}),this.selectedInlineCompletionIndex=Un(this,b=>{const y=this._selectedInlineCompletionId.read(b),w=this._filteredInlineCompletionItems.read(b),A=this._selectedInlineCompletionId===void 0?-1:w.findIndex(I=>I.semanticId===y);return A===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):A}),this.selectedInlineCompletion=Un(this,b=>{const y=this._filteredInlineCompletionItems.read(b),w=this.selectedInlineCompletionIndex.read(b);return y[w]}),this.activeCommands=fl({owner:this,equalsFn:h1()},b=>{var y;return((y=this.selectedInlineCompletion.read(b))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,b=>b==null?void 0:b.request.context.triggerKind),this.inlineCompletionsCount=Un(this,b=>{if(this.lastTriggerKind.read(b)===Cl.Explicit)return this._filteredInlineCompletionItems.read(b).length}),this.state=fl({owner:this,equalsFn:(b,y)=>!b||!y?b===y:xD(b.ghostTexts,y.ghostTexts)&&b.inlineCompletion===y.inlineCompletion&&b.suggestItem===y.suggestItem},b=>{const y=this.textModel,w=this.selectedSuggestItem.read(b);if(w){const A=Wd(w.toSingleTextEdit(),y),I=this._computeAugmentation(A,b);if(!this._suggestPreviewEnabled.read(b)&&!I)return;const R=(I==null?void 0:I.edit)??A,P=I?I.edit.text.length-A.text.length:0,V=this._suggestPreviewMode.read(b),$=this._positions.read(b),J=[R,...TC(this.textModel,$,R)],re=J.map((Z,de)=>CD(Z,y,V,$[de],P)).filter(Qx),fe=re[0]??new Jg(R.range.endLineNumber,[]);return{edits:J,primaryGhostText:fe,ghostTexts:re,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),M=this._inlineSuggestMode.read(b),R=this._positions.read(b),P=[I,...TC(this.textModel,R,I)],V=P.map(($,J)=>CD($,y,M,R[J],0)).filter(Qx);return V[0]?{edits:P,primaryGhostText:V[0],ghostTexts:V,inlineCompletion:A,suggestItem:void 0}:void 0}}),this.ghostTexts=fl({owner:this,equalsFn:xD},b=>{const y=this.state.read(b);if(y)return y.ghostTexts}),this.primaryGhostText=fl({owner:this,equalsFn:DB},b=>{const y=this.state.read(b);if(y)return y==null?void 0:y.primaryGhostText}),this._register(ak(this._fetchInlineCompletionsPromise));let C;this._register(ds(b=>{var A,I;const y=this.state.read(b),w=y==null?void 0:y.inlineCompletion;if((w==null?void 0:w.semanticId)!==(C==null?void 0:C.semanticId)&&(C=w,w)){const M=w.inlineCompletion,R=M.source;(I=(A=R.provider).handleItemDidShow)==null||I.call(A,R.inlineCompletions,M.sourceInlineCompletion,M.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?al.Undo:e!=null&&e.isRedoing?al.Redo:this.isAcceptingPartially?al.AcceptWord:al.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){Lv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){Lv(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(Qx);return K4(s,a=>{let d=a.toSingleTextEdit(t);return d=Wd(d,i,ee.fromPositions(d.range.getStartPosition(),e.range.getEndPosition())),FB(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 Hf;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",[fs.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=xo.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=MD(s).map(a=>Ki.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>fs.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,ys),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 Hf;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 Fi(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),y=e.getModel().getValueInRange(b)+g,w=new kl(b,y),A=[w,...TC(this.textModel,p,w)],I=MD(A).map(M=>Ki.fromPositions(M));e.executeEdits("inlineSuggestion.accept",A.map(M=>fs.replace(M.range,M.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(),Fv.ofText(g).addToPosition(d)),y=e.getModel().getValueInRange(b,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,y.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Wd(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})}};zE=aH([PC(9,on),PC(10,$s),PC(11,Us)],zE);var al;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(al||(al={}));function TC(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=vD(i,s);if(d.lineNumber<1)return Yn(new Hf(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
-
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=lH(t.text,d);return n.map(f=>{const g=PO(vD(f,s),r),p=o.getValueInRange(ee.fromPositions(f,g)),C=Np(a,p),b=ee.fromPositions(f,f.delta(0,C));return new kl(b,u)})}function lH(o,e){let t="";const i=X4(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 MD(o){const e=Z4.createSortPermutation(o,Mp(s=>s.range,ee.compareRangesUsingStarts)),i=new QA(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}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},RD=function(o,e){return function(t,i){e(t,i,o)}},X0;class Q9{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 ND extends Q9{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class dH extends Q9{constructor(){super("recentlyUsed"),this._cache=new Fp(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:Qw.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class uH extends Q9{constructor(){super("recentlyUsedByPrefix"),this._trie=Y4.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:Qw.fromString(i.type),this._trie.set(t,i)}}}var Ic;let VE=(Ic=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Vt,this._persistSoon=new Ns(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Vw.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=X0._strategyCtors.get(i)||ND;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,d=this._storageService.get(`${X0._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(`${X0._storagePrefix}/${this._strategy.name}`,i,t,1)}}},X0=Ic,Ic._strategyCtors=new Map([["recentlyUsedByPrefix",uH],["recentlyUsed",dH],["first",ND]]),Ic._storagePrefix="suggest/memories",Ic);VE=X0=cH([RD(0,Xc),RD(1,rs)],VE);const kb=Nl("ISuggestMemories");Ol(kb,VE,1);var hH=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},fH=function(o,e){return function(t,i){e(t,i,o)}},jE,au;let xm=(au=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=jE.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)}},jE=au,au.AtEnd=new Ln("atEndOfWord",!1),au);xm=jE=hH([fH(1,On)],xm);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},pH=function(o,e){return function(t,i){e(t,i,o)}},Y0,lu;let t0=(lu=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Y0.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(Y0._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=Y0._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Y0=lu,lu.OtherSuggestions=new Ln("hasOtherSuggestions",!1),lu);t0=Y0=gH([pH(1,On)],t0);class xH{constructor(e,t,i,n){this._disposables=new Vt,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||!ir(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new Bv;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 dr=class dr{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>dr._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>dr._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>=dr._maxRounds){e();break}if(!n){e();break}const d=i.bracketPairs.findNextBracket(n);if(!d){e();break}if(Date.now()-a>dr._maxDuration){setTimeout(()=>dr._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 lk,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>=dr._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-d>dr._maxDuration){setTimeout(()=>dr._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 y=ee.fromPositions(u.range.getEndPosition(),b.getStartPosition()),w=ee.fromPositions(u.range.getStartPosition(),b.getEndPosition());r.push({range:y}),r.push({range:w}),dr._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 Fi(n,s),t.getEndPosition())}),i.push({range:ee.fromPositions(new Fi(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 Fi(r,a),t.getEndPosition())}),i.push({range:ee.fromPositions(new Fi(r,1),t.getEndPosition())}))}}};dr._maxDuration=30,dr._maxRounds=2;let vm=dr;const Ba=class Ba{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return Ba.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return Ba.None;const[s]=await new vm().provideSelectionRanges(i,[n]);if(s.length===0)return Ba.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return Ba.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends Ba{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(Q4(g))return 2<<20;const p=Iv(g,ee.fromPositions(d),ee.compareRangesUsingStarts),C=p>=0?g[p]:g[Math.max(0,~p-1)];let b=s.length;for(const y of s){if(!ee.containsRange(y.range,C))break;b-=1}return b}}}};Ba.None=new class extends Ba{distance(){return 0}};let mm=Ba,OD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class lc{constructor(e,t,i,n,s,r,a=ck.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=lc._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=lc._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=lc._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?dk:J4;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=Rg.Default;else{let b=0;for(;b<p;){const y=n.charCodeAt(b);if(y===32||y===9)b+=1;else break}if(b>=C)f.score=Rg.Default;else if(typeof f.completion.filterText=="string"){const y=d(n,s,b,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;eL(f.completion.filterText,f.textLabel)===0?f.score=y:(f.score=tL(n,s,b,f.textLabel,f.labelLow,0),f.score[0]=y[0])}else{const y=d(n,s,b,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;f.score=y}}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?iL(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 lc._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 lc._compareCompletionItems(e,t)}}var vH=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},Jl=function(o,e){return function(t,i){e(t,i,o)}},$E;class hd{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 mH(o,e,t){if(!e.getContextKeyValue(No.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(No.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function _H(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(No.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let _m=$E=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 Vt,this._triggerCharacterListener=new Vt,this._triggerQuickSuggest=new Ap,this._triggerState=void 0,this._completionDisposables=new Vt,this._onDidCancel=new hn,this._onDidTrigger=new hn,this._onDidSuggest=new hn,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ki(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(){uo(this._triggerCharacterListener),uo([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(!_H(this._editor,this._contextKeyService,this._configurationService)||hd.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="";sL(i.charCodeAt(i.length-1))?oL(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;Xh.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=xo.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!hd.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(!Xh.isAllOff(n)){if(!Xh.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(Xh.valueFor(n,r)!=="on")return}mH(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Hn(this._editor.hasModel()),Hn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new hd(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 hd(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Ks;const s=this._editor.getOption(113);let r=1;switch(s){case"top":r=0;break;case"bottom":r=2;break}const{itemKind:a,showDeprecated:d}=$E.createSuggestFilter(this._editor),u=new ep(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=mm.create(this._editorWorkerService,this._editor),g=X9(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([y,w])=>{var P;if((P=this._requestToken)==null||P.dispose(),!this._editor.hasModel())return;let A=e==null?void 0:e.clipboardText;if(!A&&y.needsClipboard&&(A=await this._clipboardService.readText()),this._triggerState===void 0)return;const I=this._editor.getModel(),M=new hd(I,this._editor.getPosition(),e),R={...ck.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new lc(y.items,this._context.column,{leadingLineContent:M.leadingLineContent,characterCountDelta:M.column-this._context.column},w,this._editor.getOption(119),this._editor.getOption(113),R,A),this._completionDisposables.add(y.disposable),this._onNewContext(M),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const V of y.items)V.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${V.provider._debugDisplayName}`,V.completion)}).catch(Yn)}_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(eo(e.leadingLineContent)!==eo(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(hd.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=hd.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})}}}}};_m=$E=vH([Jl(1,Hl),Jl(2,l0),Jl(3,fa),Jl(4,Yu),Jl(5,On),Jl(6,rs),Jl(7,Li),Jl(8,nL)],_m);const d_=class d_{constructor(e,t){this._disposables=new Vt,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)>d_._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()}};d_._maxSelectionLength=51200;let UE=d_;var bH=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},MC=function(o,e){return function(t,i){e(t,i,o)}};let qE=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Vt,this.element=xi(e,wi(".suggest-status-bar"));const r=(a=>a instanceof Of?i.createInstance(rL,a,{useComma:!0}):void 0);this._leftActions=new Fg(this.element,{actionViewItemProvider:r}),this._rightActions=new Fg(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()}};qE=bH([MC(2,on),MC(3,Zu),MC(4,On)],qE);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)}};function J9(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let GE=class{constructor(e,t){this._editor=e,this._onDidClose=new hn,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new hn,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Vt,this._renderDisposeable=new Vt,this._borderWidth=1,this._size=new Jn(330,0),this.domNode=wi(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(u0,{editor:e}),this._body=wi(".body"),this._scrollbar=new uk(this._body,{alwaysConsumeMouseWheel:!0}),xi(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=xi(this._body,wi(".header")),this._close=xi(this._header,wi("span"+zn.asCSSSelector(Qi.close))),this._close.title=S("details.close","Close"),this._type=xi(this._header,wi("p.type")),this._docs=xi(this._body,wi("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 lo().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!J9(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,Mr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Va(this._type),this._type.title="",Yo(this._type),this.domNode.classList.add("no-type");if(Va(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Va(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 Jn(e,t);Jn.equals(i,this._size)||(this._size=i,aL(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}};GE=CH([EH(1,on)],GE);class yH{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Vt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new I9,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=Pp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Jn(220,2*s.lineHeight),a=e.top,d=(function(){const P=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),V=-s.borderWidth+e.left+e.width,$=new Jn(P,n.height-e.top-s.borderHeight-s.verticalPadding),J=$.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:P-t.width,maxSizeTop:$,maxSizeBottom:J,minSize:r.with(Math.min(P,r.width))}})(),u=(function(){const P=e.left-s.borderWidth-s.horizontalPadding,V=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),$=new Jn(P,n.height-e.top-s.borderHeight-s.verticalPadding),J=$.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:V,fit:P-t.width,maxSizeTop:$,maxSizeBottom:J,minSize:r.with(Math.min(P,r.width))}})(),f=(function(){const P=e.left,V=-s.borderWidth+e.top+e.height,$=new Jn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:V,left:P,fit:$.height-t.height,maxSizeBottom:$,maxSizeTop:$,minSize:r.with($.width)}})(),g=[d,u,f],p=g.find(P=>P.fit>=0)??g.sort((P,V)=>V.fit-P.fit)[0],C=e.top+e.height-s.borderHeight;let b,y=t.height;const w=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>w&&(y=w);let A;i?y<=p.maxSizeTop.height?(b=!0,A=p.maxSizeTop):(b=!1,A=p.maxSizeBottom):y<=p.maxSizeBottom.height?(b=!1,A=p.maxSizeBottom):(b=!0,A=p.maxSizeTop);let{top:I,left:M}=p;!b&&y>e.height&&(I=C-y);const R=this._editor.getDomNode();if(R){const P=R.getBoundingClientRect();I-=P.top,M-=P.left}this._applyTopLeft({left:M,top:I}),this._resizable.enableSashes(!b,p===d,b,p!==d),this._resizable.minSize=p.minSize,this._resizable.maxSize=A,this._resizable.layout(y,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 Wa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Wa||(Wa={}));const wH=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Tx(o,e,t,i,n){if(zn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(Zn.isUri(n))return[];const s=i===Wa.ROOT_FOLDER?["rootfolder-icon"]:i===Wa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===Eo.data)r=Pv.parseMetaData(t).get(Pv.META_DATA_LABEL);else{const a=t.path.match(wH);a?(r=Mx(a[2].toLowerCase()),a[1]&&s.push(`${Mx(a[1].toLowerCase())}-name-dir-icon`)):r=Mx(t.authority.toLowerCase())}if(i===Wa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Wa.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=SH(o,e,t);a&&s.push(`${Mx(a)}-lang-file-icon`)}}return s}function SH(o,e,t){if(!t)return null;let i=null;if(t.scheme===Eo.data){const s=Pv.parseMetaData(t).get(Pv.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Ng?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Mx(o){return o.replace(/[\s]/g,"/")}var DH=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},RC=function(o,e){return function(t,i){e(t,i,o)}};function LB(o){return`suggest-aria-id:${o}`}const AH=Cs("suggest-more-info",Qi.chevronRight,S("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var na;const kH=new(na=class{extract(e,t){if(e.textLabel.match(na._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(na._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=na._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},na._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*\))/,na._regexStrict=new RegExp(`^${na._regexRelaxed.source}$`,"i"),na);let KE=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new hn,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Vt,i=e;i.classList.add("show-file-icons");const n=xi(e,wi(".icon")),s=xi(n,wi("span.colorspan")),r=xi(e,wi(".contents")),a=xi(r,wi(".main")),d=xi(a,wi(".icon-label.codicon")),u=xi(a,wi("span.left")),f=xi(a,wi("span.right")),g=new FA(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=xi(u,wi("span.signature-label")),C=xi(u,wi("span.qualifier-label")),b=xi(f,wi("span.details-label")),y=xi(f,wi("span.readMore"+zn.asCSSSelector(AH)));return y.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:y,disposables:t,configureFont:()=>{const A=this._editor.getOptions(),I=A.get(50),M=I.getMassagedFontFamily(),R=I.fontFeatureSettings,P=A.get(120)||I.fontSize,V=A.get(121)||I.lineHeight,$=I.fontWeight,J=I.letterSpacing,re=`${P}px`,fe=`${V}px`,Z=`${J}px`;i.style.fontSize=re,i.style.fontWeight=$,i.style.letterSpacing=Z,a.style.fontFamily=M,a.style.fontFeatureSettings=R,a.style.lineHeight=fe,n.style.height=fe,n.style.width=fe,y.style.height=fe,y.style.width=fe}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=LB(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Y_(e.score)},r=[];if(n.kind===19&&kH.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=Tx(this._modelService,this._languageService,Zn.from({scheme:"fake",path:e.textLabel}),Wa.FILE),d=Tx(this._modelService,this._languageService,Zn.from({scheme:"fake",path:n.detail}),Wa.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=[Tx(this._modelService,this._languageService,Zn.from({scheme:"fake",path:e.textLabel}),Wa.FOLDER),Tx(this._modelService,this._languageService,Zn.from({scheme:"fake",path:n.detail}),Wa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...zn.asClassNameArray(Qw.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=NC(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=NC(n.label.detail||""),i.detailsLabel.textContent=NC(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Mr(i.detailsLabel):Yo(i.detailsLabel),J9(e)?(i.right.classList.add("can-expand-details"),Mr(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"),Yo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};KE=DH([RC(1,mo),RC(2,ga),RC(3,$r)],KE);function NC(o){return o.replace(/\r\n|\r|\n/g,"")}var BH=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},Rx=function(o,e){return function(t,i){e(t,i,o)}},Wh;Si("editorSuggestWidget.background",hk,S("editorSuggestWidgetBackground","Background color of the suggest widget."));Si("editorSuggestWidget.border",lL,S("editorSuggestWidgetBorder","Border color of the suggest widget."));const FH=Si("editorSuggestWidget.foreground",Rp,S("editorSuggestWidgetForeground","Foreground color of the suggest widget."));Si("editorSuggestWidget.selectedForeground",fk,S("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));Si("editorSuggestWidget.selectedIconForeground",cL,S("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const LH=Si("editorSuggestWidget.selectedBackground",gk,S("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));Si("editorSuggestWidget.highlightForeground",pk,S("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));Si("editorSuggestWidget.focusHighlightForeground",dL,S("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));Si("editorSuggestWidgetStatus.foreground",ja(FH,.5),S("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class IH{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof jr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Jn.is(t))return Jn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Pc;let ZE=(Pc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new or,this._pendingShowDetails=new or,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Ap,this._disposables=new Vt,this._onDidSelect=new QS,this._onDidFocus=new QS,this._onDidHide=new hn,this._onDidShow=new hn,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new hn,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new I9,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new PH(this,e),this._persistedSize=new IH(t,e);class r{constructor(C,b,y=!1,w=!1){this.persistedSize=C,this.currentSize=b,this.persistHeight=y,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:y,defaultSize:w}=this.getLayoutInfo(),A=Math.round(y/2);let{width:I,height:M}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-M)<=A)&&(M=((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 Jn(I,M))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=xi(this.element.domNode,wi(".message")),this._listElement=xi(this.element.domNode,wi(".tree"));const d=this._disposables.add(s.createInstance(GE,this.editor));d.onDidClose(this.toggleDetails,this,this._disposables),this._details=new yH(d,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(KE,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Hw("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:y}=p.completion,w=Xw("{0}{1}",y||"",b?typeof b=="string"?b:b.value:"");return S("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",C,w)}}}),this._list.style(xk({listInactiveFocusBackground:LH,listInactiveFocusOutline:Bu})),this._status=s.createInstance(qE,this.element.domNode,yc);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=Yi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Yi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Yi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Yi.HasFocusedSuggestion.bindTo(i),this._disposables.add(Al(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=Lg(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=Gs(async s=>{const r=Bg(()=>{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:LB(i)}))}).catch(Yn)),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:Yo(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=Wh.LOADING_MESSAGE,Yo(this._listElement,this._status.element),Mr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Tf(Wh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=Wh.NO_SUGGESTIONS_MESSAGE,Yo(this._listElement,this._status.element),Mr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Tf(Wh.NO_SUGGESTIONS_MESSAGE);break;case 3:Yo(this._messageElement),Mr(this._listElement,this._status.element),this._show();break;case 4:Yo(this._messageElement),Mr(this._listElement,this._status.element),this._show();break;case 5:Yo(this._messageElement),Mr(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=Bg(()=>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=JS(Id(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")):(J9(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=JS(Id(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=Pp(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 Jn(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=wo(this.editor.getDomNode()),C=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),b=p.top+C.top+C.height,y=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,y)+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>y||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=y),this.element.preferredSize=new Jn(u,i.defaultSize.height),this.element.maxSize=new Jn(d,I),this.element.minSize=new Jn(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=uL(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 Jn(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}},Wh=Pc,Pc.LOADING_MESSAGE=S("suggestWidget.loading","Loading..."),Pc.NO_SUGGESTIONS_MESSAGE=S("suggestWidget.noSuggestions","No suggestions."),Pc);ZE=Wh=BH([Rx(1,Xc),Rx(2,On),Rx(3,$r),Rx(4,on)],ZE);class PH{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 Jn(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 TH=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},Ah=function(o,e){return function(t,i){e(t,i,o)}},XE;class MH{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=kn.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 Nr=(cu=class{static get(e){return e.getContribution(XE.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 or,this._toDispose=new Vt,this._selectors=new RH(g=>g.priority),this._onWillInsertSuggestItem=new hn,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(_m,this.editor),this._selectors.register({priority:0,select:(g,p,C)=>this._memoryService.select(g,p,C)});const d=Yi.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 rC(Id(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(ZE,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(w=>this._insertSuggestion(w,0),this));const p=new xH(this.editor,g,this.model,w=>this._insertSuggestion(w,2));this._toDispose.add(p);const C=Yi.MakesTextEdit.bindTo(this._contextKeyService),b=Yi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=Yi.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(ss(()=>{C.reset(),b.reset(),y.reset()})),this._toDispose.add(g.onDidFocus(({item:w})=>{const A=this.editor.getPosition(),I=w.editStart.column,M=A.column;let R=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!w.completion.additionalTextEdits&&!(w.completion.insertTextRules&4)&&M-I===w.completion.insertText.length&&(R=this.editor.getModel().getValueInRange({startLineNumber:A.lineNumber,startColumn:I,endLineNumber:A.lineNumber,endColumn:M})!==w.completion.insertText),C.set(R),b.set(!Fi.equals(w.editInsertEnd,w.editReplaceEnd)),y.set(!!w.provider.resolveCompletionItem||!!w.completion.documentation||w.completion.detail!==w.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(w=>{if(w.toKeyCodeChord().equals(new e8(!0,!1,!1,!1,33))||qa&&w.toKeyCodeChord().equals(new e8(!1,!1,!1,!0,33))){w.stopPropagation();return}w.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new rC(Id(e.getDomNode()),()=>this._toDispose.add(new UE(this.editor,this.model)))),this._alternatives=this._toDispose.add(new rC(Id(e.getDomNode()),()=>this._toDispose.add(new t0(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(xm,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new MH(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=Yi.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=xo.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 Ks;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=Mf.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let w=ee.lift(y.range);if(w.startLineNumber===r.position.lineNumber&&w.startColumn>r.position.column){const A=this.editor.getPosition().column-r.position.column,I=A,M=ee.spansMultipleLines(w)?0:A;w=new ee(w.startLineNumber,w.startColumn+I,w.endLineNumber,w.endColumn+M)}return fs.replaceMove(w,y.text)})),b.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const b=new Oo;let y;const w=n.onDidChangeContent(R=>{if(R.isFlush){d.cancel(),w.dispose();return}for(const P of R.changes){const V=ee.getEndPosition(P.range);(!y||Fi.isBefore(V,y))&&(y=V)}}),A=t;t|=2;let I=!1;const M=this.editor.onWillType(()=>{M.dispose(),I=!0,A&2||this.editor.pushUndoStop()});a.push(r.resolve(d.token).then(()=>{if(!r.completion.additionalTextEdits||d.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(P=>Fi.isBefore(y,ee.getStartPosition(P.range))))return!1;I&&this.editor.pushUndoStop();const R=Mf.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(P=>fs.replaceMove(ee.lift(P.range),P.text))),R.restoreRelativeVerticalPositionOfCursor(this.editor),(I||!(A&2))&&this.editor.pushUndoStop(),!0}).then(R=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",b.elapsed(),R),p=R===!0?1:R===!1?0:-2}).finally(()=>{w.dispose(),M.dispose()}))}let{insertText:C}=r.completion;if(r.completion.insertTextRules&4||(C=Nu.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===bm.id)this.model.trigger({auto:!0,retrigger:!0});else{const b=new Oo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?ys(y):Yn(y)}).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:qA(Ga(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:hL(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){Hn(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(ir(e.completion.additionalTextEdits)){const t=S("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);zr(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};Rs.once(this.model.onDidTrigger)(s=>{const r=[];Rs.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{uo(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(uo(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)}},XE=cu,cu.ID="editor.contrib.suggestController",cu);Nr=XE=TH([Ah(1,kb),Ah(2,$s),Ah(3,On),Ah(4,on),Ah(5,Yu),Ah(6,fa)],Nr);class RH{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 u_=class u_ extends St{constructor(){super({id:u_.id,label:S("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:Ke.and(q.writable,q.hasCompletionItemProvider,Yi.Visible.toNegated()),kbOpts:{kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Nr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};u_.id="editor.action.triggerSuggest";let bm=u_;vn(Nr.ID,Nr,2);Re(bm);const rr=190,_o=ko.bindToContribution(Nr.get);Ri(new _o({id:"acceptSelectedSuggestion",precondition:Ke.and(Yi.Visible,Yi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Ke.and(Yi.Visible,q.textInputFocus),weight:rr},{primary:3,kbExpr:Ke.and(Yi.Visible,q.textInputFocus,Yi.AcceptSuggestionsOnEnter,Yi.MakesTextEdit),weight:rr}],menuOpts:[{menuId:yc,title:S("accept.insert","Insert"),group:"left",order:1,when:Yi.HasInsertAndReplaceRange.toNegated()},{menuId:yc,title:S("accept.insert","Insert"),group:"left",order:1,when:Ke.and(Yi.HasInsertAndReplaceRange,Yi.InsertMode.isEqualTo("insert"))},{menuId:yc,title:S("accept.replace","Replace"),group:"left",order:1,when:Ke.and(Yi.HasInsertAndReplaceRange,Yi.InsertMode.isEqualTo("replace"))}]}));Ri(new _o({id:"acceptAlternativeSelectedSuggestion",precondition:Ke.and(Yi.Visible,q.textInputFocus,Yi.HasFocusedSuggestion),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:yc,group:"left",order:2,when:Ke.and(Yi.HasInsertAndReplaceRange,Yi.InsertMode.isEqualTo("insert")),title:S("accept.replace","Replace")},{menuId:yc,group:"left",order:2,when:Ke.and(Yi.HasInsertAndReplaceRange,Yi.InsertMode.isEqualTo("replace")),title:S("accept.insert","Insert")}]}));is.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Ri(new _o({id:"hideSuggestWidget",precondition:Yi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:9,secondary:[1033]}}));Ri(new _o({id:"selectNextSuggestion",precondition:Ke.and(Yi.Visible,Ke.or(Yi.MultipleSuggestions,Yi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Ri(new _o({id:"selectNextPageSuggestion",precondition:Ke.and(Yi.Visible,Ke.or(Yi.MultipleSuggestions,Yi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:12,secondary:[2060]}}));Ri(new _o({id:"selectLastSuggestion",precondition:Ke.and(Yi.Visible,Ke.or(Yi.MultipleSuggestions,Yi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Ri(new _o({id:"selectPrevSuggestion",precondition:Ke.and(Yi.Visible,Ke.or(Yi.MultipleSuggestions,Yi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Ri(new _o({id:"selectPrevPageSuggestion",precondition:Ke.and(Yi.Visible,Ke.or(Yi.MultipleSuggestions,Yi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:11,secondary:[2059]}}));Ri(new _o({id:"selectFirstSuggestion",precondition:Ke.and(Yi.Visible,Ke.or(Yi.MultipleSuggestions,Yi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Ri(new _o({id:"focusSuggestion",precondition:Ke.and(Yi.Visible,Yi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Ri(new _o({id:"focusAndAcceptSuggestion",precondition:Ke.and(Yi.Visible,Yi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Ri(new _o({id:"toggleSuggestionDetails",precondition:Ke.and(Yi.Visible,Yi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:yc,group:"right",order:1,when:Ke.and(Yi.DetailsVisible,Yi.CanResolve),title:S("detail.more","Show Less")},{menuId:yc,group:"right",order:1,when:Ke.and(Yi.DetailsVisible.toNegated(),Yi.CanResolve),title:S("detail.less","Show More")}]}));Ri(new _o({id:"toggleExplainMode",precondition:Yi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Ri(new _o({id:"toggleSuggestionFocus",precondition:Yi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:2570,mac:{primary:778}}}));Ri(new _o({id:"insertBestCompletion",precondition:Ke.and(q.textInputFocus,Ke.equals("config.editor.tabCompletion","on"),xm.AtEnd,Yi.Visible.toNegated(),t0.OtherSuggestions.toNegated(),xo.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(GA(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:rr,primary:2}}));Ri(new _o({id:"insertNextSuggestion",precondition:Ke.and(q.textInputFocus,Ke.equals("config.editor.tabCompletion","on"),t0.OtherSuggestions,Yi.Visible.toNegated(),xo.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:2}}));Ri(new _o({id:"insertPrevSuggestion",precondition:Ke.and(q.textInputFocus,Ke.equals("config.editor.tabCompletion","on"),t0.OtherSuggestions,Yi.Visible.toNegated(),xo.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:rr,kbExpr:q.textInputFocus,primary:1026}}));Re(class extends St{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=Nr.get(e))==null||t.resetWidgetSize()}});class NH extends $t{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 hn),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=Nr.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?Wd(g,f):void 0;if(!p)return-1;const C=Fi.lift(d),b=u.map((w,A)=>{const I=vg.fromSuggestion(n,f,C,w,this.isShiftKeyPressed),M=Wd(I.toSingleTextEdit(),f),R=FB(p,M);return{index:A,valid:R,prefixLength:M.text.length,suggestItem:w}}).filter(w=>w&&w.valid&&w.prefixLength>0),y=fL(b,Mp(w=>w.prefixLength,X_));return y?y.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(Rs.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=vg.fromSuggestion(n,u,d,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!OH(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Nr.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 vg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Nr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Nr.get(this.editor);e==null||e.forceRenderingAbove()}}class vg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new Nu().parse(r);u.children.length<100&&pm.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const d=e.getOverwriteInfo(n,s);return new vg(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 gL(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new kl(this.range,this.insertText)}}function OH(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var HH=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},sl=function(o,e){return function(t,i){e(t,i,o)}},YE,du;let vr=(du=class extends $t{static get(e){return e.getContribution(YE.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=Ta(this.editor),this._positions=Un(this,p=>{var C;return((C=this._editorObs.selections.read(p))==null?void 0:C.map(b=>b.getEndPosition()))??[new Fi(1,1)]}),this._suggestWidgetAdaptor=this._register(new NH(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=Io(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(C=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=Io(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=Io(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Un(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=Vc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const C=this._editorObs.model.read(p);return C?this._instantiationService.createInstance(zE,C,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),Io(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Un(this,p=>{const C=this.model.read(p);return(C==null?void 0:C.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=WH(this._ghostTexts,this._store),this._ghostTextWidgets=pL(this,this._stablizedGhostTexts,(p,C)=>C.add(this._instantiationService.createInstance(HE,this.editor,{ghostText:p,minReservedLineCount:xl(0),targetTextModel:this.model.map(b=>b==null?void 0:b.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=Yw(this),this._fontFamily=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new No(this._contextKeyService,this.model)),this._register(t8(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([Jx.Tab.id,Jx.DeleteLeft.id,Jx.DeleteRight.id,H5,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(b=>{var y;(y=this.model.get())==null||y.trigger(b)})})),this._register(t8(this._editorObs.selections,(p,C)=>{var b;C.some(y=>y.reason===3||y.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||Zf.dropDownVisible||Xu(p=>{var C;(C=this.model.get())==null||C.stop(p)})})),this._register(ds(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(ss(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=K_(this,(p,C)=>{var w;const b=this.model.read(p),y=b==null?void 0:b.state.read(p);return this._suggestWidgetSelectedItem.get()?C:(w=y==null?void 0:y.inlineCompletion)==null?void 0:w.semanticId});this._register(xL(Un(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,C,b)=>{const y=this.model.get(),w=y==null?void 0:y.state.get();if(!w||!y)return;const A=y.textModel.getLineContent(w.primaryGhostText.lineNumber);await tb(50,f1(b)),await vL(this._suggestWidgetSelectedItem,$0,()=>!1,f1(b)),await this._accessibilitySignalService.playSignal(ZA.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(w.primaryGhostText.renderForScreenReader(A))})),this._register(new sE(this.editor,this.model,this._instantiationService)),this._register(FO(Un(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())),zr(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 Fi(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},YE=du,du.ID="editor.contrib.inlineCompletionsController",du);vr=YE=HH([sl(1,on),sl(2,On),sl(3,rs),sl(4,$s),sl(5,mr),sl(6,Li),sl(7,KA),sl(8,Bs),sl(9,Z_)],vr);function WH(o,e){const t=nr("result",[]),i=[];return e.add(ds(n=>{const s=o.read(n);Xu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=nr("item",s[a]));t.set([...i],r)}i.forEach((a,d)=>a.set(s[d],r))})})),t}const h_=class h_ extends St{constructor(){super({id:h_.ID,label:S("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Ke.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=vr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};h_.ID=z5;let QE=h_;const f_=class f_ extends St{constructor(){super({id:f_.ID,label:S("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Ke.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=vr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};f_.ID=W5;let JE=f_;class zH extends St{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:S("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:q.writable})}async run(e,t){const i=vr.get(t);await vk(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 VH extends St{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:Ke.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Ke.and(q.writable,No.inlineSuggestionVisible)},menuOpts:[{menuId:hi.InlineSuggestionToolbar,title:S("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=vr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class jH extends St{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:Ke.and(q.writable,No.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:hi.InlineSuggestionToolbar,title:S("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=vr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class $H extends St{constructor(){super({id:H5,label:S("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:No.inlineSuggestionVisible,menuOpts:[{menuId:hi.InlineSuggestionToolbar,title:S("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Ke.and(No.inlineSuggestionVisible,q.tabMovesFocus.toNegated(),No.inlineSuggestionHasIndentationLessThanTabSize,Yi.Visible.toNegated(),q.hoverFocused.toNegated())}})}async run(e,t){var n;const i=vr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const g_=class g_ extends St{constructor(){super({id:g_.ID,label:S("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:No.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=vr.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};g_.ID="editor.action.inlineSuggest.hide";let ey=g_;const p_=class p_ extends Ao{constructor(){super({id:p_.ID,title:S("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:hi.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Ke.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(rs),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};p_.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let ty=p_;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},H0=function(o,e){return function(t,i){e(t,i,o)}};class qH{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 iy=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=vr.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 lv(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 lv(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new lv(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=vr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new qH(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Vt,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(Zf,this._editor,!1,xl(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 zu([d])}renderScreenReaderText(e,t){const i=new Vt,n=wi,s=n("div.hover-row.markdown-hover"),r=xi(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new u0({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 lo().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(ds(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 Av(r)})),e.fragment.appendChild(s),i}};iy=UH([H0(1,ga),H0(2,ha),H0(3,Z_),H0(4,on),H0(5,fa)],iy);class GH{}const Bb=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}};vn(vr.ID,vr,3);Re(zH);Re(QE);Re(JE);Re(VH);Re(jH);Re($H);Re(ey);Gn(ty);th.register(iy);Bb.register(new GH);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},OC=function(o,e){return function(t,i){e(t,i,o)}},Q0,Tc;let tp=(Tc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Vt,this.toUnhookForKeyboard=new Vt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Cb(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=>{Yn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Q0.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 mk(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Gs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Yn(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 lo().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 lo().appendCodeblock(p||"",g):void 0),d.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Q0.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+Q0.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 Zw)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?Xp(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 Qp({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(On);return So.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Q0=Tc,Tc.ID="editor.contrib.gotodefinitionatposition",Tc.MAX_SOURCE_PREVIEW_LINES=8,Tc);tp=Q0=KH([OC(1,pa),OC(2,ga),OC(3,Li)],tp);vn(tp.ID,tp,2);var IB=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},Cm=function(o,e){return function(t,i){e(t,i,o)}};class HD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let ny=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new hn,this.onDidChange=this._onDidChange.event,this._dispoables=new Vt,this._markers=[],this._nextIdx=-1,Zn.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=i8(a.resource.toString(),d.resource.toString());return u===0&&(n==="position"?u=ee.compareRangesUsingStarts(a,d)||ho.compare(a.severity,d.severity):u=ho.compare(a.severity,d.severity)||ee.compareRangesUsingStarts(a,d)),u},r=()=>{this._markers=this._markerService.read({resource:Zn.isUri(e)?e:void 0,severities:ho.Error|ho.Warning|ho.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 HD(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=Iv(this._markers,{resource:e.uri},(r,a)=>i8(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 HD(this._markers[i],i+1,this._markers.length)}}};ny=IB([Cm(1,zw),Cm(2,rs)],ny);const PB=Nl("IMarkerNavigationService");let sy=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new lk}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new ny(e,this._markerService,this._configService)}};sy=IB([Cm(0,zw),Cm(1,rs)],sy);Ol(PB,sy,1);var oy;(function(o){function e(t){switch(t){case xx.Ignore:return"severity-ignore "+zn.asClassName(Qi.info);case xx.Info:return zn.asClassName(Qi.info);case xx.Warning:return zn.asClassName(Qi.warning);case xx.Error:return zn.asClassName(Qi.error);default:return""}}o.className=e})(oy||(oy={}));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},kh=function(o,e){return function(t,i){e(t,i,o)}},ry;class XH{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 Vt,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(Al(this._relatedBlock,"click",a=>{a.preventDefault();const d=this._relatedDiagnostics.get(a.target);d&&i(d)})),this._scrollable=new wL(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(){uo(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=eb(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Va(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=wi("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=xi(this._codeLink,wi("span"));C.innerText=s.value,p.appendChild(this._codeLink)}}if(Va(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),ir(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"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(C.resource)}(${C.startLineNumber}, ${C.startColumn}): `,y.title=this._labelService.getUriLabel(C.resource),this._relatedDiagnostics.set(y,C);const w=document.createElement("span");w.innerText=C.message,b.appendChild(y),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 ho.Error:t=S("Error","Error");break;case ho.Warning:t=S("Warning","Warning");break;case ho.Info:t=S("Info","Info");break;case ho.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 uu;let ip=(uu=class extends Qv{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 Vt,this._onDidSelectRelatedInformation=new hn,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=ho.Warning,this._backgroundColor=Sn.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(eW);let t=ay,i=YH;this._severity===ho.Warning?(t=hv,i=QH):this._severity===ho.Info&&(t=ly,i=JH);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(Y5),secondaryHeadingColor:e.getColor(Q5)})}_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(ry.TitleMenu,this._contextKeyService);$w(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=xi(e,wi(""))}_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 XH(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(Ga(a.uri),d)}this._icon.className=`codicon ${oy.className(ho.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()}},ry=uu,uu.TitleMenu=new hi("gotoErrorTitleMenu"),uu);ip=ry=ZH([kh(1,$r),kh(2,ha),kh(3,Zu),kh(4,on),kh(5,On),kh(6,Mg)],ip);const WD=Jw(_L,mL),zD=Jw(CL,bL),VD=Jw(a1,EL),ay=Si("editorMarkerNavigationError.background",{dark:WD,light:WD,hcDark:Dl,hcLight:Dl},S("editorMarkerNavigationError","Editor marker navigation widget error color.")),YH=Si("editorMarkerNavigationError.headerBackground",{dark:ja(ay,.1),light:ja(ay,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),hv=Si("editorMarkerNavigationWarning.background",{dark:zD,light:zD,hcDark:Dl,hcLight:Dl},S("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),QH=Si("editorMarkerNavigationWarning.headerBackground",{dark:ja(hv,.1),light:ja(hv,.1),hcDark:"#0C141F",hcLight:ja(hv,.2)},S("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),ly=Si("editorMarkerNavigationInfo.background",{dark:VD,light:VD,hcDark:Dl,hcLight:Dl},S("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),JH=Si("editorMarkerNavigationInfo.headerBackground",{dark:ja(ly,.1),light:ja(ly,.1),hcDark:null,hcLight:null},S("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),eW=Si("editorMarkerNavigation.background",yL,S("editorMarkerNavigationBackground","Editor marker navigation widget background."));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},Nx=function(o,e){return function(t,i){e(t,i,o)}},J0,hu;let $u=(hu=class{static get(e){return e.getContribution(J0.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Vt,this._editor=e,this._widgetVisible=TB.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(ip,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 Fi(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=J0.get(r))==null||i.close(),(n=J0.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},J0=hu,hu.ID="editor.contrib.markerController",hu);$u=J0=tW([Nx(1,PB),Nx(2,On),Nx(3,ws),Nx(4,on)],$u);class Fb extends St{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=$u.get(t))==null||i.nagivate(this._next,this._multiFile))}}const bd=class bd extends Fb{constructor(){super(!0,!1,{id:bd.ID,label:bd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:578,weight:100},menuOpts:{menuId:ip.TitleMenu,title:bd.LABEL,icon:Cs("marker-navigation-next",Qi.arrowDown,S("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};bd.ID="editor.action.marker.next",bd.LABEL=S("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Em=bd;const Cd=class Cd extends Fb{constructor(){super(!1,!1,{id:Cd.ID,label:Cd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:1602,weight:100},menuOpts:{menuId:ip.TitleMenu,title:Cd.LABEL,icon:Cs("marker-navigation-previous",Qi.arrowUp,S("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};Cd.ID="editor.action.marker.prev",Cd.LABEL=S("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let cy=Cd;class iW extends Fb{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:q.focus,primary:66,weight:100},menuOpts:{menuId:hi.MenubarGoMenu,title:S({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class nW extends Fb{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:q.focus,primary:1090,weight:100},menuOpts:{menuId:hi.MenubarGoMenu,title:S({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}vn($u.ID,$u,4);Re(Em);Re(cy);Re(iW);Re(nW);const TB=new Ln("markersNavigationVisible",!1),sW=ko.bindToContribution($u.get);Ri(new sW({id:"closeMarkersNavigation",precondition:TB,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:q.focus,primary:9,secondary:[1033]}}));var Xr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Xr||(Xr={}));class oW extends St{constructor(){super({id:O5,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:Bi("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:[Xr.NoAutoFocus,Xr.FocusIfVisible,Xr.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:Xr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=ao.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Xr.FocusIfVisible;Object.values(Xr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Xr.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!==Xr.NoAutoFocus?n.focus():a(d):a(d||r===Xr.AutoFocusImmediately)}}class rW extends St{constructor(){super({id:yM,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:Bi("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ao.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=tp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class aW extends St{constructor(){super({id:wM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:16,weight:100},metadata:{description:Bi("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.scrollUp()}}class lW extends St{constructor(){super({id:SM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:18,weight:100},metadata:{description:Bi("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.scrollDown()}}class cW extends St{constructor(){super({id:DM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:15,weight:100},metadata:{description:Bi("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.scrollLeft()}}class dW extends St{constructor(){super({id:AM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:17,weight:100},metadata:{description:Bi("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.scrollRight()}}class uW extends St{constructor(){super({id:kM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Bi("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.pageUp()}}class hW extends St{constructor(){super({id:BM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Bi("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.pageDown()}}class fW extends St{constructor(){super({id:FM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Bi("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.goToTop()}}class gW extends St{constructor(){super({id:LM,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:q.hoverFocused,kbOpts:{kbExpr:q.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Bi("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ao.get(t);i&&i.goToBottom()}}class pW extends St{constructor(){super({id:mb,label:IM,alias:"Increase Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){const n=ao.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(pr.Increase,s,i==null?void 0:i.focus)}}class xW extends St{constructor(){super({id:_b,label:PM,alias:"Decrease Hover Verbosity Level",precondition:q.hoverVisible})}run(e,t,i){var r;const n=ao.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=ao.get(t))==null||r.updateHoverVerbosityLevel(pr.Decrease,s,i==null?void 0:i.focus)}}var vW=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},HC=function(o,e){return function(t,i){e(t,i,o)}};const yr=wi;class mW{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 jD={type:1,filter:{include:es.QuickFix},triggerAction:Ho.QuickFixHover};let dy=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 mW(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new zu([]);const i=new Vt,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)=>ho.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new zu(n)}_renderMarkerHover(e){const t=new Vt,i=yr("div.hover-row"),n=xi(i,yr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:d}=e.marker;this._editor.applyFontInfo(n);const u=xi(n,yr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=yr("span");if(s){const y=xi(g,yr("span"));y.innerText=s}const p=xi(g,yr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Nn(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const C=xi(p,yr("span"));C.innerText=a.value;const b=xi(n,g);b.style.opacity="0.6",b.style.paddingLeft="6px"}else{const g=xi(n,yr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(ir(d))for(const{message:g,resource:p,startLineNumber:C,startColumn:b}of d){const y=xi(n,yr("div"));y.style.marginTop="8px";const w=xi(y,yr("a"));w.innerText=`${Ga(p)}(${C}, ${b}): `,w.style.cursor="pointer",t.add(Nn(w,"click",I=>{if(I.stopPropagation(),I.preventDefault(),this._openerService){const M={selection:{startLineNumber:C,startColumn:b}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:M}).catch(Yn)}}));const A=xi(y,yr("span"));A.innerText=g,this._editor.applyFontInfo(A)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===ho.Error||t.marker.severity===ho.Warning||t.marker.severity===ho.Info){const n=$u.get(this._editor);n&&e.statusBar.addAction({label:S("view problem","View Problem"),commandId:Em.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(yr("div"));this.recentMarkerCodeActionsInfo&&(n8.makeKey(this.recentMarkerCodeActionsInfo.marker)===n8.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?$t.None:Bg(()=>n.textContent=S("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(ss(()=>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(ss(()=>{d||a.dispose()})),e.statusBar.addAction({label:S("quick fixes","Quick Fix..."),commandId:k9,run:u=>{d=!0;const f=Gf.get(this._editor),g=wo(u);e.hide(),f==null||f.showCodeActions(jD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},Yn)}}getCodeActions(e){return Gs(t=>qh(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new ee(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),jD,pl.None,t))}};dy=vW([HC(1,SL),HC(2,ha),HC(3,Li)],dy);class _W{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=Sv.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)??Sv.Center;if(!n&&a!==this._laneOrLine)continue;const d=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!d||Tg(d)||i.push(...BA(d).map(e))}return i}}var bW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$D=function(o,e){return function(t,i){e(t,i,o)}},uy;const UD=wi;var fu;let hy=(fu=class extends $t{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Vt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new kA),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new u0({editor:this._editor},t,i)),this._computer=new _W(this._editor),this._hoverOperation=this._register(new V5(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(Al(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return uy.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=UD("div.hover-row.markdown-hover"),r=xi(s,UD("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||!bb(t,e.x,e.y))&&this.hide()}},uy=fu,fu.ID="editor.contrib.modesGlyphHoverWidget",fu);hy=uy=bW([$D(1,ga),$D(2,ha)],hy);var CW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},EW=function(o,e){return function(t,i){e(t,i,o)}},Sf;let ym=(Sf=class extends $t{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Vt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Ns(()=>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?bb(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(hy,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Sf.ID="editor.contrib.marginHover",Sf);ym=CW([EW(1,on)],ym);class yW{}class wW{}class SW{}vn(ao.ID,ao,2);vn(ym.ID,ym,2);Re(oW);Re(rW);Re(aW);Re(lW);Re(cW);Re(dW);Re(uW);Re(hW);Re(fW);Re(gW);Re(pW);Re(xW);th.register(Xg);th.register(dy);q_((o,e)=>{const t=o.getColor(DL);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)}; }`))});Bb.register(new yW);Bb.register(new wW);Bb.register(new SW);function Lo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function mg(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 MB(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 AL(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=(y,w)=>(w=w||1,Wf.shiftIndent(y,y.length+w,r,a,d)),f=(y,w)=>(w=w||1,Wf.unshiftIndent(y,y.length+w,r,a,d)),g=[],p=o.getLineContent(t);let C=eo(p),b=C;s.shouldIncrease(t)?(b=u(b),C=u(C)):s.shouldIndentNextLine(t)&&(b=u(b)),t++;for(let y=t;y<=i;y++){if(DW(o,y))continue;const w=o.getLineContent(y),A=eo(w),I=b;s.shouldDecrease(y,I)&&(b=f(b),C=f(C)),A!==b&&g.push(fs.replaceMove(new Ki(y,1,y,A.length+1),kL(b,a,d))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,I)?(C=u(C),b=C):s.shouldIndentNextLine(y,I)?b=u(b):b=C)}return g}function DW(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}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},kW=function(o,e){return function(t,i){e(t,i,o)}};const x_=class x_ extends St{constructor(){super({id:x_.ID,label:S("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:q.writable,metadata:{description:Bi("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 PW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};x_.ID="editor.action.indentationToSpaces";let fy=x_;const v_=class v_ extends St{constructor(){super({id:v_.ID,label:S("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:q.writable,metadata:{description:Bi("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 TW(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};v_.ID="editor.action.indentationToTabs";let gy=v_;class eS extends St{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Rl),n=e.get(mo),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 m_=class m_ extends eS{constructor(){super(!1,!1,{id:m_.ID,label:S("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Bi("indentUsingTabsDescription","Use indentation with tabs.")}})}};m_.ID="editor.action.indentUsingTabs";let py=m_;const __=class __ extends eS{constructor(){super(!0,!1,{id:__.ID,label:S("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Bi("indentUsingSpacesDescription","Use indentation with spaces.")}})}};__.ID="editor.action.indentUsingSpaces";let xy=__;const b_=class b_ extends eS{constructor(){super(!0,!0,{id:b_.ID,label:S("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Bi("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};b_.ID="editor.action.changeTabDisplaySize";let vy=b_;const C_=class C_ extends St{constructor(){super({id:C_.ID,label:S("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Bi("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(mo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};C_.ID="editor.action.detectIndentation";let my=C_;class BW extends St{constructor(){super({id:"editor.action.reindentlines",label:S("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:q.writable,metadata:{description:Bi("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Us),n=t.getModel();if(!n)return;const s=MB(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class FW extends St{constructor(){super({id:"editor.action.reindentselectedlines",label:S("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:q.writable,metadata:{description:Bi("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Us),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=MB(n,i,d,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class LW{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 Df;let wm=(Df=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Vt,this.callOnModel=new Vt,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)||IW(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=>Wf.shiftIndent(b,b.length+1,r,a,d),unshiftIndent:b=>Wf.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=lg(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(b!==null){const y=eo(p),w=Lo(b,r),A=Lo(y,r);if(w!==A){const I=mg(w,r,d);u.push({range:new ee(g,1,g,y.length+1),text:I}),p=I+p.substring(y.length)}else{const I=_k(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 y=lg(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(y!==null){const w=Lo(y,r),A=Lo(eo(i.getLineContent(g+1)),r);if(w!==A){const I=w-A;for(let M=g+1;M<=e.endLineNumber;M++){const R=i.getLineContent(M),P=eo(R),$=Lo(P,r)+I,J=mg($,r,d);J!==P&&u.push({range:new ee(M,1,M,P.length+1),text:J})}}}}if(u.length>0){this.editor.pushUndoStop();const b=new LW(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()}},Df.ID="editor.contrib.autoIndentOnPaste",Df);wm=AW([kW(1,Us)],wm);function IW(o,e){const t=i=>BL(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function RB(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 PW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),RB(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class TW{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),RB(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}vn(wm.ID,wm,2);Re(fy);Re(gy);Re(py);Re(xy);Re(vy);Re(my);Re(BW);Re(FW);vn(Qg.ID,Qg,1);th.register(im);class MW{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 Ki(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Ki(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var RW=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},NW=function(o,e){return function(t,i){e(t,i,o)}},fv,Mc;let i0=(Mc=class{static get(e){return e.getContribution(fv.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 mk(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Gs(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 Ki(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const C=new MW(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,C),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:fv.DECORATION}]),(b=this.decorationRemover)==null||b.cancel(),this.decorationRemover=tb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Yn)}).catch(Yn)):Promise.resolve(void 0)}},fv=Mc,Mc.ID="editor.contrib.inPlaceReplaceController",Mc.DECORATION=kn.register({description:"in-place-replace",className:"valueSetReplacement"}),Mc);i0=fv=RW([NW(1,Hl)],i0);class OW extends St{constructor(){super({id:"editor.action.inPlaceReplace.up",label:S("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=i0.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class HW extends St{constructor(){super({id:"editor.action.inPlaceReplace.down",label:S("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=i0.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}vn(i0.ID,i0,4);Re(OW);Re(HW);class WW extends St{constructor(){super({id:"expandLineSelection",label:S("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:q.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,e9.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}Re(WW);class zW{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=VW(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 VW(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=ev(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),y=b.getStandardTokenType(b.findTokenIndexAtOffset(C));if(y===2||y===3)continue}C=Math.max(g,C),i[n++]=fs.delete(new ee(a,C,a,f))}return i}class NB{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=Ki.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}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)}};let _y=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 Ki(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=eo(e.getLineContent(g)),A=b+Lo(w,a);C=mg(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=lg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(A!==null){const I=eo(e.getLineContent(g)),M=Lo(A,a),R=Lo(I,a);M!==R&&(C=mg(M,a,u)+this.trimStart(p))}}t.addEditOperation(new ee(r.startLineNumber,1,r.startLineNumber,1),C+`
|
|
52
|
-
`);const y=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,C);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,y);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=lg(this._autoIndent,w,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(A!==null){const I=eo(e.getLineContent(r.startLineNumber)),M=Lo(A,a),R=Lo(I,a);if(M!==R){const P=M-R;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:y=>y===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===g?e.getLineContent(r.startLineNumber):e.getLineContent(y)},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 y=lg(this._autoIndent,C,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(y!==null){const w=eo(e.getLineContent(r.startLineNumber)),A=Lo(y,a),I=Lo(w,a);if(A!==I){const M=A-I;this.getIndentEditsOfMovingBlock(e,t,r,a,u,M)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Wf.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Wf.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===vx.None||s.indentAction===vx.Indent?r=s.indentation+s.appendText:s.indentAction===vx.IndentOutdent?r=s.indentation:s.indentAction===vx.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const d=eo(e.getLineContent(n));let u=eo(r);const f=_k(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Lo(u,i),p=Lo(d,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(ev(r)>=0){const a=e.getLineMaxColumn(s),d=aC(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(ev(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=aC(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),ev(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const d=e.getLineMaxColumn(a),u=aC(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=eo(d),g=Lo(u,n)+r,p=mg(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}};_y=jW([$W(3,Us)],_y);const of=class of{static getCollator(){return of._COLLATOR||(of._COLLATOR=new Intl.Collator),of._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=UW(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=OB(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}};of._COLLATOR=null;let np=of;function OB(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(np.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function UW(o,e,t){const i=OB(o,e,t);return i?fs.replace(new ee(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
-
`)):null}class HB extends St{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 NB(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class qW extends HB{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:S("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class GW extends HB{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:S("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"2_line",title:S({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class KW extends St{constructor(){super({id:"editor.action.duplicateSelection",label:S("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:q.writable,menuOpts:{menuId:hi.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 NB(a,!0));else{const d=new Ki(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new FL(d,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class WB extends St{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Us),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new _y(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class ZW extends WB{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:S("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class XW extends WB{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:S("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"2_line",title:S({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class zB extends St{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 Ki(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!np.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new np(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class YW extends zB{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:S("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:q.writable})}}class QW extends zB{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:S("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:q.writable})}}class JW extends St{constructor(){super({id:"editor.action.removeDuplicateLines",label:S("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:q.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 Ki(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of d){const f=new Set,g=[];for(let y=u.startLineNumber;y<=u.endLineNumber;y++){const w=i.getLineContent(y);f.has(w)||(g.push(w),f.add(w))}const p=new Ki(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),C=u.startLineNumber-r,b=new Ki(C,1,C+g.length-1,g[g.length-1].length);n.push(fs.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 E_=class E_ extends St{constructor(){super({id:E_.ID,label:S("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:ks(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Fi(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(rs),a=t.getModel(),d=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new zW(s,n,d);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};E_.ID="editor.action.trimTrailingWhitespace";let by=E_;class ez extends St{constructor(){super({id:"editor.action.deleteLines",label:S("lines.delete","Delete Line"),alias:"Delete Line",precondition:q.writable,kbOpts:{kbExpr:q.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(fs.replace(new Ki(g,C,p,b),"")),a.push(new Ki(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 tz extends St{constructor(){super({id:"editor.action.indentLines",label:S("lines.indent","Indent Line"),alias:"Indent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,LL.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class iz extends St{constructor(){super({id:"editor.action.outdentLines",label:S("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2140,weight:100}})}run(e,t){Jx.Outdent.runEditorCommand(e,t,null)}}class nz extends St{constructor(){super({id:"editor.action.insertLineBefore",label:S("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,bk.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class sz extends St{constructor(){super({id:"editor.action.insertLineAfter",label:S("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:q.writable,kbOpts:{kbExpr:q.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,bk.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class VB extends St{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=>fs.replace(d,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class oz extends VB{constructor(){super({id:"deleteAllLeft",label:S("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:q.writable,kbOpts:{kbExpr:q.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 Ki(d,r.startColumn,d,r.startColumn)}else a=new Ki(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 rz extends VB{constructor(){super({id:"deleteAllRight",label:S("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:q.writable,kbOpts:{kbExpr:q.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 Ki(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 az extends St{constructor(){super({id:"editor.action.joinLines",label:S("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:q.writable,kbOpts:{kbExpr:q.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 Ki(p.startLineNumber,p.startColumn,C.endLineNumber,C.endColumn):C.startLineNumber>p.endLineNumber?(s.push(p),C):new Ki(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],y=b.startLineNumber,w=1;let A=0,I,M;const R=a.getLineLength(b.endLineNumber)-b.endColumn;if(b.isEmpty()||b.startLineNumber===b.endLineNumber){const $=b.getStartPosition();$.lineNumber<a.getLineCount()?(I=y+1,M=a.getLineMaxColumn(I)):(I=$.lineNumber,M=a.getLineMaxColumn($.lineNumber))}else I=b.endLineNumber,M=a.getLineMaxColumn(I);let P=a.getLineContent(y);for(let $=y+1;$<=I;$++){const J=a.getLineContent($),re=a.getLineFirstNonWhitespaceColumn($);if(re>=1){let fe=!0;P===""&&(fe=!1),fe&&(P.charAt(P.length-1)===" "||P.charAt(P.length-1)===" ")&&(fe=!1,P=P.replace(/[\s\uFEFF\xA0]+$/g," "));const Z=J.substr(re-1);P+=(fe?" ":"")+Z,fe?A=Z.length+1:A=Z.length}else A=0}const V=new ee(y,w,I,M);if(!V.isEmpty()){let $;b.isEmpty()?(d.push(fs.replace(V,P)),$=new Ki(V.startLineNumber-g,P.length-A+1,y-g,P.length-A+1)):b.startLineNumber===b.endLineNumber?(d.push(fs.replace(V,P)),$=new Ki(b.startLineNumber-g,b.startColumn,b.endLineNumber-g,b.endColumn)):(d.push(fs.replace(V,P)),$=new Ki(b.startLineNumber-g,b.startColumn,b.startLineNumber-g,P.length-R)),ee.intersectRanges(V,n)!==null?f=$:u.push($)}g+=V.endLineNumber-V.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,d,u),t.pushUndoStop()}}class lz extends St{constructor(){super({id:"editor.action.transpose",label:S("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:q.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 Sp(new Ki(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 OA(g,p,new Ki(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class sh extends St{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(fs.replace(f,this._modifyText(g,s)))}else{const d=n.getValueInRange(a);r.push(fs.replace(a,this._modifyText(d,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class cz extends sh{constructor(){super({id:"editor.action.transformToUppercase",label:S("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class dz extends sh{constructor(){super({id:"editor.action.transformToLowercase",label:S("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:q.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class wl{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 y_=class y_ extends sh{constructor(){super({id:"editor.action.transformToTitlecase",label:S("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:q.writable})}_modifyText(e,t){const i=y_.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};y_.titleBoundary=new wl("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Sm=y_;const rf=class rf extends sh{constructor(){super({id:"editor.action.transformToSnakecase",label:S("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:q.writable})}_modifyText(e,t){const i=rf.caseBoundary.get(),n=rf.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};rf.caseBoundary=new wl("(\\p{Ll})(\\p{Lu})","gmu"),rf.singleLetters=new wl("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let _g=rf;const w_=class w_ extends sh{constructor(){super({id:"editor.action.transformToCamelcase",label:S("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:q.writable})}_modifyText(e,t){const i=w_.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("")}};w_.wordBoundary=new wl("[_\\s-]","gm");let Dm=w_;const af=class af extends sh{constructor(){super({id:"editor.action.transformToPascalcase",label:S("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:q.writable})}_modifyText(e,t){const i=af.wordBoundary.get(),n=af.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("")}};af.wordBoundary=new wl("[_\\s-]","gm"),af.wordBoundaryToMaintain=new wl("(?<=\\.)","gm");let Am=af;const ac=class ac extends sh{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:q.writable})}_modifyText(e,t){const i=ac.caseBoundary.get(),n=ac.singleLetters.get(),s=ac.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};ac.caseBoundary=new wl("(\\p{Ll})(\\p{Lu})","gmu"),ac.singleLetters=new wl("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),ac.underscoreBoundary=new wl("(\\S)(_)(\\S)","gm");let km=ac;Re(qW);Re(GW);Re(KW);Re(ZW);Re(XW);Re(YW);Re(QW);Re(JW);Re(by);Re(ez);Re(tz);Re(iz);Re(nz);Re(sz);Re(oz);Re(rz);Re(az);Re(lz);Re(cz);Re(dz);_g.caseBoundary.isSupported()&&_g.singleLetters.isSupported()&&Re(_g);Dm.wordBoundary.isSupported()&&Re(Dm);Am.wordBoundary.isSupported()&&Re(Am);Sm.titleBoundary.isSupported()&&Re(Sm);km.isSupported()&&Re(km);var uz=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)}},gv;const jB=new Ln("LinkedEditingInputVisible",!1),hz="linked-editing-decoration";var Rc;let n0=(Rc=class extends $t{static get(e){return e.getContribution(gv.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new Vt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=jB.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 Vt),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(Rs.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new zc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new zc(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=Np(u,f);g+=C,u=u.substr(C),f=f.substr(C);const b=IL(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 Ks;try{const r=new Oo(!1),a=await $B(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:gv.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){Zc(r)||Yn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},gv=Rc,Rc.ID="editor.contrib.linkedEditing",Rc.DECORATION=kn.register({description:"linked-editing",stickiness:0,className:hz}),Rc);n0=gv=uz([Ox(1,On),Ox(2,Li),Ox(3,Us),Ox(4,mr)],n0);class fz extends St{constructor(){super({id:"editor.action.linkedEditing",label:S("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:Ke.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(ws),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Zn.isUri(n)&&Fi.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))))},Yn):super.runCommand(e,t)}run(e,t){const i=n0.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const gz=ko.bindToContribution(n0.get);Ri(new gz({id:"cancelLinkedEditingInput",precondition:jB,handler:o=>o.clearRanges(),kbOpts:{kbExpr:q.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function $B(o,e,t,i){const n=o.ordered(e);return t9(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){ys(r);return}}),s=>!!s&&ir(s==null?void 0:s.ranges))}Si("editor.linkedEditingBackground",{dark:Sn.fromHex("#f00").transparent(.3),light:Sn.fromHex("#f00").transparent(.3),hcDark:Sn.fromHex("#f00").transparent(.3),hcLight:Sn.white},S("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Bo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Li);return $B(i,e,t,fn.None)});vn(n0.ID,n0,1);Re(fz);let pz=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 Bm{constructor(e){this._disposables=new Vt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new pz(r,n));t=Bm._union(t,s),ok(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 UB(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])},ys));return Promise.all(n).then(()=>{const s=new Bm(Sl(i));return t.isCancellationRequested?(s.dispose(),new Bm([])):s})}is.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Hn(t instanceof Zn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Li),s=o.get(mo).getModel(t);if(!s)return[];const r=await UB(n,s,fn.None);if(!r)return[];for(let d=0;d<Math.min(i,r.links.length);d++)await r.links[d].resolve(fn.None);const a=r.links.slice(0);return r.dispose(),a});var xz=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)}},Cy,gu;let sp=(gu=class extends $t{static get(e){return e.getContribution(Cy.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 Ns(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Cb(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=Gs(t=>UB(this.providers,e,t));try{const t=new Oo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Yn(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(uf.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 uf(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(fn.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===Eo.file&&s.startsWith(`${Eo.file}:`)){const a=Zn.parse(s);if(a.scheme===Eo.file){const d=PL(a);let u=null;d.startsWith("/./")||d.startsWith("\\.\\")?u=`.${d.substr(1)}`:(d.startsWith("//./")||d.startsWith("\\\\.\\"))&&(u=`.${d.substr(2)}`),u&&(s=TL(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.")):Yn(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()}},Cy=gu,gu.ID="editor.linkDetector",gu);sp=Cy=xz([Hx(1,ha),Hx(2,vo),Hx(3,Li),Hx(4,mr)],sp);const qD={general:kn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:kn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class uf{static decoration(e,t){return{range:e.range,options:uf._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?qD.active:qD.general};return n.hoverMessage=vz(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,uf._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,uf._getOptions(this.link,t,!1))}}function vz(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?qa?S("links.navigate.kb.meta.mac","cmd + click"):S("links.navigate.kb.meta","ctrl + click"):qa?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 lo("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new lo().appendText(`${i} (${n})`)}class mz extends St{constructor(){super({id:"editor.action.openLink",label:S("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=sp.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)}}}vn(sp.ID,sp,1);Re(mz);const BS=class BS extends $t{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})}))}};BS.ID="editor.contrib.longLinesHelper";let Fm=BS;vn(Fm.ID,Fm,2);const _z=Si("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);Si("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);Si("editor.wordHighlightTextBackground",_z,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 bz=Si("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));Si("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Bu,hcLight:Bu},S("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));Si("editor.wordHighlightTextBorder",bz,S("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const Cz=Si("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),Ez=Si("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),yz=Si("editorOverviewRuler.wordHighlightTextForeground",Ck,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),wz=kn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Is(Ez),position:za.Center},minimap:{color:Is(ib),position:1}}),Sz=kn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Is(yz),position:za.Center},minimap:{color:Is(ib),position:1}}),Dz=kn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Is(Ck),position:za.Center},minimap:{color:Is(ib),position:1}}),Az=kn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),kz=kn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Is(Cz),position:za.Center},minimap:{color:Is(ib),position:1}});function Bz(o){return o===Tv.Write?wz:o===Tv.Text?Sz:kz}function Fz(o){return o?Az:Dz}q_((o,e)=>{const t=o.getColor(ML);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var Lz=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},Iz=function(o,e){return function(t,i){e(t,i,o)}},Ey;function Yc(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);Tf(n)}}class Pz extends St{constructor(){super({id:"editor.action.insertCursorAbove",label:S("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:hi.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,e9.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Yc(r,s.getCursorStates())}}class Tz extends St{constructor(){super({id:"editor.action.insertCursorBelow",label:S("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:hi.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,e9.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Yc(r,s.getCursorStates())}}class Mz extends St{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:q.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:hi.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 Ki(n,s,n,s))}e.endColumn>1&&i.push(new Ki(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),Yc(r,s.getCursorStates())}}class Rz extends St{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 Ki(d,i[0].startColumn,d,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Yc(a,r.getCursorStates())}}class Nz extends St{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 Ki(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Yc(r,s.getCursorStates())}}class Wx{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class op{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new op(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 Ki(d.startLineNumber,g.startColumn,d.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(d).replace(/\r\n/g,`
|
|
57
|
-
`);return new op(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 Wx(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 Wx(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 Ki(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 Wx(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 Wx(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 Ki(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 S_=class S_ extends $t{static get(e){return e.getContribution(S_.ID)}constructor(e){super(),this._sessionDispose=this._register(new Vt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=op.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 Ki(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(!qB(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 Ki(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};S_.ID="editor.contrib.multiCursorController";let s0=S_;class m0 extends St{run(e,t){const i=s0.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Do.get(t);if(r)this._run(i,r);else{const a=e.get(on).createInstance(Do,t);this._run(i,a),a.dispose()}Yc(s,n.getCursorStates())}}}class Oz extends m0{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:q.focus,primary:2082,weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"3_multi",title:S({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class Hz extends m0{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:hi.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 Wz extends m0{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:q.focus,primary:ks(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class zz extends m0{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 Vz extends m0{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:q.focus,primary:3114,weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"3_multi",title:S({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class jz extends m0{constructor(){super({id:"editor.action.changeAll",label:S("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:Ke.and(q.writable,q.editorTextFocus),kbOpts:{kbExpr:q.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class $z{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 pu;let Lm=(pu=class extends $t{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ns(()=>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=Do.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(Ey._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=s0.get(i);if(!s)return null;const r=Do.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(!qB(i.getModel(),f,p))return null}a=op.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 $z(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:Fz(a)}));this._decorations.set(d)}dispose(){this._setState(null),super.dispose()}},Ey=pu,pu.ID="editor.contrib.selectionHighlighter",pu);Lm=Ey=Lz([Iz(1,Li)],Lm);function qB(o,e,t){const i=GD(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=GD(o,r,!t);if(i!==a)return!1}return!0}function GD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class Uz extends St{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),Yc(s,n.getCursorStates()))}}class qz extends St{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),Yc(s,n.getCursorStates()))}}vn(s0.ID,s0,4);vn(Lm.ID,Lm,1);Re(Pz);Re(Tz);Re(Mz);Re(Oz);Re(Hz);Re(Wz);Re(zz);Re(Vz);Re(jz);Re(Rz);Re(Nz);Re(Uz);Re(qz);const Gz="editor.action.inlineEdit.accept",Kz="editor.action.inlineEdit.reject",Zz="editor.action.inlineEdit.jumpTo",Xz="editor.action.inlineEdit.jumpBack";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},Qz=function(o,e){return function(t,i){e(t,i,o)}};const WC="inline-edit";let yy=class extends $t{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=nr(this,!1),this.currentTextModel=Io(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Un(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(M=>M.length===0),f=[],g=[];function p(M,R){if(g.length>0){const P=g[g.length-1];R&&P.decorations.push(new Hg(P.content.length+1,P.content.length+1+M[0].length,R,0)),P.content+=M[0],M=M.slice(1)}for(const P of M)g.push({content:P,decorations:R?[new Hg(1,P.length+1,R,0)]:[]})}const C=s.getLineContent(r.lineNumber);let b,y=0;if(!u&&(d||!a)){for(const M of r.parts){let R=M.lines;a&&!d&&(p(R,WC),R=[]),b===void 0?(f.push({column:M.column,text:R[0],preview:M.preview}),R=R.slice(1)):p([C.substring(y,M.column-1)],void 0),R.length>0&&(p(R,WC),b===void 0&&M.column<=C.length&&(b=M.column)),y=M.column-1}b!==void 0&&p([C.substring(y)],void 0)}const w=b!==void 0?new AB(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=Un(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:i9})}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:n9})}for(const a of s.inlineTexts)r.push({range:ee.fromPositions(new Fi(s.lineNumber,a.column)),options:{description:WC,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:jh.Left},showIfCollapsed:!0}});return r}),this._register(ss(()=>{this.isDisposed.set(!0,void 0)})),this._register(kB(this.editor,this.decorations))}};yy=Yz([Qz(2,ga)],yy);var tS=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},Ia=function(o,e){return function(t,i){e(t,i,o)}},pv;let wy=class extends $t{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Un(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 Fi(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Ip((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(Sy,this.editor,!0,this.position));e.addContentWidget(a),s.add(ss(()=>e.removeContentWidget(a)))}))}};wy=tS([Ia(2,on)],wy);var Nc;let Sy=(Nc=class extends $t{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${pv.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Tr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Tr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(hi.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(Dy,this.nodes.toolBar,this.editor,hi.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,d)=>{if(a instanceof Of)return n.createInstance(Jz,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{pv._dropDownVisible=a})),this._register(ds(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(ds(a=>{const d=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof Of&&d.push(g);d.length>0&&d.unshift(new Pg),this.toolBar.setAdditionalSecondaryActions(d)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},pv=Nc,Nc._dropDownVisible=!1,Nc.id=0,Nc);Sy=pv=tS([Ia(3,on),Ia(4,On),Ia(5,Zu)],Sy);class Jz extends wA{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Tr("div.keybinding").root;this._register(new Nw(t,Ow,{disableTitle:!0,...SA})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Dy=class extends DA{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=[];$w(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){Ua(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Dy=tS([Ia(4,Zu),Ia(5,On),Ia(6,a0),Ia(7,Bs),Ia(8,$s),Ia(9,fa)],Dy);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},xv=function(o,e){return function(t,i){e(t,i,o)}},eg,Ay;function*eV(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function zC(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 xu;let ky=(xu=class extends $t{static _createUniqueUri(){return Zn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(eg._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=Un(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(eV(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(y=>d.getLineLastNonWhitespaceColumn(y)),g=Math.max(...f),p=u[f.indexOf(g)],C=new Fi(p,g);return{top:a.range.startLineNumber,left:C}}),this._text=Un(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const d=zC(a.text.split(`
|
|
58
|
-
`));return{text:d.text.join(`
|
|
59
|
-
`),shift:d.shift}}),this._originalModel=Vc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Vc(()=>this._modelService.createModel("",null,eg._createUniqueUri())).keepObserved(this._store),this._diff=Un(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=Un(this,r=>{const a=this._model.read(r);if(!a)return;const d=this._editor.getModel();if(!d)return;const u=zC(d.getValueInRange(a.range).split(`
|
|
60
|
-
`)).text.join(`
|
|
61
|
-
`),f=zC(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 Ek.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fn.None);if(!p.identical)return p.changes})}),this._register(Ip((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(By,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(ss(()=>e.removeOverlayWidget(u)))}))}},eg=xu,xu._modelId=0,xu);ky=eg=GB([xv(2,on),xv(3,s9),xv(4,mo)],ky);var vu;let By=(vu=class extends $t{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${Ay.id++}`,this.allowEditorOverflow=!1,this._nodes=wi("div.inlineEditSideBySide",void 0),this._scrollChanged=Pd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(jr,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=Ta(this._previewEditor),this._editorObs=Ta(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(fc,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Ng,fc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Un(d=>{const u=this._text.read(d);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Un(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=y=>new ee(y.startLineNumber+u.top-1,y.startColumn+C,y.endLineNumber+u.top-1,y.endColumn+C);for(const y of f)if(y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:n9}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:yk}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||g.push({range:b(y.original.toInclusiveRange()),options:wk}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:Sk});else for(const w of y.innerChanges||[])y.original.contains(w.originalRange.startLineNumber)&&g.push({range:b(w.originalRange),options:w.originalRange.isEmpty()?Dk:i9}),y.modified.contains(w.modifiedRange.startLineNumber)&&p.push({range:w.modifiedRange,options:w.modifiedRange.isEmpty()?Ak:kk});return{org:g,mod:p}}),this._originalDecorations=Un(this,d=>this._decorations.read(d).org),this._modifiedDecorations=Un(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(ds(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(ds(d=>{this._position.read(d),this._editor.layoutOverlayWidget(this)})),this._register(ds(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 Fi(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}}}},Ay=vu,vu.id=0,vu);By=Ay=GB([xv(5,on)],By);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},fd=function(o,e){return function(t,i){e(t,i,o)}},tg,gr;let fo=(gr=class extends $t{static get(e){return e.getContribution(tg.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=tg.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=tg.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=nr(this,void 0),this._currentWidget=Vc(this._currentEdit,b=>{const y=this._currentEdit.read(b);if(!y)return;const w=y.range.endLineNumber,A=y.range.endColumn,I=y.text.endsWith(`
|
|
65
|
-
`)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,M=new Jg(w,[new dm(A,I,!1)]),R=y.range.startLineNumber===y.range.endLineNumber&&M.parts.length===1&&M.parts[0].lines.length===1,P=y.text==="";return!R&&!P?void 0:this.instantiationService.createInstance(yy,this.editor,{ghostText:xl(M),minReservedLineCount:xl(0),targetTextModel:xl(this.editor.getModel()??void 0),range:xl(y.range)})}),this._isAccepting=nr(this,!1),this._enabled=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=Io(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=Pd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(ds(b=>{this._enabled.read(b)&&(u.read(b),!this._isAccepting.read(b)&&this.getInlineEdit(e,!0))}));const f=Io(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(ds(b=>{if(!this._enabled.read(b))return;const y=f.read(b);y&&this.checkCursorPosition(y)})),this._register(ds(b=>{const y=this._currentEdit.read(b);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const w=e.getPosition();w&&this.checkCursorPosition(w)}));const g=Pd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(ds(async b=>{var y;this._enabled.read(b)&&(g.read(b),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((y=this._currentRequestCts)==null||y.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=Pd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(ds(b=>{this._enabled.read(b)&&(p.read(b),this.getInlineEdit(e,!0))}));const C=this._register(YA());this._register(ds(b=>{const y=this._fontFamily.read(b);C.setStyle(y===""||y==="default"?"":`
|
|
66
|
-
.monaco-editor .inline-edit-decoration,
|
|
67
|
-
.monaco-editor .inline-edit-decoration-preview,
|
|
68
|
-
.monaco-editor .inline-edit {
|
|
69
|
-
font-family: ${y};
|
|
70
|
-
}`)})),this._register(new wy(this.editor,this._currentWidget,this.instantiationService)),this._register(new ky(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 Ks;const a=this._currentRequestCts.token,d=t?s8.Automatic:s8.Invoke;if(t&&await iV(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",[fs.replace(ee.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ys),this.freeEdit(e),Xu(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=Fi.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,ys),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)}},tg=gr,gr.ID="editor.contrib.inlineEditController",gr.inlineEditVisibleKey="inlineEditVisible",gr.inlineEditVisibleContext=new Ln(gr.inlineEditVisibleKey,!1),gr.cursorAtInlineEditKey="cursorAtInlineEdit",gr.cursorAtInlineEditContext=new Ln(gr.cursorAtInlineEditKey,!1),gr);fo=tg=tV([fd(1,on),fd(2,On),fd(3,Li),fd(4,$s),fd(5,rs),fd(6,s9),fd(7,mo)],fo);function iV(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 nV=class extends St{constructor(){super({id:Gz,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:Ke.and(q.writable,fo.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:Ke.and(q.writable,fo.inlineEditVisibleContext,fo.cursorAtInlineEditContext)}],menuOpts:[{menuId:hi.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=fo.get(t);await(i==null?void 0:i.accept())}};class sV extends St{constructor(){const e=Ke.and(q.writable,Ke.not(fo.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=fo.get(t);i==null||i.trigger()}}class oV extends St{constructor(){const e=Ke.and(q.writable,fo.inlineEditVisibleContext,Ke.not(fo.cursorAtInlineEditKey));super({id:Zz,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:hi.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=fo.get(t);i==null||i.jumpToCurrent()}}class rV extends St{constructor(){const e=Ke.and(q.writable,fo.cursorAtInlineEditContext);super({id:Xz,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:hi.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=fo.get(t);i==null||i.jumpBack()}}class aV extends St{constructor(){const e=Ke.and(q.writable,fo.inlineEditVisibleContext);super({id:Kz,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:hi.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=fo.get(t);await(i==null?void 0:i.clear())}}Re(nV);Re(aV);Re(oV);Re(rV);Re(sV);vn(fo.ID,fo,3);const lV="editor.action.inlineEdits.accept",cV="editor.action.inlineEdits.showPrevious",dV="editor.action.inlineEdits.showNext",o0=new Ln("inlineEditsVisible",!1,S("inlineEditsVisible","Whether an inline edit is visible")),uV=new Ln("inlineEditsIsPinned",!1,S("isPinned","Whether an inline edit is visible")),FS=class FS extends $t{constructor(e){super(),this._editor=e,this._editorObs=Ta(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=fl({owner:this,equalsFn:Bk},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=hV(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=AA((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Tr("div.editorPlaceholder");i.add(ds(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(ds(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(ds(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:xl(0),position:xl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};FS.ID="editor.contrib.placeholderText";let rp=FS;function hV(o,e){return K_(o,(t,i)=>i===!0?!0:e(t))}var fV=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},gV=function(o,e){return function(t,i){e(t,i,o)}};class pV{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Fy=class extends $t{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ta(this._editor),this._elements=Tr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Tr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Tr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Tr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Tr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),mh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[mh("defs",[mh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[mh("stop",{offset:"0%",class:"gradient-stop"}),mh("stop",{offset:"100%",class:"gradient-stop"})])]),mh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(fc,"",Ng,fc.DEFAULT_CREATION_OPTIONS,null)),this._setText=Un(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(fc,"",Ng,fc.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(jr,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:RL},{contributions:NL.getSomeEditorContributions([Nr.ID,rp.ID,Yf.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(jr,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=Ta(this._previewEditor),this._decorations=Un(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:n9}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:yk}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||d.push({range:g.original.toInclusiveRange(),options:wk}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:Sk});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&d.push({range:p.originalRange,options:p.originalRange.isEmpty()?Dk:i9}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?Ak:kk});return u}),this._layout1=Un(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),y=this._editor.getOffsetForColumn(C,b);f=Math.max(f,y)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=Un(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 Yh(f,g),b=new Yh(f,p),y=p-g,w=50,A=this._editor.getOption(67)*a.newLines.length,I=y-A,M=new Yh(f+w,g+I/2),R=new Yh(f+w,p-I/2);return{topCode:C,bottomCode:b,codeHeight:y,topEdit:M,bottomEdit:R,editHeight:A}});const s=Un(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(OL(this._elements.root,{display:Un(this,r=>s.read(r)?"block":"none")})),this._register(HL(this._editor.getDomNode(),this._elements.root)),this._register(Ta(e).createOverlayWidget({domNode:this._elements.root,position:xl(null),allowEditorOverflow:!1,minContentWidthInPx:Un(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(ds(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,y=40,w=new vV().moveTo(d).lineTo(d.deltaX(C)).curveTo(d.deltaX(C+y),f.deltaX(-y-b),f.deltaX(-b)).lineTo(f).lineTo(g).lineTo(g.deltaX(-b)).curveTo(g.deltaX(-y-b),u.deltaX(C+y),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(mV(xV(this._userPrompt,r=>r??"",r=>r),Ta(this._promptEditor).value)),this._register(ds(r=>{const a=Ta(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Fy=fV([gV(3,on)],Fy);function xV(o,e,t){return Fk(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Yh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Yh(this.x+e,this.y)}}class vV{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 mV(o,e){const t=new Vt;return t.add(ds(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(ds(i=>{const n=e.read(i);o.set(n,void 0)})),t}var _V=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},VC=function(o,e){return function(t,i){e(t,i,o)}},ig,mu;let Ly=(mu=class extends $t{static _createUniqueUri(){return Zn.from({scheme:"inline-edits",path:new Date().toString()+String(ig._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=Yw(this),this._selectedInlineCompletionId=nr(this,void 0),this._isActive=nr(this,!1),this._originalModel=Vc(()=>this._modelService.createModel("",null,ig._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Vc(()=>this._modelService.createModel("",null,ig._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new CV(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(d=>!!d),this.userPrompt=nr(this,void 0),this.inlineEdit=Un(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=Un(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(M=>M.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 y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return Ek.fromFn(async()=>{const w=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fn.None);if(!w.identical)return new pV(WL.fromRangeInclusive(f),p(g),w.changes)})}),this._fetchStore=this._register(new Vt),this._inlineEditsFetchResult=u1(this,void 0),this._inlineEdits=fl({owner:this,equalsFn:Bk},d=>{var u;return((u=this._inlineEditsFetchResult.read(d))==null?void 0:u.completions.map(f=>new bV(f)))??[]}),this._fetchInlineEditsPromise=rk({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Cl.Automatic}),handleChange:(d,u)=>(d.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=Cl.Explicit),!0)},async(d,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(d),this._textModelVersionId.read(d);function f(y,w){return w(y)}const g=this._pinnedRange.range.read(d)??f(this._selection.read(d),y=>y.isEmpty()?void 0:y);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=f1(this._fetchStore);await tb(200,C);const b=await BB(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,C);C.isCancellationRequested||this._inlineEditsFetchResult.set(b,void 0)}),this._filteredInlineEditItems=fl({owner:this,equalsFn:h1()},d=>this._inlineEdits.read(d)),this.selectedInlineCompletionIndex=Un(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=Un(this,d=>{const u=this._filteredInlineEditItems.read(d),f=this.selectedInlineCompletionIndex.read(d);return u[f]}),this._register(ak(this._fetchInlineEditsPromise))}async triggerExplicitly(e){Lv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){Lv(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 Hf;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},ig=mu,mu._modelId=0,mu);Ly=ig=_V([VC(4,Li),VC(5,s9),VC(6,mo)],Ly);class bV{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class CV extends $t{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=nr(this,[]),this.range=Un(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(ss(()=>{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 EV=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},W0=function(o,e){return function(t,i){e(t,i,o)}},Iy,_u;let Pl=(_u=class extends $t{static get(e){return e.getContribution(Iy.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=zL("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ta(this.editor),this._selection=Un(this,a=>this._editorObs.cursorSelection.read(a)??new Ki(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Vc(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(g1(Ly,a),d,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=K_(this,(a,d)=>{var u;return d||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Vc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(g1(Fy,a),this.editor,this.model.map((d,u)=>d==null?void 0:d.inlineEdit.read(u)),yV(d=>{var u;return((u=this.model.read(d))==null?void 0:u.userPrompt)??nr("empty","")}))}),this._register(o8(o0,this._contextKeyService,a=>{var d;return!!((d=this.model.read(a))!=null&&d.inlineEdit.read(a))})),this._register(o8(uV,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)}},Iy=_u,_u.ID="editor.contrib.inlineEditsController",_u);Pl=Iy=EV([W0(1,on),W0(2,On),W0(3,mr),W0(4,Li),W0(5,rs)],Pl);function yV(o){return Fk(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function ex(o){return{label:o.value,alias:o.original}}const D_=class D_ extends St{constructor(){super({id:D_.ID,...ex(Bi("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:Ke.and(q.writable,o0),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Pl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};D_.ID=dV;let Py=D_;const A_=class A_ extends St{constructor(){super({id:A_.ID,...ex(Bi("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:Ke.and(q.writable,o0),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Pl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};A_.ID=cV;let Ty=A_;class wV extends St{constructor(){super({id:"editor.action.inlineEdits.trigger",...ex(Bi("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:q.writable})}async run(e,t){const i=Pl.get(t);await vk(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class SV extends St{constructor(){super({id:lV,...ex(Bi("action.inlineEdits.accept","Accept Inline Edit")),precondition:o0,menuOpts:{menuId:hi.InlineEditsActions,title:S("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Qi.check},kbOpts:{primary:2058,weight:2e4,kbExpr:o0}})}async run(e,t){var n;t instanceof jr&&(t=t.getParentEditor());const i=Pl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const k_=class k_ extends St{constructor(){super({id:k_.ID,...ex(Bi("action.inlineEdits.hide","Hide Inline Edit")),precondition:o0,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Pl.get(t);Xu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};k_.ID="editor.action.inlineEdits.hide";let My=k_;vn(Pl.ID,Pl,3);Re(wV);Re(Py);Re(Ty);Re(SV);Re(My);const Uu={Visible:new Ln("parameterHintsVisible",!1),MultipleSignatures:new Ln("parameterHintsMultipleSignatures",!1)};async function KB(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){ys(a)}}is.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Hn(Zn.isUri(t)),Hn(Fi.isIPosition(i)),Hn(typeof n=="string"||!n);const s=o.get(Li),r=await o.get(pa).createModelReference(t);try{const a=await KB(s.signatureHelpProvider,r.object.textEditorModel,Fi.lift(i),{triggerKind:bc.Invoke,isRetrigger:!1,triggerCharacter:n},fn.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var sc;(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})(sc||(sc={}));const B_=class B_ extends $t{constructor(e,t,i=B_.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new hn),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=sc.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new or),this.triggerChars=new Bv,this.retriggerChars=new Bv,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new zc(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=sc.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(Yn)}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 sc.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(DV);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 sc.Pending(Gs(d=>KB(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 sc.Active(d.value),this._lastSignatureHelpResult.value=d,this._onChangedHints.fire(this.state.hints),!0)}catch(d){return e===this.triggerId&&(this.state=sc.Default),Yn(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:bc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:bc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:bc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};B_.DEFAULT_DELAY=120;let Ry=B_;function DV(o,e){switch(e.triggerKind){case bc.Invoke:return e;case bc.ContentChange:return o;case bc.TriggerCharacter:default:return e}}var AV=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)}},Ny;const qo=wi,kV=Cs("parameter-hints-next",Qi.chevronDown,S("parameterHintsNextIcon","Icon for show next parameter hint.")),BV=Cs("parameter-hints-previous",Qi.chevronUp,S("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var bu;let Oy=(bu=class extends $t{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new Vt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new u0({editor:e},s,n)),this.keyVisible=Uu.Visible.bindTo(i),this.keyMultipleSignatures=Uu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=qo(".editor-widget.parameter-hints-widget"),t=xi(e,qo(".phwrapper"));t.tabIndex=-1;const i=xi(t,qo(".controls")),n=xi(i,qo(".button"+zn.asCSSSelector(BV))),s=xi(i,qo(".overloads")),r=xi(i,qo(".button"+zn.asCSSSelector(kV)));this._register(Nn(n,"click",p=>{kv.stop(p),this.previous()})),this._register(Nn(r,"click",p=>{kv.stop(p),this.next()}));const a=qo(".body"),d=new uk(a,{alwaysConsumeMouseWheel:!0});this._register(d),t.appendChild(d.getDomNode());const u=xi(a,qo(".signature")),f=xi(a,qo(".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",jw.fontFamily)};g(),this._register(Rs.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=xi(this.domNodes.signature,qo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=xi(n,qo("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=qo("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}xi(this.domNodes.docs,qo("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")xi(this.domNodes.docs,qo("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);xi(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&&(zr(S("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new Oo,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"&&$h(t.documentation).length>0||t&&typeof t.documentation=="object"&&$h(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&$h(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&$h(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),xi(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|^)${Ig(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 Ny.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)}},Ny=bu,bu.ID="editor.widget.parameterHintsWidget",bu);Oy=Ny=AV([zx(2,On),zx(3,ha),zx(4,ga),zx(5,fa)],Oy);Si("editorHoverWidget.highlightForeground",pk,S("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var FV=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},KD=function(o,e){return function(t,i){e(t,i,o)}},Hy,Cu;let r0=(Cu=class extends $t{static get(e){return e.getContribution(Hy.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Ry(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 Mw(()=>this._register(t.createInstance(Oy,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)}},Hy=Cu,Cu.ID="editor.controller.parameterHints",Cu);r0=Hy=FV([KD(1,on),KD(2,Li)],r0);class LV extends St{constructor(){super({id:"editor.action.triggerParameterHints",label:S("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:q.hasSignatureHelpProvider,kbOpts:{kbExpr:q.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=r0.get(t);i==null||i.trigger({triggerKind:bc.Invoke})}}vn(r0.ID,r0,2);Re(LV);const iS=175,nS=ko.bindToContribution(r0.get);Ri(new nS({id:"closeParameterHints",precondition:Uu.Visible,handler:o=>o.cancel(),kbOpts:{weight:iS,kbExpr:q.focus,primary:9,secondary:[1033]}}));Ri(new nS({id:"showPrevParameterHint",precondition:Ke.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:iS,kbExpr:q.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Ri(new nS({id:"showNextParameterHint",precondition:Ke.and(Uu.Visible,Uu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:iS,kbExpr:q.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var IV=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},PV=function(o,e){return function(t,i){e(t,i,o)}};class TV{constructor(e){this.instantiationService=e}init(...e){}}function MV(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Ip((n,s)=>{const r=g1(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function RV(o){return VL()?MV(o,Wy):o()}let Wy=class extends TV{constructor(e,t){super(t),this.init(e)}};Wy=IV([PV(1,on)],Wy);vn(rp.ID,RV(()=>rp),0);Si("editor.placeholder.foreground",jL,S("placeholderForeground","Foreground color of the placeholder text in the editor."));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},Vx=function(o,e){return function(t,i){e(t,i,o)}};const _0=new Ln("renameInputVisible",!1,S("renameInputVisible","Whether the rename input widget is visible"));new Ln("renameInputFocused",!1,S("renameInputFocused","Whether the rename input widget is focused"));let zy=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 Vt,this._visibleContextKey=_0.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Oo,this._inputWithButton=new OV,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 sS(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($L),i=e.getColor(UL);this._domNode.style.backgroundColor=String(e.getColor(hk)??""),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(qL)??"");const n=e.getColor(GL);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(r8)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(r8)??""),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;Hn(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=Pp(this.getDomNode().ownerDocument.body),t=wo(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}=ap.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;Hn(this._renameCandidateListView),Hn(this._nPxAvailableAbove!==void 0),Hn(this._nPxAvailableBelow!==void 0);const t=Vh(this._inputWithButton.domNode),i=Vh(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:Ar(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 Vt;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(Nn(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),d.add(Nn(this._inputWithButton.button,us.KEY_DOWN,f=>{const g=new o9(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 Fi(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(ss(()=>{this._renameCts=void 0,s.dispose(!0)})),d.add(ss(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),d.add(ss(()=>this._candidates.clear()));const u=new j_;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"),Hn(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),Hn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Ks;const i=t?p1.Invoke:p1.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){Hn(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 Dp(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"&&Qx(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=vA(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)}};zy=NV([Vx(2,$r),Vx(3,Bs),Vx(4,On),Vx(5,Yu)],zy);class sS{constructor(e,t){this._disposables=new Vt,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=sS._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(xk({listInactiveFocusForeground:fk,listInactiveFocusBackground:gk}))}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`,Tf(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}=ap.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 ap(r,i)}renderElement(r,a,d){d.populate(r)}disposeTemplate(r){r.dispose()}};return new Hw("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class OV{constructor(){this._onDidInputChange=new hn,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Vt}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=KL().setupManagedHover(J_("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Nn(this.input,us.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Nn(this.input,us.KEY_DOWN,e=>{const t=new o9(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Nn(this.input,us.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Nn(this.input,us.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(Nn(this.input,us.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Hn(this._inputNode),this._inputNode}get button(){return Hn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=x1(Qi.sparkle)),Va(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=x1(Qi.primitiveSquare)),Va(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 kg=class kg{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=`${kg._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=x1(Qi.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),nk(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(ZL.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+kg._PADDING*2}}dispose(){}};kg._PADDING=2;let ap=kg;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},ec=function(o,e){return function(t,i){e(t,i,o)}},Vy;class oS{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 WV(o,e,t,i){const n=new oS(e,t,o),s=await n.resolveRenameLocation(fn.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,fn.None)}var Eu;let Gc=(Eu=class{static get(e){return e.getContribution(Vy.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 Vt,this._cts=new Ks,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(zy,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var b,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Ks,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new oS(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new If(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 $_?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"||Xx(w))&&((b=Mo.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),(y=Mo.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new If(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===p1.Automatic&&(I=I.filter(([M,R])=>R)),I.map(([M])=>M.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=Dp(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&&zr(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)}},Vy=Eu,Eu.ID="editor.contrib.renameController",Eu);Gc=Vy=HV([ec(1,on),ec(2,vo),ec(3,z_),ec(4,kp),ec(5,Yu),ec(6,XL),ec(7,Li),ec(8,fa)],Gc);class zV extends St{constructor(){super({id:"editor.action.rename",label:S("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:Ke.and(q.writable,q.hasRenameProvider),kbOpts:{kbExpr:q.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(ws),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Zn.isUri(n)&&Fi.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))))},Yn):super.runCommand(e,t)}run(e,t){const i=e.get(Yu),n=Gc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}vn(Gc.ID,Gc,4);Re(zV);const rS=ko.bindToContribution(Gc.get);Ri(new rS({id:"acceptRenameInput",precondition:_0,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Ke.and(q.focus,Ke.not("isComposing")),primary:3}}));Ri(new rS({id:"acceptRenameInputWithPreview",precondition:Ke.and(_0,Ke.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Ke.and(q.focus,Ke.not("isComposing")),primary:2051}}));Ri(new rS({id:"cancelRenameInput",precondition:_0,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:q.focus,primary:9,secondary:[1033]}}));Gn(class extends Ao{constructor(){super({id:"focusNextRenameSuggestion",title:{...Bi("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:_0,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(ws).getFocusedCodeEditor();if(!t)return;const i=Gc.get(t);i&&i.focusNextRenameSuggestion()}});Gn(class extends Ao{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Bi("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:_0,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(ws).getFocusedCodeEditor();if(!t)return;const i=Gc.get(t);i&&i.focusPreviousRenameSuggestion()}});Bo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Hn(typeof n=="string");const{renameProvider:s}=o.get(Li);return WV(s,e,t,n)});Bo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Li),s=await new oS(e,t,i).resolveRenameLocation(fn.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});ua.as(Bp.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 VV=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)}},Af;let Im=(Af=class extends $t{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 Ns(()=>{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=>jV(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()}},Af.ID="editor.sectionHeaderDetector",Af);Im=VV([ZD(1,Us),ZD(2,Hl)],Im);function jV(o){return{range:o.range,options:kn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}vn(Im.ID,Im,1);function $V(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 UV(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return YL()||$V(e),QL.wrap(e)}function ZB(o){const e=new Uint32Array(qV(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 UV(e)}function qV(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 Lb(o){return o&&!!o.data}function XB(o){return o&&Array.isArray(o.edits)}class GV{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function YB(o,e){return o.has(e)}function KV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function QB(o,e,t,i,n){const s=KV(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||!Lb(d)&&!XB(d))&&(d=null),new GV(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 ZV(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class XV{constructor(e,t){this.provider=e,this.tokens=t}}function YV(o,e){return o.has(e)}function JB(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function aS(o,e,t,i){const n=JB(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(d){ys(d),a=null}return(!a||!Lb(a))&&(a=null),new XV(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}is.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Hn(t instanceof Zn);const i=o.get(mo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Li),s=ZV(n,i);return s?s[0].getLegend():o.get($s).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});is.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Hn(t instanceof Zn);const i=o.get(mo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Li);if(!YB(n,i))return o.get($s).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await QB(n,i,null,null,fn.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Lb(a))return;const d=ZB({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),d});is.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Hn(t instanceof Zn);const n=o.get(mo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Li),r=JB(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 aS(s,n,ee.lift(i),fn.None);if(a)return a.provider.getLegend()});is.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Hn(t instanceof Zn),Hn(ee.isIRange(i));const n=o.get(mo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Li),r=await aS(s,n,ee.lift(i),fn.None);if(!(!r||!r.tokens))return ZB({id:0,type:"full",data:r.tokens.data})});const lS="editor.semanticHighlighting";function vv(o,e,t){var n;const i=(n=t.getValue(lS,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var eF=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},Pa=function(o,e){return function(t,i){e(t,i,o)}},nc;let jy=class extends $t{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new $y(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()];vv(f,i,n)?g||a(f):g&&d(f,g)}};t.getModels().forEach(f=>{vv(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{vv(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(lS)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};jy=eF([Pa(0,r9),Pa(1,mo),Pa(2,$r),Pa(3,rs),Pa(4,mr),Pa(5,Li)],jy);var Oc;let $y=(Oc=class extends $t{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:nc.REQUEST_MIN_DELAY,max:nc.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new Ns(()=>this._fetchDocumentSemanticTokensNow(),nc.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=()=>{uo(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),uo(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!YB(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Ks,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=QB(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 Oo(!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&&(Zc(d)||typeof d.message=="string"&&d.message.indexOf("busy")!==-1)||Yn(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(XB(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&&(nc._copy(d,f-b,u,g-b,b),g-=b),C.data&&(nc._copy(C.data,0,u,g-C.data.length,C.data.length),g-=C.data.length),f=C.start}f>0&&nc._copy(d,0,u,0,f),t={resultId:t.resultId,data:u}}}if(Lb(t)){this._currentDocumentResponse=new QV(e,t.resultId,t.data);const a=Lk(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()}},nc=Oc,Oc.REQUEST_MIN_DELAY=300,Oc.REQUEST_MAX_DELAY=2e3,Oc);$y=nc=eF([Pa(1,r9),Pa(2,$r),Pa(3,mr),Pa(4,Li)],$y);class QV{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}d0(jy);var JV=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)}},kf;let Pm=(kf=class extends $t{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 Ns(()=>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(lS)&&(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(!vv(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!YV(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=Gs(r=>Promise.resolve(aS(this._provider,e,t,r))),s=new Oo(!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,Lk(d,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},kf.ID="editor.contrib.viewportSemanticTokens",kf);Pm=JV([z0(1,r9),z0(2,$r),z0(3,rs),z0(4,mr),z0(5,Li)],Pm);vn(Pm.ID,Pm,1);class ej{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(a8(g)&&l8(f))break;f=g}for(d+=1;u<s.length;u++){const g=s.charCodeAt(u);if(l8(g)&&a8(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 tj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ij=function(o,e){return function(t,i){e(t,i,o)}},Uy;class cS{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 cS(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var yu;let lp=(yu=class{static get(e){return e.getContribution(Uy.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 iF(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),fn.None).then(s=>{var r;if(!(!ir(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ua(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 cS(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=>Ki.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Uy=yu,yu.ID="editor.contrib.smartSelectController",yu);lp=Uy=tj([ij(1,Li)],lp);class tF extends St{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=lp.get(t);i&&await i.run(this._forward)}}class nj extends tF{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:S("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}is.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class sj extends tF{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:S("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:hi.MenubarSelectionMenu,group:"1_basic",title:S({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}vn(lp.ID,lp,4);Re(nj);Re(sj);async function iF(o,e,t,i,n){const s=o.all(e).concat(new ej(i.selectSubwords));s.length===1&&s.unshift(new vm);const r=[],a=[];for(const d of s)r.push(Promise.resolve(d.provideSelectionRanges(e,t,n)).then(u=>{if(ir(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))}},ys));return await Promise.all(r),a.map(d=>{if(d.length===0)return[];d.sort((p,C)=>Fi.isBefore(p.getStartPosition(),C.getStartPosition())?1:Fi.isBefore(C.getStartPosition(),p.getStartPosition())||Fi.isBefore(p.getEndPosition(),C.getEndPosition())?-1:Fi.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 y=new ee(C.startLineNumber,e.getLineFirstNonWhitespaceColumn(C.startLineNumber),C.endLineNumber,e.getLineLastNonWhitespaceColumn(C.endLineNumber));y.containsRange(C)&&!y.equalsRange(C)&&b.containsRange(y)&&!b.equalsRange(y)&&g.push(y);const w=new ee(C.startLineNumber,1,C.endLineNumber,e.getLineMaxColumn(C.endLineNumber));w.containsRange(C)&&!w.equalsRange(y)&&b.containsRange(w)&&!b.equalsRange(w)&&g.push(w)}g.push(b)}return g})}is.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Hn(Zn.isUri(t));const n=o.get(Li).selectionRangeProvider,s=await o.get(pa).createModelReference(t);try{return iF(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},fn.None)}finally{s.dispose()}});const oj=Object.freeze({View:Bi("view","View"),Help:Bi("help","Help"),Test:Bi("test","Test"),File:Bi("file","File"),Preferences:Bi("preferences","Preferences"),Developer:Bi({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class bg{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&&Ua(this.startLineNumbers,e.startLineNumbers)&&Ua(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new bg([],[],0)}}const XD=JA("stickyScrollViewLayer",{createHTML:o=>o}),jC="data-sticky-line-index",YD="data-sticky-is-line",rj="data-sticky-is-line-number",QD="data-sticky-is-folding-icon";class aj extends $t{constructor(e){super(),this._editor=e,this._foldingIconStore=new Vt,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 jr),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(Nn(this._lineNumbersDomNode,us.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Nn(this._lineNumbersDomNode,us.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 Fi(t,1)).lineNumber,a=s.getViewLineRenderingData(r),d=this._editor.getOption(68);let u;try{u=Hg.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new ik(!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 ek(2e3),p=tk(f,g);let C;XD?C=XD.createHTML(g.build()):C=g.build();const b=document.createElement("span");b.setAttribute(jC,String(e)),b.setAttribute(YD,""),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 y=document.createElement("span");y.setAttribute(jC,String(e)),y.setAttribute(rj,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const w=n.contentLeft;y.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`,y.appendChild(A);const I=this._renderFoldingIconForLine(i,t);I&&y.appendChild(I.domNode),this._editor.applyFontInfo(b),this._editor.applyFontInfo(A),y.style.lineHeight=`${this._lineHeight}px`,b.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,b.style.height=`${this._lineHeight}px`;const M=new lj(e,t,b,y,I,p.characterMapping,b.scrollWidth);return this._updateTopAndZIndexOfStickyLine(M)}_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 cj(d,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:d||i==="always"),u.domNode.setAttribute(QD,""),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=JL(t.characterMapping,e,0);return new Fi(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,jC);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,YD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,QD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class lj{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 cj{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=zn.asClassName(e?rm:om)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Cg{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Tm{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class nF{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Ib=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},cp=function(o,e){return function(t,i){e(t,i,o)}},Eg;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Eg||(Eg={}));var mc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(mc||(mc={}));let qy=class extends $t{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new zc(300)),this._updateOperation=this._register(new Vt),this._editor.getOption(116).defaultModel){case Eg.OUTLINE_MODEL:this._modelProviders.push(new Gy(this._editor,n));case Eg.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Zy(this._editor,t,n));case Eg.INDENTATION_MODEL:this._modelProviders.push(new Ky(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 mc.CANCELED:return this._updateOperation.clear(),null;case mc.VALID:return t.stickyModel}}return null}).catch(t=>(Yn(t),null))}};qy=Ib([cp(2,on),cp(3,Li)],qy);class sF extends $t{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,mc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Gs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?mc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),mc.VALID):this._invalid()).then(void 0,i=>(Yn(i),mc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Gy=class extends sF{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return ll.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 nF(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(_l.first(e.children.values())instanceof SB){const a=_l.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 Cg(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new Cg(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 Tm(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 Cg(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Tm(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 RE?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Gy=Ib([cp(1,Li)],Gy);class oF extends sF{constructor(e){super(e),this._foldingLimitReporter=new EB(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new nF(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Tm(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 Tm(new Cg(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(d),i.push(d)}return n}}let Ky=class extends oF{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new K9(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Ky=Ib([cp(1,Us)],Ky);let Zy=class extends oF{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=qc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new Z9(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}};Zy=Ib([cp(2,Li)],Zy);var dj=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},JD=function(o,e){return function(t,i){e(t,i,o)}};class uj{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Xy=class extends $t{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new hn),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Vt),this._updateSoon=this._register(new Ns(()=>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(ss(()=>{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 qy(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Ks,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const d=this.updateIndex(Iv(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(Iv(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 uj(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}};Xy=dj([JD(1,Li),JD(2,Us)],Xy);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},Bh=function(o,e){return function(t,i){e(t,i,o)}},Yy,wu;let Tl=(wu=class extends $t{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 Vt,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 aj(this._editor),this._stickyLineCandidateProvider=new Xy(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=bg.Empty,this._onDidResize(),this._readConfiguration();const d=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(Nn(d,us.CONTEXT_MENU,async f=>{this._onContextMenu(Id(d),f)})),this._stickyScrollFocusedContextKey=q.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=q.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(Pf(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(Nn(d,us.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Yy.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 Vt,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 Vt),t=this._register(new Cb(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(Al(n,us.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 Fi(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 Fi(u,1)}this._revealPosition(d)})),this._register(Al(n,us.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(Nn(n,us.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 Ks;e.add(ss(()=>f.dispose(!0)));let g;Xp(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Fi(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(ss(()=>{g.style.textDecoration="none"}))):g||(g=C,g.style.textDecoration="underline",e.add(ss(()=>{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(oB,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new e7(e,t);this._contextMenuService.showContextMenu({menuId:hi.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;U9(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=qc.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=bg.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 Cg(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,y=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-y;break}else y>w&&y<=I&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new bg(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Yy=wu,wu.ID="store.contrib.stickyScrollController",wu);Tl=Yy=hj([Bh(1,a0),Bh(2,Li),Bh(3,on),Bh(4,Us),Bh(5,mr),Bh(6,On)],Tl);class fj extends Ao{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Bi("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:S({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Bi("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:oj.View,toggled:{condition:Ke.equals("config.editor.stickyScroll.enabled",!0),title:S("stickyScroll","Sticky Scroll"),mnemonicTitle:S({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:hi.CommandPalette},{id:hi.MenubarAppearanceMenu,group:"4_editor",order:3},{id:hi.StickyScrollContext}]})}async run(e){const t=e.get(rs),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Pb=100;class gj extends da{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Bi("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:S({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:Ke.and(Ke.has("config.editor.stickyScroll.enabled"),q.stickyScrollVisible),menu:[{id:hi.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Tl.get(t))==null||i.focus()}}class pj extends da{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Bi("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Pb,primary:18}})}runEditorCommand(e,t){var i;(i=Tl.get(t))==null||i.focusNext()}}class xj extends da{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Bi("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Pb,primary:16}})}runEditorCommand(e,t){var i;(i=Tl.get(t))==null||i.focusPrevious()}}class vj extends da{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Bi("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Pb,primary:3}})}runEditorCommand(e,t){var i;(i=Tl.get(t))==null||i.goToFocused()}}class mj extends da{constructor(){super({id:"editor.action.selectEditor",title:Bi("selectEditor.title","Select Editor"),precondition:q.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Pb,primary:9}})}runEditorCommand(e,t){var i;(i=Tl.get(t))==null||i.selectEditor()}}vn(Tl.ID,Tl,1);Gn(fj);Gn(gj);Gn(xj);Gn(pj);Gn(vj);Gn(mj);var rF=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},ng=function(o,e){return function(t,i){e(t,i,o)}};class _j{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 Qy=class extends t7{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=_l.slice(t,i),s=_l.slice(t,0,i);let r=5;for(const a of _l.concat(n,s)){if(a.score===Rg.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 _j(d,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(fn.None)}return e}};Qy=rF([ng(5,kb)],Qy);let Jy=class extends $t{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(Xh.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(Xh.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 OD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=b,this._lastResult.acquire(),g=this._lastResult}else{const b=await X9(this._languageFeatureService.completionProvider,e,t,new ep(void 0,_m.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let y;b.needsClipboard&&(y=await this._clipboardService.readText());const w=new lc(b.items,t.column,new OD(p,0),mm.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);g=new Qy(e,t.lineNumber,u,w,b,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(fn.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}}};Jy=rF([ng(0,Li),ng(1,l0),ng(2,kb),ng(3,ws)],Jy);d0(Jy);class bj extends St{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 Oo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}Re(bj);const F_=class F_ extends Ao{constructor(){super({id:F_.ID,title:Bi({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:Bi("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=!c8.getTabFocusMode();c8.setTabFocusMode(t),t?zr(S("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):zr(S("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};F_.ID="editor.action.toggleTabFocusMode";let ew=F_;Gn(ew);var Cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},e2=function(o,e){return function(t,i){e(t,i,o)}};let tw=class extends $t{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=xi(e,wi("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??J_("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new lC(this.el,"click")),a=this._register(new lC(this.el,"keypress")),d=Rs.chain(a.event,g=>g.map(p=>new o9(p)).filter(p=>p.keyCode===3)),u=this._register(new lC(this.el,i7.Tap)).event;this._register(bA.addTarget(this.el));const f=Rs.any(r.event,d,u);this._register(f(g=>{this.enabled&&(kv.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)}};tw=Cj([e2(3,Tp),e2(4,ha)],tw);var aF=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},lF=function(o,e){return function(t,i){e(t,i,o)}};const Ej=26;let iw=class extends $t{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(nw))}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,Ej)}};iw=aF([lF(1,on)],iw);let nw=class extends $t{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(u0,{}),this.element=wi("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=wi("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Va(this.element)}show(e){Va(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=xi(this.element,wi("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(wi(`div${zn.asCSSSelector(e.icon)}`));const n=xi(this.element,wi("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=xi(this.element,wi("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(tw,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=xi(this.element,wi("div.action-container"));this.actionBar=this._register(new Fg(s)),this.actionBar.push(this._register(new Nf("banner.close","Close Banner",zn.asClassName(VA),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};nw=aF([lF(0,on)],nw);var dS=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},hf=function(o,e){return function(t,i){e(t,i,o)}};const yj=Cs("extensions-warning-message",Qi.warning,S("warningIcon","Icon shown with a warning message in the extensions editor."));var Bf;let dp=(Bf=class extends $t{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 hp};else if(s.ambiguousCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new qu};else if(s.invisibleCharacterCount>=r)a={message:S("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new up};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:yj,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(iw,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=wj(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"?n7:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new sw(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new Sj(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Bf.ID="editor.contrib.unicodeHighlighter",Bf);dp=dS([hf(1,Hl),hf(2,s7),hf(3,on)],dp);function wj(o,e){return{nonBasicASCII:e.nonBasicASCII===cC?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===cC?!o:e.includeComments,includeStrings:e.includeStrings===cC?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let sw=class extends $t{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 Ns(()=>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:Mm.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!Ik(t,e))return null;const i=t.getValueInRange(e.range);return{reason:dF(i,this._options),inComment:Tk(t,e),inString:Pk(t,e)}}};sw=dS([hf(3,Hl)],sw);class Sj extends $t{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 Ns(()=>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=Mk.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:Mm.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 Ik(t,e)?{reason:dF(i,this._options),inComment:Tk(t,e),inString:Pk(t,e)}:null}}const cF=S("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let ow=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(dp.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=$C(g);let C;switch(u.reason.kind){case 0:{sk(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,$C(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,$C(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},y=S("unicodeHighlight.adjustSettings","Adjust settings"),w=`command:${Rm.ID}?${encodeURIComponent(JSON.stringify(b))}`,A=new lo("",!0).appendMarkdown(C).appendText(" ").appendLink(w,y,cF);s.push(new Rr(this,d.range,[A],!1,a++))}return s}renderHoverParts(e,t){return eR(e,t,this._editor,this._languageService,this._openerService)}};ow=dS([hf(1,ga),hf(2,ha)],ow);function rw(o){return`U+${o.toString(16).padStart(4,"0")}`}function $C(o){let e=`\`${rw(o)}\``;return Rk.isInvisibleCharacter(o)||(e+=` "${`${Dj(o)}`}"`),e}function Dj(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function dF(o,e){return Mk.computeUnicodeHighlightReason(o,e)}const L_=class L_{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=kn.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}};L_.instance=new L_;let Mm=L_;class Aj extends St{constructor(){super({id:qu.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(rs);n&&this.runAction(n)}async runAction(e){await e.updateValue(Bl.includeComments,!1,2)}}class kj extends St{constructor(){super({id:qu.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(rs);n&&this.runAction(n)}async runAction(e){await e.updateValue(Bl.includeStrings,!1,2)}}const I_=class I_ extends St{constructor(){super({id:I_.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(rs);n&&this.runAction(n)}async runAction(e){await e.updateValue(Bl.ambiguousCharacters,!1,2)}};I_.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let qu=I_;const P_=class P_ extends St{constructor(){super({id:P_.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(rs);n&&this.runAction(n)}async runAction(e){await e.updateValue(Bl.invisibleCharacters,!1,2)}};P_.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let up=P_;const T_=class T_ extends St{constructor(){super({id:T_.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(rs);n&&this.runAction(n)}async runAction(e){await e.updateValue(Bl.nonBasicASCII,!1,2)}};T_.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let hp=T_;const M_=class M_ extends St{constructor(){super({id:M_.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(Rl),f=e.get(rs);function g(b){return Rk.isInvisibleCharacter(b)?S("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",rw(b)):S("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${rw(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()=>{Fj(f,[b])}});if(p.push({label:g(n),run:()=>Bj(f,[n])}),a){const b=new Aj;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(r){const b=new kj;p.push({label:b.label,run:async()=>b.runAction(f)})}if(s.kind===0){const b=new qu;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===1){const b=new up;p.push({label:b.label,run:async()=>b.runAction(f)})}else if(s.kind===2){const b=new hp;p.push({label:b.label,run:async()=>b.runAction(f)})}else Lj(s);const C=await u.pick(p,{title:cF});C&&await C.run()}};M_.ID="editor.action.unicodeHighlight.showExcludeOptions";let Rm=M_;async function Bj(o,e){const t=o.getValue(Bl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Bl.allowedCharacters,i,2)}async function Fj(o,e){var n;const t=(n=o.inspect(Bl.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(Bl.allowedLocales,i,2)}function Lj(o){throw new Error(`Unexpected value: ${o}`)}Re(qu);Re(up);Re(hp);Re(Rm);vn(dp.ID,dp,1);th.register(ow);var Ij=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)}};const uF="ignoreUnusualLineTerminators";function Pj(o,e,t){o.setModelProperty(e.uri,uF,t)}function Tj(o,e){return o.getModelProperty(e.uri,uF)}var Ff;let Nm=(Ff=class extends $t{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()||Tj(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`.",Ga(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){Pj(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Ff.ID="editor.contrib.unusualLineTerminatorsDetector",Ff);Nm=Ij([t2(1,a9),t2(2,ws)],Nm);vn(Nm.ID,Nm,1);var Mj=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},Rj=function(o,e){return function(t,i){e(t,i,o)}};class i2{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,d8,!1).map(a=>({range:a.range,kind:Tv.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Wc,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,d8,!1).map(f=>({range:f.range,kind:Tv.Text}));u&&s.set(a.uri,u)}return s}}let aw=class extends $t{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new i2)),this._register(e.multiDocumentHighlightProvider.register("*",new i2))}};aw=Mj([Rj(0,Li)],aw);var hF=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)}},xs,lw;const uS=new Ln("hasWordHighlights",!1);function fF(o,e,t,i){const n=o.ordered(e);return t9(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,ys)),s=>s!=null).then(s=>{if(s){const r=new Wc;return r.set(e.uri,s),r}return new Wc})}function Nj(o,e,t,i,n,s){const r=o.ordered(e);return t9(r.map(a=>()=>{const d=s.filter(u=>r7(u)).filter(u=>a7(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,d,n)).then(void 0,ys)}),a=>a!=null)}class gF{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=Gs(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 Oj extends gF{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return fF(this._providers,e,t.getPosition(),n).then(s=>s||new Wc)}}class Hj extends gF{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return Nj(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Wc)}}function Wj(o,e,t,i,n){return new Oj(e,t,n,o)}function zj(o,e,t,i,n,s){return new Hj(e,t,n,o,s)}Bo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Li),n=await fF(i.documentHighlightProvider,e,t,fn.None);return n==null?void 0:n.get(e.uri)});var Hc;let cw=(Hc=class{constructor(e,t,i,n,s){this.toUnhook=new Vt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Wc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new zc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=uS.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=>{o7(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():xs.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=xs.query)==null?void 0:d.modelInfo)==null?void 0:u.model);break;case"multiFile":xs.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,xs.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);zr(`${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);zr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=xs.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),xs.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()||Dv(n.getModel().uri,e==null?void 0:e.uri))continue;const s=xs.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Kc.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)xs.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Eo.vscodeNotebookCell&&((i=(t=xs.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Eo.vscodeNotebookCell?(xs.query=null,this._run()):(n=xs.query)!=null&&n.modelInfo&&(xs.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)!==Eo.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===Eo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const d=a.getModel();d&&d!==e&&d.uri.scheme===Eo.vscodeNotebookCell&&s.push(d)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!Nk(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){xs.query=null,this._stopAll();return}const a=r.startColumn,d=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<d){xs.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),xs.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!xs.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(Dv(this.editor.getModel().uri,(n=xs.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(!xs.query||!xs.query.modelInfo||xs.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(xs.query.modelInfo.model,xs.query.modelInfo.selection,xs.query.word,a),(s=this.workerRequest)==null||s.result.then(d=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=d||[],this._beginRenderDecorations())},Yn)}}computeWithModel(e,t,i,n){return n.length?zj(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):Wj(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=Kc.get(s);if(!r)continue;const a=[],d=(t=s.getModel())==null?void 0:t.uri;if(d&&this.workerRequestValue.has(d)){const u=xs.storedDecorationIDs.get(d),f=this.workerRequestValue.get(d);if(f)for(const p of f)p.range&&a.push({range:p.range,options:Bz(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),xs.storedDecorationIDs=xs.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()}},xs=Hc,Hc.storedDecorationIDs=new Wc,Hc.query=null,Hc);cw=xs=hF([mv(4,ws)],cw);var Su;let Kc=(Su=class extends $t{static get(e){return e.getContribution(lw.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new cw(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()}},lw=Su,Su.ID="editor.contrib.wordHighlighter",Su);Kc=lw=hF([mv(1,On),mv(2,Li),mv(3,ws)],Kc);class pF extends St{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Kc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class Vj extends pF{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:uS,kbOpts:{kbExpr:q.editorTextFocus,primary:65,weight:100}})}}class jj extends pF{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:uS,kbOpts:{kbExpr:q.editorTextFocus,primary:1089,weight:100}})}}class $j extends St{constructor(){super({id:"editor.action.wordHighlight.trigger",label:S("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Kc.get(t);n&&n.restoreViewState(!0)}}vn(Kc.ID,Kc,0);Re(Vj);Re(jj);Re($j);d0(aw);class Tb extends ko{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,d=r.map(u=>{const f=new Fi(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=>l7.fromModelSelection(u))),d.length===1){const u=new Fi(d[0].positionLineNumber,d[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new Ki(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Ki(t.lineNumber,t.column,t.lineNumber,t.column)}}class Qc extends Tb{_move(e,t,i,n,s){return Hp.moveWordLeft(e,t,i,n,s)}}class Jc extends Tb{_move(e,t,i,n,s){return Hp.moveWordRight(e,t,i,n)}}class Uj extends Qc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class qj extends Qc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Gj extends Qc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Ke.and(q.textInputFocus,(e=Ke.and(nb,sb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Kj extends Qc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Zj extends Qc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Xj extends Qc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Ke.and(q.textInputFocus,(e=Ke.and(nb,sb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Yj extends Qc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(ob.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Qj extends Qc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(ob.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Jj extends Jc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class e$ extends Jc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Ke.and(q.textInputFocus,(e=Ke.and(nb,sb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class t$ extends Jc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class i$ extends Jc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class n$ extends Jc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Ke.and(q.textInputFocus,(e=Ke.and(nb,sb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class s$ extends Jc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class o$ extends Jc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(ob.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class r$ extends Jc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Qu(ob.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Mb extends ko{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Us);if(!t.hasModel())return;const s=Qu(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 Sp(b,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class hS extends Mb{_delete(e,t){const i=Hp.deleteWordLeft(e,t);return i||new ee(1,1,1,1)}}class fS extends Mb{_delete(e,t){const i=Hp.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 a$ extends hS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:q.writable})}}class l$ extends hS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:q.writable})}}class c$ extends hS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class d$ extends fS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:q.writable})}}class u$ extends fS{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:q.writable})}}class h$ extends fS{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class f$ extends St{constructor(){super({id:"deleteInsideWord",precondition:q.writable,label:S("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Qu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(d=>{const u=Hp.deleteInsideWord(n,s,d);return new Sp(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Ri(new Uj);Ri(new qj);Ri(new Gj);Ri(new Kj);Ri(new Zj);Ri(new Xj);Ri(new Jj);Ri(new e$);Ri(new t$);Ri(new i$);Ri(new n$);Ri(new s$);Ri(new Yj);Ri(new Qj);Ri(new o$);Ri(new r$);Ri(new a$);Ri(new l$);Ri(new c$);Ri(new d$);Ri(new u$);Ri(new h$);Re(f$);class g$ extends Mb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=rb.deleteWordPartLeft(e);return i||new ee(1,1,1,1)}}class p$ extends Mb{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:q.writable,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=rb.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new ee(n,s,n,s)}}class xF extends Tb{_move(e,t,i,n,s){return rb.moveWordPartLeft(e,t,i,s)}}class x$ extends xF{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}is.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class v$ extends xF{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}is.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class vF extends Tb{_move(e,t,i,n,s){return rb.moveWordPartRight(e,t,i)}}class m$ extends vF{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class _$ extends vF{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:q.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Ri(new g$);Ri(new p$);Ri(new x$);Ri(new v$);Ri(new m$);Ri(new _$);const LS=class LS extends $t{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Mo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new lo(S("editor.simple.readonly","Cannot edit in read-only input")):t=new lo(S("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};LS.ID="editor.contrib.readOnlyMessageController";let Om=LS;vn(Om.ID,Om,2);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},n2=function(o,e){return function(t,i){e(t,i,o)}};let dw=class extends $t{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=nr(this,void 0);const n=Pd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=Pd("_textModel.onDidChangeContent",Rs.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Ip(async(r,a)=>{n.read(r),s.read(r);const d=a.add(new u7),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(d7(Mp(s=>s.range.endLineNumber-s.range.startLineNumber,X_))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};dw=b$([n2(1,Li),n2(2,Jp)],dw);c7.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(dw,o));const IS=class IS extends $t{constructor(e){super(),this.editor=e,this.widget=null,c1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new uw(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};IS.ID="editor.contrib.iPadShowKeyboard";let Hm=IS;const R_=class R_ extends $t{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Nn(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Nn(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return R_.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};R_.ID="editor.contrib.ShowKeyboardWidget";let uw=R_;vn(Hm.ID,Hm,3);var C$=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},s2=function(o,e){return function(t,i){e(t,i,o)}},hw,Du;let fp=(Du=class extends $t{static get(e){return e.getContribution(hw.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(Q_.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 fw(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},hw=Du,Du.ID="editor.contrib.inspectTokens",Du);fp=hw=C$([s2(1,Ok),s2(2,ga)],fp);class E$ extends St{constructor(){super({id:"editor.action.inspectTokens",label:p7.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=fp.get(t);i==null||i.launch()}}function y$(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 w$(o,e){const t=Q_.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>h7,tokenize:(n,s,r)=>g7(e,r),tokenizeEncoded:(n,s,r)=>f7(i,r)}}const N_=class N_ extends $t{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=w$(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 N_._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)}Av(this._domNode,wi("h2.tm-token",void 0,y$(r),wi("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),xi(this._domNode,wi("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;xi(this._domNode,wi("table.tm-metadata-table",void 0,wi("tbody",void 0,wi("tr",void 0,wi("td.tm-metadata-key",void 0,"language"),wi("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),wi("tr",void 0,wi("td.tm-metadata-key",void 0,"token type"),wi("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),wi("tr",void 0,wi("td.tm-metadata-key",void 0,"font style"),wi("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),wi("tr",void 0,wi("td.tm-metadata-key",void 0,"foreground"),wi("td.tm-metadata-value",void 0,`${a?Sn.Format.CSS.formatHex(a.foreground):"-?-"}`)),wi("tr",void 0,wi("td.tm-metadata-key",void 0,"background"),wi("td.tm-metadata-value",void 0,`${a?Sn.Format.CSS.formatHex(a.background):"-?-"}`))))),xi(this._domNode,wi("hr.tokens-inspect-separator")),i<t.tokens1.length&&xi(this._domNode,wi("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=Q_.getColorMap(),i=T0.getLanguageId(e),n=T0.getTokenType(e),s=T0.getFontStyle(e),r=T0.getForeground(e),a=T0.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]}}};N_._ID="editor.contrib.inspectTokensWidget";let fw=N_;vn(fp.ID,fp,4);Re(E$);var S$=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},o2=function(o,e){return function(t,i){e(t,i,o)}},sg,Au;let gw=(Au=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=ua.as(Wp.Quickaccess)}provide(e){const t=new Vt;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(sg.PREFIX.length));n&&n.prefix&&n.prefix!==sg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==sg.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}})}},sg=Au,Au.PREFIX="?",Au);gw=sg=S$([o2(0,Rl),o2(1,Bs)],gw);ua.as(Wp.Quickaccess).registerQuickAccessProvider({ctor:gw,prefix:"",helpEntries:[{description:x7.helpQuickAccessActionLabel}]});class mF{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new Vt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new or);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 Vt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=Hk(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(Wk(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(ss(()=>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&&Tf(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return Nk(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:Is(UA),position:za.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 O_=class O_ extends mF{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,$t.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Vt;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(O_.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=Hk(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(ss(()=>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}};O_.PREFIX=":";let pw=O_;var D$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},A$=function(o,e){return function(t,i){e(t,i,o)}};let gp=class extends pw{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Rs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};gp=D$([A$(0,ws)],gp);var ku;let _F=(ku=class extends St{constructor(){super({id:ku.ID,label:zk.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Rl).quickAccess.show(gp.PREFIX)}},ku.ID="editor.action.gotoLine",ku);Re(_F);ua.as(Wp.Quickaccess).registerQuickAccessProvider({ctor:gp,prefix:gp.PREFIX,helpEntries:[{description:zk.gotoLineActionLabel,commandId:_F.ID}]});const bF=[void 0,[]];function UC(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?k$(o,n.values,t,i):CF(o,e,t,i)}function k$(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,d]=CF(o,r,t,i);if(typeof a!="number")return bF;n+=a,s.push(...d)}return[n,B$(s)]}function CF(o,e,t,i){const n=dk(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Y_(n)]:bF}function B$(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!F$(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 F$(o,e){return!(o.end<e.start||e.end<o.start)}function r2(o){return o.startsWith('"')&&o.endsWith('"')}const EF=" ";function xw(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=a2(o),s=t.indexOf(v1)>=0,r=r2(o);let a;const d=o.split(EF);if(d.length>1)for(const u of d){const f=r2(u),{pathNormalized:g,normalized:p,normalizedLowercase:C}=a2(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 a2(o){let e;V_?e=o.replace(/\//g,v1):e=o.replace(/\\/g,v1);const t=v7(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function l2(o){return Array.isArray(o)?xw(o.map(e=>e.original).join(EF)):xw(o.original)}var L$=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},c2=function(o,e){return function(t,i){e(t,i,o)}},_v,sa;let zd=(sa=class extends mF{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.")),$t.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):$t.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Vt;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 j_,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(ss(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new Vt;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 Ks(n),i.busy=!0;try{const C=xw(i.value.substr(_v.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 y=C7(b,w=>!!(w.type!=="separator"&&w.range&&ee.containsPosition(w.range.decoration,p)));y&&(i.activeItems=[y])}}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(_v.SCOPE_PREFIX)===0,d=a?1:0;let u,f;t.values&&t.values.length>1?(u=l2(t.values[0]),f=l2(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"?zn.asClassName(Qi.splitHorizontal):zn.asClassName(Qi.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 M=r[I],R=m7(M.name),P=`$(${_7.toIcon(M.kind).id}) ${R}`,V=P.length-R.length;let $=M.containerName;i!=null&&i.extraContainerLabel&&($?$=`${i.extraContainerLabel} • ${$}`:$=i.extraContainerLabel);let J,re,fe,Z;if(t.original.length>d){let ve=!1;if(u!==t&&([J,re]=UC(P,{...t,values:void 0},d,V),typeof J=="number"&&(ve=!0)),typeof J!="number"&&([J,re]=UC(P,u,d,V),typeof J!="number"))continue;if(!ve&&f){if($&&f.original.length>0&&([fe,Z]=UC($,f)),typeof fe!="number")continue;typeof J=="number"&&(J+=fe)}}const de=M.tags&&M.tags.indexOf(1)>=0;C.push({index:I,kind:M.kind,score:J,label:P,ariaLabel:b7(M.name,M.kind),description:$,highlights:de?void 0:{label:re,description:Z},range:{selection:ee.collapseToStart(M.selectionRange),decoration:M.range},uri:s.uri,symbolName:R,strikethrough:de,buttons:g})}const b=C.sort((I,M)=>a?this.compareByKindAndScore(I,M):this.compareByScore(I,M));let y=[];if(a){let P=function(){M&&typeof I=="number"&&R>0&&(M.label=Xw(GC[I]||qC,R))},I,M,R=0;for(const V of b)I!==V.kind?(P(),I=V.kind,R=1,M={type:"separator"},y.push(M)):R++,y.push(V);P()}else b.length>0&&(y=[{label:S("symbols","symbols ({0})",C.length),type:"separator"},...b]);return y}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=GC[e.kind]||qC,n=GC[t.kind]||qC,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()}},_v=sa,sa.PREFIX="@",sa.SCOPE_PREFIX=":",sa.PREFIX_BY_CATEGORY=`${sa.PREFIX}${sa.SCOPE_PREFIX}`,sa);zd=_v=L$([c2(0,Li),c2(1,Jp)],zd);const qC=S("property","properties ({0})"),GC={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 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},KC=function(o,e){return function(t,i){e(t,i,o)}};let vw=class extends zd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Rs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};vw=I$([KC(0,ws),KC(1,Li),KC(2,Jp)],vw);const H_=class H_ extends St{constructor(){super({id:H_.ID,label:m1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:q.hasDocumentSymbolProvider,kbOpts:{kbExpr:q.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Rl).quickAccess.show(zd.PREFIX,{itemActivation:E7.NONE})}};H_.ID="editor.action.quickOutline";let Wm=H_;Re(Wm);ua.as(Wp.Quickaccess).registerQuickAccessProvider({ctor:vw,prefix:zd.PREFIX,helpEntries:[{description:m1.quickOutlineActionLabel,prefix:zd.PREFIX,commandId:Wm.ID},{description:m1.quickOutlineByCategoryActionLabel,prefix:zd.PREFIX_BY_CATEGORY}]});function P$(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class yg{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 P$(yg.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=yg.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=yg.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 T$(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 Qh;(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"})(Qh||(Qh={}));function ZC(o){return Array.isArray(o.items)}function d2(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class M$ extends $t{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new Vt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new or),a=async()=>{var w;const f=r.value=new Vt;s==null||s.dispose(!0),e.busy=!1,s=new Ks(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 M,R;if(ZC(A)?(M=A.items,R=A.active):M=A,M.length===0){if(I)return!1;(p.length>0||e.hideInput)&&((P=this.options)!=null&&P.noResultsPick)&&(y7(this.options.noResultsPick)?M=[this.options.noResultsPick(p)]:M=[this.options.noResultsPick])}return e.items=M,R&&(e.activeItems=[R]),!0},y=async A=>{let I=!1,M=!1;await Promise.all([(async()=>{typeof A.mergeDelay=="number"&&(await tb(A.mergeDelay),g.isCancellationRequested)||M||(I=b(A.picks,!0))})(),(async()=>{e.busy=!0;try{const R=await A.additionalPicks;if(g.isCancellationRequested)return;let P,V;ZC(A.picks)?(P=A.picks.items,V=A.picks.active):P=A.picks;let $,J;if(ZC(R)?($=R.items,J=R.active):$=R,$.length>0||!I){let re;if(!V&&!J){const fe=e.activeItems[0];fe&&P.indexOf(fe)!==-1&&(re=fe)}b({items:[...P,...$],active:V||J||re})}}finally{g.isCancellationRequested||(e.busy=!1),M=!0}})()])};if(C!==null)if(d2(C))await y(C);else if(!(C instanceof Promise))b(C);else{e.busy=!0;try{const A=await C;if(g.isCancellationRequested)return;d2(A)?await y(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),y=typeof b=="number"?b:await b;if(t.isCancellationRequested)return;switch(y){case Qh.NO_ACTION:break;case Qh.CLOSE_PICKER:e.hide();break;case Qh.REFRESH_PICKER:a();break;case Qh.REMOVE_ITEM:{const w=e.items.indexOf(g);if(w!==-1){const A=e.items.slice(),I=A.splice(w,1),M=e.activeItems.filter(P=>P!==I[0]),R=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=A,M&&(e.activeItems=M),e.keepScrollPosition=R}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 yF=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},cc=function(o,e){return function(t,i){e(t,i,o)}},xd,Ds,Na;let mw=(Na=class extends M${constructor(e,t,i,n,s,r){super(xd.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(_w)),this.options=e}async _getPicks(e,t,i,n){var C,b;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=Wk(()=>{const y=new yg;y.updateDocuments(s.map(A=>({key:A.commandId,textChunks:[this.getTfIdfChunk(A)]})));const w=y.calculateScores(e,i);return T$(w).filter(A=>A.score>xd.TFIDF_THRESHOLD).slice(0,xd.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const w=xd.WORD_FILTER(e,y.label)??void 0,A=y.commandAlias?xd.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(w||A)y.highlights={label:w,detail:this.options.showAlias?A:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const I=r();if(i.isCancellationRequested)return[];const M=I.find(R=>R.key===y.commandId);M&&(y.tfIdfScore=M.score,a.push(y))}}const d=new Map;for(const y of a){const w=d.get(y.label);w?(y.description=y.commandId,w.description=w.commandId):d.set(y.label,y)}a.sort((y,w)=>{if(y.tfIdfScore&&w.tfIdfScore)return y.tfIdfScore===w.tfIdfScore?y.label.localeCompare(w.label):w.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(w.tfIdfScore)return-1;const A=this.commandsHistory.peek(y.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 M=this.options.suggestedCommandIds.has(y.commandId),R=this.options.suggestedCommandIds.has(w.commandId);if(M&&R)return 0;if(M)return-1;if(R)return 1}return y.label.localeCompare(w.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const w=a[y];y===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 y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const w=y.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){Zc(r)||this.dialogService.error(S("canNotRun","Command '{0}' resulted in an error",e.label),qv(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}},xd=Na,Na.PREFIX=">",Na.TFIDF_THRESHOLD=.5,Na.TFIDF_MAX_RESULTS=5,Na.WORD_FILTER=w7(A7,D7,S7),Na);mw=xd=yF([cc(1,on),cc(2,Bs),cc(3,$s),cc(4,fa),cc(5,a9)],mw);var oa;let _w=(oa=class extends $t{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===Vw.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Ds.getConfiguredCommandHistoryLength(this.configurationService),Ds.cache&&Ds.cache.limit!==this.configuredCommandsHistoryLength&&(Ds.cache.limit=this.configuredCommandsHistoryLength,Ds.hasChanges=!0))}load(){const e=this.storageService.get(Ds.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Ds.cache=new Fp(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))}Ds.counter=this.storageService.getNumber(Ds.PREF_KEY_COUNTER,0,Ds.counter)}push(e){Ds.cache&&(Ds.cache.set(e,Ds.counter++),Ds.hasChanges=!0)}peek(e){var t;return(t=Ds.cache)==null?void 0:t.peek(e)}saveState(){if(!Ds.cache||!Ds.hasChanges)return;const e={usesLRU:!0,entries:[]};Ds.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Ds.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Ds.PREF_KEY_COUNTER,Ds.counter,0,0),Ds.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:Ds.DEFAULT_COMMANDS_HISTORY_LENGTH}},Ds=oa,oa.DEFAULT_COMMANDS_HISTORY_LENGTH=50,oa.PREF_KEY_CACHE="commandPalette.mru.cache",oa.PREF_KEY_COUNTER="commandPalette.mru.counter",oa.counter=1,oa.hasChanges=!1,oa);_w=Ds=yF([cc(0,Xc),cc(1,rs),cc(2,Yu)],_w);class R$ extends mw{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&&(k7(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:B7(n.label)||n.id})}return t}}var N$=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},Fh=function(o,e){return function(t,i){e(t,i,o)}};let pp=class extends R${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[]}};pp=N$([Fh(0,on),Fh(1,ws),Fh(2,Bs),Fh(3,$s),Fh(4,fa),Fh(5,a9)],pp);const W_=class W_ extends St{constructor(){super({id:W_.ID,label:Vk.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:q.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Rl).quickAccess.show(pp.PREFIX)}};W_.ID="editor.action.quickCommand";let zm=W_;Re(zm);ua.as(Wp.Quickaccess).registerQuickAccessProvider({ctor:pp,prefix:pp.PREFIX,helpEntries:[{description:Vk.quickCommandHelp,commandId:zm.ID}]});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},Lh=function(o,e){return function(t,i){e(t,i,o)}};let bw=class extends Vu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};bw=O$([Lh(1,On),Lh(2,ws),Lh(3,vo),Lh(4,on),Lh(5,Xc),Lh(6,rs)],bw);vn(Vu.ID,bw,4);class H$ extends St{constructor(){super({id:"editor.action.toggleHighContrast",label:F7.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(Ok),n=i.getColorTheme();Lg(n.type)?(i.setTheme(this._originalThemeName||(u8(n.type)?L7:I7)),this._originalThemeName=null):(i.setTheme(u8(n.type)?P7:T7),this._originalThemeName=n.themeName)}}Re(H$);const wF="she-theme";function W$(){return localStorage.getItem(wF)??"system"}function z$(o){localStorage.setItem(wF,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o),window.dispatchEvent(new CustomEvent("she:theme-changed"))}function Jh(){const o=document.documentElement.getAttribute("data-theme");return o==="light"?"vs":o==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches?"vs-dark":"vs"}let Cw=null;function V$(o){Cw=o}function j$(o={}){return{"Content-Type":"application/json",...o}}async function qt(o,e,t){const i=await fetch(e,{method:o,headers:j$(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Cw&&Cw(),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 $$(){return await(await fetch("/she/auth/mode")).json()}async function U$(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 q$(){await fetch("/she/auth/logout",{method:"POST"})}async function G$(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 K$(){return qt("GET","/she/scripts/tree")}function jx(o){return qt("GET",`/she/scripts/${o}`)}function tc(o,e){return qt("PUT",`/she/scripts/${o}`,{content:e})}function u2(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),qt("GET",`/she/scripts/search?${t}`)}function $x(o){return qt("DELETE",`/she/scripts/${o}`)}function h2(o,e){return qt("POST",`/she/scripts/${o}/rename`,{newPath:e})}function Z$(o){return qt("POST","/she/scripts/mkdir",{path:o})}function X$(){return qt("GET","/she/git/status")}function ef(){return qt("GET","/she/status")}function SF(){return qt("POST","/she/restart")}function Y$(){return qt("POST","/she/update")}function Q$(){return qt("POST","/she/check-update")}function J$(o,e){return qt("POST","/she/git/commit",{path:o,message:e})}function f2(o,e){return qt("POST","/she/git/commit",{files:o,message:e})}function g2(o){return qt("POST","/she/git/commit",{message:o})}function Ux(o){return qt("POST","/she/git/push",{remote:o})}function eU(o,e){return qt("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function tU(o,e){return qt("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Ml(){return qt("GET","/she/config")}function xp(o){return qt("PUT","/she/config",o)}function oh(o){return o.split("/").map(encodeURIComponent).join("/")}function DF(){return qt("GET","/she/db/docs")}function iU(o){return qt("GET",`/she/db/docs/${oh(o)}`)}function p2(o,e){return qt("PUT",`/she/db/docs/${oh(o)}`,e)}function nU(o){return qt("DELETE",`/she/db/docs/${oh(o)}`)}function AF(){return qt("GET","/she/db/views")}function sU(o){return qt("GET",`/she/db/views/${oh(o)}`)}function x2(o,e){return qt("PUT",`/she/db/views/${oh(o)}`,e)}function oU(o){return qt("DELETE",`/she/db/views/${oh(o)}`)}function rU(){return qt("GET","/she/deps")}function aU(o){return qt("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function lU(o,e){return qt("POST","/she/deps/install",{name:o,version:null})}function cU(o){return qt("POST","/she/deps/remove",{name:o})}function dU(o){return qt("POST","/she/deps/update",{name:o})}function kF(){return qt("GET","/she/deps/outdated")}function uU(){return qt("POST","/she/deps/check-outdated")}function hU(){return qt("GET","/she/ai/conversations")}function v2(o){return qt("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function fU(o,e,t){return qt("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function gU(o){return qt("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function XC(o){return qt("GET",`/she/db/views/${oh(o)}/result`)}function gS(){return qt("GET","/she/matter/devices")}function bv(o){return qt("GET",`/she/matter/devices/${o}`)}function pU(o){return qt("POST","/she/matter/commission",o)}function xU(o){return qt("DELETE",`/she/matter/devices/${o}`)}function vU(o,e,t,i,n){return qt("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function BF(){return qt("GET","/she/mqtt/state")}function m2(o,e,t=!1,i=0){return qt("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function FF(){return qt("GET","/she/ai/config")}function LF(){return qt("GET","/she/ai/models")}function Ew(o){return qt("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function IF(o){return qt("POST","/she/ai/prompt",o)}async function PF(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 Rb(){return qt("GET","/she/broker/status")}function mU(){return qt("GET","/she/broker/local/check")}function _U(){return qt("GET","/she/broker/ip-addresses")}function tx(){return qt("GET","/she/broker/config")}function bU(o=500){return qt("GET",`/she/broker/logs?limit=${o}`)}function TF(o){return qt("PUT","/she/broker/config",o)}function CU(o,e){return qt("PUT","/she/broker/config/raw",{content:o,checksum:e})}function EU(){return qt("GET","/she/broker/config/backups")}function yU(o){return qt("POST","/she/broker/config/restore",{backup:o})}function Nb(){return qt("POST","/she/broker/reload")}function wU(){return qt("POST","/she/broker/restart")}function SU(){return qt("POST","/she/broker/wizard/deactivate")}function DU(){return qt("POST","/she/broker/wizard/reinit")}function AU(){return qt("GET","/she/broker/wizard/diagnose")}function kU(o){return qt("GET",`/she/broker/passwd?file=${encodeURIComponent(o)}`)}function _2(o,e,t){return qt("POST","/she/broker/passwd",{file:o,username:e,password:t})}function BU(o,e){return qt("DELETE",`/she/broker/passwd/${encodeURIComponent(e)}`,{file:o})}function FU(o){return qt("GET",`/she/broker/acl?file=${encodeURIComponent(o)}`)}function LU(o,e){return qt("PUT","/she/broker/acl",{file:o,content:e})}function IU(){return qt("GET","/she/broker/users")}function PU(o,e){return qt("POST","/she/broker/users",{username:o,password:e})}function TU(o){return qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function MU(o,e){return qt("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function RU(o,e){return qt("POST",`/she/broker/users/${encodeURIComponent(o)}/roles`,{rolename:e})}function NU(o,e){return qt("DELETE",`/she/broker/users/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function MF(){return qt("GET","/she/broker/roles")}function OU(o){return qt("POST","/she/broker/roles",{rolename:o})}function HU(o){return qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function WU(o,e){return qt("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function zU(o,e,t){return qt("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function VU(){return qt("GET","/she/broker/groups")}function jU(o){return qt("POST","/she/broker/groups",{groupname:o})}function $U(o){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function b2(o,e){return qt("POST",`/she/broker/groups/${encodeURIComponent(o)}/clients`,{username:e})}function C2(o,e){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/clients/${encodeURIComponent(e)}`)}function UU(o,e){return qt("POST",`/she/broker/groups/${encodeURIComponent(o)}/roles`,{rolename:e})}function qU(o,e){return qt("DELETE",`/she/broker/groups/${encodeURIComponent(o)}/roles/${encodeURIComponent(e)}`)}function GU(){return qt("GET","/she/broker/acl-defaults")}function KU(o){return qt("PUT","/she/broker/acl-defaults",{acls:o})}function ZU(o){return qt("GET",`/she/broker/acl-check?${new URLSearchParams({topic:o})}`)}function XU(){return qt("GET","/she/broker/anonymous-group")}function YU(o){return qt("PUT","/she/broker/anonymous-group",{groupname:o})}function QU(){return qt("GET","/she/broker/ca/server")}function JU(o){return qt("POST","/she/broker/ca/server/generate",o)}function eq(o){return qt("POST","/she/broker/ca/server/csr",o)}function YC(o){return qt("POST","/she/broker/ca/server/import",o)}function tq(){return qt("GET","/she/broker/ca/trusted")}function iq(o){return qt("POST","/she/broker/ca/trusted",{pem:o})}function nq(o){return qt("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}function sq(o){return qt("GET",`/she/broker/fs/complete?path=${encodeURIComponent(o)}`)}function oq(o){return qt("POST","/she/broker/ca/server/pathlink",o)}function rq(o){return qt("POST","/she/broker/ca/trusted/addpath",{path:o})}const aq=2e3,Cv=[],lq=500,Ev=[];function RF(){return Cv.slice()}function cq(){return Ev.slice()}let _c=null;const Vm=new Set,tf=new Map;let yw=null,yv=null;function pS(){return yv||(yv=fetch("/she/logs/history").then(o=>o.ok?o.json():[]).catch(()=>[])),yv}function vp(){let o=Vm.size;for(const e of tf.values())o+=e.size;return o}function dq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function xS(){if(_c)return;pS();const o=dq(),e=new WebSocket(o);_c=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};Cv.length>=aq&&Cv.shift(),Cv.push(s),Vm.forEach(r=>r(s))}if(i.type==="brokerLog"){const s={level:i.level,msg:i.msg,ts:i.ts};Ev.length>=lq&&Ev.shift(),Ev.push(s)}const n=tf.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{_c===e&&(_c=null,yv=null),vp()>0&&(yw=setTimeout(xS,3e3))},e.onerror=()=>{e.close()}}function NF(){yw&&clearTimeout(yw),_c==null||_c.close(),_c=null}function vS(o){return Vm.add(o),vp()===1&&xS(),()=>{Vm.delete(o),vp()===0&&NF()}}function tr(o,e){return tf.has(o)||tf.set(o,new Set),tf.get(o).add(e),vp()===1&&xS(),()=>{var t;(t=tf.get(o))==null||t.delete(e),vp()===0&&NF()}}var uq=F('<button class="cancel svelte-1eh8v5n">Cancel</button>'),hq=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 Qa(o,e){Ts(e,!0);let t=B(!1),i=B(""),n=B("Confirm"),s=B(!1),r=B(!1),a=null;function d(y,w){return x(i,y,!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(y){x(t,!1),a==null||a(y),a=null}function f(y){l(t)&&(y.key==="Escape"&&u(!1),y.key==="Enter"&&u(!0))}var g={show:d},p=As();_s("keydown",Rd,f);var C=bt(p);{var b=y=>{var w=hq(),A=bt(w),I=v(A,2),M=m(I),R=m(M),P=v(M,2),V=m(P);{var $=Z=>{var de=uq();j("click",de,()=>u(!1)),D(Z,de)};H(V,Z=>{l(r)||Z($)})}var J=v(V,2);let re;var fe=m(J);z(()=>{O(R,l(i)),re=Bt(J,1,"svelte-1eh8v5n",null,re,{danger:l(s)}),O(fe,l(n))}),j("click",A,()=>u(!1)),j("click",J,()=>u(!0)),D(y,w)};H(C,y=>{l(t)&&y(b)})}return D(o,p),Ms(g)}qs(["click"]);var fq=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 gq(o,e){Ts(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 M=l(d).value.length;l(d).setSelectionRange(M,M)}},0),new Promise(M=>a=M)}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=As();_s("keydown",Rd,p);var y=bt(b);{var w=A=>{var I=fq(),M=bt(I),R=v(M,2),P=m(R),V=m(P),$=v(P,2);hs($,de=>x(d,de),()=>l(d));var J=v($,2),re=m(J),fe=v(re,2),Z=m(fe);z(de=>{O(V,l(i)),un($,"placeholder",l(n)),fe.disabled=de,O(Z,l(s))},[()=>!l(r).trim()]),j("click",M,g),j("keydown",$,de=>{de.key==="Enter"&&(de.preventDefault(),f())}),Nt($,()=>l(r),de=>x(r,de)),j("click",re,g),j("click",fe,f),D(A,I)};H(y,A=>{l(t)&&A(w)})}return D(o,b),Ms(C)}qs(["click","keydown"]);function mS(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var QC,E2;function pq(){if(E2)return QC;E2=1;function o(K){return K instanceof Map?K.clear=K.delete=K.set=function(){throw new Error("map is read-only")}:K instanceof Set&&(K.add=K.clear=K.delete=function(){throw new Error("set is read-only")}),Object.freeze(K),Object.getOwnPropertyNames(K).forEach(ke=>{const rt=K[ke],Ze=typeof rt;(Ze==="object"||Ze==="function")&&!Object.isFrozen(rt)&&o(rt)}),K}class e{constructor(ke){ke.data===void 0&&(ke.data={}),this.data=ke.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(K){return K.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(K,...ke){const rt=Object.create(null);for(const Ze in K)rt[Ze]=K[Ze];return ke.forEach(function(Ze){for(const zt in Ze)rt[zt]=Ze[zt]}),rt}const n="</span>",s=K=>!!K.scope,r=(K,{prefix:ke})=>{if(K.startsWith("language:"))return K.replace("language:","language-");if(K.includes(".")){const rt=K.split(".");return[`${ke}${rt.shift()}`,...rt.map((Ze,zt)=>`${Ze}${"_".repeat(zt+1)}`)].join(" ")}return`${ke}${K}`};class a{constructor(ke,rt){this.buffer="",this.classPrefix=rt.classPrefix,ke.walk(this)}addText(ke){this.buffer+=t(ke)}openNode(ke){if(!s(ke))return;const rt=r(ke.scope,{prefix:this.classPrefix});this.span(rt)}closeNode(ke){s(ke)&&(this.buffer+=n)}value(){return this.buffer}span(ke){this.buffer+=`<span class="${ke}">`}}const d=(K={})=>{const ke={children:[]};return Object.assign(ke,K),ke};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(ke){this.top.children.push(ke)}openNode(ke){const rt=d({scope:ke});this.add(rt),this.stack.push(rt)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(ke){return this.constructor._walk(ke,this.rootNode)}static _walk(ke,rt){return typeof rt=="string"?ke.addText(rt):rt.children&&(ke.openNode(rt),rt.children.forEach(Ze=>this._walk(ke,Ze)),ke.closeNode(rt)),ke}static _collapse(ke){typeof ke!="string"&&ke.children&&(ke.children.every(rt=>typeof rt=="string")?ke.children=[ke.children.join("")]:ke.children.forEach(rt=>{u._collapse(rt)}))}}class f extends u{constructor(ke){super(),this.options=ke}addText(ke){ke!==""&&this.add(ke)}startScope(ke){this.openNode(ke)}endScope(){this.closeNode()}__addSublanguage(ke,rt){const Ze=ke.root;rt&&(Ze.scope=`language:${rt}`),this.add(Ze)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(K){return K?typeof K=="string"?K:K.source:null}function p(K){return y("(?=",K,")")}function C(K){return y("(?:",K,")*")}function b(K){return y("(?:",K,")?")}function y(...K){return K.map(rt=>g(rt)).join("")}function w(K){const ke=K[K.length-1];return typeof ke=="object"&&ke.constructor===Object?(K.splice(K.length-1,1),ke):{}}function A(...K){return"("+(w(K).capture?"":"?:")+K.map(Ze=>g(Ze)).join("|")+")"}function I(K){return new RegExp(K.toString()+"|").exec("").length-1}function M(K,ke){const rt=K&&K.exec(ke);return rt&&rt.index===0}const R=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function P(K,{joinWith:ke}){let rt=0;return K.map(Ze=>{rt+=1;const zt=rt;let ni=g(Ze),mt="";for(;ni.length>0;){const et=R.exec(ni);if(!et){mt+=ni;break}mt+=ni.substring(0,et.index),ni=ni.substring(et.index+et[0].length),et[0][0]==="\\"&&et[1]?mt+="\\"+String(Number(et[1])+zt):(mt+=et[0],et[0]==="("&&rt++)}return mt}).map(Ze=>`(${Ze})`).join(ke)}const V=/\b\B/,$="[a-zA-Z]\\w*",J="[a-zA-Z_]\\w*",re="\\b\\d+(\\.\\d+)?",fe="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Z="\\b(0b[01]+)",de="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ve=(K={})=>{const ke=/^#![ ]*\//;return K.binary&&(K.begin=y(ke,/.*\b/,K.binary,/\b.*/)),i({scope:"meta",begin:ke,end:/$/,relevance:0,"on:begin":(rt,Ze)=>{rt.index!==0&&Ze.ignoreMatch()}},K)},se={begin:"\\\\[\\s\\S]",relevance:0},ue={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[se]},Se={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[se]},Ie={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/},xe=function(K,ke,rt={}){const Ze=i({scope:"comment",begin:K,end:ke,contains:[]},rt);Ze.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 zt=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 Ze.contains.push({begin:y(/[ ]+/,"(",zt,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ze},Ne=xe("//","$"),ze=xe("/\\*","\\*/"),me=xe("#","$"),dt={scope:"number",begin:re,relevance:0},Pt={scope:"number",begin:fe,relevance:0},Ye={scope:"number",begin:Z,relevance:0},yt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[se,{begin:/\[/,end:/\]/,relevance:0,contains:[se]}]},ye={scope:"title",begin:$,relevance:0},Oe={scope:"title",begin:J,relevance:0},ht={begin:"\\.\\s*"+J,relevance:0};var ft=Object.freeze({__proto__:null,APOS_STRING_MODE:ue,BACKSLASH_ESCAPE:se,BINARY_NUMBER_MODE:Ye,BINARY_NUMBER_RE:Z,COMMENT:xe,C_BLOCK_COMMENT_MODE:ze,C_LINE_COMMENT_MODE:Ne,C_NUMBER_MODE:Pt,C_NUMBER_RE:fe,END_SAME_AS_BEGIN:function(K){return Object.assign(K,{"on:begin":(ke,rt)=>{rt.data._beginMatch=ke[1]},"on:end":(ke,rt)=>{rt.data._beginMatch!==ke[1]&&rt.ignoreMatch()}})},HASH_COMMENT_MODE:me,IDENT_RE:$,MATCH_NOTHING_RE:V,METHOD_GUARD:ht,NUMBER_MODE:dt,NUMBER_RE:re,PHRASAL_WORDS_MODE:Ie,QUOTE_STRING_MODE:Se,REGEXP_MODE:yt,RE_STARTERS_RE:de,SHEBANG:ve,TITLE_MODE:ye,UNDERSCORE_IDENT_RE:J,UNDERSCORE_TITLE_MODE:Oe});function Lt(K,ke){K.input[K.index-1]==="."&&ke.ignoreMatch()}function mi(K,ke){K.className!==void 0&&(K.scope=K.className,delete K.className)}function fi(K,ke){ke&&K.beginKeywords&&(K.begin="\\b("+K.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",K.__beforeBegin=Lt,K.keywords=K.keywords||K.beginKeywords,delete K.beginKeywords,K.relevance===void 0&&(K.relevance=0))}function Ei(K,ke){Array.isArray(K.illegal)&&(K.illegal=A(...K.illegal))}function xt(K,ke){if(K.match){if(K.begin||K.end)throw new Error("begin & end are not supported with match");K.begin=K.match,delete K.match}}function ui(K,ke){K.relevance===void 0&&(K.relevance=1)}const Pe=(K,ke)=>{if(!K.beforeMatch)return;if(K.starts)throw new Error("beforeMatch cannot be used with starts");const rt=Object.assign({},K);Object.keys(K).forEach(Ze=>{delete K[Ze]}),K.keywords=rt.keywords,K.begin=y(rt.beforeMatch,p(rt.begin)),K.starts={relevance:0,contains:[Object.assign(rt,{endsParent:!0})]},K.relevance=0,delete rt.beforeMatch},Ee=["of","and","for","in","not","or","if","then","parent","list","value"],Gt="keyword";function gi(K,ke,rt=Gt){const Ze=Object.create(null);return typeof K=="string"?zt(rt,K.split(" ")):Array.isArray(K)?zt(rt,K):Object.keys(K).forEach(function(ni){Object.assign(Ze,gi(K[ni],ke,ni))}),Ze;function zt(ni,mt){ke&&(mt=mt.map(et=>et.toLowerCase())),mt.forEach(function(et){const X=et.split("|");Ze[X[0]]=[ni,Qt(X[0],X[1])]})}}function Qt(K,ke){return ke?Number(ke):Ni(K)?0:1}function Ni(K){return Ee.includes(K.toLowerCase())}const Zi={},vi=K=>{console.error(K)},gn=(K,...ke)=>{console.log(`WARN: ${K}`,...ke)},cn=(K,ke)=>{Zi[`${K}/${ke}`]||(console.log(`Deprecated as of ${K}. ${ke}`),Zi[`${K}/${ke}`]=!0)},rn=new Error;function mn(K,ke,{key:rt}){let Ze=0;const zt=K[rt],ni={},mt={};for(let et=1;et<=ke.length;et++)mt[et+Ze]=zt[et],ni[et+Ze]=!0,Ze+=I(ke[et-1]);K[rt]=mt,K[rt]._emit=ni,K[rt]._multi=!0}function Ct(K){if(Array.isArray(K.begin)){if(K.skip||K.excludeBegin||K.returnBegin)throw vi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),rn;if(typeof K.beginScope!="object"||K.beginScope===null)throw vi("beginScope must be object"),rn;mn(K,K.begin,{key:"beginScope"}),K.begin=P(K.begin,{joinWith:""})}}function Zt(K){if(Array.isArray(K.end)){if(K.skip||K.excludeEnd||K.returnEnd)throw vi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),rn;if(typeof K.endScope!="object"||K.endScope===null)throw vi("endScope must be object"),rn;mn(K,K.end,{key:"endScope"}),K.end=P(K.end,{joinWith:""})}}function Ii(K){K.scope&&typeof K.scope=="object"&&K.scope!==null&&(K.beginScope=K.scope,delete K.scope)}function Wi(K){Ii(K),typeof K.beginScope=="string"&&(K.beginScope={_wrap:K.beginScope}),typeof K.endScope=="string"&&(K.endScope={_wrap:K.endScope}),Ct(K),Zt(K)}function Pi(K){function ke(mt,et){return new RegExp(g(mt),"m"+(K.case_insensitive?"i":"")+(K.unicodeRegex?"u":"")+(et?"g":""))}class rt{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(et,X){X.position=this.position++,this.matchIndexes[this.matchAt]=X,this.regexes.push([X,et]),this.matchAt+=I(et)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const et=this.regexes.map(X=>X[1]);this.matcherRe=ke(P(et,{joinWith:"|"}),!0),this.lastIndex=0}exec(et){this.matcherRe.lastIndex=this.lastIndex;const X=this.matcherRe.exec(et);if(!X)return null;const Te=X.findIndex((ge,Jt)=>Jt>0&&ge!==void 0),le=this.matchIndexes[Te];return X.splice(0,Te),Object.assign(X,le)}}class Ze{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(et){if(this.multiRegexes[et])return this.multiRegexes[et];const X=new rt;return this.rules.slice(et).forEach(([Te,le])=>X.addRule(Te,le)),X.compile(),this.multiRegexes[et]=X,X}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(et,X){this.rules.push([et,X]),X.type==="begin"&&this.count++}exec(et){const X=this.getMatcher(this.regexIndex);X.lastIndex=this.lastIndex;let Te=X.exec(et);if(this.resumingScanAtSamePosition()&&!(Te&&Te.index===this.lastIndex)){const le=this.getMatcher(0);le.lastIndex=this.lastIndex+1,Te=le.exec(et)}return Te&&(this.regexIndex+=Te.position+1,this.regexIndex===this.count&&this.considerAll()),Te}}function zt(mt){const et=new Ze;return mt.contains.forEach(X=>et.addRule(X.begin,{rule:X,type:"begin"})),mt.terminatorEnd&&et.addRule(mt.terminatorEnd,{type:"end"}),mt.illegal&&et.addRule(mt.illegal,{type:"illegal"}),et}function ni(mt,et){const X=mt;if(mt.isCompiled)return X;[mi,xt,Wi,Pe].forEach(le=>le(mt,et)),K.compilerExtensions.forEach(le=>le(mt,et)),mt.__beforeBegin=null,[fi,Ei,ui].forEach(le=>le(mt,et)),mt.isCompiled=!0;let Te=null;return typeof mt.keywords=="object"&&mt.keywords.$pattern&&(mt.keywords=Object.assign({},mt.keywords),Te=mt.keywords.$pattern,delete mt.keywords.$pattern),Te=Te||/\w+/,mt.keywords&&(mt.keywords=gi(mt.keywords,K.case_insensitive)),X.keywordPatternRe=ke(Te,!0),et&&(mt.begin||(mt.begin=/\B|\b/),X.beginRe=ke(X.begin),!mt.end&&!mt.endsWithParent&&(mt.end=/\B|\b/),mt.end&&(X.endRe=ke(X.end)),X.terminatorEnd=g(X.end)||"",mt.endsWithParent&&et.terminatorEnd&&(X.terminatorEnd+=(mt.end?"|":"")+et.terminatorEnd)),mt.illegal&&(X.illegalRe=ke(mt.illegal)),mt.contains||(mt.contains=[]),mt.contains=[].concat(...mt.contains.map(function(le){return Dn(le==="self"?mt:le)})),mt.contains.forEach(function(le){ni(le,X)}),mt.starts&&ni(mt.starts,et),X.matcher=zt(X),X}if(K.compilerExtensions||(K.compilerExtensions=[]),K.contains&&K.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return K.classNameAliases=i(K.classNameAliases||{}),ni(K)}function pn(K){return K?K.endsWithParent||pn(K.starts):!1}function Dn(K){return K.variants&&!K.cachedVariants&&(K.cachedVariants=K.variants.map(function(ke){return i(K,{variants:null},ke)})),K.cachedVariants?K.cachedVariants:pn(K)?i(K,{starts:K.starts?i(K.starts):null}):Object.isFrozen(K)?i(K):K}var Ui="11.11.1";class Xe extends Error{constructor(ke,rt){super(ke),this.name="HTMLInjectionError",this.html=rt}}const ci=t,Oi=i,ii=Symbol("nomatch"),zi=7,Gi=function(K){const ke=Object.create(null),rt=Object.create(null),Ze=[];let zt=!0;const ni="Could not find the language '{}', did you forget to load/include a language module?",mt={disableAutodetect:!0,name:"Plain text",contains:[]};let et={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function X(U){return et.noHighlightRe.test(U)}function Te(U){let T=U.className+" ";T+=U.parentNode?U.parentNode.className:"";const W=et.languageDetectRe.exec(T);if(W){const Y=ei(W[1]);return Y||(gn(ni.replace("{}",W[1])),gn("Falling back to no-highlight mode for this block.",U)),Y?W[1]:"no-highlight"}return T.split(/\s+/).find(Y=>X(Y)||ei(Y))}function le(U,T,W){let Y="",ne="";typeof T=="object"?(Y=U,W=T.ignoreIllegals,ne=T.language):(cn("10.7.0","highlight(lang, code, ...args) has been deprecated."),cn("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),ne=U,Y=T),W===void 0&&(W=!0);const ae={code:Y,language:ne};gt("before:highlight",ae);const oe=ae.result?ae.result:ge(ae.language,ae.code,W);return oe.code=ae.code,gt("after:highlight",oe),oe}function ge(U,T,W,Y){const ne=Object.create(null);function ae(be,qe){return be.keywords[qe]}function oe(){if(!Qe.keywords){Dt.addText(st);return}let be=0;Qe.keywordPatternRe.lastIndex=0;let qe=Qe.keywordPatternRe.exec(st),at="";for(;qe;){at+=st.substring(be,qe.index);const Xt=$e.case_insensitive?qe[0].toLowerCase():qe[0],it=ae(Qe,Xt);if(it){const[nt,kt]=it;if(Dt.addText(at),at="",ne[Xt]=(ne[Xt]||0)+1,ne[Xt]<=zi&&(Rt+=kt),nt.startsWith("_"))at+=qe[0];else{const ti=$e.classNameAliases[nt]||nt;Ce(qe[0],ti)}}else at+=qe[0];be=Qe.keywordPatternRe.lastIndex,qe=Qe.keywordPatternRe.exec(st)}at+=st.substring(be),Dt.addText(at)}function we(){if(st==="")return;let be=null;if(typeof Qe.subLanguage=="string"){if(!ke[Qe.subLanguage]){Dt.addText(st);return}be=ge(Qe.subLanguage,st,!0,wt[Qe.subLanguage]),wt[Qe.subLanguage]=be._top}else be=ai(st,Qe.subLanguage.length?Qe.subLanguage:null);Qe.relevance>0&&(Rt+=be.relevance),Dt.__addSublanguage(be._emitter,be.language)}function je(){Qe.subLanguage!=null?we():oe(),st=""}function Ce(be,qe){be!==""&&(Dt.startScope(qe),Dt.addText(be),Dt.endScope())}function Le(be,qe){let at=1;const Xt=qe.length-1;for(;at<=Xt;){if(!be._emit[at]){at++;continue}const it=$e.classNameAliases[be[at]]||be[at],nt=qe[at];it?Ce(nt,it):(st=nt,oe(),st=""),at++}}function Me(be,qe){return be.scope&&typeof be.scope=="string"&&Dt.openNode($e.classNameAliases[be.scope]||be.scope),be.beginScope&&(be.beginScope._wrap?(Ce(st,$e.classNameAliases[be.beginScope._wrap]||be.beginScope._wrap),st=""):be.beginScope._multi&&(Le(be.beginScope,qe),st="")),Qe=Object.create(be,{parent:{value:Qe}}),Qe}function ot(be,qe,at){let Xt=M(be.endRe,at);if(Xt){if(be["on:end"]){const it=new e(be);be["on:end"](qe,it),it.isMatchIgnored&&(Xt=!1)}if(Xt){for(;be.endsParent&&be.parent;)be=be.parent;return be}}if(be.endsWithParent)return ot(be.parent,qe,at)}function li(be){return Qe.matcher.regexIndex===0?(st+=be[0],1):(De=!0,0)}function Q(be){const qe=be[0],at=be.rule,Xt=new e(at),it=[at.__beforeBegin,at["on:begin"]];for(const nt of it)if(nt&&(nt(be,Xt),Xt.isMatchIgnored))return li(qe);return at.skip?st+=qe:(at.excludeBegin&&(st+=qe),je(),!at.returnBegin&&!at.excludeBegin&&(st=qe)),Me(at,be),at.returnBegin?0:qe.length}function ce(be){const qe=be[0],at=T.substring(be.index),Xt=ot(Qe,be,at);if(!Xt)return ii;const it=Qe;Qe.endScope&&Qe.endScope._wrap?(je(),Ce(qe,Qe.endScope._wrap)):Qe.endScope&&Qe.endScope._multi?(je(),Le(Qe.endScope,be)):it.skip?st+=qe:(it.returnEnd||it.excludeEnd||(st+=qe),je(),it.excludeEnd&&(st=qe));do Qe.scope&&Dt.closeNode(),!Qe.skip&&!Qe.subLanguage&&(Rt+=Qe.relevance),Qe=Qe.parent;while(Qe!==Xt.parent);return Xt.starts&&Me(Xt.starts,be),it.returnEnd?0:qe.length}function Ge(){const be=[];for(let qe=Qe;qe!==$e;qe=qe.parent)qe.scope&&be.unshift(qe.scope);be.forEach(qe=>Dt.openNode(qe))}let Mt={};function Ue(be,qe){const at=qe&&qe[0];if(st+=be,at==null)return je(),0;if(Mt.type==="begin"&&qe.type==="end"&&Mt.index===qe.index&&at===""){if(st+=T.slice(qe.index,qe.index+1),!zt){const Xt=new Error(`0 width match regex (${U})`);throw Xt.languageName=U,Xt.badRule=Mt.rule,Xt}return 1}if(Mt=qe,qe.type==="begin")return Q(qe);if(qe.type==="illegal"&&!W){const Xt=new Error('Illegal lexeme "'+at+'" for mode "'+(Qe.scope||"<unnamed>")+'"');throw Xt.mode=Qe,Xt}else if(qe.type==="end"){const Xt=ce(qe);if(Xt!==ii)return Xt}if(qe.type==="illegal"&&at==="")return st+=`
|
|
81
|
-
`,1;if(Ut>1e5&&Ut>qe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return st+=at,at.length}const $e=ei(U);if(!$e)throw vi(ni.replace("{}",U)),new Error('Unknown language: "'+U+'"');const Tt=Pi($e);let pt="",Qe=Y||Tt;const wt={},Dt=new et.__emitter(et);Ge();let st="",Rt=0,si=0,Ut=0,De=!1;try{if($e.__emitTokens)$e.__emitTokens(T,Dt);else{for(Qe.matcher.considerAll();;){Ut++,De?De=!1:Qe.matcher.considerAll(),Qe.matcher.lastIndex=si;const be=Qe.matcher.exec(T);if(!be)break;const qe=T.substring(si,be.index),at=Ue(qe,be);si=be.index+at}Ue(T.substring(si))}return Dt.finalize(),pt=Dt.toHTML(),{language:U,value:pt,relevance:Rt,illegal:!1,_emitter:Dt,_top:Qe}}catch(be){if(be.message&&be.message.includes("Illegal"))return{language:U,value:ci(T),illegal:!0,relevance:0,_illegalBy:{message:be.message,index:si,context:T.slice(si-100,si+100),mode:be.mode,resultSoFar:pt},_emitter:Dt};if(zt)return{language:U,value:ci(T),illegal:!1,relevance:0,errorRaised:be,_emitter:Dt,_top:Qe};throw be}}function Jt(U){const T={value:ci(U),illegal:!1,relevance:0,_top:mt,_emitter:new et.__emitter(et)};return T._emitter.addText(U),T}function ai(U,T){T=T||et.languages||Object.keys(ke);const W=Jt(U),Y=T.filter(ei).filter(He).map(je=>ge(je,U,!1));Y.unshift(W);const ne=Y.sort((je,Ce)=>{if(je.relevance!==Ce.relevance)return Ce.relevance-je.relevance;if(je.language&&Ce.language){if(ei(je.language).supersetOf===Ce.language)return 1;if(ei(Ce.language).supersetOf===je.language)return-1}return 0}),[ae,oe]=ne,we=ae;return we.secondBest=oe,we}function bi(U,T,W){const Y=T&&rt[T]||W;U.classList.add("hljs"),U.classList.add(`language-${Y}`)}function Ci(U){let T=null;const W=Te(U);if(X(W))return;if(gt("before:highlightElement",{el:U,language:W}),U.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",U);return}if(U.children.length>0&&(et.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(U)),et.throwUnescapedHTML))throw new Xe("One of your code blocks includes unescaped HTML.",U.innerHTML);T=U;const Y=T.textContent,ne=W?le(Y,{language:W,ignoreIllegals:!0}):ai(Y);U.innerHTML=ne.value,U.dataset.highlighted="yes",bi(U,W,ne.language),U.result={language:ne.language,re:ne.relevance,relevance:ne.relevance},ne.secondBest&&(U.secondBest={language:ne.secondBest.language,relevance:ne.secondBest.relevance}),gt("after:highlightElement",{el:U,result:ne,text:Y})}function Hi(U){et=Oi(et,U)}const ie=()=>{Ve(),cn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function tt(){Ve(),cn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let _e=!1;function Ve(){function U(){Ve()}if(document.readyState==="loading"){_e||window.addEventListener("DOMContentLoaded",U,!1),_e=!0;return}document.querySelectorAll(et.cssSelector).forEach(Ci)}function _t(U,T){let W=null;try{W=T(K)}catch(Y){if(vi("Language definition for '{}' could not be registered.".replace("{}",U)),zt)vi(Y);else throw Y;W=mt}W.name||(W.name=U),ke[U]=W,W.rawDefinition=T.bind(null,K),W.aliases&&pe(W.aliases,{languageName:U})}function It(U){delete ke[U];for(const T of Object.keys(rt))rt[T]===U&&delete rt[T]}function Ai(){return Object.keys(ke)}function ei(U){return U=(U||"").toLowerCase(),ke[U]||ke[rt[U]]}function pe(U,{languageName:T}){typeof U=="string"&&(U=[U]),U.forEach(W=>{rt[W.toLowerCase()]=T})}function He(U){const T=ei(U);return T&&!T.disableAutodetect}function Je(U){U["before:highlightBlock"]&&!U["before:highlightElement"]&&(U["before:highlightElement"]=T=>{U["before:highlightBlock"](Object.assign({block:T.el},T))}),U["after:highlightBlock"]&&!U["after:highlightElement"]&&(U["after:highlightElement"]=T=>{U["after:highlightBlock"](Object.assign({block:T.el},T))})}function Fe(U){Je(U),Ze.push(U)}function Et(U){const T=Ze.indexOf(U);T!==-1&&Ze.splice(T,1)}function gt(U,T){const W=U;Ze.forEach(function(Y){Y[W]&&Y[W](T)})}function Kt(U){return cn("10.7.0","highlightBlock will be removed entirely in v12.0"),cn("10.7.0","Please use highlightElement now."),Ci(U)}Object.assign(K,{highlight:le,highlightAuto:ai,highlightAll:Ve,highlightElement:Ci,highlightBlock:Kt,configure:Hi,initHighlighting:ie,initHighlightingOnLoad:tt,registerLanguage:_t,unregisterLanguage:It,listLanguages:Ai,getLanguage:ei,registerAliases:pe,autoDetection:He,inherit:Oi,addPlugin:Fe,removePlugin:Et}),K.debugMode=function(){zt=!1},K.safeMode=function(){zt=!0},K.versionString=Ui,K.regex={concat:y,lookahead:p,either:A,optional:b,anyNumberOfTimes:C};for(const U in ft)typeof ft[U]=="object"&&o(ft[U]);return Object.assign(K,ft),K},qi=Gi({});return qi.newInstance=()=>Gi({}),QC=qi,qi.HighlightJS=qi,qi.default=qi,QC}var xq=pq();const jm=mS(xq),y2="[A-Za-z$_][0-9A-Za-z$_]*",vq=["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"],mq=["true","false","null","undefined","NaN","Infinity"],OF=["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"],HF=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],WF=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],_q=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],bq=[].concat(WF,OF,HF);function zF(o){const e=o.regex,t=(xe,{after:Ne})=>{const ze="</"+xe[0].slice(1);return xe.input.indexOf(ze,Ne)!==-1},i=y2,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(xe,Ne)=>{const ze=xe[0].length+xe.index,me=xe.input[ze];if(me==="<"||me===","){Ne.ignoreMatch();return}me===">"&&(t(xe,{after:ze})||Ne.ignoreMatch());let dt;const Pt=xe.input.substring(ze);if(dt=Pt.match(/^\s*=/)){Ne.ignoreMatch();return}if((dt=Pt.match(/^\s+extends\s+/))&&dt.index===0){Ne.ignoreMatch();return}}},a={$pattern:y2,keyword:vq,literal:mq,built_in:bq,"variable.language":_q},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"}},y={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]},M=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,{match:/\$\d+/},g];p.contains=M.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(M)});const R=[].concat(I,p.contains),P=R.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(R)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:P},$={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"}}]},J={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:{_:[...OF,...HF]}},re={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},fe={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},Z={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function de(xe){return e.concat("(?!",xe.join("|"),")")}const ve={match:e.concat(/\b/,de([...WF,"super","import"].map(xe=>`${xe}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},se={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ue={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},Se="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Ie={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Se)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:P,CLASS_REFERENCE:J},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),re,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,C,b,y,w,I,{match:/\$\d+/},g,J,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Ie,{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:Se,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"]}]}]},fe,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},se,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},ve,Z,$,ue,{match:/\$[(.]/}]}}function _S(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var rh=_S();function VF(o){rh=o}var _d={exec:()=>null};function Ih(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 ts(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(yo.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var Cq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),yo={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:Ih(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Ih(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Ih(o=>new RegExp(`^ {0,${o}}>`))},Eq=/^(?:[ \t]*(?:\n|$))+/,yq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,wq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ix=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Sq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,bS=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,jF=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,$F=ts(jF).replace(/bull/g,bS).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(),Dq=ts(jF).replace(/bull/g,bS).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(),CS=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Aq=/^[^\n]+/,ES=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,kq=ts(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ES).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Bq=ts(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,bS).getRegex(),Ob="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",yS=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Fq=ts("^ {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",yS).replace("tag",Ob).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),UF=ts(CS).replace("hr",ix).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",Ob).getRegex(),Lq=ts(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",UF).getRegex(),wS={blockquote:Lq,code:yq,def:kq,fences:wq,heading:Sq,hr:ix,html:Fq,lheading:$F,list:Bq,newline:Eq,paragraph:UF,table:_d,text:Aq},w2=ts("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ix).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",Ob).getRegex(),Iq={...wS,lheading:Dq,table:w2,paragraph:ts(CS).replace("hr",ix).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",w2).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",Ob).getRegex()},Pq={...wS,html:ts(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",yS).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:_d,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ts(CS).replace("hr",ix).replace("heading",` *#{1,6} *[^
|
|
82
|
-
]`).replace("lheading",$F).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Tq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Mq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,qF=/^( {2,}|\\)\n(?!\s*$)/,Rq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,b0=/[\p{P}\p{S}]/u,Hb=/[\s\p{P}\p{S}]/u,SS=/[^\s\p{P}\p{S}]/u,Nq=ts(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Hb).getRegex(),GF=/(?!~)[\p{P}\p{S}]/u,Oq=/(?!~)[\s\p{P}\p{S}]/u,Hq=/(?:[^\s\p{P}\p{S}]|~)/u,Wq=ts(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Cq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),KF=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,zq=ts(KF,"u").replace(/punct/g,b0).getRegex(),Vq=ts(KF,"u").replace(/punct/g,GF).getRegex(),ZF="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",jq=ts(ZF,"gu").replace(/notPunctSpace/g,SS).replace(/punctSpace/g,Hb).replace(/punct/g,b0).getRegex(),$q=ts(ZF,"gu").replace(/notPunctSpace/g,Hq).replace(/punctSpace/g,Oq).replace(/punct/g,GF).getRegex(),Uq=ts("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,SS).replace(/punctSpace/g,Hb).replace(/punct/g,b0).getRegex(),qq=ts(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,b0).getRegex(),Gq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Kq=ts(Gq,"gu").replace(/notPunctSpace/g,SS).replace(/punctSpace/g,Hb).replace(/punct/g,b0).getRegex(),Zq=ts(/\\(punct)/,"gu").replace(/punct/g,b0).getRegex(),Xq=ts(/^<(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(),Yq=ts(yS).replace("(?:-->|$)","-->").getRegex(),Qq=ts("^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",Yq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),$m=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Jq=ts(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",$m).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),XF=ts(/^!?\[(label)\]\[(ref)\]/).replace("label",$m).replace("ref",ES).getRegex(),YF=ts(/^!?\[(ref)\](?:\[\])?/).replace("ref",ES).getRegex(),eG=ts("reflink|nolink(?!\\()","g").replace("reflink",XF).replace("nolink",YF).getRegex(),S2=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,DS={_backpedal:_d,anyPunctuation:Zq,autolink:Xq,blockSkip:Wq,br:qF,code:Mq,del:_d,delLDelim:_d,delRDelim:_d,emStrongLDelim:zq,emStrongRDelimAst:jq,emStrongRDelimUnd:Uq,escape:Tq,link:Jq,nolink:YF,punctuation:Nq,reflink:XF,reflinkSearch:eG,tag:Qq,text:Rq,url:_d},tG={...DS,link:ts(/^!?\[(label)\]\((.*?)\)/).replace("label",$m).getRegex(),reflink:ts(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",$m).getRegex()},ww={...DS,emStrongRDelimAst:$q,emStrongLDelim:Vq,delLDelim:qq,delRDelim:Kq,url:ts(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",S2).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:ts(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",S2).getRegex()},iG={...ww,br:ts(qF).replace("{2,}","*").getRegex(),text:ts(ww.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},qx={normal:wS,gfm:Iq,pedantic:Pq},V0={normal:DS,gfm:ww,breaks:iG,pedantic:tG},nG={"&":"&","<":"<",">":">",'"':""","'":"'"},D2=o=>nG[o];function Sa(o,e){if(e){if(yo.escapeTest.test(o))return o.replace(yo.escapeReplace,D2)}else if(yo.escapeTestNoEncode.test(o))return o.replace(yo.escapeReplaceNoEncode,D2);return o}function A2(o){try{o=encodeURI(o).replace(yo.percentDecode,"%")}catch{return null}return o}function k2(o,e){var s;let t=o.replace(yo.findPipe,(r,a,d)=>{let u=!1,f=a;for(;--f>=0&&d[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(yo.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(yo.slashPipe,"|");return i}function ic(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 B2(o){let e=o.split(`
|
|
83
|
-
`),t=e.length-1;for(;t>=0&&yo.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
-
`)}function sG(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 oG(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 F2(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 rG(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 Um=class{constructor(o){Mn(this,"options");Mn(this,"rules");Mn(this,"lexer");this.options=o||rh}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]:B2(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=rG(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=ic(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:ic(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:ic(e[0],`
|
|
88
|
-
`)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=ic(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
|
-
`),y=this.blockquote(b);s[s.length-1]=y,i=i.substring(0,i.length-C.raw.length)+y.raw,n=n.substring(0,n.length-C.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let C=p,b=C.raw+`
|
|
97
|
-
`+t.join(`
|
|
98
|
-
`),y=this.list(b);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-C.raw.length)+y.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=oG(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 y=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),A=this.rules.other.fencesBeginRegex(b),I=this.rules.other.headingBeginRegex(b),M=this.rules.other.htmlBeginRegex(b),R=this.rules.other.blockquoteBeginRegex(b);for(;o;){let P=o.split(`
|
|
103
|
-
`,1)[0],V;if(p=P,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),V=p):V=p.replace(this.rules.other.tabCharGlobal," "),A.test(p)||I.test(p)||M.test(p)||R.test(p)||y.test(p)||w.test(p))break;if(V.search(this.rules.other.nonSpaceChar)>=b||!p.trim())f+=`
|
|
104
|
-
`+V.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=V.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=B2(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:ic(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=k2(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:ic(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(k2(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:ic(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=ic(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=sG(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)),F2(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 F2(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}}}},ta=class Sw{constructor(e){Mn(this,"tokens");Mn(this,"options");Mn(this,"state");Mn(this,"inlineQueue");Mn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||rh,this.options.tokenizer=this.options.tokenizer||new Um,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:yo,block:qx.normal,inline:V0.normal};this.options.pedantic?(t.block=qx.pedantic,t.inline=V0.pedantic):this.options.gfm&&(t.block=qx.gfm,this.options.breaks?t.inline=V0.breaks:t.inline=V0.gfm),this.tokenizer.rules=t}static get rules(){return{block:qx,inline:V0}}static lex(e,t){return new Sw(t).lex(e)}static lexInline(e,t){return new Sw(t).inlineTokens(e)}lex(e){e=e.replace(yo.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(yo.tabCharGlobal," ").replace(yo.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 y=e;if((C=this.options.extensions)!=null&&C.startInline){let w=1/0,A=e.slice(1),I;this.options.extensions.startInline.forEach(M=>{I=M.call({lexer:this},A),typeof I=="number"&&I>=0&&(w=Math.min(w,I))}),w<1/0&&w>=0&&(y=e.substring(0,w+1))}if(b=this.tokenizer.inlineText(y)){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)}},qm=class{constructor(o){Mn(this,"options");Mn(this,"parser");this.options=o||rh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(yo.notSpaceStart))==null?void 0:s[0],n=o.replace(yo.endingNewline,"")+`
|
|
126
|
-
`;return i?'<pre><code class="language-'+Sa(i)+'">'+(t?n:Sa(n,!0))+`</code></pre>
|
|
127
|
-
`:"<pre><code>"+(t?n:Sa(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>${Sa(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=A2(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+Sa(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=A2(o);if(n===null)return Sa(t);o=n;let s=`<img src="${o}" alt="${Sa(t)}"`;return e&&(s+=` title="${Sa(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:Sa(o.text)}},AS=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}},ia=class Dw{constructor(e){Mn(this,"options");Mn(this,"renderer");Mn(this,"textRenderer");this.options=e||rh,this.options.renderer=this.options.renderer||new qm,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new AS}static parse(e,t){return new Dw(t).parse(e)}static parseInline(e,t){return new Dw(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}},Zx,og=(Zx=class{constructor(o){Mn(this,"options");Mn(this,"block");this.options=o||rh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?ta.lex:ta.lexInline}provideParser(o=this.block){return o?ia.parse:ia.parseInline}},Mn(Zx,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Mn(Zx,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Zx),aG=class{constructor(...o){Mn(this,"defaults",_S());Mn(this,"options",this.setOptions);Mn(this,"parse",this.parseMarkdown(!0));Mn(this,"parseInline",this.parseMarkdown(!1));Mn(this,"Parser",ia);Mn(this,"Renderer",qm);Mn(this,"TextRenderer",AS);Mn(this,"Lexer",ta);Mn(this,"Tokenizer",Um);Mn(this,"Hooks",og);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 qm(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 Um(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 og;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];og.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&og.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 ta.lex(o,e??this.defaults)}parser(o,e){return ia.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?ta.lex:ta.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?ia.parse:ia.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?ta.lex:ta.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?ia.parse:ia.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>"+Sa(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Gu=new aG;function ls(o,e){return Gu.parse(o,e)}ls.options=ls.setOptions=function(o){return Gu.setOptions(o),ls.defaults=Gu.defaults,VF(ls.defaults),ls};ls.getDefaults=_S;ls.defaults=rh;ls.use=function(...o){return Gu.use(...o),ls.defaults=Gu.defaults,VF(ls.defaults),ls};ls.walkTokens=function(o,e){return Gu.walkTokens(o,e)};ls.parseInline=Gu.parseInline;ls.Parser=ia;ls.parser=ia.parse;ls.Renderer=qm;ls.TextRenderer=AS;ls.Lexer=ta;ls.lexer=ta.lex;ls.Tokenizer=Um;ls.Hooks=og;ls.parse=ls;ls.options;ls.setOptions;ls.use;ls.walkTokens;ls.parseInline;ia.parse;ta.lex;var lG=F('<span class="chat-model svelte-10ayso4"><!></span>'),cG=F('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),dG=F('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),uG=F('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),hG=F('<ul class="history-list svelte-10ayso4"></ul>'),fG=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>'),gG=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>'),pG=F('Chatting in context of <code class="svelte-10ayso4"> </code>',1),xG=F('<button class="chip svelte-10ayso4"> </button>'),vG=F('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),mG=F('<div class="msg-content user-text svelte-10ayso4"> </div>'),L2=F('<span class="tool-args svelte-10ayso4"> </span>'),I2=F('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),P2=F('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),T2=F('<div class="tool-events svelte-10ayso4"></div>'),M2=F('<div class="text-block svelte-10ayso4"></div>'),_G=F('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),bG=F('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),CG=F('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),EG=F('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),yG=F('<button class="expand-btn svelte-10ayso4"> </button>'),wG=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>'),SG=F('<!> <div class="msg-content svelte-10ayso4"></div>',1),DG=F("<div><!></div>"),AG=F('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),kG=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>'),BG=F('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),FG=F('<div class="chat-error svelte-10ayso4"> </div>'),LG=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>'),IG=F('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),PG=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>'),TG=F('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),MG=F('<button class="send-btn svelte-10ayso4">↑</button>'),RG=F('<option class="svelte-10ayso4"> </option>'),NG=F('<select class="model-select svelte-10ayso4"></select>'),OG=F('<span class="model-name svelte-10ayso4"> </span>'),HG=F('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),WG=F('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),zG=F('<p class="info-status svelte-10ayso4">Loading…</p>'),VG=F('<p class="info-status info-err svelte-10ayso4"> </p>'),jG=F('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),$G=F('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),UG=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),GG=F('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),KG=F('<div class="running-model svelte-10ayso4"> </div>'),ZG=F('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),XG=F('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),YG=F('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),QG=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>'),JG=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 eK(o,e){Ts(e,!0),jm.registerLanguage("javascript",zF),ls.use({breaks:!0,gfm:!0});let t=Tu(e,"currentScript",3,null),i=Tu(e,"extraFiles",31,()=>Di([])),n=B(Di([])),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(Di(localStorage.getItem(f)??g())),C=B(Di([])),b=B(!1);Qn(()=>{localStorage.setItem(f,l(p))});let y=B(Di([])),w=B(Di(localStorage.getItem("she:selectedModel")??"")),A=B(null);const I=Ot(()=>{var Q;return l(A)!==null&&((Q=t())==null?void 0:Q.path)===l(A)});let M=B(Di(new Set)),R=B(!1),P=B(null),V=B(!1),$=B(""),J=B(0),re=null,fe=B(0);const Z=["[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 de=B(!0),ve=B(!0),se=B(!0),ue=B(!1),Se,Ie=B(Di([])),xe,Ne;const ze=Ot(()=>({apiref:l(de),tools:l(ve)})),me=Ot(()=>{var Q;return((Q=l(u))==null?void 0:Q.configured)??!1}),dt=Ot(()=>{var Q;return l(me)||!!((Q=l(u))!=null&&Q.provider)&&!!l(w)}),Pt=Ot(()=>l(J)+new TextEncoder().encode(l(r)).length),Ye=Ot(()=>l(se)?t():null);Qn(()=>{var ce;const Q=(ce=t())==null?void 0:ce.path;x(se,!0),l(A)!==null&&Q!==l(A)&&x(A,null)}),Qn(()=>{var Mt;if(!l(I))return;const Q=l(n).at(-1);if(!Q||Q.role!=="assistant")return;const Ge=ye(Q.content).find(Ue=>Ue.type==="code"&&xt(Ue.lang));if(Ge){const Ue=ui(Ge.text);(Mt=e.onApply)==null||Mt.call(e,Ue?Ue.code:Ge.text)}});async function yt(){try{const Q=await FF();x(u,Q,!0),Q.configured&&!l(w)&&x(w,Q.model,!0)}catch{}}Qn(()=>(window.addEventListener("she:config-changed",yt),()=>window.removeEventListener("she:config-changed",yt))),Qn(()=>{l(w)&&localStorage.setItem("she:selectedModel",l(w))}),Qn(()=>{var Q;(Q=l(u))!=null&&Q.provider&&LF().then(ce=>{x(y,ce.models,!0),!l(w)&&ce.models.length>0&&x(w,ce.models[0],!0)}).catch(()=>{})}),Qn(()=>{l(w),x(P,null),x($,"")}),Qn(()=>{var ce,Ge;if(((ce=l(u))==null?void 0:ce.provider)!=="ollama")return;const Q=l(w)||((Ge=l(u))==null?void 0:Ge.model);!Q||l(P)||Ew(Q).then(Mt=>{x(P,Mt,!0)}).catch(()=>{})}),Qn(()=>{if(!l(a))return;x(fe,Math.floor(Math.random()*Z.length),!0);const Q=setInterval(()=>{x(fe,(l(fe)+1)%Z.length)},1e4);return()=>clearInterval(Q)}),Qn(()=>{var Q;Ne&&(l(n).length+(((Q=l(s))==null?void 0:Q.length)??0),requestAnimationFrame(()=>{Ne&&(Ne.scrollTop=Ne.scrollHeight)}))}),Qn(()=>{const Q=l(ze),ce=l(Ye),Ge=i();l(dt)&&IF({context:Q,currentScript:ce??null,extraFiles:Ge.length>0?Ge:void 0}).then(Mt=>{x(J,new TextEncoder().encode(Mt.prompt).length,!0)}).catch(()=>{})});function ye(Q){const ce=Q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
-
$2
|
|
146
|
-
`),Ge=[],Mt=/```(\w*)\n([\s\S]*?)```/g;let Ue=0,$e;for(;($e=Mt.exec(ce))!==null;)$e.index>Ue&&Ge.push({type:"text",text:ce.slice(Ue,$e.index)}),Ge.push({type:"code",lang:$e[1]||"text",text:$e[2].trimEnd()}),Ue=$e.index+$e[0].length;return Ue<ce.length&&Ge.push({type:"text",text:ce.slice(Ue)}),Ge}const Oe=15;function ht(Q){return Q.split(`
|
|
147
|
-
`).length>Oe}function At(Q){const ce=new Set(l(M));ce.has(Q)?ce.delete(Q):ce.add(Q),x(M,ce,!0)}function ft(Q,ce){if(xt(ce))try{return jm.highlight(Q,{language:"javascript"}).value}catch{}return Q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Lt(Q){return ls.parse(Q)}function mi(Q){const ce=Q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
-
$2
|
|
149
|
-
`),Ge=[],Mt=/```(\w*)\n([\s\S]*?)```/g;let Ue=0,$e;for(;($e=Mt.exec(ce))!==null;)$e.index>Ue&&Ge.push({type:"text",text:ce.slice(Ue,$e.index)}),Ge.push({type:"code",lang:$e[1]||"text",text:$e[2].trimEnd()}),Ue=$e.index+$e[0].length;const Tt=ce.slice(Ue),pt=Tt.match(/```(\w*)\n([\s\S]*)$/);return pt?(pt.index>0&&Ge.push({type:"text",text:Tt.slice(0,pt.index)}),Ge.push({type:"code",lang:pt[1]||"text",text:pt[2]})):Tt&&Ge.push({type:"text",text:Tt}),Ge}function fi(Q){navigator.clipboard.writeText(Q).catch(()=>{})}function Ei(Q,ce=!1){var Ge;ce&&t()&&x(A,t().path,!0),(Ge=e.onApply)==null||Ge.call(e,Q)}function xt(Q){return!Q||Q==="js"||Q==="javascript"}function ui(Q){const ce=Q.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return ce?{filename:ce[1],code:Q.slice(ce[0].length)}:null}function Pe(Q){return Q>=1e9?`${(Q/1e9).toFixed(1)} GB`:Q>=1e6?`${(Q/1e6).toFixed(0)} MB`:Q>=1024?`${(Q/1024).toFixed(1)} kB`:`${Q} B`}async function Ee(){if(x(R,!0),!(l(P)||l(V))){x(V,!0),x($,"");try{x(P,await Ew(l(w)||l(u).model),!0)}catch(Q){x($,Q.message,!0)}x(V,!1)}}function Gt(Q){const ce=Q.match(/\.([^.]+)$/);return ce?ce[1].toUpperCase():"?"}function gi(Q){switch(Q){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return Q}}function Qt(Q){i(i().filter((ce,Ge)=>Ge!==Q))}function Ni(){Se.click()}async function Zi(Q){if(!(!Q||Q.length===0))for(const ce of Array.from(Q)){const Ge=await ce.text();i([...i(),{name:ce.name,content:Ge}])}}function vi(Q){const ce=Q.target;Zi(ce.files),ce.value=""}function gn(Q){var ce;Q.preventDefault(),x(ue,!1),Zi(((ce=Q.dataTransfer)==null?void 0:ce.files)??null)}function cn(Q){var ce;(ce=Q.dataTransfer)!=null&&ce.types.includes("Files")&&(Q.preventDefault(),x(ue,!0))}function rn(){x(ue,!1)}async function mn(){try{x(C,await hU(),!0)}catch{}}async function Ct(){var ce;if(l(n).length===0)return;const Q=((ce=l(n).find(Ge=>Ge.role==="user"))==null?void 0:ce.content.slice(0,80))??l(p);try{await fU(l(p),Q,l(n)),await mn()}catch{}}async function Zt(Q){try{const ce=await v2(Q);x(n,ce.messages,!0),x(p,Q,!0),x(b,!1),x(d,"")}catch{}}async function Ii(Q){try{await gU(Q),await mn(),Q===l(p)&&Wi()}catch{}}function Wi(){x(n,[],!0),x(d,""),x(p,g(),!0),x(b,!1)}js(async()=>{yt();try{const Q=await v2(l(p));x(n,Q.messages,!0)}catch{}await mn()});async function Pi(){const Q=l(r).trim();if(!Q||l(a))return;x(r,""),x(d,""),x(a,!0);const ce={role:"user",content:Q};x(n,[...l(n),ce],!0),re=new AbortController,x(Ie,[],!0);try{await PF({messages:l(n),currentScript:l(Ye),context:l(ze),modelOverride:l(w)||void 0,extraFiles:i().length>0?i():void 0},Ge=>{x(s,(l(s)??"")+Ge)},re.signal,Ge=>{x(Ie,[...l(Ie),Ge],!0)}),x(n,[...l(n),{role:"assistant",content:l(s)??"",toolEvents:l(Ie).length>0?[...l(Ie)]:void 0}],!0),x(Ie,[],!0)}catch(Ge){if(Ge.name==="AbortError"){const Mt=l(s);Mt&&Mt.trim()&&x(n,[...l(n),{role:"assistant",content:Mt+`
|
|
150
|
-
|
|
151
|
-
*[stopped]*`,toolEvents:l(Ie).length>0?[...l(Ie)]:void 0}],!0)}else x(d,Ge.message,!0)}finally{re=null,x(s,null),x(Ie,[],!0),x(a,!1),Ct()}}function pn(){re==null||re.abort()}function Dn(Q){Q.key==="Enter"&&!Q.shiftKey&&(Q.preventDefault(),Pi())}function Ui(){Wi()}const Xe=["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 ci(Q){x(r,Q,!0),xe==null||xe.focus()}var Oi=JG(),ii=bt(Oi),zi=m(ii),Gi=v(m(zi),2);{var qi=Q=>{var ce=lG(),Ge=m(ce);{var Mt=Tt=>{var pt=ro();z(()=>O(pt,`${l(u).provider??""} · ${(l(w)||l(u).model)??""}`)),D(Tt,pt)},Ue=Tt=>{var pt=ro();z(()=>O(pt,`${l(u).provider??""} · pick a model below`)),D(Tt,pt)},$e=Tt=>{var pt=ro("Not configured");D(Tt,pt)};H(Ge,Tt=>{l(dt)?Tt(Mt):l(u).provider?Tt(Ue,1):Tt($e,-1)})}z(()=>un(ce,"title",`Provider: ${l(u).provider??""}`)),D(Q,ce)};H(Gi,Q=>{l(u)&&Q(qi)})}var K=v(Gi,2);let ke;var rt=v(K,2);{var Ze=Q=>{var ce=cG();j("click",ce,Ui),D(Q,ce)};H(rt,Q=>{l(n).length>0&&Q(Ze)})}var zt=v(zi,2);{var ni=Q=>{var ce=fG(),Ge=m(ce),Mt=v(m(Ge),2),Ue=v(Ge,2);{var $e=pt=>{var Qe=dG();D(pt,Qe)},Tt=pt=>{var Qe=hG();ri(Qe,21,()=>l(C),wt=>wt.id,(wt,Dt)=>{var st=uG();let Rt;var si=m(st),Ut=m(si),De=v(si,2);z(()=>{Rt=Bt(st,1,"history-item svelte-10ayso4",null,Rt,{"history-active":l(Dt).id===l(p)}),un(si,"title",l(Dt).id),O(Ut,l(Dt).title||l(Dt).id)}),j("click",si,()=>Zt(l(Dt).id)),j("click",De,()=>Ii(l(Dt).id)),D(wt,st)}),D(pt,Qe)};H(Ue,pt=>{l(C).length===0?pt($e):pt(Tt,-1)})}j("click",Mt,Wi),D(Q,ce)};H(zt,Q=>{l(b)&&Q(ni)})}var mt=v(zt,2),et=m(mt);{var X=Q=>{var ce=gG();D(Q,ce)},Te=Q=>{var ce=vG(),Ge=m(ce),Mt=m(Ge);{var Ue=pt=>{var Qe=pG(),wt=v(bt(Qe)),Dt=m(wt);z(st=>O(Dt,st),[()=>t().path.split("/").pop()]),D(pt,Qe)},$e=pt=>{var Qe=ro("No script open. Ask a general she scripting question.");D(pt,Qe)};H(Mt,pt=>{t()?pt(Ue):pt($e,-1)})}var Tt=v(Ge,2);ri(Tt,17,()=>Xe,Vi,(pt,Qe)=>{var wt=xG(),Dt=m(wt);z(()=>O(Dt,l(Qe))),j("click",wt,()=>ci(l(Qe))),D(pt,wt)}),D(Q,ce)};H(et,Q=>{l(me)?l(n).length===0&&l(s)===null&&Q(Te,1):Q(X)})}var le=v(et,2);ri(le,17,()=>l(n),Vi,(Q,ce,Ge)=>{var Mt=DG(),Ue=m(Mt);{var $e=pt=>{var Qe=mG(),wt=m(Qe);z(()=>O(wt,l(ce).content)),D(pt,Qe)},Tt=pt=>{const Qe=Ot(()=>ye(l(ce).content));var wt=SG(),Dt=bt(wt);{var st=si=>{var Ut=T2();ri(Ut,21,()=>l(ce).toolEvents,Vi,(De,be)=>{var qe=As(),at=bt(qe);{var Xt=nt=>{var kt=I2(),ti=v(m(kt),2),Yt=m(ti),Ht=v(ti,2);{var Wt=jt=>{var _i=L2(),pi=m(_i);z(yi=>O(pi,yi),[()=>Object.entries(l(be).args).map(([yi,Mi])=>`${yi}=${JSON.stringify(Mi)}`).join(", ")]),D(jt,_i)},Ft=Ot(()=>l(be).args&&Object.keys(l(be).args).length>0);H(Ht,jt=>{l(Ft)&&jt(Wt)})}z(jt=>O(Yt,jt),[()=>l(be).name.replace(/_/g," ")]),D(nt,kt)},it=nt=>{var kt=P2(),ti=v(m(kt),2),Yt=m(ti);z(Ht=>O(Yt,Ht),[()=>l(be).name.replace(/_/g," ")]),D(nt,kt)};H(at,nt=>{l(be).type==="tool_call"?nt(Xt):nt(it,-1)})}D(De,qe)}),D(si,Ut)};H(Dt,si=>{var Ut;(Ut=l(ce).toolEvents)!=null&&Ut.length&&si(st)})}var Rt=v(Dt,2);ri(Rt,21,()=>l(Qe),Vi,(si,Ut,De)=>{var be=As(),qe=bt(be);{var at=it=>{var nt=M2();pc(nt,()=>Lt(l(Ut).text),!0),D(it,nt)},Xt=it=>{const nt=Ot(()=>xt(l(Ut).lang)?ui(l(Ut).text):null),kt=Ot(()=>l(nt)?l(nt).code:l(Ut).text),ti=Ot(()=>`${Ge}:${De}`),Yt=Ot(()=>ht(l(kt))),Ht=Ot(()=>l(M).has(l(ti)));var Wt=wG(),Ft=m(Wt),jt=m(Ft),_i=m(jt),pi=v(jt,2),yi=m(pi),Mi=v(yi,2);{var en=xn=>{var jn=_G();j("click",jn,()=>e.onCreateFile(l(nt).filename,l(nt).code)),D(xn,jn)},Pn=xn=>{var jn=EG(),Zs=bt(jn),no=v(Zs,2);{var va=_r=>{var Ur=bG();D(_r,Ur)},jl=_r=>{var Ur=CG();j("click",Ur,()=>Ei(l(Ut).text,!0)),D(_r,Ur)};H(no,_r=>{l(I)?_r(va):_r(jl,-1)})}j("click",Zs,()=>Ei(l(Ut).text)),D(xn,jn)},tn=Ot(()=>xt(l(Ut).lang)&&t());H(Mi,xn=>{l(nt)&&e.onCreateFile?xn(en):l(tn)&&xn(Pn,1)})}var bn=v(Ft,2);let An;var Tn=m(bn),ji=m(Tn);pc(ji,()=>ft(l(kt),l(Ut).lang??""),!0);var Xi=v(Tn,2);{var sn=xn=>{var jn=yG(),Zs=m(jn);z(()=>O(Zs,l(Ht)?"▲ collapse":"▼ expand")),j("click",jn,()=>At(l(ti))),D(xn,jn)};H(Xi,xn=>{l(Yt)&&xn(sn)})}z(()=>{O(_i,l(nt)?`new: ${l(nt).filename}`:l(Ut).lang),An=Bt(bn,1,"code-body svelte-10ayso4",null,An,{collapsed:l(Yt)&&!l(Ht)})}),j("click",yi,()=>fi(l(kt))),D(it,Wt)};H(qe,it=>{l(Ut).type==="text"?it(at):it(Xt,-1)})}D(si,be)}),D(pt,wt)};H(Ue,pt=>{l(ce).role==="user"?pt($e):pt(Tt,-1)})}z(()=>Bt(Mt,1,`message ${l(ce).role??""}`,"svelte-10ayso4")),D(Q,Mt)});var ge=v(le,2);{var Jt=Q=>{var ce=T2();ri(ce,21,()=>l(Ie),Vi,(Ge,Mt)=>{var Ue=As(),$e=bt(Ue);{var Tt=Qe=>{var wt=I2(),Dt=v(m(wt),2),st=m(Dt),Rt=v(Dt,2);{var si=De=>{var be=L2(),qe=m(be);z(at=>O(qe,at),[()=>Object.entries(l(Mt).args).map(([at,Xt])=>`${at}=${JSON.stringify(Xt)}`).join(", ")]),D(De,be)},Ut=Ot(()=>l(Mt).args&&Object.keys(l(Mt).args).length>0);H(Rt,De=>{l(Ut)&&De(si)})}z(De=>O(st,De),[()=>l(Mt).name.replace(/_/g," ")]),D(Qe,wt)},pt=Qe=>{var wt=P2(),Dt=v(m(wt),2),st=m(Dt);z(Rt=>O(st,Rt),[()=>l(Mt).name.replace(/_/g," ")]),D(Qe,wt)};H($e,Qe=>{l(Mt).type==="tool_call"?Qe(Tt):Qe(pt,-1)})}D(Ge,Ue)}),D(Q,ce)};H(ge,Q=>{l(Ie).length>0&&Q(Jt)})}var ai=v(ge,2);{var bi=Q=>{var ce=AG(),Ge=m(ce),Mt=m(Ge),Ue=m(Mt);z(()=>O(Ue,Z[l(fe)])),D(Q,ce)};H(ai,Q=>{l(a)&&l(s)===null&&l(Ie).length===0&&Q(bi)})}var Ci=v(ai,2);{var Hi=Q=>{var ce=BG(),Ge=m(ce);ri(Ge,21,()=>mi(l(s)),Vi,(Mt,Ue)=>{var $e=As(),Tt=bt($e);{var pt=wt=>{var Dt=M2();pc(Dt,()=>Lt(l(Ue).text),!0),D(wt,Dt)},Qe=wt=>{var Dt=kG(),st=m(Dt),Rt=m(st),si=m(Rt),Ut=v(st,2),De=m(Ut);pc(De,()=>ft(l(Ue).text,l(Ue).lang??""),!0),z(()=>O(si,l(Ue).lang)),D(wt,Dt)};H(Tt,wt=>{l(Ue).type==="text"?wt(pt):wt(Qe,-1)})}D(Mt,$e)}),D(Q,ce)};H(Ci,Q=>{l(s)!==null&&Q(Hi)})}hs(mt,Q=>Ne=Q,()=>Ne);var ie=v(mt,2);{var tt=Q=>{var ce=FG(),Ge=m(ce);z(()=>O(Ge,l(d))),D(Q,ce)};H(ie,Q=>{l(d)&&Q(tt)})}var _e=v(ie,2),Ve=m(_e),_t=m(Ve),It=v(Ve,2),Ai=m(It),ei=v(It,2),pe=m(ei),He=v(pe);{var Je=Q=>{const ce=Ot(()=>Math.min(100,Math.round(l(Pt)/4/l(P).contextLength*100)));var Ge=LG(),Mt=m(Ge),Ue=v(m(Mt));z(($e,Tt)=>{un(Ge,"title",`~${l(ce)??""}% of ${$e??""} token context window used`),un(Ue,"stroke",l(ce)>80?"var(--fg-err)":l(ce)>50?"var(--fg-warn)":"var(--fg-ok)"),un(Ue,"stroke-dasharray",`${Tt??""} 31.4`)},[()=>l(P).contextLength.toLocaleString(),()=>(l(ce)/100*31.4).toFixed(1)]),D(Q,Ge)};H(He,Q=>{var ce;(ce=l(P))!=null&&ce.contextLength&&Q(Je)})}var Fe=v(_e,2),Et=m(Fe);{var gt=Q=>{const ce=Ot(()=>Gt(t().path.split("/").pop()??t().path));var Ge=IG();let Mt;var Ue=m(Ge),$e=m(Ue),Tt=v(Ue,2),pt=m(Tt),Qe=v(Tt,2),wt=m(Qe);z((Dt,st)=>{Mt=Bt(Ge,1,"file-chip svelte-10ayso4",null,Mt,{inactive:!l(se)}),Bt(Ue,1,`badge badge-${Dt??""}`,"svelte-10ayso4"),O($e,st),O(pt,t().path),un(Qe,"title",l(se)?"Remove from context":"Re-add to context"),O(wt,l(se)?"×":"+")},[()=>l(ce).toLowerCase(),()=>gi(l(ce))]),j("click",Qe,()=>x(se,!l(se))),D(Q,Ge)};H(Et,Q=>{t()&&Q(gt)})}var Kt=v(Et,2);ri(Kt,17,i,Vi,(Q,ce,Ge)=>{const Mt=Ot(()=>Gt(l(ce).name));var Ue=PG(),$e=m(Ue),Tt=m($e),pt=v($e,2),Qe=m(pt),wt=v(pt,2);z((Dt,st)=>{Bt($e,1,`badge badge-${Dt??""}`,"svelte-10ayso4"),O(Tt,st),O(Qe,l(ce).name)},[()=>l(Mt).toLowerCase(),()=>gi(l(Mt))]),j("click",wt,()=>Qt(Ge)),D(Q,Ue)});var U=v(Kt,2),T=v(U,2);hs(T,Q=>Se=Q,()=>Se);var W=v(Fe,2);let Y;var ne=m(W);let ae;var oe=m(ne);hs(oe,Q=>xe=Q,()=>xe);var we=v(ne,2);{var je=Q=>{var ce=TG();j("click",ce,pn),D(Q,ce)},Ce=Q=>{var ce=MG();z(Ge=>ce.disabled=Ge,[()=>!l(r).trim()||!l(dt)]),j("click",ce,Pi),D(Q,ce)};H(we,Q=>{l(a)?Q(je):Q(Ce,-1)})}var Le=v(W,2);{var Me=Q=>{var ce=WG(),Ge=m(ce),Mt=m(Ge),Ue=v(Ge,2);{var $e=wt=>{var Dt=NG();ri(Dt,21,()=>l(y),Vi,(st,Rt)=>{var si=RG(),Ut=m(si),De={};z(()=>{O(Ut,l(Rt)),De!==(De=l(Rt))&&(si.value=(si.__value=l(Rt))??"")}),D(st,si)}),z(()=>Dt.disabled=l(a)),Ps(Dt,()=>l(w),st=>x(w,st)),D(wt,Dt)},Tt=wt=>{var Dt=OG(),st=m(Dt);z(()=>O(st,l(w)||l(u).model)),D(wt,Dt)};H(Ue,wt=>{l(y).length>0?wt($e):wt(Tt,-1)})}var pt=v(Ue,2);{var Qe=wt=>{var Dt=HG();j("click",Dt,Ee),D(wt,Dt)};H(pt,wt=>{l(u).provider==="ollama"&&wt(Qe)})}z(()=>O(Mt,l(u).provider)),D(Q,ce)};H(Le,Q=>{var ce;(ce=l(u))!=null&&ce.provider&&(l(me)||l(y).length>0)&&Q(Me)})}var ot=v(ii,2);{var li=Q=>{var ce=QG(),Ge=m(ce),Mt=m(Ge),Ue=m(Mt),$e=m(Ue),Tt=v(Ue,2),pt=v(Mt,2),Qe=m(pt);{var wt=Rt=>{var si=zG();D(Rt,si)},Dt=Rt=>{var si=VG(),Ut=m(si);z(()=>O(Ut,l($))),D(Rt,si)},st=Rt=>{var si=YG(),Ut=m(si);{var De=Ft=>{var jt=jG(),_i=v(bt(jt)),pi=m(_i);z(()=>O(pi,l(P).version)),D(Ft,jt)};H(Ut,Ft=>{l(P).version&&Ft(De)})}var be=v(Ut,2);{var qe=Ft=>{var jt=$G(),_i=v(bt(jt)),pi=m(_i);z(()=>O(pi,l(P).details.family)),D(Ft,jt)};H(be,Ft=>{var jt;(jt=l(P).details)!=null&&jt.family&&Ft(qe)})}var at=v(be,2);{var Xt=Ft=>{var jt=UG(),_i=v(bt(jt)),pi=m(_i);z(()=>O(pi,l(P).details.parameter_size)),D(Ft,jt)};H(at,Ft=>{var jt;(jt=l(P).details)!=null&&jt.parameter_size&&Ft(Xt)})}var it=v(at,2);{var nt=Ft=>{var jt=qG(),_i=v(bt(jt)),pi=m(_i);z(()=>O(pi,l(P).details.quantization_level)),D(Ft,jt)};H(it,Ft=>{var jt;(jt=l(P).details)!=null&&jt.quantization_level&&Ft(nt)})}var kt=v(it,2);{var ti=Ft=>{var jt=GG(),_i=v(bt(jt)),pi=m(_i);z(()=>O(pi,l(P).details.format)),D(Ft,jt)};H(kt,Ft=>{var jt;(jt=l(P).details)!=null&&jt.format&&Ft(ti)})}var Yt=v(kt,2);{var Ht=Ft=>{var jt=ZG(),_i=v(bt(jt),2);ri(_i,21,()=>l(P).running,Vi,(pi,yi)=>{var Mi=KG(),en=m(Mi);z(Pn=>O(en,`${l(yi).name??""} · ${Pn??""} VRAM`),[()=>Pe(l(yi).size_vram)]),D(pi,Mi)}),D(Ft,jt)},Wt=Ft=>{var jt=XG();D(Ft,jt)};H(Yt,Ft=>{l(P).running&&l(P).running.length>0?Ft(Ht):l(P).running!==null&&Ft(Wt,1)})}D(Rt,si)};H(Qe,Rt=>{l(V)?Rt(wt):l($)?Rt(Dt,1):l(P)&&Rt(st,2)})}z(()=>{var Rt;return O($e,`Ollama · ${(l(w)||((Rt=l(u))==null?void 0:Rt.model))??""}`)}),j("click",ce,()=>x(R,!1)),j("click",Ge,Rt=>Rt.stopPropagation()),j("click",Tt,()=>x(R,!1)),D(Q,ce)};H(ot,Q=>{l(R)&&Q(li)})}z(Q=>{ke=Bt(K,1,"icon-hdr-btn svelte-10ayso4",null,ke,{active:l(b)}),O(pe,Q),Y=Bt(W,1,"input-row svelte-10ayso4",null,Y,{"drag-over":l(ue)}),ae=Bt(ne,1,"textarea-wrap svelte-10ayso4",null,ae,{loading:l(a)}),un(oe,"placeholder",l(dt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":l(me)?"Select a model above to start chatting":"AI not configured"),oe.disabled=l(a)||!l(dt)},[()=>Pe(l(Pt))]),j("click",K,()=>x(b,!l(b))),bs(_t,()=>l(de),Q=>x(de,Q)),bs(Ai,()=>l(ve),Q=>x(ve,Q)),j("click",U,Ni),j("change",T,vi),_s("dragover",W,cn),_s("dragleave",W,rn),_s("drop",W,gn),j("keydown",oe,Dn),Nt(oe,()=>l(r),Q=>x(r,Q)),D(o,Oi),Ms()}qs(["click","change","keydown"]);const tK={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"]},iK={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 Aw=[],kw=[],Bw=[];const Gm=new Map;let QF=[];const Fw=new Map,Lw=new Map;async function R2(){try{Aw=(await BF()).map(e=>e.topic)}catch{}}async function N2(){try{const[o,e]=await Promise.all([DF(),AF()]);kw=o,Bw=e}catch{}}async function O2(){try{const o=await gS();QF=o.map(e=>e.nodeId),Fw.clear(),Lw.clear();for(const e of o)e.name&&(Fw.set(e.nodeId,e.name),Lw.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!Gm.has(e.nodeId))try{Gm.set(e.nodeId,await bv(e.nodeId))}catch{}}))}catch{}}function nK(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=sK(u),g=oK(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Ph(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Ph(u,0),C=H2(u,1)??Ph(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Ph(u,0),C=H2(u,1)??Ph(u,1),b=Ph(u,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:y}}}return null}function sK(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 oK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Ph(o,e){var s;const i=(s=JF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function H2(o,e){var s;const i=(s=JF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function JF(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 Ku=vd.CompletionItemKind;function rK(o,e){return(e?Aw.filter(i=>i.startsWith(e)):Aw).map(i=>({label:i,kind:Ku.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function aK(o,e,t){const i=t?[...kw,...Bw]:kw;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ku.Value,insertText:s,range:o,detail:Bw.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function lK(o,e){return QF.map(t=>{const i=Fw.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ku.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function e3(o){return Lw.get(o)??o}function cK(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 dK(o,e){const t=Gm.get(e3(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:Ku.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function uK(o,e,t){const i=Gm.get(e3(e));if(!i)return[];const n=cK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ku.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function hK(o,e,t){return(t?iK[e]??[]:tK[e]??[]).map(n=>({label:n,kind:t?Ku.Function:Ku.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let W2=!1;function fK(){W2||(W2=!0,R2(),N2(),O2(),setInterval(R2,15e3),setInterval(N2,1e4),setInterval(O2,6e4),vd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=nK(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:rK(a,i.prefix)};case"db":return{suggestions:aK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:lK(a,i.prefix)};case"matter-endpointId":return{suggestions:dK(a,i.nodeId)};case"matter-cluster":return{suggestions:uK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:hK(a,i.cluster,i.isSend)};default:return null}}}))}var gK=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),pK=F('<button class="svelte-1pyfjii">Show git history</button>'),xK=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),vK=F('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),mK=F('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),z2=F('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),_K=F('<ul class="tree-children svelte-1pyfjii"></ul>'),bK=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>'),CK=F('<span class="dirty-dot svelte-1pyfjii">●</span>'),EK=F('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),yK=F('<span class="err-dot svelte-1pyfjii">●</span>'),wK=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>'),SK=F('<span class="dis-spacer svelte-1pyfjii"></span>'),DK=F('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),AK=F('<div class="err svelte-1pyfjii"> </div>'),kK=F('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),BK=F('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),FK=F('<div class="search-status svelte-1pyfjii">Searching…</div>'),LK=F('<div class="search-status search-err svelte-1pyfjii"> </div>'),IK=F('<div class="search-status svelte-1pyfjii">No results.</div>'),PK=F('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),TK=F('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),MK=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>'),JC=F("<!> <!>",1),RK=F('<div class="search-status svelte-1pyfjii">No files found.</div>'),NK=F('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),OK=F('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),HK=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>'),WK=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>'),zK=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>'),VK=F('<div class="history-empty svelte-1pyfjii">Loading…</div>'),jK=F('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),$K=F('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),UK=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>'),GK=F('<span class="tab-dirty svelte-1pyfjii">●</span>'),KK=F('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),ZK=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>'),XK=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>'),YK=F('<div class="changes-err svelte-1pyfjii"> </div>'),QK=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),JK=F('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),eZ=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),tZ=F('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),iZ=F('<span class="git-behind svelte-1pyfjii"> </span>'),nZ=F('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),sZ=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 & Commit</button></div>',1),oZ=F('<button class="danger svelte-1pyfjii">Delete</button>'),rZ=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 & 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>`),aZ=F('<button class="svelte-1pyfjii">Always accept in this session</button>'),lZ=F('<button class="svelte-1pyfjii">Disable auto-accept</button>'),cZ=F('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),dZ=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>'),uZ=F('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),hZ=F('<div class="diff-container svelte-1pyfjii"></div>'),fZ=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>'),gZ=F('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),pZ=F('<span class="log-file svelte-1pyfjii"> </span>'),xZ=F("<option> </option>"),vZ=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),mZ=F('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),_Z=F('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),bZ=F('<div class="log-body svelte-1pyfjii"><!> <!></div>'),CZ=F('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),EZ=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)">⌕</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function yZ(o,e){Ts(e,!0);let t=B(Di([])),i=B(Di({})),n=B(null),s=B(null),r=B(null),a=B(null),d=B(Di([])),u=B(null),f=B(!1),g=B(""),p=B(!1),C=B(!0),b=B(null),y=B(!1),w=B(!1),A=B(null),I=B(Di([])),M=B(!1),R=B(30),P=B(void 0),V=null,$=null,J=null,re=B(!1),fe=B(""),Z=B(!1),de=B(void 0),ve=B(Di(new Set));const se=new Set;let ue=B(Di(new Set)),Se=B(Di([])),Ie=B(!1),xe=B("text"),Ne=B(""),ze=B(!1),me=B(!1),dt=B(!1),Pt=B(""),Ye=B(Di([])),yt=B(Di([])),ye=B(!1),Oe=B(!1),ht=B(""),At=B(void 0),ft=B(Di([])),Lt=B(!1),mi=B(!1),fi=null,Ei=B(void 0),xt=B(!1),ui=B(!1),Pe=null;function Ee(){l(Ei)&&(x(xt,l(Ei).scrollLeft>0),x(ui,l(Ei).scrollLeft+l(Ei).clientWidth<l(Ei).scrollWidth-1))}function Gt(G){var he;(he=l(Ei))==null||he.scrollBy({left:G*200,behavior:"smooth"})}function gi(G="text"){x(Ie,!0),x(xe,G,!0),gl().then(()=>{var he;return(he=l(At))==null?void 0:he.focus()})}function Qt(){x(Ie,!1),x(Ne,""),x(Ye,[],!0),x(yt,[],!0),x(ye,!1),x(ht,""),x(dt,!1),x(Lt,!1)}function Ni(){fi&&clearTimeout(fi),fi=setTimeout(Zi,300)}async function Zi(){const G=l(Ne).trim();if(!G){x(Ye,[],!0),x(yt,[],!0),x(ye,!1),x(ht,"");return}x(Oe,!0),x(ht,"");try{if(l(xe)==="files"){const he=await u2(G,{mode:"files"});x(yt,he.results,!0),x(ye,he.truncated,!0)}else{const he=await u2(G,{regex:l(me),caseSensitive:l(ze)});x(Ye,he.results,!0),x(ye,he.truncated,!0)}}catch(he){x(ht,he.message||"Search failed",!0)}finally{x(Oe,!1)}}async function vi(G,he){await pt(G),ii&&(ii.revealLineInCenter(he.line),ii.setPosition({lineNumber:he.line,column:he.col}),ii.focus())}function gn(G){return G.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function cn(){if(!l(Ne).trim()||!l(Ye).length)return;x(mi,!0);const G=[],he="g"+(l(ze)?"":"i");for(const vt of l(Ye))try{const lt=await jx(vt.path),ct=l(me)?new RegExp(l(Ne),he):new RegExp(gn(l(Ne)),he),di=lt.content.replace(ct,l(Pt));di!==lt.content&&G.push({path:vt.path,checked:!0,original:lt.content,replaced:di,changes:vt.matches.length})}catch{}x(ft,G,!0),x(mi,!1),x(Lt,!0)}async function rn(){for(const G of l(ft).filter(he=>he.checked))try{await tc(G.path,G.replaced);const he=l(d).find(vt=>vt.path===G.path);he!=null&&he.model&&(he.model.setValue(G.replaced),he.savedContent=G.replaced,he.dirty=!1)}catch{}x(Lt,!1),await Zi()}function mn(G){G.ctrlKey&&G.shiftKey&&G.key==="F"&&(G.preventDefault(),l(Ie)&&l(xe)==="text"?Qt():gi("text"))}Qn(()=>{l(Ei)&&(Pe==null||Pe.disconnect(),Pe=new ResizeObserver(Ee),Pe.observe(l(Ei)),Ee())});let Ct=B("all"),Zt=B(""),Ii=B(!1),Wi=B(!0);const Pi=["all","debug","info","warn","error"],pn={debug:0,info:1,warn:2,error:3};function Dn(G){if(l(Ct)!=="all"&&pn[G.level]<pn[l(Ct)])return!1;if(!l(Zt))return!0;if(l(Ii))try{return new RegExp(l(Zt),"i").test(G.msg)}catch{}return G.msg.toLowerCase().includes(l(Zt).toLowerCase())}let Ui=B(null);function Xe(G){const he=G.currentTarget.getBoundingClientRect();x(Ui,{x:he.left,y:he.top},!0)}function ci(){x(Ui,null)}let Oi,ii,zi,Gi=!1,qi=null,K=null,ke=!1,rt=!1,Ze=B(!1),zt=B(null),ni=B(!1),mt=B(!1),et=B(void 0),X=null,Te=null,le=null,ge=B(Di(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Jt=B(Di(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),ai=B(Di(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),bi=B(Di(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Ci=!1,Hi=0,ie=0,tt=!1,_e=0,Ve=0,_t=!1,It=0,Ai=0,ei=!1,pe=0,He=0;const Je=Ot(()=>{var G;return l(u)&&l(we)?{path:l(u),content:((G=l(we).model)==null?void 0:G.getValue())??l(we).savedContent}:null}),Fe=Ot(()=>{var G;return new Set(((G=l(b))==null?void 0:G.changes.map(he=>he.file))??[])}),Et=Ot(()=>{const G=new Set;for(const he of l(Fe)){const vt=he.split("/");for(let lt=1;lt<vt.length;lt++)G.add(vt.slice(0,lt).join("/"))}return G});let gt=B(!1),Kt=B(!1),U=B(""),T=B(!1),W=B(""),Y=B(Di(new Set));async function ne(){var G;if(!(!l(U).trim()||l(Y).size===0)){x(T,!0),x(W,"");try{const he=l(b).changes.filter(vt=>l(Y).has(vt.file)).map(vt=>vt.file);if(he.length===l(b).changes.length?await g2(l(U).trim()):await f2(he,l(U).trim()),l(w))try{await Ux()}catch{}x(U,""),await Dt(),(G=l(b))!=null&&G.changes.length?x(Y,new Set(l(b).changes.map(vt=>vt.file)),!0):x(gt,!1)}catch(he){x(W,he.message,!0)}finally{x(T,!1)}}}let ae,oe,we=Ot(()=>l(d).find(G=>G.path===l(u))??null);const je="she-tabs",Ce="she-active-tab",Le="she-log-open",Me="she-chat-open";let ot=Tu(e,"active",3,!0);Qn(()=>{rt&&(localStorage.setItem(je,JSON.stringify(l(d).map(G=>G.path))),l(u)?localStorage.setItem(Ce,l(u)):localStorage.removeItem(Ce))}),Qn(()=>{rt&&localStorage.setItem(Me,String(l(Ze)))}),Qn(()=>{ot()&&ii&&ii.layout()});const li=`
|
|
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 Q(G){l(d).some(he=>he.dirty)&&G.preventDefault()}js(async()=>{var di,Ti;window.addEventListener("beforeunload",Q),x(C,localStorage.getItem(Le)!=="false"),x(Ze,localStorage.getItem(Me)==="true"),vd.typescript.javascriptDefaults.addExtraLib(li,"she-api.d.ts"),vd.typescript.javascriptDefaults.setCompilerOptions({target:vd.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),vd.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),fK(),zi=Go.createModel("","javascript"),ii=Go.create(Oi,{model:zi,theme:Jh(),automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),ii.addCommand(_1.CtrlCmd|_1.Shift|jk.KeyF,()=>{l(Ie)&&l(xe)==="text"?Qt():gi("text")}),(di=ii.getDomNode())==null||di.addEventListener("keydown",ki=>{(ki.ctrlKey||ki.metaKey)&&ki.key==="s"&&(ki.preventDefault(),Rt())}),ii.onDidChangeModelContent(()=>{if(Gi)return;const ki=l(d).find(dn=>dn.path===l(u));ki&&(ki.dirty=ii.getValue()!==ki.savedContent),xn&&clearTimeout(xn),xn=setTimeout(jn,600)}),qi=vS(ki=>{const dn=ki.msg.match(/^([^:\n]+\.js):\s/);if(!dn)return;const $i=dn[1];if(ki.level==="error")se.add($i),l(ve).has($i)||x(ve,new Set([...l(ve),$i]),!0);else if(se.has($i)){se.delete($i);const Cn=new Set(l(ve));Cn.delete($i),x(ve,Cn,!0)}const an=l(d).find(Cn=>Cn.path===$i);an&&(an.logEntries=[...an.logEntries.slice(-199),ki],an.path===l(u)&&l(C)&&l(de)&&l(Wi)&&gl().then(()=>{l(de)&&(l(de).scrollTop=l(de).scrollHeight)}))}),K=tr("script:running",ki=>{const dn=ki.path;if(ki.running)x(ue,new Set([...l(ue),dn]),!0);else{const $i=new Set(l(ue));$i.delete(dn),x(ue,$i,!0)}}),await ce(),Dt();try{const ki=await Ml();typeof ki.gitAutoCommit=="boolean"&&x(y,ki.gitAutoCommit,!0),typeof ki.gitAutoPush=="boolean"&&x(w,ki.gitAutoPush,!0)}catch{}try{const ki=await getDaemonStatus();x(ue,new Set(ki.runningScripts??[]),!0)}catch{}const G=JSON.parse(localStorage.getItem(je)??"[]"),he=localStorage.getItem(Ce);for(const ki of G)await Tt(ki,!1);const vt=he&&l(d).some(ki=>ki.path===he)?he:((Ti=l(d)[0])==null?void 0:Ti.path)??null;vt&&await Qe(vt),rt=!0;const lt=()=>Go.setTheme(Jh()),ct=window.matchMedia("(prefers-color-scheme: dark)");return window.addEventListener("she:theme-changed",lt),ct.addEventListener("change",lt),()=>{window.removeEventListener("she:theme-changed",lt),ct.removeEventListener("change",lt)}}),jp(()=>{var G;window.removeEventListener("beforeunload",Q),Pe==null||Pe.disconnect(),xn&&clearTimeout(xn),qi==null||qi(),K==null||K();for(const he of l(d))(G=he.model)==null||G.dispose();zi==null||zi.dispose(),ii==null||ii.dispose()});async function ce(){try{if(x(t,await K$(),!0),!ke){let he=function(vt){for(const lt of vt)lt.type==="dir"&&(G[lt.path]=!0,lt.children&&he(lt.children))};ke=!0;const G={};he(l(t)),x(i,G,!0)}x(g,"")}catch(G){x(g,G.message,!0)}}function Ge(G){l(i)[G]=!l(i)[G]}function Mt(G){switch(G){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return G}}async function Ue(G,he){try{he?await tc(`${G}/.shelib`,""):await $x(`${G}/.shelib`),await ce(),await st("all",he?`lib ${G}`:`unlib ${G}`)}catch(vt){x(g,vt.message,!0)}}async function $e(G,he){const vt=G.split("/").pop(),lt=G.includes("/")?G.slice(0,G.lastIndexOf("/")):"",ct=lt?`${lt}/.shedisable-${vt}`:`.shedisable-${vt}`;try{he?await tc(ct,""):await $x(ct),await ce(),await st("all",he?`disable ${G}`:`enable ${G}`)}catch(di){x(g,di.message,!0)}}async function Tt(G,he=!0){var vt;if(l(d).some(lt=>lt.path===G)){he&&await Qe(G);return}try{const{content:lt}=await jx(G),ct=M7.parse(`file:///she-scripts/${encodeURIComponent(G)}`);(vt=Go.getModel(ct))==null||vt.dispose();const di=Go.createModel(lt,sn(G),ct);let Ti=[];try{Ti=(await pS()).filter(dn=>{const $i=dn.msg.match(/^([^:\n]+\.js):\s/);return $i&&$i[1]===G})}catch{}x(d,[...l(d),{path:G,dirty:!1,savedContent:lt,model:di,logEntries:Ti}],!0),he&&await Qe(G)}catch(lt){x(g,lt.message,!0)}}async function pt(G){await Tt(G,!0)}async function Qe(G){var vt,lt;const he=l(d).find(ct=>ct.path===G);he!=null&&he.model&&(nt(),x(zt,null),x(u,G,!0),Gi=!0,ii.setModel(he.model),Gi=!1,jn(),await gl(),(lt=(vt=l(Ei))==null?void 0:vt.querySelector(`[data-tab-path="${CSS.escape(G)}"]`))==null||lt.scrollIntoView({inline:"nearest",block:"nearest"}),Ee())}async function wt(G){var lt;const he=l(d).find(ct=>ct.path===G);if(!he||he.dirty&&!await ae.show(`Discard unsaved changes to ${G}?`,{confirm:"Discard"}))return;const vt=l(d).findIndex(ct=>ct.path===G);if((lt=he.model)==null||lt.dispose(),x(d,l(d).filter(ct=>ct.path!==G),!0),l(u)===G){const ct=l(d)[vt]??l(d)[vt-1]??null;ct?await Qe(ct.path):(x(u,null),ii.setModel(zi))}}async function Dt(){try{x(b,await X$(),!0)}catch{x(b,null)}}async function st(G,he){if(l(b))try{if(G==="all"?await g2(he):await f2(G,he),l(w))try{await Ux()}catch{}await Dt()}catch{}}async function Rt(){if(!l(u))return;const G=l(d).find(he=>he.path===l(u));if(G){x(f,!0);try{const he=ii.getValue();await tc(l(u),he),G.savedContent=he,G.dirty=!1,x(g,""),l(y)?await st([l(u)],`update ${l(u)}`):Dt()}catch(he){x(g,he.message,!0)}finally{x(f,!1)}}}async function si(){if(!l(u)||(await Rt(),l(g)))return;const G=await oe.show("Commit message:",{initial:`update ${l(u)}`,placeholder:"Update script",confirm:"Commit"});if(G)try{if(await J$(l(u),G),l(w))try{await Ux()}catch{}Dt()}catch(he){x(g,"Git: "+he.message)}}async function Ut(){x(p,!1);try{await Ux(),await Dt(),x(g,"")}catch(G){x(g,"Git push: "+G.message)}}function De(G){const he=Date.now()-new Date(G).getTime(),vt=Math.floor(he/1e3);if(vt<60)return"just now";const lt=Math.floor(vt/60);if(lt<60)return`${lt}m ago`;const ct=Math.floor(lt/60);if(ct<24)return`${ct}h ago`;const di=Math.floor(ct/24);if(di<30)return`${di}d ago`;const Ti=Math.floor(di/30);return Ti<12?`${Ti}mo ago`:`${Math.floor(Ti/12)}y ago`}async function be(G){Ht(),x(A,G,!0),x(I,[],!0),x(R,30),await qe()}async function qe(){if(l(A)){x(M,!0);try{x(I,await eU(l(A).path,l(R)),!0)}catch{}finally{x(M,!1)}}}async function at(){x(R,l(R)+30),await qe()}function Xt(){x(A,null),x(I,[],!0),nt()}async function it(G){if(!l(A))return;nt(),await pt(l(A).path);let he;try{he=await tU(G.hash,l(A).path)}catch{return}if(x(fe,G.hash,!0),x(Z,he.binary,!0),x(re,!0),he.binary||he.content===null)return;let vt="";const lt=l(d).find(di=>di.path===l(A).path);if(lt!=null&<.model)vt=lt.model.getValue();else try{vt=(await jx(l(A).path)).content}catch{}if(await gl(),!l(P))return;const ct=sn(l(A).path);$=Go.createModel(he.content,ct),J=Go.createModel(vt,ct),V=Go.createDiffEditor(l(P),{theme:Jh(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),V.setModel({original:$,modified:J})}function nt(){x(re,!1),x(Z,!1),V==null||V.dispose(),V=null,$==null||$.dispose(),$=null,J==null||J.dispose(),J=null}async function kt(){const G=l(n)?`${l(n)}/`:"",he=await oe.show("New script name:",{placeholder:G?`${G}myscript.js`:"myscript.js",initial:G,confirm:"Create"});if(!he)return;const vt=he.endsWith(".js")?`/* global she */
|
|
217
|
-
'use strict';
|
|
218
|
-
|
|
219
|
-
`:"";await tc(he,vt),await ce(),await Tt(he,!0)}async function ti(){const G=l(n)?`${l(n)}/`:"",he=await oe.show("New folder name:",{placeholder:G?`${G}subfolder`:"myfolder",initial:G,confirm:"Create"});he&&(await Z$(he),l(i)[he]=!0,await ce())}function Yt(G,he){G.preventDefault();const vt=180,lt=200,ct=Math.min(G.clientX,window.innerWidth-vt),di=Math.min(G.clientY,window.innerHeight-lt);x(s,{x:ct,y:di,entry:he},!0)}function Ht(){x(s,null)}async function Wt(G){Ht(),x(n,G,!0),l(i)[G]=!0,await kt()}async function Ft(G){Ht(),x(n,G,!0),await ti()}async function jt(G){Ht();const he=G.path.includes("/")?G.path.slice(0,G.path.lastIndexOf("/")+1):"",vt=await oe.show(G.type==="dir"?"Rename folder:":"Rename script:",{initial:G.name,placeholder:G.name,confirm:"Rename"});if(!vt||vt===G.name)return;const lt=he+vt;try{await h2(G.path,lt);const ct=l(d).find(di=>di.path===G.path);ct&&(ct.path=lt,l(u)===G.path&&x(u,lt)),await ce(),await st("all",`rename ${G.path} → ${lt}`)}catch(ct){x(g,ct.message,!0)}}function _i(G){if(!G.children)return 0;let he=0;for(const vt of G.children)he++,vt.type==="dir"&&(he+=_i(vt));return he}async function pi(G){Ht();let he=`Delete ${G.type==="dir"?"folder":"file"} "${G.path}"?`;if(G.type==="dir"){const vt=_i(G);vt>0&&(he+=` This will also delete ${vt} item${vt===1?"":"s"} inside.`)}if(await ae.show(he,{confirm:"Delete",danger:!0})){if(G.type==="dir")for(const vt of[...l(d)])vt.path.startsWith(G.path+"/")&&await wt(vt.path);else await wt(G.path);await $x(G.path),await ce(),await st("all",`delete ${G.path}`)}}async function yi(G){Ht();const{content:he}=await jx(G.path);l(Se).some(vt=>vt.name===G.path)||x(Se,[...l(Se),{name:G.path,content:he}],!0),x(Ze,!0)}function Mi(G,he){var vt;x(r,he,!0),(vt=G.dataTransfer)==null||vt.setData("text/plain",he)}function en(G,he){if(G.preventDefault(),l(r)&&(l(r)===he||he.startsWith(l(r)+"/"))){G.dataTransfer&&(G.dataTransfer.dropEffect="none"),x(a,null);return}G.dataTransfer&&(G.dataTransfer.dropEffect="move"),x(a,he,!0)}function Pn(){x(a,null)}async function tn(G,he){var Ti,ki,dn;G.preventDefault(),x(a,null);const vt=Array.from(((Ti=G.dataTransfer)==null?void 0:Ti.items)??[]).filter($i=>$i.kind==="file");if(vt.length>0&&!l(r)){for(const $i of vt){const an=(ki=$i.webkitGetAsEntry)==null?void 0:ki.call($i);an&&await bn(an,he,!0)}await ce();return}const lt=l(r)??((dn=G.dataTransfer)==null?void 0:dn.getData("text/plain"));if(x(r,null),!lt||lt===he||he.startsWith(lt+"/"))return;const ct=lt.split("/").pop(),di=he?`${he}/${ct}`:ct;if(di!==lt)try{await h2(lt,di);for(const $i of l(d))if($i.path===lt)l(u)===lt&&x(u,di,!0),$i.path=di;else if($i.path.startsWith(lt+"/")){const an=di+$i.path.slice(lt.length);l(u)===$i.path&&x(u,an),$i.path=an}await ce(),await st("all",`rename ${lt} → ${di}`)}catch($i){x(g,$i.message,!0)}}async function bn(G,he,vt){if(G.isFile){const ct=await(await new Promise((Ti,ki)=>G.file(Ti,ki))).text(),di=he?`${he}/${G.name}`:G.name;await tc(di,ct),vt&&G.name.endsWith(".js")&&await $e(di,!0)}else if(G.isDirectory){const lt=G.createReader();let ct=[],di;do di=await new Promise((Ti,ki)=>lt.readEntries(Ti,ki)),ct=[...ct,...di];while(di.length>0);for(const Ti of ct)await bn(Ti,he?`${he}/${G.name}`:G.name,!1);if(vt){const Ti=he?`${he}/${G.name}`:G.name;await $e(Ti,!0)}}}async function An(){if(!l(u)||!await ae.show(`Delete ${l(u)}?`,{confirm:"Delete",danger:!0}))return;const G=l(u);await wt(G),await $x(G),await ce(),await st("all",`delete ${G}`)}function Tn(){l(we)&&(l(we).logEntries=[])}function ji(){x(C,!l(C)),localStorage.setItem(Le,String(l(C)))}function Xi(G){return new Date(G).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function sn(G){var lt;const he=((lt=G.split(".").pop())==null?void 0:lt.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"}[he]??"plaintext"}let xn=null;async function jn(){const G=l(d).find(vt=>vt.path===l(u));if(!(G!=null&&G.model))return;const he=G.model;try{const di=(await(await(await vd.typescript.getJavaScriptWorker())(he.uri)).getSyntacticDiagnostics(he.uri.toString())).map(Ti=>{const ki=he.getPositionAt(Ti.start??0),dn=he.getPositionAt((Ti.start??0)+(Ti.length??0));return{severity:R7.Error,startLineNumber:ki.lineNumber,startColumn:ki.column,endLineNumber:dn.lineNumber,endColumn:dn.column,message:typeof Ti.messageText=="string"?Ti.messageText:JSON.stringify(Ti.messageText),source:"she-syntax"}});if(Go.setModelMarkers(he,"she-syntax",di),l(u)){if(di.length>0)se.add(l(u)),l(ve).has(l(u))||x(ve,new Set([...l(ve),l(u)]),!0);else if(se.has(l(u))){se.delete(l(u));const Ti=new Set(l(ve));Ti.delete(l(u)),x(ve,Ti,!0)}}}catch{}}function Zs(G){Ci=!0,Hi=G.clientX,ie=l(ge),G.preventDefault()}function no(G){tt=!0,_e=G.clientY,Ve=l(Jt),G.preventDefault()}function va(G){_t=!0,It=G.clientX,Ai=l(ai),G.preventDefault()}function jl(G){ei=!0,pe=G.clientY,He=l(bi),G.preventDefault()}function _r(G){Ci&&x(ge,Math.max(140,Math.min(500,ie+G.clientX-Hi)),!0),tt&&x(Jt,Math.max(60,Math.min(500,Ve-(G.clientY-_e))),!0),_t&&x(ai,Math.max(200,Math.min(700,Ai-(G.clientX-It))),!0),ei&&x(bi,Math.max(80,Math.min(600,He-(G.clientY-pe))),!0)}function Ur(){Ci&&(Ci=!1,localStorage.setItem("she-scripts-sidebar-width",String(l(ge)))),tt&&(tt=!1,localStorage.setItem("she-scripts-log-height",String(l(Jt)))),_t&&(_t=!1,localStorage.setItem("she-scripts-chat-width",String(l(ai)))),ei&&(ei=!1,localStorage.setItem("she-scripts-history-height",String(l(bi))))}function $l(G){(G.ctrlKey||G.metaKey)&&G.key==="s"&&(G.preventDefault(),Rt()),G.key==="Escape"&&(x(p,!1),x(s,null),x(Kt,!1))}async function C0(G,he){const vt=await oe.show("Save new script as:",{placeholder:"myscript.js",initial:G,confirm:"Create"});if(vt)try{await tc(vt,he),await ce(),await Tt(vt,!0)}catch(lt){x(g,lt.message,!0)}}async function Wo(G){var vt,lt;if(l(ni)&&l(u)){x(zt,G,!0),await ed();return}if(x(zt,G,!0),await gl(),!l(et))return;Te==null||Te.dispose(),le==null||le.dispose(),X==null||X.dispose();const he=((lt=(vt=l(we))==null?void 0:vt.model)==null?void 0:lt.getValue())??"";Te=Go.createModel(he,"javascript"),le=Go.createModel(G,"javascript"),X=Go.createDiffEditor(l(et),{theme:Jh(),readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),X.setModel({original:Te,modified:le})}Qn(()=>{l(u),x(ni,!1),x(mt,!1)});async function ed(){if(l(zt)===null||!l(u))return;const G=l(zt);x(zt,null);const he=l(d).find(vt=>vt.path===l(u));he!=null&&he.model&&(Gi=!0,he.model.setValue(G),Gi=!1,he.dirty=!1,he.savedContent=G);try{await tc(l(u),G),x(g,""),l(y)?await st([l(u)],`update ${l(u)}`):Dt()}catch(vt){x(g,vt.message,!0)}zo()}function ah(){x(zt,null),zo()}function zo(){X==null||X.dispose(),X=null,Te==null||Te.dispose(),Te=null,le==null||le.dispose(),le=null}var td=EZ();_s("keydown",Rd,$l),_s("mousemove",Rd,_r),_s("mouseup",Rd,Ur);var Ss=bt(td);hs(Qa(Ss,{}),G=>ae=G,()=>ae);var Ja=v(Ss,2);hs(gq(Ja,{}),G=>oe=G,()=>oe);var id=v(Ja,2);{var nd=G=>{var he=vK(),vt=bt(he),lt=v(vt,2);let ct;var di=m(lt);{var Ti=dn=>{var $i=gK(),an=bt($i),Cn=v(an,2),En=v(Cn,4),yn=v(En,2);j("click",an,()=>Wt(l(s).entry.path)),j("click",Cn,()=>Ft(l(s).entry.path)),j("click",En,()=>jt(l(s).entry)),j("click",yn,()=>pi(l(s).entry)),D(dn,$i)},ki=dn=>{var $i=xK(),an=bt($i),Cn=v(an,2),En=v(Cn,2),yn=v(En,2);{var Wn=In=>{var Kn=pK();j("click",Kn,()=>be(l(s).entry)),D(In,Kn)};H(yn,In=>{l(b)&&In(Wn)})}var ps=v(yn,4);j("click",an,()=>pt(l(s).entry.path)),j("click",Cn,()=>jt(l(s).entry)),j("click",En,()=>yi(l(s).entry)),j("click",ps,()=>pi(l(s).entry)),D(dn,$i)};H(di,dn=>{l(s).entry.type==="dir"?dn(Ti):dn(ki,-1)})}z(()=>ct=Co(lt,"",ct,{left:`${l(s).x??""}px`,top:`${l(s).y??""}px`})),j("click",vt,Ht),j("contextmenu",vt,dn=>{dn.preventDefault(),Ht()}),D(G,he)};H(id,G=>{l(s)&&G(nd)})}var sd=v(id,2);{var E0=G=>{var he=mK();let vt;z(()=>vt=Co(he,"",vt,{left:`${l(Ui).x??""}px`,top:`${l(Ui).y-4}px`})),D(G,he)};H(sd,G=>{l(Ui)&&G(E0)})}var od=v(sd,2),ma=m(od);let lh;{const G=(lt,ct=lb,di)=>{let Ti=h9(()=>j7(di==null?void 0:di(),!1));var ki=As(),dn=bt(ki);{var $i=Cn=>{var En=bK(),yn=m(En);let Wn;var ps=m(yn);let In;var Kn=v(ps,2);let Hs;var bo=m(Kn),Ws=v(Kn,2);{var Fs=E=>{var k=z2();D(E,k)},vs=Ot(()=>l(Fe).has(ct().path)||l(Et).has(ct().path));H(Ws,E=>{l(vs)&&E(Fs)})}var cs=v(Ws,2),Xs=m(cs),Vn=v(cs,2),c=m(Vn),h=v(yn,2);{var _=E=>{var k=_K();ri(k,21,()=>ct().children,N=>N.path,(N,te)=>{G(N,()=>l(te),()=>ct().disabled||l(Ti))}),D(E,k)};H(h,E=>{l(i)[ct().path]&&ct().children&&E(_)})}z(()=>{Wn=Bt(yn,1,"dir-row svelte-1pyfjii",null,Wn,{"dir-selected":l(n)===ct().path,"drag-target":l(a)===ct().path}),un(yn,"aria-selected",l(n)===ct().path),In=Bt(ps,1,"chevron svelte-1pyfjii",null,In,{open:l(i)[ct().path]}),Hs=Bt(Kn,1,"dir-name svelte-1pyfjii",null,Hs,{lib:ct().lib}),O(bo,ct().name),er(Xs,ct().lib),er(c,ct().disabled)}),_s("dragstart",yn,E=>Mi(E,ct().path)),_s("dragover",yn,E=>en(E,ct().path)),_s("dragleave",yn,Pn),_s("drop",yn,E=>tn(E,ct().path)),j("contextmenu",yn,E=>Yt(E,ct())),j("click",ps,()=>Ge(ct().path)),j("click",Kn,()=>{x(n,ct().path,!0),l(i)[ct().path]=!0}),j("keydown",Kn,E=>E.key==="Enter"&&x(n,ct().path,!0)),_s("mouseenter",cs,Xe),_s("mouseleave",cs,ci),j("change",Xs,()=>Ue(ct().path,!ct().lib)),j("change",c,()=>$e(ct().path,!ct().disabled)),D(Cn,En)},an=Cn=>{const En=Ot(()=>l(ve).has(ct().path)),yn=Ot(()=>l(Fe).has(ct().path)),Wn=Ot(()=>l(d).some(nn=>nn.path===ct().path&&nn.dirty)),ps=Ot(()=>(ct().name.split(".").pop()??"txt").toUpperCase()),In=Ot(()=>ct().name.endsWith(".js"));var Kn=DK();let Hs;var bo=m(Kn),Ws=m(bo);let Fs;var vs=m(Ws);let cs;var Xs=m(vs),Vn=v(vs,2),c=m(Vn),h=v(Vn,2);{var _=nn=>{var _n=z2();D(nn,_n)};H(h,nn=>{l(yn)&&nn(_)})}var E=v(h);{var k=nn=>{var _n=CK();D(nn,_n)};H(E,nn=>{l(Wn)&&nn(k)})}var N=v(E,2);{var te=nn=>{var _n=EK();D(nn,_n)},Ae=Ot(()=>l(In)&&l(ue).has(ct().path)&&!l(En));H(N,nn=>{l(Ae)&&nn(te)})}var We=v(N,2);{var ut=nn=>{var _n=yK();D(nn,_n)};H(We,nn=>{l(En)&&nn(ut)})}var oi=v(Ws,2);{var Ji=nn=>{var _n=wK();let as;var ms=m(_n);z(()=>{as=Bt(_n,1,"dis-label svelte-1pyfjii",null,as,{"dis-locked":l(Ti)}),un(_n,"title",l(Ti)?"Disabled by parent directory":"Disable — this script will not be executed"),er(ms,ct().disabled),ms.disabled=l(Ti)}),j("change",ms,()=>$e(ct().path,!ct().disabled)),D(nn,_n)},wn=nn=>{var _n=SK();D(nn,_n)};H(oi,nn=>{l(In)?nn(Ji):nn(wn,-1)})}z((nn,_n,as)=>{Hs=Bt(Kn,1,"tree-file svelte-1pyfjii",null,Hs,nn),Fs=Bt(Ws,1,"svelte-1pyfjii",null,Fs,{lib:ct().lib,dis:ct().disabled,err:l(En)}),cs=Bt(vs,1,`badge badge-${_n??""}`,"svelte-1pyfjii",cs,{"badge-shelib":ct().lib}),O(Xs,as),O(c,ct().name)},[()=>({active:l(d).some(nn=>nn.path===ct().path),"active-tab":ct().path===l(u)}),()=>l(ps).toLowerCase(),()=>Mt(l(ps))]),_s("dragstart",Kn,nn=>Mi(nn,ct().path)),j("contextmenu",Kn,nn=>Yt(nn,ct())),j("click",Ws,()=>pt(ct().path)),D(Cn,Kn)};H(dn,Cn=>{ct().type==="dir"?Cn($i):Cn(an,-1)})}D(lt,ki)};var rd=m(ma),ad=m(rd),_a=v(ad,2),ar=v(_a,2);let he;var y0=v(ar,2),Vo=v(rd,2);{var jo=lt=>{var ct=AK(),di=m(ct);z(()=>O(di,l(g))),D(lt,ct)};H(Vo,lt=>{l(g)&<(jo)})}var w0=v(Vo,2);{var nx=lt=>{var ct=zK(),di=m(ct),Ti=m(di);let ki;var dn=v(Ti,2);let $i;var an=v(dn,2),Cn=v(di,2),En=m(Cn);hs(En,Vn=>x(At,Vn),()=>l(At));var yn=v(En,2);{var Wn=Vn=>{var c=kK(),h=bt(c);let _;var E=v(h,2);let k;var N=v(E,2);let te;z(()=>{_=Bt(h,1,"svelte-1pyfjii",null,_,{active:l(ze)}),k=Bt(E,1,"svelte-1pyfjii",null,k,{active:l(me)}),te=Bt(N,1,"svelte-1pyfjii",null,te,{active:l(dt)})}),j("click",h,()=>{x(ze,!l(ze)),Ni()}),j("click",E,()=>{x(me,!l(me)),Ni()}),j("click",N,()=>x(dt,!l(dt))),D(Vn,c)};H(yn,Vn=>{l(xe)==="text"&&Vn(Wn)})}var ps=v(Cn,2);{var In=Vn=>{var c=BK(),h=m(c),_=v(h,2),E=m(_);z(k=>{_.disabled=k,O(E,l(mi)?"…":"Preview")},[()=>!l(Ne).trim()||l(Ye).length===0||l(mi)]),Nt(h,()=>l(Pt),k=>x(Pt,k)),j("click",_,cn),D(Vn,c)};H(ps,Vn=>{l(xe)==="text"&&l(dt)&&Vn(In)})}var Kn=v(ps,2),Hs=m(Kn);{var bo=Vn=>{var c=FK();D(Vn,c)},Ws=Vn=>{var c=LK(),h=m(c);z(()=>O(h,l(ht))),D(Vn,c)},Fs=Vn=>{var c=As(),h=bt(c);{var _=k=>{var N=As(),te=bt(N);{var Ae=ut=>{var oi=IK();D(ut,oi)},We=ut=>{var oi=JC(),Ji=bt(oi);{var wn=_n=>{var as=PK();D(_n,as)};H(Ji,_n=>{l(ye)&&_n(wn)})}var nn=v(Ji,2);ri(nn,17,()=>l(Ye),Vi,(_n,as)=>{var ms=MK(),Uo=m(ms),vh=m(Uo),Yb=m(vh),Qb=v(vh,2),fx=m(Qb),Jb=v(Uo,2);ri(Jb,17,()=>l(as).matches,Vi,(gx,Ls)=>{var Xl=TK(),px=m(Xl),eC=m(px),tC=v(px,2),I0=m(tC);z(()=>{O(eC,l(Ls).line),O(I0,l(Ls).preview)}),j("click",Xl,()=>vi(l(as).path,l(Ls))),D(gx,Xl)}),z(()=>{O(Yb,l(as).path),O(fx,l(as).matches.length)}),j("click",Uo,()=>pt(l(as).path)),D(_n,ms)}),D(ut,oi)};H(te,ut=>{l(Ye).length===0?ut(Ae):ut(We,-1)})}D(k,N)},E=k=>{var N=As(),te=bt(N);{var Ae=ut=>{var oi=RK();D(ut,oi)},We=ut=>{var oi=JC(),Ji=bt(oi);{var wn=_n=>{var as=NK();D(_n,as)};H(Ji,_n=>{l(ye)&&_n(wn)})}var nn=v(Ji,2);ri(nn,17,()=>l(yt),Vi,(_n,as)=>{var ms=OK(),Uo=m(ms),vh=m(Uo);z(()=>O(vh,l(as))),j("click",ms,()=>pt(l(as))),D(_n,ms)}),D(ut,oi)};H(te,ut=>{l(yt).length===0?ut(Ae):ut(We,-1)})}D(k,N)};H(h,k=>{l(xe)==="text"?k(_):k(E,-1)})}D(Vn,c)},vs=Ot(()=>l(Ne).trim());H(Hs,Vn=>{l(Oe)?Vn(bo):l(ht)?Vn(Ws,1):l(vs)&&Vn(Fs,2)})}var cs=v(Kn,2);{var Xs=Vn=>{var c=WK(),h=m(c),_=m(h),E=m(_),k=v(_,2),N=m(k),te=v(N,2),Ae=v(h,2);ri(Ae,21,()=>l(ft),Vi,(We,ut,oi)=>{var Ji=HK(),wn=m(Ji),nn=v(wn,4),_n=m(nn),as=v(nn,2),ms=m(as);z(()=>{O(_n,l(ut).path),O(ms,`${l(ut).changes??""}×`)}),bs(wn,()=>l(ut).checked,Uo=>l(ut).checked=Uo),D(We,Ji)}),z((We,ut)=>{O(E,`Replace in ${We??""} file(s)`),N.disabled=ut},[()=>l(ft).filter(We=>We.checked).length,()=>l(ft).filter(We=>We.checked).length===0]),j("click",N,rn),j("click",te,()=>x(Lt,!1)),D(Vn,c)};H(cs,Vn=>{l(Lt)&&Vn(Xs)})}z(()=>{ki=Bt(Ti,1,"svelte-1pyfjii",null,ki,{active:l(xe)==="text"}),$i=Bt(dn,1,"svelte-1pyfjii",null,$i,{active:l(xe)==="files"}),un(En,"placeholder",l(xe)==="text"?"Find in files…":"Find files…")}),j("click",Ti,()=>{x(xe,"text"),Ni()}),j("click",dn,()=>{x(xe,"files"),Ni()}),j("click",an,Qt),j("input",En,Ni),j("keydown",En,Vn=>Vn.key==="Escape"&&Qt()),Nt(En,()=>l(Ne),Vn=>x(Ne,Vn)),D(lt,ct)};H(w0,lt=>{l(Ie)&<(nx)})}var sx=v(w0,2),el=m(sx);let vt;var S0=v(el,2);ri(S0,17,()=>l(t),lt=>lt.path,(lt,ct)=>{G(lt,()=>l(ct))});var Wb=v(sx,2);{var zb=lt=>{var ct=qK();let di;var Ti=m(ct),ki=v(Ti,2),dn=m(ki),$i=m(dn),an=v(dn,2),Cn=v(ki,2),En=m(Cn);{var yn=In=>{var Kn=VK();D(In,Kn)},Wn=In=>{var Kn=jK();D(In,Kn)},ps=In=>{var Kn=JC(),Hs=bt(Kn);ri(Hs,17,()=>l(I),Fs=>Fs.hash,(Fs,vs)=>{var cs=$K(),Xs=m(cs),Vn=m(Xs),c=v(Xs,2),h=m(c);z((_,E)=>{O(Vn,l(vs).subject),O(h,`${_??""} · ${E??""}`)},[()=>l(vs).hash.slice(0,7),()=>De(l(vs).date)]),j("click",cs,()=>it(l(vs))),D(Fs,cs)});var bo=v(Hs,2);{var Ws=Fs=>{var vs=UK(),cs=m(vs);z(()=>{vs.disabled=l(M),O(cs,l(M)?"Loading…":"Load more")}),j("click",vs,at),D(Fs,vs)};H(bo,Fs=>{l(I).length>=l(R)&&Fs(Ws)})}D(In,Kn)};H(En,In=>{l(M)&&l(I).length===0?In(yn):l(I).length===0?In(Wn,1):In(ps,-1)})}z(()=>{di=Co(ct,"",di,{height:`${l(bi)??""}px`}),un(dn,"title",l(A).path),O($i,`History: ${l(A).name??""}`)}),j("mousedown",Ti,jl),j("click",an,Xt),D(lt,ct)};H(Wb,lt=>{l(A)&<(zb)})}z(()=>{he=Bt(ar,1,"search-toggle svelte-1pyfjii",null,he,{active:l(Ie)}),vt=Bt(el,1,"tree-root-drop svelte-1pyfjii",null,vt,{"drag-target":l(a)===""})}),j("click",ad,kt),j("click",_a,ti),j("click",ar,()=>l(Ie)?Qt():gi("text")),j("click",y0,ce),_s("dragover",el,lt=>en(lt,"")),_s("dragleave",el,Pn),_s("drop",el,lt=>tn(lt,""))}var D0=v(ma,2),Vb=v(D0,2),$o=m(Vb);{var Ul=G=>{var he=ZK(),vt=m(he),lt=v(vt,2);ri(lt,21,()=>l(d),di=>di.path,(di,Ti)=>{var ki=KK();let dn;var $i=m(ki),an=m($i),Cn=v($i,2);{var En=Wn=>{var ps=GK();D(Wn,ps)};H(Cn,Wn=>{l(Ti).dirty&&Wn(En)})}var yn=v(Cn,2);z(Wn=>{dn=Bt(ki,1,"tab svelte-1pyfjii",null,dn,{active:l(Ti).path===l(u)}),un(ki,"data-tab-path",l(Ti).path),O(an,Wn)},[()=>l(Ti).path.split("/").pop()]),j("click",ki,()=>Qe(l(Ti).path)),j("keydown",ki,Wn=>Wn.key==="Enter"&&Qe(l(Ti).path)),j("click",yn,Wn=>{Wn.stopPropagation(),wt(l(Ti).path)}),D(di,ki)}),hs(lt,di=>x(Ei,di),()=>l(Ei));var ct=v(lt,2);z(()=>{vt.disabled=!l(xt),ct.disabled=!l(ui)}),j("click",vt,()=>Gt(-1)),_s("scroll",lt,Ee),_s("wheel",lt,di=>{di.preventDefault(),l(Ei).scrollLeft+=di.deltaY,Ee()}),j("click",ct,()=>Gt(1)),D(G,he)};H($o,G=>{l(d).length>0&&G(Ul)})}var ox=v($o,2),br=m(ox),jb=m(br),tl=v(br,2);{var $b=G=>{var he=nZ(),vt=m(he),lt=m(vt),ct=v(vt,2);{var di=an=>{var Cn=JK(),En=m(Cn),yn=m(En),Wn=v(En,2);{var ps=In=>{var Kn=QK(),Hs=bt(Kn),bo=v(Hs,2),Ws=v(m(bo),2);ri(Ws,21,()=>l(b).changes,Vi,(h,_)=>{var E=XK(),k=m(E),N=m(k),te=v(k,2),Ae=m(te),We=v(te,2),ut=m(We);z(oi=>{er(N,oi),O(Ae,l(_).status),O(ut,l(_).file)},[()=>l(Y).has(l(_).file)]),j("change",N,()=>{const oi=new Set(l(Y));oi.has(l(_).file)?oi.delete(l(_).file):oi.add(l(_).file),x(Y,oi,!0)}),D(h,E)});var Fs=v(Ws,2),vs=m(Fs),cs=v(vs,2),Xs=m(cs),Vn=v(Fs,2);{var c=h=>{var _=YK(),E=m(_);z(()=>O(E,l(W))),D(h,_)};H(Vn,h=>{l(W)&&h(c)})}z(h=>{var _;cs.disabled=h,O(Xs,l(T)?"…":l(Y).size===((_=l(b))==null?void 0:_.changes.length)?"Commit all":`Commit ${l(Y).size}`)},[()=>!l(U).trim()||l(T)||l(Y).size===0]),j("click",Hs,()=>x(gt,!1)),j("keydown",vs,h=>h.key==="Enter"&&ne()),Nt(vs,()=>l(U),h=>x(U,h)),j("click",cs,ne),D(In,Kn)};H(Wn,In=>{l(gt)&&In(ps)})}z(()=>{un(En,"title",`${l(b).changes.length??""} uncommitted change(s) — click to view`),O(yn,`✎${l(b).changes.length??""}`)}),j("click",En,()=>{l(gt)||x(Y,new Set(l(b).changes.map(In=>In.file)),!0),x(gt,!l(gt)),x(W,"")}),D(an,Cn)};H(ct,an=>{l(b).changes.length>0&&an(di)})}var Ti=v(ct,2);{var ki=an=>{var Cn=tZ(),En=m(Cn),yn=m(En),Wn=v(En,2);{var ps=In=>{var Kn=eZ(),Hs=bt(Kn),bo=v(Hs,2),Ws=m(bo),Fs=m(Ws),vs=v(Ws,2),cs=m(vs);z(()=>O(Fs,`${l(b).ahead??""} unpushed commit(s)`)),j("click",Hs,()=>x(Kt,!1)),j("click",cs,()=>{x(Kt,!1),Ut()}),D(In,Kn)};H(Wn,In=>{l(Kt)&&In(ps)})}z(()=>{un(En,"title",`${l(b).ahead??""} commit(s) ahead of upstream — click to push`),O(yn,`↑${l(b).ahead??""}`)}),j("click",En,()=>x(Kt,!l(Kt))),D(an,Cn)};H(Ti,an=>{l(b).ahead>0&&an(ki)})}var dn=v(Ti,2);{var $i=an=>{var Cn=iZ(),En=m(Cn);z(()=>{un(Cn,"title",`${l(b).behind??""} commit(s) behind upstream`),O(En,`↓${l(b).behind??""}`)}),D(an,Cn)};H(dn,an=>{l(b).behind>0&&an($i)})}z(()=>{un(vt,"title",`Branch: ${l(b).branch??""}`),O(lt,`⎇ ${l(b).branch??""}`)}),D(G,he)};H(tl,G=>{l(b)&&G($b)})}var ql=v(tl,2),A0=m(ql),il=m(A0),Ub=m(il),qr=v(il,2),ch=v(A0,2);{var qb=G=>{var he=sZ(),vt=bt(he),lt=v(vt,2),ct=m(lt),di=v(ct,2);j("click",vt,()=>x(p,!1)),j("click",ct,()=>{x(p,!1),Rt()}),j("click",di,()=>{x(p,!1),si()}),D(G,he)};H(ch,G=>{l(p)&&G(qb)})}var dh=v(ql,2);{var Gb=G=>{var he=oZ();j("click",he,An),D(G,he)};H(dh,G=>{l(u)&&G(Gb)})}var lr=v(dh,2);let rx;var Gl=v(ox,2),ax=m(Gl),Cr=m(ax),ld=m(Cr);hs(ld,G=>Oi=G,()=>Oi);var k0=v(ld,2);{var B0=G=>{var he=rZ();D(G,he)};H(k0,G=>{l(u)||G(B0)})}var cd=v(k0,2);{var F0=G=>{var he=dZ(),vt=m(he),lt=m(vt),ct=v(m(lt)),di=m(ct),Ti=v(lt,2),ki=m(Ti),dn=m(ki),$i=m(dn),an=m($i),Cn=v($i,2),En=v(dn,2);{var yn=In=>{var Kn=cZ(),Hs=bt(Kn),bo=v(Hs,2),Ws=m(bo);{var Fs=cs=>{var Xs=aZ();j("click",Xs,()=>{x(mt,!1),x(ni,!0),ed()}),D(cs,Xs)},vs=cs=>{var Xs=lZ();j("click",Xs,()=>{x(mt,!1),x(ni,!1)}),D(cs,Xs)};H(Ws,cs=>{l(ni)?cs(vs,-1):cs(Fs)})}j("click",Hs,()=>x(mt,!1)),D(In,Kn)};H(En,In=>{l(mt)&&In(yn)})}var Wn=v(ki,2),ps=v(vt,2);hs(ps,In=>x(et,In),()=>l(et)),z(In=>{O(di,In),O(an,l(ni)?"Auto-accept ✓":"Accept")},[()=>{var In;return(In=l(u))==null?void 0:In.split("/").pop()}]),j("click",$i,ed),j("click",Cn,()=>x(mt,!l(mt))),j("click",Wn,ah),D(G,he)};H(cd,G=>{l(zt)!==null&&G(F0)})}var uh=v(cd,2);{var Kl=G=>{var he=fZ(),vt=m(he),lt=m(vt),ct=v(m(lt)),di=m(ct),Ti=v(ct,2),ki=m(Ti),dn=v(lt,2),$i=m(dn),an=v(vt,2);{var Cn=yn=>{var Wn=uZ();D(yn,Wn)},En=yn=>{var Wn=hZ();hs(Wn,ps=>x(P,ps),()=>l(P)),D(yn,Wn)};H(an,yn=>{l(Z)?yn(Cn):yn(En,-1)})}z(yn=>{var Wn;O(di,yn),O(ki,(Wn=l(A))==null?void 0:Wn.name)},[()=>l(fe).slice(0,7)]),j("click",$i,nt),D(G,he)};H(uh,G=>{l(re)&&G(Kl)})}var Zl=v(Cr,2);let hh,L0;var lx=m(Zl);{var fh=G=>{var he=gZ();j("mousedown",he,no),D(G,he)};H(lx,G=>{l(C)&&G(fh)})}var cx=v(lx,2),gh=m(cx),dx=m(gh),ux=v(dx);{var Kb=G=>{var he=pZ(),vt=m(he);z(lt=>O(vt,`— ${lt??""}`),[()=>l(u).split("/").pop()]),D(G,he)};H(ux,G=>{l(u)&&G(Kb)})}var Er=v(gh,2);{var ph=G=>{var he=vZ(),vt=bt(he);ri(vt,21,()=>Pi,Vi,($i,an)=>{var Cn=xZ(),En=m(Cn),yn={};z(()=>{O(En,l(an)),yn!==(yn=l(an))&&(Cn.value=(Cn.__value=l(an))??"")}),D($i,Cn)});var lt=v(vt,2),ct=v(lt,2),di=m(ct),Ti=v(ct,2),ki=m(Ti),dn=v(Ti,2);Ps(vt,()=>l(Ct),$i=>x(Ct,$i)),Nt(lt,()=>l(Zt),$i=>x(Zt,$i)),bs(di,()=>l(Ii),$i=>x(Ii,$i)),bs(ki,()=>l(Wi),$i=>x(Wi,$i)),j("click",dn,Tn),D(G,he)};H(Er,G=>{l(C)&&G(ph)})}var Zb=v(cx,2);{var xh=G=>{var he=bZ(),vt=m(he);ri(vt,17,()=>{var di;return(((di=l(we))==null?void 0:di.logEntries)??[]).filter(Dn)},di=>di.ts+di.msg,(di,Ti)=>{var ki=mZ(),dn=m(ki),$i=m(dn),an=v(dn,2),Cn=m(an),En=v(an,2),yn=m(En);z((Wn,ps)=>{Bt(ki,1,`log-line ${l(Ti).level??""}`,"svelte-1pyfjii"),O($i,Wn),O(Cn,ps),O(yn,l(Ti).msg)},[()=>Xi(l(Ti).ts),()=>l(Ti).level.toUpperCase()]),D(di,ki)});var lt=v(vt,2);{var ct=di=>{var Ti=_Z();D(di,Ti)};H(lt,di=>{var Ti;(((Ti=l(we))==null?void 0:Ti.logEntries.length)??0)===0&&di(ct)})}hs(he,di=>x(de,di),()=>l(de)),D(G,he)};H(Zb,G=>{l(C)&&G(xh)})}var Xb=v(ax,2);{var hx=G=>{var he=CZ(),vt=bt(he),lt=v(vt,2);let ct;var di=m(lt);eK(di,{get currentScript(){return l(Je)},onApply:Wo,onCreateFile:C0,get extraFiles(){return l(Se)},set extraFiles(Ti){x(Se,Ti,!0)}}),z(()=>ct=Co(lt,"",ct,{width:`${l(ai)??""}px`})),j("mousedown",vt,va),D(G,he)};H(Xb,G=>{l(Ze)&&G(hx)})}z(()=>{var G;lh=Co(ma,"",lh,{width:`${l(ge)??""}px`}),O(jb,l(u)??"No file selected"),il.disabled=!((G=l(we))!=null&&G.dirty)||l(f),O(Ub,l(f)?"Saving…":"Save"),qr.disabled=!l(u),rx=Bt(lr,1,"ai-toggle svelte-1pyfjii",null,rx,{"ai-open":l(Ze)}),un(lr,"title",l(Ze)?"Close AI assistant":"Open AI assistant"),hh=Bt(Zl,1,"log-panel svelte-1pyfjii",null,hh,{collapsed:!l(C)}),L0=Co(Zl,"",L0,{height:l(C)?`${l(Jt)}px`:"26px"}),O(dx,`${l(C)?"▾":"▸"} Script Log `)}),j("keydown",od,mn),j("mousedown",D0,Zs),j("click",il,Rt),j("click",qr,()=>x(p,!l(p))),j("click",lr,()=>x(Ze,!l(Ze))),j("click",gh,ji),D(o,td),Ms()}qs(["click","contextmenu","keydown","change","input","mousedown"]);var rg={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 wZ=rg.exports,V2;function SZ(){return V2||(V2=1,(function(o,e){(function(t,i){i(e)})(wZ,(function(t){var i="1.9.4";function n(c){var h,_,E,k;for(_=1,E=arguments.length;_<E;_++){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 E=_.call(arguments,2);return function(){return c.apply(h,E.length?E.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 E,k,N,te;return te=function(){E=!1,k&&(N.apply(_,k),k=!1)},N=function(){E?k=arguments:(c.apply(_,arguments),setTimeout(te,h),E=!0)},N}function f(c,h,_){var E=h[1],k=h[0],N=E-k;return c===E&&_?c:((c-k)%N+N)%N+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 y(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 E=[];for(var k in c)E.push(encodeURIComponent(_?k.toUpperCase():k)+"="+encodeURIComponent(c[k]));return(!h||h.indexOf("?")===-1?"?":"&")+E.join("&")}var A=/\{ *([\w_ -]+) *\}/g;function I(c,h){return c.replace(A,function(_,E){var k=h[E];if(k===void 0)throw new Error("No value provided for variable "+_);return typeof k=="function"&&(k=k(h)),k})}var M=Array.isArray||function(c){return Object.prototype.toString.call(c)==="[object Array]"};function R(c,h){for(var _=0;_<c.length;_++)if(c[_]===h)return _;return-1}var P="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function V(c){return window["webkit"+c]||window["moz"+c]||window["ms"+c]}var $=0;function J(c){var h=+new Date,_=Math.max(0,16-(h-$));return $=h+_,window.setTimeout(c,_)}var re=window.requestAnimationFrame||V("RequestAnimationFrame")||J,fe=window.cancelAnimationFrame||V("CancelAnimationFrame")||V("CancelRequestAnimationFrame")||function(c){window.clearTimeout(c)};function Z(c,h,_){if(_&&re===J)c.call(h);else return re.call(window,r(c,h))}function de(c){c&&fe.call(window,c)}var ve={__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:y,getParamString:w,template:I,isArray:M,indexOf:R,emptyImageUrl:P,requestFn:re,cancelFn:fe,requestAnimFrame:Z,cancelAnimFrame:de};function se(){}se.extend=function(c){var h=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},_=h.__super__=this.prototype,E=s(_);E.constructor=h,h.prototype=E;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&&(ue(c.includes),n.apply(null,[E].concat(c.includes))),n(E,c),delete E.statics,delete E.includes,E.options&&(E.options=_.options?s(_.options):{},n(E.options,c.options)),E._initHooks=[],E.callInitHooks=function(){if(!this._initHooksCalled){_.callInitHooks&&_.callInitHooks.call(this),this._initHooksCalled=!0;for(var N=0,te=E._initHooks.length;N<te;N++)E._initHooks[N].call(this)}},h},se.include=function(c){var h=this.prototype.options;return n(this.prototype,c),c.options&&(this.prototype.options=h,this.mergeOptions(c.options)),this},se.mergeOptions=function(c){return n(this.prototype.options,c),this},se.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 ue(c){if(!(typeof L>"u"||!L||!L.Mixin)){c=M(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 Se={on:function(c,h,_){if(typeof c=="object")for(var E in c)this._on(E,c[E],h);else{c=b(c);for(var k=0,N=c.length;k<N;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 E in c)this._off(E,c[E],h);else{c=b(c);for(var k=arguments.length===1,N=0,te=c.length;N<te;N++)k?this._off(c[N]):this._off(c[N],h,_)}return this},_on:function(c,h,_,E){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:_};E&&(k.once=!0),this._events=this._events||{},this._events[c]=this._events[c]||[],this._events[c].push(k)}},_off:function(c,h,_){var E,k,N;if(this._events&&(E=this._events[c],!!E)){if(arguments.length===1){if(this._firingCount)for(k=0,N=E.length;k<N;k++)E[k].fn=g;delete this._events[c];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var te=this._listens(c,h,_);if(te!==!1){var Ae=E[te];this._firingCount&&(Ae.fn=g,this._events[c]=E=E.slice()),E.splice(te,1)}}},fire:function(c,h,_){if(!this.listens(c,_))return this;var E=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 N=0,te=k.length;N<te;N++){var Ae=k[N],We=Ae.fn;Ae.once&&this.off(c,We,Ae.ctx),We.call(Ae.ctx||this,E)}this._firingCount--}}return _&&this._propagateEvent(E),this},listens:function(c,h,_,E){typeof c!="string"&&console.warn('"string" type argument expected');var k=h;typeof h!="function"&&(E=!!h,k=void 0,_=void 0);var N=this._events&&this._events[c];if(N&&N.length&&this._listens(c,k,_)!==!1)return!0;if(E){for(var te in this._eventParents)if(this._eventParents[te].listens(c,h,_,E))return!0}return!1},_listens:function(c,h,_){if(!this._events)return!1;var E=this._events[c]||[];if(!h)return!!E.length;_===this&&(_=void 0);for(var k=0,N=E.length;k<N;k++)if(E[k].fn===h&&E[k].ctx===_)return k;return!1},once:function(c,h,_){if(typeof c=="object")for(var E in c)this._on(E,c[E],h,!0);else{c=b(c);for(var k=0,N=c.length;k<N;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)}};Se.addEventListener=Se.on,Se.removeEventListener=Se.clearAllEventListeners=Se.off,Se.addOneTimeEventListener=Se.once,Se.fireEvent=Se.fire,Se.hasEventListeners=Se.listens;var Ie=se.extend(Se);function xe(c,h,_){this.x=_?Math.round(c):c,this.y=_?Math.round(h):h}var Ne=Math.trunc||function(c){return c>0?Math.floor(c):Math.ceil(c)};xe.prototype={clone:function(){return new xe(this.x,this.y)},add:function(c){return this.clone()._add(ze(c))},_add:function(c){return this.x+=c.x,this.y+=c.y,this},subtract:function(c){return this.clone()._subtract(ze(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 xe(this.x*c.x,this.y*c.y)},unscaleBy:function(c){return new xe(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=Ne(this.x),this.y=Ne(this.y),this},distanceTo:function(c){c=ze(c);var h=c.x-this.x,_=c.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(c){return c=ze(c),c.x===this.x&&c.y===this.y},contains:function(c){return c=ze(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 ze(c,h,_){return c instanceof xe?c:M(c)?new xe(c[0],c[1]):c==null?c:typeof c=="object"&&"x"in c&&"y"in c?new xe(c.x,c.y):new xe(c,h,_)}function me(c,h){if(c)for(var _=h?[c,h]:c,E=0,k=_.length;E<k;E++)this.extend(_[E])}me.prototype={extend:function(c){var h,_;if(!c)return this;if(c instanceof xe||typeof c[0]=="number"||"x"in c)h=_=ze(c);else if(c=dt(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 ze((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,c)},getBottomLeft:function(){return ze(this.min.x,this.max.y)},getTopRight:function(){return ze(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 xe?c=ze(c):c=dt(c),c instanceof me?(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=dt(c);var h=this.min,_=this.max,E=c.min,k=c.max,N=k.x>=h.x&&E.x<=_.x,te=k.y>=h.y&&E.y<=_.y;return N&&te},overlaps:function(c){c=dt(c);var h=this.min,_=this.max,E=c.min,k=c.max,N=k.x>h.x&&E.x<_.x,te=k.y>h.y&&E.y<_.y;return N&&te},isValid:function(){return!!(this.min&&this.max)},pad:function(c){var h=this.min,_=this.max,E=Math.abs(h.x-_.x)*c,k=Math.abs(h.y-_.y)*c;return dt(ze(h.x-E,h.y-k),ze(_.x+E,_.y+k))},equals:function(c){return c?(c=dt(c),this.min.equals(c.getTopLeft())&&this.max.equals(c.getBottomRight())):!1}};function dt(c,h){return!c||c instanceof me?c:new me(c,h)}function Pt(c,h){if(c)for(var _=h?[c,h]:c,E=0,k=_.length;E<k;E++)this.extend(_[E])}Pt.prototype={extend:function(c){var h=this._southWest,_=this._northEast,E,k;if(c instanceof yt)E=c,k=c;else if(c instanceof Pt){if(E=c._southWest,k=c._northEast,!E||!k)return this}else return c?this.extend(ye(c)||Ye(c)):this;return!h&&!_?(this._southWest=new yt(E.lat,E.lng),this._northEast=new yt(k.lat,k.lng)):(h.lat=Math.min(E.lat,h.lat),h.lng=Math.min(E.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,E=Math.abs(h.lat-_.lat)*c,k=Math.abs(h.lng-_.lng)*c;return new Pt(new yt(h.lat-E,h.lng-k),new yt(_.lat+E,_.lng+k))},getCenter:function(){return new yt((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 yt(this.getNorth(),this.getWest())},getSouthEast:function(){return new yt(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 yt||"lat"in c?c=ye(c):c=Ye(c);var h=this._southWest,_=this._northEast,E,k;return c instanceof Pt?(E=c.getSouthWest(),k=c.getNorthEast()):E=k=c,E.lat>=h.lat&&k.lat<=_.lat&&E.lng>=h.lng&&k.lng<=_.lng},intersects:function(c){c=Ye(c);var h=this._southWest,_=this._northEast,E=c.getSouthWest(),k=c.getNorthEast(),N=k.lat>=h.lat&&E.lat<=_.lat,te=k.lng>=h.lng&&E.lng<=_.lng;return N&&te},overlaps:function(c){c=Ye(c);var h=this._southWest,_=this._northEast,E=c.getSouthWest(),k=c.getNorthEast(),N=k.lat>h.lat&&E.lat<_.lat,te=k.lng>h.lng&&E.lng<_.lng;return N&&te},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(c,h){return c?(c=Ye(c),this._southWest.equals(c.getSouthWest(),h)&&this._northEast.equals(c.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Ye(c,h){return c instanceof Pt?c:new Pt(c,h)}function yt(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=+_)}yt.prototype={equals:function(c,h){if(!c)return!1;c=ye(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 ht.distance(this,ye(c))},wrap:function(){return ht.wrapLatLng(this)},toBounds:function(c){var h=180*c/40075017,_=h/Math.cos(Math.PI/180*this.lat);return Ye([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new yt(this.lat,this.lng,this.alt)}};function ye(c,h,_){return c instanceof yt?c:M(c)&&typeof c[0]!="object"?c.length===3?new yt(c[0],c[1],c[2]):c.length===2?new yt(c[0],c[1]):null:c==null?c:typeof c=="object"&&"lat"in c?new yt(c.lat,"lng"in c?c.lng:c.lon,c.alt):h===void 0?null:new yt(c,h,_)}var Oe={latLngToPoint:function(c,h){var _=this.projection.project(c),E=this.scale(h);return this.transformation._transform(_,E)},pointToLatLng:function(c,h){var _=this.scale(h),E=this.transformation.untransform(c,_);return this.projection.unproject(E)},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),E=this.transformation.transform(h.min,_),k=this.transformation.transform(h.max,_);return new me(E,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,E=c.alt;return new yt(_,h,E)},wrapLatLngBounds:function(c){var h=c.getCenter(),_=this.wrapLatLng(h),E=h.lat-_.lat,k=h.lng-_.lng;if(E===0&&k===0)return c;var N=c.getSouthWest(),te=c.getNorthEast(),Ae=new yt(N.lat-E,N.lng-k),We=new yt(te.lat-E,te.lng-k);return new Pt(Ae,We)}},ht=n({},Oe,{wrapLng:[-180,180],R:6371e3,distance:function(c,h){var _=Math.PI/180,E=c.lat*_,k=h.lat*_,N=Math.sin((h.lat-c.lat)*_/2),te=Math.sin((h.lng-c.lng)*_/2),Ae=N*N+Math.cos(E)*Math.cos(k)*te*te,We=2*Math.atan2(Math.sqrt(Ae),Math.sqrt(1-Ae));return this.R*We}}),At=6378137,ft={R:At,MAX_LATITUDE:85.0511287798,project:function(c){var h=Math.PI/180,_=this.MAX_LATITUDE,E=Math.max(Math.min(_,c.lat),-_),k=Math.sin(E*h);return new xe(this.R*c.lng*h,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(c){var h=180/Math.PI;return new yt((2*Math.atan(Math.exp(c.y/this.R))-Math.PI/2)*h,c.x*h/this.R)},bounds:(function(){var c=At*Math.PI;return new me([-c,-c],[c,c])})()};function Lt(c,h,_,E){if(M(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=E}Lt.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 xe((c.x/h-this._b)/this._a,(c.y/h-this._d)/this._c)}};function mi(c,h,_,E){return new Lt(c,h,_,E)}var fi=n({},ht,{code:"EPSG:3857",projection:ft,transformation:(function(){var c=.5/(Math.PI*ft.R);return mi(c,.5,-c,.5)})()}),Ei=n({},fi,{code:"EPSG:900913"});function xt(c){return document.createElementNS("http://www.w3.org/2000/svg",c)}function ui(c,h){var _="",E,k,N,te,Ae,We;for(E=0,N=c.length;E<N;E++){for(Ae=c[E],k=0,te=Ae.length;k<te;k++)We=Ae[k],_+=(k?"L":"M")+We.x+" "+We.y;_+=h?ge.svg?"z":"x":""}return _||"M0 0"}var Pe=document.documentElement.style,Ee="ActiveXObject"in window,Gt=Ee&&!document.addEventListener,gi="msLaunchUri"in navigator&&!("documentMode"in document),Qt=le("webkit"),Ni=le("android"),Zi=le("android 2")||le("android 3"),vi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),gn=Ni&&le("Google")&&vi<537&&!("AudioNode"in window),cn=!!window.opera,rn=!gi&&le("chrome"),mn=le("gecko")&&!Qt&&!cn&&!Ee,Ct=!rn&&le("safari"),Zt=le("phantom"),Ii="OTransition"in Pe,Wi=navigator.platform.indexOf("Win")===0,Pi=Ee&&"transition"in Pe,pn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Zi,Dn="MozPerspective"in Pe,Ui=!window.L_DISABLE_3D&&(Pi||pn||Dn)&&!Ii&&!Zt,Xe=typeof orientation<"u"||le("mobile"),ci=Xe&&Qt,Oi=Xe&&pn,ii=!window.PointerEvent&&window.MSPointerEvent,zi=!!(window.PointerEvent||ii),Gi="ontouchstart"in window||!!window.TouchEvent,qi=!window.L_NO_TOUCH&&(Gi||zi),K=Xe&&cn,ke=Xe&&mn,rt=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Ze=(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})(),zt=(function(){return!!document.createElement("canvas").getContext})(),ni=!!(document.createElementNS&&xt("svg").createSVGRect),mt=!!ni&&(function(){var c=document.createElement("div");return c.innerHTML="<svg/>",(c.firstChild&&c.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),et=!ni&&(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}})(),X=navigator.platform.indexOf("Mac")===0,Te=navigator.platform.indexOf("Linux")===0;function le(c){return navigator.userAgent.toLowerCase().indexOf(c)>=0}var ge={ie:Ee,ielt9:Gt,edge:gi,webkit:Qt,android:Ni,android23:Zi,androidStock:gn,opera:cn,chrome:rn,gecko:mn,safari:Ct,phantom:Zt,opera12:Ii,win:Wi,ie3d:Pi,webkit3d:pn,gecko3d:Dn,any3d:Ui,mobile:Xe,mobileWebkit:ci,mobileWebkit3d:Oi,msPointer:ii,pointer:zi,touch:qi,touchNative:Gi,mobileOpera:K,mobileGecko:ke,retina:rt,passiveEvents:Ze,canvas:zt,svg:ni,vml:et,inlineSvg:mt,mac:X,linux:Te},Jt=ge.msPointer?"MSPointerDown":"pointerdown",ai=ge.msPointer?"MSPointerMove":"pointermove",bi=ge.msPointer?"MSPointerUp":"pointerup",Ci=ge.msPointer?"MSPointerCancel":"pointercancel",Hi={touchstart:Jt,touchmove:ai,touchend:bi,touchcancel:Ci},ie={touchstart:Je,touchmove:He,touchend:He,touchcancel:He},tt={},_e=!1;function Ve(c,h,_){return h==="touchstart"&&pe(),ie[h]?(_=ie[h].bind(this,_),c.addEventListener(Hi[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function _t(c,h,_){if(!Hi[h]){console.warn("wrong event specified:",h);return}c.removeEventListener(Hi[h],_,!1)}function It(c){tt[c.pointerId]=c}function Ai(c){tt[c.pointerId]&&(tt[c.pointerId]=c)}function ei(c){delete tt[c.pointerId]}function pe(){_e||(document.addEventListener(Jt,It,!0),document.addEventListener(ai,Ai,!0),document.addEventListener(bi,ei,!0),document.addEventListener(Ci,ei,!0),_e=!0)}function He(c,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in tt)h.touches.push(tt[_]);h.changedTouches=[h],c(h)}}function Je(c,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&pi(h),He(c,h)}function Fe(c){var h={},_,E;for(E in c)_=c[E],h[E]=_&&_.bind?_.bind(c):_;return c=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var Et=200;function gt(c,h){c.addEventListener("dblclick",h);var _=0,E;function k(N){if(N.detail!==1){E=N.detail;return}if(!(N.pointerType==="mouse"||N.sourceCapabilities&&!N.sourceCapabilities.firesTouchEvents)){var te=Mi(N);if(!(te.some(function(We){return We instanceof HTMLLabelElement&&We.attributes.for})&&!te.some(function(We){return We instanceof HTMLInputElement||We instanceof HTMLSelectElement}))){var Ae=Date.now();Ae-_<=Et?(E++,E===2&&h(Fe(N))):E=1,_=Ae}}}return c.addEventListener("click",k),{dblclick:h,simDblclick:k}}function Kt(c,h){c.removeEventListener("dblclick",h.dblclick),c.removeEventListener("click",h.simDblclick)}var U=Mt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),T=Mt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),W=T==="webkitTransition"||T==="OTransition"?T+"End":"transitionend";function Y(c){return typeof c=="string"?document.getElementById(c):c}function ne(c,h){var _=c.style[h]||c.currentStyle&&c.currentStyle[h];if((!_||_==="auto")&&document.defaultView){var E=document.defaultView.getComputedStyle(c,null);_=E?E[h]:null}return _==="auto"?null:_}function ae(c,h,_){var E=document.createElement(c);return E.className=h||"",_&&_.appendChild(E),E}function oe(c){var h=c.parentNode;h&&h.removeChild(c)}function we(c){for(;c.firstChild;)c.removeChild(c.firstChild)}function je(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 Le(c,h){if(c.classList!==void 0)return c.classList.contains(h);var _=Q(c);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function Me(c,h){if(c.classList!==void 0)for(var _=b(h),E=0,k=_.length;E<k;E++)c.classList.add(_[E]);else if(!Le(c,h)){var N=Q(c);li(c,(N?N+" ":"")+h)}}function ot(c,h){c.classList!==void 0?c.classList.remove(h):li(c,C((" "+Q(c)+" ").replace(" "+h+" "," ")))}function li(c,h){c.className.baseVal===void 0?c.className=h:c.className.baseVal=h}function Q(c){return c.correspondingElement&&(c=c.correspondingElement),c.className.baseVal===void 0?c.className:c.className.baseVal}function ce(c,h){"opacity"in c.style?c.style.opacity=h:"filter"in c.style&&Ge(c,h)}function Ge(c,h){var _=!1,E="DXImageTransform.Microsoft.Alpha";try{_=c.filters.item(E)}catch{if(h===1)return}h=Math.round(h*100),_?(_.Enabled=h!==100,_.Opacity=h):c.style.filter+=" progid:"+E+"(opacity="+h+")"}function Mt(c){for(var h=document.documentElement.style,_=0;_<c.length;_++)if(c[_]in h)return c[_];return!1}function Ue(c,h,_){var E=h||new xe(0,0);c.style[U]=(ge.ie3d?"translate("+E.x+"px,"+E.y+"px)":"translate3d("+E.x+"px,"+E.y+"px,0)")+(_?" scale("+_+")":"")}function $e(c,h){c._leaflet_pos=h,ge.any3d?Ue(c,h):(c.style.left=h.x+"px",c.style.top=h.y+"px")}function Tt(c){return c._leaflet_pos||new xe(0,0)}var pt,Qe,wt;if("onselectstart"in document)pt=function(){it(window,"selectstart",pi)},Qe=function(){kt(window,"selectstart",pi)};else{var Dt=Mt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);pt=function(){if(Dt){var c=document.documentElement.style;wt=c[Dt],c[Dt]="none"}},Qe=function(){Dt&&(document.documentElement.style[Dt]=wt,wt=void 0)}}function st(){it(window,"dragstart",pi)}function Rt(){kt(window,"dragstart",pi)}var si,Ut;function De(c){for(;c.tabIndex===-1;)c=c.parentNode;c.style&&(be(),si=c,Ut=c.style.outlineStyle,c.style.outlineStyle="none",it(window,"keydown",be))}function be(){si&&(si.style.outlineStyle=Ut,si=void 0,Ut=void 0,kt(window,"keydown",be))}function qe(c){do c=c.parentNode;while((!c.offsetWidth||!c.offsetHeight)&&c!==document.body);return c}function at(c){var h=c.getBoundingClientRect();return{x:h.width/c.offsetWidth||1,y:h.height/c.offsetHeight||1,boundingClientRect:h}}var Xt={__proto__:null,TRANSFORM:U,TRANSITION:T,TRANSITION_END:W,get:Y,getStyle:ne,create:ae,remove:oe,empty:we,toFront:je,toBack:Ce,hasClass:Le,addClass:Me,removeClass:ot,setClass:li,getClass:Q,setOpacity:ce,testProp:Mt,setTransform:Ue,setPosition:$e,getPosition:Tt,get disableTextSelection(){return pt},get enableTextSelection(){return Qe},disableImageDrag:st,enableImageDrag:Rt,preventOutline:De,restoreOutline:be,getSizedParentNode:qe,getScale:at};function it(c,h,_,E){if(h&&typeof h=="object")for(var k in h)Ht(c,k,h[k],_);else{h=b(h);for(var N=0,te=h.length;N<te;N++)Ht(c,h[N],_,E)}return this}var nt="_leaflet_events";function kt(c,h,_,E){if(arguments.length===1)ti(c),delete c[nt];else if(h&&typeof h=="object")for(var k in h)Wt(c,k,h[k],_);else if(h=b(h),arguments.length===2)ti(c,function(Ae){return R(h,Ae)!==-1});else for(var N=0,te=h.length;N<te;N++)Wt(c,h[N],_,E);return this}function ti(c,h){for(var _ in c[nt]){var E=_.split(/\d/)[0];(!h||h(E))&&Wt(c,E,null,null,_)}}var Yt={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ht(c,h,_,E){var k=h+d(_)+(E?"_"+d(E):"");if(c[nt]&&c[nt][k])return this;var N=function(Ae){return _.call(E||c,Ae||window.event)},te=N;!ge.touchNative&&ge.pointer&&h.indexOf("touch")===0?N=Ve(c,h,N):ge.touch&&h==="dblclick"?N=gt(c,N):"addEventListener"in c?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?c.addEventListener(Yt[h]||h,N,ge.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(N=function(Ae){Ae=Ae||window.event,bn(c,Ae)&&te(Ae)},c.addEventListener(Yt[h],N,!1)):c.addEventListener(h,te,!1):c.attachEvent("on"+h,N),c[nt]=c[nt]||{},c[nt][k]=N}function Wt(c,h,_,E,k){k=k||h+d(_)+(E?"_"+d(E):"");var N=c[nt]&&c[nt][k];if(!N)return this;!ge.touchNative&&ge.pointer&&h.indexOf("touch")===0?_t(c,h,N):ge.touch&&h==="dblclick"?Kt(c,N):"removeEventListener"in c?c.removeEventListener(Yt[h]||h,N,!1):c.detachEvent("on"+h,N),c[nt][k]=null}function Ft(c){return c.stopPropagation?c.stopPropagation():c.originalEvent?c.originalEvent._stopped=!0:c.cancelBubble=!0,this}function jt(c){return Ht(c,"wheel",Ft),this}function _i(c){return it(c,"mousedown touchstart dblclick contextmenu",Ft),c._leaflet_disable_click=!0,this}function pi(c){return c.preventDefault?c.preventDefault():c.returnValue=!1,this}function yi(c){return pi(c),Ft(c),this}function Mi(c){if(c.composedPath)return c.composedPath();for(var h=[],_=c.target;_;)h.push(_),_=_.parentNode;return h}function en(c,h){if(!h)return new xe(c.clientX,c.clientY);var _=at(h),E=_.boundingClientRect;return new xe((c.clientX-E.left)/_.x-h.clientLeft,(c.clientY-E.top)/_.y-h.clientTop)}var Pn=ge.linux&&ge.chrome?window.devicePixelRatio:ge.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function tn(c){return ge.edge?c.wheelDeltaY/2:c.deltaY&&c.deltaMode===0?-c.deltaY/Pn: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 bn(c,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==c;)_=_.parentNode}catch{return!1}return _!==c}var An={__proto__:null,on:it,off:kt,stopPropagation:Ft,disableScrollPropagation:jt,disableClickPropagation:_i,preventDefault:pi,stop:yi,getPropagationPath:Mi,getMousePosition:en,getWheelDelta:tn,isExternalTarget:bn,addListener:it,removeListener:kt},Tn=Ie.extend({run:function(c,h,_,E){this.stop(),this._el=c,this._inProgress=!0,this._duration=_||.25,this._easeOutPower=1/Math.max(E||.5,.2),this._startPos=Tt(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=Z(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(),$e(this._el,_),this.fire("step")},_complete:function(){de(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(c){return 1-Math.pow(1-c,this._easeOutPower)}}),ji=Ie.extend({options:{crs:fi,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=y(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(ye(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=T&&ge.any3d&&!ge.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),it(this._proxy,W,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(ye(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 E=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(c,h,_.zoom):this._tryAnimatedPan(c,_.pan);if(E)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||(ge.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+c,h)},zoomOut:function(c,h){return c=c||(ge.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-c,h)},setZoomAround:function(c,h,_){var E=this.getZoomScale(h),k=this.getSize().divideBy(2),N=c instanceof xe?c:this.latLngToContainerPoint(c),te=N.subtract(k).multiplyBy(1-1/E),Ae=this.containerPointToLatLng(k.add(te));return this.setView(Ae,h,{zoom:_})},_getBoundsCenterZoom:function(c,h){h=h||{},c=c.getBounds?c.getBounds():Ye(c);var _=ze(h.paddingTopLeft||h.padding||[0,0]),E=ze(h.paddingBottomRight||h.padding||[0,0]),k=this.getBoundsZoom(c,!1,_.add(E));if(k=typeof h.maxZoom=="number"?Math.min(h.maxZoom,k):k,k===1/0)return{center:c.getCenter(),zoom:k};var N=E.subtract(_).divideBy(2),te=this.project(c.getSouthWest(),k),Ae=this.project(c.getNorthEast(),k),We=this.unproject(te.add(Ae).divideBy(2).add(N),k);return{center:We,zoom:k}},fitBounds:function(c,h){if(c=Ye(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=ze(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 Tn,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Me(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||!ge.any3d)return this.setView(c,h,_);this._stop();var E=this.project(this.getCenter()),k=this.project(c),N=this.getSize(),te=this._zoom;c=ye(c),h=h===void 0?te:h;var Ae=Math.max(N.x,N.y),We=Ae*this.getZoomScale(te,h),ut=k.distanceTo(E)||1,oi=1.42,Ji=oi*oi;function wn(Ls){var Xl=Ls?-1:1,px=Ls?We:Ae,eC=We*We-Ae*Ae+Xl*Ji*Ji*ut*ut,tC=2*px*Ji*ut,I0=eC/tC,PS=Math.sqrt(I0*I0+1)-I0,t3=PS<1e-9?-18:Math.log(PS);return t3}function nn(Ls){return(Math.exp(Ls)-Math.exp(-Ls))/2}function _n(Ls){return(Math.exp(Ls)+Math.exp(-Ls))/2}function as(Ls){return nn(Ls)/_n(Ls)}var ms=wn(0);function Uo(Ls){return Ae*(_n(ms)/_n(ms+oi*Ls))}function vh(Ls){return Ae*(_n(ms)*as(ms+oi*Ls)-nn(ms))/Ji}function Yb(Ls){return 1-Math.pow(1-Ls,1.5)}var Qb=Date.now(),fx=(wn(1)-ms)/oi,Jb=_.duration?1e3*_.duration:1e3*fx*.8;function gx(){var Ls=(Date.now()-Qb)/Jb,Xl=Yb(Ls)*fx;Ls<=1?(this._flyToFrame=Z(gx,this),this._move(this.unproject(E.add(k.subtract(E).multiplyBy(vh(Xl)/ut)),te),this.getScaleZoom(Ae/Uo(Xl),te),{flyTo:!0})):this._move(c,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),gx.call(this),this},flyToBounds:function(c,h){var _=this._getBoundsCenterZoom(c,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(c){return c=Ye(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(),E=this._limitCenter(_,this._zoom,Ye(c));return _.equals(E)||this.panTo(E,h),this._enforcingBounds=!1,this},panInside:function(c,h){h=h||{};var _=ze(h.paddingTopLeft||h.padding||[0,0]),E=ze(h.paddingBottomRight||h.padding||[0,0]),k=this.project(this.getCenter()),N=this.project(c),te=this.getPixelBounds(),Ae=dt([te.min.add(_),te.max.subtract(E)]),We=Ae.getSize();if(!Ae.contains(N)){this._enforcingBounds=!0;var ut=N.subtract(Ae.getCenter()),oi=Ae.extend(N).getSize().subtract(We);k.x+=ut.x<0?-oi.x:oi.x,k.y+=ut.y<0?-oi.y:oi.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(),E=h.divideBy(2).round(),k=_.divideBy(2).round(),N=E.subtract(k);return!N.x&&!N.y?this:(c.animate&&c.pan?this.panBy(N):(c.pan&&this._rawPanBy(N),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,E=new yt(h,_),k=E.toBounds(c.coords.accuracy*2),N=this._locateOptions;if(N.setView){var te=this.getBoundsZoom(k);this.setView(E,N.maxZoom?Math.min(te,N.maxZoom):te)}var Ae={latlng:E,bounds:k,timestamp:c.timestamp};for(var We in c.coords)typeof c.coords[We]=="number"&&(Ae[We]=c.coords[We]);this.fire("locationfound",Ae)}},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(),oe(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(de(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)oe(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":""),E=ae("div",_,h||this._mapPane);return c&&(this._panes[c]=E),E},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 Pt(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=Ye(c),_=ze(_||[0,0]);var E=this.getZoom()||0,k=this.getMinZoom(),N=this.getMaxZoom(),te=c.getNorthWest(),Ae=c.getSouthEast(),We=this.getSize().subtract(_),ut=dt(this.project(Ae,E),this.project(te,E)).getSize(),oi=ge.any3d?this.options.zoomSnap:1,Ji=We.x/ut.x,wn=We.y/ut.y,nn=h?Math.max(Ji,wn):Math.min(Ji,wn);return E=this.getScaleZoom(nn,E),oi&&(E=Math.round(E/(oi/100))*(oi/100),E=h?Math.ceil(E/oi)*oi:Math.floor(E/oi)*oi),Math.max(k,Math.min(N,E))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new xe(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 me(_,_.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 E=_.zoom(c*_.scale(h));return isNaN(E)?1/0:E},project:function(c,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(ye(c),h)},unproject:function(c,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng(ze(c),h)},layerPointToLatLng:function(c){var h=ze(c).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(c){var h=this.project(ye(c))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(c){return this.options.crs.wrapLatLng(ye(c))},wrapLatLngBounds:function(c){return this.options.crs.wrapLatLngBounds(Ye(c))},distance:function(c,h){return this.options.crs.distance(ye(c),ye(h))},containerPointToLayerPoint:function(c){return ze(c).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(c){return ze(c).add(this._getMapPanePos())},containerPointToLatLng:function(c){var h=this.containerPointToLayerPoint(ze(c));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(c){return this.layerPointToContainerPoint(this.latLngToLayerPoint(ye(c)))},mouseEventToContainerPoint:function(c){return en(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=Y(c);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");it(h,"scroll",this._onScroll,this),this._containerId=d(h)},_initLayout:function(){var c=this._container;this._fadeAnimated=this.options.fadeAnimation&&ge.any3d,Me(c,"leaflet-container"+(ge.touch?" leaflet-touch":"")+(ge.retina?" leaflet-retina":"")+(ge.ielt9?" leaflet-oldie":"")+(ge.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=ne(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),$e(this._mapPane,new xe(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Me(c.markerPane,"leaflet-zoom-hide"),Me(c.shadowPane,"leaflet-zoom-hide"))},_resetView:function(c,h,_){$e(this._mapPane,new xe(0,0));var E=!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"),E&&this.fire("load")},_moveStart:function(c,h){return c&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(c,h,_,E){h===void 0&&(h=this._zoom);var k=this._zoom!==h;return this._zoom=h,this._lastCenter=c,this._pixelOrigin=this._getNewPixelOrigin(c),E?_&&_.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 de(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(c){$e(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?kt:it;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),ge.any3d&&this.options.transform3DLimit&&(c?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){de(this._resizeRequest),this._resizeRequest=Z(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 _=[],E,k=h==="mouseout"||h==="mouseover",N=c.target||c.srcElement,te=!1;N;){if(E=this._targets[d(N)],E&&(h==="click"||h==="preclick")&&this._draggableMoved(E)){te=!0;break}if(E&&E.listens(h,!0)&&(k&&!bn(N,c)||(_.push(E),k))||N===this._container)break;N=N.parentNode}return!_.length&&!te&&!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"&&De(h),this._fireDOMEvent(c,_)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(c,h,_){if(c.type==="click"){var E=n({},c);E.type="preclick",this._fireDOMEvent(E,E.type,_)}var k=this._findEventTargets(c,h);if(_){for(var N=[],te=0;te<_.length;te++)_[te].listens(h,!0)&&N.push(_[te]);k=N.concat(k)}if(k.length){h==="contextmenu"&&pi(c);var Ae=k[0],We={originalEvent:c};if(c.type!=="keypress"&&c.type!=="keydown"&&c.type!=="keyup"){var ut=Ae.getLatLng&&(!Ae._radius||Ae._radius<=10);We.containerPoint=ut?this.latLngToContainerPoint(Ae.getLatLng()):this.mouseEventToContainerPoint(c),We.layerPoint=this.containerPointToLayerPoint(We.containerPoint),We.latlng=ut?Ae.getLatLng():this.layerPointToLatLng(We.layerPoint)}for(te=0;te<k.length;te++)if(k[te].fire(h,We,!0),We.originalEvent._stopped||k[te].options.bubblingMouseEvents===!1&&R(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 Tt(this._mapPane)||new xe(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 E=this._getNewPixelOrigin(_,h);return this.project(c,h)._subtract(E)},_latLngBoundsToNewLayerBounds:function(c,h,_){var E=this._getNewPixelOrigin(_,h);return dt([this.project(c.getSouthWest(),h)._subtract(E),this.project(c.getNorthWest(),h)._subtract(E),this.project(c.getSouthEast(),h)._subtract(E),this.project(c.getNorthEast(),h)._subtract(E)])},_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 E=this.project(c,h),k=this.getSize().divideBy(2),N=new me(E.subtract(k),E.add(k)),te=this._getBoundsOffset(N,_,h);return Math.abs(te.x)<=1&&Math.abs(te.y)<=1?c:this.unproject(E.add(te),h)},_limitOffset:function(c,h){if(!h)return c;var _=this.getPixelBounds(),E=new me(_.min.add(c),_.max.add(c));return c.add(this._getBoundsOffset(E,h))},_getBoundsOffset:function(c,h,_){var E=dt(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),k=E.min.subtract(c.min),N=E.max.subtract(c.max),te=this._rebound(k.x,-N.x),Ae=this._rebound(k.y,-N.y);return new xe(te,Ae)},_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(),E=ge.any3d?this.options.zoomSnap:1;return E&&(c=Math.round(c/E)*E),Math.max(h,Math.min(_,c))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){ot(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=ae("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(c),this.on("zoomanim",function(h){var _=U,E=this._proxy.style[_];Ue(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),E===this._proxy.style[_]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){oe(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var c=this.getCenter(),h=this.getZoom();Ue(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 E=this.getZoomScale(h),k=this._getCenterOffset(c)._divideBy(1-1/E);return _.animate!==!0&&!this.getSize().contains(k)?!1:(Z(function(){this._moveStart(!0,_.noMoveStart||!1)._animateZoom(c,h,!0)},this),!0)},_animateZoom:function(c,h,_,E){this._mapPane&&(_&&(this._animatingZoom=!0,this._animateToCenter=c,this._animateToZoom=h,Me(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:c,zoom:h,noUpdate:E}),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&&ot(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 Xi(c,h){return new ji(c,h)}var sn=se.extend({options:{position:"topright"},initialize:function(c){y(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(),E=c._controlCorners[_];return Me(h,"leaflet-control"),_.indexOf("bottom")!==-1?E.insertBefore(h,E.firstChild):E.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(oe(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()}}),xn=function(c){return new sn(c)};ji.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=ae("div",h+"control-container",this._container);function E(k,N){var te=h+k+" "+h+N;c[k+N]=ae("div",te,_)}E("top","left"),E("top","right"),E("bottom","left"),E("bottom","right")},_clearControlPos:function(){for(var c in this._controlCorners)oe(this._controlCorners[c]);oe(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var jn=sn.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(c,h,_,E){return _<E?-1:E<_?1:0}},initialize:function(c,h,_){y(this,_),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var E in c)this._addLayer(c[E],E);for(E in h)this._addLayer(h[E],E,!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 sn.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(){Me(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?(Me(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=c+"px"):ot(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return ot(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var c="leaflet-control-layers",h=this._container=ae("div",c),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),_i(h),jt(h);var E=this._section=ae("section",c+"-list");_&&(this._map.on("click",this.collapse,this),it(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=ae("a",c+"-toggle",h);k.href="#",k.title="Layers",k.setAttribute("role","button"),it(k,{keydown:function(N){N.keyCode===13&&this._expandSafely()},click:function(N){pi(N),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=ae("div",c+"-base",E),this._separator=ae("div",c+"-separator",E),this._overlaysList=ae("div",c+"-overlays",E),h.appendChild(E)},_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(E,k){return this.options.sortFunction(E.layer,k.layer,E.name,k.name)},this)),this.options.autoZIndex&&c.setZIndex&&(this._lastZIndex++,c.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;we(this._baseLayersList),we(this._overlaysList),this._layerControlInputs=[];var c,h,_,E,k=0;for(_=0;_<this._layers.length;_++)E=this._layers[_],this._addItem(E),h=h||E.overlay,c=c||!E.overlay,k+=E.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"':"")+"/>",E=document.createElement("div");return E.innerHTML=_,E.firstChild},_addItem:function(c){var h=document.createElement("label"),_=this._map.hasLayer(c.layer),E;c.overlay?(E=document.createElement("input"),E.type="checkbox",E.className="leaflet-control-layers-selector",E.defaultChecked=_):E=this._createRadioElement("leaflet-base-layers_"+d(this),_),this._layerControlInputs.push(E),E.layerId=d(c.layer),it(E,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+c.name;var N=document.createElement("span");h.appendChild(N),N.appendChild(E),N.appendChild(k);var te=c.overlay?this._overlaysList:this._baseLayersList;return te.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var c=this._layerControlInputs,h,_,E=[],k=[];this._handlingClick=!0;for(var N=c.length-1;N>=0;N--)h=c[N],_=this._getLayer(h.layerId).layer,h.checked?E.push(_):h.checked||k.push(_);for(N=0;N<k.length;N++)this._map.hasLayer(k[N])&&this._map.removeLayer(k[N]);for(N=0;N<E.length;N++)this._map.hasLayer(E[N])||this._map.addLayer(E[N]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var c=this._layerControlInputs,h,_,E=this._map.getZoom(),k=c.length-1;k>=0;k--)h=c[k],_=this._getLayer(h.layerId).layer,h.disabled=_.options.minZoom!==void 0&&E<_.options.minZoom||_.options.maxZoom!==void 0&&E>_.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var c=this._section;this._preventClick=!0,it(c,"click",pi),this.expand();var h=this;setTimeout(function(){kt(c,"click",pi),h._preventClick=!1})}}),Zs=function(c,h,_){return new jn(c,h,_)},no=sn.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(c){var h="leaflet-control-zoom",_=ae("div",h+" leaflet-bar"),E=this.options;return this._zoomInButton=this._createButton(E.zoomInText,E.zoomInTitle,h+"-in",_,this._zoomIn),this._zoomOutButton=this._createButton(E.zoomOutText,E.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,_,E,k){var N=ae("a",_,E);return N.innerHTML=c,N.href="#",N.title=h,N.setAttribute("role","button"),N.setAttribute("aria-label",h),_i(N),it(N,"click",yi),it(N,"click",k,this),it(N,"click",this._refocusOnMap,this),N},_updateDisabled:function(){var c=this._map,h="leaflet-disabled";ot(this._zoomInButton,h),ot(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||c._zoom===c.getMinZoom())&&(Me(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||c._zoom===c.getMaxZoom())&&(Me(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});ji.mergeOptions({zoomControl:!0}),ji.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new no,this.addControl(this.zoomControl))});var va=function(c){return new no(c)},jl=sn.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(c){var h="leaflet-control-scale",_=ae("div",h),E=this.options;return this._addScales(E,h+"-line",_),c.on(E.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=ae("div",h,_)),c.imperial&&(this._iScale=ae("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,_,E,k;h>5280?(_=h/5280,E=this._getRoundNum(_),this._updateScale(this._iScale,E+" mi",E/_)):(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*_}}),_r=function(c){return new jl(c)},Ur='<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>',$l=sn.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(ge.inlineSvg?Ur+" ":"")+"Leaflet</a>"},initialize:function(c){y(this,c),this._attributions={}},onAdd:function(c){c.attributionControl=this,this._container=ae("div","leaflet-control-attribution"),_i(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> ')}}});ji.mergeOptions({attributionControl:!0}),ji.addInitHook(function(){this.options.attributionControl&&new $l().addTo(this)});var C0=function(c){return new $l(c)};sn.Layers=jn,sn.Zoom=no,sn.Scale=jl,sn.Attribution=$l,xn.layers=Zs,xn.zoom=va,xn.scale=_r,xn.attribution=C0;var Wo=se.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}});Wo.addTo=function(c,h){return c.addHandler(h,this),this};var ed={Events:Se},ah=ge.touch?"touchstart mousedown":"mousedown",zo=Ie.extend({options:{clickTolerance:3},initialize:function(c,h,_,E){y(this,E),this._element=c,this._dragStartTarget=h||c,this._preventOutline=_},enable:function(){this._enabled||(it(this._dragStartTarget,ah,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(zo._dragging===this&&this.finishDrag(!0),kt(this._dragStartTarget,ah,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(c){if(this._enabled&&(this._moved=!1,!Le(this._element,"leaflet-zoom-anim"))){if(c.touches&&c.touches.length!==1){zo._dragging===this&&this.finishDrag();return}if(!(zo._dragging||c.shiftKey||c.which!==1&&c.button!==1&&!c.touches)&&(zo._dragging=this,this._preventOutline&&De(this._element),st(),pt(),!this._moving)){this.fire("down");var h=c.touches?c.touches[0]:c,_=qe(this._element);this._startPoint=new xe(h.clientX,h.clientY),this._startPos=Tt(this._element),this._parentScale=at(_);var E=c.type==="mousedown";it(document,E?"mousemove":"touchmove",this._onMove,this),it(document,E?"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 xe(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,pi(c),this._moved||(this.fire("dragstart"),this._moved=!0,Me(document.body,"leaflet-dragging"),this._lastTarget=c.target||c.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Me(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),$e(this._element,this._newPos),this.fire("drag",c)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(c){ot(document.body,"leaflet-dragging"),this._lastTarget&&(ot(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),kt(document,"mousemove touchmove",this._onMove,this),kt(document,"mouseup touchend touchcancel",this._onUp,this),Rt(),Qe();var h=this._moved&&this._moving;this._moving=!1,zo._dragging=!1,h&&this.fire("dragend",{noInertia:c,distance:this._newPos.distanceTo(this._startPos)})}});function td(c,h,_){var E,k=[1,4,2,8],N,te,Ae,We,ut,oi,Ji,wn;for(N=0,oi=c.length;N<oi;N++)c[N]._code=ar(c[N],h);for(Ae=0;Ae<4;Ae++){for(Ji=k[Ae],E=[],N=0,oi=c.length,te=oi-1;N<oi;te=N++)We=c[N],ut=c[te],We._code&Ji?ut._code&Ji||(wn=_a(ut,We,Ji,h,_),wn._code=ar(wn,h),E.push(wn)):(ut._code&Ji&&(wn=_a(ut,We,Ji,h,_),wn._code=ar(wn,h),E.push(wn)),E.push(We));c=E}return c}function Ss(c,h){var _,E,k,N,te,Ae,We,ut,oi;if(!c||c.length===0)throw new Error("latlngs not passed");jo(c)||(console.warn("latlngs are not flat! Only the first ring will be used"),c=c[0]);var Ji=ye([0,0]),wn=Ye(c),nn=wn.getNorthWest().distanceTo(wn.getSouthWest())*wn.getNorthEast().distanceTo(wn.getNorthWest());nn<1700&&(Ji=Ja(c));var _n=c.length,as=[];for(_=0;_<_n;_++){var ms=ye(c[_]);as.push(h.project(ye([ms.lat-Ji.lat,ms.lng-Ji.lng])))}for(Ae=We=ut=0,_=0,E=_n-1;_<_n;E=_++)k=as[_],N=as[E],te=k.y*N.x-N.y*k.x,We+=(k.x+N.x)*te,ut+=(k.y+N.y)*te,Ae+=te*3;Ae===0?oi=as[0]:oi=[We/Ae,ut/Ae];var Uo=h.unproject(ze(oi));return ye([Uo.lat+Ji.lat,Uo.lng+Ji.lng])}function Ja(c){for(var h=0,_=0,E=0,k=0;k<c.length;k++){var N=ye(c[k]);h+=N.lat,_+=N.lng,E++}return ye([h/E,_/E])}var id={__proto__:null,clipPolygon:td,polygonCenter:Ss,centroid:Ja};function nd(c,h){if(!h||!c.length)return c.slice();var _=h*h;return c=lh(c,_),c=od(c,_),c}function sd(c,h,_){return Math.sqrt(Vo(c,h,_,!0))}function E0(c,h,_){return Vo(c,h,_)}function od(c,h){var _=c.length,E=typeof Uint8Array<"u"?Uint8Array:Array,k=new E(_);k[0]=k[_-1]=1,ma(c,k,h,0,_-1);var N,te=[];for(N=0;N<_;N++)k[N]&&te.push(c[N]);return te}function ma(c,h,_,E,k){var N=0,te,Ae,We;for(Ae=E+1;Ae<=k-1;Ae++)We=Vo(c[Ae],c[E],c[k],!0),We>N&&(te=Ae,N=We);N>_&&(h[te]=1,ma(c,h,_,E,te),ma(c,h,_,te,k))}function lh(c,h){for(var _=[c[0]],E=1,k=0,N=c.length;E<N;E++)y0(c[E],c[k])>h&&(_.push(c[E]),k=E);return k<N-1&&_.push(c[N-1]),_}var rd;function ad(c,h,_,E,k){var N=E?rd:ar(c,_),te=ar(h,_),Ae,We,ut;for(rd=te;;){if(!(N|te))return[c,h];if(N&te)return!1;Ae=N||te,We=_a(c,h,Ae,_,k),ut=ar(We,_),Ae===N?(c=We,N=ut):(h=We,te=ut)}}function _a(c,h,_,E,k){var N=h.x-c.x,te=h.y-c.y,Ae=E.min,We=E.max,ut,oi;return _&8?(ut=c.x+N*(We.y-c.y)/te,oi=We.y):_&4?(ut=c.x+N*(Ae.y-c.y)/te,oi=Ae.y):_&2?(ut=We.x,oi=c.y+te*(We.x-c.x)/N):_&1&&(ut=Ae.x,oi=c.y+te*(Ae.x-c.x)/N),new xe(ut,oi,k)}function ar(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 y0(c,h){var _=h.x-c.x,E=h.y-c.y;return _*_+E*E}function Vo(c,h,_,E){var k=h.x,N=h.y,te=_.x-k,Ae=_.y-N,We=te*te+Ae*Ae,ut;return We>0&&(ut=((c.x-k)*te+(c.y-N)*Ae)/We,ut>1?(k=_.x,N=_.y):ut>0&&(k+=te*ut,N+=Ae*ut)),te=c.x-k,Ae=c.y-N,E?te*te+Ae*Ae:new xe(k,N)}function jo(c){return!M(c[0])||typeof c[0][0]!="object"&&typeof c[0][0]<"u"}function w0(c){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),jo(c)}function nx(c,h){var _,E,k,N,te,Ae,We,ut;if(!c||c.length===0)throw new Error("latlngs not passed");jo(c)||(console.warn("latlngs are not flat! Only the first ring will be used"),c=c[0]);var oi=ye([0,0]),Ji=Ye(c),wn=Ji.getNorthWest().distanceTo(Ji.getSouthWest())*Ji.getNorthEast().distanceTo(Ji.getNorthWest());wn<1700&&(oi=Ja(c));var nn=c.length,_n=[];for(_=0;_<nn;_++){var as=ye(c[_]);_n.push(h.project(ye([as.lat-oi.lat,as.lng-oi.lng])))}for(_=0,E=0;_<nn-1;_++)E+=_n[_].distanceTo(_n[_+1])/2;if(E===0)ut=_n[0];else for(_=0,N=0;_<nn-1;_++)if(te=_n[_],Ae=_n[_+1],k=te.distanceTo(Ae),N+=k,N>E){We=(N-E)/k,ut=[Ae.x-We*(Ae.x-te.x),Ae.y-We*(Ae.y-te.y)];break}var ms=h.unproject(ze(ut));return ye([ms.lat+oi.lat,ms.lng+oi.lng])}var sx={__proto__:null,simplify:nd,pointToSegmentDistance:sd,closestPointOnSegment:E0,clipSegment:ad,_getEdgeIntersection:_a,_getBitCode:ar,_sqClosestPointOnSegment:Vo,isFlat:jo,_flat:w0,polylineCenter:nx},el={project:function(c){return new xe(c.lng,c.lat)},unproject:function(c){return new yt(c.y,c.x)},bounds:new me([-180,-90],[180,90])},S0={R:6378137,R_MINOR:6356752314245179e-9,bounds:new me([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(c){var h=Math.PI/180,_=this.R,E=c.lat*h,k=this.R_MINOR/_,N=Math.sqrt(1-k*k),te=N*Math.sin(E),Ae=Math.tan(Math.PI/4-E/2)/Math.pow((1-te)/(1+te),N/2);return E=-_*Math.log(Math.max(Ae,1e-10)),new xe(c.lng*h*_,E)},unproject:function(c){for(var h=180/Math.PI,_=this.R,E=this.R_MINOR/_,k=Math.sqrt(1-E*E),N=Math.exp(-c.y/_),te=Math.PI/2-2*Math.atan(N),Ae=0,We=.1,ut;Ae<15&&Math.abs(We)>1e-7;Ae++)ut=k*Math.sin(te),ut=Math.pow((1-ut)/(1+ut),k/2),We=Math.PI/2-2*Math.atan(N*ut)-te,te+=We;return new yt(te*h,c.x*h/_)}},Wb={__proto__:null,LonLat:el,Mercator:S0,SphericalMercator:ft},zb=n({},ht,{code:"EPSG:3395",projection:S0,transformation:(function(){var c=.5/(Math.PI*S0.R);return mi(c,.5,-c,.5)})()}),D0=n({},ht,{code:"EPSG:4326",projection:el,transformation:mi(1/180,1,-1/180,.5)}),Vb=n({},Oe,{projection:el,transformation:mi(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,E=h.lat-c.lat;return Math.sqrt(_*_+E*E)},infinite:!0});Oe.Earth=ht,Oe.EPSG3395=zb,Oe.EPSG3857=fi,Oe.EPSG900913=Ei,Oe.EPSG4326=D0,Oe.Simple=Vb;var $o=Ie.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})}}});ji.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?M(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 E in this._zoomBoundLayers){var k=this._zoomBoundLayers[E].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 Ul=$o.extend({initialize:function(c,h){y(this,h),this._layers={};var _,E;if(c)for(_=0,E=c.length;_<E;_++)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),_,E;for(_ in this._layers)E=this._layers[_],E[c]&&E[c].apply(E,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)}}),ox=function(c,h){return new Ul(c,h)},br=Ul.extend({addLayer:function(c){return this.hasLayer(c)?this:(c.addEventParent(this),Ul.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),Ul.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 Pt;for(var h in this._layers){var _=this._layers[h];c.extend(_.getBounds?_.getBounds():_.getLatLng())}return c}}),jb=function(c,h){return new br(c,h)},tl=se.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(c){y(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 E=this._createImg(_,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(E,c),(this.options.crossOrigin||this.options.crossOrigin==="")&&(E.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),E},_setIconStyles:function(c,h){var _=this.options,E=_[h+"Size"];typeof E=="number"&&(E=[E,E]);var k=ze(E),N=ze(h==="shadow"&&_.shadowAnchor||_.iconAnchor||k&&k.divideBy(2,!0));c.className="leaflet-marker-"+h+" "+(_.className||""),N&&(c.style.marginLeft=-N.x+"px",c.style.marginTop=-N.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 ge.retina&&this.options[c+"RetinaUrl"]||this.options[c+"Url"]}});function $b(c){return new tl(c)}var ql=tl.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 ql.imagePath!="string"&&(ql.imagePath=this._detectIconPath()),(this.options.imagePath||ql.imagePath)+tl.prototype._getIconUrl.call(this,c)},_stripUrl:function(c){var h=function(_,E,k){var N=E.exec(_);return N&&N[k]};return c=h(c,/^url\((['"])?(.+)\1\)$/,2),c&&h(c,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var c=ae("div","leaflet-default-icon-path",document.body),h=ne(c,"background-image")||ne(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):""}}),A0=Wo.extend({initialize:function(c){this._marker=c},addHooks:function(){var c=this._marker._icon;this._draggable||(this._draggable=new zo(c,c,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Me(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&&ot(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(c){var h=this._marker,_=h._map,E=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,N=Tt(h._icon),te=_.getPixelBounds(),Ae=_.getPixelOrigin(),We=dt(te.min._subtract(Ae).add(k),te.max._subtract(Ae).subtract(k));if(!We.contains(N)){var ut=ze((Math.max(We.max.x,N.x)-We.max.x)/(te.max.x-We.max.x)-(Math.min(We.min.x,N.x)-We.min.x)/(te.min.x-We.min.x),(Math.max(We.max.y,N.y)-We.max.y)/(te.max.y-We.max.y)-(Math.min(We.min.y,N.y)-We.min.y)/(te.min.y-We.min.y)).multiplyBy(E);_.panBy(ut,{animate:!1}),this._draggable._newPos._add(ut),this._draggable._startPos._add(ut),$e(h._icon,this._draggable._newPos),this._onDrag(c),this._panRequest=Z(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&&(de(this._panRequest),this._panRequest=Z(this._adjustPan.bind(this,c)))},_onDrag:function(c){var h=this._marker,_=h._shadow,E=Tt(h._icon),k=h._map.layerPointToLatLng(E);_&&$e(_,E),h._latlng=k,c.latlng=k,c.oldLatLng=this._oldLatLng,h.fire("move",c).fire("drag",c)},_onDragEnd:function(c){de(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",c)}}),il=$o.extend({options:{icon:new ql,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){y(this,h),this._latlng=ye(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=ye(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),E=!1;_!==this._icon&&(this._icon&&this._removeIcon(),E=!0,c.title&&(_.title=c.title),_.tagName==="IMG"&&(_.alt=c.alt||"")),Me(_,h),c.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,c.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&it(_,"focus",this._panOnFocus,this);var k=c.icon.createShadow(this._shadow),N=!1;k!==this._shadow&&(this._removeShadow(),N=!0),k&&(Me(k,h),k.alt=""),this._shadow=k,c.opacity<1&&this._updateOpacity(),E&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&N&&this.getPane(c.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&kt(this._icon,"focus",this._panOnFocus,this),oe(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&oe(this._shadow),this._shadow=null},_setPos:function(c){this._icon&&$e(this._icon,c),this._shadow&&$e(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&&(Me(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),A0)){var c=this.options.draggable;this.dragging&&(c=this.dragging.enabled(),this.dragging.disable()),this.dragging=new A0(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&&ce(this._icon,c),this._shadow&&ce(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?ze(h.iconSize):ze(0,0),E=h.iconAnchor?ze(h.iconAnchor):ze(0,0);c.panInside(this._latlng,{paddingTopLeft:E,paddingBottomRight:_.subtract(E)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function Ub(c,h){return new il(c,h)}var qr=$o.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 y(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)}}),ch=qr.extend({options:{fill:!0,radius:10},initialize:function(c,h){y(this,h),this._latlng=ye(c),this._radius=this.options.radius},setLatLng:function(c){var h=this._latlng;return this._latlng=ye(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 qr.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(),E=[c+_,h+_];this._pxBounds=new me(this._point.subtract(E),this._point.add(E))},_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 qb(c,h){return new ch(c,h)}var dh=ch.extend({initialize:function(c,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),y(this,h),this._latlng=ye(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 Pt(this._map.layerPointToLatLng(this._point.subtract(c)),this._map.layerPointToLatLng(this._point.add(c)))},setStyle:qr.prototype.setStyle,_project:function(){var c=this._latlng.lng,h=this._latlng.lat,_=this._map,E=_.options.crs;if(E.distance===ht.distance){var k=Math.PI/180,N=this._mRadius/ht.R/k,te=_.project([h+N,c]),Ae=_.project([h-N,c]),We=te.add(Ae).divideBy(2),ut=_.unproject(We).lat,oi=Math.acos((Math.cos(N*k)-Math.sin(h*k)*Math.sin(ut*k))/(Math.cos(h*k)*Math.cos(ut*k)))/k;(isNaN(oi)||oi===0)&&(oi=N/Math.cos(Math.PI/180*h)),this._point=We.subtract(_.getPixelOrigin()),this._radius=isNaN(oi)?0:We.x-_.project([ut,c-oi]).x,this._radiusY=We.y-te.y}else{var Ji=E.unproject(E.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(Ji).x}this._updateBounds()}});function Gb(c,h,_){return new dh(c,h,_)}var lr=qr.extend({options:{smoothFactor:1,noClip:!1},initialize:function(c,h){y(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,E=Vo,k,N,te=0,Ae=this._parts.length;te<Ae;te++)for(var We=this._parts[te],ut=1,oi=We.length;ut<oi;ut++){k=We[ut-1],N=We[ut];var Ji=E(c,k,N,!0);Ji<h&&(h=Ji,_=E(c,k,N))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return nx(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(c,h){return h=h||this._defaultShape(),c=ye(c),h.push(c),this._bounds.extend(c),this.redraw()},_setLatLngs:function(c){this._bounds=new Pt,this._latlngs=this._convertLatLngs(c)},_defaultShape:function(){return jo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(c){for(var h=[],_=jo(c),E=0,k=c.length;E<k;E++)_?(h[E]=ye(c[E]),this._bounds.extend(h[E])):h[E]=this._convertLatLngs(c[E]);return h},_project:function(){var c=new me;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 xe(c,c);this._rawPxBounds&&(this._pxBounds=new me([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(c,h,_){var E=c[0]instanceof yt,k=c.length,N,te;if(E){for(te=[],N=0;N<k;N++)te[N]=this._map.latLngToLayerPoint(c[N]),_.extend(te[N]);h.push(te)}else for(N=0;N<k;N++)this._projectLatlngs(c[N],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,_,E,k,N,te,Ae,We;for(_=0,k=0,N=this._rings.length;_<N;_++)for(We=this._rings[_],E=0,te=We.length;E<te-1;E++)Ae=ad(We[E],We[E+1],c,E,!0),Ae&&(h[k]=h[k]||[],h[k].push(Ae[0]),(Ae[1]!==We[E+1]||E===te-2)&&(h[k].push(Ae[1]),k++))}},_simplifyPoints:function(){for(var c=this._parts,h=this.options.smoothFactor,_=0,E=c.length;_<E;_++)c[_]=nd(c[_],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(c,h){var _,E,k,N,te,Ae,We=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(c))return!1;for(_=0,N=this._parts.length;_<N;_++)for(Ae=this._parts[_],E=0,te=Ae.length,k=te-1;E<te;k=E++)if(!(!h&&E===0)&&sd(c,Ae[k],Ae[E])<=We)return!0;return!1}});function rx(c,h){return new lr(c,h)}lr._flat=w0;var Gl=lr.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 Ss(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(c){var h=lr.prototype._convertLatLngs.call(this,c),_=h.length;return _>=2&&h[0]instanceof yt&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(c){lr.prototype._setLatLngs.call(this,c),jo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return jo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var c=this._renderer._bounds,h=this.options.weight,_=new xe(h,h);if(c=new me(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 E=0,k=this._rings.length,N;E<k;E++)N=td(this._rings[E],c,!0),N.length&&this._parts.push(N)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(c){var h=!1,_,E,k,N,te,Ae,We,ut;if(!this._pxBounds||!this._pxBounds.contains(c))return!1;for(N=0,We=this._parts.length;N<We;N++)for(_=this._parts[N],te=0,ut=_.length,Ae=ut-1;te<ut;Ae=te++)E=_[te],k=_[Ae],E.y>c.y!=k.y>c.y&&c.x<(k.x-E.x)*(c.y-E.y)/(k.y-E.y)+E.x&&(h=!h);return h||lr.prototype._containsPoint.call(this,c,!0)}});function ax(c,h){return new Gl(c,h)}var Cr=br.extend({initialize:function(c,h){y(this,h),this._layers={},c&&this.addData(c)},addData:function(c){var h=M(c)?c:c.features,_,E,k;if(h){for(_=0,E=h.length;_<E;_++)k=h[_],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var N=this.options;if(N.filter&&!N.filter(c))return this;var te=ld(c,N);return te?(te.feature=Zl(c),te.defaultOptions=te.options,this.resetStyle(te),N.onEachFeature&&N.onEachFeature(c,te),this.addLayer(te)):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 ld(c,h){var _=c.type==="Feature"?c.geometry:c,E=_?_.coordinates:null,k=[],N=h&&h.pointToLayer,te=h&&h.coordsToLatLng||B0,Ae,We,ut,oi;if(!E&&!_)return null;switch(_.type){case"Point":return Ae=te(E),k0(N,c,Ae,h);case"MultiPoint":for(ut=0,oi=E.length;ut<oi;ut++)Ae=te(E[ut]),k.push(k0(N,c,Ae,h));return new br(k);case"LineString":case"MultiLineString":return We=cd(E,_.type==="LineString"?0:1,te),new lr(We,h);case"Polygon":case"MultiPolygon":return We=cd(E,_.type==="Polygon"?1:2,te),new Gl(We,h);case"GeometryCollection":for(ut=0,oi=_.geometries.length;ut<oi;ut++){var Ji=ld({geometry:_.geometries[ut],type:"Feature",properties:c.properties},h);Ji&&k.push(Ji)}return new br(k);case"FeatureCollection":for(ut=0,oi=_.features.length;ut<oi;ut++){var wn=ld(_.features[ut],h);wn&&k.push(wn)}return new br(k);default:throw new Error("Invalid GeoJSON object.")}}function k0(c,h,_,E){return c?c(h,_):new il(_,E&&E.markersInheritOptions&&E)}function B0(c){return new yt(c[1],c[0],c[2])}function cd(c,h,_){for(var E=[],k=0,N=c.length,te;k<N;k++)te=h?cd(c[k],h-1,_):(_||B0)(c[k]),E.push(te);return E}function F0(c,h){return c=ye(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 uh(c,h,_,E){for(var k=[],N=0,te=c.length;N<te;N++)k.push(h?uh(c[N],jo(c[N])?0:h-1,_,E):F0(c[N],E));return!h&&_&&k.length>0&&k.push(k[0].slice()),k}function Kl(c,h){return c.feature?n({},c.feature,{geometry:h}):Zl(h)}function Zl(c){return c.type==="Feature"||c.type==="FeatureCollection"?c:{type:"Feature",properties:{},geometry:c}}var hh={toGeoJSON:function(c){return Kl(this,{type:"Point",coordinates:F0(this.getLatLng(),c)})}};il.include(hh),dh.include(hh),ch.include(hh),lr.include({toGeoJSON:function(c){var h=!jo(this._latlngs),_=uh(this._latlngs,h?1:0,!1,c);return Kl(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),Gl.include({toGeoJSON:function(c){var h=!jo(this._latlngs),_=h&&!jo(this._latlngs[0]),E=uh(this._latlngs,_?2:h?1:0,!0,c);return h||(E=[E]),Kl(this,{type:(_?"Multi":"")+"Polygon",coordinates:E})}}),Ul.include({toMultiPoint:function(c){var h=[];return this.eachLayer(function(_){h.push(_.toGeoJSON(c).geometry.coordinates)}),Kl(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",E=[];return this.eachLayer(function(k){if(k.toGeoJSON){var N=k.toGeoJSON(c);if(_)E.push(N.geometry);else{var te=Zl(N);te.type==="FeatureCollection"?E.push.apply(E,te.features):E.push(te)}}}),_?Kl(this,{geometries:E,type:"GeometryCollection"}):{type:"FeatureCollection",features:E}}});function L0(c,h){return new Cr(c,h)}var lx=L0,fh=$o.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(c,h,_){this._url=c,this._bounds=Ye(h),y(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Me(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){oe(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&&je(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=Ye(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:ae("img");if(Me(h,"leaflet-image-layer"),this._zoomAnimated&&Me(h,"leaflet-zoom-animated"),this.options.className&&Me(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;Ue(this._image,_,h)},_reset:function(){var c=this._image,h=new me(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();$e(c,h.min),c.style.width=_.x+"px",c.style.height=_.y+"px"},_updateOpacity:function(){ce(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()}}),cx=function(c,h,_){return new fh(c,h,_)},gh=fh.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:ae("video");if(Me(h,"leaflet-image-layer"),this._zoomAnimated&&Me(h,"leaflet-zoom-animated"),this.options.className&&Me(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),c){for(var _=h.getElementsByTagName("source"),E=[],k=0;k<_.length;k++)E.push(_[k].src);this._url=_.length>0?E:[h.src];return}M(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 N=0;N<this._url.length;N++){var te=ae("source");te.src=this._url[N],h.appendChild(te)}}});function dx(c,h,_){return new gh(c,h,_)}var ux=fh.extend({_initImage:function(){var c=this._image=this._url;Me(c,"leaflet-image-layer"),this._zoomAnimated&&Me(c,"leaflet-zoom-animated"),this.options.className&&Me(c,this.options.className),c.onselectstart=g,c.onmousemove=g}});function Kb(c,h,_){return new ux(c,h,_)}var Er=$o.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(c,h){c&&(c instanceof yt||M(c))?(this._latlng=ye(c),y(this,h)):(y(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&&ce(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),c._fadeAnimated&&ce(this._container,1),this.bringToFront(),this.options.interactive&&(Me(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(c){c._fadeAnimated?(ce(this._container,0),this._removeTimeout=setTimeout(r(oe,void 0,this._container),200)):oe(this._container),this.options.interactive&&(ot(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(c){return this._latlng=ye(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&&je(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 br){h=null;var _=this._source._layers;for(var E in _)if(_[E]._map){h=_[E];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=ze(this.options.offset),_=this._getAnchor();this._zoomAnimated?$e(this._container,c.add(_)):h=h.add(c).add(_);var E=this._containerBottom=-h.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=E+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});ji.include({_initOverlay:function(c,h,_,E){var k=h;return k instanceof c||(k=new c(E).setContent(h)),_&&k.setLatLng(_),k}}),$o.include({_initOverlay:function(c,h,_,E){var k=_;return k instanceof c?(y(k,E),k._source=this):(k=h&&!E?h:new c(E,this),k.setContent(_)),k}});var ph=Er.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,Er.prototype.openOn.call(this,c)},onAdd:function(c){Er.prototype.onAdd.call(this,c),c.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof qr||this._source.on("preclick",Ft))},onRemove:function(c){Er.prototype.onRemove.call(this,c),c.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof qr||this._source.off("preclick",Ft))},getEvents:function(){var c=Er.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=ae("div",c+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=ae("div",c+"-content-wrapper",h);if(this._contentNode=ae("div",c+"-content",_),_i(h),jt(this._contentNode),it(h,"contextmenu",Ft),this._tipContainer=ae("div",c+"-tip-container",h),this._tip=ae("div",c+"-tip",this._tipContainer),this.options.closeButton){var E=this._closeButton=ae("a",c+"-close-button",h);E.setAttribute("role","button"),E.setAttribute("aria-label","Close popup"),E.href="#close",E.innerHTML='<span aria-hidden="true">×</span>',it(E,"click",function(k){pi(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 E=c.offsetHeight,k=this.options.maxHeight,N="leaflet-popup-scrolled";k&&E>k?(h.height=k+"px",Me(c,N)):ot(c,N),this._containerWidth=this._container.offsetWidth},_animateZoom:function(c){var h=this._map._latLngToNewLayerPoint(this._latlng,c.zoom,c.center),_=this._getAnchor();$e(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(ne(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,E=this._containerWidth,k=new xe(this._containerLeft,-_-this._containerBottom);k._add(Tt(this._container));var N=c.layerPointToContainerPoint(k),te=ze(this.options.autoPanPadding),Ae=ze(this.options.autoPanPaddingTopLeft||te),We=ze(this.options.autoPanPaddingBottomRight||te),ut=c.getSize(),oi=0,Ji=0;N.x+E+We.x>ut.x&&(oi=N.x+E-ut.x+We.x),N.x-oi-Ae.x<0&&(oi=N.x-Ae.x),N.y+_+We.y>ut.y&&(Ji=N.y+_-ut.y+We.y),N.y-Ji-Ae.y<0&&(Ji=N.y-Ae.y),(oi||Ji)&&(this.options.keepInView&&(this._autopanning=!0),c.fire("autopanstart").panBy([oi,Ji]))}},_getAnchor:function(){return ze(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Zb=function(c,h){return new ph(c,h)};ji.mergeOptions({closePopupOnClick:!0}),ji.include({openPopup:function(c,h,_){return this._initOverlay(ph,c,h,_).openOn(this),this},closePopup:function(c){return c=arguments.length?c:this._popup,c&&c.close(),this}}),$o.include({bindPopup:function(c,h){return this._popup=this._initOverlay(ph,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 br||(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)){yi(c);var h=c.layer||c.target;if(this._popup._source===h&&!(h instanceof qr)){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 xh=Er.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(c){Er.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){Er.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=Er.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=ae("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+d(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(c){var h,_,E=this._map,k=this._container,N=E.latLngToContainerPoint(E.getCenter()),te=E.layerPointToContainerPoint(c),Ae=this.options.direction,We=k.offsetWidth,ut=k.offsetHeight,oi=ze(this.options.offset),Ji=this._getAnchor();Ae==="top"?(h=We/2,_=ut):Ae==="bottom"?(h=We/2,_=0):Ae==="center"?(h=We/2,_=ut/2):Ae==="right"?(h=0,_=ut/2):Ae==="left"?(h=We,_=ut/2):te.x<N.x?(Ae="right",h=0,_=ut/2):(Ae="left",h=We+(oi.x+Ji.x)*2,_=ut/2),c=c.subtract(ze(h,_,!0)).add(oi).add(Ji),ot(k,"leaflet-tooltip-right"),ot(k,"leaflet-tooltip-left"),ot(k,"leaflet-tooltip-top"),ot(k,"leaflet-tooltip-bottom"),Me(k,"leaflet-tooltip-"+Ae),$e(k,c)},_updatePosition:function(){var c=this._map.latLngToLayerPoint(this._latlng);this._setPosition(c)},setOpacity:function(c){this.options.opacity=c,this._container&&ce(this._container,c)},_animateZoom:function(c){var h=this._map._latLngToNewLayerPoint(this._latlng,c.zoom,c.center);this._setPosition(h)},_getAnchor:function(){return ze(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),Xb=function(c,h){return new xh(c,h)};ji.include({openTooltip:function(c,h,_){return this._initOverlay(xh,c,h,_).openOn(this),this},closeTooltip:function(c){return c.close(),this}}),$o.include({bindTooltip:function(c,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(xh,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 br||(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&&(it(h,"focus",function(){this._tooltip._source=c,this.openTooltip()},this),it(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,_,E;this._tooltip.options.sticky&&c.originalEvent&&(_=this._map.mouseEventToContainerPoint(c.originalEvent),E=this._map.containerPointToLayerPoint(_),h=this._map.layerPointToLatLng(E)),this._tooltip.setLatLng(h)}});var hx=tl.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?(we(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var E=ze(_.bgPos);h.style.backgroundPosition=-E.x+"px "+-E.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function G(c){return new hx(c)}tl.Default=ql;var he=$o.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ge.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(c){y(this,c)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(c){c._addZoomLimit(this)},onRemove:function(c){this._removeAllTiles(),oe(this._container),c._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(je(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 xe?c:new xe(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),E=0,k=h.length,N;E<k;E++)N=h[E].style.zIndex,h[E]!==this._container&&N&&(_=c(_,+N));isFinite(_)&&(this.options.zIndex=_+c(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!ge.ielt9){ce(this._container,this.options.opacity);var c=+new Date,h=!1,_=!1;for(var E in this._tiles){var k=this._tiles[E];if(!(!k.current||!k.loaded)){var N=Math.min(1,(c-k.loaded)/200);ce(k.el,N),N<1?h=!0:(k.active?_=!0:this._onOpaqueTile(k),k.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(de(this._fadeFrame),this._fadeFrame=Z(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=ae("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(_)):(oe(this._levels[_].el),this._removeTilesAtZoom(_),this._onRemoveLevel(_),delete this._levels[_]);var E=this._levels[c],k=this._map;return E||(E=this._levels[c]={},E.el=ae("div","leaflet-tile-container leaflet-zoom-animated",this._container),E.el.style.zIndex=h,E.origin=k.project(k.unproject(k.getPixelOrigin()),c).round(),E.zoom=c,this._setZoomTransform(E,k.getCenter(),k.getZoom()),g(E.el.offsetWidth),this._onCreateLevel(E)),this._level=E,E}},_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 E=h.coords;this._retainParent(E.x,E.y,E.z,E.z-5)||this._retainChildren(E.x,E.y,E.z,E.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)oe(this._levels[c].el),this._onRemoveLevel(Number(c)),delete this._levels[c];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(c,h,_,E){var k=Math.floor(c/2),N=Math.floor(h/2),te=_-1,Ae=new xe(+k,+N);Ae.z=+te;var We=this._tileCoordsToKey(Ae),ut=this._tiles[We];return ut&&ut.active?(ut.retain=!0,!0):(ut&&ut.loaded&&(ut.retain=!0),te>E?this._retainParent(k,N,te,E):!1)},_retainChildren:function(c,h,_,E){for(var k=2*c;k<2*c+2;k++)for(var N=2*h;N<2*h+2;N++){var te=new xe(k,N);te.z=_+1;var Ae=this._tileCoordsToKey(te),We=this._tiles[Ae];if(We&&We.active){We.retain=!0;continue}else We&&We.loaded&&(We.retain=!0);_+1<E&&this._retainChildren(k,N,_+1,E)}},_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,_,E){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 N=this.options.updateWhenZooming&&k!==this._tileZoom;(!E||N)&&(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 E=this._map.getZoomScale(_,c.zoom),k=c.origin.multiplyBy(E).subtract(this._map._getNewPixelOrigin(h,_)).round();ge.any3d?Ue(c.el,k,E):$e(c.el,k)},_resetGrid:function(){var c=this._map,h=c.options.crs,_=this._tileSize=this.getTileSize(),E=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]],E).x/_.x),Math.ceil(c.project([0,h.wrapLng[1]],E).x/_.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(c.project([h.wrapLat[0],0],E).y/_.x),Math.ceil(c.project([h.wrapLat[1],0],E).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(),E=h.getZoomScale(_,this._tileZoom),k=h.project(c,this._tileZoom).floor(),N=h.getSize().divideBy(E*2);return new me(k.subtract(N),k.add(N))},_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 E=this._getTiledPixelBounds(c),k=this._pxBoundsToTileRange(E),N=k.getCenter(),te=[],Ae=this.options.keepBuffer,We=new me(k.getBottomLeft().subtract([Ae,-Ae]),k.getTopRight().add([Ae,-Ae]));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 ut in this._tiles){var oi=this._tiles[ut].coords;(oi.z!==this._tileZoom||!We.contains(new xe(oi.x,oi.y)))&&(this._tiles[ut].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(c,_);return}for(var Ji=k.min.y;Ji<=k.max.y;Ji++)for(var wn=k.min.x;wn<=k.max.x;wn++){var nn=new xe(wn,Ji);if(nn.z=this._tileZoom,!!this._isValidTile(nn)){var _n=this._tiles[this._tileCoordsToKey(nn)];_n?_n.current=!0:te.push(nn)}}if(te.sort(function(ms,Uo){return ms.distanceTo(N)-Uo.distanceTo(N)}),te.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var as=document.createDocumentFragment();for(wn=0;wn<te.length;wn++)this._addTile(te[wn],as);this._level.el.appendChild(as)}}}},_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 E=this._tileCoordsToBounds(c);return Ye(this.options.bounds).overlaps(E)},_keyToBounds:function(c){return this._tileCoordsToBounds(this._keyToTileCoords(c))},_tileCoordsToNwSe:function(c){var h=this._map,_=this.getTileSize(),E=c.scaleBy(_),k=E.add(_),N=h.unproject(E,c.z),te=h.unproject(k,c.z);return[N,te]},_tileCoordsToBounds:function(c){var h=this._tileCoordsToNwSe(c),_=new Pt(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 xe(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(c){var h=this._tiles[c];h&&(oe(h.el),delete this._tiles[c],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(c)}))},_initTile:function(c){Me(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,ge.ielt9&&this.options.opacity<1&&ce(c,this.options.opacity)},_addTile:function(c,h){var _=this._getTilePos(c),E=this._tileCoordsToKey(c),k=this.createTile(this._wrapCoords(c),r(this._tileReady,this,c));this._initTile(k),this.createTile.length<2&&Z(r(this._tileReady,this,c,null,k)),$e(k,_),this._tiles[E]={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 E=this._tileCoordsToKey(c);_=this._tiles[E],_&&(_.loaded=+new Date,this._map._fadeAnimated?(ce(_.el,0),de(this._fadeFrame),this._fadeFrame=Z(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(Me(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:c})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ge.ielt9||!this._map._fadeAnimated?Z(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 xe(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 me(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 vt(c){return new he(c)}var lt=he.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=y(this,h),h.detectRetina&&ge.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 it(_,"load",r(this._tileOnLoad,this,h,_)),it(_,"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:ge.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){ge.ielt9?setTimeout(r(c,this,null,h),0):c(null,h)},_tileOnError:function(c,h,_){var E=this.options.errorTileUrl;E&&h.getAttribute("src")!==E&&(h.src=E),c(_,h)},_onTileRemove:function(c){c.tile.onload=null},_getZoomForUrl:function(){var c=this._tileZoom,h=this.options.maxZoom,_=this.options.zoomReverse,E=this.options.zoomOffset;return _&&(c=h-c),c+E},_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;oe(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),he.prototype._removeTile.call(this,c)},_tileReady:function(c,h,_){if(!(!this._map||_&&_.getAttribute("src")===P))return he.prototype._tileReady.call(this,c,h,_)}});function ct(c,h){return new lt(c,h)}var di=lt.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 E in h)E in this.options||(_[E]=h[E]);h=y(this,h);var k=h.detectRetina&&ge.retina?2:1,N=this.getTileSize();_.width=N.x*k,_.height=N.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,lt.prototype.onAdd.call(this,c)},getTileUrl:function(c){var h=this._tileCoordsToNwSe(c),_=this._crs,E=dt(_.project(h[0]),_.project(h[1])),k=E.min,N=E.max,te=(this._wmsVersion>=1.3&&this._crs===D0?[k.y,k.x,N.y,N.x]:[k.x,k.y,N.x,N.y]).join(","),Ae=lt.prototype.getTileUrl.call(this,c);return Ae+w(this.wmsParams,Ae,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+te},setParams:function(c,h){return n(this.wmsParams,c),h||this.redraw(),this}});function Ti(c,h){return new di(c,h)}lt.WMS=di,ct.wms=Ti;var ki=$o.extend({options:{padding:.1},initialize:function(c){y(this,c),d(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Me(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),E=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,h),N=E.multiplyBy(-_).add(k).subtract(this._map._getNewPixelOrigin(c,h));ge.any3d?Ue(this._container,N,_):$e(this._container,N)},_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 me(_,_.add(h.multiplyBy(1+c*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),dn=ki.extend({options:{tolerance:0},getEvents:function(){var c=ki.prototype.getEvents.call(this);return c.viewprereset=this._onViewPreReset,c},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ki.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var c=this._container=document.createElement("canvas");it(c,"mousemove",this._onMouseMove,this),it(c,"click dblclick mousedown mouseup contextmenu",this._onClick,this),it(c,"mouseout",this._handleMouseOut,this),c._leaflet_disable_events=!0,this._ctx=c.getContext("2d")},_destroyContainer:function(){de(this._redrawRequest),delete this._ctx,oe(this._container),kt(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)){ki.prototype._update.call(this);var c=this._bounds,h=this._container,_=c.getSize(),E=ge.retina?2:1;$e(h,c.min),h.width=E*_.x,h.height=E*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",ge.retina&&this._ctx.scale(2,2),this._ctx.translate(-c.min.x,-c.min.y),this.fire("update")}},_reset:function(){ki.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,E=h.prev;_?_.prev=E:this._drawLast=E,E?E.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(/[, ]+/),_=[],E,k;for(k=0;k<h.length;k++){if(E=Number(h[k]),isNaN(E))return;_.push(E)}c.options._dashArray=_}else c.options._dashArray=c.options.dashArray},_requestRedraw:function(c){this._map&&(this._extendRedrawBounds(c),this._redrawRequest=this._redrawRequest||Z(this._redraw,this))},_extendRedrawBounds:function(c){if(c._pxBounds){var h=(c.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new me,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 E=this._drawFirst;E;E=E.next)c=E.layer,(!h||c._pxBounds&&c._pxBounds.intersects(h))&&c._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(c,h){if(this._drawing){var _,E,k,N,te=c._parts,Ae=te.length,We=this._ctx;if(Ae){for(We.beginPath(),_=0;_<Ae;_++){for(E=0,k=te[_].length;E<k;E++)N=te[_][E],We[E?"lineTo":"moveTo"](N.x,N.y);h&&We.closePath()}this._fillStroke(We,c)}}},_updateCircle:function(c){if(!(!this._drawing||c._empty())){var h=c._point,_=this._ctx,E=Math.max(Math.round(c._radius),1),k=(Math.max(Math.round(c._radiusY),1)||E)/E;k!==1&&(_.save(),_.scale(1,k)),_.beginPath(),_.arc(h.x,h.y/k,E,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),_,E,k=this._drawFirst;k;k=k.next)_=k.layer,_.options.interactive&&_._containsPoint(h)&&(!(c.type==="click"||c.type==="preclick")||!this._map._draggableMoved(_))&&(E=_);this._fireEvent(E?[E]:!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&&(ot(this._container,"leaflet-interactive"),this._fireEvent([h],c,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(c,h){if(!this._mouseHoverThrottled){for(var _,E,k=this._drawFirst;k;k=k.next)_=k.layer,_.options.interactive&&_._containsPoint(h)&&(E=_);E!==this._hoveredLayer&&(this._handleMouseOut(c),E&&(Me(this._container,"leaflet-interactive"),this._fireEvent([E],c,"mouseover"),this._hoveredLayer=E)),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,E=h.prev;if(_)_.prev=E;else return;E?E.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,E=h.prev;if(E)E.next=_;else return;_?_.prev=E:E&&(this._drawLast=E),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(c)}}});function $i(c){return ge.canvas?new dn(c):null}var an=(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">')}})(),Cn={_initContainer:function(){this._container=ae("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ki.prototype._update.call(this),this.fire("update"))},_initPath:function(c){var h=c._container=an("shape");Me(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",c._path=an("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;oe(h),c.removeInteractiveTarget(h),delete this._layers[d(c)]},_updateStyle:function(c){var h=c._stroke,_=c._fill,E=c.options,k=c._container;k.stroked=!!E.stroke,k.filled=!!E.fill,E.stroke?(h||(h=c._stroke=an("stroke")),k.appendChild(h),h.weight=E.weight+"px",h.color=E.color,h.opacity=E.opacity,E.dashArray?h.dashStyle=M(E.dashArray)?E.dashArray.join(" "):E.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=E.lineCap.replace("butt","flat"),h.joinstyle=E.lineJoin):h&&(k.removeChild(h),c._stroke=null),E.fill?(_||(_=c._fill=an("fill")),k.appendChild(_),_.color=E.fillColor||E.color,_.opacity=E.fillOpacity):_&&(k.removeChild(_),c._fill=null)},_updateCircle:function(c){var h=c._point.round(),_=Math.round(c._radius),E=Math.round(c._radiusY||_);this._setPath(c,c._empty()?"M0 0":"AL "+h.x+","+h.y+" "+_+","+E+" 0,"+65535*360)},_setPath:function(c,h){c._path.v=h},_bringToFront:function(c){je(c._container)},_bringToBack:function(c){Ce(c._container)}},En=ge.vml?an:xt,yn=ki.extend({_initContainer:function(){this._container=En("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=En("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){oe(this._container),kt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){ki.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)),$e(_,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=En("path");c.options.className&&Me(h,c.options.className),c.options.interactive&&Me(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){oe(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,ui(c._parts,h))},_updateCircle:function(c){var h=c._point,_=Math.max(Math.round(c._radius),1),E=Math.max(Math.round(c._radiusY),1)||_,k="a"+_+","+E+" 0 1,0 ",N=c._empty()?"M0 0":"M"+(h.x-_)+","+h.y+k+_*2+",0 "+k+-_*2+",0 ";this._setPath(c,N)},_setPath:function(c,h){c._path.setAttribute("d",h)},_bringToFront:function(c){je(c._path)},_bringToBack:function(c){Ce(c._path)}});ge.vml&&yn.include(Cn);function Wn(c){return ge.svg||ge.vml?new yn(c):null}ji.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&&$i(c)||Wn(c)}});var ps=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=Ye(c),[c.getSouthWest(),c.getNorthWest(),c.getNorthEast(),c.getSouthEast()]}});function In(c,h){return new ps(c,h)}yn.create=En,yn.pointsToPath=ui,Cr.geometryToLayer=ld,Cr.coordsToLatLng=B0,Cr.coordsToLatLngs=cd,Cr.latLngToCoords=F0,Cr.latLngsToCoords=uh,Cr.getFeature=Kl,Cr.asFeature=Zl,ji.mergeOptions({boxZoom:!0});var Kn=Wo.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(){it(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){kt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){oe(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),it(document,{contextmenu:yi,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(c){this._moved||(this._moved=!0,this._box=ae("div","leaflet-zoom-box",this._container),Me(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(c);var h=new me(this._point,this._startPoint),_=h.getSize();$e(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(oe(this._box),ot(this._container,"leaflet-crosshair")),Qe(),Rt(),kt(document,{contextmenu:yi,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 Pt(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())}});ji.addInitHook("addHandler","boxZoom",Kn),ji.mergeOptions({doubleClickZoom:!0});var Hs=Wo.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(),E=h.options.zoomDelta,k=c.originalEvent.shiftKey?_-E:_+E;h.options.doubleClickZoom==="center"?h.setZoom(k):h.setZoomAround(c.containerPoint,k)}});ji.addInitHook("addHandler","doubleClickZoom",Hs),ji.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bo=Wo.extend({addHooks:function(){if(!this._draggable){var c=this._map;this._draggable=new zo(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))}Me(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){ot(this._map._container,"leaflet-grab"),ot(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=Ye(this._map.options.maxBounds);this._offsetLimit=dt(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,E=this._draggable._newPos.x,k=(E-h+_)%c+h-_,N=(E+h+_)%c-h-_,te=Math.abs(k+_)<Math.abs(N+_)?k:N;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=te},_onDragEnd:function(c){var h=this._map,_=h.options,E=!_.inertia||c.noInertia||this._times.length<2;if(h.fire("dragend",c),E)h.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),N=(this._lastTime-this._times[0])/1e3,te=_.easeLinearity,Ae=k.multiplyBy(te/N),We=Ae.distanceTo([0,0]),ut=Math.min(_.inertiaMaxSpeed,We),oi=Ae.multiplyBy(ut/We),Ji=ut/(_.inertiaDeceleration*te),wn=oi.multiplyBy(-Ji/2).round();!wn.x&&!wn.y?h.fire("moveend"):(wn=h._limitOffset(wn,h.options.maxBounds),Z(function(){h.panBy(wn,{duration:Ji,easeLinearity:te,noMoveStart:!0,animate:!0})}))}}});ji.addInitHook("addHandler","dragging",bo),ji.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Ws=Wo.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"),it(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(),kt(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,E=c.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(E,_)}},_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,E,k;for(E=0,k=_.left.length;E<k;E++)h[_.left[E]]=[-1*c,0];for(E=0,k=_.right.length;E<k;E++)h[_.right[E]]=[c,0];for(E=0,k=_.down.length;E<k;E++)h[_.down[E]]=[0,c];for(E=0,k=_.up.length;E<k;E++)h[_.up[E]]=[0,-1*c]},_setZoomDelta:function(c){var h=this._zoomKeys={},_=this.keyCodes,E,k;for(E=0,k=_.zoomIn.length;E<k;E++)h[_.zoomIn[E]]=c;for(E=0,k=_.zoomOut.length;E<k;E++)h[_.zoomOut[E]]=-c},_addHooks:function(){it(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){kt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(c){if(!(c.altKey||c.ctrlKey||c.metaKey)){var h=c.keyCode,_=this._map,E;if(h in this._panKeys){if(!_._panAnim||!_._panAnim._inProgress)if(E=this._panKeys[h],c.shiftKey&&(E=ze(E).multiplyBy(3)),_.options.maxBounds&&(E=_._limitOffset(ze(E),_.options.maxBounds)),_.options.worldCopyJump){var k=_.wrapLatLng(_.unproject(_.project(_.getCenter()).add(E)));_.panTo(k)}else _.panBy(E)}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;yi(c)}}});ji.addInitHook("addHandler","keyboard",Ws),ji.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Fs=Wo.extend({addHooks:function(){it(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){kt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(c){var h=tn(c),_=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(c),this._startTime||(this._startTime=+new Date);var E=Math.max(_-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),E),yi(c)},_performZoom:function(){var c=this._map,h=c.getZoom(),_=this._map.options.zoomSnap||0;c._stop();var E=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(E))))/Math.LN2,N=_?Math.ceil(k/_)*_:k,te=c._limitZoom(h+(this._delta>0?N:-N))-h;this._delta=0,this._startTime=null,te&&(c.options.scrollWheelZoom==="center"?c.setZoom(h+te):c.setZoomAround(this._lastMousePos,h+te))}});ji.addInitHook("addHandler","scrollWheelZoom",Fs);var vs=600;ji.mergeOptions({tapHold:ge.touchNative&&ge.safari&&ge.mobile,tapTolerance:15});var cs=Wo.extend({addHooks:function(){it(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){kt(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 xe(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(it(document,"touchend",pi),it(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),vs),it(document,"touchend touchcancel contextmenu",this._cancel,this),it(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function c(){kt(document,"touchend",pi),kt(document,"touchend touchcancel",c)},_cancel:function(){clearTimeout(this._holdTimeout),kt(document,"touchend touchcancel contextmenu",this._cancel,this),kt(document,"touchmove",this._onMove,this)},_onMove:function(c){var h=c.touches[0];this._newPos=new xe(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(_)}});ji.addInitHook("addHandler","tapHold",cs),ji.mergeOptions({touchZoom:ge.touch,bounceAtZoomLimits:!0});var Xs=Wo.extend({addHooks:function(){Me(this._map._container,"leaflet-touch-zoom"),it(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){ot(this._map._container,"leaflet-touch-zoom"),kt(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]),E=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(E)._divideBy(2))),this._startDist=_.distanceTo(E),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),it(document,"touchmove",this._onTouchMove,this),it(document,"touchend touchcancel",this._onTouchEnd,this),pi(c)}},_onTouchMove:function(c){if(!(!c.touches||c.touches.length!==2||!this._zooming)){var h=this._map,_=h.mouseEventToContainerPoint(c.touches[0]),E=h.mouseEventToContainerPoint(c.touches[1]),k=_.distanceTo(E)/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 N=_._add(E)._divideBy(2)._subtract(this._centerPoint);if(k===1&&N.x===0&&N.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(N),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),de(this._animRequest);var te=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Z(te,this,!0),pi(c)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,de(this._animRequest),kt(document,"touchmove",this._onTouchMove,this),kt(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))}});ji.addInitHook("addHandler","touchZoom",Xs),ji.BoxZoom=Kn,ji.DoubleClickZoom=Hs,ji.Drag=bo,ji.Keyboard=Ws,ji.ScrollWheelZoom=Fs,ji.TapHold=cs,ji.TouchZoom=Xs,t.Bounds=me,t.Browser=ge,t.CRS=Oe,t.Canvas=dn,t.Circle=dh,t.CircleMarker=ch,t.Class=se,t.Control=sn,t.DivIcon=hx,t.DivOverlay=Er,t.DomEvent=An,t.DomUtil=Xt,t.Draggable=zo,t.Evented=Ie,t.FeatureGroup=br,t.GeoJSON=Cr,t.GridLayer=he,t.Handler=Wo,t.Icon=tl,t.ImageOverlay=fh,t.LatLng=yt,t.LatLngBounds=Pt,t.Layer=$o,t.LayerGroup=Ul,t.LineUtil=sx,t.Map=ji,t.Marker=il,t.Mixin=ed,t.Path=qr,t.Point=xe,t.PolyUtil=id,t.Polygon=Gl,t.Polyline=lr,t.Popup=ph,t.PosAnimation=Tn,t.Projection=Wb,t.Rectangle=ps,t.Renderer=ki,t.SVG=yn,t.SVGOverlay=ux,t.TileLayer=lt,t.Tooltip=xh,t.Transformation=Lt,t.Util=ve,t.VideoOverlay=gh,t.bind=r,t.bounds=dt,t.canvas=$i,t.circle=Gb,t.circleMarker=qb,t.control=xn,t.divIcon=G,t.extend=n,t.featureGroup=jb,t.geoJSON=L0,t.geoJson=lx,t.gridLayer=vt,t.icon=$b,t.imageOverlay=cx,t.latLng=ye,t.latLngBounds=Ye,t.layerGroup=ox,t.map=Xi,t.marker=Ub,t.point=ze,t.polygon=ax,t.polyline=rx,t.popup=Zb,t.rectangle=In,t.setOptions=y,t.stamp=d,t.svg=Wn,t.svgOverlay=Kb,t.tileLayer=ct,t.tooltip=Xb,t.transformation=mi,t.version=i,t.videoOverlay=dx;var Vn=window.L;t.noConflict=function(){return window.L=Vn,this},window.L=t}))})(rg,rg.exports)),rg.exports}var DZ=SZ();const j0=mS(DZ),AZ="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=",kZ="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==",BZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Rn=(o,e=lb)=>{var t=FZ(),i=v(m(t),2),n=m(i);z(()=>O(n,e())),D(o,t)};var FZ=F('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),LZ=F("<button> </button>"),IZ=F('<span class="err svelte-767znw"> </span>'),PZ=F('<span class="ok svelte-767znw"> </span>'),TZ=F('<div class="loading svelte-767znw">Loading…</div>'),MZ=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>'),RZ=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>'),NZ=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),OZ=F('<div class="field-error svelte-767znw"> </div>'),HZ=F('<div class="field-ok svelte-767znw"> </div>'),WZ=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),VZ=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>'),jZ=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>'),$Z=F('<div class="field svelte-767znw"><label class="svelte-767znw">Storage path <!></label> <input id="matter-storage-input" type="text" class="svelte-767znw"/></div>'),UZ=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>'),qZ=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>'),GZ=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>'),KZ=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>'),j2=F("<option> </option>"),ZZ=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>'),XZ=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>'),YZ=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>'),QZ=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),JZ=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>'),eX=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>'),tX=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>'),iX=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>'),nX=F('<span class="free-badge svelte-767znw">FREE</span> ',1),sX=F(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),oX=F("<div><!> <!></div>"),rX=F('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),aX=F('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),lX=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>'),cX=F('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),dX=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 uX(o,e){Ts(e,!0),delete j0.Icon.Default.prototype._getIconUrl,j0.Icon.Default.mergeOptions({iconUrl:AZ,iconRetinaUrl:kZ,shadowUrl:BZ});let t=B(Di(W$())),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),y=B(!1),w=B(!1),A=B(!1),I=B(""),M=B(!1),R=B(8080),P=B(""),V=B("none"),$=B(""),J=B("X-Remote-User"),re=B(""),fe=B(!1),Z=B(""),de=B(""),ve=B(""),se=B(!1),ue=B(!1),Se=B(!1),Ie=B(""),xe=B(48.7408),Ne=B(9.1778),ze=B(!1),me=B(void 0),dt=B(!1),Pt=B(null),Ye=B("info"),yt=B(!1),ye=B(50),Oe=B(300),ht=B(!0),At=B(""),ft=B(""),Lt=B(!1),mi=B(!1),fi=B("");const Ei=[{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 xt=B("ollama"),ui=B("ollama"),Pe=B(""),Ee=B(""),Gt=B("");const gi={};let Qt="ollama";function Ni(ie,tt){return ie==="anthropic"?"anthropic":ie==="ollama"?"ollama":tt?tt.includes("localhost:1234")?"lmstudio":tt.includes("groq.com")?"groq":tt.includes("googleapis.com")?"gemini":"openai":"openai"}function Zi(){gi[Qt]={baseUrl:l(Pe),model:l(Ee),apiKey:l(Gt)};const ie=Ei.find(_e=>_e.id===l(xt));if(!ie)return;x(ui,ie.provider,!0);const tt=gi[l(xt)];x(Pe,(tt==null?void 0:tt.baseUrl)??ie.baseUrl,!0),x(Ee,(tt==null?void 0:tt.model)??ie.defaultModel,!0),x(Gt,(tt==null?void 0:tt.apiKey)??"",!0),Qt=l(xt)}const vi=Ot(()=>Ei.find(ie=>ie.id===l(xt)));let gn=B(Di({}));const cn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai","broker","matter-storage"]);Qn(()=>{if(!l(me))return;const ie=typeof l(xe)=="number"?l(xe):48.7408,tt=typeof l(Ne)=="number"?l(Ne):9.1778,_e=j0.map(l(me)).setView([ie,tt],10);j0.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(_e);const Ve=j0.marker([ie,tt],{draggable:!0}).addTo(_e);x(Pt,Ve,!0);const _t=It=>{x(xe,+It.lat.toFixed(6)),x(Ne,+It.lng.toFixed(6))};return Ve.on("dragend",()=>_t(Ve.getLatLng())),_e.on("click",It=>{Ve.setLatLng(It.latlng),_t(It.latlng)}),()=>{x(Pt,null),_e.remove()}}),Qn(()=>{!l(Pt)||l(xe)===""||l(Ne)===""||l(Pt).setLatLng([Number(l(xe)),Number(l(Ne))])});let rn;function mn(){if(!navigator.geolocation){rn.show("Geolocation is not supported by this browser.",{alert:!0});return}x(dt,!0),navigator.geolocation.getCurrentPosition(ie=>{x(xe,+ie.coords.latitude.toFixed(6)),x(Ne,+ie.coords.longitude.toFixed(6)),x(dt,!1)},()=>{x(dt,!1)})}let Ct=B(!0),Zt=B(!1),Ii=B(""),Wi=B(""),Pi=B(""),pn=B("appearance");const Dn=[{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:"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 Ui=Ot(()=>Dn.filter(ie=>{const tt=l(Pi).trim().toLowerCase();return!tt||ie.label.toLowerCase().includes(tt)||ie.terms.some(_e=>_e.includes(tt))}));function Xe(ie){var tt;x(pn,ie,!0),(tt=document.getElementById("sec-"+ie))==null||tt.scrollIntoView({behavior:"smooth",block:"start"})}js(async()=>{try{const ie=await ef();ie.dataDir&&x(i,ie.dataDir,!0)}catch{}try{const ie=await Ml();if(typeof ie.url=="string"&&ie.url)try{const It=new URL(ie.url);x(n,It.protocol.replace(":",""),!0),x(s,It.host,!0)}catch{x(s,ie.url,!0)}if(typeof ie.mqttUsername=="string"&&x(r,ie.mqttUsername,!0),typeof ie.mqttPassword=="string"&&x(a,ie.mqttPassword,!0),typeof ie.mqttCa=="string"&&x(d,ie.mqttCa,!0),typeof ie.mqttCert=="string"&&x(u,ie.mqttCert,!0),typeof ie.mqttKey=="string"&&x(f,ie.mqttKey,!0),typeof ie.mqttVersion=="string"&&x(C,ie.mqttVersion,!0),typeof ie.name=="string"&&x(g,ie.name,!0),typeof ie.variablePrefix=="string"&&x(p,ie.variablePrefix,!0),typeof ie.disableVariables=="boolean"&&x(b,ie.disableVariables,!0),typeof ie.port=="number"&&x(R,ie.port,!0),typeof ie.bindAddress=="string"&&x(P,ie.bindAddress,!0),typeof ie.auth=="string"&&x(V,ie.auth,!0),typeof ie.proxyHeader=="string"&&x(J,ie.proxyHeader,!0),typeof ie.proxyLogoutUrl=="string"&&x(re,ie.proxyLogoutUrl,!0),typeof ie.dir=="string"&&x(ve,ie.dir,!0),typeof ie.disableWatch=="boolean"&&x(se,ie.disableWatch,!0),typeof ie.gitAutoCommit=="boolean"&&x(ue,ie.gitAutoCommit,!0),typeof ie.gitAutoPush=="boolean"&&x(Se,ie.gitAutoPush,!0),typeof ie.latitude=="number"&&x(xe,ie.latitude,!0),typeof ie.longitude=="number"&&x(Ne,ie.longitude,!0),typeof ie.timezone=="string"&&x(Ie,ie.timezone,!0),typeof ie.verbosity=="string"&&x(Ye,ie.verbosity,!0),typeof ie.heartbeat=="object"&&ie.heartbeat!==null){const It=ie.heartbeat;typeof It.enabled=="boolean"&&x(yt,It.enabled,!0),typeof It.interval=="number"&&x(ye,It.interval,!0),typeof It.threshold=="number"&&x(Oe,It.threshold,!0)}typeof ie.dbPath=="string"?(x(ht,ie.dbPath!==""),x(At,ie.dbPath,!0)):(x(ht,!0),x(At,"")),typeof ie.dbPrefix=="string"&&x(ft,ie.dbPrefix,!0),typeof ie.dbPublish=="boolean"&&x(Lt,ie.dbPublish,!0),typeof ie.dbRetain=="boolean"&&x(mi,ie.dbRetain,!0);const tt=ie.redis;tt!=null&&tt.url&&x(fi,tt.url,!0);const _e=ie.broker;x(y,(_e==null?void 0:_e.enabled)===!0);const Ve=ie["matter-storage"];x(A,!!Ve),x(I,Ve&&typeof Ve=="string"&&Ve!=="true"?Ve:"",!0);const _t=ie.ai;_t!=null&&_t.provider&&x(ui,_t.provider,!0),_t!=null&&_t.baseUrl&&x(Pe,_t.baseUrl,!0),_t!=null&&_t.model&&x(Ee,_t.model,!0),_t!=null&&_t.apiKey&&x(Gt,_t.apiKey,!0),x(xt,Ni(l(ui),l(Pe)),!0),Qt=l(xt),x(gn,Object.fromEntries(Object.entries(ie).filter(([It])=>!cn.has(It))),!0),_e&&x(gn,{...l(gn),broker:_e},!0)}catch(ie){x(Wi,ie.message,!0)}finally{x(Ct,!1)}});async function ci(){if(x(de,""),x(Z,""),l(V)==="password"&&!l($)){x(de,"A password is required to enable password authentication.");return}x(fe,!0);try{await G$(l(V),l(V)==="password"?l($):void 0,l(V)==="proxy"?l(J):void 0,l(V)==="proxy"?l(re):void 0),x($,""),x(Z,"Authentication settings saved.")}catch(ie){x(de,ie.message,!0)}finally{x(fe,!1)}}async function Oi(ie){if(ie){x(ht,!0);return}let tt=0;try{tt=(await ef()).dbDocs??0}catch{}tt>0&&!await rn.show(`sheDB contains ${tt} document${tt===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(ht,!1)}async function ii(ie){if(ie){x(A,!0);return}x(M,!0);try{const tt=await gS();if(tt.length>0){await rn.show(`Cannot disable the Matter controller: ${tt.length} device${tt.length===1?" is":"s are"} still paired. Unpair all devices first via the Matter page.`,{alert:!0});return}}catch{}finally{x(M,!1)}x(A,!1)}async function zi(ie){var tt;if(ie){x(y,!0);return}x(w,!0);try{const _e=await Rb();if((tt=_e.dynsec)!=null&&tt.configured){await rn.show("Cannot disable mosquitto management: the dynamic security plugin is still configured. Remove it first via Broker → Status.",{alert:!0});return}if(_e.sshConfigured&&!await rn.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(y,!1)}async function Gi(){x(Wi,""),x(Ii,"");const ie={...l(gn)};l(s)&&(ie.url=`${l(n)}://${l(s)}`),ie.name=l(g),ie.variablePrefix=l(p),l(C)&&(ie.mqttVersion=l(C)),l(b)&&(ie.disableVariables=!0),l(r)&&(ie.mqttUsername=l(r)),l(a)&&(ie.mqttPassword=l(a)),l(d)&&(ie.mqttCa=l(d)),l(u)&&(ie.mqttCert=l(u)),l(f)&&(ie.mqttKey=l(f)),l(R)!==""&&(ie.port=Number(l(R))),l(P)&&(ie.bindAddress=l(P)),l(ve)&&(ie.dir=l(ve)),l(se)&&(ie.disableWatch=!0),l(ue)&&(ie.gitAutoCommit=!0),l(Se)&&(ie.gitAutoPush=!0),l(xe)!==""&&(ie.latitude=Number(l(xe))),l(Ne)!==""&&(ie.longitude=Number(l(Ne))),l(Ie)&&(ie.timezone=l(Ie)),ie.verbosity=l(Ye),ie.heartbeat={enabled:l(yt),...l(ye)!==""?{interval:Number(l(ye))}:{},...l(Oe)!==""?{threshold:Number(l(Oe))}:{}},l(ht)?l(At)&&(ie.dbPath=l(At),l(ft)&&(ie.dbPrefix=l(ft)),l(Lt)&&(ie.dbPublish=!0,l(mi)&&(ie.dbRetain=!0))):ie.dbPath="",l(fi)&&(ie.redis={url:l(fi)});const tt=l(gn).broker??{},{enabled:_e,...Ve}=tt;l(y)?ie.broker={...Ve,enabled:!0}:Object.keys(Ve).length>0&&(ie.broker=Ve),l(A)&&(ie["matter-storage"]=l(I)||!0),l(ui)&&(ie.ai={provider:l(ui),...l(Pe)?{baseUrl:l(Pe)}:{},...l(Ee)?{model:l(Ee)}:{},...l(Gt)?{apiKey:l(Gt)}:{}}),x(Zt,!0);try{const _t=await xp(ie);window.dispatchEvent(new CustomEvent("she:config-changed")),x(Ii,_t.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(_t){x(Wi,_t.message,!0)}finally{x(Zt,!1)}}var qi=dX(),K=bt(qi);hs(Qa(K,{}),ie=>rn=ie,()=>rn);var ke=v(K,2),rt=m(ke),Ze=m(rt),zt=v(m(Ze),2),ni=v(Ze,2);ri(ni,21,()=>Dn,ie=>ie.id,(ie,tt)=>{var _e=As(),Ve=bt(_e);{var _t=Ai=>{var ei=LZ();let pe;var He=m(ei);z(()=>{pe=Bt(ei,1,"section-link svelte-767znw",null,pe,{active:l(pn)===l(tt).id}),O(He,l(tt).label)}),j("click",ei,()=>Xe(l(tt).id)),D(Ai,ei)},It=Ot(()=>l(Ui).some(Ai=>Ai.id===l(tt).id));H(Ve,Ai=>{l(It)&&Ai(_t)})}D(ie,_e)});var mt=v(rt,2),et=m(mt),X=v(m(et),2);{var Te=ie=>{var tt=IZ(),_e=m(tt);z(()=>O(_e,l(Wi))),D(ie,tt)};H(X,ie=>{l(Wi)&&ie(Te)})}var le=v(X,2);{var ge=ie=>{var tt=PZ(),_e=m(tt);z(()=>O(_e,l(Ii))),D(ie,tt)};H(le,ie=>{l(Ii)&&ie(ge)})}var Jt=v(le,2),ai=m(Jt),bi=v(et,2);{var Ci=ie=>{var tt=TZ();D(ie,tt)},Hi=ie=>{var tt=cX(),_e=m(tt);{var Ve=De=>{var be=MZ(),qe=v(m(be),2),at=v(m(qe),2),Xt=m(at);Xt.value=Xt.__value="dark";var it=v(Xt);it.value=it.__value="light";var nt=v(it);nt.value=nt.__value="system",j("change",at,()=>z$(l(t))),Ps(at,()=>l(t),kt=>x(t,kt)),D(De,be)},_t=Ot(()=>l(Ui).some(De=>De.id==="appearance"));H(_e,De=>{l(_t)&&De(Ve)})}var It=v(_e,2);{var Ai=De=>{var be=WZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var it=v(at,2),nt=m(it);nt.value=nt.__value="none";var kt=v(nt);kt.value=kt.__value="password";var ti=v(kt);ti.value=ti.__value="proxy";var Yt=v(qe,2);{var Ht=tn=>{var bn=RZ(),An=m(bn),Tn=m(An),ji=v(Tn);Rn(ji,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Xi=v(An,2);z(()=>O(Tn,`${l($)?"New password":"Password"} `)),Nt(Xi,()=>l($),sn=>x($,sn)),D(tn,bn)};H(Yt,tn=>{l(V)==="password"&&tn(Ht)})}var Wt=v(Yt,2);{var Ft=tn=>{var bn=NZ(),An=bt(bn),Tn=m(An),ji=v(m(Tn));Rn(ji,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Xi=v(Tn,2),sn=v(An,2),xn=m(sn),jn=v(m(xn));Rn(jn,()=>"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 Zs=v(xn,2);Nt(Xi,()=>l(J),no=>x(J,no)),Nt(Zs,()=>l(re),no=>x(re,no)),D(tn,bn)};H(Wt,tn=>{l(V)==="proxy"&&tn(Ft)})}var jt=v(Wt,2);{var _i=tn=>{var bn=OZ(),An=m(bn);z(()=>O(An,l(de))),D(tn,bn)};H(jt,tn=>{l(de)&&tn(_i)})}var pi=v(jt,2);{var yi=tn=>{var bn=HZ(),An=m(bn);z(()=>O(An,l(Z))),D(tn,bn)};H(pi,tn=>{l(Z)&&tn(yi)})}var Mi=v(pi,2),en=v(m(Mi),2),Pn=m(en);z(()=>{en.disabled=l(fe)||l(V)==="password"&&!l($),O(Pn,l(fe)?"Saving…":"Apply authentication settings")}),Ps(it,()=>l(V),tn=>x(V,tn)),j("click",en,ci),D(De,be)},ei=Ot(()=>l(Ui).some(De=>De.id==="auth"));H(It,De=>{l(ei)&&De(Ai)})}var pe=v(It,2);{var He=De=>{var be=VZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var it=v(at,2),nt=m(it);nt.value=nt.__value="mqtt";var kt=v(nt);kt.value=kt.__value="mqtts";var ti=v(kt);ti.value=ti.__value="ws";var Yt=v(ti);Yt.value=Yt.__value="wss";var Ht=v(qe,2),Wt=m(Ht),Ft=v(m(Wt));Rn(Ft,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var jt=v(Wt,2),_i=v(Ht,2),pi=m(_i),yi=v(m(pi));Rn(yi,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Mi=v(pi,2),en=v(_i,2),Pn=m(en),tn=v(m(Pn));Rn(tn,()=>"MQTT broker password. Stored in plain text in config.json.");var bn=v(Pn,2),An=v(en,2);{var Tn=Ss=>{var Ja=zZ(),id=bt(Ja),nd=m(id),sd=v(m(nd));Rn(sd,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var E0=v(nd,2),od=v(id,2),ma=m(od),lh=v(m(ma));Rn(lh,()=>"PEM-encoded client certificate for mutual TLS authentication.");var rd=v(ma,2),ad=v(od,2),_a=m(ad),ar=v(m(_a));Rn(ar,()=>"PEM-encoded private key matching the client certificate.");var y0=v(_a,2);Nt(E0,()=>l(d),Vo=>x(d,Vo)),Nt(rd,()=>l(u),Vo=>x(u,Vo)),Nt(y0,()=>l(f),Vo=>x(f,Vo)),D(Ss,Ja)};H(An,Ss=>{(l(n)==="mqtts"||l(n)==="wss")&&Ss(Tn)})}var ji=v(An,2),Xi=m(ji),sn=v(m(Xi));Rn(sn,()=>"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 xn=v(Xi,2),jn=m(xn);jn.value=jn.__value="";var Zs=v(jn);Zs.value=Zs.__value="5";var no=v(ji,2),va=m(no),jl=v(m(va));Rn(jl,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var _r=v(va,2),Ur=v(no,2),$l=m(Ur),C0=v(m($l));Rn(C0,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Wo=v($l,2),ed=v(Ur,2),ah=v(m(ed),2),zo=m(ah),td=v(zo,4);Rn(td,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Ps(it,()=>l(n),Ss=>x(n,Ss)),Nt(jt,()=>l(s),Ss=>x(s,Ss)),Nt(Mi,()=>l(r),Ss=>x(r,Ss)),Nt(bn,()=>l(a),Ss=>x(a,Ss)),Ps(xn,()=>l(C),Ss=>x(C,Ss)),Nt(_r,()=>l(g),Ss=>x(g,Ss)),Nt(Wo,()=>l(p),Ss=>x(p,Ss)),bs(zo,()=>l(b),Ss=>x(b,Ss)),D(De,be)},Je=Ot(()=>l(Ui).some(De=>De.id==="mqtt"));H(pe,De=>{l(Je)&&De(He)})}var Fe=v(pe,2);{var Et=De=>{var be=jZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"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 it=v(at,2);let nt;var kt=m(it),ti=v(kt,4);{var Yt=Ht=>{var Wt=ro("— checking…");D(Ht,Wt)};H(ti,Ht=>{l(w)&&Ht(Yt)})}z(()=>{nt=Bt(it,1,"check-label svelte-767znw",null,nt,{muted:l(w)}),er(kt,l(y)),kt.disabled=l(w)}),j("change",kt,Ht=>zi(Ht.target.checked)),D(De,be)},gt=Ot(()=>l(Ui).some(De=>De.id==="broker"));H(Fe,De=>{l(gt)&&De(Et)})}var Kt=v(Fe,2);{var U=De=>{var be=UZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"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 it=v(at,2);let nt;var kt=m(it),ti=v(kt,4);{var Yt=Ft=>{var jt=ro("— checking…");D(Ft,jt)};H(ti,Ft=>{l(M)&&Ft(Yt)})}var Ht=v(qe,2);{var Wt=Ft=>{var jt=$Z(),_i=m(jt),pi=v(m(_i));Rn(pi,()=>"Path to the Matter controller storage directory. Leave empty to use the default ({dataDir}/matter).");var yi=v(_i,2);z(()=>un(yi,"placeholder",`${l(i)??""}/matter (default)`)),Nt(yi,()=>l(I),Mi=>x(I,Mi)),D(Ft,jt)};H(Ht,Ft=>{l(A)&&Ft(Wt)})}z(()=>{nt=Bt(it,1,"check-label svelte-767znw",null,nt,{muted:l(M)}),er(kt,l(A)),kt.disabled=l(M)}),j("change",kt,Ft=>ii(Ft.target.checked)),D(De,be)},T=Ot(()=>l(Ui).some(De=>De.id==="matter"));H(Kt,De=>{l(T)&&De(U)})}var W=v(Kt,2);{var Y=De=>{var be=qZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var it=v(at,2),nt=v(qe,2),kt=m(nt),ti=v(m(kt));Rn(ti,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Yt=v(kt,2);Nt(it,()=>l(R),Ht=>x(R,Ht)),Nt(Yt,()=>l(P),Ht=>x(P,Ht)),D(De,be)},ne=Ot(()=>l(Ui).some(De=>De.id==="webserver"));H(W,De=>{l(ne)&&De(Y)})}var ae=v(W,2);{var oe=De=>{var be=GZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var it=v(at,2),nt=v(qe,2),kt=v(m(nt),2),ti=m(kt),Yt=v(ti,4);Rn(Yt,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),z(()=>un(it,"placeholder",`${l(i)??""}/scripts (default)`)),Nt(it,()=>l(ve),Ht=>x(ve,Ht)),bs(ti,()=>l(se),Ht=>x(se,Ht)),D(De,be)},we=Ot(()=>l(Ui).some(De=>De.id==="scripts"));H(ae,De=>{l(we)&&De(oe)})}var je=v(ae,2);{var Ce=De=>{var be=KZ(),qe=v(m(be),2),at=v(m(qe),2),Xt=m(at),it=v(Xt,4);Rn(it,()=>"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 nt=v(qe,2),kt=v(m(nt),2),ti=m(kt),Yt=v(ti,4);Rn(Yt,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),bs(Xt,()=>l(ue),Ht=>x(ue,Ht)),bs(ti,()=>l(Se),Ht=>x(Se,Ht)),D(De,be)},Le=Ot(()=>l(Ui).some(De=>De.id==="git"));H(je,De=>{l(Le)&&De(Ce)})}var Me=v(je,2);{var ot=De=>{var be=XZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var it=v(at,2),nt=v(it,2);ri(nt,20,()=>{var Xi;return((Xi=Intl.supportedValuesOf)==null?void 0:Xi.call(Intl,"timeZone"))??[]},Vi,(Xi,sn)=>{var xn=j2(),jn=m(xn),Zs={};z(()=>{O(jn,sn),Zs!==(Zs=sn)&&(xn.value=(xn.__value=sn)??"")}),D(Xi,xn)});var kt=v(qe,2),ti=m(kt),Yt=v(m(ti));Rn(Yt,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Ht=v(ti,2),Wt=v(kt,2),Ft=m(Wt),jt=v(m(Ft));Rn(jt,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var _i=v(Ft,2),pi=v(Wt,2),yi=v(m(pi),2),Mi=m(yi),en=m(Mi);{var Pn=Xi=>{var sn=ro("…");D(Xi,sn)},tn=Xi=>{var sn=ro("📍 Use my location");D(Xi,sn)};H(en,Xi=>{l(dt)?Xi(Pn):Xi(tn,-1)})}var bn=v(Mi,2),An=m(bn),Tn=v(pi,2);{var ji=Xi=>{var sn=ZZ(),xn=v(m(sn),2);hs(xn,jn=>x(me,jn),()=>l(me)),D(Xi,sn)};H(Tn,Xi=>{l(ze)&&Xi(ji)})}z(()=>{Mi.disabled=l(dt),O(An,l(ze)?"Hide map":"Pick on map")}),Nt(it,()=>l(Ie),Xi=>x(Ie,Xi)),Nt(Ht,()=>l(xe),Xi=>x(xe,Xi)),Nt(_i,()=>l(Ne),Xi=>x(Ne,Xi)),j("click",Mi,mn),j("click",bn,()=>x(ze,!l(ze))),D(De,be)},li=Ot(()=>l(Ui).some(De=>De.id==="solar"));H(Me,De=>{l(li)&&De(ot)})}var Q=v(Me,2);{var ce=De=>{var be=JZ(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"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 it=v(at,2),nt=m(it),kt=v(qe,2);{var ti=Yt=>{var Ht=QZ(),Wt=bt(Ht),Ft=m(Wt),jt=v(m(Ft));Rn(jt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to use the default.");var _i=v(Ft,2),pi=v(Wt,2),yi=m(pi),Mi=v(m(yi));Rn(Mi,()=>"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 en=v(yi,2),Pn=v(pi,2),tn=v(m(Pn),2),bn=m(tn),An=v(bn,4);Rn(An,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var Tn=v(Pn,2);{var ji=Xi=>{var sn=YZ(),xn=v(m(sn),2),jn=m(xn),Zs=v(jn,4);Rn(Zs,()=>"When enabled, MQTT messages for document changes are published as retained messages."),bs(jn,()=>l(mi),no=>x(mi,no)),D(Xi,sn)};H(Tn,Xi=>{l(Lt)&&Xi(ji)})}z(()=>un(_i,"placeholder",`defaults to ${l(i)??""}/db`)),Nt(_i,()=>l(At),Xi=>x(At,Xi)),Nt(en,()=>l(ft),Xi=>x(ft,Xi)),bs(bn,()=>l(Lt),Xi=>x(Lt,Xi)),D(Yt,Ht)};H(kt,Yt=>{l(ht)&&Yt(ti)})}z(()=>er(nt,l(ht))),j("change",nt,Yt=>Oi(Yt.target.checked)),D(De,be)},Ge=Ot(()=>l(Ui).some(De=>De.id==="shedb"));H(Q,De=>{l(Ge)&&De(ce)})}var Mt=v(Q,2);{var Ue=De=>{var be=eX(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"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 it=v(at,2);Nt(it,()=>l(fi),nt=>x(fi,nt)),D(De,be)},$e=Ot(()=>l(Ui).some(De=>De.id==="redis"));H(Mt,De=>{l($e)&&De(Ue)})}var Tt=v(Mt,2);{var pt=De=>{var be=tX(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var it=v(at,2),nt=m(it);nt.value=nt.__value="debug";var kt=v(nt);kt.value=kt.__value="info";var ti=v(kt);ti.value=ti.__value="warn";var Yt=v(ti);Yt.value=Yt.__value="error",Ps(it,()=>l(Ye),Ht=>x(Ye,Ht)),D(De,be)},Qe=Ot(()=>l(Ui).some(De=>De.id==="logging"));H(Tt,De=>{l(Qe)&&De(pt)})}var wt=v(Tt,2);{var Dt=De=>{var be=iX(),qe=v(m(be),2),at=v(m(qe),2),Xt=m(at),it=v(Xt,4);Rn(it,()=>"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 nt=v(qe,2),kt=m(nt),ti=v(m(kt));Rn(ti,()=>"How often the heartbeat fires, in milliseconds. Lower = finer resolution, slightly more overhead. Default: 50 ms.");var Yt=v(kt,2),Ht=v(nt,2),Wt=m(Ht),Ft=v(m(Wt));Rn(Ft,()=>"Minimum excess delay (beyond the interval) before a warning is logged. Default: 300 ms.");var jt=v(Wt,2);z(()=>{Yt.disabled=!l(yt),jt.disabled=!l(yt)}),bs(Xt,()=>l(yt),_i=>x(yt,_i)),Nt(Yt,()=>l(ye),_i=>x(ye,_i)),Nt(jt,()=>l(Oe),_i=>x(Oe,_i)),D(De,be)},st=Ot(()=>l(Ui).some(De=>De.id==="engine"));H(wt,De=>{l(st)&&De(Dt)})}var Rt=v(wt,2);{var si=De=>{var be=lX(),qe=v(m(be),2),at=m(qe),Xt=v(m(at));Rn(Xt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var it=v(at,2);ri(it,21,()=>Ei,Vi,(yi,Mi)=>{var en=j2(),Pn=m(en),tn={};z(()=>{O(Pn,l(Mi).label),tn!==(tn=l(Mi).id)&&(en.value=(en.__value=l(Mi).id)??"")}),D(yi,en)});var nt=v(qe,2);{var kt=yi=>{var Mi=oX();let en;var Pn=m(Mi);{var tn=Tn=>{var ji=nX(),Xi=v(bt(ji));z(()=>O(Xi,` ${l(vi).freeNote??""}`)),D(Tn,ji)};H(Pn,Tn=>{l(vi).freeNote&&Tn(tn)})}var bn=v(Pn,2);{var An=Tn=>{var ji=sX(),Xi=v(bt(ji));z(()=>un(Xi,"href",l(vi).apiKeyUrl)),D(Tn,ji)};H(bn,Tn=>{l(vi).apiKeyUrl&&Tn(An)})}z(()=>en=Bt(Mi,1,"preset-note svelte-767znw",null,en,{free:!!l(vi).freeNote})),D(yi,Mi)};H(nt,yi=>{var Mi,en;((Mi=l(vi))!=null&&Mi.freeNote||(en=l(vi))!=null&&en.apiKeyUrl)&&yi(kt)})}var ti=v(nt,2);{var Yt=yi=>{var Mi=rX(),en=m(Mi),Pn=v(m(en));Rn(Pn,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var tn=v(en,2);z(()=>{var bn;return un(tn,"placeholder",l(xt)==="ollama"?"http://localhost:11434":l(xt)==="lmstudio"?"http://localhost:1234":((bn=l(vi))==null?void 0:bn.baseUrl)??"")}),Nt(tn,()=>l(Pe),bn=>x(Pe,bn)),D(yi,Mi)};H(ti,yi=>{l(xt)!=="anthropic"&&yi(Yt)})}var Ht=v(ti,2),Wt=m(Ht),Ft=v(m(Wt));Rn(Ft,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var jt=v(Wt,2),_i=v(Ht,2);{var pi=yi=>{var Mi=aX(),en=m(Mi),Pn=v(m(en));Rn(Pn,()=>"Stored in config.json. Not needed for local providers.");var tn=v(en,2);Nt(tn,()=>l(Gt),bn=>x(Gt,bn)),D(yi,Mi)};H(_i,yi=>{l(xt)!=="ollama"&&l(xt)!=="lmstudio"&&yi(pi)})}z(()=>{var yi;return un(jt,"placeholder",((yi=l(vi))==null?void 0:yi.defaultModel)||"e.g. llama3.2")}),j("change",it,Zi),Ps(it,()=>l(xt),yi=>x(xt,yi)),Nt(jt,()=>l(Ee),yi=>x(Ee,yi)),D(De,be)},Ut=Ot(()=>l(Ui).some(De=>De.id==="ai"));H(Rt,De=>{l(Ut)&&De(si)})}D(ie,tt)};H(bi,ie=>{l(Ct)?ie(Ci):ie(Hi,-1)})}z(()=>{Jt.disabled=l(Zt),O(ai,l(Zt)?"Saving…":"Save")}),Nt(zt,()=>l(Pi),ie=>x(Pi,ie)),j("click",Jt,Gi),D(o,qi),Ms()}qs(["click","change"]);var hX=F('<span class="history-loading svelte-18loop9" title="Loading log history…">↺</span>'),fX=F("<option> </option>"),gX=F('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),pX=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 xX(o,e){Ts(e,!0);const t=2e3;let i=B(Di(RF())),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};vS(Z=>{x(i,[...l(i).slice(-1999),Z],!0)}),js(async()=>{try{const Z=await pS(),de=new Set(l(i).map(se=>se.ts+se.msg)),ve=Z.filter(se=>!de.has(se.ts+se.msg));x(i,[...ve,...l(i)].slice(-t),!0)}catch{}x(n,!1),s&&(s.scrollTop=s.scrollHeight)}),Qn(()=>{l(i).length,l(r)&&s&&(s.scrollTop=s.scrollHeight)});function p(){x(i,[],!0)}function C(Z){if(l(a)!=="all"&&g[Z.level]<g[l(a)])return!1;if(!l(d))return!0;if(l(u))try{return new RegExp(l(d),"i").test(Z.msg)}catch{}return Z.msg.toLowerCase().includes(l(d).toLowerCase())}function b(Z){return new Date(Z).toLocaleTimeString()}var y=pX(),w=m(y),A=v(m(w),2);{var I=Z=>{var de=hX();D(Z,de)};H(A,Z=>{l(n)&&Z(I)})}var M=v(A,2);ri(M,21,()=>f,Vi,(Z,de)=>{var ve=fX(),se=m(ve),ue={};z(()=>{O(se,l(de)),ue!==(ue=l(de))&&(ve.value=(ve.__value=l(de))??"")}),D(Z,ve)});var R=v(M,2),P=v(R,2),V=m(P),$=v(P,2),J=m($),re=v($,2),fe=v(w,2);ri(fe,21,()=>l(i).filter(C),Z=>Z.ts+Z.msg,(Z,de)=>{var ve=gX(),se=m(ve),ue=m(se),Se=v(se,2),Ie=m(Se),xe=v(Se,2),Ne=m(xe);z((ze,me)=>{Bt(ve,1,`line ${l(de).level??""}`,"svelte-18loop9"),O(ue,ze),O(Ie,me),O(Ne,l(de).msg)},[()=>b(l(de).ts),()=>l(de).level.toUpperCase()]),D(Z,ve)}),hs(fe,Z=>s=Z,()=>s),Ps(M,()=>l(a),Z=>x(a,Z)),Nt(R,()=>l(d),Z=>x(d,Z)),bs(V,()=>l(u),Z=>x(u,Z)),bs(J,()=>l(r),Z=>x(r,Z)),j("click",re,p),D(o,y),Ms()}qs(["click"]);function $2(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 vX=F('<span class="chat-model svelte-1twuiul"><!></span>'),mX=F('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),_X=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>'),bX=F('Working on view <code class="svelte-1twuiul"> </code>',1),CX=F('<button class="chip svelte-1twuiul"> </button>'),EX=F('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),yX=F('<div class="msg-content user-text svelte-1twuiul"> </div>'),U2=F('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),q2=F('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),G2=F('<div class="tool-events svelte-1twuiul"></div>'),K2=F('<div class="text-block svelte-1twuiul"></div>'),wX=F('<button class="expand-btn svelte-1twuiul"> </button>'),SX=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>'),DX=F('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),AX=F('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),kX=F("<div><!></div>"),BX=F('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),FX=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>'),LX=F('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),IX=F('<div class="chat-error svelte-1twuiul"> </div>'),PX=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>'),TX=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>'),MX=F('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),RX=F('<button class="send-btn svelte-1twuiul">↑</button>'),NX=F('<option class="svelte-1twuiul"> </option>'),OX=F('<select class="model-select svelte-1twuiul"></select>'),HX=F('<span class="model-name svelte-1twuiul"> </span>'),WX=F('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),zX=F('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),VX=F('<p class="info-status svelte-1twuiul">Loading…</p>'),jX=F('<p class="info-status info-err svelte-1twuiul"> </p>'),$X=F('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),UX=F('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),qX=F('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),GX=F('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),KX=F('<div class="running-model svelte-1twuiul"> </div>'),ZX=F('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),XX=F('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),YX=F('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),QX=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>'),JX=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 eY(o,e){Ts(e,!0),jm.registerLanguage("javascript",zF),ls.use({breaks:!0,gfm:!0});let t=Tu(e,"currentView",3,null);const i="she:viewchat:messages";let n=B(Di(JSON.parse(localStorage.getItem(i)??"[]"))),s=B(null),r=B(""),a=B(!1),d=B(""),u=B(null),f=B(Di([])),g=B(Di(localStorage.getItem("she:selectedModel")??""));Qn(()=>{localStorage.setItem(i,JSON.stringify(l(n)))});let p=B(Di(new Set)),C=B(!1),b=B(null),y=B(!1),w=B(""),A=null,I=B(0);const M=["[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 R=B(!0),P=B(!0),V=B(!0),$=B(Di([])),J=B(!0),re=B(!1),fe,Z=B(Di([])),de=B(0),ve,se;const ue=Ot(()=>({apiref:!1,shedb:l(R),sampleDocs:l(P),tools:l(V)})),Se=Ot(()=>{var U;return((U=l(u))==null?void 0:U.configured)??!1}),Ie=Ot(()=>l(de)+new TextEncoder().encode(l(r)).length),xe=Ot(()=>l(J)?t():null);async function Ne(){try{const U=await FF();x(u,U,!0),U.configured&&!l(g)&&x(g,U.model,!0)}catch{}}Qn(()=>(window.addEventListener("she:config-changed",Ne),()=>window.removeEventListener("she:config-changed",Ne))),js(()=>{Ne()}),Qn(()=>{l(g)&&localStorage.setItem("she:selectedModel",l(g))}),Qn(()=>{var U;(U=l(u))!=null&&U.provider&&LF().then(T=>{x(f,T.models,!0),!l(g)&&T.models.length>0&&x(g,T.models[0],!0)}).catch(()=>{})}),Qn(()=>{l(g),x(b,null),x(w,"")}),Qn(()=>{const U=l(ue),T=l(xe),W=l($);l(Se)&&IF({context:U,currentView:T??null,extraFiles:W.length>0?W:void 0}).then(Y=>{x(de,new TextEncoder().encode(Y.prompt).length,!0)}).catch(()=>{})}),Qn(()=>{if(!l(a))return;x(I,Math.floor(Math.random()*M.length),!0);const U=setInterval(()=>{x(I,(l(I)+1)%M.length)},1e4);return()=>clearInterval(U)}),Qn(()=>{var U;se&&(l(n).length+(((U=l(s))==null?void 0:U.length)??0),requestAnimationFrame(()=>{se&&(se.scrollTop=se.scrollHeight)}))});function ze(U){const T=[],W=/```(\w*)\n([\s\S]*?)```/g;let Y=0,ne;for(;(ne=W.exec(U))!==null;)ne.index>Y&&T.push({type:"text",text:U.slice(Y,ne.index)}),T.push({type:"code",lang:ne[1]||"text",text:ne[2].trimEnd()}),Y=ne.index+ne[0].length;return Y<U.length&&T.push({type:"text",text:U.slice(Y)}),T}function me(U){const T=[],W=/```(\w*)\n([\s\S]*?)```/g;let Y=0,ne;for(;(ne=W.exec(U))!==null;)ne.index>Y&&T.push({type:"text",text:U.slice(Y,ne.index)}),T.push({type:"code",lang:ne[1]||"text",text:ne[2].trimEnd()}),Y=ne.index+ne[0].length;const ae=U.slice(Y),oe=ae.match(/```(\w*)\n([\s\S]*)$/);return oe?(oe.index>0&&T.push({type:"text",text:ae.slice(0,oe.index)}),T.push({type:"code",lang:oe[1]||"text",text:oe[2]})):ae&&T.push({type:"text",text:ae}),T}function dt(U){const T={};for(const W of U)if(W.type==="code"){if(W.lang==="filter")T.filter=W.text.trim();else if(ft(W.lang)){const Y=W.text.split(`
|
|
223
|
-
`)[0].trim();Y==="// @view-map"?T.map=W.text.split(`
|
|
224
|
-
`).slice(1).join(`
|
|
225
|
-
`).trim():Y==="// @view-reduce"&&(T.reduce=W.text.split(`
|
|
226
|
-
`).slice(1).join(`
|
|
227
|
-
`).trim())}}return T}function Pt(U){return U.filter!==void 0||U.map!==void 0||U.reduce!==void 0}function Ye(U){const T=[];return U.filter!==void 0&&T.push("filter"),U.map!==void 0&&T.push("map"),U.reduce!==void 0&&T.push("reduce"),`Apply ${T.join(" + ")}`}const yt=15;function ye(U){return U.split(`
|
|
228
|
-
`).length>yt}function Oe(U){const T=new Set(l(p));T.has(U)?T.delete(U):T.add(U),x(p,T,!0)}function ht(U,T){if(ft(T))try{return jm.highlight(U,{language:"javascript"}).value}catch{}return U.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function At(U){return ls.parse(U)}function ft(U){return!U||U==="js"||U==="javascript"}function Lt(U){navigator.clipboard.writeText(U).catch(()=>{})}async function mi(){if(x(C,!0),!(l(b)||l(y))){x(y,!0),x(w,"");try{x(b,await Ew(l(g)||l(u).model),!0)}catch(U){x(w,U.message,!0)}x(y,!1)}}function fi(U){return U>=1e9?`${(U/1e9).toFixed(1)} GB`:U>=1e6?`${(U/1e6).toFixed(0)} MB`:`${U} B`}function Ei(U){const T=U.match(/\.([^.]+)$/);return T?T[1].toUpperCase():"?"}function xt(U){switch(U){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return U}}function ui(U){x($,l($).filter((T,W)=>W!==U),!0)}function Pe(){fe.click()}async function Ee(U){if(!(!U||U.length===0))for(const T of Array.from(U)){const W=await T.text();x($,[...l($),{name:T.name,content:W}],!0)}}function Gt(U){const T=U.target;Ee(T.files),T.value=""}function gi(U){var T;U.preventDefault(),x(re,!1),Ee(((T=U.dataTransfer)==null?void 0:T.files)??null)}function Qt(U){var T;(T=U.dataTransfer)!=null&&T.types.includes("Files")&&(U.preventDefault(),x(re,!0))}function Ni(){x(re,!1)}async function Zi(){const U=l(r).trim();if(!(!U||l(a))){x(r,""),x(d,""),x(a,!0),x(n,[...l(n),{role:"user",content:U}],!0),A=new AbortController,x(Z,[],!0);try{await PF({messages:l(n),currentView:l(xe),context:l(ue),modelOverride:l(g)||void 0,extraFiles:l($).length>0?l($):void 0},T=>{x(s,(l(s)??"")+T)},A.signal,T=>{x(Z,[...l(Z),T],!0)}),x(n,[...l(n),{role:"assistant",content:l(s)??"",toolEvents:l(Z).length>0?[...l(Z)]:void 0}],!0),x(Z,[],!0)}catch(T){if(T.name==="AbortError"){const W=l(s);W!=null&&W.trim()&&x(n,[...l(n),{role:"assistant",content:W+`
|
|
229
|
-
|
|
230
|
-
*[stopped]*`,toolEvents:l(Z).length>0?[...l(Z)]:void 0}],!0)}else x(d,T.message,!0)}finally{A=null,x(s,null),x(Z,[],!0),x(a,!1)}}}function vi(){A==null||A.abort()}function gn(U){U.key==="Enter"&&!U.shiftKey&&(U.preventDefault(),Zi())}function cn(){x(n,[],!0),x(d,"")}const rn=["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 mn(U){x(r,U,!0),ve==null||ve.focus()}var Ct=JX(),Zt=bt(Ct),Ii=m(Zt),Wi=v(m(Ii),2);{var Pi=U=>{var T=vX(),W=m(T);{var Y=ae=>{var oe=ro();z(()=>O(oe,`${l(u).provider??""} · ${(l(g)||l(u).model)??""}`)),D(ae,oe)},ne=ae=>{var oe=ro("Not configured");D(ae,oe)};H(W,ae=>{l(Se)?ae(Y):ae(ne,-1)})}z(()=>un(T,"title",`Provider: ${l(u).provider??""}`)),D(U,T)};H(Wi,U=>{l(u)&&U(Pi)})}var pn=v(Wi,2);{var Dn=U=>{var T=mX();j("click",T,cn),D(U,T)};H(pn,U=>{l(n).length>0&&U(Dn)})}var Ui=v(Ii,2),Xe=m(Ui);{var ci=U=>{var T=_X();D(U,T)},Oi=U=>{var T=EX(),W=m(T),Y=m(W);{var ne=we=>{var je=bX(),Ce=v(bt(je)),Le=m(Ce);z(()=>O(Le,t().id)),D(we,je)},ae=we=>{var je=ro("No view selected. Ask a general sheDB view question.");D(we,je)};H(Y,we=>{t()?we(ne):we(ae,-1)})}var oe=v(W,2);ri(oe,17,()=>rn,Vi,(we,je)=>{var Ce=CX(),Le=m(Ce);z(()=>O(Le,l(je))),j("click",Ce,()=>mn(l(je))),D(we,Ce)}),D(U,T)};H(Xe,U=>{l(Se)?l(n).length===0&&l(s)===null&&U(Oi,1):U(ci)})}var ii=v(Xe,2);ri(ii,17,()=>l(n),Vi,(U,T,W)=>{var Y=kX(),ne=m(Y);{var ae=we=>{var je=yX(),Ce=m(je);z(()=>O(Ce,l(T).content)),D(we,je)},oe=we=>{const je=Ot(()=>ze(l(T).content)),Ce=Ot(()=>dt(l(je)));var Le=AX(),Me=bt(Le);{var ot=Ue=>{var $e=G2();ri($e,21,()=>l(T).toolEvents,Vi,(Tt,pt)=>{var Qe=As(),wt=bt(Qe);{var Dt=Rt=>{var si=U2(),Ut=v(m(si)),De=m(Ut);z(be=>O(De,be),[()=>l(pt).name.replace(/_/g," ")]),D(Rt,si)},st=Rt=>{var si=q2(),Ut=v(m(si)),De=m(Ut);z(be=>O(De,be),[()=>l(pt).name.replace(/_/g," ")]),D(Rt,si)};H(wt,Rt=>{l(pt).type==="tool_call"?Rt(Dt):Rt(st,-1)})}D(Tt,Qe)}),D(Ue,$e)};H(Me,Ue=>{var $e;($e=l(T).toolEvents)!=null&&$e.length&&Ue(ot)})}var li=v(Me,2),Q=m(li);ri(Q,17,()=>l(je),Vi,(Ue,$e,Tt)=>{var pt=As(),Qe=bt(pt);{var wt=st=>{var Rt=K2();pc(Rt,()=>At(l($e).text),!0),D(st,Rt)},Dt=st=>{const Rt=Ot(()=>`${W}:${Tt}`),si=Ot(()=>ye(l($e).text)),Ut=Ot(()=>l(p).has(l(Rt))),De=Ot(()=>l($e).lang==="filter");var be=SX(),qe=m(be),at=m(qe),Xt=m(at),it=v(at,2),nt=m(it),kt=v(qe,2);let ti;var Yt=m(kt),Ht=m(Yt);pc(Ht,()=>ht(l($e).text,l($e).lang??""),!0);var Wt=v(Yt,2);{var Ft=jt=>{var _i=wX(),pi=m(_i);z(()=>O(pi,l(Ut)?"▲ collapse":"▼ expand")),j("click",_i,()=>Oe(l(Rt))),D(jt,_i)};H(Wt,jt=>{l(si)&&jt(Ft)})}z(()=>{O(Xt,l(De)?"filter":l($e).lang),ti=Bt(kt,1,"code-body svelte-1twuiul",null,ti,{collapsed:l(si)&&!l(Ut)})}),j("click",nt,()=>Lt(l($e).text)),D(st,be)};H(Qe,st=>{l($e).type==="text"?st(wt):st(Dt,-1)})}D(Ue,pt)});var ce=v(Q,2);{var Ge=Ue=>{var $e=DX(),Tt=m($e),pt=m(Tt);z(Qe=>O(pt,Qe),[()=>Ye(l(Ce))]),j("click",Tt,()=>e.onApplyView(l(Ce))),D(Ue,$e)},Mt=Ot(()=>Pt(l(Ce))&&e.onApplyView);H(ce,Ue=>{l(Mt)&&Ue(Ge)})}D(we,Le)};H(ne,we=>{l(T).role==="user"?we(ae):we(oe,-1)})}z(()=>Bt(Y,1,`message ${l(T).role??""}`,"svelte-1twuiul")),D(U,Y)});var zi=v(ii,2);{var Gi=U=>{var T=G2();ri(T,21,()=>l(Z),Vi,(W,Y)=>{var ne=As(),ae=bt(ne);{var oe=je=>{var Ce=U2(),Le=v(m(Ce)),Me=m(Le);z(ot=>O(Me,ot),[()=>l(Y).name.replace(/_/g," ")]),D(je,Ce)},we=je=>{var Ce=q2(),Le=v(m(Ce)),Me=m(Le);z(ot=>O(Me,ot),[()=>l(Y).name.replace(/_/g," ")]),D(je,Ce)};H(ae,je=>{l(Y).type==="tool_call"?je(oe):je(we,-1)})}D(W,ne)}),D(U,T)};H(zi,U=>{l(Z).length>0&&U(Gi)})}var qi=v(zi,2);{var K=U=>{var T=BX(),W=m(T),Y=m(W),ne=m(Y);z(()=>O(ne,M[l(I)])),D(U,T)};H(qi,U=>{l(a)&&l(s)===null&&l(Z).length===0&&U(K)})}var ke=v(qi,2);{var rt=U=>{var T=LX(),W=m(T);ri(W,21,()=>me(l(s)),Vi,(Y,ne)=>{var ae=As(),oe=bt(ae);{var we=Ce=>{var Le=K2();pc(Le,()=>At(l(ne).text),!0),D(Ce,Le)},je=Ce=>{var Le=FX(),Me=m(Le),ot=m(Me),li=m(ot),Q=v(Me,2),ce=m(Q);pc(ce,()=>ht(l(ne).text,l(ne).lang??""),!0),z(()=>O(li,l(ne).lang)),D(Ce,Le)};H(oe,Ce=>{l(ne).type==="text"?Ce(we):Ce(je,-1)})}D(Y,ae)}),D(U,T)};H(ke,U=>{l(s)!==null&&U(rt)})}hs(Ui,U=>se=U,()=>se);var Ze=v(Ui,2);{var zt=U=>{var T=IX(),W=m(T);z(()=>O(W,l(d))),D(U,T)};H(Ze,U=>{l(d)&&U(zt)})}var ni=v(Ze,2),mt=m(ni),et=m(mt),X=v(mt,2),Te=m(X),le=v(X,2),ge=m(le),Jt=v(le,2),ai=m(Jt),bi=v(ni,2),Ci=m(bi);{var Hi=U=>{var T=PX();let W;var Y=v(m(T),2),ne=m(Y),ae=v(Y,2),oe=m(ae);z(()=>{W=Bt(T,1,"file-chip svelte-1twuiul",null,W,{inactive:!l(J)}),O(ne,t().id),un(ae,"title",l(J)?"Remove from context":"Re-add to context"),O(oe,l(J)?"×":"+")}),j("click",ae,()=>x(J,!l(J))),D(U,T)};H(Ci,U=>{t()&&U(Hi)})}var ie=v(Ci,2);ri(ie,17,()=>l($),Vi,(U,T,W)=>{const Y=Ot(()=>Ei(l(T).name));var ne=TX(),ae=m(ne),oe=m(ae),we=v(ae,2),je=m(we),Ce=v(we,2);z((Le,Me)=>{Bt(ae,1,`badge badge-${Le??""}`,"svelte-1twuiul"),O(oe,Me),O(je,l(T).name)},[()=>l(Y).toLowerCase(),()=>xt(l(Y))]),j("click",Ce,()=>ui(W)),D(U,ne)});var tt=v(ie,2),_e=v(tt,2);hs(_e,U=>fe=U,()=>fe);var Ve=v(bi,2);let _t;var It=m(Ve);let Ai;var ei=m(It);hs(ei,U=>ve=U,()=>ve);var pe=v(It,2);{var He=U=>{var T=MX();j("click",T,vi),D(U,T)},Je=U=>{var T=RX();z(W=>T.disabled=W,[()=>!l(r).trim()||!l(Se)]),j("click",T,Zi),D(U,T)};H(pe,U=>{l(a)?U(He):U(Je,-1)})}var Fe=v(Ve,2);{var Et=U=>{var T=zX(),W=m(T),Y=m(W),ne=v(W,2);{var ae=Ce=>{var Le=OX();ri(Le,21,()=>l(f),Vi,(Me,ot)=>{var li=NX(),Q=m(li),ce={};z(()=>{O(Q,l(ot)),ce!==(ce=l(ot))&&(li.value=(li.__value=l(ot))??"")}),D(Me,li)}),z(()=>Le.disabled=l(a)),Ps(Le,()=>l(g),Me=>x(g,Me)),D(Ce,Le)},oe=Ce=>{var Le=HX(),Me=m(Le);z(()=>O(Me,l(g)||l(u).model)),D(Ce,Le)};H(ne,Ce=>{l(f).length>0?Ce(ae):Ce(oe,-1)})}var we=v(ne,2);{var je=Ce=>{var Le=WX();j("click",Le,mi),D(Ce,Le)};H(we,Ce=>{l(u).provider==="ollama"&&Ce(je)})}z(()=>O(Y,l(u).provider)),D(U,T)};H(Fe,U=>{l(Se)&&l(u)&&U(Et)})}var gt=v(Zt,2);{var Kt=U=>{var T=QX(),W=m(T),Y=m(W),ne=m(Y),ae=m(ne),oe=v(ne,2),we=v(Y,2),je=m(we);{var Ce=ot=>{var li=VX();D(ot,li)},Le=ot=>{var li=jX(),Q=m(li);z(()=>O(Q,l(w))),D(ot,li)},Me=ot=>{var li=YX(),Q=m(li);{var ce=st=>{var Rt=$X(),si=v(bt(Rt)),Ut=m(si);z(()=>O(Ut,l(b).version)),D(st,Rt)};H(Q,st=>{l(b).version&&st(ce)})}var Ge=v(Q,2);{var Mt=st=>{var Rt=UX(),si=v(bt(Rt)),Ut=m(si);z(()=>O(Ut,l(b).details.family)),D(st,Rt)};H(Ge,st=>{var Rt;(Rt=l(b).details)!=null&&Rt.family&&st(Mt)})}var Ue=v(Ge,2);{var $e=st=>{var Rt=qX(),si=v(bt(Rt)),Ut=m(si);z(()=>O(Ut,l(b).details.parameter_size)),D(st,Rt)};H(Ue,st=>{var Rt;(Rt=l(b).details)!=null&&Rt.parameter_size&&st($e)})}var Tt=v(Ue,2);{var pt=st=>{var Rt=GX(),si=v(bt(Rt)),Ut=m(si);z(()=>O(Ut,l(b).details.quantization_level)),D(st,Rt)};H(Tt,st=>{var Rt;(Rt=l(b).details)!=null&&Rt.quantization_level&&st(pt)})}var Qe=v(Tt,2);{var wt=st=>{var Rt=ZX(),si=v(bt(Rt),2);ri(si,21,()=>l(b).running,Vi,(Ut,De)=>{var be=KX(),qe=m(be);z(at=>O(qe,`${l(De).name??""} · ${at??""} VRAM`),[()=>fi(l(De).size_vram)]),D(Ut,be)}),D(st,Rt)},Dt=st=>{var Rt=XX();D(st,Rt)};H(Qe,st=>{l(b).running&&l(b).running.length>0?st(wt):l(b).running!==null&&st(Dt,1)})}D(ot,li)};H(je,ot=>{l(y)?ot(Ce):l(w)?ot(Le,1):l(b)&&ot(Me,2)})}z(()=>{var ot;return O(ae,`Ollama · ${(l(g)||((ot=l(u))==null?void 0:ot.model))??""}`)}),j("click",T,()=>x(C,!1)),j("click",W,ot=>ot.stopPropagation()),j("click",oe,()=>x(C,!1)),D(U,T)};H(gt,U=>{l(C)&&U(Kt)})}z(U=>{O(ai,U),_t=Bt(Ve,1,"input-row svelte-1twuiul",null,_t,{"drag-over":l(re)}),Ai=Bt(It,1,"textarea-wrap svelte-1twuiul",null,Ai,{loading:l(a)}),un(ei,"placeholder",l(Se)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ei.disabled=l(a)||!l(Se)},[()=>fi(l(Ie))]),bs(et,()=>l(R),U=>x(R,U)),bs(Te,()=>l(P),U=>x(P,U)),bs(ge,()=>l(V),U=>x(V,U)),j("click",tt,Pe),j("change",_e,Gt),_s("dragover",Ve,Qt),_s("dragleave",Ve,Ni),_s("drop",Ve,gi),j("keydown",ei,gn),Nt(ei,()=>l(r),U=>x(r,U)),D(o,Ct),Ms()}qs(["click","change","keydown"]);var tY=F('<div class="me svelte-1pxdb1"></div>');function wg(o,e){Ts(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;function a(){Go.setTheme(Jh())}js(()=>{const u=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=Go.create(n,{value:t(),language:i(),theme:Jh(),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(_1.CtrlCmd|jk.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)}}),jp(()=>s==null?void 0:s.dispose()),Qn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var d=tY();hs(d,u=>n=u,()=>n),D(o,d),Ms()}const Z2=o=>{var e=iY();D(o,e)};var iY=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 — 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>'),nY=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>'),X2=F('<div class="form-error svelte-rrt0o"> </div>'),sY=F('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),Y2=F("<li> </li>"),Q2=F('<div class="error-bar svelte-rrt0o"> </div>'),J2=F('<div class="loading svelte-rrt0o">Loading…</div>'),oY=F('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),rY=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),aY=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>'),lY=F('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),cY=fb('<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>'),dY=fb('<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>'),uY=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),hY=F('<span class="badge-error svelte-rrt0o">error</span>'),fY=F('<span class="badge-ok svelte-rrt0o"> </span>'),gY=F('<pre class="result-error svelte-rrt0o"> </pre>'),pY=F('<pre class="result-json svelte-rrt0o"> </pre>'),xY=F('<div class="view-result-fill svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),vY=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 · 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>'),mY=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),_Y=F('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),bY=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>'),CY=F('<!> <div role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>',1);function EY(o,e){Ts(e,!0);let t=B(Di([])),i=B(null),n=B("{}"),s=B(!1),r=B(null);const a="she-db-selected-view";let d=B(Di([])),u=B(Di(localStorage.getItem(a))),f=B("#"),g=B("// emit(this.someProperty)"),p=B(""),C=B(""),b=B(!1),y=B(!1),w=B(null),A=B(!1),I=B(null),M=B("she/db/view/");const R="she-db-panel";let P=B(Di(localStorage.getItem(R)??"docs")),V=B(""),$=B(!1),J=B(null),re=B(""),fe=B(!1),Z=B(null);const de="she-db-sidebar-width";let ve=B(Di(parseInt(localStorage.getItem(de)??"220",10))),se=!1,ue=0,Se=0;const Ie="she-db-chat-width",xe="she-db-chat-open";let Ne=B(localStorage.getItem(xe)==="true"),ze=B(Di(parseInt(localStorage.getItem(Ie)??"320",10))),me=!1,dt=0,Pt=0;const Ye="she-db-map-height",yt="she-db-reduce-height";let ye=B(Di(parseInt(localStorage.getItem(Ye)??"240",10))),Oe=B(Di(parseInt(localStorage.getItem(yt)??"160",10))),ht=!1,At=0,ft=0,Lt=!1,mi=0,fi=0;const Ei=Ot(()=>l(u)?{id:l(u),filter:l(f),map:l(g),reduce:l(p)}:null);function xt(le){le.filter!==void 0&&x(f,le.filter,!0),le.map!==void 0&&x(g,le.map,!0),le.reduce!==void 0&&x(p,le.reduce,!0)}Qn(()=>{localStorage.setItem(xe,String(l(Ne)))}),Qn(()=>{localStorage.setItem(R,l(P))}),Qn(()=>{l(u)?localStorage.setItem(a,l(u)):localStorage.removeItem(a)});function ui(le){se=!0,ue=le.clientX,Se=l(ve),le.preventDefault()}function Pe(le){se&&x(ve,Math.max(140,Math.min(500,Se+le.clientX-ue)),!0),me&&x(ze,Math.max(240,Math.min(600,Pt-(le.clientX-dt))),!0),ht&&x(ye,Math.max(60,Math.min(600,ft+le.clientY-At)),!0),Lt&&x(Oe,Math.max(40,Math.min(400,fi+le.clientY-mi)),!0)}function Ee(){se&&(se=!1,localStorage.setItem(de,String(l(ve)))),me&&(me=!1,localStorage.setItem(Ie,String(l(ze)))),ht&&(ht=!1,localStorage.setItem(Ye,String(l(ye)))),Lt&&(Lt=!1,localStorage.setItem(yt,String(l(Oe))))}function Gt(le){me=!0,dt=le.clientX,Pt=l(ze),le.preventDefault()}async function gi(){try{x(t,await DF(),!0)}catch{}}async function Qt(){try{x(d,await AF(),!0)}catch{}}async function Ni(le){x(i,le,!0),x(r,null),x(s,!0);try{const ge=await iU(le);x(n,JSON.stringify(ge,null,2),!0)}catch(ge){x(r,ge instanceof Error?ge.message:String(ge),!0)}finally{x(s,!1)}}async function Zi(){if(l(i)){x(r,null);try{const le=JSON.parse(l(n));await p2(l(i),le)}catch(le){x(r,le instanceof Error?le.message:String(le),!0)}}}let vi;async function gn(){if(l(i)&&await vi.show(`Delete document "${l(i)}"?`,{confirm:"Delete",danger:!0}))try{await nU(l(i)),x(i,null),x(n,"{}")}catch(le){x(r,le instanceof Error?le.message:String(le),!0)}}async function cn(){const le=l(V).trim();if(le){x(J,null);try{await p2(le,{}),x($,!1),x(V,""),await Ni(le)}catch(ge){x(J,ge instanceof Error?ge.message:String(ge),!0)}}}async function rn(le){x(u,le,!0),x(I,null),x(A,!0),x(w,null);try{const ge=await sU(le);x(f,ge.filter??"",!0),x(g,ge.map,!0),x(p,ge.reduce??"",!0),x(C,ge.description??"",!0),x(b,ge.mqttpub??!1,!0),x(y,ge.retain??!1,!0),x(w,await XC(le).catch(()=>null),!0)}catch(ge){x(I,ge instanceof Error?ge.message:String(ge),!0)}finally{x(A,!1)}}async function mn(){if(l(u)){x(I,null);try{const le={map:l(g)};l(f).trim()&&(le.filter=l(f).trim()),l(p).trim()&&(le.reduce=l(p).trim()),l(C).trim()&&(le.description=l(C).trim()),l(b)&&(le.mqttpub=!0),l(y)&&(le.retain=!0),await x2(l(u),le)}catch(le){x(I,le instanceof Error?le.message:String(le),!0)}}}async function Ct(){if(l(u))try{x(w,await XC(l(u)),!0)}catch(le){x(I,le instanceof Error?le.message:String(le),!0)}}async function Zt(){if(l(u)&&await vi.show(`Delete view "${l(u)}"?`,{confirm:"Delete",danger:!0}))try{await oU(l(u)),x(u,null),x(f,""),x(g,"// emit(this.someProperty)"),x(p,""),x(C,""),x(b,!1),x(y,!1),x(w,null)}catch(le){x(I,le instanceof Error?le.message:String(le),!0)}}async function Ii(){if(!l(re).trim())return;const le=l(re).trim();x(Z,null);try{await x2(le,{map:"// emit(this.someProperty)"}),x(fe,!1),x(re,""),await Qt(),await rn(le)}catch(ge){x(Z,ge instanceof Error?ge.message:String(ge),!0)}}let Wi=B(""),Pi=B("");function pn(le){return le.includes("#")||le.includes("+")}let Dn=Ot(()=>[...l(t)].filter(le=>l(Wi)?pn(l(Wi))?$2(le,l(Wi))!==null:le.toLowerCase().includes(l(Wi).toLowerCase()):!0).sort()),Ui=Ot(()=>[...l(d)].filter(le=>l(Pi)?pn(l(Pi))?$2(le,l(Pi))!==null:le.toLowerCase().includes(l(Pi).toLowerCase()):!0).sort()),Xe=B(!1),ci=null;function Oi(){try{navigator.clipboard.writeText(`${l(M)}${l(u)}`)}catch{}x(Xe,!0),ci&&clearTimeout(ci),ci=setTimeout(()=>x(Xe,!1),1500)}js(()=>{gi(),Qt().then(()=>{l(u)&&l(d).includes(l(u))?rn(l(u)):x(u,null)}),Ml().then(bi=>{const Ci=bi.dbPrefix||"she/db/",Hi=Ci.endsWith("/")?Ci:Ci+"/";x(M,Hi+"view/")}).catch(()=>{});const le=tr("db:ids",bi=>{x(t,bi.ids??[],!0)}),ge=tr("db:viewIds",bi=>{x(d,bi.ids??[],!0)}),Jt=tr("db:change",async bi=>{const Ci=bi.id;l(i)===Ci&&(bi.doc===null?(x(i,null),x(n,"{}")):x(n,JSON.stringify(bi.doc,null,2),!0))}),ai=tr("db:viewUpdate",async bi=>{const Ci=bi.id;l(u)===Ci&&x(w,await XC(Ci).catch(()=>null),!0)});return()=>{le(),ge(),Jt(),ai()}});var ii=CY(),zi=bt(ii);hs(Qa(zi,{}),le=>vi=le,()=>vi);var Gi=v(zi,2);let qi;var K=m(Gi),ke=m(K);let rt;var Ze=v(ke,2);let zt;var ni=v(Ze,2);{var mt=le=>{var ge=nY();let Jt;z(()=>{Jt=Bt(ge,1,"ai-toggle svelte-rrt0o",null,Jt,{"ai-open":l(Ne)}),un(ge,"title",l(Ne)?"Close AI assistant":"Open AI assistant")}),j("click",ge,()=>x(Ne,!l(Ne))),D(le,ge)};H(ni,le=>{l(P)==="views"&&le(mt)})}var et=v(K,2);{var X=le=>{var ge=aY(),Jt=m(ge);let ai;var bi=m(Jt),Ci=m(bi),Hi=v(bi,2);{var ie=He=>{var Je=sY(),Fe=bt(Je),Et=m(Fe),gt=v(Et,2),Kt=v(Fe,2);{var U=T=>{var W=X2(),Y=m(W);z(()=>O(Y,l(J))),D(T,W)};H(Kt,T=>{l(J)&&T(U)})}j("keydown",Et,T=>T.key==="Enter"&&cn()),Nt(Et,()=>l(V),T=>x(V,T)),j("click",gt,cn),D(He,Je)};H(Hi,He=>{l($)&&He(ie)})}var tt=v(Hi,2),_e=m(tt),Ve=v(tt,2);ri(Ve,20,()=>l(Dn),He=>He,(He,Je)=>{var Fe=Y2();let Et;var gt=m(Fe);z(()=>{Et=Bt(Fe,1,"flat-item svelte-rrt0o",null,Et,{"active-item":l(i)===Je}),O(gt,Je)}),j("click",Fe,()=>Ni(Je)),D(He,Fe)});var _t=v(Jt,2),It=v(_t,2),Ai=m(It);{var ei=He=>{var Je=rY(),Fe=bt(Je),Et=m(Fe),gt=m(Et),Kt=v(Et,2),U=v(Kt,2),T=v(Fe,2);{var W=oe=>{var we=Q2(),je=m(we);z(()=>O(je,l(r))),D(oe,we)};H(T,oe=>{l(r)&&oe(W)})}var Y=v(T,2);{var ne=oe=>{var we=J2();D(oe,we)},ae=oe=>{var we=oY(),je=m(we);wg(je,{language:"json",get value(){return l(n)},set value(Ce){x(n,Ce,!0)}}),D(oe,we)};H(Y,oe=>{l(s)?oe(ne):oe(ae,-1)})}z(()=>O(gt,l(i))),j("click",Kt,Zi),j("click",U,gn),D(He,Je)},pe=He=>{Z2(He)};H(Ai,He=>{l(i)?He(ei):He(pe,-1)})}z(()=>ai=Co(Jt,"",ai,{width:`${l(ve)??""}px`})),j("click",Ci,()=>{x($,!l($)),x(J,null)}),Nt(_e,()=>l(Wi),He=>x(Wi,He)),j("mousedown",_t,ui),D(le,ge)},Te=le=>{var ge=bY(),Jt=m(ge);let ai;var bi=m(Jt),Ci=m(bi),Hi=v(bi,2);{var ie=Fe=>{var Et=lY(),gt=bt(Et),Kt=m(gt),U=v(Kt,2),T=v(gt,2);{var W=Y=>{var ne=X2(),ae=m(ne);z(()=>O(ae,l(Z))),D(Y,ne)};H(T,Y=>{l(Z)&&Y(W)})}j("keydown",Kt,Y=>Y.key==="Enter"&&Ii()),Nt(Kt,()=>l(re),Y=>x(re,Y)),j("click",U,Ii),D(Fe,Et)};H(Hi,Fe=>{l(fe)&&Fe(ie)})}var tt=v(Hi,2),_e=m(tt),Ve=v(tt,2);ri(Ve,20,()=>l(Ui),Fe=>Fe,(Fe,Et)=>{var gt=Y2();let Kt;var U=m(gt);z(()=>{Kt=Bt(gt,1,"flat-item svelte-rrt0o",null,Kt,{"active-item":l(u)===Et}),O(U,Et)}),j("click",gt,()=>rn(Et)),D(Fe,gt)});var _t=v(Jt,2),It=v(_t,2),Ai=m(It);{var ei=Fe=>{var Et=mY(),gt=bt(Et),Kt=m(gt),U=m(Kt),T=v(Kt,2),W=v(T,2),Y=v(W,2),ne=v(gt,2);{var ae=Ce=>{var Le=Q2(),Me=m(Le);z(()=>O(Me,l(I))),D(Ce,Le)};H(ne,Ce=>{l(I)&&Ce(ae)})}var oe=v(ne,2);{var we=Ce=>{var Le=J2();D(Ce,Le)},je=Ce=>{var Le=vY(),Me=m(Le),ot=m(Me),li=v(m(ot),2),Q=m(li),ce=v(ot,2),Ge=v(m(ce),2),Mt=m(Ge),Ue=v(ce,2),$e=v(m(Ue),2);let Tt;var pt=m($e);wg(pt,{language:"javascript",onSave:mn,get value(){return l(g)},set value(nt){x(g,nt,!0)}});var Qe=v($e,2),wt=v(Ue,2),Dt=v(m(wt),2);let st;var Rt=m(Dt);wg(Rt,{language:"javascript",onSave:mn,get value(){return l(p)},set value(nt){x(p,nt,!0)}});var si=v(Dt,2),Ut=v(wt,2),De=m(Ut),be=m(De),qe=v(De,2);{var at=nt=>{var kt=uY(),ti=bt(kt),Yt=m(ti),Ht=m(Yt),Wt=v(Yt,2),Ft=m(Wt);{var jt=Mi=>{var en=cY();D(Mi,en)},_i=Mi=>{var en=dY();D(Mi,en)};H(Ft,Mi=>{l(Xe)?Mi(jt):Mi(_i,-1)})}var pi=v(ti,2),yi=m(pi);z(()=>{O(Ht,`${l(M)??""}${l(u)??""}`),un(Wt,"title",l(Xe)?"Copied!":"Copy topic")}),j("click",Wt,Oi),bs(yi,()=>l(y),Mi=>x(y,Mi)),D(nt,kt)};H(qe,nt=>{l(b)&&nt(at)})}var Xt=v(Me,2);{var it=nt=>{var kt=xY(),ti=m(kt),Yt=v(m(ti));{var Ht=pi=>{var yi=hY();D(pi,yi)},Wt=pi=>{var yi=fY(),Mi=m(yi);z(()=>O(Mi,`${l(w).length??0??""} items · rev ${l(w)._rev??""}`)),D(pi,yi)};H(Yt,pi=>{l(w).error?pi(Ht):pi(Wt,-1)})}var Ft=v(ti,2);{var jt=pi=>{var yi=gY(),Mi=m(yi);z(()=>O(Mi,l(w).error)),D(pi,yi)},_i=pi=>{var yi=pY(),Mi=m(yi);z(en=>O(Mi,en),[()=>JSON.stringify(l(w).result,null,2)]),D(pi,yi)};H(Ft,pi=>{l(w).error?pi(jt):pi(_i,-1)})}D(nt,kt)};H(Xt,nt=>{l(w)&&nt(it)})}z(()=>{Tt=Co($e,"",Tt,{height:`${l(ye)??""}px`}),st=Co(Dt,"",st,{height:`${l(Oe)??""}px`})}),Nt(Q,()=>l(C),nt=>x(C,nt)),Nt(Mt,()=>l(f),nt=>x(f,nt)),j("mousedown",Qe,nt=>{ht=!0,At=nt.clientY,ft=l(ye),nt.preventDefault()}),j("mousedown",si,nt=>{Lt=!0,mi=nt.clientY,fi=l(Oe),nt.preventDefault()}),bs(be,()=>l(b),nt=>x(b,nt)),D(Ce,Le)};H(oe,Ce=>{l(A)?Ce(we):Ce(je,-1)})}z(()=>O(U,l(u))),j("click",T,mn),j("click",W,Ct),j("click",Y,Zt),D(Fe,Et)},pe=Fe=>{Z2(Fe)};H(Ai,Fe=>{l(u)?Fe(ei):Fe(pe,-1)})}var He=v(It,2);{var Je=Fe=>{var Et=_Y(),gt=bt(Et),Kt=v(gt,2);let U;var T=m(Kt);eY(T,{get currentView(){return l(Ei)},onApplyView:xt}),z(()=>U=Co(Kt,"",U,{width:`${l(ze)??""}px`})),j("mousedown",gt,Gt),D(Fe,Et)};H(He,Fe=>{l(Ne)&&Fe(Je)})}z(()=>ai=Co(Jt,"",ai,{width:`${l(ve)??""}px`})),j("click",Ci,()=>{x(fe,!l(fe)),x(Z,null)}),Nt(_e,()=>l(Pi),Fe=>x(Pi,Fe)),j("mousedown",_t,ui),D(le,ge)};H(et,le=>{l(P)==="docs"?le(X):le(Te,-1)})}z(()=>{qi=Bt(Gi,1,"db-root svelte-rrt0o",null,qi,{"row-dragging":ht||Lt}),rt=Bt(ke,1,"svelte-rrt0o",null,rt,{active:l(P)==="docs"}),zt=Bt(Ze,1,"svelte-rrt0o",null,zt,{active:l(P)==="views"})}),j("mousemove",Gi,Pe),j("mouseup",Gi,Ee),_s("mouseleave",Gi,Ee),j("click",ke,()=>x(P,"docs")),j("click",Ze,()=>x(P,"views")),D(o,ii),Ms()}qs(["mousemove","mouseup","click","keydown","mousedown"]);var wv={exports:{}},yY=wv.exports,eA;function wY(){return eA||(eA=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:yY,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 y=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(y,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,y=C;b<y.length;b++){var w=y[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,y){y===void 0&&(y={});var w=f;Object.keys(w||{}).forEach(function($){w[$]=y[$]||w[$]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",I=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",M=s.binarize(p,C,b,A),R=M.binarized,P=M.inverted,V=u(I?P:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(I?R:P)),V}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 y=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var I=g[(A*p+w)*4+0],M=g[(A*p+w)*4+1],R=g[(A*p+w)*4+2];y.set(w,A,.2126*I+.7152*M+.0722*R)}for(var P=Math.ceil(p/r),V=Math.ceil(C/r),$=new u(P,V),J=0;J<V;J++)for(var re=0;re<P;re++){for(var fe=0,Z=1/0,de=0,A=0;A<r;A++)for(var w=0;w<r;w++){var ve=y.get(re*r+w,J*r+A);fe+=ve,Z=Math.min(Z,ve),de=Math.max(de,ve)}var se=fe/Math.pow(r,2);if(de-Z<=a&&(se=Z/2,J>0&&re>0)){var ue=($.get(re,J-1)+2*$.get(re-1,J)+$.get(re-1,J-1))/4;Z<ue&&(se=ue)}$.set(re,J,se)}var Se=s.BitMatrix.createEmpty(p,C),Ie=null;b&&(Ie=s.BitMatrix.createEmpty(p,C));for(var J=0;J<V;J++)for(var re=0;re<P;re++){for(var xe=d(re,2,P-3),Ne=d(J,2,V-3),fe=0,ze=-2;ze<=2;ze++)for(var me=-2;me<=2;me++)fe+=$.get(xe+ze,Ne+me);for(var dt=fe/25,ze=0;ze<r;ze++)for(var me=0;me<r;me++){var w=re*r+ze,A=J*r+me,Pt=y.get(w,A);Se.set(w,A,Pt<=dt),b&&Ie.set(w,A,!(Pt<=dt))}}return b?{binarized:Se,inverted:Ie}:{binarized:Se}}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(R,P){for(var V=R^P,$=0;V;)$++,V&=V-1;return $}function f(R,P){return P<<1|R}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(R){return(R.y+R.x)%2===0},function(R){return R.y%2===0},function(R){return R.x%3===0},function(R){return(R.y+R.x)%3===0},function(R){return(Math.floor(R.y/2)+Math.floor(R.x/3))%2===0},function(R){return R.x*R.y%2+R.x*R.y%3===0},function(R){return(R.y*R.x%2+R.y*R.x%3)%2===0},function(R){return((R.y+R.x)%2+R.y*R.x%3)%2===0}];function C(R){var P=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(P,P);V.setRegion(0,0,9,9,!0),V.setRegion(P-8,0,8,9,!0),V.setRegion(0,P-8,9,8,!0);for(var $=0,J=R.alignmentPatternCenters;$<J.length;$++)for(var re=J[$],fe=0,Z=R.alignmentPatternCenters;fe<Z.length;fe++){var de=Z[fe];re===6&&de===6||re===6&&de===P-7||re===P-7&&de===6||V.setRegion(re-2,de-2,5,5,!0)}return V.setRegion(6,9,1,P-17,!0),V.setRegion(9,6,P-17,1,!0),R.versionNumber>6&&(V.setRegion(P-11,0,3,6,!0),V.setRegion(0,P-11,6,3,!0)),V}function b(R,P,V){for(var $=p[V.dataMask],J=R.height,re=C(P),fe=[],Z=0,de=0,ve=!0,se=J-1;se>0;se-=2){se===6&&se--;for(var ue=0;ue<J;ue++)for(var Se=ve?J-1-ue:ue,Ie=0;Ie<2;Ie++){var xe=se-Ie;if(!re.get(xe,Se)){de++;var Ne=R.get(xe,Se);$({y:Se,x:xe})&&(Ne=!Ne),Z=f(Ne,Z),de===8&&(fe.push(Z),de=0,Z=0)}}ve=!ve}return fe}function y(R){var P=R.height,V=Math.floor((P-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var $=0,J=5;J>=0;J--)for(var re=P-9;re>=P-11;re--)$=f(R.get(re,J),$);for(var fe=0,re=5;re>=0;re--)for(var J=P-9;J>=P-11;J--)fe=f(R.get(re,J),fe);for(var Z=1/0,de,ve=0,se=d.VERSIONS;ve<se.length;ve++){var ue=se[ve];if(ue.infoBits===$||ue.infoBits===fe)return ue;var Se=u($,ue.infoBits);Se<Z&&(de=ue,Z=Se),Se=u(fe,ue.infoBits),Se<Z&&(de=ue,Z=Se)}if(Z<=3)return de}function w(R){for(var P=0,V=0;V<=8;V++)V!==6&&(P=f(R.get(V,8),P));for(var $=7;$>=0;$--)$!==6&&(P=f(R.get(8,$),P));for(var J=R.height,re=0,$=J-1;$>=J-7;$--)re=f(R.get(8,$),re);for(var V=J-8;V<J;V++)re=f(R.get(V,8),re);for(var fe=1/0,Z=null,de=0,ve=g;de<ve.length;de++){var se=ve[de],ue=se.bits,Se=se.formatInfo;if(ue===P||ue===re)return Se;var Ie=u(P,ue);Ie<fe&&(Z=Se,fe=Ie),P!==re&&(Ie=u(re,ue),Ie<fe&&(Z=Se,fe=Ie))}return fe<=3?Z:null}function A(R,P,V){var $=P.errorCorrectionLevels[V],J=[],re=0;if($.ecBlocks.forEach(function(Ne){for(var ze=0;ze<Ne.numBlocks;ze++)J.push({numDataCodewords:Ne.dataCodewordsPerBlock,codewords:[]}),re+=Ne.dataCodewordsPerBlock+$.ecCodewordsPerBlock}),R.length<re)return null;R=R.slice(0,re);for(var fe=$.ecBlocks[0].dataCodewordsPerBlock,Z=0;Z<fe;Z++)for(var de=0,ve=J;de<ve.length;de++){var se=ve[de];se.codewords.push(R.shift())}if($.ecBlocks.length>1)for(var ue=$.ecBlocks[0].numBlocks,Se=$.ecBlocks[1].numBlocks,Z=0;Z<Se;Z++)J[ue+Z].codewords.push(R.shift());for(;R.length>0;)for(var Ie=0,xe=J;Ie<xe.length;Ie++){var se=xe[Ie];se.codewords.push(R.shift())}return J}function I(R){var P=y(R);if(!P)return null;var V=w(R);if(!V)return null;var $=b(R,P,V),J=A($,P,V.errorCorrectionLevel);if(!J)return null;for(var re=J.reduce(function(Ie,xe){return Ie+xe.numDataCodewords},0),fe=new Uint8ClampedArray(re),Z=0,de=0,ve=J;de<ve.length;de++){var se=ve[de],ue=a.decode(se.codewords,se.codewords.length-se.numDataCodewords);if(!ue)return null;for(var Se=0;Se<se.numDataCodewords;Se++)fe[Z++]=ue[Se]}try{return r.decode(fe,P.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var P=I(R);if(P)return P;for(var V=0;V<R.width;V++)for(var $=V+1;$<R.height;$++)R.get(V,$)!==R.get($,V)&&(R.set(V,$,!R.get(V,$)),R.set($,V,!R.get($,V)));return I(R)}i.decode=M}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(y){y.Numeric="numeric",y.Alphanumeric="alphanumeric",y.Byte="byte",y.Kanji="kanji",y.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(y){y[y.Terminator=0]="Terminator",y[y.Numeric=1]="Numeric",y[y.Alphanumeric=2]="Alphanumeric",y[y.Byte=4]="Byte",y[y.Kanji=8]="Kanji",y[y.ECI=7]="ECI"})(d||(d={}));function u(y,w){for(var A=[],I="",M=[10,12,14][w],R=y.readBits(M);R>=3;){var P=y.readBits(10);if(P>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(P/100),$=Math.floor(P/10)%10,J=P%10;A.push(48+V,48+$,48+J),I+=V.toString()+$.toString()+J.toString(),R-=3}if(R===2){var P=y.readBits(7);if(P>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(P/10),$=P%10;A.push(48+V,48+$),I+=V.toString()+$.toString()}else if(R===1){var P=y.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(y,w){for(var A=[],I="",M=[9,11,13][w],R=y.readBits(M);R>=2;){var P=y.readBits(11),V=Math.floor(P/45),$=P%45;A.push(f[V].charCodeAt(0),f[$].charCodeAt(0)),I+=f[V]+f[$],R-=2}if(R===1){var V=y.readBits(6);A.push(f[V].charCodeAt(0)),I+=f[V]}return{bytes:A,text:I}}function p(y,w){for(var A=[],I="",M=[8,16,16][w],R=y.readBits(M),P=0;P<R;P++){var V=y.readBits(8);A.push(V)}try{I+=decodeURIComponent(A.map(function($){return"%"+("0"+$.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:I}}function C(y,w){for(var A=[],I="",M=[8,10,12][w],R=y.readBits(M),P=0;P<R;P++){var V=y.readBits(13),$=Math.floor(V/192)<<8|V%192;$<7936?$+=33088:$+=49472,A.push($>>8,$&255),I+=String.fromCharCode(r.shiftJISTable[$])}return{bytes:A,text:I}}function b(y,w){for(var A,I,M,R,P=new s.BitStream(y),V=w<=9?0:w<=26?1:2,$={text:"",bytes:[],chunks:[],version:w};P.available()>=4;){var J=P.readBits(4);if(J===d.Terminator)return $;if(J===d.ECI)P.readBits(1)===0?$.chunks.push({type:a.ECI,assignmentNumber:P.readBits(7)}):P.readBits(1)===0?$.chunks.push({type:a.ECI,assignmentNumber:P.readBits(14)}):P.readBits(1)===0?$.chunks.push({type:a.ECI,assignmentNumber:P.readBits(21)}):$.chunks.push({type:a.ECI,assignmentNumber:-1});else if(J===d.Numeric){var re=u(P,V);$.text+=re.text,(A=$.bytes).push.apply(A,re.bytes),$.chunks.push({type:a.Numeric,text:re.text})}else if(J===d.Alphanumeric){var fe=g(P,V);$.text+=fe.text,(I=$.bytes).push.apply(I,fe.bytes),$.chunks.push({type:a.Alphanumeric,text:fe.text})}else if(J===d.Byte){var Z=p(P,V);$.text+=Z.text,(M=$.bytes).push.apply(M,Z.bytes),$.chunks.push({type:a.Byte,bytes:Z.bytes,text:Z.text})}else if(J===d.Kanji){var de=C(P,V);$.text+=de.text,(R=$.bytes).push.apply(R,de.bytes),$.chunks.push({type:a.Kanji,bytes:de.bytes,text:de.text})}}if(P.available()===0||P.readBits(P.available())===0)return $}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 y;p.degree()<C.degree()&&(y=[C,p],p=y[0],C=y[1]);for(var w=p,A=C,I=g.zero,M=g.one;A.degree()>=b/2;){var R=w,P=I;if(w=A,I=M,w.isZero())return null;A=R;for(var V=g.zero,$=w.getCoefficient(w.degree()),J=g.inverse($);A.degree()>=w.degree()&&!A.isZero();){var re=A.degree()-w.degree(),fe=g.multiply(A.getCoefficient(A.degree()),J);V=V.addOrSubtract(g.buildMonomial(re,fe)),A=A.addOrSubtract(w.multiplyByMonomial(re,fe))}if(M=V.multiplyPoly(I).addOrSubtract(P),A.degree()>=w.degree())return null}var Z=M.getCoefficient(0);if(Z===0)return null;var de=g.inverse(Z);return[M.multiply(de),A.multiply(de)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),y=0,w=1;w<g.size&&y<C;w++)p.evaluateAt(w)===0&&(b[y]=g.inverse(w),y++);return y!==C?null:b}function u(g,p,C){for(var b=C.length,y=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),I=1,M=0;M<b;M++)w!==M&&(I=g.multiply(I,s.addOrSubtractGF(1,g.multiply(C[M],A))));y[w]=g.multiply(p.evaluateAt(A),g.inverse(I)),g.generatorBase!==0&&(y[w]=g.multiply(y[w],A))}return y}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),y=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,I=0;I<p;I++){var M=y.evaluateAt(b.exp(I+b.generatorBase));w[w.length-1-I]=M,M!==0&&(A=!0)}if(!A)return C;var R=new r.default(b,w),P=a(b,b.buildMonomial(p,1),R,p);if(P===null)return null;var V=d(b,P[0]);if(V==null)return null;for(var $=u(b,P[1],V),J=0;J<V.length;J++){var re=C.length-1-b.log(V[J]);if(re<0)return null;C[re]=s.addOrSubtractGF(C[re],$[J])}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,y=f.y-g.y+p.y-C.y;if(b===0&&y===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,M=C.y-p.y,R=w*M-A*I,P=(b*M-A*y)/R,V=(w*y-b*I)/R;return{a11:g.x-f.x+P*g.x,a12:g.y-f.y+P*g.y,a13:P,a21:C.x-f.x+V*C.x,a22:C.y-f.y+V*C.y,a23:V,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),y=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(V,$){var J=b.a13*V+b.a23*$+b.a33;return{x:(b.a11*V+b.a21*$+b.a31)/J,y:(b.a12*V+b.a22*$+b.a32)/J}},A=0;A<g.dimension;A++)for(var I=0;I<g.dimension;I++){var M=I+.5,R=A+.5,P=w(M,R);y.set(I,A,f.get(Math.floor(P.x),Math.floor(P.y)))}return{matrix:y,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(M,R){return Math.sqrt(Math.pow(R.x-M.x,2)+Math.pow(R.y-M.y,2))};function u(M){return M.reduce(function(R,P){return R+P})}function f(M,R,P){var V,$,J,re,fe=d(M,R),Z=d(R,P),de=d(M,P),ve,se,ue;return Z>=fe&&Z>=de?(V=[R,M,P],ve=V[0],se=V[1],ue=V[2]):de>=Z&&de>=fe?($=[M,R,P],ve=$[0],se=$[1],ue=$[2]):(J=[M,P,R],ve=J[0],se=J[1],ue=J[2]),(ue.x-se.x)*(ve.y-se.y)-(ue.y-se.y)*(ve.x-se.x)<0&&(re=[ue,ve],ve=re[0],ue=re[1]),{bottomLeft:ve,topLeft:se,topRight:ue}}function g(M,R,P,V){var $=(u(C(M,P,V,5))/7+u(C(M,R,V,5))/7+u(C(P,M,V,5))/7+u(C(R,M,V,5))/7)/4;if($<1)throw new Error("Invalid module size");var J=Math.round(d(M,R)/$),re=Math.round(d(M,P)/$),fe=Math.floor((J+re)/2)+7;switch(fe%4){case 0:fe++;break;case 2:fe--;break}return{dimension:fe,moduleSize:$}}function p(M,R,P,V){var $=[{x:Math.floor(M.x),y:Math.floor(M.y)}],J=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),re,fe,Z,de;J?(re=Math.floor(M.y),fe=Math.floor(M.x),Z=Math.floor(R.y),de=Math.floor(R.x)):(re=Math.floor(M.x),fe=Math.floor(M.y),Z=Math.floor(R.x),de=Math.floor(R.y));for(var ve=Math.abs(Z-re),se=Math.abs(de-fe),ue=Math.floor(-ve/2),Se=re<Z?1:-1,Ie=fe<de?1:-1,xe=!0,Ne=re,ze=fe;Ne!==Z+Se;Ne+=Se){var me=J?ze:Ne,dt=J?Ne:ze;if(P.get(me,dt)!==xe&&(xe=!xe,$.push({x:me,y:dt}),$.length===V+1))break;if(ue+=se,ue>0){if(ze===de)break;ze+=Ie,ue-=ve}}for(var Pt=[],Ye=0;Ye<V;Ye++)$[Ye]&&$[Ye+1]?Pt.push(d($[Ye],$[Ye+1])):Pt.push(0);return Pt}function C(M,R,P,V){var $,J=R.y-M.y,re=R.x-M.x,fe=p(M,R,P,Math.ceil(V/2)),Z=p(M,{x:M.x-re,y:M.y-J},P,Math.ceil(V/2)),de=fe.shift()+Z.shift()-1;return($=Z.concat(de)).concat.apply($,fe)}function b(M,R){var P=u(M)/u(R),V=0;return R.forEach(function($,J){V+=Math.pow(M[J]-$*P,2)}),{averageSize:P,error:V}}function y(M,R,P){try{var V=C(M,{x:-1,y:M.y},P,R.length),$=C(M,{x:M.x,y:-1},P,R.length),J={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},re=C(M,J,P,R.length),fe={x:Math.min(P.width,M.x+M.y)+1,y:Math.min(P.height,M.y+M.x)+1},Z=C(M,fe,P,R.length),de=b(V,R),ve=b($,R),se=b(re,R),ue=b(Z,R),Se=Math.sqrt(de.error*de.error+ve.error*ve.error+se.error*se.error+ue.error*ue.error),Ie=(de.averageSize+ve.averageSize+se.averageSize+ue.averageSize)/4,xe=(Math.pow(de.averageSize-Ie,2)+Math.pow(ve.averageSize-Ie,2)+Math.pow(se.averageSize-Ie,2)+Math.pow(ue.averageSize-Ie,2))/Ie;return Se+xe}catch{return 1/0}}function w(M,R){for(var P=Math.round(R.x);M.get(P,Math.round(R.y));)P--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var $=(P+V)/2,J=Math.round(R.y);M.get(Math.round($),J);)J--;for(var re=Math.round(R.y);M.get(Math.round($),re);)re++;var fe=(J+re)/2;return{x:$,y:fe}}function A(M){for(var R=[],P=[],V=[],$=[],J=function(me){for(var dt=0,Pt=!1,Ye=[0,0,0,0,0],yt=function(Oe){var ht=M.get(Oe,me);if(ht===Pt)dt++;else{Ye=[Ye[1],Ye[2],Ye[3],Ye[4],dt],dt=1,Pt=ht;var At=u(Ye)/7,ft=Math.abs(Ye[0]-At)<At&&Math.abs(Ye[1]-At)<At&&Math.abs(Ye[2]-3*At)<3*At&&Math.abs(Ye[3]-At)<At&&Math.abs(Ye[4]-At)<At&&!ht,Lt=u(Ye.slice(-3))/3,mi=Math.abs(Ye[2]-Lt)<Lt&&Math.abs(Ye[3]-Lt)<Lt&&Math.abs(Ye[4]-Lt)<Lt&&ht;if(ft){var fi=Oe-Ye[3]-Ye[4],Ei=fi-Ye[2],xt={startX:Ei,endX:fi,y:me},ui=P.filter(function(Gt){return Ei>=Gt.bottom.startX&&Ei<=Gt.bottom.endX||fi>=Gt.bottom.startX&&Ei<=Gt.bottom.endX||Ei<=Gt.bottom.startX&&fi>=Gt.bottom.endX&&Ye[2]/(Gt.bottom.endX-Gt.bottom.startX)<a&&Ye[2]/(Gt.bottom.endX-Gt.bottom.startX)>r});ui.length>0?ui[0].bottom=xt:P.push({top:xt,bottom:xt})}if(mi){var Pe=Oe-Ye[4],Ee=Pe-Ye[3],xt={startX:Ee,y:me,endX:Pe},ui=$.filter(function(Qt){return Ee>=Qt.bottom.startX&&Ee<=Qt.bottom.endX||Pe>=Qt.bottom.startX&&Ee<=Qt.bottom.endX||Ee<=Qt.bottom.startX&&Pe>=Qt.bottom.endX&&Ye[2]/(Qt.bottom.endX-Qt.bottom.startX)<a&&Ye[2]/(Qt.bottom.endX-Qt.bottom.startX)>r});ui.length>0?ui[0].bottom=xt:$.push({top:xt,bottom:xt})}}},ye=-1;ye<=M.width;ye++)yt(ye);R.push.apply(R,P.filter(function(Oe){return Oe.bottom.y!==me&&Oe.bottom.y-Oe.top.y>=2})),P=P.filter(function(Oe){return Oe.bottom.y===me}),V.push.apply(V,$.filter(function(Oe){return Oe.bottom.y!==me})),$=$.filter(function(Oe){return Oe.bottom.y===me})},re=0;re<=M.height;re++)J(re);R.push.apply(R,P.filter(function(me){return me.bottom.y-me.top.y>=2})),V.push.apply(V,$);var fe=R.filter(function(me){return me.bottom.y-me.top.y>=2}).map(function(me){var dt=(me.top.startX+me.top.endX+me.bottom.startX+me.bottom.endX)/4,Pt=(me.top.y+me.bottom.y+1)/2;if(M.get(Math.round(dt),Math.round(Pt))){var Ye=[me.top.endX-me.top.startX,me.bottom.endX-me.bottom.startX,me.bottom.y-me.top.y+1],yt=u(Ye)/Ye.length,ye=y({x:Math.round(dt),y:Math.round(Pt)},[1,1,3,1,1],M);return{score:ye,x:dt,y:Pt,size:yt}}}).filter(function(me){return!!me}).sort(function(me,dt){return me.score-dt.score}).map(function(me,dt,Pt){if(dt>s)return null;var Ye=Pt.filter(function(ye,Oe){return dt!==Oe}).map(function(ye){return{x:ye.x,y:ye.y,score:ye.score+Math.pow(ye.size-me.size,2)/me.size,size:ye.size}}).sort(function(ye,Oe){return ye.score-Oe.score});if(Ye.length<2)return null;var yt=me.score+Ye[0].score+Ye[1].score;return{points:[me].concat(Ye.slice(0,2)),score:yt}}).filter(function(me){return!!me}).sort(function(me,dt){return me.score-dt.score});if(fe.length===0)return null;var Z=f(fe[0].points[0],fe[0].points[1],fe[0].points[2]),de=Z.topRight,ve=Z.topLeft,se=Z.bottomLeft,ue=I(M,V,de,ve,se),Se=[];ue&&Se.push({alignmentPattern:{x:ue.alignmentPattern.x,y:ue.alignmentPattern.y},bottomLeft:{x:se.x,y:se.y},dimension:ue.dimension,topLeft:{x:ve.x,y:ve.y},topRight:{x:de.x,y:de.y}});var Ie=w(M,de),xe=w(M,ve),Ne=w(M,se),ze=I(M,V,Ie,xe,Ne);return ze&&Se.push({alignmentPattern:{x:ze.alignmentPattern.x,y:ze.alignmentPattern.y},bottomLeft:{x:Ne.x,y:Ne.y},topLeft:{x:xe.x,y:xe.y},topRight:{x:Ie.x,y:Ie.y},dimension:ze.dimension}),Se.length===0?null:Se}i.locate=A;function I(M,R,P,V,$){var J,re,fe;try{J=g(V,P,$,M),re=J.dimension,fe=J.moduleSize}catch{return null}var Z={x:P.x-V.x+$.x,y:P.y-V.y+$.y},de=(d(V,$)+d(V,P))/2/fe,ve=1-3/de,se={x:V.x+ve*(Z.x-V.x),y:V.y+ve*(Z.y-V.y)},ue=R.map(function(Ie){var xe=(Ie.top.startX+Ie.top.endX+Ie.bottom.startX+Ie.bottom.endX)/4,Ne=(Ie.top.y+Ie.bottom.y+1)/2;if(M.get(Math.floor(xe),Math.floor(Ne))){var ze=[Ie.top.endX-Ie.top.startX,Ie.bottom.endX-Ie.bottom.startX,Ie.bottom.y-Ie.top.y+1];u(ze)/ze.length;var me=y({x:Math.floor(xe),y:Math.floor(Ne)},[1,1,1],M),dt=me+d({x:xe,y:Ne},se);return{x:xe,y:Ne,score:dt}}}).filter(function(Ie){return!!Ie}).sort(function(Ie,xe){return Ie.score-xe.score}),Se=de>=15&&ue.length?ue[0]:se;return{alignmentPattern:Se,dimension:re}}})]).default})})(wv)),wv.exports}var SY=wY();const DY=mS(SY);var AY=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),kY=F('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." 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),tA=F('<p class="err svelte-1ua3isv"> </p>'),BY=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>'),FY=F('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),LY=F('<span class="device-name svelte-1ua3isv"> </span>'),IY=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>'),PY=F('<li class="empty svelte-1ua3isv">No paired devices</li>'),TY=F('<p class="info svelte-1ua3isv">Loading…</p>'),MY=F('<p class="device-subtitle svelte-1ua3isv"> </p>'),RY=F('<span class="ep-chip svelte-1ua3isv"> </span>'),NY=F('<span class="attr-id svelte-1ua3isv"> </span>'),OY=F('<button class="attr-action-btn svelte-1ua3isv"> </button>'),HY=F('<div class="attr-actions svelte-1ua3isv"></div>'),WY=F('<span class="cmd-sep svelte-1ua3isv">,</span>'),zY=F('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),VY=F('<span class="cmd-id svelte-1ua3isv"> </span>'),jY=F("<!> <!>",1),$Y=F('<span class="cmd-list svelte-1ua3isv"></span>'),UY=F(' <span class="cmd-id svelte-1ua3isv"> </span>',1),qY=F('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),GY=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>'),KY=F('<th class="svelte-1ua3isv"> </th>'),ZY=F('<td class="svelte-1ua3isv"> </td>'),XY=F('<tr class="svelte-1ua3isv"></tr>'),YY=F('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),QY=F('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),JY=F('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),eQ=F('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),tQ=F('<span class="attr-val svelte-1ua3isv"> </span>'),iQ=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>'),nQ=F('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),sQ=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>'),oQ=F('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),rQ=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>'),aQ=F('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),lQ=F('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),cQ=F('<span class="stream-badge svelte-1ua3isv"> </span>'),dQ=F('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),e1=F(' <span class="e-sub svelte-1ua3isv"> </span>',1),uQ=F('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),hQ=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),fQ=F('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),gQ=F('<div class="stream-body svelte-1ua3isv"><!></div>'),pQ=F('<p class="scan-err svelte-1ua3isv"> </p>'),xQ=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),vQ=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),mQ=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 _Q(o,e){Ts(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(X,Te,le,ge,Jt){try{await vU(X,Te,le,ge,Jt)}catch(ai){console.error("matter command failed",ai)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(X,Te){const le=n[X];return Te.map(ge=>{const Jt=typeof ge=="number"?ge:Number(ge);return{id:Jt,name:(le==null?void 0:le[Jt])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},d={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 u(X){return"0x"+X.toString(16).toUpperCase().padStart(4,"0")}let f=B(Di([])),g=Di(new Map);function p(X){if(X==null)return"—";if(typeof X=="boolean"||typeof X=="number")return String(X);if(typeof X=="string")return X.length>50?X.slice(0,47)+"…":X;const Te=JSON.stringify(X);return Te.length>60?Te.slice(0,57)+"…":Te}function C(X){return X==null?"—":typeof X=="boolean"||typeof X=="number"?String(X):typeof X=="string"?X:JSON.stringify(X)}function b(X){return X!==null&&typeof X=="object"&&!Array.isArray(X)}function y(X){return Array.isArray(X)&&X.length>0&&X.every(b)}function w(X,Te){return!!(Te==="attributeList"||Array.isArray(X)&&X.length===0||b(X)&&Object.keys(X).length===0)}function A(X){return new Date(X).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const I=500,M=20,R=32;let P=0,V=B(Di([])),$=B(!0),J=B(180),re=Ot(()=>{const X=Math.max(1,Math.floor((l(J)-R)/M)+1);return l(V).slice(0,X)});function fe(X){X.preventDefault();const Te=X.clientY,le=l(J);function ge(ai){x(J,Math.max(60,Math.min(600,le+Te-ai.clientY)),!0)}function Jt(){document.removeEventListener("mousemove",ge),document.removeEventListener("mouseup",Jt)}document.addEventListener("mousemove",ge),document.addEventListener("mouseup",Jt)}let Z=B(null),de=B(!1),ve=B(null),se=B(!1),ue=B("passcode"),Se=B(""),Ie=B(""),xe=B(""),Ne=B(!1),ze=B(null),me=B(""),dt=B(!1),Pt=B(""),Ye=B(void 0),yt=B(void 0),ye=null,Oe=null;function ht(){Oe!==null&&(cancelAnimationFrame(Oe),Oe=null),ye&&(ye.getTracks().forEach(X=>X.stop()),ye=null),x(dt,!1),x(Pt,"")}function At(X){ht(),x(ue,"pairingCode"),x(xe,X,!0)}function ft(){if(!l(yt))return null;const X=l(yt).getContext("2d",{willReadFrequently:!0}),{width:Te,height:le}=l(yt);if(!Te||!le)return null;const ge=X.getImageData(0,0,Te,le);return DY(ge.data,ge.width,ge.height,{inversionAttempts:"dontInvert"})}async function Lt(){if(x(dt,!0),x(Pt,""),await gl(),!l(Ye)||!l(yt))return;try{ye=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),l(Ye).srcObject=ye,await l(Ye).play()}catch(Te){x(Pt,"Camera unavailable: "+(Te instanceof Error?Te.message:String(Te)));return}const X=()=>{var Te;if(!(!l(Ye)||!l(yt)||!ye)){if(l(Ye).readyState===l(Ye).HAVE_ENOUGH_DATA){l(yt).width=l(Ye).videoWidth,l(yt).height=l(Ye).videoHeight,l(yt).getContext("2d",{willReadFrequently:!0}).drawImage(l(Ye),0,0);const ge=ft();if((Te=ge==null?void 0:ge.data)!=null&&Te.startsWith("MT:")){At(ge.data);return}}Oe=requestAnimationFrame(X)}};Oe=requestAnimationFrame(X)}function mi(X){var ge;const Te=(ge=X.target.files)==null?void 0:ge[0];if(!Te)return;const le=new FileReader;le.onload=Jt=>{const ai=new Image;ai.onload=()=>{var Hi;if(!l(yt))return;l(yt).width=ai.width,l(yt).height=ai.height,l(yt).getContext("2d",{willReadFrequently:!0}).drawImage(ai,0,0);const Ci=ft();(Hi=Ci==null?void 0:Ci.data)!=null&&Hi.startsWith("MT:")?At(Ci.data):x(Pt,"No Matter QR code found in image.")},ai.src=Jt.target.result},le.readAsDataURL(Te)}const fi="she:matter:selectedNodeId";async function Ei(){try{x(f,await gS(),!0);for(const X of l(f))bv(X.nodeId).then(Te=>{g.set(X.nodeId,Te)}).catch(()=>{});if(l(f).length>0&&!l(Z)){const X=localStorage.getItem(fi),Te=X&&l(f).find(le=>le.nodeId===X)?X:l(f)[0].nodeId;xt(Te)}}catch{x(f,[],!0)}}async function xt(X){x(de,!0),x(ve,null);try{x(Z,await bv(X),!0),g.set(X,l(Z)),localStorage.setItem(fi,X)}catch(Te){x(ve,Te instanceof Error?Te.message:String(Te),!0)}finally{x(de,!1)}}let ui;async function Pe(X){var Te;if(await ui.show(`Unpair device ${X}?`,{confirm:"Unpair",danger:!0}))try{await xU(X),((Te=l(Z))==null?void 0:Te.nodeId)===X&&x(Z,null),await Ei()}catch(le){x(ve,le instanceof Error?le.message:String(le),!0)}}async function Ee(){x(Ne,!0),x(ze,null);try{let X;l(ue)==="passcode"?(X={passcode:Number(l(Se))},l(Ie)&&(X={...X,discriminator:Number(l(Ie))})):X={pairingCode:l(xe).trim()},l(me).trim()&&(X={...X,discoveryAddress:l(me).trim()}),await pU(X),x(se,!1),x(Se,""),x(Ie,""),x(xe,""),x(me,""),await Ei()}catch(X){x(ze,X instanceof Error?X.message:String(X),!0)}finally{x(Ne,!1)}}js(()=>{Ei()});const Gt=tr("matter:deviceList",X=>{if(!Array.isArray(X.devices))return;const Te=X.devices;for(const le of Te)g.has(le.nodeId)||bv(le.nodeId).then(ge=>{g.set(le.nodeId,ge)}).catch(()=>{});x(f,Te,!0)}),gi=tr("matter:deviceStatus",X=>{if(X.nodeId===void 0)return;const Te=String(X.nodeId),le=!!X.online;x(f,l(f).map(ge=>ge.nodeId===Te?{...ge,online:le}:ge),!0),x(V,[{id:P++,kind:"status",nodeId:Te,online:le,ts:Date.now()},...l(V).slice(0,I-1)],!0)}),Qt=tr("matter:attr",X=>{const Te=String(X.nodeId),le=X.endpointId,ge=String(X.clusterName),Jt=String(X.attrName),ai=X.value;if(l(Z)&&l(Z).nodeId===Te){const Ci=l(Z).endpoints.find(ie=>ie.endpointId===le),Hi=Ci==null?void 0:Ci.clusters.find(ie=>ie.name===ge);Hi&&(Hi.attrs[Jt]=ai)}const bi=g.get(Te);if(bi){const Ci=bi.endpoints.find(ie=>ie.endpointId===le),Hi=Ci==null?void 0:Ci.clusters.find(ie=>ie.name===ge);Hi&&(Hi.attrs[Jt]=ai)}x(V,[{id:P++,kind:"attr",nodeId:Te,endpointId:le,clusterName:ge,attrName:Jt,value:ai,ts:X.ts??Date.now()},...l(V).slice(0,I-1)],!0)});jp(()=>{Gt(),gi(),Qt(),ht()});var Ni=mQ(),Zi=bt(Ni);hs(Qa(Zi,{}),X=>ui=X,()=>ui);var vi=v(Zi,2),gn=m(vi),cn=m(gn),rn=m(cn),mn=v(m(rn),2),Ct=v(rn,2);{var Zt=X=>{var Te=BY(),le=m(Te),ge=m(le);let Jt;var ai=v(ge,2);let bi;var Ci=v(le,2);{var Hi=ei=>{var pe=AY(),He=bt(pe),Je=v(m(He)),Fe=v(He,2),Et=v(m(Fe));Nt(Je,()=>l(Se),gt=>x(Se,gt)),Nt(Et,()=>l(Ie),gt=>x(Ie,gt)),D(ei,pe)},ie=ei=>{var pe=kY(),He=bt(pe),Je=v(m(He)),Fe=v(He,2),Et=m(Fe),gt=v(Et,2),Kt=v(m(gt),2);Nt(Je,()=>l(xe),U=>x(xe,U)),j("click",Et,Lt),j("change",Kt,mi),D(ei,pe)};H(Ci,ei=>{l(ue)==="passcode"?ei(Hi):ei(ie,-1)})}var tt=v(Ci,2),_e=v(m(tt)),Ve=v(tt,2);{var _t=ei=>{var pe=tA(),He=m(pe);z(()=>O(He,l(ze))),D(ei,pe)};H(Ve,ei=>{l(ze)&&ei(_t)})}var It=v(Ve,2),Ai=m(It);z(()=>{Jt=Bt(ge,1,"svelte-1ua3isv",null,Jt,{active:l(ue)==="passcode"}),bi=Bt(ai,1,"svelte-1ua3isv",null,bi,{active:l(ue)==="pairingCode"}),It.disabled=l(Ne),O(Ai,l(Ne)?"Commissioning…":"Commission")}),j("click",ge,()=>x(ue,"passcode")),j("click",ai,()=>x(ue,"pairingCode")),Nt(_e,()=>l(me),ei=>x(me,ei)),j("click",It,Ee),D(X,Te)};H(Ct,X=>{l(se)&&X(Zt)})}var Ii=v(Ct,2),Wi=m(Ii);ri(Wi,17,()=>l(f),X=>X.nodeId,(X,Te)=>{var le=IY();let ge;var Jt=m(le),ai=m(Jt);let bi;var Ci=v(ai,2),Hi=m(Ci);{var ie=Ve=>{var _t=FY(),It=bt(_t),Ai=m(It),ei=v(It,2),pe=m(ei);z(()=>{O(Ai,l(Te).name),O(pe,`#${l(Te).nodeId??""}`)}),D(Ve,_t)},tt=Ve=>{var _t=LY(),It=m(_t);z(()=>O(It,`Node ${l(Te).nodeId??""}`)),D(Ve,_t)};H(Hi,Ve=>{l(Te).name?Ve(ie):Ve(tt,-1)})}var _e=v(Jt,2);z(()=>{var Ve;ge=Bt(le,1,"svelte-1ua3isv",null,ge,{selected:((Ve=l(Z))==null?void 0:Ve.nodeId)===l(Te).nodeId}),bi=Bt(ai,1,"status-dot svelte-1ua3isv",null,bi,{online:l(Te).online})}),j("click",Jt,()=>xt(l(Te).nodeId)),j("click",_e,()=>Pe(l(Te).nodeId)),D(X,le)});var Pi=v(Wi,2);{var pn=X=>{var Te=PY();D(X,Te)};H(Pi,X=>{l(f).length===0&&X(pn)})}var Dn=v(cn,2),Ui=m(Dn);{var Xe=X=>{var Te=TY();D(X,Te)},ci=X=>{var Te=tA(),le=m(Te);z(()=>O(le,l(ve))),D(X,Te)},Oi=X=>{var Te=aQ(),le=bt(Te),ge=m(le),Jt=m(ge),ai=v(ge,2);{var bi=tt=>{var _e=MY(),Ve=m(_e);z(()=>O(Ve,l(Z).subtitle)),D(tt,_e)};H(ai,tt=>{l(Z).subtitle&&tt(bi)})}var Ci=v(ai,2),Hi=m(Ci),ie=v(le,2);ri(ie,17,()=>l(Z).endpoints,tt=>tt.endpointId,(tt,_e)=>{var Ve=rQ(),_t=m(Ve),It=m(_t),Ai=v(It),ei=m(Ai),pe=v(Ai,2);ri(pe,21,()=>l(_e).clusters,Vi,(Et,gt)=>{var Kt=RY(),U=m(Kt);z(()=>O(U,l(gt).name)),D(Et,Kt)});var He=v(_t,2);{var Je=Et=>{var gt=sQ(),Kt=v(m(gt));ri(Kt,21,()=>l(_e).clusters,Vi,(U,T)=>{var W=nQ(),Y=bt(W),ne=m(Y),ae=m(ne),oe=v(Y,2);ri(oe,17,()=>Object.entries(l(T).attrs),Vi,(we,je)=>{var Ce=Ot(()=>f8(l(je),2));let Le=()=>l(Ce)[0],Me=()=>l(Ce)[1];var ot=As(),li=bt(ot);{var Q=Ge=>{const Mt=Ot(()=>{var Wt;return(Wt=t[l(T).name])==null?void 0:Wt[Le()]}),Ue=Ot(()=>(Le()==="acceptedCommandList"||Le()==="generatedCommandList")&&Array.isArray(Me())),$e=Ot(()=>{var Wt;return((Wt=d[l(T).name])==null?void 0:Wt[Le()])??a[Le()]});var Tt=iQ(),pt=m(Tt),Qe=m(pt),wt=m(Qe),Dt=v(Qe);{var st=Wt=>{var Ft=NY(),jt=m(Ft);z(_i=>O(jt,`(${_i??""})`),[()=>u(l($e))]),D(Wt,Ft)};H(Dt,Wt=>{l($e)!==void 0&&Wt(st)})}var Rt=v(pt),si=m(Rt);{var Ut=Wt=>{var Ft=HY();ri(Ft,21,()=>l(Mt),Vi,(jt,_i)=>{var pi=OY(),yi=m(pi);z(()=>O(yi,l(_i).label)),j("click",pi,()=>i(l(Z).nodeId,l(_e).endpointId,l(T).name,l(_i).command,l(_i).args)),D(jt,pi)}),D(Wt,Ft)};H(si,Wt=>{l(Mt)&&Wt(Ut)})}var De=v(Rt),be=m(De);{var qe=Wt=>{var Ft=$Y();ri(Ft,21,()=>s(l(T).name,Me()),Vi,(jt,_i,pi)=>{var yi=jY(),Mi=bt(yi);{var en=An=>{var Tn=WY();D(An,Tn)};H(Mi,An=>{pi>0&&An(en)})}var Pn=v(Mi,2);{var tn=An=>{var Tn=zY(),ji=bt(Tn),Xi=m(ji),sn=v(ji),xn=m(sn);z(()=>{O(Xi,l(_i).name),O(xn,`(${l(_i).id??""})`)}),D(An,Tn)},bn=An=>{var Tn=VY(),ji=m(Tn);z(()=>O(ji,l(_i).id)),D(An,Tn)};H(Pn,An=>{l(_i).name?An(tn):An(bn,-1)})}D(jt,yi)}),D(Wt,Ft)},at=Wt=>{var Ft=GY(),jt=v(m(Ft));ri(jt,21,Me,Vi,(_i,pi)=>{const yi=Ot(()=>l(pi)),Mi=Ot(()=>l(yi).deviceType),en=Ot(()=>r[l(Mi)]);var Pn=qY(),tn=m(Pn),bn=m(tn);{var An=sn=>{var xn=UY(),jn=bt(xn),Zs=v(jn),no=m(Zs);z(va=>{O(jn,`${l(en)??""} `),O(no,`(${va??""})`)},[()=>u(l(Mi))]),D(sn,xn)},Tn=sn=>{var xn=ro();z(jn=>O(xn,jn),[()=>u(l(Mi))]),D(sn,xn)};H(bn,sn=>{l(en)?sn(An):sn(Tn,-1)})}var ji=v(tn),Xi=m(ji);z(sn=>O(Xi,sn),[()=>C(l(yi).revision)]),D(_i,Pn)}),D(Wt,Ft)},Xt=Ot(()=>Le()==="deviceTypeList"&&Array.isArray(Me())),it=Wt=>{const Ft=Ot(()=>[...new Set(Me().flatMap(Mi=>Object.keys(Mi)))]);var jt=YY(),_i=m(jt),pi=m(_i);ri(pi,21,()=>l(Ft),Vi,(Mi,en)=>{var Pn=KY(),tn=m(Pn);z(()=>O(tn,l(en))),D(Mi,Pn)});var yi=v(_i);ri(yi,21,Me,Vi,(Mi,en)=>{var Pn=XY();ri(Pn,21,()=>l(Ft),Vi,(tn,bn)=>{var An=ZY(),Tn=m(An);z(ji=>O(Tn,ji),[()=>C(l(en)[l(bn)])]),D(tn,An)}),D(Mi,Pn)}),D(Wt,jt)},nt=Ot(()=>y(Me())),kt=Wt=>{var Ft=JY(),jt=m(Ft);ri(jt,21,()=>Object.entries(Me()),Vi,(_i,pi)=>{var yi=Ot(()=>f8(l(pi),2));let Mi=()=>l(yi)[0],en=()=>l(yi)[1];var Pn=QY(),tn=m(Pn),bn=m(tn),An=v(tn),Tn=m(An);z(ji=>{O(bn,Mi()),O(Tn,ji)},[()=>C(en())]),D(_i,Pn)}),D(Wt,Ft)},ti=Ot(()=>b(Me())),Yt=Wt=>{var Ft=eQ(),jt=m(Ft);z(()=>{un(Ft,"href",Me()),O(jt,Me())}),D(Wt,Ft)},Ht=Wt=>{var Ft=tQ(),jt=m(Ft);z(_i=>O(jt,_i),[()=>C(Me())]),D(Wt,Ft)};H(be,Wt=>{l(Ue)?Wt(qe):l(Xt)?Wt(at,1):l(nt)?Wt(it,2):l(ti)?Wt(kt,3):(Le()==="productUrl"||Le()==="productURL")&&typeof Me()=="string"?Wt(Yt,4):Wt(Ht,-1)})}z(()=>{un(pt,"title",Le()),O(wt,Le())}),D(Ge,Tt)},ce=Ot(()=>!w(Me(),Le()));H(li,Ge=>{l(ce)&&Ge(Q)})}D(we,ot)}),z(()=>O(ae,l(T).name)),D(U,W)}),D(Et,gt)},Fe=Et=>{var gt=oQ();D(Et,gt)};H(He,Et=>{l(_e).clusters.length>0?Et(Je):Et(Fe,-1)})}z(()=>{O(It,`${l(_e).name??`Endpoint ${l(_e).endpointId}`??""} `),O(ei,`ep${l(_e).endpointId??""}`)}),D(tt,Ve)}),z(()=>{O(Jt,l(Z).name??`Node ${l(Z).nodeId}`),O(Hi,`Node ID: ${l(Z).nodeId??""}`)}),D(X,Te)},ii=X=>{var Te=lQ();D(X,Te)};H(Ui,X=>{l(de)?X(Xe):l(ve)?X(ci,1):l(Z)?X(Oi,2):X(ii,-1)})}var zi=v(gn,2),Gi=m(zi),qi=v(Gi,2),K=v(m(qi),2);{var ke=X=>{var Te=cQ(),le=m(Te);z(()=>O(le,l(V).length)),D(X,Te)};H(K,X=>{!l($)&&l(V).length>0&&X(ke)})}var rt=v(K,2),Ze=m(rt),zt=v(qi,2);{var ni=X=>{var Te=gQ(),le=m(Te);{var ge=ai=>{var bi=dQ();D(ai,bi)},Jt=ai=>{var bi=As(),Ci=bt(bi);ri(Ci,17,()=>l(re),Hi=>Hi.id,(Hi,ie)=>{const tt=Ot(()=>{var Je,Fe;return((Je=g.get(l(ie).nodeId))==null?void 0:Je.name)??((Fe=l(f).find(Et=>Et.nodeId===l(ie).nodeId))==null?void 0:Fe.name)??null}),_e=Ot(()=>{var Je,Fe;return l(ie).endpointId!==void 0?((Fe=(Je=g.get(l(ie).nodeId))==null?void 0:Je.endpoints.find(Et=>Et.endpointId===l(ie).endpointId))==null?void 0:Fe.name)??null:null}),Ve=Ot(()=>l(ie).attrName??l(ie).clusterName);var _t=fQ(),It=m(_t),Ai=m(It),ei=v(It,2);{var pe=Je=>{var Fe=uQ(),Et=v(bt(Fe),2),gt=m(Et),Kt=v(gt);{var U=ne=>{var ae=e1(),oe=v(bt(ae)),we=m(oe);z(()=>O(we,`(#${l(ie).nodeId??""})`)),D(ne,ae)};H(Kt,ne=>{l(tt)&&ne(U)})}var T=v(Et,2);let W;var Y=m(T);z(()=>{O(gt,l(tt)??`#${l(ie).nodeId}`),W=Bt(T,1,"e-val svelte-1ua3isv",null,W,{"e-online":l(ie).online,"e-offline":!l(ie).online}),O(Y,l(ie).online?"online":"offline")}),D(Je,Fe)},He=Je=>{var Fe=hQ(),Et=v(bt(Fe),2),gt=m(Et),Kt=v(gt);{var U=Me=>{var ot=e1(),li=v(bt(ot)),Q=m(li);z(()=>O(Q,`(#${l(ie).nodeId??""})`)),D(Me,ot)};H(Kt,Me=>{l(tt)&&Me(U)})}var T=v(Et,2),W=m(T),Y=v(W);{var ne=Me=>{var ot=e1(),li=v(bt(ot)),Q=m(li);z(()=>O(Q,`(ep ${l(ie).endpointId??""})`)),D(Me,ot)};H(Y,Me=>{l(_e)&&Me(ne)})}var ae=v(T,2),oe=m(ae),we=v(ae,2),je=m(we),Ce=v(we,2),Le=m(Ce);z(Me=>{O(gt,l(tt)??`#${l(ie).nodeId}`),O(W,l(_e)??`ep${l(ie).endpointId}`),O(oe,l(ie).clusterName),O(je,l(Ve)),O(Le,Me)},[()=>p(l(ie).value)]),D(Je,Fe)};H(ei,Je=>{l(ie).kind==="status"?Je(pe):Je(He,-1)})}z(Je=>O(Ai,Je),[()=>A(l(ie).ts)]),D(Hi,_t)}),D(ai,bi)};H(le,ai=>{l(re).length===0?ai(ge):ai(Jt,-1)})}D(X,Te)};H(zt,X=>{l($)&&X(ni)})}var mt=v(vi,2);{var et=X=>{var Te=vQ(),le=bt(Te),ge=v(le,2),Jt=m(ge),ai=v(m(Jt),2),bi=v(Jt,2);{var Ci=tt=>{var _e=pQ(),Ve=m(_e);z(()=>O(Ve,l(Pt))),D(tt,_e)},Hi=tt=>{var _e=xQ(),Ve=bt(_e),_t=m(Ve);hs(_t,It=>x(Ye,It),()=>l(Ye)),D(tt,_e)};H(bi,tt=>{l(Pt)?tt(Ci):tt(Hi,-1)})}var ie=v(bi,2);hs(ie,tt=>x(yt,tt),()=>l(yt)),j("click",le,ht),j("click",ai,ht),D(X,Te)};H(mt,X=>{l(dt)&&X(et)})}z(()=>{Co(zi,l($)?`height: ${l(J)}px;`:""),O(Ze,l($)?"▾":"▸")}),j("click",mn,()=>x(se,!l(se))),j("mousedown",Gi,fe),j("click",rt,()=>{x($,!l($))}),D(o,Ni),Ms()}qs(["click","change","mousedown"]);var bQ=F("<button>›</button>"),CQ=F('<span class="chev-ph svelte-1vejtrc"></span>'),EQ=F('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),yQ=F("<button>🔒</button>"),wQ=F('<span class="acl-loading">Loading…</span>'),SQ=F("<span> </span>"),DQ=F('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),AQ=F('<span class="acl-members svelte-1vejtrc"> </span>'),kQ=F('<span class="acl-group svelte-1vejtrc"> </span>'),BQ=F('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),FQ=F('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),LQ=F('<div class="acl-panel svelte-1vejtrc"><!></div>'),IQ=F('<div class="tc svelte-1vejtrc"></div>'),PQ=F('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),TQ=F('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),MQ=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),RQ=F("<option></option>"),NQ=F('<span class="pub-ok svelte-1vejtrc">✓</span>'),OQ=F('<span class="pub-err svelte-1vejtrc"> </span>'),HQ=F('<div class="info svelte-1vejtrc">Loading…</div>'),WQ=F('<div class="info err svelte-1vejtrc"> </div>'),zQ=F('<div class="info svelte-1vejtrc">No topics match.</div>'),VQ=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>'),jQ=F('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),$Q=F('<div class="info svelte-1vejtrc">No topics yet.</div>'),UQ=F('<div class="tree-wrap svelte-1vejtrc"><!></div>'),qQ=F('<span class="stream-badge"> </span>'),GQ=F('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),KQ=F('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),ZQ=F('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),XQ=F('<div class="stream-body svelte-1vejtrc"><!></div>'),YQ=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),QQ=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>'),JQ=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),eJ=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 tJ(o,e){Ts(e,!0);const t=(T,W=lb)=>{const Y=Ot(()=>l(g).has(W().path)),ne=Ot(()=>l(a)>=0&&W().children.size>0),ae=Ot(()=>l(a)>=0&&W().isLeaf&&!n.has(W().path));var oe=PQ(),we=m(oe);let je;var Ce=m(we);{var Le=wt=>{var Dt=bQ();let st;z(()=>{st=Bt(Dt,1,"chev svelte-1vejtrc",null,st,{open:l(Y)}),un(Dt,"aria-label",l(Y)?"Collapse":"Expand")}),j("click",Dt,()=>p(W().path)),D(wt,Dt)},Me=wt=>{var Dt=CQ();D(wt,Dt)};H(Ce,wt=>{l(ne)?wt(Le):wt(Me,-1)})}var ot=v(Ce,2),li=m(ot),Q=v(ot,2);{var ce=wt=>{var Dt=EQ(),st=bt(Dt),Rt=m(st),si=v(st,2),Ut=m(si);z((De,be,qe)=>{un(st,"title",De),O(Rt,be),O(Ut,qe)},[()=>{var De;return fi((De=ui(W().path))==null?void 0:De.val)},()=>{var De;return fi((De=ui(W().path))==null?void 0:De.val)},()=>{var De;return((De=ui(W().path))==null?void 0:De.ts)!=null?Ei(ui(W().path).ts):""}]),D(wt,Dt)},Ge=Ot(()=>W().isLeaf&&i.has(W().path));H(Q,wt=>{l(Ge)&&wt(ce)})}var Mt=v(Q,2);{var Ue=wt=>{const Dt=Ot(()=>!!l(Ni)&&rn(W().path));var st=yQ();let Rt;z(()=>{Rt=Bt(st,1,"acl-badge svelte-1vejtrc",null,Rt,{matched:l(Dt)}),un(st,"title",l(Dt)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),j("click",st,si=>{si.stopPropagation(),Ct(W().path)}),D(wt,st)};H(Mt,wt=>{l(gi)&&W().isLeaf&&wt(Ue)})}var $e=v(we,2);{var Tt=wt=>{var Dt=LQ(),st=m(Dt);{var Rt=Ut=>{var De=wQ();D(Ut,De)},si=Ut=>{var De=As(),be=bt(De);ri(be,17,()=>[{label:"Send",section:l(vi).send},{label:"Subscribe",section:l(vi).subscribe},{label:"Receive",section:l(vi).receive}],Vi,(qe,at)=>{var Xt=FQ(),it=m(Xt),nt=m(it),kt=v(it,2);{var ti=Ht=>{var Wt=SQ();let Ft;var jt=m(Wt);z(()=>{Ft=Bt(Wt,1,"acl-def svelte-1vejtrc",null,Ft,{allow:l(at).section.default,deny:!l(at).section.default}),O(jt,`${l(at).section.default?"allow":"deny"} (default)`)}),D(Ht,Wt)},Yt=Ht=>{var Wt=As(),Ft=bt(Wt);ri(Ft,17,()=>l(at).section.roles,Vi,(jt,_i)=>{var pi=BQ();let yi;var Mi=m(pi),en=v(Mi),Pn=m(en),tn=v(en,2);{var bn=Xi=>{var sn=DQ();D(Xi,sn)};H(tn,Xi=>{l(_i).dynamic&&Xi(bn)})}var An=v(tn,2);{var Tn=Xi=>{var sn=AQ(),xn=m(sn);z(jn=>O(xn,jn),[()=>l(_i).users.join(", ")]),D(Xi,sn)};H(An,Xi=>{l(_i).users.length>0&&Xi(Tn)})}var ji=v(An,2);ri(ji,17,()=>l(_i).groups,Vi,(Xi,sn)=>{var xn=kQ(),jn=m(xn);z(()=>O(jn,l(sn).groupname)),D(Xi,xn)}),z(()=>{yi=Bt(pi,1,"acl-role svelte-1vejtrc",null,yi,{allow:l(_i).allow,deny:!l(_i).allow}),O(Mi,`${l(_i).allow?"✓":"✗"} `),O(Pn,l(_i).rolename)}),D(jt,pi)}),D(Ht,Wt)};H(kt,Ht=>{l(at).section.roles.length===0?Ht(ti):Ht(Yt,-1)})}z(()=>O(nt,l(at).label)),D(qe,Xt)}),D(Ut,De)};H(st,Ut=>{l(gn)?Ut(Rt):l(vi)&&Ut(si,1)})}D(wt,Dt)};H($e,wt=>{l(gi)&&W().isLeaf&&l(Zi)===W().path&&wt(Tt)})}var pt=v($e,2);{var Qe=wt=>{var Dt=IQ();ri(Dt,21,()=>[...W().children.values()].sort((st,Rt)=>st.seg.localeCompare(Rt.seg)),st=>st.path,(st,Rt)=>{t(st,()=>l(Rt))}),D(wt,Dt)};H(pt,wt=>{l(ne)&&l(Y)&&wt(Qe)})}z(()=>{je=Bt(we,1,"tr svelte-1vejtrc",null,je,{stale:l(ae)}),O(li,W().seg)}),j("click",we,()=>{x(de,W().path+"/#")}),j("contextmenu",we,wt=>{wt.preventDefault(),x(me,{x:wt.clientX,y:wt.clientY,topic:W().path},!0)}),D(T,oe)},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 T of s)f(T);s.clear(),x8(a)}))}const u=new Map;function f(T){const W=T.split("/");let Y=u,ne="";for(let ae=0;ae<W.length;ae++){const oe=W[ae];ne=ae===0?oe:`${ne}/${oe}`,Y.has(oe)||Y.set(oe,{seg:oe,path:ne,children:new Map,isLeaf:!1});const we=Y.get(oe);ae===W.length-1&&(we.isLeaf=!0),Y=we.children}}let g=B(Di(new Set));function p(T){const W=new Set(l(g));W.has(T)?W.delete(T):W.add(T),x(g,W,!0)}let C=B("");const b=24,y=5;let w=B(0),A=B(300),I=Ot(()=>{if(l(a),!l(C))return[];const T=l(C).toLowerCase().split(/\s+/).filter(Boolean),W=[];for(const[Y,ne]of i){const ae=Y.toLowerCase();T.every(oe=>ae.includes(oe))&&W.push({topic:Y,...ne})}return W.sort((Y,ne)=>Y.topic.localeCompare(ne.topic))}),M=Ot(()=>{const T=l(I).length,W=Math.max(0,Math.floor(l(w)/b)-y),Y=Math.min(T,Math.ceil((l(w)+l(A))/b)+y);return{start:W,end:Y,totalH:T*b,top:W*b}});const R=1e3,P=200,V=20,$=36;let J=0,re=B(Di([])),fe=B(Di([])),Z=B(!0),de=B("#"),ve=B(200);Qn(()=>{const T=l(de).trim(),W=zl(()=>l(re)),Y=!T||T==="#"?W.slice(0,P):W.filter(ne=>se(T,ne.topic)).slice(0,P);if(T&&T!=="#"){const ne=new Set(Y.map(oe=>oe.topic)),ae=[];for(const[oe,we]of i)ne.has(oe)||se(T,oe)&&ae.push({id:-(ae.length+1),topic:oe,val:we.val,ts:we.ts,retained:!0});ae.sort((oe,we)=>oe.topic.localeCompare(we.topic)),x(fe,[...Y,...ae],!0)}else x(fe,Y,!0)});function se(T,W){if(T==="#")return!0;const Y=T.split("/"),ne=W.split("/");for(let ae=0;ae<Y.length;ae++){if(Y[ae]==="#")return!0;if(ae>=ne.length||Y[ae]!=="+"&&Y[ae]!==ne[ae])return!1}return Y.length===ne.length}function ue(T){T.preventDefault();const W=T.clientY,Y=l(ve);function ne(oe){x(ve,Math.max(60,Math.min(800,Y+W-oe.clientY)),!0)}function ae(){document.removeEventListener("mousemove",ne),document.removeEventListener("mouseup",ae)}document.addEventListener("mousemove",ne),document.addEventListener("mouseup",ae)}let Se=Ot(()=>{const T=Math.max(1,Math.floor((l(ve)-$)/V)+1);return l(fe).slice(0,T)}),Ie=B(!0),xe=B(null);async function Ne(){x(Ie,!0),x(xe,null);try{const T=await BF();for(const W of T)i.set(W.topic,{val:W.val,ts:W.ts}),f(W.topic)}catch(T){x(xe,T instanceof Error?T.message:String(T),!0)}finally{x(Ie,!1),x8(a)}}const ze=tr("mqtt",T=>{const{topic:W,val:Y,ts:ne}=T;i.set(W,{val:Y,ts:ne}),n.add(W),s.add(W),d();const ae={id:J++,topic:W,val:Y,ts:ne};x(re,[ae,...l(re).slice(0,R-1)],!0);const oe=l(de).trim();(!oe||oe==="#"||se(oe,W))&&x(fe,[ae,...l(fe).filter(we=>!(we.retained&&we.topic===W)).slice(0,P-1)],!0)});let me=B(null),dt=B(null);async function Pt(T,W){const Y=[T];if(W){const ne=T+"/";for(const ae of i.keys())ae.startsWith(ne)&&Y.push(ae)}for(const ne of Y)await m2(ne,"",!0,0)}let Ye=Ot(()=>(l(a),[...i.keys()].sort())),yt=B(""),ye=B(""),Oe=B(!1),ht=B(0),At=B(!1),ft=B(null),Lt=B(!1);async function mi(){if(l(yt)){x(At,!0),x(ft,null),x(Lt,!1);try{await m2(l(yt),l(ye),l(Oe),l(ht)),x(Lt,!0),setTimeout(()=>{x(Lt,!1)},2e3)}catch(T){x(ft,T instanceof Error?T.message:String(T),!0)}finally{x(At,!1)}}}function fi(T){return T==null?"":typeof T=="object"?JSON.stringify(T):String(T)}function Ei(T){return new Date(T).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function xt(T){return new Date(T).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ui(T){return l(a),i.get(T)}let Pe=Ot(()=>(l(a),[...u.values()].sort((T,W)=>T.seg.localeCompare(W.seg)))),Ee=Ot(()=>(l(a),i.size)),Gt=B(!1),gi=B(!1),Qt=B(!1),Ni=B(null),Zi=B(null),vi=B(null),gn=B(!1);function cn(T,W,Y){return W.includes("%u")||W.includes("%c")?"dynamic":T==="subscribeLiteral"||T==="unsubscribeLiteral"?W===Y?"match":"no-match":se(W,Y)?"match":"no-match"}function rn(T){if(!l(Ni))return!1;for(const W of l(Ni).roles)if(W.acls){for(const Y of W.acls)if(cn(Y.acltype,Y.topic,T)!=="no-match")return!0}return!1}async function mn(){x(Qt,!0);try{const T=await MF();x(Ni,{roles:T.roles},!0)}catch{x(Ni,null),x(gi,!1)}finally{x(Qt,!1)}}async function Ct(T){if(l(Zi)===T){x(Zi,null),x(vi,null);return}x(Zi,T,!0),x(vi,null),x(gn,!0);try{x(vi,await ZU(T),!0)}catch{x(vi,null)}finally{x(gn,!1)}}async function Zt(){l(gi)?(x(gi,!1),x(Zi,null),x(vi,null)):(x(gi,!0),x(Zi,null),x(vi,null),l(Ni)||await mn())}const Ii=tr("mqtt:status",()=>{Ne()});js(Ne),js(async()=>{var T;try{const W=await Rb();x(Gt,!!((T=W.dynsec)!=null&&T.dynsecReady),!0)}catch{x(Gt,!1)}}),jp(()=>{ze(),Ii(),r!==null&&cancelAnimationFrame(r)});var Wi=eJ(),Pi=m(Wi),pn=v(m(Pi),2);{var Dn=T=>{var W=MQ(),Y=bt(W);let ne;var ae=v(m(Y),2);{var oe=Ce=>{var Le=ro("…");D(Ce,Le)};H(ae,Ce=>{l(Qt)&&Ce(oe)})}var we=v(Y,2);{var je=Ce=>{var Le=TQ();z(()=>Le.disabled=l(Qt)),j("click",Le,mn),D(Ce,Le)};H(we,Ce=>{l(gi)&&Ce(je)})}z(()=>{ne=Bt(Y,1,"acl-btn svelte-1vejtrc",null,ne,{active:l(gi)}),Y.disabled=l(Qt)}),j("click",Y,Zt),D(T,W)};H(pn,T=>{l(Gt)&&T(Dn)})}var Ui=v(Pi,2),Xe=m(Ui),ci=m(Xe),Oi=v(ci,2);ri(Oi,20,()=>l(Ye),T=>T,(T,W)=>{var Y=RQ(),ne={};z(()=>{ne!==(ne=W)&&(Y.value=(Y.__value=W)??"")}),D(T,Y)});var ii=v(Oi,2),zi=v(ii,2),Gi=m(zi),qi=v(zi,2),K=m(qi);K.value=K.__value=0;var ke=v(K);ke.value=ke.__value=1;var rt=v(ke);rt.value=rt.__value=2;var Ze=v(qi,2),zt=v(Ze,2);{var ni=T=>{var W=NQ();D(T,W)};H(zt,T=>{l(Lt)&&T(ni)})}var mt=v(zt,2);{var et=T=>{var W=OQ(),Y=m(W);z(()=>O(Y,l(ft))),D(T,W)};H(mt,T=>{l(ft)&&T(et)})}var X=v(Xe,2),Te=m(X),le=v(Te,2),ge=m(le);{var Jt=T=>{var W=ro();z(()=>O(W,`${l(I).length??""} /`)),D(T,W)};H(ge,T=>{l(C)&&T(Jt)})}var ai=v(ge),bi=v(X,2);{var Ci=T=>{var W=HQ();D(T,W)},Hi=T=>{var W=WQ(),Y=m(W);z(()=>O(Y,l(xe))),D(T,W)},ie=T=>{var W=As(),Y=bt(W);{var ne=oe=>{var we=zQ();D(oe,we)},ae=oe=>{var we=jQ(),je=m(we),Ce=m(je);ri(Ce,21,()=>l(I).slice(l(M).start,l(M).end),Le=>Le.topic,(Le,Me)=>{var ot=VQ(),li=m(ot),Q=m(li),ce=v(li,2),Ge=m(ce),Mt=v(ce,2),Ue=m(Mt);z(($e,Tt,pt)=>{O(Q,l(Me).topic),un(ce,"title",$e),O(Ge,Tt),O(Ue,pt)},[()=>fi(l(Me).val),()=>fi(l(Me).val),()=>Ei(l(Me).ts)]),D(Le,ot)}),z(()=>{Co(je,`height: ${l(M).totalH??""}px; position: relative;`),Co(Ce,`top: ${l(M).top??""}px;`)}),_s("scroll",we,Le=>{x(w,Le.currentTarget.scrollTop,!0)}),CP(we,"clientHeight",Le=>x(A,Le)),D(oe,we)};H(Y,oe=>{l(I).length===0?oe(ne):oe(ae,-1)})}D(T,W)},tt=T=>{var W=UQ(),Y=m(W);{var ne=oe=>{var we=$Q();D(oe,we)},ae=oe=>{var we=As(),je=bt(we);ri(je,17,()=>l(Pe),Ce=>Ce.path,(Ce,Le)=>{t(Ce,()=>l(Le))}),D(oe,we)};H(Y,oe=>{l(Pe).length===0?oe(ne):oe(ae,-1)})}D(T,W)};H(bi,T=>{l(Ie)?T(Ci):l(xe)?T(Hi,1):l(C)?T(ie,2):T(tt,-1)})}var _e=v(Ui,2),Ve=m(_e),_t=v(Ve,2),It=m(_t),Ai=v(It,2);{var ei=T=>{var W=qQ(),Y=m(W);z(()=>O(Y,l(fe).length)),D(T,W)};H(Ai,T=>{!l(Z)&&l(fe).length>0&&T(ei)})}var pe=v(Ai,2),He=m(pe),Je=v(_t,2);{var Fe=T=>{var W=XQ(),Y=m(W);{var ne=oe=>{var we=GQ();D(oe,we)},ae=oe=>{var we=As(),je=bt(we);ri(je,17,()=>l(Se),Ce=>Ce.id,(Ce,Le)=>{var Me=ZQ();let ot;var li=m(Me),Q=m(li),ce=v(li,2);{var Ge=pt=>{var Qe=KQ();D(pt,Qe)};H(ce,pt=>{l(Le).retained&&pt(Ge)})}var Mt=v(ce,2),Ue=m(Mt),$e=v(Mt,2),Tt=m($e);z((pt,Qe,wt)=>{ot=Bt(Me,1,"sr svelte-1vejtrc",null,ot,{retained:l(Le).retained}),O(Q,pt),O(Ue,l(Le).topic),un($e,"title",Qe),O(Tt,wt)},[()=>xt(l(Le).ts),()=>fi(l(Le).val),()=>fi(l(Le).val)]),D(Ce,Me)}),D(oe,we)};H(Y,oe=>{l(Se).length===0?oe(ne):oe(ae,-1)})}D(T,W)};H(Je,T=>{l(Z)&&T(Fe)})}var Et=v(_e,2);{var gt=T=>{var W=YQ(),Y=bt(W),ne=v(Y,2);let ae;var oe=m(ne),we=v(oe,2);z(()=>ae=Co(ne,"",ae,{left:`${l(me).x??""}px`,top:`${l(me).y??""}px`})),j("click",Y,()=>x(me,null)),j("contextmenu",Y,je=>{je.preventDefault(),x(me,null)}),j("click",oe,()=>{navigator.clipboard.writeText(l(me).topic),x(me,null)}),j("click",we,()=>{const je=l(me).topic,Ce=je+"/",Le=[...i.keys()].some(Me=>Me.startsWith(Ce));x(dt,{topic:je,hasChildren:Le,recursive:!1},!0),x(me,null)}),D(T,W)};H(Et,T=>{l(me)&&T(gt)})}var Kt=v(Et,2);{var U=T=>{var W=JQ(),Y=bt(W),ne=v(Y,2),ae=v(m(ne),2),oe=m(ae),we=v(m(oe)),je=m(we),Ce=v(oe,2);{var Le=Q=>{var ce=QQ(),Ge=m(ce);bs(Ge,()=>l(dt).recursive,Mt=>l(dt).recursive=Mt),D(Q,ce)};H(Ce,Q=>{l(dt).hasChildren&&Q(Le)})}var Me=v(ae,2),ot=m(Me),li=v(ot,2);z(()=>O(je,l(dt).topic)),j("click",Y,()=>x(dt,null)),j("click",ot,()=>x(dt,null)),j("click",li,()=>{const{topic:Q,recursive:ce}=l(dt);x(dt,null),Pt(Q,ce)}),D(T,W)};H(Kt,T=>{l(dt)&&T(U)})}z(()=>{Ze.disabled=l(At)||!l(yt),O(ai,` ${l(Ee)??""}`),Co(_e,l(Z)?`height: ${l(ve)}px;`:""),O(He,l(Z)?"▾":"▸")}),Nt(ci,()=>l(yt),T=>x(yt,T)),Nt(ii,()=>l(ye),T=>x(ye,T)),bs(Gi,()=>l(Oe),T=>x(Oe,T)),Ps(qi,()=>l(ht),T=>x(ht,T)),j("click",Ze,mi),Nt(Te,()=>l(C),T=>x(C,T)),j("mousedown",Ve,ue),Nt(It,()=>l(de),T=>x(de,T)),j("click",pe,()=>{x(Z,!l(Z))}),D(o,Wi),Ms()}qs(["click","contextmenu","mousedown"]);var iJ=F('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),nJ=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>'),sJ=F('<div class="err svelte-twakcj"> </div>'),oJ=F('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),rJ=F('<p class="empty svelte-twakcj">No packages installed.</p>'),aJ=F('<p class="empty svelte-twakcj">No match.</p>'),lJ=F("<span> </span>"),cJ=fb('<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>'),dJ=fb('<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>'),uJ=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>'),hJ=F('<span class="result-author svelte-twakcj"> </span>'),fJ=F('<span class="result-date svelte-twakcj"> </span>'),gJ=F('<span class="result-desc svelte-twakcj"> </span>'),pJ=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>'),xJ=F('<div class="results-list svelte-twakcj"></div>'),vJ=F('<pre class="npm-output svelte-twakcj"> </pre>'),mJ=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>`),_J=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 bJ(o,e){Ts(e,!0);let t=B(Di([])),i=B(""),n=B(Di({})),s=B(Di([])),r=B(!1),a=B(""),d=B(Di([])),u=B(!1),f=B(!1),g=B(!1),p=B(""),C=B(""),b=Di({});const y=Ot(()=>l(i).trim()?l(t).filter(Ct=>Ct.name.toLowerCase().includes(l(i).toLowerCase())):l(t)),w=Ot(()=>Object.keys(l(n)).filter(Ct=>!l(s).includes(Ct)).length);js(async()=>{await Promise.all([A(),I(),M()])});async function A(){try{x(t,await rU(),!0),x(p,"")}catch(Ct){x(p,Ct.message,!0)}}async function I(){try{x(n,await kF(),!0)}catch{}}async function M(){try{const Ct=await Ml();x(s,Array.isArray(Ct.pinnedPackages)?Ct.pinnedPackages:[],!0)}catch{}}async function R(Ct){const Zt=l(s).includes(Ct)?l(s).filter(Ii=>Ii!==Ct):[...l(s),Ct];x(s,Zt,!0);try{const Ii=await Ml();await xp({...Ii,pinnedPackages:Zt})}catch{}}async function P(){x(r,!0);try{x(n,await uU(),!0)}catch{}finally{x(r,!1)}}async function V(){const Ct=l(a).trim();if(!Ct){x(d,[],!0);return}x(g,!0),x(p,"");try{x(d,await aU(Ct),!0)}catch(Zt){x(p,Zt.message,!0)}finally{x(g,!1)}}function $(Ct){if(!Ct)return"";try{return new Date(Ct).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function J(Ct,Zt){b[Ct]=!0,x(p,""),x(C,"");try{const Ii=await lU(Ct,Zt);x(C,Ii.stdout||Ii.stderr||"Done.",!0),x(u,!0),await A()}catch(Ii){x(p,Ii.message,!0)}finally{b[Ct]=!1}}async function re(Ct){b[Ct]=!0,x(p,""),x(C,"");try{const Zt=await cU(Ct);x(C,Zt.stdout||Zt.stderr||"Done.",!0),x(u,!0);const Ii={...l(n)};delete Ii[Ct],x(n,Ii,!0),await A()}catch(Zt){x(p,Zt.message,!0)}finally{b[Ct]=!1}}async function fe(Ct){b[Ct]=!0,x(p,""),x(C,"");try{const Zt=await dU(Ct);x(C,Zt.stdout||Zt.stderr||"Done.",!0),x(u,!0);const Ii={...l(n)};delete Ii[Ct],x(n,Ii,!0),await A()}catch(Zt){x(p,Zt.message,!0)}finally{b[Ct]=!1}}let Z;async function de(){if(await Z.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){x(f,!0);try{await SF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var ve=_J(),se=bt(ve);hs(Qa(se,{}),Ct=>Z=Ct,()=>Z);var ue=v(se,2),Se=m(ue);{var Ie=Ct=>{var Zt=iJ();D(Ct,Zt)},xe=Ct=>{var Zt=nJ(),Ii=v(m(Zt));j("click",Ii,de),D(Ct,Zt)};H(Se,Ct=>{l(f)?Ct(Ie):l(u)&&Ct(xe,1)})}var Ne=v(Se,2);{var ze=Ct=>{var Zt=sJ(),Ii=m(Zt);z(()=>O(Ii,l(p))),D(Ct,Zt)};H(Ne,Ct=>{l(p)&&Ct(ze)})}var me=v(Ne,2),dt=m(me),Pt=m(dt),Ye=v(m(Pt),2),yt=m(Ye),ye=v(Ye,2);{var Oe=Ct=>{var Zt=oJ(),Ii=m(Zt);z(()=>O(Ii,`${l(w)??""} outdated`)),D(Ct,Zt)};H(ye,Ct=>{l(w)>0&&Ct(Oe)})}var ht=v(ye,2),At=m(ht);let ft;var Lt=v(Pt,2),mi=m(Lt),fi=v(Lt,2),Ei=m(fi);{var xt=Ct=>{var Zt=rJ();D(Ct,Zt)},ui=Ct=>{var Zt=aJ();D(Ct,Zt)},Pe=Ct=>{var Zt=As(),Ii=bt(Zt);ri(Ii,17,()=>l(y),Wi=>Wi.name,(Wi,Pi)=>{var pn=uJ();let Dn;var Ui=m(pn),Xe=m(Ui),ci=m(Xe),Oi=v(Xe,2),ii=m(Oi),zi=v(Oi,2);{var Gi=X=>{var Te=lJ();let le;var ge=m(Te);z(Jt=>{le=Bt(Te,1,"dep-latest svelte-twakcj",null,le,Jt),O(ge,`→ v${l(n)[l(Pi).name].latest??""}`)},[()=>({"dep-latest--pinned":l(s).includes(l(Pi).name)})]),D(X,Te)};H(zi,X=>{l(n)[l(Pi).name]&&X(Gi)})}var qi=v(Ui,2),K=m(qi);let ke;var rt=v(K,2);let Ze;var zt=m(rt);{var ni=X=>{var Te=cJ();D(X,Te)},mt=X=>{var Te=dJ();D(X,Te)};H(zt,X=>{b[l(Pi).name]?X(ni):X(mt,-1)})}var et=v(rt,2);z((X,Te,le)=>{Dn=Bt(pn,1,"dep-row svelte-twakcj",null,Dn,{"dep-busy":!!b[l(Pi).name]}),un(Xe,"href",l(Pi).url??`https://www.npmjs.com/package/${l(Pi).name}`),O(ci,l(Pi).name),O(ii,l(Pi).installedVersion??l(Pi).version),ke=Bt(K,1,"icon-btn svelte-twakcj",null,ke,X),un(K,"title",Te),Ze=Bt(rt,1,"icon-btn svelte-twakcj",null,Ze,le),rt.disabled=!!b[l(Pi).name],un(rt,"title",l(n)[l(Pi).name]?`Update to v${l(n)[l(Pi).name].latest}`:"Update to latest"),et.disabled=!!b[l(Pi).name]},[()=>({"icon-btn--pinned":l(s).includes(l(Pi).name)}),()=>l(s).includes(l(Pi).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!l(n)[l(Pi).name]&&!l(s).includes(l(Pi).name)})]),j("click",K,()=>R(l(Pi).name)),j("click",rt,()=>fe(l(Pi).name)),j("click",et,()=>re(l(Pi).name)),D(Wi,pn)}),D(Ct,Zt)};H(Ei,Ct=>{l(t).length===0?Ct(xt):l(y).length===0?Ct(ui,1):Ct(Pe,-1)})}var Ee=v(dt,2),Gt=v(m(Ee),2),gi=m(Gt),Qt=v(gi,2),Ni=m(Qt),Zi=v(Gt,2);{var vi=Ct=>{var Zt=xJ();ri(Zt,21,()=>l(d),Ii=>Ii.name,(Ii,Wi)=>{var Pi=pJ(),pn=m(Pi),Dn=m(pn),Ui=m(Dn),Xe=v(Dn,2),ci=m(Xe),Oi=v(Xe,2);{var ii=Ze=>{var zt=hJ(),ni=m(zt);z(()=>O(ni,l(Wi).author)),D(Ze,zt)};H(Oi,Ze=>{l(Wi).author&&Ze(ii)})}var zi=v(Oi,2);{var Gi=Ze=>{var zt=fJ(),ni=m(zt);z(mt=>{un(zt,"title",l(Wi).date),O(ni,mt)},[()=>$(l(Wi).date)]),D(Ze,zt)};H(zi,Ze=>{l(Wi).date&&Ze(Gi)})}var qi=v(zi,2);{var K=Ze=>{var zt=gJ(),ni=m(zt);z(()=>O(ni,l(Wi).description)),D(Ze,zt)};H(qi,Ze=>{l(Wi).description&&Ze(K)})}var ke=v(pn,2),rt=m(ke);z(()=>{un(Dn,"href",l(Wi).url??`https://www.npmjs.com/package/${l(Wi).name}`),O(Ui,l(Wi).name),O(ci,l(Wi).version),ke.disabled=!!b[l(Wi).name],O(rt,b[l(Wi).name]?"Installing…":"Install")}),j("click",ke,()=>J(l(Wi).name)),D(Ii,Pi)}),D(Ct,Zt)};H(Zi,Ct=>{l(d).length>0&&Ct(vi)})}var gn=v(Zi,2);{var cn=Ct=>{var Zt=vJ(),Ii=m(Zt);z(()=>O(Ii,l(C))),D(Ct,Zt)};H(gn,Ct=>{l(C)&&Ct(cn)})}var rn=v(gn,2);{var mn=Ct=>{var Zt=mJ();D(Ct,Zt)};H(rn,Ct=>{!l(d).length&&!l(C)&&Ct(mn)})}z(()=>{O(yt,l(t).length),ht.disabled=l(r),ft=Bt(At,0,"svelte-twakcj",null,ft,{spinning:l(r)}),Qt.disabled=l(g),O(Ni,l(g)?"Searching…":"Search")}),j("click",ht,P),Nt(mi,()=>l(i),Ct=>x(i,Ct)),j("keydown",gi,Ct=>Ct.key==="Enter"&&V()),Nt(gi,()=>l(a),Ct=>x(a,Ct)),j("click",Qt,V),D(o,ve),Ms()}qs(["click","keydown"]);var CJ=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>'),ya=F('<div class="err svelte-3itf14"> </div>'),EJ=F('<div class="empty svelte-3itf14">No users found.</div>'),yJ=F('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),Th=F("<option> </option>"),Gx=F('<div class="inline-err svelte-3itf14"> </div>'),iA=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),wJ=F('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),SJ=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),DJ=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>'),AJ=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>'),kJ=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>'),BJ=F('<div class="empty svelte-3itf14">No roles found.</div>'),FJ=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>'),LJ=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>'),IJ=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>'),PJ=F('<div class="empty svelte-3itf14">No groups found.</div>'),TJ=F('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),MJ=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),RJ=F('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),NJ=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>'),OJ=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>'),HJ=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>'),nA=F('<div class="empty svelte-3itf14">Loading…</div>'),WJ=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>'),zJ=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>'),VJ=F('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),jJ=F('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),$J=F('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),UJ=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>'),qJ=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>'),GJ=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>'),KJ=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>'),ZJ=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>'),XJ=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>'),YJ=F('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),QJ=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>'),JJ=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>'),eee=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 tee(o,e){Ts(e,!0);let t=Tu(e,"dynsecReady",3,!1),i,n=B(Di([])),s=B(Di([])),r=B(Di([])),a=B(""),d=B(""),u=B(""),f=B("users"),g=B(null),p=B(""),C=B(""),b=B(!1);const y=Ot(()=>l(g)?l(g).kind==="user-roles"?l(s).map(pe=>pe.rolename).filter(pe=>{var He,Je;return!((Je=(He=l(n).find(Fe=>Fe.username===l(g).target))==null?void 0:He.roles)!=null&&Je.some(Fe=>Fe.rolename===pe))}):l(g).kind==="user-groups"?l(r).map(pe=>pe.groupname).filter(pe=>{var He,Je;return!((Je=(He=l(n).find(Fe=>Fe.username===l(g).target))==null?void 0:He.groups)!=null&&Je.some(Fe=>Fe.groupname===pe))}):l(g).kind==="group-members"?l(n).map(pe=>pe.username).filter(pe=>{var He,Je;return!((Je=(He=l(r).find(Fe=>Fe.groupname===l(g).target))==null?void 0:He.clients)!=null&&Je.some(Fe=>Fe.username===pe))}):l(s).map(pe=>pe.rolename).filter(pe=>{var He,Je;return!((Je=(He=l(r).find(Fe=>Fe.groupname===l(g).target))==null?void 0:He.roles)!=null&&Je.some(Fe=>Fe.rolename===pe))}):[]);function w(pe,He){x(g,{kind:pe,target:He},!0),x(p,""),x(C,"")}async function A(){if(!(!l(g)||!l(p))){x(b,!0),x(C,"");try{const{kind:pe,target:He}=l(g);pe==="user-roles"?await RU(He,l(p)):pe==="user-groups"?await b2(l(p),He):pe==="group-members"?await b2(He,l(p)):await UU(He,l(p)),x(g,null),x(p,""),await vi()}catch(pe){x(C,pe.message,!0)}finally{x(b,!1)}}}async function I(pe,He){try{await NU(pe,He),await vi()}catch(Je){x(a,Je.message,!0)}}async function M(pe,He){try{await C2(He,pe),await vi()}catch(Je){x(a,Je.message,!0)}}async function R(pe,He){try{await C2(pe,He),await vi()}catch(Je){x(u,Je.message,!0)}}async function P(pe,He){try{await qU(pe,He),await vi()}catch(Je){x(u,Je.message,!0)}}let V=B(!1),$=B(""),J=B(""),re=B(!1),fe=B(""),Z=B(!1),de=B(!1),ve=B(""),se=B(""),ue=B(""),Se=B(!1),Ie=B(!1),xe=B(""),Ne=B(""),ze=B(!1),me=B(null),dt=B(!1),Pt=B("publishClientSend"),Ye=B(""),yt=B(!0),ye=B(""),Oe=B(!1),ht=B(""),At=B(""),ft=B(!1),Lt=B(Di([])),mi=B(""),fi=B(!1),Ei=B(null),xt=B(""),ui=B(""),Pe=B(!1),Ee=B(!1);const Gt=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function gi(){var pe,He;x(Ee,!1),x(mi,""),x(ui,"");try{const[Je,Fe]=await Promise.allSettled([GU(),XU()]);if(Je.status==="fulfilled"){const Et=Object.fromEntries(Je.value.acls.map(gt=>[gt.acltype,gt.allow]));x(Lt,Gt.map(({acltype:gt})=>({acltype:gt,allow:Et[gt]??(gt==="publishClientReceive"||gt==="unsubscribe")})),!0)}else x(mi,((pe=Je.reason)==null?void 0:pe.message)??"Failed to load default ACLs",!0);Fe.status==="fulfilled"?(x(Ei,Fe.value.group,!0),x(xt,Fe.value.group??"",!0)):x(ui,((He=Fe.reason)==null?void 0:He.message)??"Failed to load anonymous group",!0)}finally{x(Ee,!0)}}async function Qt(pe,He){x(Lt,l(Lt).map(Je=>Je.acltype===pe?{...Je,allow:He}:Je),!0),x(fi,!0),x(mi,"");try{await KU(l(Lt))}catch(Je){x(mi,Je.message,!0)}finally{x(fi,!1)}}async function Ni(){x(Pe,!0),x(ui,"");try{await YU(l(xt)||null),x(Ei,l(xt)||null,!0)}catch(pe){x(ui,pe.message,!0)}finally{x(Pe,!1)}}const Zi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function vi(){var pe,He,Je;try{const[Fe,Et,gt]=await Promise.allSettled([IU(),MF(),VU()]);Fe.status==="fulfilled"?(x(n,Fe.value.users,!0),x(a,"")):x(a,((pe=Fe.reason)==null?void 0:pe.message)??"Failed to load users",!0),Et.status==="fulfilled"?(x(s,Et.value.roles,!0),x(d,"")):x(d,((He=Et.reason)==null?void 0:He.message)??"Failed to load roles",!0),gt.status==="fulfilled"?(x(r,gt.value.groups,!0),x(u,"")):x(u,((Je=gt.reason)==null?void 0:Je.message)??"Failed to load groups",!0)}catch{}}js(()=>{vi()});async function gn(){x(fe,""),x(Z,!0);try{await PU(l($),l(J)),x($,""),x(J,""),x(V,!1),await vi()}catch(pe){x(fe,pe.message??"Failed to create user",!0)}finally{x(Z,!1)}}async function cn(pe){if(await i.show(`Delete user “${pe}”?`,{confirm:"Delete",danger:!0}))try{await TU(pe),await vi()}catch(He){x(a,He.message,!0)}}async function rn(pe){x(ve,pe,!0),x(se,""),x(ue,""),x(de,!0)}async function mn(){x(ue,""),x(Se,!0);try{await MU(l(ve),l(se)),x(de,!1)}catch(pe){x(ue,pe.message,!0)}finally{x(Se,!1)}}async function Ct(){x(Ne,""),x(ze,!0);try{await OU(l(xe)),x(xe,""),x(Ie,!1),await vi()}catch(pe){x(Ne,pe.message??"Failed to create role",!0)}finally{x(ze,!1)}}async function Zt(pe){var He;if(await i.show(`Delete role “${pe}”?`,{confirm:"Delete",danger:!0}))try{await HU(pe),((He=l(me))==null?void 0:He.rolename)===pe&&(x(me,null),x(dt,!1)),await vi()}catch(Je){x(d,Je.message,!0)}}function Ii(pe){x(me,pe,!0),x(dt,!0),x(Pt,"publishClientSend"),x(Ye,""),x(yt,!0),x(ye,"")}async function Wi(){if(l(me)){x(ye,"");try{await WU(l(me).rolename,{acltype:l(Pt),topic:l(Ye),allow:l(yt)}),x(Ye,""),await vi(),x(me,l(s).find(pe=>pe.rolename===l(me).rolename)??l(me),!0)}catch(pe){x(ye,pe.message,!0)}}}async function Pi(pe,He,Je){try{await zU(pe,He,Je),await vi(),x(me,l(s).find(Fe=>Fe.rolename===pe)??l(me),!0)}catch(Fe){x(ye,Fe.message,!0)}}async function pn(){x(At,""),x(ft,!0);try{await jU(l(ht)),x(ht,""),x(Oe,!1),await vi()}catch(pe){x(At,pe.message??"Failed to create group",!0)}finally{x(ft,!1)}}async function Dn(pe){if(await i.show(`Delete group “${pe}”?`,{confirm:"Delete",danger:!0}))try{await $U(pe),await vi()}catch(He){x(u,He.message,!0)}}var Ui=eee(),Xe=bt(Ui),ci=m(Xe);{var Oi=pe=>{var He=CJ();D(pe,He)};H(ci,pe=>{t()||pe(Oi)})}var ii=v(ci,2),zi=m(ii);let Gi;var qi=v(zi,2);let K;var ke=v(qi,2);let rt;var Ze=v(ke,2);let zt;var ni=v(Ze,2),mt=v(ii,2);{var et=pe=>{var He=kJ(),Je=m(He),Fe=v(m(Je),2),Et=v(Je,2);{var gt=W=>{var Y=ya(),ne=m(Y);z(()=>O(ne,l(a))),D(W,Y)};H(Et,W=>{l(a)&&W(gt)})}var Kt=v(Et,2);{var U=W=>{var Y=EJ();D(W,Y)},T=W=>{var Y=AJ(),ne=v(m(Y));ri(ne,21,()=>l(n),Vi,(ae,oe)=>{var we=DJ(),je=m(we),Ce=m(je),Le=v(je),Me=m(Le),ot=m(Me),li=m(ot);ri(li,17,()=>l(oe).roles??[],Vi,(Ut,De)=>{var be=yJ(),qe=m(be),at=v(qe);z(()=>O(qe,l(De).rolename)),j("click",at,()=>I(l(oe).username,l(De).rolename)),D(Ut,be)});var Q=v(li,2),ce=v(ot,2);{var Ge=Ut=>{var De=iA(),be=bt(De),qe=m(be),at=m(qe);at.value=at.__value="";var Xt=v(at);ri(Xt,17,()=>l(y),Vi,(Yt,Ht)=>{var Wt=Th(),Ft=m(Wt),jt={};z(()=>{O(Ft,l(Ht)),jt!==(jt=l(Ht))&&(Wt.value=(Wt.__value=l(Ht))??"")}),D(Yt,Wt)});var it=v(qe,2),nt=v(it,2),kt=v(be,2);{var ti=Yt=>{var Ht=Gx(),Wt=m(Ht);z(()=>O(Wt,l(C))),D(Yt,Ht)};H(kt,Yt=>{l(C)&&Yt(ti)})}z(()=>it.disabled=!l(p)||l(b)),Ps(qe,()=>l(p),Yt=>x(p,Yt)),j("click",it,A),j("click",nt,()=>x(g,null)),D(Ut,De)};H(ce,Ut=>{var De;((De=l(g))==null?void 0:De.kind)==="user-roles"&&l(g).target===l(oe).username&&Ut(Ge)})}var Mt=v(Le),Ue=m(Mt),$e=m(Ue),Tt=m($e);ri(Tt,17,()=>l(oe).groups??[],Vi,(Ut,De)=>{var be=wJ(),qe=m(be),at=v(qe);z(()=>O(qe,l(De).groupname)),j("click",at,()=>M(l(oe).username,l(De).groupname)),D(Ut,be)});var pt=v(Tt,2),Qe=v($e,2);{var wt=Ut=>{var De=SJ(),be=bt(De),qe=m(be),at=m(qe);at.value=at.__value="";var Xt=v(at);ri(Xt,17,()=>l(y),Vi,(Yt,Ht)=>{var Wt=Th(),Ft=m(Wt),jt={};z(()=>{O(Ft,l(Ht)),jt!==(jt=l(Ht))&&(Wt.value=(Wt.__value=l(Ht))??"")}),D(Yt,Wt)});var it=v(qe,2),nt=v(it,2),kt=v(be,2);{var ti=Yt=>{var Ht=Gx(),Wt=m(Ht);z(()=>O(Wt,l(C))),D(Yt,Ht)};H(kt,Yt=>{l(C)&&Yt(ti)})}z(()=>it.disabled=!l(p)||l(b)),Ps(qe,()=>l(p),Yt=>x(p,Yt)),j("click",it,A),j("click",nt,()=>x(g,null)),D(Ut,De)};H(Qe,Ut=>{var De;((De=l(g))==null?void 0:De.kind)==="user-groups"&&l(g).target===l(oe).username&&Ut(wt)})}var Dt=v(Mt),st=m(Dt),Rt=m(st),si=v(Rt,2);z(()=>O(Ce,l(oe).username)),j("click",Q,()=>w("user-roles",l(oe).username)),j("click",pt,()=>w("user-groups",l(oe).username)),j("click",Rt,()=>rn(l(oe).username)),j("click",si,()=>cn(l(oe).username)),D(ae,we)}),D(W,Y)};H(Kt,W=>{l(n).length===0?W(U):W(T,-1)})}j("click",Fe,()=>{x(V,!0),x(fe,"")}),D(pe,He)};H(mt,pe=>{l(f)==="users"&&pe(et)})}var X=v(mt,2);{var Te=pe=>{var He=IJ(),Je=m(He),Fe=v(m(Je),2),Et=v(Je,2);{var gt=W=>{var Y=ya(),ne=m(Y);z(()=>O(ne,l(d))),D(W,Y)};H(Et,W=>{l(d)&&W(gt)})}var Kt=v(Et,2);{var U=W=>{var Y=BJ();D(W,Y)},T=W=>{var Y=LJ(),ne=v(m(Y));ri(ne,21,()=>l(s),Vi,(ae,oe)=>{var we=FJ(),je=m(we),Ce=m(je),Le=v(je),Me=m(Le),ot=v(Le),li=m(ot),Q=m(li),ce=v(Q,2);z(()=>{var Ge;O(Ce,l(oe).rolename),O(Me,((Ge=l(oe).acls)==null?void 0:Ge.length)??0)}),j("click",Q,()=>Ii(l(oe))),j("click",ce,()=>Zt(l(oe).rolename)),D(ae,we)}),D(W,Y)};H(Kt,W=>{l(s).length===0?W(U):W(T,-1)})}j("click",Fe,()=>{x(Ie,!0),x(Ne,""),x(xe,"")}),D(pe,He)};H(X,pe=>{l(f)==="roles"&&pe(Te)})}var le=v(X,2);{var ge=pe=>{var He=HJ(),Je=m(He),Fe=v(m(Je),2),Et=v(Je,2);{var gt=W=>{var Y=ya(),ne=m(Y);z(()=>O(ne,l(u))),D(W,Y)};H(Et,W=>{l(u)&&W(gt)})}var Kt=v(Et,2);{var U=W=>{var Y=PJ();D(W,Y)},T=W=>{var Y=OJ(),ne=v(m(Y));ri(ne,21,()=>l(r),Vi,(ae,oe)=>{var we=NJ(),je=m(we),Ce=m(je),Le=v(je),Me=m(Le),ot=m(Me),li=m(ot);ri(li,17,()=>l(oe).clients??[],Vi,(si,Ut)=>{var De=TJ(),be=m(De),qe=v(be);z(()=>O(be,l(Ut).username)),j("click",qe,()=>R(l(oe).groupname,l(Ut).username)),D(si,De)});var Q=v(li,2),ce=v(ot,2);{var Ge=si=>{var Ut=MJ(),De=bt(Ut),be=m(De),qe=m(be);qe.value=qe.__value="";var at=v(qe);ri(at,17,()=>l(y),Vi,(ti,Yt)=>{var Ht=Th(),Wt=m(Ht),Ft={};z(()=>{O(Wt,l(Yt)),Ft!==(Ft=l(Yt))&&(Ht.value=(Ht.__value=l(Yt))??"")}),D(ti,Ht)});var Xt=v(be,2),it=v(Xt,2),nt=v(De,2);{var kt=ti=>{var Yt=Gx(),Ht=m(Yt);z(()=>O(Ht,l(C))),D(ti,Yt)};H(nt,ti=>{l(C)&&ti(kt)})}z(()=>Xt.disabled=!l(p)||l(b)),Ps(be,()=>l(p),ti=>x(p,ti)),j("click",Xt,A),j("click",it,()=>x(g,null)),D(si,Ut)};H(ce,si=>{var Ut;((Ut=l(g))==null?void 0:Ut.kind)==="group-members"&&l(g).target===l(oe).groupname&&si(Ge)})}var Mt=v(Le),Ue=m(Mt),$e=m(Ue),Tt=m($e);ri(Tt,17,()=>l(oe).roles??[],Vi,(si,Ut)=>{var De=RJ(),be=m(De),qe=v(be);z(()=>O(be,l(Ut).rolename)),j("click",qe,()=>P(l(oe).groupname,l(Ut).rolename)),D(si,De)});var pt=v(Tt,2),Qe=v($e,2);{var wt=si=>{var Ut=iA(),De=bt(Ut),be=m(De),qe=m(be);qe.value=qe.__value="";var at=v(qe);ri(at,17,()=>l(y),Vi,(ti,Yt)=>{var Ht=Th(),Wt=m(Ht),Ft={};z(()=>{O(Wt,l(Yt)),Ft!==(Ft=l(Yt))&&(Ht.value=(Ht.__value=l(Yt))??"")}),D(ti,Ht)});var Xt=v(be,2),it=v(Xt,2),nt=v(De,2);{var kt=ti=>{var Yt=Gx(),Ht=m(Yt);z(()=>O(Ht,l(C))),D(ti,Yt)};H(nt,ti=>{l(C)&&ti(kt)})}z(()=>Xt.disabled=!l(p)||l(b)),Ps(be,()=>l(p),ti=>x(p,ti)),j("click",Xt,A),j("click",it,()=>x(g,null)),D(si,Ut)};H(Qe,si=>{var Ut;((Ut=l(g))==null?void 0:Ut.kind)==="group-roles"&&l(g).target===l(oe).groupname&&si(wt)})}var Dt=v(Mt),st=m(Dt),Rt=m(st);z(()=>O(Ce,l(oe).groupname)),j("click",Q,()=>w("group-members",l(oe).groupname)),j("click",pt,()=>w("group-roles",l(oe).groupname)),j("click",Rt,()=>Dn(l(oe).groupname)),D(ae,we)}),D(W,Y)};H(Kt,W=>{l(r).length===0?W(U):W(T,-1)})}j("click",Fe,()=>{x(Oe,!0),x(At,""),x(ht,"")}),D(pe,He)};H(le,pe=>{l(f)==="groups"&&pe(ge)})}var Jt=v(le,2);{var ai=pe=>{var He=UJ(),Je=m(He),Fe=v(m(Je),4);{var Et=we=>{var je=ya(),Ce=m(je);z(()=>O(Ce,l(mi))),D(we,je)};H(Fe,we=>{l(mi)&&we(Et)})}var gt=v(Fe,2);{var Kt=we=>{var je=nA();D(we,je)},U=we=>{var je=zJ(),Ce=v(m(je));ri(Ce,21,()=>Gt,Vi,(Le,Me)=>{let ot=()=>l(Me).acltype,li=()=>l(Me).label;const Q=Ot(()=>l(Lt).find(wt=>wt.acltype===ot()));var ce=WJ();let Ge;var Mt=m(ce),Ue=m(Mt),$e=v(Mt),Tt=m($e),pt=v($e),Qe=m(pt);z(()=>{var wt,Dt;Ge=Bt(ce,1,"svelte-3itf14",null,Ge,{saving:l(fi)}),O(Ue,li()),un(Tt,"name",ot()),er(Tt,((wt=l(Q))==null?void 0:wt.allow)===!0),un(Qe,"name",ot()),er(Qe,((Dt=l(Q))==null?void 0:Dt.allow)===!1)}),j("change",Tt,()=>Qt(ot(),!0)),j("change",Qe,()=>Qt(ot(),!1)),D(Le,ce)}),D(we,je)};H(gt,we=>{l(Ee)?we(U,-1):we(Kt)})}var T=v(Je,2),W=v(m(T),4);{var Y=we=>{var je=ya(),Ce=m(je);z(()=>O(Ce,l(ui))),D(we,je)};H(W,we=>{l(ui)&&we(Y)})}var ne=v(W,2);{var ae=we=>{var je=nA();D(we,je)},oe=we=>{var je=$J(),Ce=bt(je),Le=m(Ce),Me=m(Le);Me.value=Me.__value="";var ot=v(Me);ri(ot,17,()=>l(r),Vi,(Ue,$e)=>{var Tt=Th(),pt=m(Tt),Qe={};z(()=>{O(pt,l($e).groupname),Qe!==(Qe=l($e).groupname)&&(Tt.value=(Tt.__value=l($e).groupname)??"")}),D(Ue,Tt)});var li=v(Le,2),Q=m(li),ce=v(Ce,2);{var Ge=Ue=>{var $e=VJ(),Tt=v(m($e)),pt=m(Tt);z(()=>O(pt,l(Ei))),D(Ue,$e)},Mt=Ue=>{var $e=jJ();D(Ue,$e)};H(ce,Ue=>{l(Ei)?Ue(Ge):Ue(Mt,-1)})}z(()=>{li.disabled=l(Pe)||l(xt)===(l(Ei)??""),O(Q,l(Pe)?"Saving…":"Save")}),Ps(Le,()=>l(xt),Ue=>x(xt,Ue)),j("click",li,Ni),D(we,je)};H(ne,we=>{l(Ee)?we(oe,-1):we(ae)})}D(pe,He)};H(Jt,pe=>{l(f)==="settings"&&pe(ai)})}var bi=v(Xe,2);{var Ci=pe=>{var He=qJ(),Je=m(He),Fe=v(m(Je),2),Et=v(m(Fe)),gt=v(Fe,2),Kt=v(m(gt)),U=m(Kt),T=v(U,2),W=m(T),Y=v(gt,2);{var ne=Ce=>{var Le=ya(),Me=m(Le);z(()=>O(Me,l(fe))),D(Ce,Le)};H(Y,Ce=>{l(fe)&&Ce(ne)})}var ae=v(Y,2),oe=m(ae),we=v(oe,2),je=m(we);z(()=>{un(U,"type",l(re)?"text":"password"),O(W,l(re)?"Hide":"Show"),we.disabled=l(Z)||!l($)||!l(J),O(je,l(Z)?"Creating…":"Create")}),Nt(Et,()=>l($),Ce=>x($,Ce)),Nt(U,()=>l(J),Ce=>x(J,Ce)),j("click",T,()=>x(re,!l(re))),j("click",oe,()=>x(V,!1)),j("click",we,gn),D(pe,He)};H(bi,pe=>{l(V)&&pe(Ci)})}var Hi=v(bi,2);{var ie=pe=>{var He=GJ(),Je=m(He),Fe=m(Je),Et=v(m(Fe)),gt=m(Et),Kt=v(Fe,2),U=v(m(Kt)),T=v(Kt,2);{var W=we=>{var je=ya(),Ce=m(je);z(()=>O(Ce,l(ue))),D(we,je)};H(T,we=>{l(ue)&&we(W)})}var Y=v(T,2),ne=m(Y),ae=v(ne,2),oe=m(ae);z(()=>{O(gt,l(ve)),ae.disabled=l(Se)||!l(se),O(oe,l(Se)?"Saving…":"Set password")}),Nt(U,()=>l(se),we=>x(se,we)),j("click",ne,()=>x(de,!1)),j("click",ae,mn),D(pe,He)};H(Hi,pe=>{l(de)&&pe(ie)})}var tt=v(Hi,2);{var _e=pe=>{var He=KJ(),Je=m(He),Fe=v(m(Je),2),Et=v(m(Fe)),gt=v(Fe,2);{var Kt=ne=>{var ae=ya(),oe=m(ae);z(()=>O(oe,l(Ne))),D(ne,ae)};H(gt,ne=>{l(Ne)&&ne(Kt)})}var U=v(gt,2),T=m(U),W=v(T,2),Y=m(W);z(()=>{W.disabled=l(ze)||!l(xe),O(Y,l(ze)?"Creating…":"Create")}),Nt(Et,()=>l(xe),ne=>x(xe,ne)),j("click",T,()=>x(Ie,!1)),j("click",W,Ct),D(pe,He)};H(tt,pe=>{l(Ie)&&pe(_e)})}var Ve=v(tt,2);{var _t=pe=>{var He=QJ(),Je=m(He),Fe=m(Je),Et=v(m(Fe)),gt=m(Et),Kt=v(Fe,2);{var U=ot=>{var li=XJ(),Q=v(m(li));ri(Q,21,()=>l(me).acls??[],Vi,(ce,Ge)=>{var Mt=ZJ(),Ue=m(Mt),$e=m(Ue),Tt=v(Ue),pt=m(Tt),Qe=v(Tt),wt=m(Qe),Dt=v(Qe),st=m(Dt);z(()=>{O($e,l(Ge).acltype),O(pt,l(Ge).topic),O(wt,l(Ge).allow?"✓":"✗")}),j("click",st,()=>Pi(l(me).rolename,l(Ge).acltype,l(Ge).topic)),D(ce,Mt)}),D(ot,li)},T=ot=>{var li=YJ();D(ot,li)};H(Kt,ot=>{var li;(((li=l(me).acls)==null?void 0:li.length)??0)>0?ot(U):ot(T,-1)})}var W=v(Kt,2),Y=m(W);ri(Y,21,()=>Zi,Vi,(ot,li)=>{var Q=Th(),ce=m(Q),Ge={};z(()=>{O(ce,l(li)),Ge!==(Ge=l(li))&&(Q.value=(Q.__value=l(li))??"")}),D(ot,Q)});var ne=v(Y,2),ae=v(ne,2),oe=m(ae),we=v(ae,2),je=v(W,2);{var Ce=ot=>{var li=ya(),Q=m(li);z(()=>O(Q,l(ye))),D(ot,li)};H(je,ot=>{l(ye)&&ot(Ce)})}var Le=v(je,2),Me=m(Le);z(()=>{O(gt,l(me).rolename),we.disabled=!l(Ye)}),Ps(Y,()=>l(Pt),ot=>x(Pt,ot)),Nt(ne,()=>l(Ye),ot=>x(Ye,ot)),bs(oe,()=>l(yt),ot=>x(yt,ot)),j("click",we,Wi),j("click",Me,()=>x(dt,!1)),D(pe,He)};H(Ve,pe=>{l(dt)&&l(me)&&pe(_t)})}var It=v(Ve,2);{var Ai=pe=>{var He=JJ(),Je=m(He),Fe=v(m(Je),2),Et=v(m(Fe)),gt=v(Fe,2);{var Kt=ne=>{var ae=ya(),oe=m(ae);z(()=>O(oe,l(At))),D(ne,ae)};H(gt,ne=>{l(At)&&ne(Kt)})}var U=v(gt,2),T=m(U),W=v(T,2),Y=m(W);z(()=>{W.disabled=l(ft)||!l(ht),O(Y,l(ft)?"Creating…":"Create")}),Nt(Et,()=>l(ht),ne=>x(ht,ne)),j("click",T,()=>x(Oe,!1)),j("click",W,pn),D(pe,He)};H(It,pe=>{l(Oe)&&pe(Ai)})}var ei=v(It,2);hs(Qa(ei,{}),pe=>i=pe,()=>i),z(()=>{Gi=Bt(zi,1,"svelte-3itf14",null,Gi,{active:l(f)==="users"}),K=Bt(qi,1,"svelte-3itf14",null,K,{active:l(f)==="roles"}),rt=Bt(ke,1,"svelte-3itf14",null,rt,{active:l(f)==="groups"}),zt=Bt(Ze,1,"svelte-3itf14",null,zt,{active:l(f)==="settings"})}),j("click",zi,()=>x(f,"users")),j("click",qi,()=>x(f,"roles")),j("click",ke,()=>x(f,"groups")),j("click",Ze,()=>{x(f,"settings"),l(Ee)||gi()}),j("click",ni,vi),D(o,Ui),Ms()}qs(["click","change"]);var sA=F('<div class="err svelte-9i68x"> </div>'),iee=F('<div class="ok svelte-9i68x">Saved.</div>'),nee=F('<div class="reload-msg svelte-9i68x"> </div>'),see=F('<div class="loading svelte-9i68x">Loading…</div>'),oee=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>'),ree=F("<option></option>"),aee=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>'),lee=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>'),cee=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>'),dee=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>'),uee=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>'),hee=F('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),fee=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),gee=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 & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function pee(o,e){Ts(e,!0);let t=B(null),i=B(""),n=B(!1),s=B(""),r=B(!1),a=B(!1),d=B(""),u=B(Di([])),f=B(null),g=B(!1),p=B(""),C=B(Di([])),b=B(Di(new Set));js(()=>{y(),_U().then(ye=>{x(C,ye.addresses,!0)}).catch(()=>{})});async function y(){try{x(t,await tx(),!0),x(u,JSON.parse(JSON.stringify(l(t).listeners)),!0),x(f,l(t).checksum,!0);const ye=l(t).managed.allow_anonymous;x(p,ye==="true"||ye==="false"?ye:"",!0),x(g,l(t).managed.per_listener_settings==="true"),x(i,"")}catch(ye){x(i,ye.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(ye){const Oe=new Set(l(b));Oe.has(ye)?Oe.delete(ye):Oe.add(ye),x(b,Oe,!0)}function I(ye){x(u,l(u).filter((Oe,ht)=>ht!==ye),!0)}async function M(){if(l(t)){x(n,!0),x(s,""),x(r,!1);try{const ye={...l(t).managed};l(g)?(ye.per_listener_settings="true",delete ye.allow_anonymous):(delete ye.per_listener_settings,l(p)?ye.allow_anonymous=l(p):delete ye.allow_anonymous),await TF({listeners:l(u),managed:ye,passthrough:l(t).passthrough,checksum:l(f)}),x(r,!0),setTimeout(()=>x(r,!1),3e3),await y()}catch(ye){x(s,ye.message??"Save failed",!0)}finally{x(n,!1)}}}async function R(){x(a,!0),x(d,"");try{const ye=await Nb();x(d,ye.stderr||ye.stdout||"Reloaded",!0)}catch(ye){x(d,"Error: "+(ye.message??"reload failed"))}finally{x(a,!1)}}function P(ye){var Oe,ht,At,ft,Lt;return!!((Oe=ye.tls)!=null&&Oe.enabled||(ht=ye.tls)!=null&&ht.certfile||(At=ye.tls)!=null&&At.keyfile||(ft=ye.tls)!=null&&ft.capath||(Lt=ye.tls)!=null&&Lt.cafile)}function V(ye,Oe){Oe?ye.tls={...ye.tls,enabled:!0}:ye.tls={},x(u,[...l(u)],!0)}var $=gee(),J=m($),re=v(m(J),2),fe=m(re),Z=v(fe,2),de=m(Z),ve=v(Z,2),se=m(ve),ue=v(J,2);{var Se=ye=>{var Oe=sA(),ht=m(Oe);z(()=>O(ht,l(i))),D(ye,Oe)};H(ue,ye=>{l(i)&&ye(Se)})}var Ie=v(ue,2);{var xe=ye=>{var Oe=sA(),ht=m(Oe);z(()=>O(ht,l(s))),D(ye,Oe)};H(Ie,ye=>{l(s)&&ye(xe)})}var Ne=v(Ie,2);{var ze=ye=>{var Oe=iee();D(ye,Oe)};H(Ne,ye=>{l(r)&&ye(ze)})}var me=v(Ne,2);{var dt=ye=>{var Oe=nee(),ht=m(Oe);z(()=>O(ht,l(d))),D(ye,Oe)};H(me,ye=>{l(d)&&ye(dt)})}var Pt=v(me,2);{var Ye=ye=>{var Oe=see();D(ye,Oe)},yt=ye=>{var Oe=fee(),ht=bt(Oe),At=m(ht),ft=m(At),Lt=v(At,2);{var mi=Pe=>{var Ee=oee(),Gt=v(m(Ee),2),gi=m(Gt);gi.value=gi.__value="";var Qt=v(gi);Qt.value=Qt.__value="true";var Ni=v(Qt);Ni.value=Ni.__value="false",Ps(Gt,()=>l(p),Zi=>x(p,Zi)),D(Pe,Ee)};H(Lt,Pe=>{l(g)||Pe(mi)})}var fi=v(ht,2),Ei=m(fi);ri(Ei,17,()=>l(u),Vi,(Pe,Ee,Gt)=>{var gi=uee(),Qt=m(gi),Ni=m(Qt),Zi=m(Ni),vi=v(Ni,2),gn=v(Qt,2),cn=m(gn),rn=v(m(cn)),mn=v(cn,2),Ct=v(m(mn)),Zt=m(Ct);Zt.value=Zt.__value="mqtt";var Ii=v(Zt);Ii.value=Ii.__value="websockets";var Wi=v(mn,2),Pi=v(m(Wi));un(Pi,"list",`bind-addr-list-${Gt}`);var pn=v(Wi,2),Dn=m(pn),Ui=v(gn,2);un(Ui,"id",`bind-addr-list-${Gt}`),ri(Ui,21,()=>l(C),Vi,(Ze,zt)=>{var ni=ree(),mt={};z(()=>{mt!==(mt=l(zt))&&(ni.value=(ni.__value=l(zt))??"")}),D(Ze,ni)});var Xe=v(Ui,2);{var ci=Ze=>{var zt=aee(),ni=m(zt),mt=m(ni),et=v(m(mt)),X=v(mt,2),Te=v(m(X)),le=v(ni,2),ge=m(le),Jt=v(m(ge)),ai=v(ge,2),bi=v(m(ai)),Ci=v(le,2),Hi=m(Ci),ie=v(m(Hi)),tt=v(Hi,2),_e=v(m(tt)),Ve=m(_e);Ve.value=Ve.__value="";var _t=v(Ve);_t.value=_t.__value="tlsv1.3";var It=v(_t);It.value=It.__value="tlsv1.2";var Ai=v(Ci,2),ei=m(Ai),pe=m(ei),He=v(ei,2),Je=m(He);Nt(et,()=>l(Ee).tls.certfile,Fe=>l(Ee).tls.certfile=Fe),Nt(Te,()=>l(Ee).tls.keyfile,Fe=>l(Ee).tls.keyfile=Fe),Nt(Jt,()=>l(Ee).tls.cafile,Fe=>l(Ee).tls.cafile=Fe),Nt(bi,()=>l(Ee).tls.capath,Fe=>l(Ee).tls.capath=Fe),Nt(ie,()=>l(Ee).tls.crlfile,Fe=>l(Ee).tls.crlfile=Fe),Ps(_e,()=>l(Ee).tls.tls_version,Fe=>l(Ee).tls.tls_version=Fe),bs(pe,()=>l(Ee).tls.require_certificate,Fe=>l(Ee).tls.require_certificate=Fe),bs(Je,()=>l(Ee).tls.use_identity_as_username,Fe=>l(Ee).tls.use_identity_as_username=Fe),D(Ze,zt)},Oi=Ot(()=>P(l(Ee)));H(Xe,Ze=>{l(Oi)&&Ze(ci)})}var ii=v(Xe,2),zi=m(ii),Gi=v(ii,2);{var qi=Ze=>{var zt=cee(),ni=m(zt),mt=m(ni),et=v(m(mt)),X=v(mt,2),Te=v(m(X)),le=v(X,2),ge=v(m(le)),Jt=m(ge);Jt.value=Jt.__value="";var ai=v(Jt);ai.value=ai.__value="0";var bi=v(ai);bi.value=bi.__value="1";var Ci=v(bi);Ci.value=Ci.__value="2";var Hi;P1(ge);var ie=v(ni,2);{var tt=Ve=>{var _t=lee(),It=m(_t),Ai=m(It);bs(Ai,()=>l(Ee).tls.use_subject_as_username,ei=>l(Ee).tls.use_subject_as_username=ei),D(Ve,_t)},_e=Ot(()=>P(l(Ee)));H(ie,Ve=>{l(_e)&&Ve(tt)})}z(Ve=>{Hi!==(Hi=Ve)&&(ge.value=(ge.__value=Ve)??"",zv(ge,Ve))},[()=>l(Ee).max_qos!==void 0?String(l(Ee).max_qos):""]),Nt(et,()=>l(Ee).mount_point,Ve=>l(Ee).mount_point=Ve),Nt(Te,()=>l(Ee).max_connections,Ve=>l(Ee).max_connections=Ve),j("change",ge,Ve=>{const _t=Ve.target.value;l(Ee).max_qos=_t===""?void 0:Number(_t),x(u,[...l(u)],!0)}),D(Ze,zt)},K=Ot(()=>l(b).has(Gt));H(Gi,Ze=>{l(K)&&Ze(qi)})}var ke=v(Gi,2);{var rt=Ze=>{var zt=dee(),ni=v(m(zt),2),mt=m(ni),et=v(m(mt)),X=m(et);X.value=X.__value="";var Te=v(X);Te.value=Te.__value="true";var le=v(Te);le.value=le.__value="false";var ge;P1(et);var Jt=v(mt,2),ai=v(m(Jt)),bi=v(Jt,2),Ci=v(m(bi));z(()=>{ge!==(ge=l(Ee).allow_anonymous===void 0?"":l(Ee).allow_anonymous?"true":"false")&&(et.value=et.__value=l(Ee).allow_anonymous===void 0?"":l(Ee).allow_anonymous?"true":"false",zv(et,l(Ee).allow_anonymous===void 0?"":l(Ee).allow_anonymous?"true":"false"))}),j("change",et,Hi=>{const ie=Hi.target.value;l(Ee).allow_anonymous=ie===""?void 0:ie==="true",x(u,[...l(u)],!0)}),Nt(ai,()=>l(Ee).password_file,Hi=>l(Ee).password_file=Hi),Nt(Ci,()=>l(Ee).acl_file,Hi=>l(Ee).acl_file=Hi),D(Ze,zt)};H(ke,Ze=>{l(g)&&Ze(rt)})}z((Ze,zt)=>{O(Zi,`Port ${l(Ee).port??""}`),er(Dn,Ze),O(zi,`${zt??""} Advanced`)},[()=>P(l(Ee)),()=>l(b).has(Gt)?"▾":"▸"]),j("click",vi,()=>I(Gt)),Nt(rn,()=>l(Ee).port,Ze=>l(Ee).port=Ze),Ps(Ct,()=>l(Ee).protocol,Ze=>l(Ee).protocol=Ze),Nt(Pi,()=>l(Ee).bindAddress,Ze=>l(Ee).bindAddress=Ze),j("change",Dn,Ze=>V(l(Ee),Ze.target.checked)),j("click",ii,()=>A(Gt)),D(Pe,gi)});var xt=v(Ei,2);{var ui=Pe=>{var Ee=hee();D(Pe,Ee)};H(xt,Pe=>{l(u).length===0&&Pe(ui)})}bs(ft,()=>l(g),Pe=>x(g,Pe)),D(ye,Oe)};H(Pt,ye=>{l(t)===null&&!l(i)?ye(Ye):ye(yt,-1)})}z(()=>{Z.disabled=l(n),O(de,l(n)?"Saving…":"Save"),ve.disabled=l(a),O(se,l(a)?"Reloading…":"Apply & Reload")}),j("click",fe,w),j("click",Z,M),j("click",ve,R),D(o,$),Ms()}qs(["click","change"]);var oA=F('<div class="err svelte-1by6o5t"> </div>'),xee=F('<div class="ok svelte-1by6o5t">Saved.</div>'),vee=F('<div class="reload-msg svelte-1by6o5t"> </div>'),t1=F('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),mee=F('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),_ee=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 & 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 & 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 & 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),bee=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 Cee(o,e){Ts(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(""),y=B(""),w=B(""),A=B(""),I=B(""),M=B(""),R=B(""),P=B(""),V=B(""),$=B("");const J=["file","stdout","stderr","syslog","topic","none"],re=["error","warning","notice","information","debug"],fe=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],Z=["all"];[...re,...fe,...Z];let de=B(Di(new Set)),ve=B(Di(new Set));function se(Pe,Ee){const Gt=new Set(Pe);return Gt.has(Ee)?Gt.delete(Ee):Gt.add(Ee),Gt}function ue(Pe){if(!l(t))return"";const Ee=l(t).managed[Pe];return Array.isArray(Ee)?Ee[0]:Ee??""}function Se(Pe){if(!l(t))return new Set;const Ee=l(t).managed[Pe];return Ee?new Set(Array.isArray(Ee)?Ee:[Ee]):new Set}js(()=>Ie());async function Ie(){try{x(t,await tx(),!0),x(u,l(t).checksum,!0),x(f,ue("persistence"),!0),x(g,ue("persistence_location"),!0),x(p,ue("sys_interval"),!0);const Pe=l(t).managed.include_dir;x(C,Pe?Array.isArray(Pe)?Pe.join(`
|
|
231
|
-
`):Pe:"",!0),x(b,ue("max_connections"),!0),x(y,ue("max_inflight_messages"),!0),x(w,ue("max_queued_messages"),!0),x(A,ue("max_packet_size"),!0),x(I,ue("message_size_limit"),!0),x(M,ue("max_keepalive"),!0),x(R,ue("persistent_client_expiration"),!0),x(P,ue("retain_available"),!0),x(V,ue("set_tcp_nodelay"),!0),x($,ue("connection_messages"),!0),x(de,Se("log_dest"),!0),x(ve,Se("log_type"),!0),x(i,"")}catch(Pe){x(i,Pe.message??"Failed to load config",!0)}}async function xe(){if(l(t)){x(n,!0),x(s,""),x(r,!1);try{let Ee=function(gi,Qt){Qt!==""?Pe[gi]=Qt:delete Pe[gi]};const Pe={...l(t).managed};Ee("persistence",l(f)),Ee("persistence_location",l(g)),Ee("sys_interval",l(p));const Gt=l(C).split(`
|
|
232
|
-
`).map(gi=>gi.trim()).filter(Boolean);Gt.length>0?Pe.include_dir=Gt.length===1?Gt[0]:Gt:delete Pe.include_dir,Ee("max_connections",l(b)),Ee("max_inflight_messages",l(y)),Ee("max_queued_messages",l(w)),Ee("max_packet_size",l(A)),Ee("message_size_limit",l(I)),Ee("max_keepalive",l(M)),Ee("persistent_client_expiration",l(R)),Ee("retain_available",l(P)),Ee("set_tcp_nodelay",l(V)),Ee("connection_messages",l($)),l(de).size>0?Pe.log_dest=l(de).size===1?[...l(de)][0]:[...l(de)]:delete Pe.log_dest,l(ve).size>0?Pe.log_type=l(ve).size===1?[...l(ve)][0]:[...l(ve)]:delete Pe.log_type,await TF({listeners:l(t).listeners,managed:Pe,passthrough:l(t).passthrough,checksum:l(u)}),x(r,!0),setTimeout(()=>x(r,!1),3e3),await Ie()}catch(Pe){x(s,Pe.message??"Save failed",!0)}finally{x(n,!1)}}}async function Ne(){x(a,!0),x(d,"");try{const Pe=await Nb();x(d,Pe.stderr||Pe.stdout||"Reloaded",!0)}catch(Pe){x(d,"Error: "+(Pe.message??"reload failed"))}finally{x(a,!1)}}var ze=bee(),me=m(ze),dt=v(m(me),2),Pt=m(dt),Ye=m(Pt),yt=v(Pt,2),ye=m(yt),Oe=v(me,2);{var ht=Pe=>{var Ee=oA(),Gt=m(Ee);z(()=>O(Gt,l(i))),D(Pe,Ee)};H(Oe,Pe=>{l(i)&&Pe(ht)})}var At=v(Oe,2);{var ft=Pe=>{var Ee=oA(),Gt=m(Ee);z(()=>O(Gt,l(s))),D(Pe,Ee)};H(At,Pe=>{l(s)&&Pe(ft)})}var Lt=v(At,2);{var mi=Pe=>{var Ee=xee();D(Pe,Ee)};H(Lt,Pe=>{l(r)&&Pe(mi)})}var fi=v(Lt,2);{var Ei=Pe=>{var Ee=vee(),Gt=m(Ee);z(()=>O(Gt,l(d))),D(Pe,Ee)};H(fi,Pe=>{l(d)&&Pe(Ei)})}var xt=v(fi,2);{var ui=Pe=>{var Ee=_ee(),Gt=bt(Ee),gi=v(m(Gt),2),Qt=m(gi),Ni=m(Qt),Zi=v(m(Ni),2),vi=m(Zi);vi.value=vi.__value="";var gn=v(vi);gn.value=gn.__value="true";var cn=v(gn);cn.value=cn.__value="false";var rn=v(Qt,2),mn=m(rn),Ct=v(m(mn),2),Zt=v(rn,2),Ii=m(Zt),Wi=v(m(Ii),2),Pi=v(gi,2),pn=m(Pi),Dn=v(m(pn),2);un(Dn,"rows",3);var Ui=v(Gt,2),Xe=v(m(Ui),2),ci=v(m(Xe),2);ri(ci,21,()=>J,Vi,(Ue,$e)=>{var Tt=t1(),pt=m(Tt),Qe=v(pt,3);z(wt=>{er(pt,wt),O(Qe,` ${l($e)??""}`)},[()=>l(de).has(l($e))]),j("change",pt,()=>{x(de,se(l(de),l($e)),!0)}),D(Ue,Tt)});var Oi=v(Xe,2),ii=v(m(Oi),2),zi=m(ii),Gi=v(m(zi),2);ri(Gi,17,()=>re,Vi,(Ue,$e)=>{var Tt=t1(),pt=m(Tt),Qe=v(pt,3);z(wt=>{er(pt,wt),O(Qe,` ${l($e)??""}`)},[()=>l(ve).has(l($e))]),j("change",pt,()=>{x(ve,se(l(ve),l($e)),!0)}),D(Ue,Tt)});var qi=v(zi,2),K=v(m(qi),2);ri(K,17,()=>fe,Vi,(Ue,$e)=>{var Tt=t1(),pt=m(Tt),Qe=v(pt,3);z(wt=>{er(pt,wt),O(Qe,` ${l($e)??""}`)},[()=>l(ve).has(l($e))]),j("change",pt,()=>{x(ve,se(l(ve),l($e)),!0)}),D(Ue,Tt)});var ke=v(qi,2),rt=m(ke);ri(rt,17,()=>Z,Vi,(Ue,$e)=>{var Tt=mee(),pt=m(Tt),Qe=v(pt,4),wt=m(Qe);z(Dt=>{er(pt,Dt),O(wt,l($e))},[()=>l(ve).has(l($e))]),j("change",pt,()=>{x(ve,se(l(ve),l($e)),!0)}),D(Ue,Tt)});var Ze=v(Ui,2),zt=v(m(Ze),2),ni=m(zt),mt=m(ni),et=v(m(mt),2),X=v(ni,2),Te=m(X),le=v(m(Te),2),ge=v(X,2),Jt=m(ge),ai=v(m(Jt),2),bi=v(ge,2),Ci=m(bi),Hi=v(m(Ci),2),ie=v(Ze,2),tt=v(m(ie),2),_e=m(tt),Ve=m(_e),_t=v(m(Ve),2),It=v(_e,2),Ai=m(It),ei=v(m(Ai),2),pe=v(ie,2),He=v(m(pe),2),Je=m(He),Fe=m(Je),Et=v(m(Fe),2),gt=v(Je,2),Kt=m(gt),U=v(m(Kt),2),T=m(U);T.value=T.__value="";var W=v(T);W.value=W.__value="true";var Y=v(W);Y.value=Y.__value="false";var ne=v(pe,2),ae=v(m(ne),2),oe=m(ae),we=m(oe),je=v(m(we),2),Ce=m(je);Ce.value=Ce.__value="";var Le=v(Ce);Le.value=Le.__value="true";var Me=v(Le);Me.value=Me.__value="false";var ot=v(oe,2),li=m(ot),Q=v(m(li),2),ce=m(Q);ce.value=ce.__value="";var Ge=v(ce);Ge.value=Ge.__value="true";var Mt=v(Ge);Mt.value=Mt.__value="false",Ps(Zi,()=>l(f),Ue=>x(f,Ue)),Nt(Ct,()=>l(g),Ue=>x(g,Ue)),Nt(Wi,()=>l(p),Ue=>x(p,Ue)),Nt(Dn,()=>l(C),Ue=>x(C,Ue)),Nt(et,()=>l(b),Ue=>x(b,Ue)),Nt(le,()=>l(M),Ue=>x(M,Ue)),Nt(ai,()=>l(y),Ue=>x(y,Ue)),Nt(Hi,()=>l(w),Ue=>x(w,Ue)),Nt(_t,()=>l(A),Ue=>x(A,Ue)),Nt(ei,()=>l(I),Ue=>x(I,Ue)),Nt(Et,()=>l(R),Ue=>x(R,Ue)),Ps(U,()=>l(P),Ue=>x(P,Ue)),Ps(je,()=>l(V),Ue=>x(V,Ue)),Ps(Q,()=>l($),Ue=>x($,Ue)),D(Pe,Ee)};H(xt,Pe=>{l(t)&&Pe(ui)})}z(()=>{Pt.disabled=l(n),O(Ye,l(n)?"Saving…":"Save"),yt.disabled=l(a),O(ye,l(a)?"Reloading…":"Apply & Reload")}),j("click",Pt,xe),j("click",yt,Ne),D(o,ze),Ms()}qs(["click","change"]);var ol=F('<div class="err svelte-9auejo"> </div>'),Eee=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>'),yee=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>'),wee=F('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),See=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>'),Dee=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>'),Aee=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>'),rA=F('<button class="btn-primary svelte-9auejo"> </button>'),kee=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>'),Bee=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),Fee=F('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),Lee=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),Iee=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>'),Pee=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),Tee=F('<span class="file-name mono small svelte-9auejo"> </span>'),Mee=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),Ree=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>'),i1=F("<option></option>"),Nee=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>'),Oee=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),Hee=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),Wee=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>'),zee=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 Vee(o,e){Ts(e,!0);let t=B(null),i=B(Di([])),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(""),y=B(""),w=B(!1),A=B(""),I=B(""),M=B(""),R=B(!1),P=B(""),V=B(!1),$=B(!1),J=B("pem"),re=B(""),fe=B(""),Z=B(""),de=B(""),ve=B(""),se=B(!1),ue=B(!1),Se=B(""),Ie=B(!1),xe=B(""),Ne=B(""),ze=B(!1),me=B(""),dt=B(Di([])),Pt=B(Di([])),Ye=B(!1),yt=B("pem"),ye=B(""),Oe=B(!1),ht=B(""),At=B(""),ft=B(Di([])),Lt=B(!1),mi=B("");async function fi(){try{const[_e,Ve]=await Promise.allSettled([QU(),tq()]);_e.status==="fulfilled"&&x(t,_e.value.server,!0),Ve.status==="fulfilled"&&x(i,Ve.value.certs,!0),x(n,"")}catch(_e){x(n,_e.message,!0)}}js(()=>{fi()});async function Ei(){x(g,""),x(f,!0),x(p,null);try{const _e=l(d).split(",").map(_t=>_t.trim()).filter(Boolean),Ve=await JU({cn:l(a),san:_e,days:l(u)});x(p,{fingerprint:Ve.fingerprint,expires:Ve.expires},!0),await fi()}catch(_e){x(g,_e.message,!0)}finally{x(f,!1)}}async function xt(){x(A,""),x(w,!0),x(I,"");try{const _e=l(y).split(",").map(_t=>_t.trim()).filter(Boolean),Ve=await eq({cn:l(b),san:_e});x(I,Ve.csrPem,!0)}catch(_e){x(A,_e.message,!0)}finally{x(w,!1)}}async function ui(){x(P,""),x(R,!0),x(V,!1);try{if(!l(M).trim())throw new Error("Paste the signed certificate PEM");await YC({cert:l(M)}),x(V,!0),await fi()}catch(_e){x(P,_e.message,!0)}finally{x(R,!1)}}function Pe(){navigator.clipboard.writeText(l(I)).catch(()=>{})}function Ee(_e){var It;const Ve=(It=_e.target.files)==null?void 0:It[0];if(!Ve)return;x(de,Ve.name,!0);const _t=new FileReader;_t.onload=()=>{const Ai=_t.result;x(Z,btoa(String.fromCharCode(...new Uint8Array(Ai))),!0)},_t.readAsArrayBuffer(Ve)}async function Gt(){x(Se,""),x(ue,!0);try{if(l(J)==="p12"){if(!l(Z))throw new Error("Select a .p12 / .pfx file");await YC({p12base64:l(Z),passphrase:l(ve)})}else{if(!l(re).trim())throw new Error("Certificate PEM is required");await YC({cert:l(re),key:l(fe)||void 0})}x($,!1),await fi()}catch(_e){x(Se,_e.message,!0)}finally{x(ue,!1)}}function gi(_e){let Ve;return _t=>{const It=_t.target.value;clearTimeout(Ve),Ve=setTimeout(async()=>{if(!It.startsWith("/")||It.length<2){_e([]);return}try{_e((await sq(It)).suggestions)}catch{_e([])}},280)}}const Qt=gi(_e=>{x(dt,_e,!0)}),Ni=gi(_e=>{x(Pt,_e,!0)}),Zi=gi(_e=>{x(ft,_e,!0)});async function vi(){x(me,""),x(ze,!0);try{await oq({certPath:l(xe),keyPath:l(Ne)}),x(Ie,!1),await fi()}catch(_e){x(me,_e.message,!0)}finally{x(ze,!1)}}async function gn(){x(ht,""),x(Oe,!0);try{await iq(l(ye)),x(ye,""),x(Ye,!1),await fi()}catch(_e){x(ht,_e.message,!0)}finally{x(Oe,!1)}}async function cn(){x(mi,""),x(Lt,!0);try{await rq(l(At)),x(At,""),x(Ye,!1),await fi()}catch(_e){x(mi,_e.message,!0)}finally{x(Lt,!1)}}async function rn(_e){if(confirm("Remove this trusted CA cert?"))try{await nq(_e),await fi()}catch(Ve){x(s,Ve.message,!0)}}function mn(_e){const Ve=new Date(_e).getTime()-Date.now();return Ve<0?"expired":Ve<30*864e5?"expiring":""}function Ct(_e){return new Date(_e).toLocaleDateString()}var Zt=zee(),Ii=bt(Zt),Wi=m(Ii),Pi=m(Wi),pn=v(Wi,2);{var Dn=_e=>{var Ve=ol(),_t=m(Ve);z(()=>O(_t,l(n))),D(_e,Ve)};H(pn,_e=>{l(n)&&_e(Dn)})}var Ui=v(pn,2);{var Xe=_e=>{var Ve=ol(),_t=m(Ve);z(()=>O(_t,l(s))),D(_e,Ve)};H(Ui,_e=>{l(s)&&_e(Xe)})}var ci=v(Ui,2),Oi=m(ci),ii=v(m(Oi),2),zi=v(ii,2),Gi=v(zi,2),qi=v(Gi,2),K=v(Oi,2);{var ke=_e=>{var Ve=Eee(),_t=m(Ve),It=v(m(_t)),Ai=m(It),ei=v(It,3),pe=m(ei),He=v(ei,3),Je=m(He);z((Fe,Et)=>{O(Ai,l(t).cn),O(pe,l(t).fingerprint),Bt(He,1,Fe,"svelte-9auejo"),O(Je,Et)},[()=>hg(mn(l(t).expires)),()=>Ct(l(t).expires)]),D(_e,Ve)},rt=_e=>{var Ve=yee();D(_e,Ve)};H(K,_e=>{l(t)?_e(ke):_e(rt,-1)})}var Ze=v(ci,2),zt=m(Ze),ni=v(m(zt),2),mt=v(zt,2);{var et=_e=>{var Ve=wee();D(_e,Ve)},X=_e=>{var Ve=Dee(),_t=v(m(Ve));ri(_t,21,()=>l(i),Vi,(It,Ai)=>{var ei=See(),pe=m(ei),He=m(pe),Je=v(pe),Fe=m(Je),Et=v(Je),gt=m(Et),Kt=v(Et),U=m(Kt);z((T,W,Y)=>{O(He,l(Ai).cn),O(Fe,`${T??""}…`),Bt(Et,1,W,"svelte-9auejo"),O(gt,Y)},[()=>l(Ai).fingerprint.slice(0,29),()=>hg(mn(l(Ai).expires)),()=>Ct(l(Ai).expires)]),j("click",U,()=>rn(l(Ai).fingerprint)),D(It,ei)}),D(_e,Ve)};H(mt,_e=>{l(i).length===0?_e(et):_e(X,-1)})}var Te=v(Ii,2);{var le=_e=>{var Ve=kee(),_t=m(Ve),It=v(m(_t),2),Ai=v(m(It)),ei=v(It,2),pe=v(m(ei)),He=v(ei,2),Je=v(m(He)),Fe=v(He,2);{var Et=ne=>{var ae=ol(),oe=m(ae);z(()=>O(oe,l(g))),D(ne,ae)};H(Fe,ne=>{l(g)&&ne(Et)})}var gt=v(Fe,2);{var Kt=ne=>{var ae=Aee(),oe=v(m(ae),2),we=v(m(oe)),je=m(we),Ce=v(we,2),Le=m(Ce);z(Me=>{O(je,l(p).fingerprint),O(Le,Me)},[()=>Ct(l(p).expires)]),D(ne,ae)};H(gt,ne=>{l(p)&&ne(Kt)})}var U=v(gt,2),T=m(U),W=v(T,2);{var Y=ne=>{var ae=rA(),oe=m(ae);z(()=>{ae.disabled=l(f),O(oe,l(f)?"Generating…":"Generate")}),j("click",ae,Ei),D(ne,ae)};H(W,ne=>{l(p)||ne(Y)})}Nt(Ai,()=>l(a),ne=>x(a,ne)),Nt(pe,()=>l(d),ne=>x(d,ne)),Nt(Je,()=>l(u),ne=>x(u,ne)),j("click",T,()=>x(r,!1)),D(_e,Ve)};H(Te,_e=>{l(r)&&_e(le)})}var ge=v(Te,2);{var Jt=_e=>{var Ve=Iee(),_t=m(Ve),It=v(m(_t),2);{var Ai=pe=>{var He=Bee(),Je=bt(He),Fe=v(m(Je)),Et=v(Je,2),gt=v(m(Et)),Kt=v(Et,4);{var U=ae=>{var oe=ol(),we=m(oe);z(()=>O(we,l(A))),D(ae,oe)};H(Kt,ae=>{l(A)&&ae(U)})}var T=v(Kt,2),W=m(T),Y=v(W,2),ne=m(Y);z(()=>{Y.disabled=l(w),O(ne,l(w)?"Generating…":"Generate key + CSR")}),Nt(Fe,()=>l(b),ae=>x(b,ae)),Nt(gt,()=>l(y),ae=>x(y,ae)),j("click",W,()=>x(C,!1)),j("click",Y,xt),D(pe,He)},ei=pe=>{var He=Lee(),Je=v(bt(He),2),Fe=v(m(Je)),Et=v(Je,2),gt=m(Et),Kt=v(gt,2),U=v(Et,4),T=v(m(U)),W=v(U,2);{var Y=Le=>{var Me=ol(),ot=m(Me);z(()=>O(ot,l(P))),D(Le,Me)};H(W,Le=>{l(P)&&Le(Y)})}var ne=v(W,2);{var ae=Le=>{var Me=Fee();D(Le,Me)};H(ne,Le=>{l(V)&&Le(ae)})}var oe=v(ne,2),we=m(oe),je=v(we,2);{var Ce=Le=>{var Me=rA(),ot=m(Me);z(li=>{Me.disabled=li,O(ot,l(R)?"Uploading…":"Upload signed cert")},[()=>l(R)||!l(M).trim()]),j("click",Me,ui),D(Le,Me)};H(je,Le=>{l(V)||Le(Ce)})}z(Le=>{T1(Fe,l(I)),un(Kt,"href",`data:application/pkcs10;charset=utf-8,${Le??""}`)},[()=>encodeURIComponent(l(I))]),j("click",gt,Pe),Nt(T,()=>l(M),Le=>x(M,Le)),j("click",we,()=>x(C,!1)),D(pe,He)};H(It,pe=>{l(I)?pe(ei,-1):pe(Ai)})}D(_e,Ve)};H(ge,_e=>{l(C)&&_e(Jt)})}var ai=v(ge,2);{var bi=_e=>{var Ve=Ree(),_t=m(Ve),It=v(m(_t),2),Ai=m(It);let ei;var pe=v(Ai,2);let He;var Je=v(It,2);{var Fe=ne=>{var ae=Pee(),oe=bt(ae),we=v(m(oe)),je=v(oe,2),Ce=v(m(je));Nt(we,()=>l(re),Le=>x(re,Le)),Nt(Ce,()=>l(fe),Le=>x(fe,Le)),D(ne,ae)},Et=ne=>{var ae=Mee(),oe=bt(ae),we=v(m(oe)),je=m(we),Ce=v(je,2);{var Le=Ge=>{var Mt=Tee(),Ue=m(Mt);z(()=>O(Ue,l(de))),D(Ge,Mt)};H(Ce,Ge=>{l(de)&&Ge(Le)})}var Me=v(oe,2),ot=v(m(Me)),li=m(ot),Q=v(li,2),ce=m(Q);z(()=>{un(li,"type",l(se)?"text":"password"),O(ce,l(se)?"Hide":"Show")}),j("change",je,Ee),Nt(li,()=>l(ve),Ge=>x(ve,Ge)),j("click",Q,()=>x(se,!l(se))),D(ne,ae)};H(Je,ne=>{l(J)==="pem"?ne(Fe):ne(Et,-1)})}var gt=v(Je,2);{var Kt=ne=>{var ae=ol(),oe=m(ae);z(()=>O(oe,l(Se))),D(ne,ae)};H(gt,ne=>{l(Se)&&ne(Kt)})}var U=v(gt,2),T=m(U),W=v(T,2),Y=m(W);z(()=>{ei=Bt(Ai,1,"svelte-9auejo",null,ei,{active:l(J)==="pem"}),He=Bt(pe,1,"svelte-9auejo",null,He,{active:l(J)==="p12"}),W.disabled=l(ue),O(Y,l(ue)?"Importing…":"Import")}),j("click",Ai,()=>x(J,"pem")),j("click",pe,()=>x(J,"p12")),j("click",T,()=>x($,!1)),j("click",W,Gt),D(_e,Ve)};H(ai,_e=>{l($)&&_e(bi)})}var Ci=v(ai,2);{var Hi=_e=>{var Ve=Nee(),_t=m(Ve),It=v(m(_t),4),Ai=v(m(It)),ei=v(Ai,2);ri(ei,21,()=>l(dt),Vi,(W,Y)=>{var ne=i1(),ae={};z(()=>{ae!==(ae=l(Y))&&(ne.value=(ne.__value=l(Y))??"")}),D(W,ne)});var pe=v(It,2),He=v(m(pe)),Je=v(He,2);ri(Je,21,()=>l(Pt),Vi,(W,Y)=>{var ne=i1(),ae={};z(()=>{ae!==(ae=l(Y))&&(ne.value=(ne.__value=l(Y))??"")}),D(W,ne)});var Fe=v(pe,2);{var Et=W=>{var Y=ol(),ne=m(Y);z(()=>O(ne,l(me))),D(W,Y)};H(Fe,W=>{l(me)&&W(Et)})}var gt=v(Fe,2),Kt=m(gt),U=v(Kt,2),T=m(U);z(W=>{U.disabled=W,O(T,l(ze)?"Installing…":"Install")},[()=>l(ze)||!l(xe).trim()||!l(Ne).trim()]),j("input",Ai,Qt),Nt(Ai,()=>l(xe),W=>x(xe,W)),j("input",He,Ni),Nt(He,()=>l(Ne),W=>x(Ne,W)),j("click",Kt,()=>x(Ie,!1)),j("click",U,vi),D(_e,Ve)};H(Ci,_e=>{l(Ie)&&_e(Hi)})}var ie=v(Ci,2);{var tt=_e=>{var Ve=Wee(),_t=m(Ve),It=v(m(_t),2),Ai=m(It);let ei;var pe=v(Ai,2);let He;var Je=v(It,2);{var Fe=gt=>{var Kt=Oee(),U=bt(Kt),T=v(m(U)),W=v(U,2);{var Y=je=>{var Ce=ol(),Le=m(Ce);z(()=>O(Le,l(ht))),D(je,Ce)};H(W,je=>{l(ht)&&je(Y)})}var ne=v(W,2),ae=m(ne),oe=v(ae,2),we=m(oe);z(je=>{oe.disabled=je,O(we,l(Oe)?"Adding…":"Add CA cert")},[()=>l(Oe)||!l(ye).trim()]),Nt(T,()=>l(ye),je=>x(ye,je)),j("click",ae,()=>x(Ye,!1)),j("click",oe,gn),D(gt,Kt)},Et=gt=>{var Kt=Hee(),U=v(bt(Kt),2),T=v(m(U)),W=v(T,2);ri(W,21,()=>l(ft),Vi,(Ce,Le)=>{var Me=i1(),ot={};z(()=>{ot!==(ot=l(Le))&&(Me.value=(Me.__value=l(Le))??"")}),D(Ce,Me)});var Y=v(U,2);{var ne=Ce=>{var Le=ol(),Me=m(Le);z(()=>O(Me,l(mi))),D(Ce,Le)};H(Y,Ce=>{l(mi)&&Ce(ne)})}var ae=v(Y,2),oe=m(ae),we=v(oe,2),je=m(we);z(Ce=>{we.disabled=Ce,O(je,l(Lt)?"Adding…":"Add CA cert")},[()=>l(Lt)||!l(At).trim()]),j("input",T,Zi),Nt(T,()=>l(At),Ce=>x(At,Ce)),j("click",oe,()=>x(Ye,!1)),j("click",we,cn),D(gt,Kt)};H(Je,gt=>{l(yt)==="pem"?gt(Fe):gt(Et,-1)})}z(()=>{ei=Bt(Ai,1,"svelte-9auejo",null,ei,{active:l(yt)==="pem"}),He=Bt(pe,1,"svelte-9auejo",null,He,{active:l(yt)==="path"})}),j("click",Ai,()=>x(yt,"pem")),j("click",pe,()=>x(yt,"path")),D(_e,Ve)};H(ie,_e=>{l(Ye)&&_e(tt)})}j("click",Pi,fi),j("click",ii,()=>{x(r,!0),x(g,""),x(p,null)}),j("click",zi,()=>{x(C,!0),x(A,""),x(I,""),x(M,""),x(V,!1),x(P,"")}),j("click",Gi,()=>{x($,!0),x(Se,""),x(J,"pem"),x(re,""),x(fe,""),x(Z,""),x(de,""),x(ve,""),x(se,!1)}),j("click",qi,()=>{x(Ie,!0),x(me,""),x(xe,""),x(Ne,""),x(dt,[],!0),x(Pt,[],!0)}),j("click",ni,()=>{x(Ye,!0),x(ht,""),x(ye,""),x(yt,"pem"),x(mi,""),x(At,""),x(ft,[],!0)}),D(o,Zt),Ms()}qs(["click","change","input"]);var Kx=F('<div class="err svelte-17yczfe"> </div>'),jee=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>'),$ee=F('<div class="checking svelte-17yczfe">Checking…</div>'),Uee=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>'),qee=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>'),Gee=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),Kee=F('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Zee=F("<span> </span>"),Xee=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),Yee=F('<div class="ok svelte-17yczfe">Saved.</div>'),Qee=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 Jee(o,e){Ts(e,!0);let t=B(Di({})),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(""),y=B(!1),w=B(""),A=B(Di({}));js(async()=>{try{const[ft,Lt,mi]=await Promise.all([Ml(),Rb(),fetch("/she/broker/ssh/pubkey").then(Ei=>Ei.json()).catch(()=>({publicKey:null}))]);x(A,ft,!0),Lt.sshKeyDefault&&x(a,Lt.sshKeyDefault,!0);const fi=l(A).broker??{};x(t,fi.ssh??{},!0),l(t).port||(l(t).port=22),l(t).identityFile||(l(t).identityFile=l(a)),mi.publicKey&&x(p,mi.publicKey,!0),x(d,l(t).host?"ssh":"local",!0),l(d)==="local"&&I()}catch(ft){x(i,ft.message,!0)}});async function I(){x(f,!0),x(g,"");try{x(u,await mU(),!0)}catch(ft){x(g,ft.message??"Check failed",!0)}finally{x(f,!1)}}async function M(){x(n,!0),x(r,""),x(s,!1);try{const ft=l(A).broker??{},Lt=l(d)==="local"?{...l(t),host:""}:l(t),mi={...l(A),broker:{...ft,ssh:Lt}};await xp(mi),x(s,!0),setTimeout(()=>x(s,!1),3e3)}catch(ft){x(r,ft.message,!0)}finally{x(n,!1)}}async function R(){x(C,!0),x(b,"");try{const ft=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Lt=await ft.json();if(!ft.ok)throw new Error(Lt.error??ft.statusText);x(p,Lt.publicKey,!0)}catch(ft){x(b,ft.message,!0)}finally{x(C,!1)}}async function P(){x(y,!0),x(w,"");try{const ft=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Lt=await ft.json();if(!ft.ok)throw new Error(Lt.error??ft.statusText);x(w,Lt.ok?"✓ Connection successful":"✗ "+(Lt.error??"Failed"),!0)}catch(ft){x(w,"✗ "+ft.message)}finally{x(y,!1)}}function V(ft){navigator.clipboard.writeText(ft).catch(()=>{})}const $=Ot(()=>l(t).identityFile&&l(t).user&&l(t).host?`ssh-copy-id -i ${l(t).identityFile}.pub ${l(t).user}@${l(t).host}`:"");var J=Qee(),re=m(J);{var fe=ft=>{var Lt=Kx(),mi=m(Lt);z(()=>O(mi,l(i))),D(ft,Lt)};H(re,ft=>{l(i)&&ft(fe)})}var Z=v(re,2),de=v(m(Z),2),ve=m(de);let se;var ue=v(ve,2);let Se;var Ie=v(de,2),xe=m(Ie),Ne=v(Z,2);{var ze=ft=>{var Lt=Uee(),mi=v(m(Lt),4);{var fi=gi=>{var Qt=Kx(),Ni=m(Qt);z(()=>O(Ni,l(g))),D(gi,Qt)};H(mi,gi=>{l(g)&&gi(fi)})}var Ei=v(mi,2);{var xt=gi=>{var Qt=jee(),Ni=m(Qt),Zi=m(Ni);let vi;var gn=m(Zi),cn=v(Zi,4);let rn;var mn=m(cn),Ct=v(Ni,2),Zt=m(Ct);let Ii;var Wi=m(Zt),Pi=v(Zt,4);let pn;var Dn=m(Pi);z(()=>{vi=Bt(Zi,1,"check-icon svelte-17yczfe",null,vi,{ok:l(u).mosquittoCtrl,fail:!l(u).mosquittoCtrl}),O(gn,l(u).mosquittoCtrl?"✓":"✗"),rn=Bt(cn,1,"check-note svelte-17yczfe",null,rn,{ok:l(u).mosquittoCtrl,fail:!l(u).mosquittoCtrl}),O(mn,l(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Ii=Bt(Zt,1,"check-icon svelte-17yczfe",null,Ii,{ok:l(u).mosquitto,fail:!l(u).mosquitto}),O(Wi,l(u).mosquitto?"✓":"✗"),pn=Bt(Pi,1,"check-note svelte-17yczfe",null,pn,{ok:l(u).mosquitto,fail:!l(u).mosquitto}),O(Dn,l(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(gi,Qt)},ui=gi=>{var Qt=$ee();D(gi,Qt)};H(Ei,gi=>{l(u)?gi(xt):l(f)&&gi(ui,1)})}var Pe=v(Ei,2),Ee=m(Pe),Gt=m(Ee);z(()=>{Ee.disabled=l(f),O(Gt,l(f)?"Checking…":l(u)?"Re-check":"Check tools")}),j("click",Ee,I),D(ft,Lt)};H(Ne,ft=>{l(d)==="local"&&ft(ze)})}var me=v(Ne,2);{var dt=ft=>{var Lt=Xee(),mi=bt(Lt),fi=v(m(mi),4),Ei=m(fi),xt=v(m(Ei)),ui=v(Ei,2),Pe=v(m(ui)),Ee=v(ui,2),Gt=v(m(Ee)),gi=v(Ee,2),Qt=v(m(gi)),Ni=v(mi,2),Zi=v(m(Ni),2),vi=v(m(Zi)),gn=m(vi),cn=v(Zi,2);{var rn=Xe=>{var ci=Gee(),Oi=bt(ci),ii=v(m(Oi)),zi=m(ii),Gi=v(zi,2),qi=v(Oi,2);{var K=zt=>{var ni=qee(),mt=v(m(ni)),et=m(mt),X=v(et,2);z(()=>T1(et,l($))),j("click",X,()=>V(l($))),D(zt,ni)};H(qi,zt=>{l($)&&zt(K)})}var ke=v(qi,2),rt=m(ke),Ze=m(rt);z(()=>{T1(zi,l(p)),rt.disabled=l(C),O(Ze,l(C)?"Generating…":"Regenerate keypair")}),j("click",Gi,()=>V(l(p))),j("click",rt,R),D(Xe,ci)},mn=Xe=>{var ci=Kee(),Oi=m(ci),ii=m(Oi);z(()=>{Oi.disabled=l(C),O(ii,l(C)?"Generating…":"Generate keypair")}),j("click",Oi,R),D(Xe,ci)};H(cn,Xe=>{l(p)?Xe(rn):Xe(mn,-1)})}var Ct=v(cn,2);{var Zt=Xe=>{var ci=Kx(),Oi=m(ci);z(()=>O(Oi,l(b))),D(Xe,ci)};H(Ct,Xe=>{l(b)&&Xe(Zt)})}var Ii=v(Ni,2),Wi=v(m(Ii),2),Pi=m(Wi),pn=m(Pi),Dn=v(Pi,2);{var Ui=Xe=>{var ci=Zee();let Oi;var ii=m(ci);z(zi=>{Oi=Bt(ci,1,"test-result svelte-17yczfe",null,Oi,zi),O(ii,l(w))},[()=>({ok:l(w).startsWith("✓"),fail:l(w).startsWith("✗")})]),D(Xe,ci)};H(Dn,Xe=>{l(w)&&Xe(Ui)})}z(()=>{un(Qt,"placeholder",l(a)),O(gn,l(t).identityFile||l(a)),Pi.disabled=l(y)||!l(t).host,O(pn,l(y)?"Testing…":"Test SSH connection")}),Nt(xt,()=>l(t).host,Xe=>l(t).host=Xe),Nt(Pe,()=>l(t).port,Xe=>l(t).port=Xe),Nt(Gt,()=>l(t).user,Xe=>l(t).user=Xe),Nt(Qt,()=>l(t).identityFile,Xe=>l(t).identityFile=Xe),j("click",Pi,P),D(ft,Lt)};H(me,ft=>{l(d)==="ssh"&&ft(dt)})}var Pt=v(me,2);{var Ye=ft=>{var Lt=Kx(),mi=m(Lt);z(()=>O(mi,l(r))),D(ft,Lt)};H(Pt,ft=>{l(r)&&ft(Ye)})}var yt=v(Pt,2);{var ye=ft=>{var Lt=Yee();D(ft,Lt)};H(yt,ft=>{l(s)&&ft(ye)})}var Oe=v(yt,2),ht=m(Oe),At=m(ht);z(()=>{se=Bt(ve,1,"svelte-17yczfe",null,se,{active:l(d)==="local"}),Se=Bt(ue,1,"svelte-17yczfe",null,Se,{active:l(d)==="ssh"}),O(xe,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"),ht.disabled=l(n),O(At,l(n)?"Saving…":"Save")}),j("click",ve,()=>{x(d,"local"),l(u)||I()}),j("click",ue,()=>x(d,"ssh")),j("click",ht,M),D(o,J),Ms()}qs(["click"]);var ete=F("<button> </button>"),tte=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 & Reload</em>.</span>',1),ite=F('<code>log_dest topic</code> is configured — waiting for messages…<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),nte=F('Waiting for log messages…<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),ste=F('<div class="empty svelte-1yc29ow"><!></div>'),ote=F('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),rte=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 ate(o,e){Ts(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(Di([])),r=B(!0),a=B(Di(new Set(["D","I","N","W","E"]))),d=B(void 0),u=B(!1),f=B(null),g=null;js(async()=>{const Z=await bU().catch(()=>[]),de=cq(),ve=new Set,se=[...Z,...de].filter(ue=>n.has(ue.level)).map(ue=>({ts:ue.ts,level:ue.level,msg:ue.msg}));se.sort((ue,Se)=>ue.ts-Se.ts),x(s,se.filter(ue=>{const Se=`${ue.ts}\0${ue.msg}`;return ve.has(Se)?!1:(ve.add(Se),!0)}).slice(-500),!0),l(s).length>0&&(x(u,!0),gl().then(p)),g=tr("brokerLog",ue=>{n.has(ue.level)&&(x(u,!0),x(s,[...l(s).slice(-499),{ts:ue.ts,level:ue.level,msg:ue.msg}],!0),l(r)&&gl().then(p))}),tx().then(ue=>{const Se=ue.managed.log_dest,Ie=Array.isArray(Se)?Se:Se?[Se]:[];x(f,Ie.includes("topic"),!0)}).catch(()=>{x(f,null)})}),jp(()=>{g==null||g()});function p(){l(d)&&(l(d).scrollTop=l(d).scrollHeight)}function C(Z){const de=new Set(l(a));de.has(Z)?de.delete(Z):de.add(Z),x(a,de,!0)}function b(){x(s,[],!0),x(u,!1)}let y=Ot(()=>l(s).filter(Z=>l(a).has(Z.level)));function w(Z){const de=new Date(Z);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=rte(),I=m(A),M=m(I);ri(M,20,()=>["D","I","N","W","E"],Vi,(Z,de)=>{var ve=ete();let se;var ue=m(ve);z(Se=>{se=Bt(ve,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",se,Se),un(ve,"title",`Toggle ${de??""} messages`),O(ue,t[de])},[()=>({active:l(a).has(de)})]),j("click",ve,()=>C(de)),D(Z,ve)});var R=v(M,4),P=m(R),V=v(R,2),$=v(I,2),J=m($);{var re=Z=>{var de=ste(),ve=m(de);{var se=Se=>{var Ie=As(),xe=bt(Ie);{var Ne=dt=>{var Pt=tte();D(dt,Pt)},ze=dt=>{var Pt=ite();D(dt,Pt)},me=dt=>{var Pt=nte();D(dt,Pt)};H(xe,dt=>{l(f)===!1?dt(Ne):l(f)===!0?dt(ze,1):dt(me,-1)})}D(Se,Ie)},ue=Se=>{var Ie=ro("No messages match the current filter.");D(Se,Ie)};H(ve,Se=>{l(u)?Se(ue,-1):Se(se)})}D(Z,de)},fe=Z=>{var de=As(),ve=bt(de);ri(ve,17,()=>l(y),se=>se.ts+se.msg,(se,ue)=>{var Se=ote(),Ie=m(Se),xe=m(Ie),Ne=v(Ie,2),ze=m(Ne),me=v(Ne,2),dt=m(me);z(Pt=>{O(xe,Pt),Bt(Ne,1,`badge ${i[l(ue).level]??""}`,"svelte-1yc29ow"),O(ze,t[l(ue).level]),O(dt,l(ue).msg)},[()=>w(l(ue).ts)]),D(se,Se)}),D(Z,de)};H(J,Z=>{l(y).length===0?Z(re):Z(fe,-1)})}hs($,Z=>x(d,Z),()=>l(d)),bs(P,()=>l(r),Z=>x(r,Z)),j("click",V,b),D(o,A),Ms()}qs(["click"]);var lte=F('<div class="err svelte-d31be1"> </div>'),cte=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>'),dte=F('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),ute=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>'),hte=F('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),fte=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>`),gte=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>'),pte=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>'),xte=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 vte(o,e){Ts(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(se){x(i,se.message,!0)}finally{x(n,!1)}}async function y(){x(n,!0),x(i,"");try{const se=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)})}),ue=await se.json();if(!se.ok||!ue.ok)throw new Error(ue.error??"Bootstrap failed");x(d,ue,!0);const Se=await Ml(),Ie=Se.broker??{};await xp({...Se,broker:{...Ie,dynsec:{adminUsername:ue.adminUsername,adminPassword:ue.adminPassword}}}),await DU().catch(()=>{}),x(t,"restart")}catch(se){x(i,se.message,!0)}finally{x(n,!1)}}async function w(){x(f,!0),x(i,"");try{await wU(),await new Promise(se=>setTimeout(se,2e3)),x(u,!0),x(t,"done")}catch(se){x(i,se.message,!0)}finally{x(f,!1)}}async function A(){x(C,!0),x(i,"");try{const se=await Ml(),ue=se.broker??{};await xp({...se,broker:{...ue,dynsec:{adminUsername:l(g),adminPassword:l(p)}}}),x(t,"done")}catch(se){x(i,se.message,!0)}finally{x(C,!1)}}var I=xte(),M=m(I),R=v(m(M),2),P=v(M,2);{var V=se=>{var ue=lte(),Se=m(ue);z(()=>O(Se,l(i))),D(se,ue)};H(P,se=>{l(i)&&se(V)})}var $=v(P,2);{var J=se=>{var ue=cte(),Se=v(m(ue),6),Ie=m(Se);z(()=>Ie.disabled=l(n)),j("click",Ie,()=>{x(t,"probe"),b()}),D(se,ue)},re=se=>{var ue=dte(),Se=m(ue),Ie=m(Se);z(()=>O(Ie,l(n)?"Probing dynsec…":"Checking dynsec status…")),D(se,ue)},fe=se=>{var ue=ute(),Se=v(m(ue),2),Ie=v(m(Se)),xe=v(Se,2),Ne=v(m(xe)),ze=v(xe,2),me=v(m(ze)),dt=v(ze,2),Pt=m(dt),Ye=m(Pt);z(()=>{Pt.disabled=l(n)||!l(s),O(Ye,l(n)?"Bootstrapping…":"Bootstrap dynsec")}),Nt(Ie,()=>l(s),yt=>x(s,yt)),Nt(Ne,()=>l(r),yt=>x(r,yt)),Nt(me,()=>l(a),yt=>x(a,yt)),j("click",Pt,y),D(se,ue)},Z=se=>{var ue=fte(),Se=v(m(ue),2),Ie=v(m(Se),3),xe=m(Ie),Ne=v(Se,4),ze=m(Ne),me=m(ze),dt=v(ze,2),Pt=v(Ne,2);{var Ye=yt=>{var ye=hte();D(yt,ye)};H(Pt,yt=>{l(f)&&yt(Ye)})}z(()=>{O(xe,l(d).confFilePath),ze.disabled=l(f),O(me,l(f)?"Restarting…":"Restart mosquitto now")}),j("click",ze,w),j("click",dt,()=>{x(t,"done")}),D(se,ue)},de=se=>{var ue=gte(),Se=v(m(ue),4),Ie=m(Se);j("click",Ie,function(...xe){var Ne;(Ne=e.onDone)==null||Ne.apply(this,xe)}),D(se,ue)},ve=se=>{var ue=pte(),Se=v(m(ue),2),Ie=v(m(Se)),xe=v(Se,2),Ne=v(m(xe)),ze=v(xe,2),me=m(ze),dt=v(me,2),Pt=m(dt);z(()=>{dt.disabled=l(C)||!l(g)||!l(p),O(Pt,l(C)?"Saving…":"Save credentials")}),Nt(Ie,()=>l(g),Ye=>x(g,Ye)),Nt(Ne,()=>l(p),Ye=>x(p,Ye)),j("click",me,()=>x(t,"intro")),j("click",dt,A),D(se,ue)};H($,se=>{l(t)==="intro"?se(J):l(t)==="probe"?se(re,1):l(t)==="config"?se(fe,2):l(t)==="restart"&&l(d)?se(Z,3):l(t)==="done"?se(de,4):l(t)==="manual"&&se(ve,5)})}j("click",R,()=>x(t,"manual")),D(o,I),Ms()}qs(["click"]);var aA=F('<div class="err svelte-bwar3a"> </div>'),mte=F('<div class="ok svelte-bwar3a">Saved.</div>'),_te=F('<div class="reload-msg svelte-bwar3a"> </div>'),bte=F('<div class="loading svelte-bwar3a">Loading…</div>'),Cte=F('<li class="svelte-bwar3a"><span class="backup-name svelte-bwar3a"> </span> <button class="btn-restore svelte-bwar3a"> </button></li>'),Ete=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>'),yte=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 wte(o,e){Ts(e,!0);let t=B(""),i=B(null),n=B(Di([])),s=B(!0),r=B(""),a=B(!1),d=B(""),u=B(!1),f=B(!1),g=B(""),p=B(""),C;js(()=>{b()});async function b(){x(s,!0),x(r,"");try{const Oe=await tx();x(t,Oe.raw??"",!0),x(i,Oe.checksum,!0),x(n,Oe.backups??[],!0)}catch(Oe){x(r,Oe.message??"Failed to load config",!0)}finally{x(s,!1)}}async function y(){var Oe;x(a,!0),x(d,""),x(u,!1);try{await CU(l(t),l(i)),x(u,!0),await b(),x(u,!0)}catch(ht){(Oe=ht.message)!=null&&Oe.includes("external_modify")||ht.status===409?x(d,"mosquitto.conf was modified externally since last read. Reload first."):x(d,ht.message??"Save failed",!0)}finally{x(a,!1)}}async function w(){x(f,!0),x(g,"");try{const Oe=await Nb();x(g,Oe.stderr||Oe.stdout||"Reloaded",!0)}catch(Oe){x(g,"Error: "+(Oe.message??"reload failed"))}finally{x(f,!1)}}async function A(Oe){if(await C.show(`Restore backup "${Oe}"? Current mosquitto.conf will be overwritten.`,{confirm:"Restore",danger:!0})){x(p,Oe,!0),x(d,"");try{await yU(Oe),await b()}catch(ht){x(d,ht.message??"Restore failed",!0)}finally{x(p,"")}}}async function I(){try{const Oe=await EU();x(n,Oe.backups,!0)}catch{}}function M(Oe){const ht=Oe.match(/\.bak-(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})/);return ht?`${ht[1]}-${ht[2]}-${ht[3]} ${ht[4]}:${ht[5]}:${ht[6]}`:Oe}var R=yte(),P=bt(R),V=m(P),$=v(m(V),2),J=m($),re=m(J),fe=v(J,2),Z=m(fe),de=v(V,2);{var ve=Oe=>{var ht=aA(),At=m(ht);z(()=>O(At,l(r))),D(Oe,ht)};H(de,Oe=>{l(r)&&Oe(ve)})}var se=v(de,2);{var ue=Oe=>{var ht=aA(),At=m(ht);z(()=>O(At,l(d))),D(Oe,ht)};H(se,Oe=>{l(d)&&Oe(ue)})}var Se=v(se,2);{var Ie=Oe=>{var ht=mte();D(Oe,ht)};H(Se,Oe=>{l(u)&&Oe(Ie)})}var xe=v(Se,2);{var Ne=Oe=>{var ht=_te(),At=m(ht);z(()=>O(At,l(g))),D(Oe,ht)};H(xe,Oe=>{l(g)&&Oe(Ne)})}var ze=v(xe,2),me=m(ze);{var dt=Oe=>{var ht=bte();D(Oe,ht)},Pt=Oe=>{wg(Oe,{language:"ini",onSave:y,get value(){return l(t)},set value(ht){x(t,ht,!0)}})};H(me,Oe=>{l(s)?Oe(dt):Oe(Pt,-1)})}var Ye=v(ze,2);{var yt=Oe=>{var ht=Ete(),At=m(ht),ft=v(m(At),2),Lt=v(At,2);ri(Lt,21,()=>l(n),Vi,(mi,fi)=>{var Ei=Cte(),xt=m(Ei),ui=m(xt),Pe=v(xt,2),Ee=m(Pe);z(Gt=>{O(ui,Gt),Pe.disabled=l(p)===l(fi),O(Ee,l(p)===l(fi)?"Restoring…":"Restore")},[()=>M(l(fi))]),j("click",Pe,()=>A(l(fi))),D(mi,Ei)}),j("click",ft,I),D(Oe,ht)};H(Ye,Oe=>{l(n).length>0&&Oe(yt)})}var ye=v(P,2);hs(Qa(ye,{}),Oe=>C=Oe,()=>C),z(()=>{J.disabled=l(a)||l(s),O(re,l(a)?"Saving…":"Save"),fe.disabled=l(f),O(Z,l(f)?"Reloading…":"Apply & Reload")}),j("click",J,y),j("click",fe,w),D(o,R),Ms()}qs(["click"]);var Ste=F('<div class="reload-msg svelte-1q1ovna"> </div>'),n1=F('<div class="err svelte-1q1ovna"> </div>'),lA=F('<div class="ok svelte-1q1ovna"> </div>'),cA=F('<div class="loading svelte-1q1ovna">Loading…</div>'),Dte=F('<span class="inline-err svelte-1q1ovna"> </span>'),Ate=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>'),kte=F('<button class="svelte-1q1ovna">Change password</button> <button class="btn-danger svelte-1q1ovna"> </button>',1),Bte=F('<tr><td class="user-name svelte-1q1ovna"> </td><td class="user-actions svelte-1q1ovna"><!></td></tr>'),Fte=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>'),Lte=F('<p class="empty svelte-1q1ovna">No users found — file may not exist yet.</p>'),Ite=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),Pte=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 <username></code> followed by <code class="svelte-1q1ovna">topic [read|write|readwrite] <pattern></code>.
|
|
233
|
-
Requires <code class="svelte-1q1ovna">acl_file</code> set in mosquitto.conf and no dynsec plugin.
|
|
234
|
-
After saving, click <strong>Apply & Reload</strong> above to activate changes.</p></section></div> <!>`,1);function Tte(o,e){Ts(e,!0);let t=B("/etc/mosquitto/passwd"),i=B(Di([])),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(""),y=B(!1),w=B(""),A=B(null),I=B("/etc/mosquitto/acl"),M=B(""),R=B(!1),P=B(""),V=B(""),$=B(!1),J=B(!1),re=B(""),fe;js(async()=>{try{const Xe=await tx(),ci=Xe.listeners.find(ii=>ii.password_file);ci!=null&&ci.password_file&&x(t,ci.password_file,!0);const Oi=Xe.listeners.find(ii=>ii.acl_file);Oi!=null&&Oi.acl_file&&x(I,Oi.acl_file,!0),!(ci!=null&&ci.password_file)&&Xe.managed.password_file&&x(t,String(Xe.managed.password_file),!0),!(Oi!=null&&Oi.acl_file)&&Xe.managed.acl_file&&x(I,String(Xe.managed.acl_file),!0)}catch{}await Z(),await Se()});async function Z(){if(l(t)){x(n,!0),x(s,""),x(r,"");try{const Xe=await kU(l(t));x(i,Xe.users,!0)}catch(Xe){x(s,Xe.message??"Failed to load password file",!0)}finally{x(n,!1)}}}async function de(){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 _2(l(t),l(a).trim(),l(d)),x(a,""),x(d,""),x(u,""),x(r,"User added."),await Z()}catch(Xe){x(g,Xe.message??"Failed to add user",!0)}finally{x(f,!1)}}async function ve(Xe){x(p,Xe,!0),x(C,""),x(b,""),x(w,"")}async function se(){if(!l(C)){x(w,"Password required");return}if(l(C)!==l(b)){x(w,"Passwords do not match");return}x(y,!0),x(w,""),x(r,"");try{await _2(l(t),l(p),l(C)),x(p,null),x(r,"Password updated.")}catch(Xe){x(w,Xe.message??"Failed to change password",!0)}finally{x(y,!1)}}async function ue(Xe){if(await fe.show(`Delete user "${Xe}" from ${l(t)}?`,{confirm:"Delete",danger:!0})){x(A,Xe,!0),x(s,""),x(r,"");try{await BU(l(t),Xe),x(r,`User "${Xe}" deleted.`),await Z()}catch(ci){x(s,ci.message??"Delete failed",!0)}finally{x(A,null)}}}async function Se(){if(l(I)){x(R,!0),x(P,""),x(V,"");try{const Xe=await FU(l(I));x(M,Xe.content,!0)}catch(Xe){x(P,Xe.message??"Failed to load ACL file",!0)}finally{x(R,!1)}}}async function Ie(){x($,!0),x(P,""),x(V,"");try{await LU(l(I),l(M)),x(V,"ACL file saved.")}catch(Xe){x(P,Xe.message??"Save failed",!0)}finally{x($,!1)}}async function xe(){x(J,!0),x(re,"");try{const Xe=await Nb();x(re,Xe.stderr||Xe.stdout||"Reloaded",!0)}catch(Xe){x(re,"Error: "+(Xe.message??"reload failed"))}finally{x(J,!1)}}var Ne=Pte(),ze=bt(Ne),me=m(ze),dt=m(me),Pt=v(m(dt),2),Ye=m(Pt),yt=m(Ye),ye=v(dt,2),Oe=m(ye),ht=v(m(Oe),2),At=v(Oe,2),ft=v(ye,2);{var Lt=Xe=>{var ci=Ste(),Oi=m(ci);z(()=>O(Oi,l(re))),D(Xe,ci)};H(ft,Xe=>{l(re)&&Xe(Lt)})}var mi=v(ft,2);{var fi=Xe=>{var ci=n1(),Oi=m(ci);z(()=>O(Oi,l(s))),D(Xe,ci)};H(mi,Xe=>{l(s)&&Xe(fi)})}var Ei=v(mi,2);{var xt=Xe=>{var ci=lA(),Oi=m(ci);z(()=>O(Oi,l(r))),D(Xe,ci)};H(Ei,Xe=>{l(r)&&Xe(xt)})}var ui=v(Ei,2);{var Pe=Xe=>{var ci=cA();D(Xe,ci)},Ee=Xe=>{var ci=Ite(),Oi=bt(ci);{var ii=et=>{var X=Fte(),Te=v(m(X));ri(Te,21,()=>l(i),Vi,(le,ge)=>{var Jt=Bte(),ai=m(Jt),bi=m(ai),Ci=v(ai),Hi=m(Ci);{var ie=_e=>{var Ve=Ate(),_t=m(Ve),It=v(_t,2),Ai=v(It,2);{var ei=Fe=>{var Et=Dte(),gt=m(Et);z(()=>O(gt,l(w))),D(Fe,Et)};H(Ai,Fe=>{l(w)&&Fe(ei)})}var pe=v(Ai,2),He=m(pe),Je=v(pe,2);z(()=>{pe.disabled=l(y),O(He,l(y)?"…":"Save")}),Nt(_t,()=>l(C),Fe=>x(C,Fe)),Nt(It,()=>l(b),Fe=>x(b,Fe)),j("click",pe,se),j("click",Je,()=>x(p,null)),D(_e,Ve)},tt=_e=>{var Ve=kte(),_t=bt(Ve),It=v(_t,2),Ai=m(It);z(()=>{It.disabled=l(A)===l(ge),O(Ai,l(A)===l(ge)?"…":"Delete")}),j("click",_t,()=>ve(l(ge))),j("click",It,()=>ue(l(ge))),D(_e,Ve)};H(Hi,_e=>{l(p)===l(ge)?_e(ie):_e(tt,-1)})}z(()=>O(bi,l(ge))),D(le,Jt)}),D(et,X)},zi=et=>{var X=Lte();D(et,X)};H(Oi,et=>{l(i).length>0?et(ii):l(s)||et(zi,1)})}var Gi=v(Oi,2),qi=v(m(Gi),2),K=m(qi),ke=v(K,2),rt=v(ke,2),Ze=v(rt,2),zt=m(Ze),ni=v(qi,2);{var mt=et=>{var X=n1(),Te=m(X);z(()=>O(Te,l(g))),D(et,X)};H(ni,et=>{l(g)&&et(mt)})}z(()=>{Ze.disabled=l(f),O(zt,l(f)?"Adding…":"Add")}),Nt(K,()=>l(a),et=>x(a,et)),Nt(ke,()=>l(d),et=>x(d,et)),Nt(rt,()=>l(u),et=>x(u,et)),j("click",Ze,de),D(Xe,ci)};H(ui,Xe=>{l(n)?Xe(Pe):Xe(Ee,-1)})}var Gt=v(me,2),gi=m(Gt),Qt=v(m(gi),2),Ni=m(Qt),Zi=m(Ni),vi=v(gi,2),gn=m(vi),cn=v(m(gn),2),rn=v(gn,2),mn=v(vi,2);{var Ct=Xe=>{var ci=n1(),Oi=m(ci);z(()=>O(Oi,l(P))),D(Xe,ci)};H(mn,Xe=>{l(P)&&Xe(Ct)})}var Zt=v(mn,2);{var Ii=Xe=>{var ci=lA(),Oi=m(ci);z(()=>O(Oi,l(V))),D(Xe,ci)};H(Zt,Xe=>{l(V)&&Xe(Ii)})}var Wi=v(Zt,2),Pi=m(Wi);{var pn=Xe=>{var ci=cA();D(Xe,ci)},Dn=Xe=>{wg(Xe,{language:"plaintext",onSave:Ie,get value(){return l(M)},set value(ci){x(M,ci,!0)}})};H(Pi,Xe=>{l(R)?Xe(pn):Xe(Dn,-1)})}var Ui=v(ze,2);hs(Qa(Ui,{}),Xe=>fe=Xe,()=>fe),z(()=>{Ye.disabled=l(J),O(yt,l(J)?"Reloading…":"Apply & Reload"),At.disabled=l(n),Ni.disabled=l($),O(Zi,l($)?"Saving…":"Save"),rn.disabled=l(R)}),j("click",Ye,xe),j("change",ht,Z),Nt(ht,()=>l(t),Xe=>x(t,Xe)),j("click",At,Z),j("click",Ni,Ie),j("change",cn,Se),Nt(cn,()=>l(I),Xe=>x(I,Xe)),j("click",rn,Se),D(o,Ne),Ms()}qs(["click","change"]);var Mte=F('<div class="loading svelte-zuhcpo">Loading…</div>'),Rte=F('<div class="error-banner svelte-zuhcpo"> </div>'),Nte=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>'),Ote=F('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),Hte=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>'),Wte=F('<div class="error-inline svelte-zuhcpo"> </div>'),zte=F('<button class="diag-btn svelte-zuhcpo"> </button>'),dA=F('<p class="diag-issue svelte-zuhcpo"> </p>'),Vte=F('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),jte=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),$te=F('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),Ute=F('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),qte=F('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),Gte=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>'),Kte=F('<div style="margin-top: 20px;"><!></div>'),Zte=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),Xte=F('<div class="tab-content svelte-zuhcpo"><!></div>'),Yte=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 Qte(o,e){Ts(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(Di(localStorage.getItem(d)??"status"));Qn(()=>{localStorage.setItem(d,l(u))});let f=B(null),g=B(""),p=B(!0);async function C(){try{x(f,await Rb(),!0),x(g,"")}catch(xt){x(g,xt.message??"Failed to load broker status",!0)}finally{x(p,!1)}}js(()=>{C();const xt=setInterval(C,1e4);return()=>clearInterval(xt)});async function b(){x(r,!0),x(a,null);try{x(a,await AU(),!0)}catch(xt){x(a,{ok:!1,dynSecPath:"",issues:[xt.message??"Diagnose request failed"]},!0)}finally{x(r,!1)}}async function y(){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 SU(),await C()}catch(xt){x(s,xt.message??"Deactivate failed",!0)}finally{x(n,!1)}}}function w(xt){var Pe;if(!((Pe=l(f))!=null&&Pe.sys))return"—";const ui=l(f).sys[xt];return ui?String(ui.val??"—"):"—"}function A(xt){if(xt==="—")return xt;const ui=xt.match(/^(\d+)/),Pe=ui?parseInt(ui[1]):NaN;if(isNaN(Pe))return xt;const Ee=Math.floor(Pe/86400),Gt=Math.floor(Pe%86400/3600),gi=Math.floor(Pe%3600/60),Qt=Pe%60,Ni=Zi=>String(Zi).padStart(2,"0");return Ee>0?`${Ee}d ${Ni(Gt)}:${Ni(gi)}:${Ni(Qt)}`:`${Ni(Gt)}:${Ni(gi)}:${Ni(Qt)}`}function I(xt){if(xt==="—")return xt;const ui=parseInt(xt);return isNaN(ui)?xt:ui<1024?`${ui} B`:ui<1048576?`${(ui/1024).toFixed(1)} KB`:ui<1073741824?`${(ui/1048576).toFixed(1)} MB`:`${(ui/1073741824).toFixed(1)} GB`}var M=Yte(),R=bt(M),P=m(R),V=m(P);let $;var J=v(V,2);let re;var fe=v(J,2);let Z;var de=v(fe,2);let ve;var se=v(de,2);let ue;var Se=v(se,2);let Ie;var xe=v(Se,2);let Ne;var ze=v(xe,2);let me;var dt=v(ze,2);let Pt;var Ye=v(P,2);{var yt=xt=>{var ui=Xte(),Pe=m(ui);{var Ee=Qt=>{var Ni=Mte();D(Qt,Ni)},Gt=Qt=>{var Ni=Rte(),Zi=m(Ni);z(()=>O(Zi,l(g))),D(Qt,Ni)},gi=Qt=>{var Ni=Zte(),Zi=bt(Ni),vi=m(Zi),gn=m(vi),cn=v(m(gn),4),rn=m(cn),mn=v(gn,2);{var Ct=ii=>{var zi=Nte(),Gi=m(zi);let qi;var K=v(Gi,4);let ke;var rt=m(K);{var Ze=X=>{var Te=ro("plugin active");D(X,Te)},zt=X=>{var Te=ro("connected — plugin not responding");D(X,Te)},ni=X=>{var Te=ro("disconnected");D(X,Te)};H(rt,X=>{l(f).dynsec.dynsecReady?X(Ze):l(f).dynsec.connected?X(zt,1):X(ni,-1)})}var mt=v(K,2),et=m(mt);z(()=>{qi=Bt(Gi,1,"dot svelte-zuhcpo",null,qi,{ok:l(f).dynsec.dynsecReady,warn:l(f).dynsec.connected&&!l(f).dynsec.dynsecReady,"dot-err":!l(f).dynsec.connected}),ke=Bt(K,1,"conn-detail svelte-zuhcpo",null,ke,{ok:l(f).dynsec.dynsecReady,warn:l(f).dynsec.connected&&!l(f).dynsec.dynsecReady,err:!l(f).dynsec.connected}),mt.disabled=l(n),O(et,l(n)?"…":"deactivate")}),j("click",mt,y),D(ii,zi)},Zt=ii=>{var zi=Hte(),Gi=v(m(zi),6);{var qi=K=>{var ke=Ote();j("click",ke,()=>x(t,!0)),D(K,ke)};H(Gi,K=>{l(t)||K(qi)})}D(ii,zi)};H(mn,ii=>{l(f).dynsec.configured?ii(Ct):ii(Zt,-1)})}var Ii=v(mn,2);{var Wi=ii=>{var zi=Wte(),Gi=m(zi);z(()=>O(Gi,l(s))),D(ii,zi)};H(Ii,ii=>{l(s)&&ii(Wi)})}var Pi=v(vi,2);{var pn=ii=>{var zi=qte(),Gi=m(zi);{var qi=Ze=>{var zt=zte(),ni=m(zt);z(()=>{zt.disabled=l(r),O(ni,l(r)?"Running diagnostics…":"Run diagnostics")}),j("click",zt,b),D(Ze,zt)},K=Ze=>{var zt=$te(),ni=bt(zt);let mt;var et=m(ni);{var X=Jt=>{var ai=dA(),bi=m(ai);z(()=>O(bi,`⚠ ${l(a).error??""}`)),D(Jt,ai)},Te=Jt=>{var ai=jte(),bi=bt(ai),Ci=v(m(bi)),Hi=m(Ci),ie=v(bi,2),tt=v(m(ie)),_e=m(tt),Ve=v(ie,2),_t=v(m(Ve)),It=m(_t),Ai=v(Ve,2),ei=v(m(Ai)),pe=m(ei),He=v(Ai,2);ri(He,17,()=>l(a).issues,Vi,(Et,gt)=>{var Kt=dA(),U=m(Kt);z(()=>O(U,`⚠ ${l(gt)??""}`)),D(Et,Kt)});var Je=v(He,2);{var Fe=Et=>{var gt=Vte();D(Et,gt)};H(Je,Et=>{l(a).ok&&Et(Fe)})}z(()=>{O(Hi,l(a).dynSecPath),Bt(tt,1,hg(l(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),O(_e,l(a).adminClientExists?"✓ yes":"✗ no"),Bt(_t,1,hg(l(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),O(It,l(a).hasAdminRole?"✓ yes":"✗ no"),Bt(ei,1,hg(l(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),O(pe,l(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(Jt,ai)};H(et,Jt=>{l(a).error?Jt(X):Jt(Te,-1)})}var le=v(ni,2),ge=m(le);z(()=>{mt=Bt(ni,1,"diag-card svelte-zuhcpo",null,mt,{"diag-ok":l(a).ok,"diag-fail":!l(a).ok}),le.disabled=l(r),O(ge,l(r)?"Running…":"Re-run")}),j("click",le,b),D(Ze,zt)};H(Gi,Ze=>{l(a)?Ze(K,-1):Ze(qi)})}var ke=v(Gi,2);{var rt=Ze=>{var zt=Ute();j("click",zt,()=>x(t,!0)),D(Ze,zt)};H(ke,Ze=>{l(t)||Ze(rt)})}D(ii,zi)};H(Pi,ii=>{l(f).dynsec.configured&&l(f).dynsec.connected&&!l(f).dynsec.dynsecReady&&ii(pn)})}var Dn=v(Pi,2);{var Ui=ii=>{var zi=Gte(),Gi=m(zi),qi=v(m(Gi)),K=m(qi),ke=v(qi,3),rt=m(ke),Ze=v(ke,3),zt=m(Ze),ni=v(Ze,3),mt=m(ni),et=v(ni,3),X=m(et),Te=v(et,3),le=m(Te);z((ge,Jt,ai,bi,Ci,Hi,ie,tt,_e,Ve,_t,It)=>{O(K,ge),O(rt,Jt),O(zt,`${ai??""} connected · ${bi??""} max · ${Ci??""} total`),O(mt,`${Hi??""} rcv · ${ie??""} sent · ${tt??""} stored`),O(X,`${_e??""} retained · ${Ve??""} subscriptions`),O(le,`${_t??""} in · ${It??""} 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(ii,zi)},Xe=Ot(()=>Object.keys(l(f).sys).length>0);H(Dn,ii=>{l(Xe)&&ii(Ui)})}var ci=v(Zi,2);{var Oi=ii=>{var zi=Kte(),Gi=m(zi);vte(Gi,{onDone:()=>{x(t,!1),C()}}),D(ii,zi)};H(ci,ii=>{l(t)&&(!l(f).dynsec.configured||!l(f).dynsec.dynsecReady)&&ii(Oi)})}z(()=>O(rn,l(f).sshConfigured?`ssh — ${l(f).sshHost}`:"local")),D(Qt,Ni)};H(Pe,Qt=>{l(p)?Qt(Ee):l(g)?Qt(Gt,1):l(f)&&Qt(gi,2)})}D(xt,ui)},ye=xt=>{{let ui=Ot(()=>{var Pe;return((Pe=l(f))==null?void 0:Pe.dynsec.dynsecReady)??!1});tee(xt,{get dynsecReady(){return l(ui)}})}},Oe=xt=>{Cee(xt,{})},ht=xt=>{wte(xt,{})},At=xt=>{Tte(xt,{})},ft=xt=>{pee(xt,{})},Lt=xt=>{Vee(xt,{})},mi=xt=>{Jee(xt,{})},fi=xt=>{ate(xt,{})};H(Ye,xt=>{l(u)==="status"?xt(yt):l(u)==="users"?xt(ye,1):l(u)==="brokerconfig"?xt(Oe,2):l(u)==="advanced"?xt(ht,3):l(u)==="passwd"?xt(At,4):l(u)==="listeners"?xt(ft,5):l(u)==="certs"?xt(Lt,6):l(u)==="ssh"?xt(mi,7):l(u)==="logs"&&xt(fi,8)})}var Ei=v(R,2);hs(Qa(Ei,{}),xt=>i=xt,()=>i),z(()=>{$=Bt(V,1,"svelte-zuhcpo",null,$,{active:l(u)==="status"}),re=Bt(J,1,"svelte-zuhcpo",null,re,{active:l(u)==="users"}),Z=Bt(fe,1,"svelte-zuhcpo",null,Z,{active:l(u)==="brokerconfig"}),ve=Bt(de,1,"svelte-zuhcpo",null,ve,{active:l(u)==="advanced"}),ue=Bt(se,1,"svelte-zuhcpo",null,ue,{active:l(u)==="passwd"}),Ie=Bt(Se,1,"svelte-zuhcpo",null,Ie,{active:l(u)==="listeners"}),Ne=Bt(xe,1,"svelte-zuhcpo",null,Ne,{active:l(u)==="certs"}),me=Bt(ze,1,"svelte-zuhcpo",null,me,{active:l(u)==="ssh"}),Pt=Bt(dt,1,"svelte-zuhcpo",null,Pt,{active:l(u)==="logs"})}),j("click",V,()=>x(u,"status")),j("click",J,()=>x(u,"users")),j("click",fe,()=>x(u,"brokerconfig")),j("click",de,()=>x(u,"advanced")),j("click",se,()=>x(u,"passwd")),j("click",Se,()=>x(u,"listeners")),j("click",xe,()=>x(u,"certs")),j("click",ze,()=>x(u,"ssh")),j("click",dt,()=>x(u,"logs")),D(o,M),Ms()}qs(["click"]);var Jte=F('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),eie=F('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),tie=F('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),iie=F('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),nie=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>'),sie=F('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),oie=F('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),rie=F('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),aie=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>'),lie=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>'),cie=F('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),die=F('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),uie=F('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),hie=F('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),fie=F('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),gie=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>'),pie=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>'),xie=F('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),vie=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),mie=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),_ie=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 p99</dt><dd class="svelte-1n46o8q"> </dd></dl>'),bie=F('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Cie=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>'),Eie=F('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),yie=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>'),wie=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>'),Sie=F('<div class="login-error svelte-1n46o8q"> </div>'),Die=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>'),Aie=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>'),kie=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>'),Bie=F("<!> <!> <!> <!>",1);function Fie(o,e){Ts(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const At=location.hash.slice(1);return t.includes(At)?At:"scripts"}let n=B(Di(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(""),y=B(!1),w=B(!1);V$(()=>{x(p,!0)});async function A(){x(b,""),x(y,!0);try{await U$(l(C)),x(C,""),x(p,!1)}catch(At){x(b,At.message??"Login failed",!0)}finally{x(y,!1)}}async function I(){if(l(f)==="proxy"&&l(g)){window.location.href=l(g);return}await q$(),x(p,!0)}let M=B(null),R=B(!1),P=B(!1),V=B(!1),$=B(!1),J=B(Di([])),re=B(0),fe=B(!1),Z=B(Di([]));const de=Ot(()=>l(Z).filter(At=>At.online).length),ve=Ot(()=>l(Z).length===0?"none":l(de)===l(Z).length?"all":l(de)>0?"some":"offline");let se=B(!1),ue=B(!1);async function Se(){if(!await l(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;x(R,!0);let At;try{At=(await ef()).startedAt}catch{}try{await SF()}catch{}const ft=Date.now()+6e4;for(;Date.now()<ft;){await new Promise(Lt=>setTimeout(Lt,250));try{const Lt=await ef();if(At===void 0||Lt.startedAt!==At){location.reload();return}}catch{}}location.reload()}async function Ie(){x(d,!0);try{const At=await Q$();l(s)&&x(s,{...l(s),latestVersion:At.latestVersion??void 0},!0)}catch{}finally{x(d,!1)}}async function xe(){var Lt,mi;if(!await l(M).show(`Update to v${(Lt=l(s))==null?void 0:Lt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;x(a,!1),x(u,!0);const At=(mi=l(s))==null?void 0:mi.startedAt;try{await Y$()}catch{}const ft=Date.now()+18e4;for(;Date.now()<ft;){await new Promise(fi=>setTimeout(fi,1e3));try{const fi=await ef();if(At===void 0||fi.startedAt!==At){location.reload();return}}catch{x(u,!1),x(R,!0)}}location.reload()}function Ne(At){x(n,At,!0),location.hash=At}js(async()=>{location.hash||(location.hash=l(n));const At=()=>{x(n,i(),!0)};window.addEventListener("hashchange",At);try{const Pe=await $$();x(f,Pe.mode,!0),x(g,Pe.proxyLogoutUrl??"",!0),l(f)==="password"&&(await fetch("/she/scripts")).status===401&&x(p,!0)}catch{}x(w,!0);async function ft(){var Pe,Ee,Gt;try{x(s,await ef(),!0)}catch{}try{const[gi,Qt]=await Promise.all([kF(),Ml()]);x(J,Array.isArray(Qt.pinnedPackages)?Qt.pinnedPackages:[],!0),x(re,Object.keys(gi).filter(Zi=>!l(J).includes(Zi)).length,!0);const Ni=l(fe);x(fe,((Pe=Qt.broker)==null?void 0:Pe.enabled)===!0),Ni&&!l(fe)&&l(n)==="security"&&Ne("scripts")}catch{}!((Ee=l(s))!=null&&Ee.matterEnabled)&&l(n)==="matter"&&Ne("scripts"),!((Gt=l(s))!=null&&Gt.dbEnabled)&&l(n)==="db"&&Ne("scripts")}ft();const Lt=setInterval(ft,5e3),mi=tr("mqtt:status",Pe=>{Pe.connected===!1?(x($,!0),x(P,!1),x(V,!1)):(x($,!1),x(P,Pe.ready===!1),x(V,Pe.ready===!0))}),fi=tr("matter:deviceList",Pe=>{Array.isArray(Pe.devices)&&x(Z,Pe.devices.map(Ee=>({nodeId:String(Ee.nodeId),online:!!Ee.online})),!0)}),Ei=tr("matter:deviceStatus",Pe=>{if(Pe.nodeId===void 0)return;const Ee=String(Pe.nodeId),Gt=!!Pe.online;x(Z,l(Z).map(gi=>gi.nodeId===Ee?{...gi,online:Gt}:gi),!0)}),xt=RF();x(se,xt.some(Pe=>Pe.level==="error"),!0),x(ue,!l(se)&&xt.some(Pe=>Pe.level==="warn"),!0);const ui=vS(Pe=>{Pe.level==="error"?(x(se,!0),x(ue,!1)):Pe.level==="warn"&&!l(se)&&x(ue,!0)});return()=>{window.removeEventListener("hashchange",At),clearInterval(Lt),mi(),fi(),Ei(),ui()}});var ze=Bie();_s("click",g6,()=>{l(r)&&x(r,!1),l(a)&&x(a,!1)});var me=bt(ze);{var dt=At=>{var ft=wie(),Lt=m(ft),mi=v(m(Lt),2);let fi;var Ei=v(mi,2);let xt;var ui=v(m(Ei),2);{var Pe=T=>{var W=Jte();z(()=>un(W,"title",`${l(re)??""} package update${l(re)===1?"":"s"} available`)),D(T,W)};H(ui,T=>{l(re)>0&&T(Pe)})}var Ee=v(Ei,2);let Gt;var gi=v(m(Ee),2);{var Qt=T=>{var W=eie();D(T,W)},Ni=T=>{var W=tie();D(T,W)},Zi=T=>{var W=iie();D(T,W)};H(gi,T=>{l($)?T(Qt):l(P)?T(Ni,1):l(V)&&T(Zi,2)})}var vi=v(Ee,2);{var gn=T=>{var W=nie();let Y;z(()=>Y=Bt(W,1,"svelte-1n46o8q",null,Y,{active:l(n)==="security"})),j("click",W,()=>Ne("security")),D(T,W)};H(vi,T=>{l(fe)&&T(gn)})}var cn=v(vi,2);{var rn=T=>{var W=aie();let Y;var ne=v(m(W),2);{var ae=je=>{var Ce=sie();D(je,Ce)},oe=je=>{var Ce=oie();D(je,Ce)},we=je=>{var Ce=rie();D(je,Ce)};H(ne,je=>{l(ve)==="all"?je(ae):l(ve)==="some"?je(oe,1):l(ve)==="offline"&&je(we,2)})}z(()=>Y=Bt(W,1,"svelte-1n46o8q",null,Y,{active:l(n)==="matter"})),j("click",W,()=>Ne("matter")),D(T,W)};H(cn,T=>{var W;(W=l(s))!=null&&W.matterEnabled&&T(rn)})}var mn=v(cn,2);{var Ct=T=>{var W=lie();let Y;z(()=>Y=Bt(W,1,"svelte-1n46o8q",null,Y,{active:l(n)==="db"})),j("click",W,()=>Ne("db")),D(T,W)};H(mn,T=>{var W;(W=l(s))!=null&&W.dbEnabled&&T(Ct)})}var Zt=v(mn,2);let Ii;var Wi=v(m(Zt),2);{var Pi=T=>{var W=cie();D(T,W)},pn=T=>{var W=die();D(T,W)};H(Wi,T=>{l(se)?T(Pi):l(ue)&&T(pn,1)})}var Dn=v(Zt,4),Ui=v(m(Dn),2),Xe=m(Ui),ci=m(Xe);ci.nodeValue="v1.19.0 ";var Oi=v(ci);{var ii=T=>{var W=uie();D(T,W)};H(Oi,T=>{var W,Y;(W=l(s))!=null&&W.latestVersion&&!((Y=l(s))!=null&&Y.docker)&&T(ii)})}var zi=v(Xe,2);{var Gi=T=>{var W=pie(),Y=m(W),ne=v(m(Y));ne.textContent="v1.19.0";var ae=v(ne,2);{var oe=ce=>{var Ge=hie(),Mt=v(bt(Ge)),Ue=m(Mt);z(()=>O(Ue,`v${l(s).latestVersion??""}`)),D(ce,Ge)},we=ce=>{var Ge=fie();D(ce,Ge)};H(ae,ce=>{var Ge;(Ge=l(s))!=null&&Ge.latestVersion?ce(oe):ce(we,-1)})}var je=v(Y,2),Ce=m(je);{var Le=ce=>{var Ge=gie(),Mt=v(m(Ge));z(()=>O(Mt,` Update to v${l(s).latestVersion??""}`)),j("click",Ge,xe),D(ce,Ge)};H(Ce,ce=>{var Ge;(Ge=l(s))!=null&&Ge.latestVersion&&ce(Le)})}var Me=v(Ce,2),ot=m(Me);let li;var Q=v(ot);z(()=>{Me.disabled=l(d),li=Bt(ot,0,"svelte-1n46o8q",null,li,{spinning:l(d)}),O(Q,` ${l(d)?"Checking…":"Check for updates"}`)}),j("click",W,ce=>ce.stopPropagation()),j("click",Me,Ie),D(T,W)};H(zi,T=>{var W;l(a)&&!((W=l(s))!=null&&W.docker)&&T(Gi)})}var qi=v(Ui,2),K=m(qi),ke=v(K,2);{var rt=T=>{var W=Eie(),Y=m(W);{var ne=Ce=>{var Le=_ie(),Me=m(Le);{var ot=nt=>{const kt=Ot(()=>Math.floor((Date.now()-l(s).startedAt)/1e3)),ti=Ot(()=>Math.floor(l(kt)/86400)),Yt=Ot(()=>Math.floor(l(kt)%86400/3600)),Ht=Ot(()=>Math.floor(l(kt)%3600/60));var Wt=xie(),Ft=v(bt(Wt)),jt=m(Ft);z(()=>O(jt,`${l(ti)>0?l(ti)+"d ":""}${l(Yt)>0||l(ti)>0?l(Yt)+"h ":""}${l(Ht)??""}m`)),D(nt,Wt)};H(Me,nt=>{l(s).startedAt&&nt(ot)})}var li=v(Me,3),Q=m(li),ce=v(li,3),Ge=m(ce),Mt=v(ce,3),Ue=m(Mt),$e=v(Mt,2);{var Tt=nt=>{var kt=vie(),ti=v(bt(kt)),Yt=m(ti),Ht=v(ti,3),Wt=m(Ht);z(()=>{O(Yt,l(s).matterNodes??0),O(Wt,l(s).matterEndpoints??0)}),D(nt,kt)};H($e,nt=>{l(s).matterEnabled&&nt(Tt)})}var pt=v($e,2);{var Qe=nt=>{var kt=mie(),ti=v(bt(kt)),Yt=m(ti),Ht=v(ti,3),Wt=m(Ht);z(()=>{O(Yt,l(s).dbDocs??"—"),O(Wt,l(s).dbViews??"—")}),D(nt,kt)};H(pt,nt=>{l(s).dbEnabled&&nt(Qe)})}var wt=v(pt,3),Dt=m(wt),st=v(wt,3),Rt=m(st),si=v(st,3),Ut=m(si),De=v(si,3),be=m(De),qe=v(De,3),at=m(qe),Xt=v(qe,3),it=m(Xt);z(()=>{O(Q,l(s).scripts),O(Ge,l(s).topics),O(Ue,l(s).mqttMsgPerSec??"—"),O(Dt,l(s).handlers??"—"),O(Rt,l(s).memMb!=null?l(s).memMb+" MB":"—"),O(Ut,l(s).cpuPercent!=null?l(s).cpuPercent+" %":"—"),O(be,l(s).eluPercent!=null?l(s).eluPercent+" %":"—"),O(at,l(s).elMeanMs!=null?l(s).elMeanMs+" ms":"—"),O(it,l(s).elP99Ms!=null?l(s).elP99Ms+" ms":"—")}),D(Ce,Le)},ae=Ce=>{var Le=bie();D(Ce,Le)};H(Y,Ce=>{l(s)?Ce(ne):Ce(ae,-1)})}var oe=v(Y,2),we=m(oe);{var je=Ce=>{var Le=Cie();j("click",Le,()=>{x(r,!1),Se()}),D(Ce,Le)};H(we,Ce=>{var Le;(Le=l(s))!=null&&Le.docker||Ce(je)})}j("click",W,Ce=>Ce.stopPropagation()),D(T,W)};H(ke,T=>{l(r)&&T(rt)})}var Ze=v(qi,2);let zt;var ni=v(Ze,2);{var mt=T=>{var W=yie();j("click",W,I),D(T,W)};H(ni,T=>{l(f)==="password"&&T(mt)})}var et=v(Lt,2),X=m(et);hs(Qa(X,{}),T=>x(M,T,!0),()=>l(M));var Te=v(X,2);let le;var ge=m(Te);{let T=Ot(()=>l(n)==="scripts");yZ(ge,{get active(){return l(T)}})}var Jt=v(Te,2);let ai;var bi=m(Jt);bJ(bi,{});var Ci=v(Jt,2);let Hi;var ie=m(Ci);tJ(ie,{});var tt=v(Ci,2);let _e;var Ve=m(tt);_Q(Ve,{});var _t=v(tt,2);let It;var Ai=m(_t);Qte(Ai,{});var ei=v(_t,2);let pe;var He=m(ei);EY(He,{});var Je=v(ei,2);let Fe;var Et=m(Je);uX(Et,{});var gt=v(Je,2);let Kt;var U=m(gt);xX(U,{}),z(()=>{fi=Bt(mi,1,"svelte-1n46o8q",null,fi,{active:l(n)==="scripts"}),xt=Bt(Ei,1,"svelte-1n46o8q",null,xt,{active:l(n)==="packages"}),Gt=Bt(Ee,1,"svelte-1n46o8q",null,Gt,{active:l(n)==="mqtt"}),Ii=Bt(Zt,1,"svelte-1n46o8q",null,Ii,{active:l(n)==="logs"}),zt=Bt(Ze,1,"nav-settings svelte-1n46o8q",null,zt,{active:l(n)==="config"}),le=Bt(Te,1,"page-wrap svelte-1n46o8q",null,le,{hidden:l(n)!=="scripts"}),ai=Bt(Jt,1,"page-wrap svelte-1n46o8q",null,ai,{hidden:l(n)!=="packages"}),Hi=Bt(Ci,1,"page-wrap svelte-1n46o8q",null,Hi,{hidden:l(n)!=="mqtt"}),_e=Bt(tt,1,"page-wrap svelte-1n46o8q",null,_e,{hidden:l(n)!=="matter"}),It=Bt(_t,1,"page-wrap svelte-1n46o8q",null,It,{hidden:l(n)!=="security"}),pe=Bt(ei,1,"page-wrap svelte-1n46o8q",null,pe,{hidden:l(n)!=="db"}),Fe=Bt(Je,1,"page-wrap svelte-1n46o8q",null,Fe,{hidden:l(n)!=="config"}),Kt=Bt(gt,1,"page-wrap svelte-1n46o8q",null,Kt,{hidden:l(n)!=="logs"})}),j("click",mi,()=>Ne("scripts")),j("click",Ei,()=>Ne("packages")),j("click",Ee,()=>Ne("mqtt")),j("click",Zt,()=>{Ne("logs"),x(se,!1),x(ue,!1)}),j("click",Xe,T=>{T.stopPropagation(),x(a,!l(a)),x(r,!1)}),j("click",K,T=>{T.stopPropagation(),x(r,!l(r)),x(a,!1)}),j("click",Ze,()=>Ne("config")),D(At,ft)};H(me,At=>{l(w)&&!l(p)&&At(dt)})}var Pt=v(me,2);{var Ye=At=>{var ft=Die(),Lt=m(ft),mi=v(m(Lt),4),fi=v(m(mi),2),Ei=v(mi,2);{var xt=Ee=>{var Gt=Sie(),gi=m(Gt);z(()=>O(gi,l(b))),D(Ee,Gt)};H(Ei,Ee=>{l(b)&&Ee(xt)})}var ui=v(Ei,2),Pe=m(ui);z(()=>{fi.disabled=l(y),ui.disabled=l(y)||!l(C),O(Pe,l(y)?"Signing in…":"Sign in")}),_s("submit",Lt,Ee=>{Ee.preventDefault(),A()}),Nt(fi,()=>l(C),Ee=>x(C,Ee)),D(At,ft)};H(Pt,At=>{l(p)&&At(Ye)})}var yt=v(Pt,2);{var ye=At=>{var ft=Aie();D(At,ft)};H(yt,At=>{l(R)&&At(ye)})}var Oe=v(yt,2);{var ht=At=>{var ft=kie();D(At,ft)};H(Oe,At=>{l(u)&&At(ht)})}D(o,ze),Ms()}qs(["click"]);rP(Fie,{target:document.getElementById("app")});export{q6 as t};
|