code-server
Version:
Run VS Code on a remote server.
275 lines • 1.64 MB
JavaScript
/*!--------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/
var r8=Object.create;var Tv=Object.defineProperty;var b1=Object.getOwnPropertyDescriptor;var i8=Object.getOwnPropertyNames;var s8=Object.getPrototypeOf,a8=Object.prototype.hasOwnProperty;var S1=r=>{throw TypeError(r)};var y=(r,t)=>()=>(r&&(t=r(r=0)),t);var l8=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),c8=(r,t)=>{for(var e in t)Tv(r,e,{get:t[e],enumerable:!0})},d8=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of i8(t))!a8.call(r,o)&&o!==e&&Tv(r,o,{get:()=>t[o],enumerable:!(n=b1(t,o))||n.enumerable});return r};var x1=(r,t,e)=>(e=r!=null?r8(s8(r)):{},d8(t||!r||!r.__esModule?Tv(e,"default",{value:r,enumerable:!0}):e,r));var C=(r,t,e,n)=>{for(var o=n>1?void 0:n?b1(t,e):t,i=r.length-1,s;i>=0;i--)(s=r[i])&&(o=(n?s(t,e,o):s(o))||o);return n&&o&&Tv(t,e,o),o},b=(r,t)=>(e,n)=>t(e,n,r);var RE=(r,t,e)=>t.has(r)||S1("Cannot "+e);var un=(r,t,e)=>(RE(r,t,"read from private field"),e?e.call(r):t.get(r)),yd=(r,t,e)=>t.has(r)?S1("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),Tm=(r,t,e,n)=>(RE(r,t,"write to private field"),n?n.call(r,e):t.set(r,e),e),Rm=(r,t,e)=>(RE(r,t,"access private method"),e);var PE=l8((lne,w1)=>{"use strict";function u8(r,t){var e=r;t.slice(0,-1).forEach(function(o){e=e[o]||{}});var n=t[t.length-1];return n in e}function C1(r){return typeof r=="number"||/^0x[0-9a-f]+$/i.test(r)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(r)}function E1(r,t){return t==="constructor"&&typeof r[t]=="function"||t==="__proto__"}w1.exports=function(r,t){t||(t={});var e={bools:{},strings:{},unknownFn:null};typeof t.unknown=="function"&&(e.unknownFn=t.unknown),typeof t.boolean=="boolean"&&t.boolean?e.allBools=!0:[].concat(t.boolean).filter(Boolean).forEach(function(k){e.bools[k]=!0});var n={};function o(k){return n[k].some(function(O){return e.bools[O]})}Object.keys(t.alias||{}).forEach(function(k){n[k]=[].concat(t.alias[k]),n[k].forEach(function(O){n[O]=[k].concat(n[k].filter(function(fe){return O!==fe}))})}),[].concat(t.string).filter(Boolean).forEach(function(k){e.strings[k]=!0,n[k]&&[].concat(n[k]).forEach(function(O){e.strings[O]=!0})});var i=t.default||{},s={_:[]};function a(k,O){return e.allBools&&/^--[^=]+$/.test(O)||e.strings[k]||e.bools[k]||n[k]}function l(k,O,fe){for(var H=k,le=0;le<O.length-1;le++){var Q=O[le];if(E1(H,Q))return;H[Q]===void 0&&(H[Q]={}),(H[Q]===Object.prototype||H[Q]===Number.prototype||H[Q]===String.prototype)&&(H[Q]={}),H[Q]===Array.prototype&&(H[Q]=[]),H=H[Q]}var F=O[O.length-1];E1(H,F)||((H===Object.prototype||H===Number.prototype||H===String.prototype)&&(H={}),H===Array.prototype&&(H=[]),H[F]===void 0||e.bools[F]||typeof H[F]=="boolean"?H[F]=fe:Array.isArray(H[F])?H[F].push(fe):H[F]=[H[F],fe])}function c(k,O,fe){if(!(fe&&e.unknownFn&&!a(k,fe)&&e.unknownFn(fe)===!1)){var H=!e.strings[k]&&C1(O)?Number(O):O;l(s,k.split("."),H),(n[k]||[]).forEach(function(le){l(s,le.split("."),H)})}}Object.keys(e.bools).forEach(function(k){c(k,i[k]===void 0?!1:i[k])});var u=[];r.indexOf("--")!==-1&&(u=r.slice(r.indexOf("--")+1),r=r.slice(0,r.indexOf("--")));for(var p=0;p<r.length;p++){var m=r[p],f,h;if(/^--.+=/.test(m)){var v=m.match(/^--([^=]+)=([\s\S]*)$/);f=v[1];var I=v[2];e.bools[f]&&(I=I!=="false"),c(f,I,m)}else if(/^--no-.+/.test(m))f=m.match(/^--no-(.+)/)[1],c(f,!1,m);else if(/^--.+/.test(m))f=m.match(/^--(.+)/)[1],h=r[p+1],h!==void 0&&!/^(-|--)[^-]/.test(h)&&!e.bools[f]&&!e.allBools&&(!n[f]||!o(f))?(c(f,h,m),p+=1):/^(true|false)$/.test(h)?(c(f,h==="true",m),p+=1):c(f,e.strings[f]?"":!0,m);else if(/^-[^-]+/.test(m)){for(var E=m.slice(1,-1).split(""),w=!1,P=0;P<E.length;P++){if(h=m.slice(P+2),h==="-"){c(E[P],h,m);continue}if(/[A-Za-z]/.test(E[P])&&h[0]==="="){c(E[P],h.slice(1),m),w=!0;break}if(/[A-Za-z]/.test(E[P])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(h)){c(E[P],h,m),w=!0;break}if(E[P+1]&&E[P+1].match(/\W/)){c(E[P],m.slice(P+2),m),w=!0;break}else c(E[P],e.strings[E[P]]?"":!0,m)}f=m.slice(-1)[0],!w&&f!=="-"&&(r[p+1]&&!/^(-|--)[^-]/.test(r[p+1])&&!e.bools[f]&&(!n[f]||!o(f))?(c(f,r[p+1],m),p+=1):r[p+1]&&/^(true|false)$/.test(r[p+1])?(c(f,r[p+1]==="true",m),p+=1):c(f,e.strings[f]?"":!0,m))}else if((!e.unknownFn||e.unknownFn(m)!==!1)&&s._.push(e.strings._||!C1(m)?m:Number(m)),t.stopEarly){s._.push.apply(s._,r.slice(p+1));break}}return Object.keys(i).forEach(function(k){u8(s,k.split("."))||(l(s,k.split("."),i[k]),(n[k]||[]).forEach(function(O){l(s,O.split("."),i[k])}))}),t["--"]?s["--"]=u.slice():u.forEach(function(k){s._.push(k)}),s}});function ME(r){let t=[];typeof r=="number"&&t.push("code/timeOrigin",r);function e(i,s){t.push(i,s?.startTime??Date.now())}function n(){let i=[];for(let s=0;s<t.length;s+=2)i.push({name:t[s],startTime:t[s+1]});return i}function o(i){if(typeof i>"u"){let s=t.length>=2&&t[0]==="code/timeOrigin",a=s?t[1]:void 0;t.length=0,s&&t.push("code/timeOrigin",a)}else for(let s=t.length-2;s>=0;s-=2)t[s]===i&&t.splice(s,2)}return{mark:e,getMarks:n,clearMarks:o}}function v8(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?ME():{mark(r,t){performance.mark(r,t)},clearMarks(r){performance.clearMarks(r)},getMarks(){let r=performance.timeOrigin;typeof r!="number"&&(r=(performance.timing.navigationStart||performance.timing.redirectStart||performance.timing.fetchStart)??0);let t=[{name:"code/timeOrigin",startTime:Math.round(r)}];for(let e of performance.getEntriesByType("mark"))t.push({name:e.name,startTime:Math.round(r+e.startTime)});return t}};if(typeof process=="object"){let r=performance?.timeOrigin;return ME(r)}else return console.trace("perf-util loaded in UNKNOWN environment"),ME()}function y8(r){return r.MonacoPerformanceMarks||(r.MonacoPerformanceMarks=v8()),r.MonacoPerformanceMarks}var AE,Wt,I8,_1,Qr=y(()=>{AE=y8(globalThis),Wt=AE.mark,I8=AE.clearMarks,_1=AE.getMarks});function R8(){return globalThis._VSCODE_NLS_MESSAGES}function NE(){return globalThis._VSCODE_NLS_LANGUAGE}function Rv(r,t){let e;return t.length===0?e=r:e=r.replace(/\{(\d+)\}/g,(n,o)=>{let i=parseInt(o,10),s=t[i],a=n;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),P8&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function d(r,t,...e){return Rv(typeof r=="number"?O1(r,t):t,e)}function O1(r,t){let e=R8()?.[r];if(typeof e!="string"){if(typeof t=="string")return t;throw new Error(`!!! NLS MISSING: ${r} !!!`)}return e}function km(r,t,...e){let n;typeof r=="number"?n=O1(r,t):n=t;let o=Rv(n,e);return{value:o,original:t===n?o:Rv(t,e)}}var P8,re=y(()=>{P8=NE()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0});function Am(r){switch(r){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}var Gi,_m,Mm,Dm,U1,F1,H1,UE,W1,FE,k8,V1,Pv,kv,N1,D8,zi,Ts,ar,B1,_8,Dv,te,gt,$e,q1,_v,Lm,$1,yn,HE,z1,G1,K1,Yr,Jr,pn,M8,A8,j1,lr,Om,Q1,J1,Mv,bne,Y1,me=y(()=>{re();Gi="en",_m=!1,Mm=!1,Dm=!1,U1=!1,F1=!1,H1=!1,UE=!1,W1=!1,FE=!1,k8=!1,V1=!1,kv=Gi,N1=Gi,Ts=globalThis;typeof Ts.vscode<"u"&&typeof Ts.vscode.process<"u"?ar=Ts.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(ar=process);B1=typeof ar?.versions?.electron=="string",_8=B1&&ar?.type==="renderer";if(typeof ar=="object"){_m=ar.platform==="win32",Mm=ar.platform==="darwin",Dm=ar.platform==="linux",U1=Dm&&!!ar.env.SNAP&&!!ar.env.SNAP_REVISION,W1=B1,k8=!!ar.env.CI||!!ar.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!ar.env.GITHUB_WORKSPACE,Pv=Gi,kv=Gi;let r=ar.env.VSCODE_NLS_CONFIG;if(r)try{let t=JSON.parse(r);Pv=t.userLocale,N1=t.osLocale,kv=t.resolvedLanguage||Gi,D8=t.languagePack?.translationsConfigFile}catch{}H1=!0}else typeof navigator=="object"&&!_8?(zi=navigator.userAgent,_m=zi.indexOf("Windows")>=0,Mm=zi.indexOf("Macintosh")>=0,FE=(zi.indexOf("Macintosh")>=0||zi.indexOf("iPad")>=0||zi.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Dm=zi.indexOf("Linux")>=0,F1=zi.indexOf("CrOS")>=0,V1=zi?.indexOf("Mobi")>=0,UE=!0,kv=NE()||Gi,Pv=navigator.language.toLowerCase(),N1=Pv):console.error("Unable to resolve platform.");Dv=0;Mm?Dv=1:_m?Dv=3:Dm&&(Dv=2);te=_m,gt=Mm,$e=Dm,q1=U1,_v=F1,Lm=H1,$1=W1,yn=UE,HE=UE&&typeof Ts.importScripts=="function",z1=HE?Ts.origin:void 0,G1=FE,K1=V1,Yr=Dv,Jr=zi,pn=kv;(n=>{function r(){return pn}n.value=r;function t(){return pn.length===2?pn==="en":pn.length>=3?pn[0]==="e"&&pn[1]==="n"&&pn[2]==="-":!1}n.isDefaultVariant=t;function e(){return pn==="en"}n.isDefault=e})(M8||={});A8=typeof Ts.postMessage=="function"&&!Ts.importScripts,j1=(()=>{if(A8){let r=[];Ts.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let n=0,o=r.length;n<o;n++){let i=r[n];if(i.id===e.data.vscodeScheduleAsyncWork){r.splice(n,1),i.callback();return}}});let t=0;return e=>{let n=++t;r.push({id:n,callback:e}),Ts.postMessage({vscodeScheduleAsyncWork:n},"*")}}return r=>setTimeout(r)})(),lr=Mm||FE?2:_m?1:3,Om=!!(Jr&&Jr.indexOf("Chrome")>=0),Q1=!!(Jr&&Jr.indexOf("Firefox")>=0),J1=!!(!Om&&Jr&&Jr.indexOf("Safari")>=0),Mv=!!(Jr&&Jr.indexOf("Edg/")>=0),bne=!!(Jr&&Jr.indexOf("Android")>=0),Y1=!!(Jr&&Jr.indexOf("Electron")>=0)});var Bl,WE,Pr,zt,Av,Lv,cr=y(()=>{me();WE=globalThis.vscode;if(typeof WE<"u"&&typeof WE.process<"u"){let r=WE.process;Bl={get platform(){return r.platform},get arch(){return r.arch},get env(){return r.env},cwd(){return r.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?Bl={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:Bl={get platform(){return te?"win32":gt?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};Pr=Bl.cwd,zt=Bl.env,Av=Bl.platform,Lv=Bl.arch});function H8(r,t){if(r===null||typeof r!="object")throw new Ov(t,"Object",r)}function _n(r,t){if(typeof r!="string")throw new Ov(t,"string",r)}function Ze(r){return r===uo||r===dr}function BE(r){return r===uo}function Ps(r){return r>=L8&&r<=N8||r>=O8&&r<=U8}function Nv(r,t,e,n){let o="",i=0,s=-1,a=0,l=0;for(let c=0;c<=r.length;++c){if(c<r.length)l=r.charCodeAt(c);else{if(n(l))break;l=uo}if(n(l)){if(!(s===c-1||a===1))if(a===2){if(o.length<2||i!==2||o.charCodeAt(o.length-1)!==ql||o.charCodeAt(o.length-2)!==ql){if(o.length>2){let u=o.lastIndexOf(e);u===-1?(o="",i=0):(o=o.slice(0,u),i=o.length-1-o.lastIndexOf(e)),s=c,a=0;continue}else if(o.length!==0){o="",i=0,s=c,a=0;continue}}t&&(o+=o.length>0?`${e}..`:"..",i=2)}else o.length>0?o+=`${e}${r.slice(s+1,c)}`:o=r.slice(s+1,c),i=c-s-1;s=c,a=0}else l===ql&&a!==-1?++a:a=-1}return o}function W8(r){return r?`${r[0]==="."?"":"."}${r}`:""}function X1(r,t){H8(t,"pathObject");let e=t.dir||t.root,n=t.base||`${t.name||""}${W8(t.ext)}`;return e?e===t.root?`${e}${n}`:`${e}${r}${n}`:n}var L8,O8,N8,U8,ql,uo,dr,Rs,F8,Ov,ur,mn,V8,Be,Mn,xo,q,qn,ks,Nt,ut,yi,Cne,Ene,wne,bn,xa,Me=y(()=>{cr();L8=65,O8=97,N8=90,U8=122,ql=46,uo=47,dr=92,Rs=58,F8=63,Ov=class extends Error{constructor(t,e,n){let o;typeof e=="string"&&e.indexOf("not ")===0?(o="must not be",e=e.replace(/^not /,"")):o="must be";let i=t.indexOf(".")!==-1?"property":"argument",s=`The "${t}" ${i} ${o} of type ${e}`;s+=`. Received type ${typeof n}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}};ur=Av==="win32";mn={resolve(...r){let t="",e="",n=!1;for(let o=r.length-1;o>=-1;o--){let i;if(o>=0){if(i=r[o],_n(i,`paths[${o}]`),i.length===0)continue}else t.length===0?i=Pr():(i=zt[`=${t}`]||Pr(),(i===void 0||i.slice(0,2).toLowerCase()!==t.toLowerCase()&&i.charCodeAt(2)===dr)&&(i=`${t}\\`));let s=i.length,a=0,l="",c=!1,u=i.charCodeAt(0);if(s===1)Ze(u)&&(a=1,c=!0);else if(Ze(u))if(c=!0,Ze(i.charCodeAt(1))){let p=2,m=p;for(;p<s&&!Ze(i.charCodeAt(p));)p++;if(p<s&&p!==m){let f=i.slice(m,p);for(m=p;p<s&&Ze(i.charCodeAt(p));)p++;if(p<s&&p!==m){for(m=p;p<s&&!Ze(i.charCodeAt(p));)p++;(p===s||p!==m)&&(l=`\\\\${f}\\${i.slice(m,p)}`,a=p)}}}else a=1;else Ps(u)&&i.charCodeAt(1)===Rs&&(l=i.slice(0,2),a=2,s>2&&Ze(i.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(n){if(t.length>0)break}else if(e=`${i.slice(a)}\\${e}`,n=c,c&&t.length>0)break}return e=Nv(e,!n,"\\",Ze),n?`${t}\\${e}`:`${t}${e}`||"."},normalize(r){_n(r,"path");let t=r.length;if(t===0)return".";let e=0,n,o=!1,i=r.charCodeAt(0);if(t===1)return BE(i)?"\\":r;if(Ze(i))if(o=!0,Ze(r.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Ze(r.charCodeAt(a));)a++;if(a<t&&a!==l){let c=r.slice(l,a);for(l=a;a<t&&Ze(r.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Ze(r.charCodeAt(a));)a++;if(a===t)return`\\\\${c}\\${r.slice(l)}\\`;a!==l&&(n=`\\\\${c}\\${r.slice(l,a)}`,e=a)}}}else e=1;else Ps(i)&&r.charCodeAt(1)===Rs&&(n=r.slice(0,2),e=2,t>2&&Ze(r.charCodeAt(2))&&(o=!0,e=3));let s=e<t?Nv(r.slice(e),!o,"\\",Ze):"";if(s.length===0&&!o&&(s="."),s.length>0&&Ze(r.charCodeAt(t-1))&&(s+="\\"),!o&&n===void 0&&r.includes(":")){if(s.length>=2&&Ps(s.charCodeAt(0))&&s.charCodeAt(1)===Rs)return`.\\${s}`;let a=r.indexOf(":");do if(a===t-1||Ze(r.charCodeAt(a+1)))return`.\\${s}`;while((a=r.indexOf(":",a+1))!==-1)}return n===void 0?o?`\\${s}`:s:o?`${n}\\${s}`:`${n}${s}`},isAbsolute(r){_n(r,"path");let t=r.length;if(t===0)return!1;let e=r.charCodeAt(0);return Ze(e)||t>2&&Ps(e)&&r.charCodeAt(1)===Rs&&Ze(r.charCodeAt(2))},join(...r){if(r.length===0)return".";let t,e;for(let i=0;i<r.length;++i){let s=r[i];_n(s,"path"),s.length>0&&(t===void 0?t=e=s:t+=`\\${s}`)}if(t===void 0)return".";let n=!0,o=0;if(typeof e=="string"&&Ze(e.charCodeAt(0))){++o;let i=e.length;i>1&&Ze(e.charCodeAt(1))&&(++o,i>2&&(Ze(e.charCodeAt(2))?++o:n=!1))}if(n){for(;o<t.length&&Ze(t.charCodeAt(o));)o++;o>=2&&(t=`\\${t.slice(o)}`)}return mn.normalize(t)},relative(r,t){if(_n(r,"from"),_n(t,"to"),r===t)return"";let e=mn.resolve(r),n=mn.resolve(t);if(e===n||(r=e.toLowerCase(),t=n.toLowerCase(),r===t))return"";if(e.length!==r.length||n.length!==t.length){let h=e.split("\\"),v=n.split("\\");h[h.length-1]===""&&h.pop(),v[v.length-1]===""&&v.pop();let I=h.length,E=v.length,w=I<E?I:E,P;for(P=0;P<w&&h[P].toLowerCase()===v[P].toLowerCase();P++);return P===0?n:P===w?E>w?v.slice(P).join("\\"):I>w?"..\\".repeat(I-1-P)+"..":"":"..\\".repeat(I-P)+v.slice(P).join("\\")}let o=0;for(;o<r.length&&r.charCodeAt(o)===dr;)o++;let i=r.length;for(;i-1>o&&r.charCodeAt(i-1)===dr;)i--;let s=i-o,a=0;for(;a<t.length&&t.charCodeAt(a)===dr;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===dr;)l--;let c=l-a,u=s<c?s:c,p=-1,m=0;for(;m<u;m++){let h=r.charCodeAt(o+m);if(h!==t.charCodeAt(a+m))break;h===dr&&(p=m)}if(m!==u){if(p===-1)return n}else{if(c>u){if(t.charCodeAt(a+m)===dr)return n.slice(a+m+1);if(m===2)return n.slice(a+m)}s>u&&(r.charCodeAt(o+m)===dr?p=m:m===2&&(p=3)),p===-1&&(p=0)}let f="";for(m=o+p+1;m<=i;++m)(m===i||r.charCodeAt(m)===dr)&&(f+=f.length===0?"..":"\\..");return a+=p,f.length>0?`${f}${n.slice(a,l)}`:(n.charCodeAt(a)===dr&&++a,n.slice(a,l))},toNamespacedPath(r){if(typeof r!="string"||r.length===0)return r;let t=mn.resolve(r);if(t.length<=2)return r;if(t.charCodeAt(0)===dr){if(t.charCodeAt(1)===dr){let e=t.charCodeAt(2);if(e!==F8&&e!==ql)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Ps(t.charCodeAt(0))&&t.charCodeAt(1)===Rs&&t.charCodeAt(2)===dr)return`\\\\?\\${t}`;return t},dirname(r){_n(r,"path");let t=r.length;if(t===0)return".";let e=-1,n=0,o=r.charCodeAt(0);if(t===1)return Ze(o)?r:".";if(Ze(o)){if(e=n=1,Ze(r.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Ze(r.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&Ze(r.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Ze(r.charCodeAt(a));)a++;if(a===t)return r;a!==l&&(e=n=a+1)}}}}else Ps(o)&&r.charCodeAt(1)===Rs&&(e=t>2&&Ze(r.charCodeAt(2))?3:2,n=e);let i=-1,s=!0;for(let a=t-1;a>=n;--a)if(Ze(r.charCodeAt(a))){if(!s){i=a;break}}else s=!1;if(i===-1){if(e===-1)return".";i=e}return r.slice(0,i)},basename(r,t){t!==void 0&&_n(t,"suffix"),_n(r,"path");let e=0,n=-1,o=!0,i;if(r.length>=2&&Ps(r.charCodeAt(0))&&r.charCodeAt(1)===Rs&&(e=2),t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let s=t.length-1,a=-1;for(i=r.length-1;i>=e;--i){let l=r.charCodeAt(i);if(Ze(l)){if(!o){e=i+1;break}}else a===-1&&(o=!1,a=i+1),s>=0&&(l===t.charCodeAt(s)?--s===-1&&(n=i):(s=-1,n=a))}return e===n?n=a:n===-1&&(n=r.length),r.slice(e,n)}for(i=r.length-1;i>=e;--i)if(Ze(r.charCodeAt(i))){if(!o){e=i+1;break}}else n===-1&&(o=!1,n=i+1);return n===-1?"":r.slice(e,n)},extname(r){_n(r,"path");let t=0,e=-1,n=0,o=-1,i=!0,s=0;r.length>=2&&r.charCodeAt(1)===Rs&&Ps(r.charCodeAt(0))&&(t=n=2);for(let a=r.length-1;a>=t;--a){let l=r.charCodeAt(a);if(Ze(l)){if(!i){n=a+1;break}continue}o===-1&&(i=!1,o=a+1),l===ql?e===-1?e=a:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||o===-1||s===0||s===1&&e===o-1&&e===n+1?"":r.slice(e,o)},format:X1.bind(null,"\\"),parse(r){_n(r,"path");let t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;let e=r.length,n=0,o=r.charCodeAt(0);if(e===1)return Ze(o)?(t.root=t.dir=r,t):(t.base=t.name=r,t);if(Ze(o)){if(n=1,Ze(r.charCodeAt(1))){let p=2,m=p;for(;p<e&&!Ze(r.charCodeAt(p));)p++;if(p<e&&p!==m){for(m=p;p<e&&Ze(r.charCodeAt(p));)p++;if(p<e&&p!==m){for(m=p;p<e&&!Ze(r.charCodeAt(p));)p++;p===e?n=p:p!==m&&(n=p+1)}}}}else if(Ps(o)&&r.charCodeAt(1)===Rs){if(e<=2)return t.root=t.dir=r,t;if(n=2,Ze(r.charCodeAt(2))){if(e===3)return t.root=t.dir=r,t;n=3}}n>0&&(t.root=r.slice(0,n));let i=-1,s=n,a=-1,l=!0,c=r.length-1,u=0;for(;c>=n;--c){if(o=r.charCodeAt(c),Ze(o)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),o===ql?i===-1?i=c:u!==1&&(u=1):i!==-1&&(u=-1)}return a!==-1&&(i===-1||u===0||u===1&&i===a-1&&i===s+1?t.base=t.name=r.slice(s,a):(t.name=r.slice(s,i),t.base=r.slice(s,a),t.ext=r.slice(i,a))),s>0&&s!==n?t.dir=r.slice(0,s-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},V8=(()=>{if(ur){let r=/\\/g;return()=>{let t=Pr().replace(r,"/");return t.slice(t.indexOf("/"))}}return()=>Pr()})(),Be={resolve(...r){let t="",e=!1;for(let n=r.length-1;n>=0&&!e;n--){let o=r[n];_n(o,`paths[${n}]`),o.length!==0&&(t=`${o}/${t}`,e=o.charCodeAt(0)===uo)}if(!e){let n=V8();t=`${n}/${t}`,e=n.charCodeAt(0)===uo}return t=Nv(t,!e,"/",BE),e?`/${t}`:t.length>0?t:"."},normalize(r){if(_n(r,"path"),r.length===0)return".";let t=r.charCodeAt(0)===uo,e=r.charCodeAt(r.length-1)===uo;return r=Nv(r,!t,"/",BE),r.length===0?t?"/":e?"./":".":(e&&(r+="/"),t?`/${r}`:r)},isAbsolute(r){return _n(r,"path"),r.length>0&&r.charCodeAt(0)===uo},join(...r){if(r.length===0)return".";let t=[];for(let e=0;e<r.length;++e){let n=r[e];_n(n,"path"),n.length>0&&t.push(n)}return t.length===0?".":Be.normalize(t.join("/"))},relative(r,t){if(_n(r,"from"),_n(t,"to"),r===t||(r=Be.resolve(r),t=Be.resolve(t),r===t))return"";let e=1,n=r.length,o=n-e,i=1,s=t.length-i,a=o<s?o:s,l=-1,c=0;for(;c<a;c++){let p=r.charCodeAt(e+c);if(p!==t.charCodeAt(i+c))break;p===uo&&(l=c)}if(c===a)if(s>a){if(t.charCodeAt(i+c)===uo)return t.slice(i+c+1);if(c===0)return t.slice(i+c)}else o>a&&(r.charCodeAt(e+c)===uo?l=c:c===0&&(l=0));let u="";for(c=e+l+1;c<=n;++c)(c===n||r.charCodeAt(c)===uo)&&(u+=u.length===0?"..":"/..");return`${u}${t.slice(i+l)}`},toNamespacedPath(r){return r},dirname(r){if(_n(r,"path"),r.length===0)return".";let t=r.charCodeAt(0)===uo,e=-1,n=!0;for(let o=r.length-1;o>=1;--o)if(r.charCodeAt(o)===uo){if(!n){e=o;break}}else n=!1;return e===-1?t?"/":".":t&&e===1?"//":r.slice(0,e)},basename(r,t){t!==void 0&&_n(t,"suffix"),_n(r,"path");let e=0,n=-1,o=!0,i;if(t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let s=t.length-1,a=-1;for(i=r.length-1;i>=0;--i){let l=r.charCodeAt(i);if(l===uo){if(!o){e=i+1;break}}else a===-1&&(o=!1,a=i+1),s>=0&&(l===t.charCodeAt(s)?--s===-1&&(n=i):(s=-1,n=a))}return e===n?n=a:n===-1&&(n=r.length),r.slice(e,n)}for(i=r.length-1;i>=0;--i)if(r.charCodeAt(i)===uo){if(!o){e=i+1;break}}else n===-1&&(o=!1,n=i+1);return n===-1?"":r.slice(e,n)},extname(r){_n(r,"path");let t=-1,e=0,n=-1,o=!0,i=0;for(let s=r.length-1;s>=0;--s){let a=r[s];if(a==="/"){if(!o){e=s+1;break}continue}n===-1&&(o=!1,n=s+1),a==="."?t===-1?t=s:i!==1&&(i=1):t!==-1&&(i=-1)}return t===-1||n===-1||i===0||i===1&&t===n-1&&t===e+1?"":r.slice(t,n)},format:X1.bind(null,"/"),parse(r){_n(r,"path");let t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;let e=r.charCodeAt(0)===uo,n;e?(t.root="/",n=1):n=0;let o=-1,i=0,s=-1,a=!0,l=r.length-1,c=0;for(;l>=n;--l){let u=r.charCodeAt(l);if(u===uo){if(!a){i=l+1;break}continue}s===-1&&(a=!1,s=l+1),u===ql?o===-1?o=l:c!==1&&(c=1):o!==-1&&(c=-1)}if(s!==-1){let u=i===0&&e?1:i;o===-1||c===0||c===1&&o===s-1&&o===i+1?t.base=t.name=r.slice(u,s):(t.name=r.slice(u,o),t.base=r.slice(u,s),t.ext=r.slice(o,s))}return i>0?t.dir=r.slice(0,i-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Be.win32=mn.win32=mn;Be.posix=mn.posix=Be;Mn=ur?mn.normalize:Be.normalize,xo=ur?mn.isAbsolute:Be.isAbsolute,q=ur?mn.join:Be.join,qn=ur?mn.resolve:Be.resolve,ks=ur?mn.relative:Be.relative,Nt=ur?mn.dirname:Be.dirname,ut=ur?mn.basename:Be.basename,yi=ur?mn.extname:Be.extname,Cne=ur?mn.format:Be.format,Ene=ur?mn.parse:Be.parse,wne=ur?mn.toNamespacedPath:Be.toNamespacedPath,bn=ur?mn.sep:Be.sep,xa=ur?mn.delimiter:Be.delimiter});function n0(r,t){let e=Object.create(null);for(let n of r){let o=t(n),i=e[o];i||(i=e[o]=[]),i.push(n)}return e}var e0,t0,Z1,qE=y(()=>{Z1=class{constructor(t,e){this.toKey=e;this._map=new Map;this[e0]="SetWithKey";for(let n of t)this.add(n)}get size(){return this._map.size}add(t){let e=this.toKey(t);return this._map.set(e,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,e){this._map.forEach(n=>t.call(e,n,n,this))}[(t0=Symbol.iterator,e0=Symbol.toStringTag,t0)](){return this.values()}}});function Hv(r){bd.setUnexpectedErrorHandler(r)}function Wv(r){if(!r||typeof r!="object")return!1;let t=r;return t.code==="EPIPE"&&t.syscall?.toUpperCase()==="WRITE"}function Ca(r){bd.onUnexpectedError(r)}function st(r){on(r)||bd.onUnexpectedError(r)}function o0(r){on(r)||bd.onUnexpectedExternalError(r)}function on(r){return r instanceof et?!0:r instanceof Error&&r.name===Uv&&r.message===Uv}function Nm(){let r=new Error(Uv);return r.name=r.message,r}function at(r){return r?new Error(`Illegal argument: ${r}`):new Error("Illegal argument")}function Vv(r){return r?new Error(`Illegal state: ${r}`):new Error("Illegal state")}function ye(r){return r?r.message?r.message:r.stack?r.stack.split(`
`)[0]:String(r):"Error"}var $E,bd,Uv,et,Fv,Yn,It,Ee=y(()=>{$E=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Yn.isErrorNoTelemetry(t)?new Yn(t.message+`
`+t.stack):new Error(t.message+`
`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},bd=new $E;Uv="Canceled";et=class extends Error{constructor(){super(Uv),this.name=this.message}},Fv=class r extends Error{static{this._name="PendingMigrationError"}static is(t){return t instanceof r||t instanceof Error&&t.name===r._name}constructor(t){super(t),this.name=r._name}};Yn=class r extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof r)return t;let e=new r;return e.message=t.message,e.stack=t.stack,e}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},It=class r extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,r.prototype)}}});function $l(r,t){let e=this,n=!1,o;return function(){if(n)return o;if(n=!0,t)try{o=r.apply(e,arguments)}finally{t()}else o=r.apply(e,arguments);return o}}var Um=y(()=>{});function s0(r,t,e=r.length-1){let n=B8(r,t,e);if(n!==-1)return r[n]}function B8(r,t,e=r.length-1){for(let n=e;n>=0;n--){let o=r[n];if(t(o,n))return n}return-1}function q8(r,t,e=0,n=r.length){let o=e,i=n;for(;o<i;){let s=Math.floor((o+i)/2);t(r[s])?o=s+1:i=s}return o-1}function a0(r,t,e=0,n=r.length){let o=e,i=n;for(;o<i;){let s=Math.floor((o+i)/2);t(r[s])?i=s:o=s+1}return o}var i0,zE=y(()=>{i0=class r{constructor(t){this._array=t;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(t){if(r.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let e=q8(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}}});function Gt(r,t,e=(n,o)=>n===o){if(r===t)return!0;if(!r||!t||r.length!==t.length)return!1;for(let n=0,o=r.length;n<o;n++)if(!e(r[n],t[n]))return!1;return!0}function c0(r,t,e){return $8(r.length,n=>e(r[n],t))}function $8(r,t){let e=0,n=r-1;for(;e<=n;){let o=(e+n)/2|0,i=t(o);if(i<0)e=o+1;else if(i>0)n=o-1;else return o}return-(e+1)}function Bv(r,t,e){if(r=r|0,r>=t.length)throw new TypeError("invalid index");let n=t[Math.floor(t.length*Math.random())],o=[],i=[],s=[];for(let a of t){let l=e(a,n);l<0?o.push(a):l>0?i.push(a):s.push(a)}return r<o.length?Bv(r,o,e):r<o.length+s.length?s[0]:Bv(r-(o.length+s.length),i,e)}function d0(r,t,e){if(e===0)return[];let n=r.slice(0,e).sort(t);return z8(r,t,n,e,r.length),n}function z8(r,t,e,n,o){for(let i=e.length;n<o;n++){let s=r[n];if(t(s,e[i-1])<0){e.pop();let a=a0(e,l=>t(s,l)<0);e.splice(a,0,s)}}}function Qo(r){return r.filter(t=>!!t)}function u0(r){let t=0;for(let e=0;e<r.length;e++)r[e]&&(r[t]=r[e],t+=1);r.length=t}function zl(r){return Array.isArray(r)&&r.length>0}function Xn(r,t=e=>e){let e=new Set;return r.filter(n=>{let o=t(n);return e.has(o)?!1:(e.add(o),!0)})}function GE(r,t){return r.push(t),()=>G8(r,t)}function G8(r,t){let e=r.indexOf(t);if(e>-1)return r.splice(e,1),t}function KE(r,t){let e;if(typeof t=="number"){let n=t;e=()=>{let o=Math.sin(n++)*179426549;return o-Math.floor(o)}}else e=Math.random;for(let n=r.length-1;n>0;n-=1){let o=Math.floor(e()*(n+1)),i=r[n];r[n]=r[o],r[o]=i}}function Sd(r){return Array.isArray(r)?r:[r]}function p0(r){return r[Math.floor(Math.random()*r.length)]}function g0(r,t){return(e,n)=>t(r(e),r(n))}var m0,f0,l0,At=y(()=>{zE();Ee();(a=>{function r(l){return l<0}a.isLessThan=r;function t(l){return l<=0}a.isLessThanOrEqual=t;function e(l){return l>0}a.isGreaterThan=e;function n(l){return l===0}a.isNeitherLessOrGreaterThan=n,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(m0||={});f0=(r,t)=>r-t,l0=class r{constructor(t){this.iterate=t}static{this.empty=new r(t=>{})}forEach(t){this.iterate(e=>(t(e),!0))}toArray(){let t=[];return this.iterate(e=>(t.push(e),!0)),t}filter(t){return new r(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new r(e=>this.iterate(n=>e(t(n))))}some(t){let e=!1;return this.iterate(n=>(e=t(n),!e)),e}findFirst(t){let e;return this.iterate(n=>t(n)?(e=n,!1):!0),e}findLast(t){let e;return this.iterate(n=>(t(n)&&(e=n),!0)),e}findLastMaxBy(t){let e,n=!0;return this.iterate(o=>((n||m0.isGreaterThan(t(o,e)))&&(n=!1,e=o),!0)),e}}});function I0(r){let t=[];return r.forEach((e,n)=>{t.push(`${n} => ${e}`)}),`Map(${r.size}) {${t.join(", ")}}`}function b0(r){let t=[];return r.forEach(e=>{t.push(e)}),`Set(${r.size}) {${t.join(", ")}}`}function K8(r){return Array.isArray(r)}var jE,h0,tt,v0,Ds,y0,QE,JE,Ki,$v,Sn=y(()=>{jE=class{constructor(t,e){this.uri=t;this.value=e}};tt=class r{constructor(t,e){this[h0]="ResourceMap";if(t instanceof r)this.map=new Map(t.map),this.toKey=e??r.defaultToKey;else if(K8(t)){this.map=new Map,this.toKey=e??r.defaultToKey;for(let[n,o]of t)this.set(n,o)}else this.map=new Map,this.toKey=t??r.defaultToKey}static{this.defaultToKey=t=>t.toString()}set(t,e){return this.map.set(this.toKey(t),new jE(t,e)),this}get(t){return this.map.get(this.toKey(t))?.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,e){typeof e<"u"&&(t=t.bind(e));for(let[n,o]of this.map)t(o.value,o.uri,this)}*values(){for(let t of this.map.values())yield t.value}*keys(){for(let t of this.map.values())yield t.uri}*entries(){for(let t of this.map.values())yield[t.uri,t.value]}*[(h0=Symbol.toStringTag,Symbol.iterator)](){for(let[,t]of this.map)yield[t.uri,t.value]}},Ds=class{constructor(t,e){this[v0]="ResourceSet";!t||typeof t=="function"?this._map=new tt(t):(this._map=new tt(e),t.forEach(this.add,this))}get size(){return this._map.size}add(t){return this._map.set(t,t),this}clear(){this._map.clear()}delete(t){return this._map.delete(t)}forEach(t,e){this._map.forEach((n,o)=>t.call(e,o,o,this))}has(t){return this._map.has(t)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(v0=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},QE=class{constructor(){this[y0]="LinkedMap";this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(t){return this._map.has(t)}get(t,e=0){let n=this._map.get(t);if(n)return e!==0&&this.touch(n,e),n.value}set(t,e,n=0){let o=this._map.get(t);if(o)o.value=e,n!==0&&this.touch(o,n);else{switch(o={key:t,value:e,next:void 0,previous:void 0},n){case 0:this.addItemLast(o);break;case 1:this.addItemFirst(o);break;case 2:this.addItemLast(o);break;default:this.addItemLast(o);break}this._map.set(t,o),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){let e=this._map.get(t);if(e)return this._map.delete(t),this.removeItem(e),this._size--,e.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,e){let n=this._state,o=this._head;for(;o;){if(e?t.bind(e)(o.value,o.key,this):t(o.value,o.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");o=o.next}}keys(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.key,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return o}values(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.value,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return o}entries(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:[n.key,n.value],done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return o}[(y0=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let e=this._head,n=this.size;for(;e&&n>t;)this._map.delete(e.key),e=e.next,n--;this._head=e,this._size=n,e&&(e.previous=void 0),this._state++}trimNew(t){if(t>=this.size)return;if(t===0){this.clear();return}let e=this._tail,n=this.size;for(;e&&n>t;)this._map.delete(e.key),e=e.previous,n--;this._tail=e,this._size=n,e&&(e.next=void 0),this._state++}addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._head)t.next=this._head,this._head.previous=t;else throw new Error("Invalid list");this._head=t,this._state++}addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._tail)t.previous=this._tail,this._tail.next=t;else throw new Error("Invalid list");this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{let e=t.next,n=t.previous;if(!e||!n)throw new Error("Invalid list");e.previous=n,n.next=e}t.next=void 0,t.previous=void 0,this._state++}touch(t,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(e!==1&&e!==2)){if(e===1){if(t===this._head)return;let n=t.next,o=t.previous;t===this._tail?(o.next=void 0,this._tail=o):(n.previous=o,o.next=n),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(e===2){if(t===this._tail)return;let n=t.next,o=t.previous;t===this._head?(n.previous=void 0,this._head=n):(n.previous=o,o.next=n),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}}toJSON(){let t=[];return this.forEach((e,n)=>{t.push([n,e])}),t}fromJSON(t){this.clear();for(let[e,n]of t)this.set(e,n)}},JE=class extends QE{constructor(t,e=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,e),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get ratio(){return this._ratio}set ratio(t){this._ratio=Math.min(Math.max(0,t),1),this.checkTrim()}get(t,e=2){return super.get(t,e)}peek(t){return super.get(t,0)}set(t,e){return super.set(t,e,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},Ki=class extends JE{constructor(t,e=1){super(t,e)}trim(t){this.trimOld(t)}set(t,e){return super.set(t,e),this.checkTrim(),this}},$v=class{constructor(){this.map=new Map}add(t,e){let n=this.map.get(t);n||(n=new Set,this.map.set(t,n)),n.add(e)}delete(t,e){let n=this.map.get(t);n&&(n.delete(e),n.size===0&&this.map.delete(t))}forEach(t,e){let n=this.map.get(t);n&&n.forEach(e)}get(t){let e=this.map.get(t);return e||new Set}}});function zv(r,t){if(!r)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function Gl(r,t="Unreachable"){throw new Error(t)}function Kl(r,t="unexpected state"){if(!r)throw typeof t=="string"?new It(`Assertion Failed: ${t}`):t}function Fm(r){r()||(r(),st(new It("Assertion Failed")))}var Xr=y(()=>{Ee()});function j(r){return typeof r=="string"}function _e(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&!(r instanceof RegExp)&&!(r instanceof Date)}function S0(r){let t=Object.getPrototypeOf(Uint8Array);return typeof r=="object"&&r instanceof t}function po(r){return typeof r=="number"&&!isNaN(r)}function x0(r){return!!r&&typeof r[Symbol.iterator]=="function"}function Jo(r){return r===!0||r===!1}function Wn(r){return typeof r>"u"}function Zr(r){return!qt(r)}function qt(r){return Wn(r)||r===null}function Hm(r){return Kl(r!=null,"Argument is `undefined` or `null`."),r}function Ea(r){if(!_e(r))return!1;for(let t in r)if(Q8.call(r,t))return!1;return!0}function xd(r){return typeof r=="function"}function C0(r,t){if(j(t)){if(typeof r!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(xd(t)){try{if(r instanceof t)return}catch{}if(!qt(r)&&r.constructor===t||t.length===1&&t.call(void 0,r)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function xn(r,t){for(let e in t)if(!(e in r))return!1;return!0}var Q8,we=y(()=>{Xr();Q8=Object.prototype.hasOwnProperty});var Xt,ei=y(()=>{we();(fe=>{function r(H){return!!H&&typeof H=="object"&&typeof H[Symbol.iterator]=="function"}fe.is=r;let t=Object.freeze([]);function e(){return t}fe.empty=e;function*n(H){yield H}fe.single=n;function o(H){return r(H)?H:n(H)}fe.wrap=o;function i(H){return H??t}fe.from=i;function*s(H){for(let le=H.length-1;le>=0;le--)yield H[le]}fe.reverse=s;function a(H){return!H||H[Symbol.iterator]().next().done===!0}fe.isEmpty=a;function l(H){return H[Symbol.iterator]().next().value}fe.first=l;function c(H,le){let Q=0;for(let F of H)if(le(F,Q++))return!0;return!1}fe.some=c;function u(H,le){let Q=0;for(let F of H)if(!le(F,Q++))return!1;return!0}fe.every=u;function p(H,le){for(let Q of H)if(le(Q))return Q}fe.find=p;function*m(H,le){for(let Q of H)le(Q)&&(yield Q)}fe.filter=m;function*f(H,le){let Q=0;for(let F of H)yield le(F,Q++)}fe.map=f;function*h(H,le){let Q=0;for(let F of H)yield*le(F,Q++)}fe.flatMap=h;function*v(...H){for(let le of H)x0(le)?yield*le:yield le}fe.concat=v;function I(H,le,Q){let F=Q;for(let Y of H)F=le(F,Y);return F}fe.reduce=I;function E(H){let le=0;for(let Q of H)le++;return le}fe.length=E;function*w(H,le,Q=H.length){for(le<-H.length&&(le=0),le<0&&(le+=H.length),Q<0?Q+=H.length:Q>H.length&&(Q=H.length);le<Q;le++)yield H[le]}fe.slice=w;function P(H,le=Number.POSITIVE_INFINITY){let Q=[];if(le===0)return[Q,H];let F=H[Symbol.iterator]();for(let Y=0;Y<le;Y++){let xe=F.next();if(xe.done)return[Q,fe.empty()];Q.push(xe.value)}return[Q,{[Symbol.iterator](){return F}}]}fe.consume=P;async function k(H){let le=[];for await(let Q of H)le.push(Q);return le}fe.asyncToArray=k;async function O(H){let le=[];for await(let Q of H)le=le.concat(Q);return le}fe.asyncToArrayFlat=O})(Xt||={})});function Y8(r){Cd=r}function wa(r){return Cd?.trackDisposable(r),r}function Ta(r){Cd?.markAsDisposed(r)}function Ql(r,t){Cd?.setParent(r,t)}function X8(r,t){if(Cd)for(let e of r)Cd.setParent(e,t)}function Gv(r){return typeof r=="object"&&r!==null&&typeof r.dispose=="function"&&r.dispose.length===0}function gn(r){if(Xt.is(r)){let t=[];for(let e of r)if(e)try{e.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(r)?[]:r}else if(r)return r.dispose(),r}function Kv(...r){let t=ce(()=>gn(r));return X8(r,t),t}function ce(r){return new YE(r)}function w0(r,t){return r.then(e=>(t.isDisposed?e.dispose():t.add(e),e))}var J8,Cd,E0,YE,ie,_,$n,Fo,K=y(()=>{At();qE();Sn();Um();ei();Ee();J8=!1,Cd=null,E0=class r{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(t){let e=this.livingDisposables.get(t);return e||(e={parent:null,source:null,isSingleton:!1,value:t,idx:r.idx++},this.livingDisposables.set(t,e)),e}trackDisposable(t,e){let n=this.getDisposableData(t);n.source||(n.source=e??new Error)}setParent(t,e){let n=this.getDisposableData(t);n.parent=e}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,e){let n=e.get(t);if(n)return n;let o=t.parent?this.getRootParent(this.getDisposableData(t.parent),e):t;return e.set(t,o),o}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,n])=>n.source!==null&&!this.getRootParent(n,t).isSingleton).flatMap(([n])=>n)}computeLeakingDisposables(t=10,e){let n;if(e)n=e;else{let l=new Map,c=[...this.livingDisposables.values()].filter(p=>p.source!==null&&!this.getRootParent(p,l).isSingleton);if(c.length===0)return;let u=new Set(c.map(p=>p.value));if(n=c.filter(p=>!(p.parent&&u.has(p.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function o(l){function c(p,m){for(;p.length>0&&m.some(f=>typeof f=="string"?f===p[0]:p[0].match(f));)p.shift()}let u=l.source.stack.split(`
`).map(p=>p.trim().replace("at ","")).filter(p=>p!=="");return c(u,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),u.reverse()}let i=new $v;for(let l of n){let c=o(l);for(let u=0;u<=c.length;u++)i.add(c.slice(0,u).join(`
`),l)}n.sort(g0(l=>l.idx,f0));let s="",a=0;for(let l of n.slice(0,t)){a++;let c=o(l),u=[];for(let p=0;p<c.length;p++){let m=c[p];m=`(shared with ${i.get(c.slice(0,p+1).join(`
`)).size}/${n.length} leaks) at ${m}`;let h=i.get(c.slice(0,p).join(`
`)),v=n0([...h].map(I=>o(I)[p]),I=>I);delete v[c[p]];for(let[I,E]of Object.entries(v))E&&u.unshift(` - stacktraces of ${E.length} other leaks continue with ${I}`);u.unshift(m)}s+=`
==================== Leaking disposable ${a}/${n.length}: ${l.value.constructor.name} ====================
${u.join(`
`)}
============================================================
`}return n.length>t&&(s+=`
... and ${n.length-t} more leaking disposables
`),{leaks:n,details:s}}};if(J8){let r="__is_disposable_tracked__";Y8(new class{trackDisposable(t){let e=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[r]||console.log(e)},3e3)}setParent(t,e){if(t&&t!==_.None)try{t[r]=!0}catch{}}markAsDisposed(t){if(t&&t!==_.None)try{t[r]=!0}catch{}}markAsSingleton(t){}})}YE=class{constructor(t){this._isDisposed=!1,this._fn=t,wa(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,Ta(this),this._fn()}}};ie=class r{constructor(){this._toDispose=new Set;this._isDisposed=!1;wa(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(Ta(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{gn(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t||t===_.None)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return Ql(t,this),this._isDisposed?r.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.delete(t)&&Ql(t,null)}assertNotDisposed(){this._isDisposed&&st(new It("Object disposed"))}},_=class{constructor(){this._store=new ie;wa(this),Ql(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){Ta(this),this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}},$n=class{constructor(){this._isDisposed=!1;wa(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&Ql(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Ta(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&Ql(t,null),t}},Fo=class{constructor(t=new Map){this._isDisposed=!1;this._store=t,wa(this)}dispose(){Ta(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{gn(this._store.values())}finally{this._store.clear()}}has(t){return this._store.has(t)}get size(){return this._store.size}get(t){return this._store.get(t)}set(t,e,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(t)?.dispose(),this._store.set(t,e),Ql(e,this)}deleteAndDispose(t){this._store.get(t)?.dispose(),this._store.delete(t)}deleteAndLeak(t){let e=this._store.get(t);return e&&Ql(e,null),this._store.delete(t),e}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}});var rn,Ra,jv=y(()=>{rn=class r{static{this.Undefined=new r(void 0)}constructor(t){this.element=t,this.next=r.Undefined,this.prev=r.Undefined}},Ra=class{constructor(){this._first=rn.Undefined;this._last=rn.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===rn.Undefined}clear(){let t=this._first;for(;t!==rn.Undefined;){let e=t.next;t.prev=rn.Undefined,t.next=rn.Undefined,t=e}this._first=rn.Undefined,this._last=rn.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let n=new rn(t);if(this._first===rn.Undefined)this._first=n,this._last=n;else if(e){let i=this._last;this._last=n,n.prev=i,i.next=n}else{let i=this._first;this._first=n,n.next=i,i.prev=n}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(n))}}shift(){if(this._first!==rn.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==rn.Undefined){let t=this._last.element;return this._remove(this._last),t}}peek(){if(this._last!==rn.Undefined)return this._last.element}_remove(t){if(t.prev!==rn.Undefined&&t.next!==rn.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===rn.Undefined&&t.next===rn.Undefined?(this._first=rn.Undefined,this._last=rn.Undefined):t.next===rn.Undefined?(this._last=this._last.prev,this._last.next=rn.Undefined):t.prev===rn.Undefined&&(this._first=this._first.next,this._first.prev=rn.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==rn.Undefined;)yield t.element,t=t.next}}});var Z8,Zn,_s=y(()=>{Z8=globalThis.performance.now.bind(globalThis.performance),Zn=class r{static create(t){return new r(t)}constructor(t){this._now=t===!1?Date.now:Z8,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}});function P0(){return!!zt.VSCODE_DEV}function _0(){return(n$++).toString(16).padStart(3,"0")}function nw(r,t){t instanceof ie?t.add(r):Array.isArray(t)&&t.push(r)}function D0(r,t){if(t instanceof ie)t.delete(r);else if(Array.isArray(t)){let e=t.indexOf(r);e!==-1&&t.splice(e,1)}r.dispose()}var T0,e$,t$,R0,V,XE,k0,n$,ZE,wd,Td,ew,o$,Ed,r$,i$,T,tw,Jl,Qv,Wm,de=y(()=>{qE();Ee();Um();K();jv();cr();_s();T0=!1,e$=!1,t$=100,R0=6e4;(Bt=>{Bt.None=()=>_.None;function t(ee){if(e$){let{onDidAddListener:J}=ee,ae=wd.create(),N=0;ee.onDidAddListener=()=>{++N===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),ae.print()),J?.()}}}function e(ee,J,ae){return f(ee,()=>{},0,void 0,J??!0,void 0,ae)}Bt.defer=e;function n(ee){return(J,ae=null,N)=>{let G=!1,ne;return ne=ee(he=>{if(!G)return ne?ne.dispose():G=!0,J.call(ae,he)},null,N),G&&ne.dispose(),ne}}Bt.once=n;function o(ee,J){return Bt.once(Bt.filter(ee,J))}Bt.onceIf=o;function i(ee,J,ae){return p((N,G=null,ne)=>ee(he=>N.call(G,J(he)),null,ne),ae)}Bt.map=i;function s(ee,J,ae){return p((N,G=null,ne)=>ee(he=>{J(he),N.call(G,he)},null,ne),ae)}Bt.forEach=s;function a(ee,J,ae){return p((N,G=null,ne)=>ee(he=>J(he)&&N.call(G,he),null,ne),ae)}Bt.filter=a;function l(ee){return ee}Bt.signal=l;function c(...ee){return(J,ae=null,N)=>{let G=Kv(...ee.map(ne=>ne(he=>J.call(ae,he))));return m(G,N)}}Bt.any=c;function u(ee,J,ae,N){let G=ae;return i(ee,ne=>(G=J(G,ne),G),N)}Bt.reduce=u;function p(ee,J){let ae,N={onWillAddFirstListener(){ae=ee(G.fire,G)},onDidRemoveLastListener(){ae?.dispose()}};J||t(N);let G=new T(N);return J?.add(G),G.event}function m(ee,J){return J instanceof Array?J.push(ee):J&&J.add(ee),ee}function f(ee,J,ae=100,N=!1,G=!1,ne,he){let Xe=_.None,Qe,St,rt=0,Mt,Fn={leakWarningThreshold:ne,onWillAddFirstListener(){Xe=ee(qi=>{rt++,Qe=J(Qe,qi),N&&!St&&(No.fire(Qe),Qe=void 0),Mt=()=>{let ir=Qe;Qe=void 0,St=void 0,(!N||rt>1)&&No.fire(ir),rt=0},typeof ae=="number"?(St&&clearTimeout(St),St=setTimeout(Mt,ae)):St===void 0&&(St=null,queueMicrotask(Mt))})},onWillRemoveListener(){G&&rt>0&&Mt?.()},onDidRemoveLastListener(){Mt=void 0,Xe.dispose()}};he||t(Fn);let No=new T(Fn);return he?.add(No),No.event}Bt.debounce=f;function h(ee,J=0,ae,N){return Bt.debounce(ee,(G,ne)=>G?(G.push(ne),G):[ne],J,void 0,ae??!0,void 0,N)}Bt.accumulate=h;function v(ee,J,ae=100,N=!0,G=!0,ne,he){let Xe,Qe,St,rt=0,Mt={leakWarningThreshold:ne,onWillAddFirstListener(){Xe=ee(No=>{rt++,Qe=J(Qe,No),St===void 0&&(N&&(Fn.fire(Qe),Qe=void 0,rt=0),typeof ae=="number"?St=setTimeout(()=>{G&&rt>0&&Fn.fire(Qe),Qe=void 0,St=void 0,rt=0},ae):(St=0,queueMicrotask(()=>{G&&rt>0&&Fn.fire(Qe),Qe=void 0,St=void 0,rt=0})))})},onDidRemoveLastListener(){Xe.dispose()}};he||t(Mt);let Fn=new T(Mt);return he?.add(Fn),Fn.event}Bt.throttle=v;function I(ee,J=(N,G)=>N===G,ae){let N=!0,G;return a(ee,ne=>{let he=N||!J(ne,G);return N=!1,G=ne,he},ae)}Bt.latch=I;function E(ee,J,ae){return[Bt.filter(ee,J,ae),Bt.filter(ee,N=>!J(N),ae)]}Bt.split=E;function w(ee,J,ae=!1,N=[],G){let ne=N.slice(),he;P0()&&(he={stack:wd.create(),timerId:setTimeout(()=>{ne&&ne.length>0&&he&&!he.warned&&(he.warned=!0,console.warn(`[Event.buffer][${J}] potential LEAK detected: ${ne.length} events buffered for ${R0/1e3}s without being consumed. Buffered here:`),he.stack.print())},R0),warned:!1},G&&G.add(ce(()=>clearTimeout(he.timerId))));let Xe=()=>{he&&clearTimeout(he.timerId)},Qe=ee(Mt=>{ne?(ne.push(Mt),P0()&&he&&!he.warned&&ne.length>=t$&&(he.warned=!0,console.warn(`[Event.buffer][${J}] potential LEAK detected: ${ne.length} events buffered without being consumed. Buffered here:`),he.stack.print())):rt.fire(Mt)});G&&G.add(Qe);let St=()=>{ne?.forEach(Mt=>rt.fire(Mt)),ne=null,Xe()},rt=new T({onWillAddFirstListener(){Qe||(Qe=ee(Mt=>rt.fire(Mt)),G&&G.add(Qe))},onDidAddFirstListener(){ne&&(ae?setTimeout(St):St())},onDidRemoveLastListener(){Qe&&Qe.dispose(),Qe=null,Xe()}});return G&&G.add(rt),rt.event}Bt.buffer=w;function P(ee,J){return(N,G,ne)=>{let he=J(new O);return ee(function(Xe){let Qe=he.evaluate(Xe);Qe!==k&&N.call(G,Qe)},void 0,ne)}}Bt.chain=P;let k=Symbol("HaltChainable");class O{constructor(){this.steps=[]}map(J){return this.steps.push(J),this}forEach(J){return this.steps.push(ae=>(J(ae),ae)),this}filter(J){return this.steps.push(ae=>J(ae)?ae:k),this}reduce(J,ae){let N=ae;return this.steps.push(G=>(N=J(N,G),N)),this}latch(J=(ae,N)=>ae===N){let ae=!0,N;return this.steps.push(G=>{let ne=ae||!J(G,N);return ae=!1,N=G,ne?G:k}),this}evaluate(J){for(let ae of this.steps)if(J=ae(J),J===k)break;return J}}function fe(ee,J,ae=N=>N){let N=(...Xe)=>he.fire(ae(...Xe)),G=()=>ee.on(J,N),ne=()=>ee.removeListener(J,N),he=new T({onWillAddFirstListener:G,onDidRemoveLastListener:ne});return he.event}Bt.fromNodeEventEmitter=fe;function H(ee,J,ae=N=>N){let N=(...Xe)=>he.fire(ae(...Xe)),G=()=>ee.addEventListener(J,N),ne=()=>ee.removeEventListener(J,N),he=new T({onWillAddFirstListener:G,onDidRemoveLastListener:ne});return he.event}Bt.fromDOMEventEmitter=H;function le(ee,J){let ae,N,G=new Promise(ne=>{N=n(ee)(ne),nw(N,J),ae=()=>{D0(N,J)}});return G.cancel=ae,J&&G.finally(()=>D0(N,J)),G}Bt.toPromise=le;function Q(ee,J){return ee(ae=>J.fire(ae))}Bt.forward=Q;function F(ee,J,ae){return J(ae),ee(N=>J(N))}Bt.runAndSubscribe=F;class Y{constructor(J,ae){this._observable=J;this._counter=0;this._hasChanged=!1;let N={onWillAddFirstListener:()=>{J.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{J.removeObserver(this)}};ae||t(N),this.emitter=new T(N),ae&&ae.add(this.emitter)}beginUpdate(J){this._counter++}handlePossibleChange(J){}handleChange(J,ae){this._hasChanged=!0}endUpdate(J){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function xe(ee,J){return new Y(ee,J).emitter.event}Bt.fromObservable=xe;function vn(ee){return(J,ae,N)=>{let G=0,ne=!1,he={beginUpdate(){G++},endUpdate(){G--,G===0&&(ee.reportChanges(),ne&&(ne=!1,J.call(ae)))},handlePossibleChange(){},handleChange(){ne=!0}};ee.addObserver(he),ee.reportChanges();let Xe={dispose(){ee.removeObserver(he)}};return nw(Xe,N),Xe}}Bt.fromObservableLight=vn})(V||={});XE=class r{constructor(t){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${t}_${r._idPool++}`,r.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(t){this._stopWatch=new Zn,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}},k0=-1,n$=1;ZE=class{constructor(t,e,n=_0()){this._errorHandler=t;this.threshold=e;this.name=n;this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,e){let n=this.threshold;if(n<=0||e<n)return;this._stacks||(this._stacks=new Map);let o=t.value,i=this._stacks.get(o)||0;if(this._stacks.set(o,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[s,a]=this.getMostFrequentStack(),l=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,c=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${a}):`;console.warn(c),console.warn(s);let u=a/e>.3?"dominated":"popular",p=new Td(u,c,s,e,l);this._errorHandler(p)}return()=>{let s=this._stacks.get(o)||0;s<=1?this._stacks.delete(o):this._stacks.set(o,s-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,e=0;for(let[n,o]of this._stacks)(!t||e<o)&&(t=[n,o],e=o);return t}},wd=class r{constructor(t){this.value=t}static create(){let t=new Error;return new r(t.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},Td=class r extends Error{constructor(t,e,n,o,i){super(i?`[${i}] potential listener LEAK detected, ${t}`:`potential listener LEAK detected, ${t}`),this.name="ListenerLeakError",this.kind=t,this.listenerCount=o,this.details=e,this.stack=n}static is(t){return t instanceof r||t instanceof Error&&typeof t.kind=="string"&&typeof t.listenerCount=="number"}},ew=class extends Td{constructor(t,e,n,o,i){super(t,e,n,o,i),this.name="ListenerRefusalError"}},o$=0,Ed=class{constructor(t){this.value=t;this.id=o$++}},r$=2,i$=(r,t)=>{if(r instanceof Ed)t(r);else for(let e=0;e<r.length;e++){let n=r[e];n&&t(n)}},T=class{constructor(t){this._size=0;this._options=t,(k0>0||this._options?.leakWarningThreshold)&&(this._leakWarningThreshold=this._options?.leakWarningThreshold??k0,this._leakWarningName=this._options?.leakWarningName??_0(),this._leakWarningErrorHandler=this._options?.onListenerError??st),this._perfMon=this._options?._profName?new XE(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}_getLeakageMonitor(){if(!(this._leakWarningThreshold===void 0||this._leakWarningName===void 0||this._leakWarningErrorHandler===void 0))return this._leakageMon??=new ZE(this._leakWarningErrorHandler,this._leakWarningThreshold,this._leakWarningName)}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(T0){let t=this._listeners;queueMicrotask(()=>{i$(t,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,e,n)=>{if(this._leakWarningThreshold!==void 0&&this._size>this._leakWarningThreshold**2){let l=this._getLeakageMonitor();if(l){let c=`[${l.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${l.threshold})`;console.warn(c);let u=l.getMostFrequentStack()??["UNKNOWN stack",-1],p=u[1]/this._size>.3?"dominated":"popular",m=new ew(p,`${c}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||st)(m),_.None}}if(this._disposed)return _.None;e&&(t=t.bind(e));let o=new Ed(t),i,s;if(this._leakWarningThreshold!==void 0&&this._size>=Math.ceil(this._leakWarningThreshold*.2)){let l=this._getLeakageMonitor();l&&(o.stack=wd.create(),i=l.check(o.stack,this._size+1))}T0&&(o.stack=s??wd.create()),this._listeners?this._listeners instanceof Ed?(this._deliveryQueue??=new tw,this._listeners=[this._listeners,o]):this._listeners.push(o):(this._options?.onWillAddFirstListener?.(this),this._listeners=o,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=ce(()=>{i?.(),this._removeListener(o)});return nw(a,n),a},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let e=this._listeners,n=e.indexOf(t);if(n===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,e[n]=void 0;let o=this._deliveryQueue.current===this;if(this._size*r$<=e.length){let i=0;for(let s=0;s<e.length;s++)e[s]?e[i++]=e[s]:o&&i<this._deliveryQueue.end&&(this._deliveryQueue.end--,i<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=i}}_deliver(t,e){if(!t)return;let n=this._options?.onListenerError||st;if(!n){t.value(e);return}try{t.value(e)}catch(o){n(o)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Ed)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}},tw=class{constructor(){this.i=-1;this.end=0}enqueue(t,e,n){this.i=0,this.end=n,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Jl=class extends T{constructor(e){super(e);this._isPaused=0;this._eventQueue=new Ra;this._mergeFn=e?.merge}get isPaused(){return this._isPaused!==0}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){let e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}},Qv=class{constructor(){this.hasListeners=!1;this.events=[];this.emitter=new T({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){let e={event:t,listener:null};return this.events.push(e),this.hasListeners&&this.hook(e),ce($l(()=>{this.hasListeners&&this.unhook(e);let o=this.events.indexOf(e);this.events.splice(o,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(t=>this.hook(t))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(t=>this.unhook(t))}hook(t){t.listener=t.event(e=>this.emitter.fire(e))}unhook(t){t.listener?.dispose(),t.listener=null}dispose(){this.emitter.dispose();for(let t of this.events)t.listener?.dispose();this.events=[]}},Wm=class{constructor(){this.listening=!1;this.inputEvent=V.None;this.inputEventListener=_.None;this.emitter=new T({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}});this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}});var M0,Pe,Rd,wt,Zt=y(()=>{de();K();M0=Object.freeze(function(r,t){let e=setTimeout(r.bind(t),0);return{dispose(){clearTimeout(e)}}});(n=>{function r(o){return o===n.None||o===n.Cancelled||o instanceof Rd?!0:!o||typeof o!="object"?!1:typeof o.isCancellationRequested=="boolean"&&typeof o.onCancellationRequested=="function"}n.isCancellationToken=r,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:V.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:M0})})(Pe||={});Rd=class{constructor(){this._isCancelled=!1;this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?M0:(this._emitter||(this._emitter=new T),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},wt=class{constructor(t){this._token=void 0;this._parentListener=void 0;this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Rd),this._token}cancel(){this._token?this._token instanceof Rd&&this._token.cancel():this._token=Pe.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Rd&&this._token.dispose():this._token=Pe.None}}});var ti=y(()=>{});function s$(r){return r}var Jv,A0=y(()=>{Zt();Jv=class{constructor(t,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof t=="function"?(this._fn=t,this._computeKey=s$):(this._fn=e,this._computeKey=t.getCacheKey)}get(t){let e=this._computeKey(t);return this.lastArgKey!==e&&(this.lastArgKey=e,this.lastCache=this._fn(t)),this.lastCache}}});var Kt,ji=y(()=>{Kt=class{constructor(t){this.executor=t;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(t){this._error=t}finally{this._state=2}}else if(this._state===1)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}});var ow=y(()=>{});function Vm(r){return!r||typeof r!="string"?!0:r.trim().length===0}function F0(r,...t){return t.length===0?r:r.replace(l$,function(e,n){let o=parseInt(n,10);return isNaN(o)||o<0||o>=t.length?e:t[o]})}function Dr(r,t){return Object.keys(t).length===0?r:r.replace(c$,(e,n)=>t[n]??e)}function Yv(r){return r.replace(/[<>"'&]/g,t=>{switch(t){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return t})}function eo(r){return r.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function H0(r,t,e=f$){return r.length<=t?r:`${r.substr(0,t)}${e}`}function rw(r,t){if(!r||!t)return r;let e=t.length,n=0;if(e===1){let o=t.charCodeAt(0);for(;n<r.length&&r.charCodeAt(n)===o;)n++}else for(;r.startsWith(t,n);)n+=e;return r.substring(n)}function Pd(r,t){if(!r||!t)return r;let e=t.length,n=r.length;if(e===1){let i=n,s=t.charCodeAt(0);for(;i>0&&r.charCodeAt(i-1)===s;)i--;return r.substring(0,i)}let o=n;for(;o>0&&r.endsWith(t,o);)o-=e;return r.substring(0,o)}function W0(r,t,e={}){if(!r)throw new Error("Cannot create regex from empty string");t||(r=eo(r)),e.wholeWord&&(/\B/.test(r.charAt(0))||(r="\\b"+r),/\B/.test(r.charAt(r.length-1))||(r=r+"\\b"));let n="";return e.global&&(n+="g"),e.matchCase||(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),new RegExp(r,n)}function kd(r,t){return r<t?-1:r>t?1:0}function Xv(r,t,e=0,n=r.length,o=0,i=t.length){for(;e<n&&o<i;e++,o++){let l=r.charCodeAt(e),c=t.charCodeAt(o);if(l<c)return-1;if(l>c)return 1}let s=n-e,a=i-o;return s<a?-1:s>a?1:0}function Dd(r,t){return Yl(r,t,0,r.length,0,t.length)}function Yl(r,t,e=0,n=r.length,o=0,i=t.length){for(;e<n&&o<i;e++,o++){let l=r.charCodeAt(e),c=t.charCodeAt(o);if(l===c)continue;if(l>=128||c>=128)return Xv(r.toLowerCase(),t.toLowerCase(),e,n,o,i);L0(l)&&(l-=32),L0(c)&&(c-=32);let u=l-c;if(u!==0)return u}let s=n-e,a=i-o;return s<a?-1:s>a?1:0}function L0(r){return r>=97&&r<=122}function iw(r){return r>=65&&r<=90}function Co(r,t){return r.length===t.length&&Yl(r,t)===0}function Pa(r,t){let e=t.length;return e<=r.length&&Yl(r,t,0,e)===0}function V0(r,t){let e=r.length,n=e-t.length;return n>=0&&Yl(r,t,n,e)===0}function B0(r){return 55296<=r&&r<=56319}function sw(r){return 56320<=r&&r<=57343}function q0(r,t){return(r-55296<<10)+(t-56320)+65536}function m$(r){return!!(r&&r.length>0&&r.charCodeAt(0)===65279)}function $0(r){return m$(r)?r.substr(1):r}function aw(r){return r.charAt(0).toUpperCase()+r.slice(1)}function g$(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}var l$,c$,d$,u$,p$,hoe,voe,O0,N0,U0,f$,Tt=y(()=>{A0();ti();ji();ow();l$=/{(\d+)}/g;c$=/{([^}]+)}/g;d$=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,u$=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,p$=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,hoe=new RegExp("(?:"+[d$.source,u$.source,p$.source].join("|")+")","g"),voe=String.fromCharCode(65279);O0=class r{static{this._INSTANCE=null}static getInstance(){return r._INSTANCE||(r._INSTANCE=new r),r._INSTANCE}constructor(){this._data=g$()}getGraphemeBreakType(t){if(t<32)return t===10?3:t===13?2:4;if(t<127)return 0;let e=this._data,n=e.length/3,o=1;for(;o<=n;)if(t<e[3*o])o=2*o;else if(t>e[3*o+1])o=2*o+1;else return e[3*o+2];return 0}};N0=class r{constructor(t){this.confusableDictionary=t}static{this.ambiguousCharacterData=new Kt(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}'))}static{this.cache=new Jv(t=>{let e=t.split(",");function n(p){let m=new Map;for(let f=0;f<p.length;f+=2)m.set(p[f],p[f+1]);return m}function o(p,m){let f=new Map(p);for(let[h,v]of m)f.set(h,v);return f}function i(p,m){if(!p)return m;let f=new Map;for(let[h,v]of p)m.has(h)&&f.set(h,v);return f}let s=this.ambiguousCharacterData.value,a=e.filter(p=>!p.startsWith("_")&&Object.hasOwn(s,p));a.length===0&&(a=["_default"]);let l;for(let p of a){let m=n(s[p]);l=i(l,m)}let c=n(s._common),u=o(c,l);return new r(u)})}static getInstance(t){return r.cache.get(Array.from(t).join(","))}static{this._locales=new Kt(()=>Object.keys(r.ambiguousCharacterData.value).filter(t=>!t.startsWith("_")))}static getLocales(){return r._locales.value}isAmbiguous(t){return this.confusableDictionary.has(t)}containsAmbiguousCharacter(t){for(let e=0;e<t.length;e++){let n=t.codePointAt(e);if(typeof n=="number"&&this.isAmbiguous(n))return!0}return!1}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},U0=class r{static getRawData(){return JSON.parse('{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}')}static{this._data=void 0}static getData(){return this._data||(this._data=new Set([...Object.values(r.getRawData())].flat())),this._data}static isInvisibleCharacter(t){return r.getData().has(t)}static containsInvisibleCharacter(t){for(let e=0;e<t.length;e++){let n=t.codePointAt(e);if(typeof n=="number"&&(r.isInvisibleCharacter(n)||n===32))return!0}return!1}static get codePoints(){return r.getData()}},f$="\u2026"});function ka(r){return r===47||r===92}function qm(r){return r.replace(/[\\/]/g,Be.sep)}function z0(r){return r.indexOf("/")===-1&&(r=qm(r)),/^[a-zA-Z]:(\/|$)/.test(r)&&(r="/"+r),r}function lw(r,t=Be.sep){if(!r)return"";let e=r.length,n=r.charCodeAt(0);if(ka(n)){if(ka(r.charCodeAt(1))&&!ka(r.charCodeAt(2))){let i=3,s=i;for(;i<e&&!ka(r.charCodeAt(i));i++);if(s!==i&&!ka(r.charCodeAt(i+1))){for(i+=1;i<e;i++)if(ka(r.charCodeAt(i)))return r.slice(0,i+1).replace(/[\\/]/g,t)}}return t}else if(G0(n)&&r.charCodeAt(1)===58)return ka(r.charCodeAt(2))?r.slice(0,2)+t:r.slice(0,2);let o=r.indexOf("://");if(o!==-1){for(o+=3;o<e;o++)if(ka(r.charCodeAt(o)))return r.slice(0,o+1)}return""}function Xl(r,t,e){let n=r===t;return!e||n?n:!r||!t?!1:Co(r,t)}function pr(r,t,e,n=!1){let o=n?Be.sep:bn;if(r===t)return!0;if(!r||!t||((r.indexOf("..")>=0||t.indexOf("..")>=0)&&(r=n?Be.normalize(r):Mn(r),t=n?Be.normalize(t):Mn(t)),t.length>r.length))return!1;if(e){if(!Pa(r,t))return!1;if(t.length===r.length)return!0;let s=t.length;return t.charAt(t.length-1)===o&&s--,r.charAt(s)===o}return t.charAt(t.length-1)!==o&&(t+=o),r.indexOf(t)===0}function G0(r){return r>=65&&r<=90||r>=97&&r<=122}function K0(r){return te?(r=Pd(r,bn),r.endsWith(":")&&(r+=bn)):(r=Pd(r,bn),r||(r=bn)),r}function cw(r){let t=Mn(r);return te?r.length>3?!1:Zv(t)&&(r.length===2||t.charCodeAt(2)===92):t===Be.sep}function Zv(r,t=te){return t?G0(r.charCodeAt(0))&&r.charCodeAt(1)===58:!1}function j0(r,t,e=8){let n="";for(let i=0;i<e;i++){let s;i===0&&te&&!t&&(e===3||e===4)?s=v$:s=h$,n+=s.charAt(Math.floor(Math.random()*s.length))}let o;return t?o=`${t}-${n}`:o=n,r?q(r,o):o}var h$,v$,Ii=y(()=>{ti();Me();me();Tt();we();h$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",v$="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789"});var Zl=y(()=>{});function x$(r,t){if(!r.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${r.authority}", path: "${r.path}", query: "${r.query}", fragment: "${r.fragment}"}`);if(r.scheme&&!I$.test(r.scheme)){let e=[...r.scheme.matchAll(/[^\w\d+.-]/gu)],n=e.length>0?` Found '${e[0][0]}' at index ${e[0].index} (${e.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${n} (len:${r.scheme.length})`)}if(r.path){if(r.authority){if(!b$.test(r.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(S$.test(r.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function C$(r,t){return!r&&!t?"file":r}function E$(r,t){switch(r){case"https":case"http":case"file":t?t[0]!==bi&&(t=bi+t):t=bi;break}return t}function _a(r){return!r||typeof r!="object"?!1:typeof r.scheme=="string"&&(typeof r.authority=="string"||typeof r.authority>"u")&&(typeof r.path=="string"||typeof r.path>"u")&&(typeof r.query=="string"||typeof r.query>"u")&&(typeof r.fragment=="string"||typeof r.fragment>"u")}function Q0(r,t,e){let n,o=-1;for(let i=0;i<r.length;i++){let s=r.charCodeAt(i);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||t&&s===47||e&&s===91||e&&s===93||e&&s===58)o!==-1&&(n+=encodeURIComponent(r.substring(o,i)),o=-1),n!==void 0&&(n+=r.charAt(i));else{n===void 0&&(n=r.substr(0,i));let a=X0[s];a!==void 0?(o!==-1&&(n+=encodeURIComponent(r.substring(o,i)),o=-1),n+=a):o===-1&&(o=i)}}return o!==-1&&(n+=encodeURIComponent(r.substring(o))),n!==void 0?n:r}function T$(r){let t=r.indexOf("?"),e=r.indexOf("#");if((t===-1||e!==-1&&e<t)&&(t=e),t===-1)return r;let n=r.substring(0,t),o=t;for(;t<r.length;t++){let i=r.charCodeAt(t);(i===35||i===63)&&(o<t&&(n+=r.substring(o,t)),n+=X0[i],o=t+1)}return o<r.length&&(n+=r.substring(o)),n}function _d(r,t){let e;return r.authority&&r.path.length>1&&r.scheme==="file"?e=`//${r.authority}${r.path}`:r.path.charCodeAt(0)===47&&(r.path.charCodeAt(1)>=65&&r.path.charCodeAt(1)<=90||r.path.charCodeAt(1)>=97&&r.path.charCodeAt(1)<=122)&&r.path.charCodeAt(2)===58?t?e=r.path.substr(1):e=r.path[1].toLowerCase()+r.path.substr(2):e=r.path,te&&(e=e.replace(/\//g,"\\")),e}function dw(r,t){let e=t?T$:Q0,n="",{scheme:o,authority:i,path:s,query:a,fragment:l}=r;if(o&&(n+=o,n+=":"),(i||o==="file")&&(n+=bi,n+=bi),i){let c=i.indexOf("@");if(c!==-1){let u=i.substr(0,c);i=i.substr(c+1),c=u.lastIndexOf(":"),c===-1?n+=e(u,!1,!1):(n+=e(u.substr(0,c),!1,!1),n+=":",n+=e(u.substr(c+1),!1,!0)),n+="@"}i=i.toLowerCase(),c=i.lastIndexOf(":"),c===-1?n+=e(i,!1,!0):(n+=e(i.substr(0,c),!1,!0),n+=i.substr(c))}if(s){let c=o.toLowerCase();if(s.length>=3&&s.charCodeAt(0)===47&&s.charCodeAt(2)===58){let u=s.charCodeAt(1);u>=65&&u<=90&&c!=="http"&&c!=="https"&&(s=`/${String.fromCharCode(u+32)}:${s.substr(3)}`)}else if(s.length>=2&&s.charCodeAt(1)===58){let u=s.charCodeAt(0);u>=65&&u<=90&&c!=="http"&&c!=="https"&&(s=`${String.fromCharCode(u+32)}:${s.substr(2)}`)}n+=e(s,!0,!1)}return a&&(n+="?",n+=e(a,!1,!1)),l&&(n+="#",n+=t?l:Q0(l,!1,!1)),n}function Z0(r){try{return decodeURIComponent(r)}catch{return r.length>3?r.substr(0,3)+Z0(r.substr(3)):r}}function ey(r){return r.match(J0)?r.replace(J0,t=>Z0(t)):r}var I$,b$,S$,en,bi,w$,S,Y0,Da,X0,J0,oe=y(()=>{ti();Zl();Me();me();I$=/^\w[\w\d+.-]*$/,b$=/^\//,S$=/^\/\//;en="",bi="/",w$=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,S=class r{static isUri(t){return t instanceof r?!0:!t||typeof t!="object"?!1:typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function"}constructor(t,e,n,o,i,s=!1){typeof t=="object"?(this.scheme=t.scheme||en,this.authority=t.authority||en,this.path=t.path||en,this.query=t.query||en,this.fragment=t.fragment||en):(this.scheme=C$(t,s),this.authority=e||en,this.path=E$(this.scheme,n||en),this.query=o||en,this.fragment=i||en,x$(this,s))}get fsPath(){return _d(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:n,path:o,query:i,fragment:s}=t;return e===void 0?e=this.scheme:e===null&&(e=en),n===void 0?n=this.authority:n===null&&(n=en),o===void 0?o=this.path:o===null&&(o=en),i===void 0?i=this.query:i===null&&(i=en),s===void 0?s=this.fragment:s===null&&(s=en),e===this.scheme&&n===this.authority&&o===this.path&&i===this.query&&s===this.fragment?this:new Da(e,n,o,i,s)}static parse(t,e=!1){let n=w$.exec(t);return n?new Da(n[2]||en,ey(n[4]||en),ey(n[5]||en),ey(n[7]||en),ey(n[9]||en),e):new Da(en,en,en,en,en)}static file(t){let e=en;if(te&&(t=t.replace(/\\/g,bi)),t[0]===bi&&t[1]===bi){let n=t.indexOf(bi,2);n===-1?(e=t.substring(2),t=bi):(e=t.substring(2,n),t=t.substring(n)||bi)}return new Da("file",e,t,en,en)}static from(t,e){return new Da(t.scheme,t.authority,t.path,t.query,t.fragment,e)}static joinPath(t,...e){if(!t.path)throw new Error(`[UriError]: cannot call joinPath on URI without path: ${t.toString()}`);let n;return te&&t.scheme==="file"?n=r.file(mn.join(_d(t,!0),...e)).path:n=Be.join(t.path,...e),t.with({path:n})}toString(t=!1){return dw(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof r)return t;{let e=new Da(t);return e._formatted=t.external??null,e._fsPath=t._sep===Y0?t.fsPath??null:null,e}}else return t}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};Y0=te?1:void 0,Da=class extends S{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=_d(this,!1)),this._fsPath}toString(e=!1){return e?dw(this,!0):(this._formatted||(this._formatted=dw(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Y0),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}},X0={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};J0=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function mw(r){return`${r.quality??"oss"}-${r.commit??"dev"}`}var B,zm,Ji,uw,eL,tL,nL,oL,Gm,pw,Dt,Doe,_oe,R$,Ae=y(()=>{Ee();me();Tt();oe();Me();(Te=>(Te.inMemory="inmemory",Te.vscode="vscode",Te.internal="private",Te.walkThrough="walkThrough",Te.walkThroughSnippet="walkThroughSnippet",Te.vscodeOnboardingSample="vscode-onboarding-sample",Te.http="http",Te.https="https",Te.file="file",Te.mailto="mailto",Te.untitled="untitled",Te.data="data",Te.command="command",Te.vscodeRemote="vscode-remote",Te.vscodeRemoteResource="vscode-remote-resource",Te.vscodeManagedRemoteResource="vscode-managed-remote-resource",Te.vscodeUserData="vscode-userdata",Te.vscodeCustomEditor="vscode-custom-editor",Te.vscodeNotebookCell="vscode-notebook-cell",Te.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",Te.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",Te.vscodeNotebookCellOutput="vscode-notebook-cell-output",Te.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",Te.vscodeNotebookMetadata="vscode-notebook-metadata",Te.vscodeInteractiveInput="vscode-interactive-input",Te.vscodeSettings="vscode-settings",Te.vscodeWorkspaceTrust="vscode-workspace-trust",Te.vscodeTerminal="vscode-terminal",Te.vscodeImageCarousel="vscode-image-carousel",Te.vscodeChatCodeBlock="vscode-chat-code-block",Te.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",Te.vscodeChatEditor="vscode-chat-editor",Te.vscodeChatInput="chatSessionInput",Te.sessionsChatInput="sessions-chat",Te.vscodeLocalChatSession="vscode-chat-session",Te.vscodeChatResponseResource="vscode-chat-response-resource",Te.agentHostTerminal="agenthost-terminal",Te.vscodeChatTerminalOutput="vscode-chat-terminal-output",Te.webviewPanel="webview-panel",Te.vscodeWebview="vscode-webview",Te.vscodeBrowser="vscode-browser",Te.extension="extension",Te.vscodeFileResource="vscode-file",Te.tmp="tmp",Te.vsls="vsls",Te.vscodeSourceControl="vscode-scm",Te.commentsInput="comment",Te.codeSetting="code-setting",Te.outputChannel="output",Te.accessibleView="accessible-view",Te.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",Te.chatEditingModel="chat-editing-text-model",Te.copilotPr="copilot-pr"))(B||={});zm="vscode-tkn",Ji="tkn",uw=class{constructor(){this._hosts=Object.create(null);this._ports=Object.create(null);this._connectionTokens=Object.create(null);this._preferredWebSchema="http";this._delegate=null;this._serverRootPath="/"}setPreferredWebSchema(t){this._preferredWebSchema=t}setDelegate(t){this._delegate=t}setServerRootPath(t,e){this._serverRootPath=Be.join(e??"/",mw(t))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return Be.join(this._serverRootPath,B.vscodeRemoteResource)}set(t,e,n){this._hosts[t]=e,this._ports[t]=n}setConnectionToken(t,e){this._connectionTokens[t]=e}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(t){if(this._delegate)try{return this._delegate(t)}catch(a){return o0(a),t}let e=t.authority,n=this._hosts[e];n&&n.indexOf(":")!==-1&&n.indexOf("[")===-1&&(n=`[${n}]`);let o=this._ports[e],i=this._connectionTokens[e],s=`path=${encodeURIComponent(t.path)}`;return typeof i=="string"&&(s+=`&${Ji}=${encodeURIComponent(i)}`),S.from({scheme:yn?this._preferredWebSchema:B.vscodeRemoteResource,authority:`${n}:${o}`,path:yn?(window.location.pathname+"/"+this._remoteResourcesPath).replace(/\/\/+/g,"/"):this._remoteResourcesPath,query:s})}},eL=new uw;tL="vs/../../extensions",nL="vs/../../node_modules",oL="vs/../../node_modules.asar",Gm="vscode-app",pw=class r{static{this.FALLBACK_AUTHORITY=Gm}asBrowserUri(t){let e=this.toUri(t);return this.uriToBrowserUri(e)}uriToBrowserUri(t){return t.scheme===B.vscodeRemote?eL.rewrite(t):t.scheme===B.file&&(Lm||z1===`${B.vscodeFileResource}://${r.FALLBACK_AUTHORITY}`)?t.with({scheme:B.vscodeFileResource,authority:t.authority||r.FALLBACK_AUTHORITY,query:null,fragment:null}):t}asFileUri(t){let e=this.toUri(t);return this.uriToFileUri(e)}uriToFileUri(t){return t.scheme===B.vscodeFileResource?t.with({scheme:B.file,authority:t.authority!==r.FALLBACK_AUTHORITY?t.authority:null,query:null,fragment:null}):t}toUri(t){if(S.isUri(t))return t;if(globalThis._VSCODE_FILE_ROOT){let e=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(e))return S.joinPath(S.parse(e,!0),t);let n=q(e,t);return S.file(n)}throw new Error("Cannot determine URI for module id!")}},Dt=new pw,Doe=Object.freeze({"Cache-Control":"no-cache, no-store"}),_oe=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"});(i=>{let r=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);i.CoopAndCoep=Object.freeze(r.get("3"));let e="vscode-coi";function n(s){let a;typeof s=="string"?a=new URL(s).searchParams:s instanceof URL?a=s.searchParams:S.isUri(s)&&(a=new URL(s.toString(!0)).searchParams);let l=a?.get(e);if(l)return r.get(l)}i.getHeadersFromQuery=n;function o(s,a,l){if(!globalThis.crossOriginIsolated)return;let c=a&&l?"3":l?"2":"1";s instanceof URLSearchParams?s.set(e,c):s[e]=c}i.addSearchParam=o})(R$||={})});function Ms(r){return _d(r,!0)}var ec,lt,Ma,gw,mo,ty,Foe,P$,An,Km,jm,ge,fw,Hoe,Woe,sL,rL,iL,Voe,Boe,k$,bt=y(()=>{ti();Ii();Ae();Me();me();Tt();oe();ec=class{constructor(t){this._ignorePathCasing=t}compare(t,e,n=!1){return t===e?0:kd(this.getComparisonKey(t,n),this.getComparisonKey(e,n))}isEqual(t,e,n=!1){return t===e?!0:!t||!e?!1:this.getComparisonKey(t,n)===this.getComparisonKey(e,n)}getComparisonKey(t,e=!1){return t.with({path:this._ignorePathCasing(t)?t.path.toLowerCase():void 0,fragment:e?null:void 0}).toString()}ignorePathCasing(t){return this._ignorePathCasing(t)}isEqualOrParent(t,e,n=!1){if(t.scheme===e.scheme){if(t.scheme===B.file)return pr(Ms(t),Ms(e),this._ignorePathCasing(t))&&t.query===e.query&&(n||t.fragment===e.fragment);if(rL(t.authority,e.authority))return pr(t.path,e.path,this._ignorePathCasing(t),!0)&&t.query===e.query&&(n||t.fragment===e.fragment)}return!1}joinPath(t,...e){return S.joinPath(t,...e)}basenameOrAuthority(t){return An(t)||t.authority}basename(t,e){return Be.basename(t.path,e)}extname(t){return Be.extname(t.path)}dirname(t){if(t.path.length===0)return t;let e;return t.scheme===B.file?e=S.file(Nt(Ms(t))).path:(e=Be.dirname(t.path),t.authority&&e.length&&e.charCodeAt(0)!==47&&(console.error(`dirname("${t.toString})) resulted in a relative path`),e="/")),t.with({path:e})}normalizePath(t){if(!t.path.length)return t;let e;return t.scheme===B.file?e=S.file(Mn(Ms(t))).path:e=Be.normalize(t.path),t.with({path:e})}relativePath(t,e){if(t.scheme!==e.scheme||!rL(t.authority,e.authority))return;if(t.scheme===B.file){let i=ks(Ms(t),Ms(e));return te?qm(i):i}let n=t.path||"/",o=e.path||"/";if(this._ignorePathCasing(t)){let i=0;for(let s=Math.min(n.length,o.length);i<s&&!(n.charCodeAt(i)!==o.charCodeAt(i)&&n.charAt(i).toLowerCase()!==o.charAt(i).toLowerCase());i++);n=o.substr(0,i)+n.substr(i)}return Be.relative(n,o)}resolvePath(t,e){if(t.scheme===B.file){let n=S.file(qn(Ms(t),e));return t.with({authority:n.authority,path:n.path})}return e=z0(e),t.with({path:Be.resolve(t.path,e)})}isAbsolutePath(t){return!!t.path&&t.path[0]==="/"}isEqualAuthority(t,e){return t===e||t!==void 0&&e!==void 0&&Co(t,e)}hasTrailingPathSeparator(t,e=bn){if(t.scheme===B.file){let n=Ms(t);return n.length>lw(n).length&&n[n.length-1]===e}else{let n=t.path;return n.length>1&&n.charCodeAt(n.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(t.fsPath)}}removeTrailingPathSeparator(t,e=bn){return iL(t,e)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,e=bn){let n=!1;if(t.scheme===B.file){let o=Ms(t);n=o!==void 0&&o.length===lw(o).length&&o[o.length-1]===e}else{e="/";let o=t.path;n=o.length===1&&o.charCodeAt(o.length-1)===47}return!n&&!iL(t,e)?t.with({path:t.path+"/"}):t}},lt=new ec(()=>!1),Ma=new ec(r=>r.scheme===B.file?!$e:!0),gw=new ec(r=>!0),mo=lt.isEqual.bind(lt),ty=lt.isEqualOrParent.bind(lt),Foe=lt.getComparisonKey.bind(lt),P$=lt.basenameOrAuthority.bind(lt),An=lt.basename.bind(lt),Km=lt.extname.bind(lt),jm=lt.dirname.bind(lt),ge=lt.joinPath.bind(lt),fw=lt.normalizePath.bind(lt),Hoe=lt.relativePath.bind(lt),Woe=lt.resolvePath.bind(lt),sL=lt.isAbsolutePath.bind(lt),rL=lt.isEqualAuthority.bind(lt),iL=lt.hasTrailingPathSeparator.bind(lt),Voe=lt.removeTrailingPathSeparator.bind(lt),Boe=lt.addTrailingPathSeparator.bind(lt);(i=>{i.META_DATA_LABEL="label",i.META_DATA_DESCRIPTION="description",i.META_DATA_SIZE="size",i.META_DATA_MIME="mime";function o(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(u=>{let[p,m]=u.split(":");p&&m&&a.set(p,m)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(i.META_DATA_MIME,c),a}i.parseMetaData=o})(k$||={})});var aL,lL=y(()=>{aL=Symbol("MicrotaskDelay")});function Ym(r){return!!r&&typeof r.then=="function"}function Xo(r){let t=new wt,e=r(t.token),n=!1,o=new Promise((i,s)=>{let a=t.token.onCancellationRequested(()=>{n=!0,a.dispose(),s(new et)});Promise.resolve(e).then(l=>{a.dispose(),t.dispose(),n?Gv(l)&&l.dispose():i(l)},l=>{a.dispose(),t.dispose(),s(l)})});return new class{cancel(){t.cancel(),t.dispose()}then(i,s){return o.then(i,s)}catch(i){return this.then(void 0,i)}finally(i){return o.finally(i)}}}function Iw(r,t){return new Promise((e,n)=>{let o=t.onCancellationRequested(()=>{o.dispose(),n(new et)});r.then(e,n).finally(()=>o.dispose())})}function uL(r,t,e){let n,o=setTimeout(()=>{n?.(void 0),e?.()},t);return Promise.race([r.finally(()=>clearTimeout(o)),new Promise(i=>n=i)])}function bw(){let r,t;return{promise:new Promise((n,o)=>{r=n,t=o}),resolve:r,reject:t}}function Eo(r,t){return t?new Promise((e,n)=>{let o=setTimeout(()=>{i.dispose(),e()},r),i=t.onCancellationRequested(()=>{clearTimeout(o),i.dispose(),n(new et)})}):Xo(e=>Eo(r,e))}async function pL(r,t,e){let n;for(let o=0;o<e;o++)try{return await r()}catch(i){n=i,await Eo(t)}throw n}var hw,oy,Md,D$,_$,Qm,_r,Mr,ore,Jm,Ar,Ad,Yo,tc,ry,Ld,Sw,ny,vw,iy,zn,Cn,cL,yw,dL,Ne=y(()=>{Zt();Ee();de();K();bt();me();lL();ji();hw=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new wt}queue(t){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let n=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,n};this.queuedPromise=new Promise((n,o)=>{this.activePromise.then(e,e).then(n,o)})}return new Promise((e,n)=>{this.queuedPromise.then(e,n)})}return this.activePromise=t(this.cancellationTokenSource.token),new Promise((e,n)=>{this.activePromise.then(o=>{this.activePromise=null,e(o)},o=>{this.activePromise=null,n(o)})})}dispose(){this.cancellationTokenSource.cancel(),this.queuedPromiseFactory=null}},oy=class{constructor(){this.current=Promise.resolve(null)}queue(t){return this.current=this.current.then(()=>t(),()=>t())}},Md=class{constructor(){this.promiseMap=new Map}queue(t,e){let o=(this.promiseMap.get(t)??Promise.resolve()).catch(()=>{}).then(e).finally(()=>{this.promiseMap.get(t)===o&&this.promiseMap.delete(t)});return this.promiseMap.set(t,o),o}peek(t){return this.promiseMap.get(t)||void 0}keys(){return this.promiseMap.keys()}},D$=(r,t)=>{let e=!0,n=setTimeout(()=>{e=!1,t()},r);return{isTriggered:()=>e,dispose:()=>{clearTimeout(n),e=!1}}},_$=r=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,r())}),{isTriggered:()=>t,dispose:()=>{t=!1}}},Qm=class{constructor(t){this.defaultDelay=t;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,e=this.defaultDelay){if(this.task=t,this.cancelTimeout(),!this.completionPromise){let o=new Promise((i,s)=>{this.doResolve=i,this.doReject=s}).then(()=>{if(this.completionPromise!==o)throw new et;this.completionPromise=null,this.doResolve=null;let i=this.task;return this.task=null,i()});this.completionPromise=o}let n=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=e===aL?_$(n):D$(e,n),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.task=null,this.completionPromise&&(this.doReject?.(new et),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},_r=class{constructor(t){this.delayer=new Qm(t),this.throttler=new hw}trigger(t,e){return this.delayer.trigger(()=>this.throttler.queue(t),e)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}},Mr=class{constructor(){this._isOpen=!1,this._promise=new Promise((t,e)=>{this._completePromise=t})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}};ore=2**31-1,Jm=class{constructor(t){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=t,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new T}whenIdle(){return this.size>0?V.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(t){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((e,n)=>{this.outstandingPromises.push({factory:t,c:e,e:n}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let t=this.outstandingPromises.shift();this.runningPromises++;let e=t.factory();e.then(t.c,t.e),e.then(()=>this.consumed(),()=>this.consumed())}}consumed(){this._isDisposed||(this.runningPromises--,--this._size===0&&this._onDrained.fire(),this.outstandingPromises.length>0&&this.consume())}clear(){if(this._isDisposed)throw new Error("Object has been disposed");this.outstandingPromises.length=0,this._size=this.runningPromises}dispose(){this._isDisposed=!0,this.outstandingPromises.length=0,this._size=0,this._onDrained.dispose()}},Ar=class extends Jm{constructor(){super(1)}},Ad=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let t=new zn;return this.drainers.add(t),t.p}isDrained(){for(let[,t]of this.queues)if(t.size>0)return!1;return!0}queueSize(t,e=lt){let n=e.getComparisonKey(t);return this.queues.get(n)?.size??0}queueFor(t,e,n=lt){let o=n.getComparisonKey(t),i=this.queues.get(o);if(!i){i=new Ar;let s=this.drainListenerCount++,a=V.once(i.onDrained)(()=>{i?.dispose(),this.queues.delete(o),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(s),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new Fo),this.drainListeners.set(s,a),this.queues.set(o,i)}return i.queue(e)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let t of this.drainers)t.complete();this.drainers.clear()}dispose(){for(let[,t]of this.queues)t.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}},Yo=class{constructor(t,e){this.timeoutToken=void 0,this.runner=t,this.timeout=e,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return this.timeoutToken!==void 0}flush(){this.isScheduled()&&(this.cancel(),this.doRun())}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}},tc=class{constructor(t,e){e%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.runner=t,this.timeout=e,this.counter=0,this.intervalToken=void 0,this.intervalHandler=this.onInterval.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearInterval(this.intervalToken),this.intervalToken=void 0)}schedule(t=this.timeout){t%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(t/1e3),this.intervalToken=setInterval(this.intervalHandler,1e3)}isScheduled(){return this.intervalToken!==void 0}onInterval(){this.counter--,!(this.counter>0)&&(clearInterval(this.intervalToken),this.intervalToken=void 0,this.runner?.())}},ry=class extends Yo{constructor(e,n){super(e,n);this.units=[]}work(e){this.units.push(e),this.isScheduled()||this.schedule()}doRun(){let e=this.units;this.units=[],this.runner?.(e)}dispose(){this.units=[],super.dispose()}},Ld=class extends _{constructor(e,n){super();this.options=e;this.handler=n;this.pendingWork=[];this.throttler=this._register(new $n);this.disposed=!1;this.lastExecutionTime=0}get pending(){return this.pendingWork.length}work(e){if(this.disposed)return!1;if(typeof this.options.maxBufferedWork=="number"){if(this.throttler.value){if(this.pending+e.length>this.options.maxBufferedWork)return!1}else if(this.pending+e.length-this.options.maxWorkChunkSize>this.options.maxBufferedWork)return!1}for(let o of e)this.pendingWork.push(o);let n=Date.now()-this.lastExecutionTime;return!this.throttler.value&&(!this.options.waitThrottleDelayBetweenWorkUnits||n>=this.options.throttleDelay)?this.doWork():!this.throttler.value&&this.options.waitThrottleDelayBetweenWorkUnits&&this.scheduleThrottler(Math.max(this.options.throttleDelay-n,0)),!0}doWork(){this.lastExecutionTime=Date.now(),this.handler(this.pendingWork.splice(0,this.options.maxWorkChunkSize)),this.pendingWork.length>0&&this.scheduleThrottler()}scheduleThrottler(e=this.options.throttleDelay){this.throttler.value=new Yo(()=>{this.throttler.clear(),this.doWork()},e),this.throttler.value.schedule()}dispose(){super.dispose(),this.pendingWork.length=0,this.disposed=!0}};(function(){let r=globalThis;typeof r.requestIdleCallback!="function"||typeof r.cancelIdleCallback!="function"?ny=(t,e,n)=>{j1(()=>{if(o)return;let i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let o=!1;return{dispose(){o||(o=!0)}}}:ny=(t,e,n)=>{let o=t.requestIdleCallback(e,typeof n=="number"?{timeout:n}:void 0),i=!1;return{dispose(){i||(i=!0,t.cancelIdleCallback(o))}}},Sw=(t,e)=>ny(globalThis,t,e)})();vw=class{constructor(t,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(n){this._error=n}finally{this._didRun=!0}},this._handle=ny(t,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}},iy=class extends vw{constructor(t){super(globalThis,t)}};zn=class r{static fromPromise(t){let e=new r;return e.settleWith(t),e}get isRejected(){return this.outcome?.outcome===1}get isResolved(){return this.outcome?.outcome===0}get isSettled(){return!!this.outcome}get value(){return this.outcome?.outcome===0?this.outcome?.value:void 0}constructor(){this.p=new Promise((t,e)=>{this.completeCallback=t,this.errorCallback=e})}complete(t){return this.isSettled?Promise.resolve():new Promise(e=>{this.completeCallback(t),this.outcome={outcome:0,value:t},e()})}error(t){return this.isSettled?Promise.resolve():new Promise(e=>{this.errorCallback(t),this.outcome={outcome:1,value:t},e()})}settleWith(t){return t.then(e=>this.complete(e),e=>this.error(e))}cancel(){return this.error(new et)}};(e=>{async function r(n){let o,i=await Promise.all(n.map(s=>s.then(a=>a,a=>{o||(o=a)})));if(typeof o<"u")throw o;return i}e.settled=r;function t(n){return new Promise(async(o,i)=>{try{await n(o,i)}catch(s){i(s)}})}e.withAsyncBody=t})(Cn||={});cL=class r{static fromArray(t){return new r(e=>{e.emitMany(t)})}static fromPromise(t){return new r(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new r(async e=>{await Promise.all(t.map(async n=>e.emitOne(await n)))})}static merge(t){return new r(async e=>{await Promise.all(t.map(async n=>{for await(let o of n)e.emitOne(o)}))})}static{this.EMPTY=r.fromArray([])}constructor(t,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new T,queueMicrotask(async()=>{let n={emitOne:o=>this.emitOne(o),emitMany:o=>this.emitMany(o),reject:o=>this.reject(o)};try{await Promise.resolve(t(n)),this.resolve()}catch(o){this.reject(o)}finally{n.emitOne=()=>{},n.emitMany=()=>{},n.reject=()=>{}}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await V.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,e){return new r(async n=>{for await(let o of t)n.emitOne(e(o))})}map(t){return r.map(this,t)}static filter(t,e){return new r(async n=>{for await(let o of t)e(o)&&n.emitOne(o)})}filter(t){return r.filter(this,t)}static coalesce(t){return r.filter(t,e=>!!e)}coalesce(){return r.coalesce(this)}static async toPromise(t){let e=[];for await(let n of t)e.push(n);return e}toPromise(){return r.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}},yw=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(t){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let e=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(e,t)}else this._unconsumedValues.push(t)}produceFinal(t){this._ensureNoFinalValue(),this._finalValue=t;for(let e of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(e,t);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new It("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(t,e){e.ok?t.complete(e.value):t.error(e.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let t=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return t.ok?Promise.resolve(t.value):Promise.reject(t.error)}else{let t=new zn;return this._unsatisfiedConsumers.push(t),t.p}}},dL=class r{constructor(t,e){this._onReturn=e;this._producerConsumer=new yw;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async t=>(this._finishError(t),{done:!0,value:void 0})};queueMicrotask(async()=>{let n=t({emitOne:o=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:o}}),emitMany:o=>{for(let i of o)this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}})},reject:o=>this._finishError(o)});if(!this._producerConsumer.hasFinalValue)try{await n,this._finishOk()}catch(o){this._finishError(o)}})}static fromArray(t){return new r(e=>{e.emitMany(t)})}static fromPromise(t){return new r(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new r(async e=>{await Promise.all(t.map(async n=>e.emitOne(await n)))})}static merge(t){return new r(async e=>{await Promise.all(t.map(async n=>{for await(let o of n)e.emitOne(o)}))})}static{this.EMPTY=r.fromArray([])}static map(t,e){return new r(async n=>{for await(let o of t)n.emitOne(e(o))})}static tee(t){let e,n,o=new zn,i=async()=>{if(!(!e||!n))try{for await(let l of t)e.emitOne(l),n.emitOne(l)}catch(l){e.reject(l),n.reject(l)}finally{o.complete()}},s=new r(async l=>(e=l,i(),o.p)),a=new r(async l=>(n=l,i(),o.p));return[s,a]}map(t){return r.map(this,t)}static coalesce(t){return r.filter(t,e=>!!e)}coalesce(){return r.coalesce(this)}static filter(t,e){return new r(async n=>{for await(let o of t)e(o)&&n.emitOne(o)})}filter(t){return r.filter(this,t)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(t){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:t})}[Symbol.asyncIterator](){return this._iterator}}});function Xm(r){return mL(r,"NFC",M$)}function L$(r){return mL(r,"NFD",A$)}function mL(r,t,e){if(!r)return r;let n=e.get(r);if(n)return n;let o;return O$.test(r)?o=r.normalize(t):o=r,e.set(r,o),o}var M$,A$,O$,N$,sy=y(()=>{Sn();M$=new Ki(1e4);A$=new Ki(1e4);O$=/[^\u0000-\u0080]/;N$=(function(){let r=new Ki(1e4),t=/[\u0300-\u036f]/g;return function(e){let n=r.get(e);if(n)return n;let o=L$(e).replace(t,""),i=(o.length===e.length?o:e).toLowerCase();return r.set(e,i),i}})()});import*as Le from"fs";import{tmpdir as U$}from"os";import{promisify as nc}from"util";async function hL(r,t=0,e){if(cw(r))throw new Error("rimraf - will refuse to recursively delete root");return t===0?xw(r):F$(r,e)}async function F$(r,t=j0(U$())){try{try{await Le.promises.rename(r,t)}catch(e){return e.code==="ENOENT"?void 0:xw(r)}xw(t).catch(()=>{})}catch(e){if(e.code!=="ENOENT")throw e}}async function xw(r){return Le.promises.rm(r,{recursive:!0,force:!0,maxRetries:3})}async function ay(r,t){try{return await gL(r,t)}catch(e){if(e.code==="ENOENT"&&te&&cw(r))try{return await gL(`${r}.`,t)}catch{}throw e}}async function gL(r,t){return W$(await(t?H$(r):Le.promises.readdir(r)))}async function H$(r){try{return await Le.promises.readdir(r,{withFileTypes:!0})}catch(n){n.code!=="ENOENT"&&console.warn("[node.js fs] readdir with filetypes failed with error: ",n)}let t=[],e=await ay(r);for(let n of e){let o=!1,i=!1,s=!1;try{let a=await Le.promises.lstat(q(r,n));o=a.isFile(),i=a.isDirectory(),s=a.isSymbolicLink()}catch(a){a.code!=="ENOENT"&&console.warn("[node.js fs] unexpected error from lstat after readdir: ",a)}t.push({name:n,isFile:()=>o,isDirectory:()=>i,isSymbolicLink:()=>s})}return t}function W$(r){return r.map(t=>typeof t=="string"?gt?Xm(t):t:(t.name=gt?Xm(t.name):t.name,t))}async function V$(r){let t=await ay(r),e=[];for(let n of t)await wo.existsDirectory(q(r,n))&&e.push(n);return e}function q$(r,t,e){return B$.queueFor(S.file(r),()=>{let n=G$(e);return new Promise((o,i)=>z$(r,t,n,s=>s?i(s):o()))},Ma)}function $$(r){vL=r}function z$(r,t,e,n){if(!vL)return Le.writeFile(r,t,{mode:e.mode,flag:e.flag},n);Le.open(r,e.flag,e.mode,(o,i)=>{if(o)return n(o);Le.writeFile(i,t,s=>{if(s)return Le.close(i,()=>n(s));Le.fdatasync(i,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),$$(!1)),Le.close(i,l=>n(l))))})})}function G$(r){return r?{mode:typeof r.mode=="number"?r.mode:438,flag:typeof r.flag=="string"?r.flag:"w"}:{mode:438,flag:"w"}}async function K$(r,t,e=6e4){if(r!==t)try{te&&typeof e=="number"?await yL(r,t,Date.now(),e):await Le.promises.rename(r,t)}catch(n){if(r.toLowerCase()!==t.toLowerCase()&&n.code==="EXDEV"||r.endsWith("."))await IL(r,t,{preserveSymlinks:!1}),await hL(r,1);else throw n}}async function yL(r,t,e,n,o=0){try{return await Le.promises.rename(r,t)}catch(i){if(i.code!=="EACCES"&&i.code!=="EPERM"&&i.code!=="EBUSY")throw i;if(Date.now()-e>=n)throw console.error(`[node.js fs] rename failed after ${o} retries with error: ${i}`),i;if(o===0){let s=!1;try{let{stat:a}=await wo.stat(t);a.isFile()||(s=!0)}catch{}if(s)throw i}return await Eo(Math.min(100,o*10)),yL(r,t,e,n,o+1)}}async function IL(r,t,e){return bL(r,t,{root:{source:r,target:t},options:e,handledSourcePaths:new Set})}async function bL(r,t,e){if(e.handledSourcePaths.has(r))return;e.handledSourcePaths.add(r);let{stat:n,symbolicLink:o}=await wo.stat(r);if(o){if(e.options.preserveSymlinks)try{return await J$(r,t,e)}catch{}if(o.dangling)return}return n.isDirectory()?j$(r,t,n.mode&fL,e):Q$(r,t,n.mode&fL)}async function j$(r,t,e,n){await Le.promises.mkdir(t,{recursive:!0,mode:e});let o=await ay(r);for(let i of o)await bL(q(r,i),q(t,i),n)}async function Q$(r,t,e){await Le.promises.copyFile(r,t),await Le.promises.chmod(t,e)}async function J$(r,t,e){let n=await Le.promises.readlink(r);pr(n,e.root.source,!$e)&&(n=q(e.root.target,n.substr(e.root.source.length+1))),await Le.promises.symlink(n,t)}async function Y$(r){try{return await nc(Le.realpath)(r)}catch{let t=X$(r);return await Le.promises.access(t,Le.constants.R_OK),t}}function X$(r){return Pd(Mn(r),bn)}var wo,B$,vL,fL,be,go=y(()=>{Ne();Ii();sy();Me();me();bt();oe();Tt();(n=>{async function r(o){let i;try{if(i=await Le.promises.lstat(o),!i.isSymbolicLink())return{stat:i}}catch{}try{return{stat:await Le.promises.stat(o),symbolicLink:i?.isSymbolicLink()?{dangling:!1}:void 0}}catch(s){if(s.code==="ENOENT"&&i)return{stat:i,symbolicLink:{dangling:!0}};if(te&&s.code==="EACCES")try{return{stat:await Le.promises.stat(await Le.promises.readlink(o)),symbolicLink:{dangling:!1}}}catch(a){if(a.code==="ENOENT"&&i)return{stat:i,symbolicLink:{dangling:!0}};throw a}throw s}}n.stat=r;async function t(o){try{let{stat:i,symbolicLink:s}=await n.stat(o);return i.isFile()&&s?.dangling!==!0}catch{}return!1}n.existsFile=t;async function e(o){try{let{stat:i,symbolicLink:s}=await n.stat(o);return i.isDirectory()&&s?.dangling!==!0}catch{}return!1}n.existsDirectory=e})(wo||={});B$=new Ad;vL=!0;fL=511;be=new class{get read(){return(r,t,e,n,o)=>new Promise((i,s)=>{Le.read(r,t,e,n,o,(a,l,c)=>a?s(a):i({bytesRead:l,buffer:c}))})}get write(){return(r,t,e,n,o)=>new Promise((i,s)=>{Le.write(r,t,e,n,o,(a,l,c)=>a?s(a):i({bytesWritten:l,buffer:c}))})}get readFile(){return nc(Le.readFile)}get fdatasync(){return nc(Le.fdatasync)}get fstat(){return nc(Le.fstat)}get open(){return nc(Le.open)}get close(){return nc(Le.close)}get ftruncate(){return nc(Le.ftruncate)}async exists(r){try{return await Le.promises.access(r),!0}catch{return!1}}get readdir(){return ay}get readDirsInDir(){return V$}get writeFile(){return q$}get rm(){return hL}get rename(){return K$}get copy(){return IL}get realpath(){return Y$}}});import{promises as As}from"fs";async function eg({userLocale:r,osLocale:t,userDataPath:e,commit:n,nlsMetadataPath:o,nlsMetadataHash:i}){if(Wt("code/willGenerateNls"),process.env.VSCODE_DEV||r==="pseudo"||r.startsWith("en")||!n||!e)return Zm(r,t,o);try{let s=await Z$(e);if(!s)return Zm(r,t,o);let a=e6(s,r);if(!a)return Zm(r,t,o);let l=s[a],c=l?.translations?.vscode;if(!l||typeof l.hash!="string"||!l.translations||typeof c!="string"||!await be.exists(c))return Zm(r,t,o);let u=`${l.hash}.${a}`,p=q(e,"clp",u),m=q(p,i??n),f=q(m,"nls.messages.json"),h=q(p,"tcf.json"),v=q(p,"corrupted.info");await be.exists(v)&&await As.rm(p,{recursive:!0,force:!0,maxRetries:3});let I={userLocale:r,osLocale:t,resolvedLanguage:a,defaultMessagesFile:q(o,"nls.messages.json"),languagePack:{translationsConfigFile:h,messagesFile:f,corruptMarkerFile:v},locale:r,availableLanguages:{"*":a},_languagePackId:u,_languagePackSupport:!0,_translationsConfigFile:h,_cacheRoot:p,_resolvedLanguagePackCoreLocation:m,_corruptedFile:v};if(await be.exists(f))return t6(m).catch(()=>{}),Wt("code/didGenerateNls"),I;let[E,w,P]=await Promise.all([As.readFile(q(o,"nls.keys.json"),"utf-8").then(fe=>JSON.parse(fe)),As.readFile(q(o,"nls.messages.json"),"utf-8").then(fe=>JSON.parse(fe)),As.readFile(c,"utf-8").then(fe=>JSON.parse(fe))]),k=[],O=0;for(let[fe,H]of E){let le=P.contents[fe];for(let Q of H)k.push(le?.[Q]||w[O]),O++}return await As.mkdir(m,{recursive:!0}),await Promise.all([As.writeFile(f,JSON.stringify(k),"utf-8"),As.writeFile(h,JSON.stringify(l.translations),"utf-8")]),Wt("code/didGenerateNls"),I}catch(s){console.error("Generating translation files failed.",s)}return Zm(r,t,o)}async function Z$(r){let t=q(r,"languagepacks.json");try{return JSON.parse(await As.readFile(t,"utf-8"))}catch{return}}function e6(r,t){try{for(;t;){if(r[t])return t;let e=t.lastIndexOf("-");if(e>0)t=t.substring(0,e);else return}}catch(e){console.error("Resolving language pack configuration failed.",e)}}function Zm(r,t,e){return Wt("code/didGenerateNls"),{userLocale:r,osLocale:t,resolvedLanguage:"en",defaultMessagesFile:q(e,"nls.messages.json"),locale:r,availableLanguages:{}}}function t6(r){let t=new Date;return As.utimes(r,t,t)}var Cw=y(()=>{Me();Qr();go()});var Aa,cy=y(()=>{Aa=class{constructor(...t){this._entries=new Map;for(let[e,n]of t)this.set(e,n)}set(t,e){let n=this._entries.get(t);return this._entries.set(t,e),n}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}}});function Ew(r,t){return t&&(r.stack||r.stacktrace)?d(116,null,xL(r),SL(r.stack)||SL(r.stacktrace)):xL(r)}function SL(r){return Array.isArray(r)?r.join(`
`):r}function xL(r){return r.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${r.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof r.code=="string"&&typeof r.errno=="number"&&typeof r.syscall=="string"?d(115,null,r.message):r.message||d(113,null)}function ni(r=null,t=!1){if(!r)return d(113,null);if(Array.isArray(r)){let e=Qo(r),n=ni(e[0],t);return e.length>1?d(114,null,n,e.length):n}if(j(r))return r;if(r.detail){let e=r.detail;if(e.error)return Ew(e.error,t);if(e.exception)return Ew(e.exception,t)}return r.stack?Ew(r,t):r.message?r.message:d(113,null)}var oc=y(()=>{At();we();re()});function tg(r){let t=r;return t?[t.on,t.pause,t.resume,t.destroy].every(e=>typeof e=="function"):!1}function dy(r){let t=r;return t?tg(t.stream)&&Array.isArray(t.buffer)&&typeof t.ended=="boolean":!1}function La(r,t){return new ww(r,t)}function CL(r,t){let e=[],n;for(;(n=r.read())!==null;)e.push(n);return t(e)}function EL(r,t,e){let n=[],o;for(;(o=r.read())!==null&&n.length<e;)n.push(o);return o===null&&n.length>0?t(n):{read:()=>{if(n.length>0)return n.shift();if(typeof o<"u"){let i=o;return o=void 0,i}return r.read()}}}function uy(r,t){return new Promise((e,n)=>{let o=[];Oa(r,{onData:i=>{t&&o.push(i)},onError:i=>{t?n(i):e(void 0)},onEnd:()=>{e(t?t(o):void 0)}})})}function Oa(r,t,e){r.on("error",n=>{e?.isCancellationRequested||t.onError(n)}),r.on("end",()=>{e?.isCancellationRequested||t.onEnd()}),r.on("data",n=>{e?.isCancellationRequested||t.onData(n)})}function wL(r,t){return new Promise((e,n)=>{let o=new ie,i=[],s=c=>{if(i.push(c),i.length>t)return o.dispose(),r.pause(),e({stream:r,buffer:i,ended:!1})},a=c=>(o.dispose(),n(c)),l=()=>(o.dispose(),e({stream:r,buffer:i,ended:!0}));o.add(ce(()=>r.removeListener("error",a))),r.on("error",a),o.add(ce(()=>r.removeListener("end",l))),r.on("end",l),o.add(ce(()=>r.removeListener("data",s))),r.on("data",s)})}function TL(r){let t=!1;return{read:()=>t?null:(t=!0,r)}}function py(r,t,e){let n=La(e);return Oa(r,{onData:o=>n.write(t.data(o)),onError:o=>n.error(t.error?t.error(o):o),onEnd:()=>n.end()}),n}var ww,rc=y(()=>{Ee();K();ww=class{constructor(t,e){this.reducer=t;this.options=e;this.state={flowing:!1,ended:!1,destroyed:!1};this.buffer={data:[],error:[]};this.listeners={data:[],error:[],end:[]};this.pendingWritePromises=[]}pause(){this.state.destroyed||(this.state.flowing=!1)}resume(){this.state.destroyed||this.state.flowing||(this.state.flowing=!0,this.flowData(),this.flowErrors(),this.flowEnd())}write(t){if(!this.state.destroyed){if(this.state.flowing)this.emitData(t);else if(this.buffer.data.push(t),typeof this.options?.highWaterMark=="number"&&this.buffer.data.length>this.options.highWaterMark)return new Promise(e=>this.pendingWritePromises.push(e))}}error(t){this.state.destroyed||(this.state.flowing?this.emitError(t):this.buffer.error.push(t))}end(t){this.state.destroyed||(typeof t<"u"&&this.write(t),this.state.flowing?(this.emitEnd(),this.destroy()):this.state.ended=!0)}emitData(t){this.listeners.data.slice(0).forEach(e=>e(t))}emitError(t){this.listeners.error.length===0?st(t):this.listeners.error.slice(0).forEach(e=>e(t))}emitEnd(){this.listeners.end.slice(0).forEach(t=>t())}on(t,e){if(!this.state.destroyed)switch(t){case"data":this.listeners.data.push(e),this.resume();break;case"end":this.listeners.end.push(e),this.state.flowing&&this.flowEnd()&&this.destroy();break;case"error":this.listeners.error.push(e),this.state.flowing&&this.flowErrors();break}}removeListener(t,e){if(this.state.destroyed)return;let n;switch(t){case"data":n=this.listeners.data;break;case"end":n=this.listeners.end;break;case"error":n=this.listeners.error;break}if(n){let o=n.indexOf(e);o>=0&&n.splice(o,1)}}flowData(){if(this.buffer.data.length===0)return;if(typeof this.reducer=="function"){let e=this.reducer(this.buffer.data);this.emitData(e)}else for(let e of this.buffer.data)this.emitData(e);this.buffer.data.length=0;let t=[...this.pendingWritePromises];this.pendingWritePromises.length=0,t.forEach(e=>e())}flowErrors(){if(this.listeners.error.length>0){for(let t of this.buffer.error)this.emitError(t);this.buffer.error.length=0}}flowEnd(){return this.state.ended?(this.emitEnd(),this.listeners.end.length>0):!1}destroy(){this.state.destroyed||(this.state.destroyed=!0,this.state.ended=!0,this.buffer.data.length=0,this.buffer.error.length=0,this.listeners.data.length=0,this.listeners.error.length=0,this.listeners.end.length=0,this.pendingWritePromises.length=0)}}});function r6(r,t,e=0){let n=t.byteLength,o=r.byteLength;if(n===0)return 0;if(n===1)return r.indexOf(t[0],e);if(n>o-e)return-1;let i=o6.value;i.fill(t.length);for(let c=0;c<t.length;c++)i[t[c]]=t.length-c-1;let s=e+t.length-1,a=s,l=-1;for(;s<o;)if(r[s]===t[a]){if(a===0){l=s;break}s--,a--}else s+=Math.max(t.length-a,i[r[s]]),a=t.length-1;return l}function i6(r,t){return r[t]*2**24+r[t+1]*2**16+r[t+2]*2**8+r[t+3]}function s6(r,t,e){r[e+3]=t,t=t>>>8,r[e+2]=t,t=t>>>8,r[e+1]=t,t=t>>>8,r[e]=t}function a6(r,t){return r[t+0]<<0>>>0|r[t+1]<<8>>>0|r[t+2]<<16>>>0|r[t+3]<<24>>>0}function l6(r,t,e){r[e+0]=t&255,t=t>>>8,r[e+1]=t&255,t=t>>>8,r[e+2]=t&255,t=t>>>8,r[e+3]=t&255}function c6(r,t){return r[t]}function d6(r,t,e){r[e]=t}function kL(r){return CL(r,t=>L.concat(t))}function DL(r){return TL(r)}function mr(r){return uy(r,t=>L.concat(t))}async function _L(r){return r.ended?L.concat(r.buffer):L.concat([...r.buffer,await mr(r.stream)])}function ML(r){return py(r,{data:t=>typeof t=="string"?L.fromString(t):L.wrap(t)},t=>L.concat(t))}function AL(r){return La(t=>L.concat(t),r)}function gr(r){let t=0,e=0,n=0,o=new Uint8Array(Math.floor(r.length/4*3)),i=a=>{switch(e){case 3:o[n++]=t|a,e=0;break;case 2:o[n++]=t|a>>>2,t=a<<6,e=3;break;case 1:o[n++]=t|a>>>4,t=a<<4,e=2;break;default:t=a<<2,e=1}};for(let a=0;a<r.length;a++){let l=r.charCodeAt(a);if(l>=65&&l<=90)i(l-65);else if(l>=97&&l<=122)i(l-97+26);else if(l>=48&&l<=57)i(l-48+52);else if(l===43||l===45)i(62);else if(l===47||l===95)i(63);else{if(l===61)break;throw new SyntaxError(`Unexpected base64 character ${r[a]}`)}}let s=n;for(;e>0;)i(0);return L.wrap(o).slice(0,s)}function To({buffer:r},t=!0,e=!1){let n=e?p6:u6,o="",i=r.byteLength%3,s=0;for(;s<r.byteLength-i;s+=3){let a=r[s+0],l=r[s+1],c=r[s+2];o+=n[a>>>2],o+=n[(a<<4|l>>>4)&63],o+=n[(l<<2|c>>>6)&63],o+=n[c&63]}if(i===1){let a=r[s+0];o+=n[a>>>2],o+=n[a<<4&63],t&&(o+="==")}else if(i===2){let a=r[s+0],l=r[s+1];o+=n[a>>>2],o+=n[(a<<4|l>>>4)&63],o+=n[l<<2&63],t&&(o+="=")}return o}function Na({buffer:r}){let t="";for(let e=0;e<r.length;e++){let n=r[e];t+=RL[n>>>4],t+=RL[n&15]}return t}function og(r){if(r.length%2!==0)throw new SyntaxError("Hex string must have an even length");let t=new Uint8Array(r.length>>1);for(let e=0;e<r.length;)t[e>>1]=PL(r,e++)<<4|PL(r,e++);return L.wrap(t)}function PL(r,t){let e=r.charCodeAt(t);if(e>=48&&e<=57)return e-48;if(e>=97&&e<=102)return e-87;if(e>=65&&e<=70)return e-55;throw new SyntaxError(`Invalid hex character at position ${t}`)}var ng,o6,Tw,Rw,L,u6,p6,RL,Ke=y(()=>{ji();rc();ng=typeof Buffer<"u",o6=new Kt(()=>new Uint8Array(256)),L=class r{static alloc(t){return ng?new r(Buffer.allocUnsafe(t)):new r(new Uint8Array(t))}static wrap(t){return ng&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new r(t)}static fromString(t,e){return!(e?.dontUseNodeBuffer||!1)&&ng?new r(Buffer.from(t)):(Tw||(Tw=new TextEncoder),new r(Tw.encode(t)))}static fromByteArray(t){let e=r.alloc(t.length);for(let n=0,o=t.length;n<o;n++)e.buffer[n]=t[n];return e}static concat(t,e){if(typeof e>"u"){e=0;for(let i=0,s=t.length;i<s;i++)e+=t[i].byteLength}let n=r.alloc(e),o=0;for(let i=0,s=t.length;i<s;i++){let a=t[i];n.set(a,o),o+=a.byteLength}return n}static isNativeBuffer(t){return ng&&Buffer.isBuffer(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}clone(){let t=r.alloc(this.byteLength);return t.set(this),t}toString(){return ng?this.buffer.toString():(Rw||(Rw=new TextDecoder(void 0,{ignoreBOM:!0})),Rw.decode(this.buffer))}slice(t,e){return new r(this.buffer.subarray(t,e))}set(t,e){if(t instanceof r)this.buffer.set(t.buffer,e);else if(t instanceof Uint8Array)this.buffer.set(t,e);else if(t instanceof ArrayBuffer)this.buffer.set(new Uint8Array(t),e);else if(ArrayBuffer.isView(t))this.buffer.set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),e);else throw new Error("Unknown argument 'array'")}readUInt32BE(t){return i6(this.buffer,t)}writeUInt32BE(t,e){s6(this.buffer,t,e)}readUInt32LE(t){return a6(this.buffer,t)}writeUInt32LE(t,e){l6(this.buffer,t,e)}readUInt8(t){return c6(this.buffer,t)}writeUInt8(t,e){d6(this.buffer,t,e)}indexOf(t,e=0){return r6(this.buffer,t instanceof r?t.buffer:t,e)}equals(t){return this===t?!0:this.byteLength!==t.byteLength?!1:this.buffer.every((e,n)=>e===t.buffer[n])}};u6="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p6="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";RL="0123456789abcdef"});function Lr(r){return Dw(r,0)}function Dw(r,t){switch(typeof r){case"object":return r===null?Ls(349,t):Array.isArray(r)?h6(r,t):v6(r,t);case"string":return LL(r,t);case"boolean":return m6(r,t);case"number":return Ls(r,t);case"undefined":return Ls(937,t);default:return Ls(617,t)}}function Ls(r,t){return(t<<5)-t+r|0}function m6(r,t){return Ls(r?433:863,t)}function LL(r,t){t=Ls(149417,t);for(let e=0,n=r.length;e<n;e++)t=Ls(r.charCodeAt(e),t);return t}function h6(r,t){return t=Ls(g6,t),r.reduce((e,n)=>Dw(n,e),t)}function v6(r,t){return t=Ls(f6,t),Object.keys(r).sort().reduce((e,n)=>(e=LL(n,e),Dw(r[n],e)),t)}function Pw(r,t,e=32){let n=e-t,o=~((1<<n)-1);return(r<<t|(o&r)>>>n)>>>0}function rg(r,t=32){return r instanceof ArrayBuffer?Na(L.wrap(new Uint8Array(r))):(r>>>0).toString(16).padStart(t/4,"0")}var g6,f6,kw,Ua=y(()=>{Ke();Xr();Tt();g6=104579,f6=181387;kw=class r{constructor(){this._h0=1732584193;this._h1=4023233417;this._h2=2562383102;this._h3=271733878;this._h4=3285377520;this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}static{this._bigBlock32=new DataView(new ArrayBuffer(320))}update(t){let e=t.length;if(e===0)return;let n=this._buff,o=this._buffLen,i=this._leftoverHighSurrogate,s,a;for(i!==0?(s=i,a=-1,i=0):(s=t.charCodeAt(0),a=0);;){let l=s;if(B0(s))if(a+1<e){let c=t.charCodeAt(a+1);sw(c)?(a++,l=q0(s,c)):l=65533}else{i=s;break}else sw(s)&&(l=65533);if(o=this._push(n,o,l),a++,a<e)s=t.charCodeAt(a);else break}this._buffLen=o,this._leftoverHighSurrogate=i}_push(t,e,n){return n<128?t[e++]=n:n<2048?(t[e++]=192|(n&1984)>>>6,t[e++]=128|(n&63)>>>0):n<65536?(t[e++]=224|(n&61440)>>>12,t[e++]=128|(n&4032)>>>6,t[e++]=128|(n&63)>>>0):(t[e++]=240|(n&1835008)>>>18,t[e++]=128|(n&258048)>>>12,t[e++]=128|(n&4032)>>>6,t[e++]=128|(n&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),e}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),rg(this._h0)+rg(this._h1)+rg(this._h2)+rg(this._h3)+rg(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56&&(this._step(),this._buff.fill(0));let t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=r._bigBlock32,e=this._buffDV;for(let p=0;p<64;p+=4)t.setUint32(p,e.getUint32(p,!1),!1);for(let p=64;p<320;p+=4)t.setUint32(p,Pw(t.getUint32(p-12,!1)^t.getUint32(p-32,!1)^t.getUint32(p-56,!1)^t.getUint32(p-64,!1),1),!1);let n=this._h0,o=this._h1,i=this._h2,s=this._h3,a=this._h4,l,c,u;for(let p=0;p<80;p++)p<20?(l=o&i|~o&s,c=1518500249):p<40?(l=o^i^s,c=1859775393):p<60?(l=o&i|o&s|i&s,c=2400959708):(l=o^i^s,c=3395469782),u=Pw(n,5)+l+a+c+t.getUint32(p*4,!1)&4294967295,a=s,s=i,i=Pw(o,30),o=n,n=u;this._h0=this._h0+n&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+i&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}}});function _w(...r){switch(r.length){case 1:return d(3405,null,r[0]);case 2:return d(3406,null,r[0],r[1]);case 3:return d(3407,null,r[0],r[1],r[2]);default:return}}var y6,I6,Fa,OL=y(()=>{ti();Ee();re();y6=d(3404,null),I6=d(3403,null),Fa=class r{constructor(){this._input="";this._start=0;this._current=0;this._tokens=[];this._errors=[];this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">";case 8:return">=";case 9:return"=~";case 10:return t.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return t.lexeme;case 18:return t.lexeme;case 19:return t.lexeme;case 20:return"EOF";default:throw Vv(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(t=>t.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}get errors(){return this._errors}reset(t){return this._input=t,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){let e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(_w("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(_w("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(_w("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(t){return this._isAtEnd()||this._input.charCodeAt(this._current)!==t?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){let e=this._start,n=this._input.substring(this._start,this._current),o={type:19,offset:this._start,lexeme:n};this._errors.push({offset:e,lexeme:n,additionalInfo:t}),this._tokens.push(o)}_string(){this.stringRe.lastIndex=this._start;let t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;let e=this._input.substring(this._start,this._current),n=r._keywords.get(e);n?this._addToken(n):this._tokens.push({type:17,lexeme:e,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(y6);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let t=this._current,e=!1,n=!1;for(;;){if(t>=this._input.length){this._current=t,this._error(I6);return}let i=this._input.charCodeAt(t);if(e)e=!1;else if(i===47&&!n){t++;break}else i===91?n=!0:i===92?e=!0:i===93&&(n=!1);t++}for(;t<this._input.length&&r._regexFlags.has(this._input.charCodeAt(t));)t++;this._current=t;let o=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:o,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}});function b6(r,t,e){t[Si.DI_TARGET]===t?t[Si.DI_DEPENDENCIES].push({id:r,index:e}):(t[Si.DI_DEPENDENCIES]=[{id:r,index:e}],t[Si.DI_TARGET]=t)}function D(r){if(Si.serviceIds.has(r))return Si.serviceIds.get(r);let t=function(e,n,o){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");b6(t,e,o)};return t.toString=()=>r,Si.serviceIds.set(r,t),t}var Si,Ln,Z=y(()=>{(o=>{o.serviceIds=new Map,o.DI_TARGET="$di$target",o.DI_DEPENDENCIES="$di$dependencies";function n(i){return i[o.DI_DEPENDENCIES]||[]}o.getServiceDependencies=n})(Si||={});Ln=D("instantiationService")});function ig(r,t){return r.cmp(t)}function gy(r,t){if(typeof r=="string"){let e=parseFloat(r);isNaN(e)||(r=e)}return typeof r=="string"||typeof r=="number"?t(r):Ro.INSTANCE}function FL(r){let t=null;for(let e=0,n=r.length;e<n;e++){let o=r[e].substituteConstants();if(r[e]!==o&&t===null){t=[];for(let i=0;i<e;i++)t[i]=r[i]}t!==null&&(t[e]=o)}return t===null?r:t}function HL(r,t){return r<t?-1:r>t?1:0}function lc(r,t,e,n){return r<e?-1:r>e?1:t<n?-1:t>n?1:0}function UL(r){return r.type===9?r.expr:[r]}var Gn,S6,x6,C6,E6,w6,NL,T6,R6,P6,k6,Mw,Je,Ro,Ho,Os,Ha,Od,Nd,Wa,Ns,Va,ic,sc,ac,Ba,Aw,my,sg,x,Yi,fo=y(()=>{ti();me();Tt();OL();Z();re();Ee();Gn=new Map;Gn.set("false",!1);Gn.set("true",!0);Gn.set("isMac",gt);Gn.set("isLinux",$e);Gn.set("isWindows",te);Gn.set("isChromeOS",_v);Gn.set("isWeb",yn);Gn.set("isMacNative",gt&&!yn);Gn.set("isEdge",Mv);Gn.set("isFirefox",Q1);Gn.set("isChrome",Om);Gn.set("isSafari",J1);S6=Object.prototype.hasOwnProperty,x6={regexParsingWithErrorRecovery:!0},C6=d(3383,null),E6=d(3384,null),w6=d(3386,null),NL=d(3382,null),T6=d(3389,null),R6=d(3390,null),P6=d(3387,null),k6=d(3388,null),Mw=class r{constructor(t=x6){this._config=t;this._scanner=new Fa;this._tokens=[];this._current=0;this._parsingErrors=[];this._flagsGYRe=/g|y/g}static{this._parseError=new Error}get lexingErrors(){return this._scanner.errors}get parsingErrors(){return this._parsingErrors}parse(t){if(t===""){this._parsingErrors.push({message:C6,offset:0,lexeme:"",additionalInfo:E6});return}this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{let e=this._expr();if(!this._isAtEnd()){let n=this._peek(),o=n.type===17?R6:void 0;throw this._parsingErrors.push({message:T6,offset:n.offset,lexeme:Fa.getLexeme(n),additionalInfo:o}),r._parseError}return e}catch(e){if(e!==r._parseError)throw e;return}}_expr(){return this._or()}_or(){let t=[this._and()];for(;this._matchOne(16);){let e=this._and();t.push(e)}return t.length===1?t[0]:Je.or(...t)}_and(){let t=[this._term()];for(;this._matchOne(15);){let e=this._term();t.push(e)}return t.length===1?t[0]:Je.and(...t)}_term(){if(this._matchOne(2)){let t=this._peek();switch(t.type){case 11:return this._advance(),Ro.INSTANCE;case 12:return this._advance(),Ho.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,NL),e?.negate()}case 17:return this._advance(),Ns.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){let t=this._peek();switch(t.type){case 11:return this._advance(),Je.true();case 12:return this._advance(),Je.false();case 0:{this._advance();let e=this._expr();return this._consume(1,NL),e}case 17:{let e=t.lexeme;if(this._advance(),this._matchOne(9)){let o=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),o.type!==10)throw this._errExpectedButGot("REGEX",o);let i=o.lexeme,s=i.lastIndexOf("/"),a=s===i.length-1?void 0:this._removeFlagsGY(i.substring(s+1)),l;try{l=new RegExp(i.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",o)}return Ba.create(e,l)}switch(o.type){case 10:case 19:{let i=[o.lexeme];this._advance();let s=this._peek(),a=0;for(let m=0;m<o.lexeme.length;m++)o.lexeme.charCodeAt(m)===40?a++:o.lexeme.charCodeAt(m)===41&&a--;for(;!this._isAtEnd()&&s.type!==15&&s.type!==16;){switch(s.type){case 0:a++;break;case 1:a--;break;case 10:case 18:for(let m=0;m<s.lexeme.length;m++)s.lexeme.charCodeAt(m)===40?a++:o.lexeme.charCodeAt(m)===41&&a--}if(a<0)break;i.push(Fa.getLexeme(s)),this._advance(),s=this._peek()}let l=i.join(""),c=l.lastIndexOf("/"),u=c===l.length-1?void 0:this._removeFlagsGY(l.substring(c+1)),p;try{p=new RegExp(l.substring(1,c),u)}catch{throw this._errExpectedButGot("REGEX",o)}return Je.regex(e,p)}case 18:{let i=o.lexeme;this._advance();let s=null;if(!Vm(i)){let a=i.indexOf("/"),l=i.lastIndexOf("/");if(a!==l&&a>=0){let c=i.slice(a+1,l),u=i[l+1]==="i"?"i":"";try{s=new RegExp(c,u)}catch{throw this._errExpectedButGot("REGEX",o)}}}if(s===null)throw this._errExpectedButGot("REGEX",o);return Ba.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,w6);let o=this._value();return Je.notIn(e,o)}switch(this._peek().type){case 3:{this._advance();let o=this._value();if(this._previous().type===18)return Je.equals(e,o);switch(o){case"true":return Je.has(e);case"false":return Je.not(e);default:return Je.equals(e,o)}}case 4:{this._advance();let o=this._value();if(this._previous().type===18)return Je.notEquals(e,o);switch(o){case"true":return Je.not(e);case"false":return Je.has(e);default:return Je.notEquals(e,o)}}case 5:return this._advance(),sc.create(e,this._value());case 6:return this._advance(),ac.create(e,this._value());case 7:return this._advance(),Va.create(e,this._value());case 8:return this._advance(),ic.create(e,this._value());case 13:return this._advance(),Je.in(e,this._value());default:return Je.has(e)}}case 20:throw this._parsingErrors.push({message:P6,offset:t.offset,lexeme:"",additionalInfo:k6}),r._parseError;default:throw this._errExpectedButGot(`true | false | KEY
| KEY '=~' REGEX
| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return this._check(t)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,e){if(this._check(t))return this._advance();throw this._errExpectedButGot(e,this._peek())}_errExpectedButGot(t,e,n){let o=d(3385,null,t,Fa.getLexeme(e)),i=e.offset,s=Fa.getLexeme(e);return this._parsingErrors.push({message:o,offset:i,lexeme:s,additionalInfo:n}),r._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},Je=class{static false(){return Ro.INSTANCE}static true(){return Ho.INSTANCE}static has(t){return Os.create(t)}static equals(t,e){return Ha.create(t,e)}static notEquals(t,e){return Wa.create(t,e)}static regex(t,e){return Ba.create(t,e)}static in(t,e){return Od.create(t,e)}static notIn(t,e){return Nd.create(t,e)}static not(t){return Ns.create(t)}static and(...t){return my.create(t,null,!0)}static or(...t){return sg.create(t,null,!0)}static greater(t,e){return Va.create(t,e)}static greaterEquals(t,e){return ic.create(t,e)}static smaller(t,e){return sc.create(t,e)}static smallerEquals(t,e){return ac.create(t,e)}static{this._parser=new Mw({regexParsingWithErrorRecovery:!1})}static deserialize(t){return t==null?void 0:this._parser.parse(t)}};Ro=class r{constructor(){this.type=0}static{this.INSTANCE=new r}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}map(t){return this}negate(){return Ho.INSTANCE}},Ho=class r{constructor(){this.type=1}static{this.INSTANCE=new r}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}map(t){return this}negate(){return Ro.INSTANCE}},Os=class r{constructor(t,e){this.key=t;this.negated=e;this.type=2}static create(t,e=null){let n=Gn.get(t);return typeof n=="boolean"?n?Ho.INSTANCE:Ro.INSTANCE:new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:HL(this.key,t.key)}equals(t){return t.type===this.type?this.key===t.key:!1}substituteConstants(){let t=Gn.get(this.key);return typeof t=="boolean"?t?Ho.INSTANCE:Ro.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}map(t){return t.mapDefined(this.key)}negate(){return this.negated||(this.negated=Ns.create(this.key,this)),this.negated}},Ha=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=4}static create(t,e,n=null){if(typeof e=="boolean")return e?Os.create(t,n):Ns.create(t,n);let o=Gn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?Ho.INSTANCE:Ro.INSTANCE:new r(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){let t=Gn.get(this.key);if(typeof t=="boolean"){let e=t?"true":"false";return this.value===e?Ho.INSTANCE:Ro.INSTANCE}return this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}map(t){return t.mapEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Wa.create(this.key,this.value,this)),this.negated}},Od=class r{constructor(t,e){this.key=t;this.valueKey=e;this.type=10;this.negated=null}static create(t,e){return new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type?this.key===t.key&&this.valueKey===t.valueKey:!1}substituteConstants(){return this}evaluate(t){let e=t.getValue(this.valueKey),n=t.getValue(this.key);if(Array.isArray(e)){if(e.includes(n))return!0;if(te&&typeof n=="string"&&n.startsWith("file:///")){let o=n.toLowerCase();return e.some(i=>typeof i=="string"&&i.toLowerCase()===o)}return!1}if(typeof n=="string"&&typeof e=="object"&&e!==null){if(S6.call(e,n))return!0;if(te&&n.startsWith("file:///")){let o=n.toLowerCase();return Object.keys(e).some(i=>i.toLowerCase()===o)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}map(t){return t.mapIn(this.key,this.valueKey)}negate(){return this.negated||(this.negated=Nd.create(this.key,this.valueKey)),this.negated}},Nd=class r{constructor(t,e){this.key=t;this.valueKey=e;this.type=11;this._negated=Od.create(t,e)}static create(t,e){return new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type?this._negated.equals(t._negated):!1}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}map(t){return t.mapNotIn(this.key,this.valueKey)}negate(){return this._negated}},Wa=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=5}static create(t,e,n=null){if(typeof e=="boolean")return e?Ns.create(t,n):Os.create(t,n);let o=Gn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?Ro.INSTANCE:Ho.INSTANCE:new r(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){let t=Gn.get(this.key);if(typeof t=="boolean"){let e=t?"true":"false";return this.value===e?Ro.INSTANCE:Ho.INSTANCE}return this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}map(t){return t.mapNotEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Ha.create(this.key,this.value,this)),this.negated}},Ns=class r{constructor(t,e){this.key=t;this.negated=e;this.type=3}static create(t,e=null){let n=Gn.get(t);return typeof n=="boolean"?n?Ro.INSTANCE:Ho.INSTANCE:new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:HL(this.key,t.key)}equals(t){return t.type===this.type?this.key===t.key:!1}substituteConstants(){let t=Gn.get(this.key);return typeof t=="boolean"?t?Ro.INSTANCE:Ho.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}map(t){return t.mapNot(this.key)}negate(){return this.negated||(this.negated=Os.create(this.key,this)),this.negated}};Va=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=12}static create(t,e,n=null){return gy(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}map(t){return t.mapGreater(this.key,this.value)}negate(){return this.negated||(this.negated=ac.create(this.key,this.value,this)),this.negated}},ic=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=13}static create(t,e,n=null){return gy(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}map(t){return t.mapGreaterEquals(this.key,this.value)}negate(){return this.negated||(this.negated=sc.create(this.key,this.value,this)),this.negated}},sc=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=14}static create(t,e,n=null){return gy(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}map(t){return t.mapSmaller(this.key,this.value)}negate(){return this.negated||(this.negated=ic.create(this.key,this.value,this)),this.negated}},ac=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=15}static create(t,e,n=null){return gy(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:lc(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}map(t){return t.mapSmallerEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Va.create(this.key,this.value,this)),this.negated}},Ba=class r{constructor(t,e){this.key=t;this.regexp=e;this.type=7;this.negated=null}static create(t,e){return new r(t,e)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.key<t.key)return-1;if(this.key>t.key)return 1;let e=this.regexp?this.regexp.source:"",n=t.regexp?t.regexp.source:"";return e<n?-1:e>n?1:0}equals(t){if(t.type===this.type){let e=this.regexp?this.regexp.source:"",n=t.regexp?t.regexp.source:"";return this.key===t.key&&e===n}return!1}substituteConstants(){return this}evaluate(t){let e=t.getValue(this.key);return this.regexp?this.regexp.test(e):!1}serialize(){let t=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${t}`}keys(){return[this.key]}map(t){return t.mapRegex(this.key,this.regexp)}negate(){return this.negated||(this.negated=Aw.create(this)),this.negated}},Aw=class r{constructor(t){this._actual=t;this.type=8}static create(t){return new r(t)}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type?this._actual.equals(t._actual):!1}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}map(t){return new r(this._actual.map(t))}negate(){return this._actual}};my=class r{constructor(t,e){this.expr=t;this.negated=e;this.type=6}static create(t,e,n){return r._normalizeArr(t,e,n)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.length<t.expr.length)return-1;if(this.expr.length>t.expr.length)return 1;for(let e=0,n=this.expr.length;e<n;e++){let o=ig(this.expr[e],t.expr[e]);if(o!==0)return o}return 0}equals(t){if(t.type===this.type){if(this.expr.length!==t.expr.length)return!1;for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].equals(t.expr[e]))return!1;return!0}return!1}substituteConstants(){let t=FL(this.expr);return t===this.expr?this:r.create(t,this.negated,!1)}evaluate(t){for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].evaluate(t))return!1;return!0}static _normalizeArr(t,e,n){let o=[],i=!1;for(let s of t)if(s){if(s.type===1){i=!0;continue}if(s.type===0)return Ro.INSTANCE;if(s.type===6){o.push(...s.expr);continue}o.push(s)}if(o.length===0&&i)return Ho.INSTANCE;if(o.length!==0){if(o.length===1)return o[0];o.sort(ig);for(let s=1;s<o.length;s++)o[s-1].equals(o[s])&&(o.splice(s,1),s--);if(o.length===1)return o[0];for(;o.length>1;){let s=o[o.length-1];if(s.type!==9)break;o.pop();let a=o.pop(),l=o.length===0,c=sg.create(s.expr.map(u=>r.create([u,a],null,n)),null,l);c&&(o.push(c),o.sort(ig))}if(o.length===1)return o[0];if(n){for(let s=0;s<o.length;s++)for(let a=s+1;a<o.length;a++)if(o[s].negate().equals(o[a]))return Ro.INSTANCE;if(o.length===1)return o[0]}return new r(o,e)}}serialize(){return this.expr.map(t=>t.serialize()).join(" && ")}keys(){let t=[];for(let e of this.expr)t.push(...e.keys());return t}map(t){return new r(this.expr.map(e=>e.map(t)),null)}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());this.negated=sg.create(t,this,!0)}return this.negated}},sg=class r{constructor(t,e){this.expr=t;this.negated=e;this.type=9}static create(t,e,n){return r._normalizeArr(t,e,n)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.length<t.expr.length)return-1;if(this.expr.length>t.expr.length)return 1;for(let e=0,n=this.expr.length;e<n;e++){let o=ig(this.expr[e],t.expr[e]);if(o!==0)return o}return 0}equals(t){if(t.type===this.type){if(this.expr.length!==t.expr.length)return!1;for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].equals(t.expr[e]))return!1;return!0}return!1}substituteConstants(){let t=FL(this.expr);return t===this.expr?this:r.create(t,this.negated,!1)}evaluate(t){for(let e=0,n=this.expr.length;e<n;e++)if(this.expr[e].evaluate(t))return!0;return!1}static _normalizeArr(t,e,n){let o=[],i=!1;if(t){for(let s=0,a=t.length;s<a;s++){let l=t[s];if(l){if(l.type===0){i=!0;continue}if(l.type===1)return Ho.INSTANCE;if(l.type===9){o=o.concat(l.expr);continue}o.push(l)}}if(o.length===0&&i)return Ro.INSTANCE;o.sort(ig)}if(o.length!==0){if(o.length===1)return o[0];for(let s=1;s<o.length;s++)o[s-1].equals(o[s])&&(o.splice(s,1),s--);if(o.length===1)return o[0];if(n){for(let s=0;s<o.length;s++)for(let a=s+1;a<o.length;a++)if(o[s].negate().equals(o[a]))return Ho.INSTANCE;if(o.length===1)return o[0]}return new r(o,e)}}serialize(){return this.expr.map(t=>t.serialize()).join(" || ")}keys(){let t=[];for(let e of this.expr)t.push(...e.keys());return t}map(t){return new r(this.expr.map(e=>e.map(t)),null)}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());for(;t.length>1;){let e=t.shift(),n=t.shift(),o=[];for(let i of UL(e))for(let s of UL(n))o.push(my.create([i,s],null,!1));t.unshift(r.create(o,null,!1))}this.negated=r.create(t,this,!0)}return this.negated}},x=class r extends Os{static{this._info=[]}static all(){return r._info.values()}constructor(t,e,n){super(t,null),this._defaultValue=e,typeof n=="object"?r._info.push({...n,key:t}):n!==!0&&r._info.push({key:t,description:n,type:e!=null?typeof e:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Ha.create(this.key,t)}notEqualsTo(t){return Wa.create(this.key,t)}greater(t){return Va.create(this.key,t)}},Yi=D("contextKeyService")});function Ow(r){return po(r)}function Nw(r,t){return r!==0&&r<=t}function VL(r,t,e){switch(t){case 1:r.trace(e);break;case 2:r.debug(e);break;case 3:r.info(e);break;case 4:r.warn(e);break;case 5:r.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${t}`)}}function _6(r){switch(r){case"debug":return console.debug;case"error":return console.error;case"info":return console.info;case"log":return console.log;case"warn":return console.warn}}function Xi(r,...t){if(!D6){WL=!0;try{_6(r).apply(console,t)}finally{WL=!1}}}function Ud(r,t=!1){let e="";for(let n=0;n<r.length;n++){let o=r[n];if(o instanceof Error&&(o=ni(o,t)),typeof o=="object")try{o=JSON.stringify(o)}catch{}e+=(n>0?" ":"")+o}return e}function dg(r){if(r.verbose)return 1;if(typeof r.logLevel=="string"){let t=M6(r.logLevel.toLowerCase());if(t!==void 0)return t}return cg}function Uw(r){switch(r){case 1:return"trace";case 2:return"debug";case 3:return"info";case 4:return"warn";case 5:return"error";case 0:return"off"}}function M6(r){switch(r){case"trace":return 1;case"debug":return 2;case"info":return 3;case"warn":return 4;case"error":return 5;case"critical":return 5;case"off":return 0}}var z,Wo,cg,D6,WL,cc,ag,fy,hy,lg,Lw,vy,pie,De=y(()=>{re();oc();de();Ua();K();Sn();me();bt();we();oe();fo();Z();z=D("logService"),Wo=D("loggerService");cg=3;D6=!1,WL=!1;cc=class extends _{constructor(){super(...arguments);this.level=cg;this._onDidChangeLogLevel=this._register(new T)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return Nw(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},ag=class extends cc{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...n){this.canLog(1)&&this.log(1,Ud([e,...n],!0))}debug(e,...n){this.canLog(2)&&this.log(2,Ud([e,...n]))}info(e,...n){this.canLog(3)&&this.log(3,Ud([e,...n]))}warn(e,...n){this.canLog(4)&&this.log(4,Ud([e,...n]))}error(e,...n){if(this.canLog(5))if(e instanceof Error){let o=Array.prototype.slice.call(arguments);o[0]=e.stack,this.log(5,Ud(o))}else this.log(5,Ud([e,...n]))}flush(){}},fy=class extends cc{constructor(e=cg,n=!0){super();this.useColors=n;this.setLevel(e)}trace(e,...n){this.canLog(1)&&(this.useColors?Xi("log","%cTRACE","color: #888",e,...n):Xi("log",e,...n))}debug(e,...n){this.canLog(2)&&(this.useColors?Xi("log","%cDEBUG","background: #eee; color: #888",e,...n):Xi("log",e,...n))}info(e,...n){this.canLog(3)&&(this.useColors?Xi("log","%c INFO","color: #33f",e,...n):Xi("log",e,...n))}warn(e,...n){this.canLog(4)&&(this.useColors?Xi("warn","%c WARN","color: #993",e,...n):Xi("log",e,...n))}error(e,...n){this.canLog(5)&&(this.useColors?Xi("error","%c ERR","color: #f33",e,...n):Xi("error",e,...n))}flush(){}},hy=class extends cc{constructor(e){super();this.loggers=e;e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let n of this.loggers)n.setLevel(e);super.setLevel(e)}trace(e,...n){for(let o of this.loggers)o.trace(e,...n)}debug(e,...n){for(let o of this.loggers)o.debug(e,...n)}info(e,...n){for(let o of this.loggers)o.info(e,...n)}warn(e,...n){for(let o of this.loggers)o.warn(e,...n)}error(e,...n){for(let o of this.loggers)o.error(e,...n)}flush(){for(let e of this.loggers)e.flush()}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},lg=class extends _{constructor(e,n,o){super();this.logLevel=e;this.logsHome=n;this._loggers=new tt;this._onDidChangeLoggers=this._register(new T);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new T);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new T);this.onDidChangeVisibility=this._onDidChangeVisibility.event;if(o)for(let i of o)this._loggers.set(i.resource,{logger:void 0,info:i})}getLoggerEntry(e){return j(e)?[...this._loggers.values()].find(n=>n.info.id===e):this._loggers.get(e)}getLogger(e){return this.getLoggerEntry(e)?.logger}createLogger(e,n){let o=this.toResource(e),i=j(e)?e:n?.id??Lr(o.toString()).toString(16),s=this._loggers.get(o)?.logger,a=n?.logLevel==="always"?1:n?.logLevel;s||(s=this.doCreateLogger(o,a??this.getLogLevel(o)??this.logLevel,{...n,id:i}));let l={logger:s,info:{resource:o,id:i,logLevel:a,name:n?.name,hidden:n?.hidden,group:n?.group,extensionId:n?.extensionId,when:n?.when}};return this.registerLogger(l.info),this._loggers.set(o,l),s}toResource(e){return j(e)?ge(this.logsHome,`${e.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):e}setLogLevel(e,n){if(S.isUri(e)){let o=e,i=n,s=this._loggers.get(o);s&&i!==s.info.logLevel&&(s.info.logLevel=i===this.logLevel?void 0:i,s.logger?.setLevel(i),this._loggers.set(s.info.resource,s),this._onDidChangeLogLevel.fire([o,i]))}else{this.logLevel=e;for(let[o,i]of this._loggers.entries())this._loggers.get(o)?.info.logLevel===void 0&&i.logger?.setLevel(this.logLevel);this._onDidChangeLogLevel.fire(this.logLevel)}}setVisibility(e,n){let o=this.getLoggerEntry(e);o&&n!==!o.info.hidden&&(o.info.hidden=!n,this._loggers.set(o.info.resource,o),this._onDidChangeVisibility.fire([o.info.resource,n]))}getLogLevel(e){let n;return e&&(n=this._loggers.get(e)?.info.logLevel),n??this.logLevel}registerLogger(e){let n=this._loggers.get(e.resource);n?n.info.hidden!==e.hidden&&this.setVisibility(e.resource,!e.hidden):(this._loggers.set(e.resource,{info:e,logger:void 0}),this._onDidChangeLoggers.fire({added:[e],removed:[]}))}deregisterLogger(e){let n=this.toResource(e),o=this._loggers.get(n);o&&(o.logger&&o.logger.dispose(),this._loggers.delete(n),this._onDidChangeLoggers.fire({added:[],removed:[o.info]}))}*getRegisteredLoggers(){for(let e of this._loggers.values())yield e.info}getRegisteredLogger(e){return this._loggers.get(e)?.info}dispose(){this._loggers.forEach(e=>e.logger?.dispose()),this._loggers.clear(),super.dispose()}},Lw=class{constructor(){this.onDidChangeLogLevel=new T().event}setLevel(t){}getLevel(){return 3}trace(t,...e){}debug(t,...e){}info(t,...e){}warn(t,...e){}error(t,...e){}critical(t,...e){}dispose(){}flush(){}},vy=class extends Lw{};pie=new x("logLevel",Uw(3))});var pt,ug=y(()=>{pt=class{constructor(t,e=[],n=!1){this.ctor=t,this.staticArguments=e,this.supportsDelayedInstantiation=n}}});function pg(r,t=!1){let e=0,n=r.length,o="",i=0,s=16,a=0;function l(v){let I=0,E=0;for(;I<v;){let w=r.charCodeAt(e);if(w>=48&&w<=57)E=E*16+w-48;else if(w>=65&&w<=70)E=E*16+w-65+10;else if(w>=97&&w<=102)E=E*16+w-97+10;else break;e++,I++}return I<v&&(E=-1),E}function c(v){e=v,o="",i=0,s=16,a=0}function u(){let v=e;if(r.charCodeAt(e)===48)e++;else for(e++;e<r.length&&Fd(r.charCodeAt(e));)e++;if(e<r.length&&r.charCodeAt(e)===46)if(e++,e<r.length&&Fd(r.charCodeAt(e)))for(e++;e<r.length&&Fd(r.charCodeAt(e));)e++;else return a=3,r.substring(v,e);let I=e;if(e<r.length&&(r.charCodeAt(e)===69||r.charCodeAt(e)===101))if(e++,(e<r.length&&r.charCodeAt(e)===43||r.charCodeAt(e)===45)&&e++,e<r.length&&Fd(r.charCodeAt(e))){for(e++;e<r.length&&Fd(r.charCodeAt(e));)e++;I=e}else a=3;return r.substring(v,I)}function p(){let v="",I=e;for(;;){if(e>=n){v+=r.substring(I,e),a=2;break}let E=r.charCodeAt(e);if(E===34){v+=r.substring(I,e),e++;break}if(E===92){if(v+=r.substring(I,e),e++,e>=n){a=2;break}switch(r.charCodeAt(e++)){case 34:v+='"';break;case 92:v+="\\";break;case 47:v+="/";break;case 98:v+="\b";break;case 102:v+="\f";break;case 110:v+=`
`;break;case 114:v+="\r";break;case 116:v+=" ";break;case 117:{let P=l(4);P>=0?v+=String.fromCharCode(P):a=4;break}default:a=5}I=e;continue}if(E>=0&&E<=31)if(yy(E)){v+=r.substring(I,e),a=2;break}else a=6;e++}return v}function m(){if(o="",a=0,i=e,e>=n)return i=n,s=17;let v=r.charCodeAt(e);if(Fw(v)){do e++,o+=String.fromCharCode(v),v=r.charCodeAt(e);while(Fw(v));return s=15}if(yy(v))return e++,o+=String.fromCharCode(v),v===13&&r.charCodeAt(e)===10&&(e++,o+=`
`),s=14;switch(v){case 123:return e++,s=1;case 125:return e++,s=2;case 91:return e++,s=3;case 93:return e++,s=4;case 58:return e++,s=6;case 44:return e++,s=5;case 34:return e++,o=p(),s=10;case 47:{let I=e-1;if(r.charCodeAt(e+1)===47){for(e+=2;e<n&&!yy(r.charCodeAt(e));)e++;return o=r.substring(I,e),s=12}if(r.charCodeAt(e+1)===42){e+=2;let E=n-1,w=!1;for(;e<E;){if(r.charCodeAt(e)===42&&r.charCodeAt(e+1)===47){e+=2,w=!0;break}e++}return w||(e++,a=1),o=r.substring(I,e),s=13}return o+=String.fromCharCode(v),e++,s=16}case 45:if(o+=String.fromCharCode(v),e++,e===n||!Fd(r.charCodeAt(e)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=u(),s=11;default:for(;e<n&&f(v);)e++,v=r.charCodeAt(e);if(i!==e){switch(o=r.substring(i,e),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(v),e++,s=16}}function f(v){if(Fw(v)||yy(v))return!1;switch(v){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function h(){let v;do v=m();while(v>=12&&v<=15);return v}return{setPosition:c,getPosition:()=>e,scan:t?h:m,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>i,getTokenLength:()=>e-i,getTokenError:()=>a}}function Fw(r){return r===32||r===9||r===11||r===12||r===160||r===5760||r>=8192&&r<=8203||r===8239||r===8287||r===12288||r===65279}function yy(r){return r===10||r===13||r===8232||r===8233}function Fd(r){return r>=48&&r<=57}function qa(r,t,e){t==="__proto__"?Object.defineProperty(r,"__proto__",{value:e,enumerable:!0,writable:!0,configurable:!0}):r[t]=e}function Po(r,t=[],e=Iy.DEFAULT){let n=null,o=[],i=[];function s(l){Array.isArray(o)?o.push(l):n!==null&&qa(o,n,l)}return Hd(r,{onObjectBegin:()=>{let l={};s(l),i.push(o),o=l,n=null},onObjectProperty:l=>{n=l},onObjectEnd:()=>{o=i.pop()},onArrayBegin:()=>{let l=[];s(l),i.push(o),o=l,n=null},onArrayEnd:()=>{o=i.pop()},onLiteralValue:s,onError:(l,c,u)=>{t.push({error:l,offset:c,length:u})}},e),o[0]}function BL(r,t=[],e=Iy.DEFAULT){let n={type:"array",offset:-1,length:-1,children:[],parent:void 0};function o(l){n.type==="property"&&(n.length=l-n.offset,n=n.parent)}function i(l){return n.children.push(l),l}Hd(r,{onObjectBegin:l=>{n=i({type:"object",offset:l,length:-1,parent:n,children:[]})},onObjectProperty:(l,c,u)=>{n=i({type:"property",offset:c,length:-1,parent:n,children:[]}),n.children.push({type:"string",value:l,offset:c,length:u,parent:n})},onObjectEnd:(l,c)=>{n.length=l+c-n.offset,n=n.parent,o(l+c)},onArrayBegin:(l,c)=>{n=i({type:"array",offset:l,length:-1,parent:n,children:[]})},onArrayEnd:(l,c)=>{n.length=l+c-n.offset,n=n.parent,o(l+c)},onLiteralValue:(l,c,u)=>{i({type:$a(l),offset:c,length:u,parent:n,value:l}),o(c+u)},onSeparator:(l,c,u)=>{n.type==="property"&&(l===":"?n.colonOffset=c:l===","&&o(c))},onError:(l,c,u)=>{t.push({error:l,offset:c,length:u})}},e);let a=n.children[0];return a&&delete a.parent,a}function Hw(r,t){if(!r)return;let e=r;for(let n of t)if(typeof n=="string"){if(e.type!=="object"||!Array.isArray(e.children))return;let o=!1;for(let i of e.children)if(Array.isArray(i.children)&&i.children[0].value===n){e=i.children[1],o=!0;break}if(!o)return}else{let o=n;if(e.type!=="array"||o<0||!Array.isArray(e.children)||o>=e.children.length)return;e=e.children[o]}return e}function Hd(r,t,e=Iy.DEFAULT){let n=pg(r,!1);function o(Q){return Q?()=>Q(n.getTokenOffset(),n.getTokenLength()):()=>!0}function i(Q){return Q?F=>Q(F,n.getTokenOffset(),n.getTokenLength()):()=>!0}let s=o(t.onObjectBegin),a=i(t.onObjectProperty),l=o(t.onObjectEnd),c=o(t.onArrayBegin),u=o(t.onArrayEnd),p=i(t.onLiteralValue),m=i(t.onSeparator),f=o(t.onComment),h=i(t.onError),v=e&&e.disallowComments,I=e&&e.allowTrailingComma;function E(){for(;;){let Q=n.scan();switch(n.getTokenError()){case 4:w(14);break;case 5:w(15);break;case 3:w(13);break;case 1:v||w(11);break;case 2:w(12);break;case 6:w(16);break}switch(Q){case 12:case 13:v?w(10):f();break;case 16:w(1);break;case 15:case 14:break;default:return Q}}}function w(Q,F=[],Y=[]){if(h(Q),F.length+Y.length>0){let xe=n.getToken();for(;xe!==17;){if(F.indexOf(xe)!==-1){E();break}else if(Y.indexOf(xe)!==-1)break;xe=E()}}}function P(Q){let F=n.getTokenValue();return Q?p(F):a(F),E(),!0}function k(){switch(n.getToken()){case 11:{let Q=0;try{Q=JSON.parse(n.getTokenValue()),typeof Q!="number"&&(w(2),Q=0)}catch{w(2)}p(Q);break}case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return E(),!0}function O(){return n.getToken()!==10?(w(3,[],[2,5]),!1):(P(!1),n.getToken()===6?(m(":"),E(),le()||w(4,[],[2,5])):w(5,[],[2,5]),!0)}function fe(){s(),E();let Q=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(Q||w(4,[],[]),m(","),E(),n.getToken()===2&&I)break}else Q&&w(6,[],[]);O()||w(4,[],[2,5]),Q=!0}return l(),n.getToken()!==2?w(7,[2],[]):E(),!0}function H(){c(),E();let Q=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(Q||w(4,[],[]),m(","),E(),n.getToken()===4&&I)break}else Q&&w(6,[],[]);le()||w(4,[],[4,5]),Q=!0}return u(),n.getToken()!==4?w(8,[4],[]):E(),!0}function le(){switch(n.getToken()){case 3:return H();case 1:return fe();case 10:return P(!0);default:return k()}}return E(),n.getToken()===17?e.allowEmptyContent?!0:(w(4,[],[]),!1):le()?(n.getToken()!==17&&w(9,[],[]),!0):(w(4,[],[]),!1)}function $a(r){switch(typeof r){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(r){if(Array.isArray(r))return"array"}else return"null";return"object"}default:return"null"}}var Iy,fr=y(()=>{(t=>t.DEFAULT={allowTrailingComma:!0})(Iy||={})});function $L(r,t,e){let n,o,i,s,a;if(t){for(s=t.offset,a=s+t.length,i=s;i>0&&!mg(r,i-1);)i--;let P=a;for(;P<r.length&&!mg(r,P);)P++;o=r.substring(i,P),n=L6(o,e)}else o=r,n=0,i=0,s=0,a=r.length;let l=O6(e,r),c=!1,u=0,p;e.insertSpaces?p=Ww(" ",e.tabSize||4):p=" ";let m=pg(o,!1),f=!1;function h(){return l+Ww(p,n+u)}function v(){let P=m.scan();for(c=!1;P===15||P===14;)c=c||P===14,P=m.scan();return f=P===16||m.getTokenError()!==0,P}let I=[];function E(P,k,O){!f&&k<a&&O>s&&r.substring(k,O)!==P&&I.push({offset:k,length:O-k,content:P})}let w=v();if(w!==17){let P=m.getTokenOffset()+i,k=Ww(p,n);E(k,i,P)}for(;w!==17;){let P=m.getTokenOffset()+m.getTokenLength()+i,k=v(),O="";for(;!c&&(k===12||k===13);){let H=m.getTokenOffset()+i;E(" ",P,H),P=m.getTokenOffset()+m.getTokenLength()+i,O=k===12?h():"",k=v()}if(k===2)w!==1&&(u--,O=h());else if(k===4)w!==3&&(u--,O=h());else{switch(w){case 3:case 1:u++,O=h();break;case 5:case 12:O=h();break;case 13:c?O=h():O=" ";break;case 6:O=" ";break;case 10:if(k===6){O="";break}case 7:case 8:case 9:case 11:case 2:case 4:k===12||k===13?O=" ":k!==5&&k!==17&&(f=!0);break;case 16:f=!0;break}c&&(k===12||k===13)&&(O=h())}let fe=m.getTokenOffset()+i;E(O,P,fe),w=k}return I}function Ww(r,t){let e="";for(let n=0;n<t;n++)e+=r;return e}function L6(r,t){let e=0,n=0,o=t.tabSize||4;for(;e<r.length;){let i=r.charAt(e);if(i===" ")n++;else if(i===" ")n+=o;else break;e++}return Math.floor(n/o)}function O6(r,t){for(let e=0;e<t.length;e++){let n=t.charAt(e);if(n==="\r")return e+1<t.length&&t.charAt(e+1)===`
`?`\r
`:"\r";if(n===`
`)return`
`}return r&&r.eol||`
`}function mg(r,t){return`\r
`.indexOf(r.charAt(t))!==-1}var zL=y(()=>{fr()});function by(r,t,e,n,o){let i=t.slice(),a=BL(r,[]),l,c;for(;i.length>0&&(c=i.pop(),l=Hw(a,i),l===void 0&&e!==void 0);)typeof c=="string"?e={[c]:e}:e=[e];if(l)if(l.type==="object"&&typeof c=="string"&&Array.isArray(l.children)){let u=Hw(l,[c]);if(u!==void 0)if(e===void 0){if(!u.parent)throw new Error("Malformed AST");let p=l.children.indexOf(u.parent),m,f=u.parent.offset+u.parent.length;if(p>0){let h=l.children[p-1];m=h.offset+h.length}else if(m=l.offset+1,l.children.length>1)f=l.children[1].offset;else{let h=pg(r,!0);h.setPosition(f),h.scan()===5&&(f=h.getPosition())}return Wd(r,{offset:m,length:f-m,content:""},n)}else return Wd(r,{offset:u.offset,length:u.length,content:JSON.stringify(e)},n);else{if(e===void 0)return[];let p=`${JSON.stringify(c)}: ${JSON.stringify(e)}`,m=o?o(l.children.map(h=>h.children[0].value)):l.children.length,f;if(m>0){let h=l.children[m-1];f={offset:h.offset+h.length,length:0,content:","+p}}else l.children.length===0?f={offset:l.offset+1,length:0,content:p}:f={offset:l.offset+1,length:0,content:p+","};return Wd(r,f,n)}}else if(l.type==="array"&&typeof c=="number"&&Array.isArray(l.children))if(e!==void 0){let u=`${JSON.stringify(e)}`,p;if(l.children.length===0||c===0)p={offset:l.offset+1,length:0,content:l.children.length===0?u:u+","};else{let m=c===-1||c>l.children.length?l.children.length:c,f=l.children[m-1];p={offset:f.offset+f.length,length:0,content:","+u}}return Wd(r,p,n)}else{let u=c,p=l.children[u],m;if(l.children.length===1)m={offset:l.offset+1,length:l.length-2,content:""};else if(l.children.length-1===u){let f=l.children[u-1],h=f.offset+f.length,v=l.offset+l.length;m={offset:h,length:v-2-h,content:""}}else m={offset:p.offset,length:l.children[u+1].offset-p.offset,content:""};return Wd(r,m,n)}else throw new Error(`Can not add ${typeof c!="number"?"index":"property"} to parent of type ${l.type}`);else return e===void 0?[]:Wd(r,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(e)},n)}function Wd(r,t,e){let n=Vw(r,t),o=t.offset,i=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;o>0&&!mg(n,o-1);)o--;for(;i<n.length&&!mg(n,i);)i++}let s=$L(n,{offset:o,length:i-o},e);for(let l=s.length-1;l>=0;l--){let c=s[l];n=Vw(n,c),o=Math.min(o,c.offset),i=Math.max(i,c.offset+c.length),i+=c.content.length-c.length}let a=r.length-(n.length-i)-o;return[{offset:o,length:a,content:n.substring(o,i)}]}function Vw(r,t){return r.substring(0,t.offset)+t.content+r.substring(t.offset+t.length)}function Sy(r,t){let e=t.slice(0).sort((o,i)=>{let s=o.offset-i.offset;return s===0?o.length-i.length:s}),n=r.length;for(let o=e.length-1;o>=0;o--){let i=e[o];if(i.offset+i.length<=n)r=Vw(r,i);else throw new Error("Overlapping edit");n=i.offset}return r}var Bw=y(()=>{fr();zL()});function oi(r){if(!r||typeof r!="object"||r instanceof RegExp)return r;let t=Array.isArray(r)?[]:{};return Object.entries(r).forEach(([e,n])=>{t[e]=n&&typeof n=="object"?oi(n):n}),t}function GL(r){if(!r||typeof r!="object")return r;let t=[r];for(let e=0;e<t.length;e++){let n=t[e];t[e]=void 0,Object.freeze(n);for(let o in n)if(KL.call(n,o)){let i=n[o];typeof i=="object"&&!Object.isFrozen(i)&&!S0(i)&&t.push(i)}}return r}function to(r,t){return qw(r,t,new Set)}function qw(r,t,e){if(qt(r))return r;let n=t(r);if(typeof n<"u")return n;if(Array.isArray(r)){let o=[];for(let i of r)o.push(qw(i,t,e));return o}if(_e(r)){if(e.has(r))throw new Error("Cannot clone recursive data-structure");e.add(r);let o={};for(let i in r)KL.call(r,i)&&(o[i]=qw(r[i],t,e));return e.delete(r),o}return r}function Us(r,t,e=!0){return _e(r)?(_e(t)&&Object.keys(t).forEach(n=>{n in r?e&&(_e(r[n])&&_e(t[n])?Us(r[n],t[n],e):r[n]=t[n]):r[n]=t[n]}),r):t}function ct(r,t){if(r===t)return!0;if(r==null||t===null||t===void 0||typeof r!=typeof t||typeof r!="object"||Array.isArray(r)!==Array.isArray(t))return!1;let e,n;if(Array.isArray(r)){if(r.length!==t.length)return!1;for(e=0;e<r.length;e++)if(!ct(r[e],t[e]))return!1}else{let o=[];for(n in r)o.push(n);o.sort();let i=[];for(n in t)i.push(n);if(i.sort(),!ct(o,i))return!1;for(e=0;e<o.length;e++)if(!ct(r[o[e]],t[o[e]]))return!1}return!0}function Vd(r){let t=[];return JSON.stringify(r,function(e,n){if(typeof n=="object"&&n!==null){for(;t.length>0&&t[t.length-1]!==this;)t.pop();if(t.includes(n))return"[Circular]";t.push(n)}return typeof n=="bigint"?`[BigInt ${n.toString()}]`:n})}function Fs(r,t){let e=t.toLowerCase(),n=Object.keys(r).find(o=>o.toLowerCase()===e);return n?r[n]:r[t]}var KL,jt=y(()=>{we();KL=Object.prototype.hasOwnProperty});function xy(r){let t=r;return t&&typeof t=="object"&&(!t.overrideIdentifier||typeof t.overrideIdentifier=="string")&&(!t.resource||t.resource instanceof S)}function jL(r){let t=r;return t&&typeof t=="object"&&(!t.overrideIdentifiers||Array.isArray(t.overrideIdentifiers))&&!t.overrideIdentifier&&(!t.resource||t.resource instanceof S)}function QL(r){switch(r){case 1:return"APPLICATION";case 2:return"USER";case 3:return"USER_LOCAL";case 4:return"USER_REMOTE";case 5:return"WORKSPACE";case 6:return"WORKSPACE_FOLDER";case 7:return"DEFAULT";case 8:return"MEMORY"}}function Cy(r,t){let e=Object.create(null);for(let n in r)Object.hasOwn(r,n)&&zw(e,n,r[n],t);return e}function zw(r,t,e,n){let o=t.split("."),i=o.pop(),s=r;for(let a=0;a<o.length;a++){let l=o[a],c=s[l];switch(typeof c){case"undefined":c=s[l]=Object.create(null);break;case"object":if(c===null){n(`Ignoring ${t} as ${o.slice(0,a+1).join(".")} is null`);return}break;default:n(`Ignoring ${t} as ${o.slice(0,a+1).join(".")} is ${JSON.stringify(c)}`);return}s=c}if(typeof s=="object"&&s!==null)try{s[i]=e}catch{n(`Ignoring ${t} as ${o.join(".")} is ${JSON.stringify(s)}`)}else n(`Ignoring ${t} as ${o.join(".")} is ${JSON.stringify(s)}`)}function JL(r,t){let e=t.split(".");YL(r,e)}function YL(r,t){if(!r)return;let e=r,n=t.shift();if(t.length===0){delete e[n];return}if(Object.keys(e).indexOf(n)!==-1){let o=e[n];typeof o=="object"&&o!==null&&!Array.isArray(o)&&(YL(o,t),Object.keys(o).length===0&&delete e[n])}}function gg(r,t,e){function n(s,a){let l=s;for(let c of a){if(typeof l!="object"||l===null)return;l=l[c]}return l}let o=t.split("."),i=n(r,o);return typeof i>"u"?e:i}function XL(r){return r.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}var ft,tn=y(()=>{Xr();we();oe();Z();ft=D("configurationService")});function ZL(r){let t=!1,e=new Map,n=new Map;if(N6(r,u=>{if(r===u)return!0;let p=JSON.stringify(u);if(p.length<30)return!0;let m=e.get(p);if(!m){let f={schemas:[u]};return e.set(p,f),n.set(u,f),!0}return m.schemas.push(u),n.set(u,m),t=!0,!1}),e.clear(),!t)return JSON.stringify(r);let i="$defs";for(;r.hasOwnProperty(i);)i+="_";let s=[];function a(u){return JSON.stringify(u,(p,m)=>{if(m!==u){let f=n.get(m);if(f&&f.schemas.length>1)return f.id||(f.id=`_${s.length}`,s.push(f.schemas[0])),{$ref:`#/${i}/${f.id}`}}return m})}let l=a(r),c=[];for(let u=0;u<s.length;u++)c.push(`"_${u}":${a(s[u])}`);return c.length?`${l.substring(0,l.length-1)},"${i}":{${c.join(",")}}}`:l}function Bd(r){return typeof r=="object"&&r!==null}function N6(r,t){if(!r||typeof r!="object")return;let e=(...l)=>{for(let c of l)Bd(c)&&s.push(c)},n=(...l)=>{for(let c of l)if(Bd(c))for(let u in c){let p=c[u];Bd(p)&&s.push(p)}},o=(...l)=>{for(let c of l)if(Array.isArray(c))for(let u of c)Bd(u)&&s.push(u)},i=l=>{if(Array.isArray(l))for(let c of l)Bd(c)&&s.push(c);else Bd(l)&&s.push(l)},s=[r],a=s.pop();for(;a;)t(a)&&(e(a.additionalItems,a.additionalProperties,a.not,a.contains,a.propertyNames,a.if,a.then,a.else,a.unevaluatedItems,a.unevaluatedProperties),n(a.definitions,a.$defs,a.properties,a.patternProperties,a.dependencies,a.dependentSchemas),o(a.anyOf,a.allOf,a.oneOf,a.prefixItems),i(a.items)),a=s.pop()}var eO=y(()=>{});var Gw,ht,Vo=y(()=>{Xr();we();Gw=class{constructor(){this.data=new Map}add(t,e){zv(j(t)),zv(_e(e)),zv(!this.data.has(t),"There is already an extension with this id"),this.data.set(t,e)}knows(t){return this.data.has(t)}as(t){return this.data.get(t)||null}dispose(){this.data.forEach(t=>{xd(t.dispose)&&t.dispose()}),this.data.clear()}},ht=new Gw});function nO(r){return r.length>0&&r.charAt(r.length-1)==="#"?r.substring(0,r.length-1):r}var dc,Kw,U6,Ey=y(()=>{de();eO();K();Vo();dc={JSONContribution:"base.contributions.json"};Kw=class extends _{constructor(){super(...arguments);this.schemasById={};this.schemaAssociations={};this._onDidChangeSchema=this._register(new T);this.onDidChangeSchema=this._onDidChangeSchema.event;this._onDidChangeSchemaAssociations=this._register(new T);this.onDidChangeSchemaAssociations=this._onDidChangeSchemaAssociations.event}registerSchema(e,n,o){let i=nO(e);this.schemasById[i]=n,this._onDidChangeSchema.fire(e),o&&o.add(ce(()=>{delete this.schemasById[i],this._onDidChangeSchema.fire(e)}))}registerSchemaAssociation(e,n){let o=nO(e);return this.schemaAssociations[o]||(this.schemaAssociations[o]=[]),this.schemaAssociations[o].includes(n)||(this.schemaAssociations[o].push(n),this._onDidChangeSchemaAssociations.fire()),ce(()=>{let i=this.schemaAssociations[o];if(i){let s=i.indexOf(n);s!==-1&&(i.splice(s,1),i.length===0&&delete this.schemaAssociations[o],this._onDidChangeSchemaAssociations.fire())}})}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}getSchemaContributions(){return{schemas:this.schemasById}}getSchemaContent(e){let n=this.schemasById[e];return n?ZL(n):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},U6=new Kw;ht.add(dc.JSONContribution,U6)});function F6(r,t){return r.dependencies?.[t]?.replace(/^[~^]/,"")}var no,jw,je,xi=y(()=>{cr();jw=globalThis.vscode;if(typeof jw<"u"&&typeof jw.context<"u"){let r=jw.context.configuration();if(r)no=r.product;else throw new Error("Sandbox: unable to resolve product configuration from preload script.")}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){no=globalThis._VSCODE_PRODUCT_JSON;let r=globalThis._VSCODE_PACKAGE_JSON;if(zt.VSCODE_DEV&&Object.assign(no,{nameShort:`${no.nameShort} Dev`,nameLong:`${no.nameLong} Dev`,dataFolderName:`${no.dataFolderName}-dev`,serverDataFolderName:no.serverDataFolderName?`${no.serverDataFolderName}-dev`:void 0}),no.version||Object.assign(no,{version:r.version}),!no.copilotVersions){let t=F6(r,"@github/copilot-sdk");r.copilotRuntimeVersion&&t&&Object.assign(no,{copilotVersions:{runtime:r.copilotRuntimeVersion,sdk:t}})}Object.assign(no,{extensionsGallery:zt.EXTENSIONS_GALLERY?JSON.parse(zt.EXTENSIONS_GALLERY):no.extensionsGallery||{serviceUrl:"https://open-vsx.org/vscode/gallery",itemUrl:"https://open-vsx.org/vscode/item",extensionUrlTemplate:"https://open-vsx.org/vscode/gallery/{publisher}/{name}/latest",resourceUrlTemplate:"https://open-vsx.org/vscode/asset/{publisher}/{name}/{version}/Microsoft.VisualStudio.Code.WebResources/{path}",controlUrl:"",recommendationsUrl:""},telemetryEndpoint:zt.CS_TELEMETRY_URL||no.telemetryEndpoint||"https://v1.telemetry.coder.com/track"})}else no={nameShort:"code-server",nameLong:"code-server",applicationName:"code-server",dataFolderName:".code-server",sharedDataFolderName:".vscode-oss-shared",win32MutexName:"codeserver",licenseName:"MIT",licenseUrl:"https://github.com/coder/code-server/blob/main/LICENSE",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverGreeting:[],serverLicense:[],serverLicensePrompt:"",serverApplicationName:"code-server-oss",serverDataFolderName:".vscode-server-oss",tunnelApplicationName:"code-tunnel-oss",win32DirName:"code-server",win32NameVersion:"code-server",win32RegValueName:"CodeOSS",win32x64AppId:"{{D77B7E06-80BA-4137-BCF4-654B95CCEBC5}",win32arm64AppId:"{{D1ACE434-89C5-48D1-88D3-E2991DF85475}",win32x64UserAppId:"{{CC6B787D-37A0-49E8-AE24-8559A032BE0C}",win32arm64UserAppId:"{{3AEBF0C8-F733-4AD4-BADE-FDB816D53D7B}",win32AppUserModelId:"coder.code-server",win32ShellNameShort:"c&ode-server",win32TunnelServiceMutex:"vscodeoss-tunnelservice",win32TunnelMutex:"vscodeoss-tunnel",darwinBundleIdentifier:"com.coder.code.server",darwinProfileUUID:"47827DD9-4734-49A0-AF80-7E19B11495CC",darwinProfilePayloadUUID:"CF808BE7-53F3-46C6-A7E2-7EDB98A5E959",linuxDesktopName:"com.visualstudio.CodeOSS",linuxIconName:"com.coder.code.server",licenseFileName:"LICENSE.txt",reportIssueUrl:"https://github.com/coder/code-server/issues/new",nodejsArtifactFeed:"",electronArtifactFeed:"",urlProtocol:"code-oss",agentsTelemetryAppName:"agents",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/",builtInExtensions:[{name:"ms-vscode.js-debug-companion",version:"1.1.3",sha256:"7380a890787452f14b2db7835dfa94de538caf358ebc263f9d46dd68ac52de93",repo:"https://github.com/microsoft/vscode-js-debug-companion",metadata:{id:"99cb0b7f-7354-4278-b8da-6cc79972169d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.js-debug",version:"1.140.0",sha256:"d535f02a47031671f8c988bb7e79d6fec1a881883d9c9fa15ff81f28eae98500",repo:"https://github.com/microsoft/vscode-js-debug",metadata:{id:"25629058-ddac-4e17-abba-74678e126c5d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.vscode-js-profile-table",version:"1.0.11",sha256:"a962a1e6a3baf74c9354b7f47fa96e6d6f0423a63bff55d7f976b6134a748ae9",repo:"https://github.com/microsoft/vscode-js-profile-visualizer",metadata:{id:"7e52b41b-71ad-457b-ab7e-0620f1fc4feb",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}}],defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",chatExtensionOutputId:"GitHub.copilot-chat.GitHub Copilot Chat.log",chatExtensionOutputExtensionStateCommand:"github.copilot.debug.extensionState",documentationUrl:"https://aka.ms/github-copilot-overview",termsStatementUrl:"https://aka.ms/github-copilot-terms-statement",privacyStatementUrl:"https://aka.ms/github-copilot-privacy-statement",skusDocumentationUrl:"https://aka.ms/github-copilot-plans",optimizeUsageDocumentationUrl:"https://aka.ms/token-usage-tips",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",upgradePlanUrl:"https://aka.ms/github-copilot-upgrade-plan",signUpUrl:"https://aka.ms/github-sign-up",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GHE"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"},microsoft:{id:"microsoft",name:"Microsoft"}},providerExtensionId:"vscode.github-authentication",providerUriSetting:"github-enterprise.uri",providerScopes:[["read:user","user:email","repo","workflow"],["user:email"],["read:user"]],entitlementUrl:"https://api.github.com/copilot_internal/user",entitlementSignupLimitedUrl:"https://api.github.com/copilot_internal/subscribe_limited_user",chatQuotaExceededContext:"github.copilot.chat.quotaExceeded",completionsQuotaExceededContext:"github.copilot.completions.quotaExceeded",walkthroughCommand:"github.copilot.open.walkthrough",completionsMenuCommand:"github.copilot.toggleStatusMenu",chatRefreshTokenCommand:"github.copilot.refreshToken",generateCommitMessageCommand:"github.copilot.git.generateCommitMessage",resolveMergeConflictsCommand:"github.copilot.git.resolveMergeConflicts",completionsAdvancedSetting:"github.copilot.advanced",completionsEnablementSetting:"github.copilot.enable",nextEditSuggestionsSetting:"github.copilot.nextEditSuggestions.enabled",tokenEntitlementUrl:"https://api.github.com/copilot_internal/v2/token",mcpRegistryDataUrl:"https://api.github.com/copilot/mcp_registry",mcpConnectorsUrl:"https://api.github.com/copilot-connectors/api/v1",managedSettingsUrl:"https://api.github.com/copilot_internal/managed_settings"},trustedExtensionAuthAccess:["vscode.git","vscode.github","github.vscode-pull-request-github","github.copilot","github.copilot-chat"],onboardingKeymaps:[{id:"vscode",label:"VS Code",description:"Default keyboard mapping"},{id:"sublime",label:"Sublime Text",extensionId:"ms-vscode.sublime-keybindings",description:"Keyboard mapping from Sublime Text"},{id:"intellij",label:"IntelliJ / JetBrains",extensionId:"k--kato.intellij-idea-keybindings",description:"Keyboard mapping from IntelliJ IDEA"},{id:"vim",label:"Vim",extensionId:"vscodevim.vim",description:"Vim modal editing"},{id:"eclipse",label:"Eclipse",extensionId:"alphabotsec.vscode-eclipse-keybindings",description:"Keyboard mapping from Eclipse"},{id:"notepadpp",label:"Notepad++",extensionId:"ms-vscode.notepadplusplus-keybindings",description:"Keyboard mapping from Notepad++"}],onboardingThemes:[{id:"dark-2026",label:"Dark 2026",themeId:"Dark 2026",type:"dark"},{id:"hc-dark",label:"Dark High Contrast",themeId:"Default High Contrast",type:"hcDark"},{id:"solarized-dark",label:"Solarized Dark",themeId:"Solarized Dark",type:"dark"},{id:"light-2026",label:"Light 2026",themeId:"Light 2026",type:"light"},{id:"hc-light",label:"Light High Contrast",themeId:"Default High Contrast Light",type:"hcLight"},{id:"solarized-light",label:"Solarized Light",themeId:"Solarized Light",type:"light"}],builtInExtensionsEnabledWithAutoUpdates:["GitHub.copilot-chat"],sessionsWindowAllowedExtensions:[],voiceWsUrl:"wss://falcon-caas.mai.microsoft.com/voice-code/api/v1/realtime/voice",enableTelemetry:!0,quality:"stable",codeServerVersion:"4.141.0",documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",keyboardShortcutsUrlMac:"https://go.microsoft.com/fwlink/?linkid=832143",keyboardShortcutsUrlLinux:"https://go.microsoft.com/fwlink/?linkid=832144",keyboardShortcutsUrlWin:"https://go.microsoft.com/fwlink/?linkid=832145",introductoryVideosUrl:"https://go.microsoft.com/fwlink/?linkid=832146",tipsAndTricksUrl:"https://go.microsoft.com/fwlink/?linkid=852118",newsletterSignupUrl:"https://www.research.net/r/vsc-newsletter",linkProtectionTrustedDomains:["https://open-vsx.org"],aiConfig:{ariaKey:"code-server"},extensionPointExtensionKind:{typescriptServerPlugins:["workspace"]},version:"1.141.0",commit:"8b41915d25547e2edd553bab03ea4cbd621f98c5",date:"2026-10-06T10:15:52+02:00"},Object.keys(no).length===0&&Object.assign(no,{version:"1.104.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GitHub Enterprise"}},providerScopes:[]}});je=no});function H6(r,t){return r===t?!0:!r||!t?!1:typeof r=="string"||typeof t=="string"?r===t:r.id===t.id}function qd(r){let t=[];if(Zi.test(r)){let e=oO.exec(r);for(;e?.length;){let n=e[1].trim();n&&t.push(n),e=oO.exec(r)}}return Xn(t)}function iO(r){return r.reduce((t,e)=>`${t}[${e}]`,"")}function W6(r){switch(Array.isArray(r)?r[0]:r){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}function V6(r,t,e){if(!r.trim())return d(3375,null);if(Zi.test(r))return d(3376,null,r);if(hg.getConfigurationProperties()[r]!==void 0&&(!e||!B6.has(e.toLowerCase())))return d(3374,null,r);if(t.policy&&t.policyReference)return d(3372,null,r);if(t.policy?.name&&hg.getPolicyConfigurations().get(t.policy?.name)!==void 0)return d(3373,null,r,t.policy?.name,hg.getPolicyConfigurations().get(t.policy?.name));if(t.agentHost){for(let[n,o]of hg.getAgentHostSyncConfigurations())if(o.key===t.agentHost.key&&n!==r)return d(3371,null,r,t.agentHost.key,n)}return null}var Kn,wy,Ty,Ry,Py,ky,Dy,fg,uc,_y,Qw,rO,oO,za,Zi,hg,B6,Or=y(()=>{At();de();we();re();tn();Ey();Vo();K();xi();Kn={Configuration:"base.contributions.configuration"};wy={properties:{},patternProperties:{}},Ty={properties:{},patternProperties:{}},Ry={properties:{},patternProperties:{}},Py={properties:{},patternProperties:{}},ky={properties:{},patternProperties:{}},Dy={properties:{},patternProperties:{}},fg={properties:{},patternProperties:{}},uc="vscode://schemas/settings/resourceLanguage",_y=ht.as(dc.JSONContribution),Qw=class extends _{constructor(){super();this.registeredConfigurationDefaults=[];this.excludedConfigurationKeys=new Map;this.overrideIdentifiers=new Set;this._onDidSchemaChange=this._register(new T);this.onDidSchemaChange=this._onDidSchemaChange.event;this._onDidUpdateConfiguration=this._register(new T);this.onDidUpdateConfiguration=this._onDidUpdateConfiguration.event;this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:d(3378,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.policyReferenceConfigurations=new Map,this.agentHostSyncConfigurations=new Map,this.excludedConfigurationProperties={},_y.registerSchema(uc,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,n=!0){return this.registerConfigurations([e],n),e}registerConfigurations(e,n=!0){let o=new Set;this.doRegisterConfigurations(e,n,o),_y.registerSchema(uc,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}deregisterConfigurations(e){let n=new Set;this.doDeregisterConfigurations(e,n),_y.registerSchema(uc,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}updateConfigurations({add:e,remove:n}){let o=new Set;this.doDeregisterConfigurations(n,o),this.doRegisterConfigurations(e,!1,o),_y.registerSchema(uc,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}registerDefaultConfigurations(e){let n=new Set;this.doRegisterDefaultConfigurations(e,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,n){this.registeredConfigurationDefaults.push(...e);let o=[];for(let{overrides:i,source:s}of e)for(let a in i){n.add(a);let l=this.configurationDefaultsOverrides.get(a)??this.configurationDefaultsOverrides.set(a,{configurationDefaultOverrides:[]}).get(a),c=i[a];if(l.configurationDefaultOverrides.push({value:c,source:s}),Zi.test(a)){let u=this.mergeDefaultConfigurationsForOverrideIdentifier(a,c,s,l.configurationDefaultOverrideValue);if(!u)continue;l.configurationDefaultOverrideValue=u,this.updateDefaultOverrideProperty(a,u,s),o.push(...qd(a))}else{let u=this.mergeDefaultConfigurationsForConfigurationProperty(a,c,s,l.configurationDefaultOverrideValue);if(!u)continue;l.configurationDefaultOverrideValue=u;let p=this.excludedConfigurationProperties[a],m=this.configurationProperties[a]??(p?.experiment?p:void 0);m&&(this.updatePropertyDefaultValue(a,m),m.included!==!1&&this.updateSchema(a,m))}}this.doRegisterOverrideIdentifiers(o)}deregisterDefaultConfigurations(e){let n=new Set;this.doDeregisterDefaultConfigurations(e,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:!0})}doDeregisterDefaultConfigurations(e,n){for(let o of e){let i=this.registeredConfigurationDefaults.indexOf(o);i!==-1&&this.registeredConfigurationDefaults.splice(i,1)}for(let{overrides:o,source:i}of e)for(let s in o){let a=this.configurationDefaultsOverrides.get(s);if(!a)continue;let l=a.configurationDefaultOverrides.findIndex(c=>i?H6(c.source,i):c.value===o[s]);if(l!==-1){if(a.configurationDefaultOverrides.splice(l,1),a.configurationDefaultOverrides.length===0&&this.configurationDefaultsOverrides.delete(s),Zi.test(s)){let c;for(let u of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForOverrideIdentifier(s,u.value,u.source,c);c&&!Ea(c.value)?(a.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(s,c,i)):(this.configurationDefaultsOverrides.delete(s),delete this.configurationProperties[s],delete this.defaultLanguageConfigurationOverridesNode.properties[s])}else{let c;for(let m of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForConfigurationProperty(s,m.value,m.source,c);a.configurationDefaultOverrideValue=c;let u=this.excludedConfigurationProperties[s],p=this.configurationProperties[s]??(u?.experiment?u:void 0);p&&(this.updatePropertyDefaultValue(s,p),p.included!==!1&&this.updateSchema(s,p))}n.add(s)}}this.updateOverridePropertyPatternKey()}updateDefaultOverrideProperty(e,n,o){let i={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:"object",default:n.value,description:d(3377,null,XL(e)),$ref:uc,defaultDefaultValue:n.value,source:o,defaultValueSource:o};this.configurationProperties[e]=i,this.defaultLanguageConfigurationOverridesNode.properties[e]=i}mergeDefaultConfigurationsForOverrideIdentifier(e,n,o,i){let s=i?.value||{},a=i?.source??new Map;if(!(a instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(let l of Object.keys(n)){let c=n[l];if(_e(c)&&(Wn(s[l])||_e(s[l]))){if(s[l]={...s[l]??{},...c},o)for(let p in c)a.set(`${l}.${p}`,o)}else s[l]=c,o?a.set(l,o):a.delete(l)}return{value:s,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,n,o,i){let s=this.excludedConfigurationProperties[e],a=this.configurationProperties[e]??(s?.experiment?s:void 0),l=i?.value??a?.defaultDefaultValue,c=o;if(_e(n)&&(a!==void 0&&a.type==="object"||a===void 0&&(Wn(l)||_e(l)))){if(c=i?.source??new Map,!(c instanceof Map)){console.error("defaultValueSource is not a Map");return}for(let p in n)o&&c.set(`${e}.${p}`,o);n={..._e(l)?l:{},...n}}return{value:n,source:c}}deltaConfiguration(e){let n=!1,o=new Set;e.removedDefaults&&(this.doDeregisterDefaultConfigurations(e.removedDefaults,o),n=!0),e.addedDefaults&&(this.doRegisterDefaultConfigurations(e.addedDefaults,o),n=!0),e.removedConfigurations&&this.doDeregisterConfigurations(e.removedConfigurations,o),e.addedConfigurations&&this.doRegisterConfigurations(e.addedConfigurations,!1,o),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o,defaultsOverrides:n})}notifyConfigurationSchemaUpdated(...e){this._onDidSchemaChange.fire()}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let n of e)this.overrideIdentifiers.add(n);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,n,o){e.forEach(i=>{this.validateAndRegisterProperties(i,n,i.extensionInfo,i.restrictedProperties,void 0,o),this.configurationContributors.push(i),this.registerJSONConfiguration(i)})}doDeregisterConfigurations(e,n){let o=i=>{let s=this.excludedConfigurationKeys.get(i);if(s){for(let a of s)n.add(a),this.agentHostSyncConfigurations.delete(a),this.excludedConfigurationProperties[a]?.experiment&&delete this.excludedConfigurationProperties[a];this.excludedConfigurationKeys.delete(i)}if(i.properties)for(let a in i.properties){n.add(a);let l=this.configurationProperties[a];if(l?.policy?.name&&this.policyConfigurations.delete(l.policy.name),this.agentHostSyncConfigurations.delete(a),l?.policyReference?.name){let c=this.policyReferenceConfigurations.get(l.policyReference.name);c&&(c.delete(a),c.size===0&&this.policyReferenceConfigurations.delete(l.policyReference.name))}delete this.configurationProperties[a],this.removeFromSchema(a,i.properties[a])}i.allOf?.forEach(a=>o(a))};for(let i of e){o(i);let s=this.configurationContributors.indexOf(i);s!==-1&&this.configurationContributors.splice(s,1)}}validateAndRegisterProperties(e,n=!0,o,i,s=4,a){s=qt(e.scope)?s:e.scope;let l=e.properties;if(l)for(let u in l){let p=l[u];if(p.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},n&&V6(u,p,o?.id)){delete l[u];continue}p.source=o,p.defaultDefaultValue=l[u].default,this.updatePropertyDefaultValue(u,p),Zi.test(u)?p.scope=void 0:(p.scope=qt(p.scope)?s:p.scope,p.restricted=qt(p.restricted)?!!i?.includes(u):p.restricted),p.experiment?p.tags?.some(I=>I.toLowerCase()==="onexp")||(p.tags=p.tags??[],p.tags.push("onExP")):p.tags?.some(I=>I.toLowerCase()==="onexp")&&(console.error(`Invalid tag 'onExP' found for property '${u}'. Please use 'experiment' property instead.`),p.experiment={mode:"startup"});let m=l[u].hasOwnProperty("included")&&!l[u].included,f=l[u].policy?.name,h=l[u].policyReference?.name,v=l[u].agentHost;if(v&&this.agentHostSyncConfigurations.set(u,v),m){if(this.excludedConfigurationProperties[u]=l[u],f&&(this.policyConfigurations.set(f,u),a.add(u)),h&&(this.addPolicyReferenceConfiguration(h,u),a.add(u)),v||p.experiment){a.add(u);let I=this.excludedConfigurationKeys.get(e);I||(I=new Set,this.excludedConfigurationKeys.set(e,I)),I.add(u)}delete l[u]}else a.add(u),f&&this.policyConfigurations.set(f,u),h&&this.addPolicyReferenceConfiguration(h,u),this.configurationProperties[u]=l[u],!l[u].deprecationMessage&&l[u].markdownDeprecationMessage&&(l[u].deprecationMessage=l[u].markdownDeprecationMessage)}let c=e.allOf;if(c)for(let u of c)this.validateAndRegisterProperties(u,n,o,i,s,a)}addPolicyReferenceConfiguration(e,n){let o=this.policyReferenceConfigurations.get(e);o||(o=new Set,this.policyReferenceConfigurations.set(e,o)),o.add(n)}getConfigurations(){return this.configurationContributors}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getPolicyReferenceConfigurations(){return this.policyReferenceConfigurations}getAgentHostSyncConfigurations(){return this.agentHostSyncConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}getRegisteredDefaultConfigurations(){return[...this.registeredConfigurationDefaults]}getConfigurationDefaultsOverrides(){let e=new Map;for(let[n,o]of this.configurationDefaultsOverrides)o.configurationDefaultOverrideValue&&e.set(n,o.configurationDefaultOverrideValue);return e}registerJSONConfiguration(e){let n=o=>{let i=o.properties;if(i)for(let a in i)this.updateSchema(a,i[a]);o.allOf?.forEach(n)};n(e)}updateSchema(e,n){switch(wy.properties[e]=n,n.scope){case 1:Ty.properties[e]=n;break;case 2:Py.properties[e]=n;break;case 3:Ry.properties[e]=n;break;case 7:ky.properties[e]=n;break;case 4:Dy.properties[e]=n;break;case 5:fg.properties[e]=n;break;case 6:fg.properties[e]=n,this.resourceLanguageSettingsSchema.properties[e]=n;break}}removeFromSchema(e,n){switch(delete wy.properties[e],n.scope){case 1:delete Ty.properties[e];break;case 2:delete Py.properties[e];break;case 3:delete Ry.properties[e];break;case 7:delete ky.properties[e];break;case 4:delete Dy.properties[e];break;case 5:case 6:delete fg.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let n=`[${e}]`,o={type:"object",description:d(3379,null),errorMessage:d(3380,null),$ref:uc};this.updatePropertyDefaultValue(n,o),wy.properties[n]=o,Ty.properties[n]=o,Ry.properties[n]=o,Py.properties[n]=o,ky.properties[n]=o,Dy.properties[n]=o,fg.properties[n]=o}}registerOverridePropertyPatternKey(){let e={type:"object",description:d(3379,null),errorMessage:d(3380,null),$ref:uc};wy.patternProperties[za]=e,Ty.patternProperties[za]=e,Ry.patternProperties[za]=e,Py.patternProperties[za]=e,ky.patternProperties[za]=e,Dy.patternProperties[za]=e,fg.patternProperties[za]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,n){let o=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,i,s;o&&(!n.disallowConfigurationDefault||!o.source)&&(i=o.value,s=o.source),Wn(i)&&(i=n.defaultDefaultValue,s=void 0),Wn(i)&&(i=W6(n.type)),n.default=i,n.defaultValueSource=s}},rO="\\[([^\\]]+)\\]",oO=new RegExp(rO,"g"),za=`^(${rO})+$`,Zi=new RegExp(za);hg=new Qw;ht.add(Kn.Configuration,hg);B6=new Set(je.defaultChatAgent?[je.defaultChatAgent.extensionId,je.defaultChatAgent.chatExtensionId].map(r=>r.toLowerCase()):[])});var Jw,Yw,My,Xw,Hs,$d,Ci,vg=y(()=>{At();Xr();ti();Tt();Jw=class{constructor(){this._value="";this._pos=0}reset(t){return this._value=t,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(t){let e=t.charCodeAt(0),n=this._value.charCodeAt(this._pos);return e-n}value(){return this._value[this._pos]}},Yw=class{constructor(t=!0){this._caseSensitive=t}reset(t){return this._value=t,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let t=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(t)this._from++;else break;else t=!1;return this}cmp(t){return this._caseSensitive?Xv(t,this._value,0,t.length,this._from,this._to):Yl(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},My=class{constructor(t=!0,e=!0){this._splitOnBackslash=t;this._caseSensitive=e}reset(t){this._from=0,this._to=0,this._value=t,this._valueLen=t.length;for(let e=t.length-1;e>=0;e--,this._valueLen--){let n=this._value.charCodeAt(e);if(!(n===47||this._splitOnBackslash&&n===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let t=!0;for(;this._to<this._valueLen;this._to++){let e=this._value.charCodeAt(this._to);if(e===47||this._splitOnBackslash&&e===92)if(t)this._from++;else break;else t=!1}return this}cmp(t){return this._caseSensitive?Xv(t,this._value,0,t.length,this._from,this._to):Yl(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Xw=class{constructor(t,e){this._ignorePathCasing=t;this._ignoreQueryAndFragment=e;this._states=[];this._stateIdx=0}reset(t){return this._value=t,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new My(!1,!this._ignorePathCasing(t)),this._pathIterator.reset(t.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(t)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(t){if(this._states[this._stateIdx]===1)return Dd(t,this._value.scheme);if(this._states[this._stateIdx]===2)return Dd(t,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(t);if(this._states[this._stateIdx]===4)return kd(t,this._value.query);if(this._states[this._stateIdx]===5)return kd(t,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}},Hs=class r{static{this.Val=Symbol("undefined_placeholder")}static wrap(t){return t===void 0?r.Val:t}static unwrap(t){return t===r.Val?void 0:t}},$d=class{constructor(){this.height=1;this.value=void 0;this.key=void 0;this.left=void 0;this.mid=void 0;this.right=void 0}isEmpty(){return!this.left&&!this.mid&&!this.right&&this.value===void 0}rotateLeft(){let t=this.right;return this.right=t.left,t.left=this,this.updateHeight(),t.updateHeight(),t}rotateRight(){let t=this.left;return this.left=t.right,t.right=this,this.updateHeight(),t.updateHeight(),t}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}},Ci=class r{static forUris(t=()=>!1,e=()=>!1){return new r(new Xw(t,e))}static forPaths(t=!1){return new r(new My(void 0,!t))}static forStrings(){return new r(new Jw)}static forConfigKeys(){return new r(new Yw)}constructor(t){this._iter=t}clear(){this._root=void 0}fill(t,e){if(e){let n=e.slice(0);KE(n);for(let o of n)this.set(o,t)}else{let n=t.slice(0);KE(n);for(let o of n)this.set(o[0],o[1])}}set(t,e){let n=this._iter.reset(t),o;this._root||(this._root=new $d,this._root.segment=n.value());let i=[];for(o=this._root;;){let a=n.cmp(o.segment);if(a>0)o.left||(o.left=new $d,o.left.segment=n.value()),i.push([-1,o]),o=o.left;else if(a<0)o.right||(o.right=new $d,o.right.segment=n.value()),i.push([1,o]),o=o.right;else if(n.hasNext())n.next(),o.mid||(o.mid=new $d,o.mid.segment=n.value()),i.push([0,o]),o=o.mid;else break}let s=Hs.unwrap(o.value);o.value=Hs.wrap(e),o.key=t;for(let a=i.length-1;a>=0;a--){let l=i[a][1];l.updateHeight();let c=l.balanceFactor();if(c<-1||c>1){let u=i[a][0],p=i[a+1][0];if(u===1&&p===1)i[a][1]=l.rotateLeft();else if(u===-1&&p===-1)i[a][1]=l.rotateRight();else if(u===1&&p===-1)l.right=i[a+1][1]=i[a+1][1].rotateRight(),i[a][1]=l.rotateLeft();else if(u===-1&&p===1)l.left=i[a+1][1]=i[a+1][1].rotateLeft(),i[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(i[a-1][0]){case-1:i[a-1][1].left=i[a][1];break;case 1:i[a-1][1].right=i[a][1];break;case 0:i[a-1][1].mid=i[a][1];break}else this._root=i[0][1]}}return s}get(t){return Hs.unwrap(this._getNode(t)?.value)}_getNode(t){let e=this._iter.reset(t),n=this._root;for(;n;){let o=e.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else if(e.hasNext())e.next(),n=n.mid;else break}return n}has(t){let e=this._getNode(t);return!(e?.value===void 0&&e?.mid===void 0)}delete(t){return this._delete(t,!1)}deleteSuperstr(t){return this._delete(t,!0)}_delete(t,e){let n=this._iter.reset(t),o=[],i=this._root;for(;i;){let s=n.cmp(i.segment);if(s>0)o.push([-1,i]),i=i.left;else if(s<0)o.push([1,i]),i=i.right;else if(n.hasNext())n.next(),o.push([0,i]),i=i.mid;else break}if(i){if(e?(i.left=void 0,i.mid=void 0,i.right=void 0,i.height=1):(i.key=void 0,i.value=void 0),!i.mid&&!i.value)if(i.left&&i.right){let s=[[1,i]],a=this._min(i.right,s);if(a.key){i.key=a.key,i.value=a.value,i.segment=a.segment;let l=a.right;if(s.length>1){let[u,p]=s[s.length-1];switch(u){case-1:p.left=l;break;case 0:Kl(!1);case 1:Kl(!1)}}else i.right=l;let c=this._balanceByStack(s);if(o.length>0){let[u,p]=o[o.length-1];switch(u){case-1:p.left=c;break;case 0:p.mid=c;break;case 1:p.right=c;break}}else this._root=c}}else{let s=i.left??i.right;if(o.length>0){let[a,l]=o[o.length-1];switch(a){case-1:l.left=s;break;case 0:l.mid=s;break;case 1:l.right=s;break}}else this._root=s}this._root=this._balanceByStack(o)??this._root}}_min(t,e){for(;t.left;)e.push([-1,t]),t=t.left;return t}_balanceByStack(t){for(let e=t.length-1;e>=0;e--){let n=t[e][1];n.updateHeight();let o=n.balanceFactor();if(o>1?(n.right.balanceFactor()>=0||(n.right=n.right.rotateRight()),t[e][1]=n.rotateLeft()):o<-1&&(n.left.balanceFactor()<=0||(n.left=n.left.rotateLeft()),t[e][1]=n.rotateRight()),e>0)switch(t[e-1][0]){case-1:t[e-1][1].left=t[e][1];break;case 1:t[e-1][1].right=t[e][1];break;case 0:t[e-1][1].mid=t[e][1];break}else return t[0][1]}}findSubstr(t){let e=this._iter.reset(t),n=this._root,o;for(;n;){let i=e.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else if(e.hasNext())e.next(),o=Hs.unwrap(n.value)||o,n=n.mid;else break}return n&&Hs.unwrap(n.value)||o}findSuperstr(t){return this._findSuperstrOrElement(t,!1)}_findSuperstrOrElement(t,e){let n=this._iter.reset(t),o=this._root;for(;o;){let i=n.cmp(o.segment);if(i>0)o=o.left;else if(i<0)o=o.right;else if(n.hasNext())n.next(),o=o.mid;else return o.mid?this._entries(o.mid):e?Hs.unwrap(o.value):void 0}}hasElementOrSubtree(t){return this._findSuperstrOrElement(t,!0)!==void 0}forEach(t){for(let[e,n]of this)t(n,e)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(t){let e=[];return this._dfsEntries(t,e),e[Symbol.iterator]()}_dfsEntries(t,e){t&&(t.left&&this._dfsEntries(t.left,e),t.value!==void 0&&e.push([t.key,Hs.unwrap(t.value)]),t.mid&&this._dfsEntries(t.mid,e),t.right&&this._dfsEntries(t.right,e))}_isBalanced(){let t=e=>{if(!e)return!0;let n=e.balanceFactor();return n<-1||n>1?!1:t(e.left)&&t(e.right)};return t(this._root)}}});function pc(r){return r.create===!0}function Nr(r){return!!(r.capabilities&2)}function sO(r){return!!(r.capabilities&524288)}function Zw(r){return!!(r.capabilities&8)}function aO(r){return!!(r.capabilities&131072)}function lO(r){return!!(r.capabilities&262144)}function Vs(r){return!!(r.capabilities&4)}function Ly(r){return!!(r.capabilities&16)}function Oy(r){return Nr(r)?!!(r.capabilities&16384):!1}function eT(r){return Nr(r)?!!(r.capabilities&32768):!1}function cO(r){return!!(r.capabilities&65536)}function hr(r,t){return zd.create(r,t)}function Bs(r){return r||hr(d(3621,null),"Unknown")}function tT(r,t){return r.name=t?`${t} (FileSystemError)`:"FileSystemError",r}function yg(r){if(!r)return"Unknown";if(r instanceof zd)return r.code;let t=/^(.+) \(FileSystemError\)$/.exec(r.name);if(!t)return"Unknown";switch(t[1]){case"EntryExists":return"EntryExists";case"EntryIsADirectory":return"EntryIsADirectory";case"EntryNotADirectory":return"EntryNotADirectory";case"EntryNotFound":return"EntryNotFound";case"EntryTooLarge":return"EntryTooLarge";case"EntryWriteLocked":return"EntryWriteLocked";case"NoPermissions":return"NoPermissions";case"Unavailable":return"Unavailable"}return"Unknown"}function Rt(r){if(r instanceof En)return r.fileOperationResult;switch(yg(r)){case"EntryNotFound":return 1;case"EntryIsADirectory":return 0;case"EntryNotADirectory":return 9;case"EntryWriteLocked":return 5;case"NoPermissions":return 6;case"EntryExists":return 4;case"EntryTooLarge":return 7;default:return 10}}function dO(r,t,e){return!r||!t||r===t||t.length>r.length?!1:(t.charAt(t.length-1)!==bn&&(t+=bn),e?Pa(r,t):r.indexOf(t)===0)}function nT(r){if(!(typeof r.size!="number"||typeof r.mtime!="number"))return r.mtime.toString(29)+r.size.toString(31)}var Oe,zd,Ws,Ay,En,Gd,Kd,Ny,Ei,nt=y(()=>{vg();Me();Tt();we();oe();re();Z();me();Ae();ji();Oe=D("fileService");zd=class r extends Error{constructor(e,n){super(e);this.code=n}static create(e,n){let o=new r(e.toString(),n);return tT(o,n),o}};Ws=class{constructor(t,e,n){this.resource=t;this.operation=e;this.target=n}isOperation(t){return this.operation===t}},Ay=class r{constructor(t,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new Kt(()=>{let t=Ci.forUris(()=>this.ignorePathCasing);return t.fill(this.rawAdded.map(e=>[e,!0])),t});this.updated=new Kt(()=>{let t=Ci.forUris(()=>this.ignorePathCasing);return t.fill(this.rawUpdated.map(e=>[e,!0])),t});this.deleted=new Kt(()=>{let t=Ci.forUris(()=>this.ignorePathCasing);return t.fill(this.rawDeleted.map(e=>[e,!0])),t});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let n of t){switch(n.type){case 1:this.rawAdded.push(n.resource);break;case 0:this.rawUpdated.push(n.resource);break;case 2:this.rawDeleted.push(n.resource);break}this.correlationId!==r.MIXED_CORRELATION&&(typeof n.cId=="number"?this.correlationId===void 0?this.correlationId=n.cId:this.correlationId!==n.cId&&(this.correlationId=r.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=r.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(t,...e){return this.doContains(t,{includeChildren:!1},...e)}affects(t,...e){return this.doContains(t,{includeChildren:!0},...e)}doContains(t,e,...n){if(!t)return!1;let o=n.length>0;return!!((!o||n.includes(1))&&(this.added.value.get(t)||e.includeChildren&&this.added.value.findSuperstr(t))||(!o||n.includes(0))&&(this.updated.value.get(t)||e.includeChildren&&this.updated.value.findSuperstr(t))||(!o||n.includes(2))&&(this.deleted.value.findSubstr(t)||e.includeChildren&&this.deleted.value.findSuperstr(t)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(t){return this.correlationId===t}hasCorrelation(){return typeof this.correlationId=="number"}};En=class extends Error{constructor(e,n,o){super(e);this.fileOperationResult=n;this.options=o}},Gd=class extends En{constructor(e,n,o,i){super(e,n,i);this.fileOperationResult=n;this.size=o}},Kd=class extends En{constructor(e,n,o){super(e,2,o);this.stat=n}},Ny="";Ei=class r{static{this.KB=1024}static{this.MB=r.KB*r.KB}static{this.GB=r.MB*r.KB}static{this.TB=r.GB*r.KB}static formatSize(t){return po(t)||(t=0),t<r.KB?d(3616,null,t.toFixed(0)):t<r.MB?d(3618,null,(t/r.KB).toFixed(2)):t<r.GB?d(3619,null,(t/r.MB).toFixed(2)):t<r.TB?d(3617,null,(t/r.GB).toFixed(2)):d(3620,null,(t/r.TB).toFixed(2))}}});function Ig(r){return Object.isFrozen(r)?r:GL(r)}function Ga(r,t){let{added:e,removed:n,updated:o}=uO(t?.rawConfiguration,r?.rawConfiguration),i=[],s=r?.getAllOverrideIdentifiers()||[],a=t?.getAllOverrideIdentifiers()||[];if(t){let l=a.filter(c=>!s.includes(c));for(let c of l)i.push([c,t.getKeysForOverrideIdentifier(c)])}if(r){let l=s.filter(c=>!a.includes(c));for(let c of l)i.push([c,r.getKeysForOverrideIdentifier(c)])}if(t&&r){for(let l of s)if(a.includes(l)){let c=uO({contents:r.getOverrideValue(void 0,l)||{},keys:r.getKeysForOverrideIdentifier(l)},{contents:t.getOverrideValue(void 0,l)||{},keys:t.getKeysForOverrideIdentifier(l)});i.push([l,[...c.added,...c.removed,...c.updated]])}}return{added:e,removed:n,updated:o,overrides:i}}function uO(r,t){let e=r?t?r.keys.filter(i=>t.keys.indexOf(i)===-1):[...r.keys]:[],n=t?r?t.keys.filter(i=>r.keys.indexOf(i)===-1):[...t.keys]:[],o=[];if(r&&t){for(let i of t.keys)if(r.keys.indexOf(i)!==-1){let s=gg(t.contents,i),a=gg(r.contents,i);ct(s,a)||o.push(i)}}return{added:e,removed:n,updated:o}}var fn,Uy,Fy,oT,jd,Hy,rT=y(()=>{At();de();fr();K();Sn();jt();we();oe();tn();Or();nt();Vo();fn=class r{constructor(t,e,n,o,i){this._contents=t;this._keys=e;this._overrides=n;this._raw=o;this.logService=i;this.overrideConfigurations=new Map}static createEmptyModel(t){return new r({},[],[],void 0,t)}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let t=(Array.isArray(this._raw)?this._raw:[this._raw]).map(e=>{if(e instanceof r)return e;let n=new Uy("",this.logService);return n.parseRaw(e),n.configurationModel});this._rawConfiguration=t.reduce((e,n)=>n===e?n:e.merge(n),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(t=>t instanceof r)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(t){return t?gg(this.contents,t):this.contents}inspect(t,e){let n=this;return{get value(){return Ig(n.rawConfiguration.getValue(t))},get override(){return e?Ig(n.rawConfiguration.getOverrideValue(t,e)):void 0},get merged(){return Ig(e?n.rawConfiguration.override(e).getValue(t):n.rawConfiguration.getValue(t))},get overrides(){let o=[];for(let{contents:i,identifiers:s,keys:a}of n.rawConfiguration.overrides){let l=new r(i,a,[],void 0,n.logService).getValue(t);l!==void 0&&o.push({identifiers:s,value:l})}return o.length?Ig(o):void 0}}}getOverrideValue(t,e){let n=this.getContentsForOverrideIdentifer(e);return n?t?gg(n,t):n:void 0}getKeysForOverrideIdentifier(t){let e=[];for(let n of this.overrides)n.identifiers.includes(t)&&e.push(...n.keys);return Xn(e)}getAllOverrideIdentifiers(){let t=[];for(let e of this.overrides)t.push(...e.identifiers);return Xn(t)}override(t){let e=this.overrideConfigurations.get(t);return e||(e=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,e)),e}merge(...t){let e=oi(this.contents),n=oi(this.overrides),o=[...this.keys],i=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let s of t)if(i.push(...s._raw?Array.isArray(s._raw)?s._raw:[s._raw]:[s]),!s.isEmpty()){this.mergeContents(e,s.contents);for(let a of s.overrides){let[l]=n.filter(c=>Gt(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Xn(l.keys)):n.push(oi(a))}for(let a of s.keys)o.indexOf(a)===-1&&o.push(a)}return new r(e,o,n,!i.length||i.every(s=>s instanceof r)?void 0:i,this.logService)}createOverrideConfigurationModel(t){let e=this.getContentsForOverrideIdentifer(t);if(!e||typeof e!="object"||!Object.keys(e).length)return this;let n={};for(let o of Xn([...Object.keys(this.contents),...Object.keys(e)])){let i=this.contents[o],s=e[o];s&&(typeof i=="object"&&typeof s=="object"?(i=oi(i),this.mergeContents(i,s)):i=s),n[o]=i}return new r(n,this.keys,this.overrides,void 0,this.logService)}mergeContents(t,e){for(let n of Object.keys(e)){if(n in t&&_e(t[n])&&_e(e[n])){this.mergeContents(t[n],e[n]);continue}t[n]=oi(e[n])}}getContentsForOverrideIdentifer(t){let e=null,n=null,o=i=>{i&&(n?this.mergeContents(n,i):n=oi(i))};for(let i of this.overrides)i.identifiers.length===1&&i.identifiers[0]===t?e=i.contents:i.identifiers.includes(t)&&o(i.contents);return o(e),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(t,e){this.updateValue(t,e,!0)}setValue(t,e){this.updateValue(t,e,!1)}removeValue(t){let e=this.keys.indexOf(t);e!==-1&&(this.keys.splice(e,1),JL(this.contents,t),Zi.test(t)&&this.overrides.splice(this.overrides.findIndex(n=>Gt(n.identifiers,qd(t))),1))}updateValue(t,e,n){if(zw(this.contents,t,e,o=>this.logService.error(o)),n=n||this.keys.indexOf(t)===-1,n&&this.keys.push(t),Zi.test(t)){let o=this.contents[t],i=qd(t),s={identifiers:i,keys:Object.keys(o),contents:Cy(o,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>Gt(l.identifiers,i));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},Uy=class{constructor(t,e){this._name=t;this.logService=e;this._raw=null;this._configurationModel=null;this._restrictedConfigurations=[];this._parseErrors=[]}get configurationModel(){return this._configurationModel||fn.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(t,e){if(!qt(t)){let n=this.doParseContent(t);this.parseRaw(n,e)}}reparse(t){this._raw&&this.parseRaw(this._raw,t)}parseRaw(t,e){this._raw=t;let{contents:n,keys:o,overrides:i,restricted:s,hasExcludedProperties:a}=this.doParseRaw(t,e);this._configurationModel=new fn(n,o,i,a?[t]:void 0,this.logService),this._restrictedConfigurations=s||[]}doParseContent(t){let e={},n=null,o=[],i=[],s=[];function a(c){Array.isArray(o)?o.push(c):n!==null&&qa(o,n,c)}let l={onObjectBegin:()=>{let c={};a(c),i.push(o),o=c,n=null},onObjectProperty:c=>{n=c},onObjectEnd:()=>{o=i.pop()},onArrayBegin:()=>{let c=[];a(c),i.push(o),o=c,n=null},onArrayEnd:()=>{o=i.pop()},onLiteralValue:a,onError:(c,u,p)=>{s.push({error:c,offset:u,length:p})}};if(t)try{Hd(t,l),e=o[0]||{}}catch(c){this.logService.error(`Error while parsing settings file ${this._name}: ${c}`),this._parseErrors=[c]}return e}doParseRaw(t,e){let n=ht.as(Kn.Configuration),o=n.getConfigurationProperties(),i=n.getExcludedConfigurationProperties(),s=this.filter(t,o,i,!0,e);t=s.raw;let a=Cy(t,u=>this.logService.error(`Conflict in settings file ${this._name}: ${u}`)),l=Object.keys(t),c=this.toOverrides(t,u=>this.logService.error(`Conflict in settings file ${this._name}: ${u}`));return{contents:a,keys:l,overrides:c,restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(t,e,n,o,i){let s=!1;if(!i?.scopes&&!i?.skipRestricted&&!i?.skipUnregistered&&!i?.exclude?.length)return{raw:t,restricted:[],hasExcludedProperties:s};let a={},l=[];for(let c in t)if(Object.hasOwn(t,c))if(Zi.test(c)&&o){let u=this.filter(t[c],e,n,!1,i);qa(a,c,u.raw),s=s||u.hasExcludedProperties,l.push(...u.restricted)}else{let u=this.filterProperty(c,t[c],e,n,i);l.push(...u.restricted),s=s||u.hasExcludedProperties,u.included?qa(a,c,u.value):s=!0}return{raw:a,restricted:l,hasExcludedProperties:s}}filterProperty(t,e,n,o,i){let s=Object.hasOwn(n,t)?n[t]:void 0,a=Object.hasOwn(o,t)?o[t]:void 0;if(s)return{included:this.shouldInclude(t,s,a,i),value:e,restricted:s.restricted?[t]:[],hasExcludedProperties:!1};if(!_e(e)||Array.isArray(e))return{included:this.shouldInclude(t,s,a,i),value:e,restricted:[],hasExcludedProperties:!1};if(a)return{included:this.shouldInclude(t,s,a,i),value:e,restricted:[],hasExcludedProperties:!1};if(i.exclude?.includes(t))return{included:!1,value:e,restricted:[],hasExcludedProperties:!1};let l=Object.keys(e);if(l.length===0)return{included:this.shouldInclude(t,s,a,i),value:e,restricted:[],hasExcludedProperties:!1};let c={},u=[],p=!1,m=!1;for(let f of l){let h=this.filterProperty(`${t}.${f}`,e[f],n,o,i);h.restricted.length&&u.push(...h.restricted),m=m||h.hasExcludedProperties,h.included?(qa(c,f,h.value),p=!0):m=!0}return{included:p,value:c,restricted:u,hasExcludedProperties:m}}shouldInclude(t,e,n,o){if(o.exclude?.includes(t))return!1;if(o.include?.includes(t))return!0;if(o.skipRestricted&&e?.restricted||o.skipUnregistered&&!e)return!1;let i=e??n,s=i?typeof i.scope<"u"?i.scope:4:void 0;return s===void 0||o.scopes===void 0?!0:o.scopes.includes(s)}toOverrides(t,e){let n=[];for(let o of Object.keys(t))if(Zi.test(o)){let i={},s=t[o];for(let a in s)i[a]=s[a];n.push({identifiers:qd(o),keys:Object.keys(i),contents:Cy(i,e)})}return n}},Fy=class extends _{constructor(e,n,o,i,s){super();this.userSettingsResource=e;this.parseOptions=n;this.fileService=i;this.logService=s;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this.parser=new Uy(this.userSettingsResource.toString(),s),this._register(this.fileService.watch(o.dirname(this.userSettingsResource))),this._register(this.fileService.watch(this.userSettingsResource)),this._register(V.any(V.filter(this.fileService.onDidFilesChange,a=>a.contains(this.userSettingsResource)),V.filter(this.fileService.onDidRunOperation,a=>(a.isOperation(0)||a.isOperation(3)||a.isOperation(1)||a.isOperation(4))&&o.isEqual(a.resource,e)))(()=>this._onDidChange.fire()))}async loadConfiguration(){try{let e=await this.fileService.readFile(this.userSettingsResource);return this.parser.parse(e.value.toString()||"{}",this.parseOptions),this.parser.configurationModel}catch{return fn.createEmptyModel(this.logService)}}reparse(e){return e&&(this.parseOptions=e),this.parser.reparse(this.parseOptions),this.parser.configurationModel}getRestrictedSettings(){return this.parser.restrictedConfigurations}},oT=class{constructor(t,e,n,o,i,s,a,l,c,u,p,m,f){this.key=t;this.overrides=e;this._value=n;this.overrideIdentifiers=o;this.defaultConfiguration=i;this.policyConfiguration=s;this.applicationConfiguration=a;this.userConfiguration=l;this.localUserConfiguration=c;this.remoteUserConfiguration=u;this.workspaceConfiguration=p;this.folderConfigurationModel=m;this.memoryConfigurationModel=f}get value(){return Ig(this._value)}toInspectValue(t){return t?.value!==void 0||t?.override!==void 0||t?.overrides!==void 0?t:void 0}get defaultInspectValue(){return this._defaultInspectValue||(this._defaultInspectValue=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get default(){return this.toInspectValue(this.defaultInspectValue)}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get policy(){return this.policyInspectValue?.value!==void 0?{value:this.policyInspectValue.value}:void 0}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get application(){return this.toInspectValue(this.applicationInspectValue)}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get userLocalInspectValue(){return this._userLocalInspectValue||(this._userLocalInspectValue=this.localUserConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userLocalInspectValue}get userLocalValue(){return this.userLocalInspectValue.merged}get userLocal(){return this.toInspectValue(this.userLocalInspectValue)}get userRemoteInspectValue(){return this._userRemoteInspectValue||(this._userRemoteInspectValue=this.remoteUserConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userRemoteInspectValue}get userRemoteValue(){return this.userRemoteInspectValue.merged}get userRemote(){return this.toInspectValue(this.userRemoteInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspace(){return this.toInspectValue(this.workspaceInspectValue)}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get workspaceFolder(){return this.toInspectValue(this.workspaceFolderInspectValue)}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}get memory(){return this.toInspectValue(this.memoryInspectValue)}},jd=class r{constructor(t,e,n,o,i,s,a,l,c,u){this._defaultConfiguration=t;this._policyConfiguration=e;this._applicationConfiguration=n;this._localUserConfiguration=o;this._remoteUserConfiguration=i;this._workspaceConfiguration=s;this._folderConfigurations=a;this._memoryConfiguration=l;this._memoryConfigurationByResource=c;this.logService=u;this._workspaceConsolidatedConfiguration=null;this._foldersConsolidatedConfigurations=new tt;this._userConfiguration=null}getValue(t,e,n){return this.getConsolidatedConfigurationModel(t,e,n).getValue(t)}updateValue(t,e,n={}){let o;n.resource?(o=this._memoryConfigurationByResource.get(n.resource),o||(o=fn.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(n.resource,o))):o=this._memoryConfiguration,e===void 0?o.removeValue(t):o.setValue(t,e),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(t,e,n){let o=this.getConsolidatedConfigurationModel(t,e,n),i=this.getFolderConfigurationModelForResource(e.resource,n),s=e.resource?this._memoryConfigurationByResource.get(e.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(let l of o.overrides)for(let c of l.identifiers)o.getOverrideValue(t,c)!==void 0&&a.add(c);return new oT(t,e,o.getValue(t),a.size?[...a]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,i||void 0,s)}keys(t){let e=this.getFolderConfigurationModelForResource(void 0,t);return{default:this._defaultConfiguration.keys.slice(0),policy:this._policyConfiguration.keys.slice(0),user:this.userConfiguration.keys.slice(0),workspace:this._workspaceConfiguration.keys.slice(0),workspaceFolder:e?e.keys.slice(0):[]}}updateDefaultConfiguration(t){this._defaultConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updatePolicyConfiguration(t){this._policyConfiguration=t}updateApplicationConfiguration(t){this._applicationConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateLocalUserConfiguration(t){this._localUserConfiguration=t,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateRemoteUserConfiguration(t){this._remoteUserConfiguration=t,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateWorkspaceConfiguration(t){this._workspaceConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateFolderConfiguration(t,e){this._folderConfigurations.set(t,e),this._foldersConsolidatedConfigurations.delete(t)}deleteFolderConfiguration(t){this.folderConfigurations.delete(t),this._foldersConsolidatedConfigurations.delete(t)}compareAndUpdateDefaultConfiguration(t,e){let n=[];if(!e){let{added:o,updated:i,removed:s}=Ga(this._defaultConfiguration,t);e=[...o,...i,...s]}for(let o of e)for(let i of qd(o)){let s=this._defaultConfiguration.getKeysForOverrideIdentifier(i),a=t.getKeysForOverrideIdentifier(i),l=[...a.filter(c=>s.indexOf(c)===-1),...s.filter(c=>a.indexOf(c)===-1),...s.filter(c=>!ct(this._defaultConfiguration.override(i).getValue(c),t.override(i).getValue(c)))];n.push([i,l])}return this.updateDefaultConfiguration(t),{keys:e,overrides:n}}compareAndUpdatePolicyConfiguration(t){let{added:e,updated:n,removed:o}=Ga(this._policyConfiguration,t),i=[...e,...n,...o];return i.length&&this.updatePolicyConfiguration(t),{keys:i,overrides:[]}}compareAndUpdateApplicationConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ga(this.applicationConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateApplicationConfiguration(t),{keys:s,overrides:i}}compareAndUpdateLocalUserConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ga(this.localUserConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateLocalUserConfiguration(t),{keys:s,overrides:i}}compareAndUpdateRemoteUserConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ga(this.remoteUserConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateRemoteUserConfiguration(t),{keys:s,overrides:i}}compareAndUpdateWorkspaceConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ga(this.workspaceConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateWorkspaceConfiguration(t),{keys:s,overrides:i}}compareAndUpdateFolderConfiguration(t,e){let n=this.folderConfigurations.get(t),{added:o,updated:i,removed:s,overrides:a}=Ga(n,e),l=[...o,...i,...s];return(l.length||!n)&&this.updateFolderConfiguration(t,e),{keys:l,overrides:a}}compareAndDeleteFolderConfiguration(t){let e=this.folderConfigurations.get(t);if(!e)throw new Error("Unknown folder");this.deleteFolderConfiguration(t);let{added:n,updated:o,removed:i,overrides:s}=Ga(e,void 0);return{keys:[...n,...o,...i],overrides:s}}get defaults(){return this._defaultConfiguration}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration)if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let t=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new fn(t.contents,t.keys,t.overrides,void 0,this.logService)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}get workspaceConfiguration(){return this._workspaceConfiguration}get folderConfigurations(){return this._folderConfigurations}getConsolidatedConfigurationModel(t,e,n){let o=this.getConsolidatedConfigurationModelForResource(e,n);if(e.overrideIdentifier&&(o=o.override(e.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(t)!==void 0){o=o.merge();for(let i of this._policyConfiguration.keys)o.setValue(i,this._policyConfiguration.getValue(i))}return o}getConsolidatedConfigurationModelForResource({resource:t},e){let n=this.getWorkspaceConsolidatedConfiguration();if(e&&t){let o=e.getFolder(t);o&&(n=this.getFolderConsolidatedConfiguration(o.uri)||n);let i=this._memoryConfigurationByResource.get(t);i&&(n=n.merge(i))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let e=this._foldersConsolidatedConfigurations.get(t);if(!e){let n=this.getWorkspaceConsolidatedConfiguration(),o=this._folderConfigurations.get(t);o?(e=n.merge(o),this._foldersConsolidatedConfigurations.set(t,e)):e=n}return e}getFolderConfigurationModelForResource(t,e){if(e&&t){let n=e.getFolder(t);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((t,e)=>{let{contents:n,overrides:o,keys:i}=this._folderConfigurations.get(e);return t.push([e,{contents:n,overrides:o,keys:i}]),t},[])}}allKeys(){let t=new Set;return this._defaultConfiguration.keys.forEach(e=>t.add(e)),this.userConfiguration.keys.forEach(e=>t.add(e)),this._workspaceConfiguration.keys.forEach(e=>t.add(e)),this._folderConfigurations.forEach(e=>e.keys.forEach(n=>t.add(n))),[...t.values()]}allOverrideIdentifiers(){let t=new Set;return this._defaultConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this.userConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this._workspaceConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this._folderConfigurations.forEach(e=>e.getAllOverrideIdentifiers().forEach(n=>t.add(n))),[...t.values()]}getAllKeysForOverrideIdentifier(t){let e=new Set;return this._defaultConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this.userConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this._workspaceConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this._folderConfigurations.forEach(n=>n.getKeysForOverrideIdentifier(t).forEach(o=>e.add(o))),[...e.values()]}static parse(t,e){let n=this.parseConfigurationModel(t.defaults,e),o=this.parseConfigurationModel(t.policy,e),i=this.parseConfigurationModel(t.application,e),s=this.parseConfigurationModel(t.userLocal,e),a=this.parseConfigurationModel(t.userRemote,e),l=this.parseConfigurationModel(t.workspace,e),c=t.folders.reduce((u,p)=>(u.set(S.revive(p[0]),this.parseConfigurationModel(p[1],e)),u),new tt);return new r(n,o,i,s,a,l,c,fn.createEmptyModel(e),new tt,e)}static parseConfigurationModel(t,e){return new fn(t.contents,t.keys,t.overrides,t.raw,e)}},Hy=class{constructor(t,e,n,o,i){this.change=t;this.previous=e;this.currentConfiguraiton=n;this.currentWorkspace=o;this.logService=i;this._marker=`
`;this._markerCode1=this._marker.charCodeAt(0);this._markerCode2=46;this.affectedKeys=new Set;this._previousConfiguration=void 0;for(let s of t.keys)this.affectedKeys.add(s);for(let[,s]of t.overrides)for(let a of s)this.affectedKeys.add(a);this._affectsConfigStr=this._marker;for(let s of this.affectedKeys)this._affectsConfigStr+=s+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=jd.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(t,e){let n=this._marker+t,o=this._affectsConfigStr.indexOf(n);if(o<0)return!1;let i=o+n.length;if(i>=this._affectsConfigStr.length)return!1;let s=this._affectsConfigStr.charCodeAt(i);if(s!==this._markerCode1&&s!==this._markerCode2)return!1;if(e){let a=this.previousConfiguration?this.previousConfiguration.getValue(t,e,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(t,e,this.currentWorkspace);return!ct(a,l)}return!0}}});function $6(r){return{type:r.type,managedSettings:r.managedSettings,restrictedValue:r.restrictedValue}}function pO(r){if(r.restrictedValue!==void 0)return r.restrictedValue;switch(r.type){case"boolean":return!1;case"number":return 0;case"string":return""}}var mO,Wy,ja,Qd=y(()=>{de();ei();K();Z();mO=D("policy"),Wy=class extends _{constructor(){super(...arguments);this.policyDefinitions={};this.policies=new Map;this.policyValueSources=new Map;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event}async updatePolicyDefinitions(e){let n=!1;for(let o of Object.keys(e))this.policyDefinitions[o]!==e[o]&&(this.policyDefinitions[o]=e[o],n=!0);return n&&await this._updatePolicyDefinitions(this.policyDefinitions),this.getPolicyValues()}getPolicyValue(e){return this.policies.get(e)}getPolicyValueSource(e){return this.getStoredPolicyValueSource(e)}getStoredPolicyValueSource(e){if(this.policies.has(e))return this.policyValueSources.get(e)??"device"}serialize(){return Xt.reduce(Object.entries(this.policyDefinitions),(e,[n,o])=>({...e,[n]:{definition:$6(o),value:this.policies.get(n)}}),{})}getPolicyValues(){return Xt.reduce(this.policies.entries(),(e,[n,o])=>({...e,[n]:o}),{})}updatePolicyValue(e,n,o="device"){if(n===void 0){let a=this.policies.delete(e),l=this.policyValueSources.delete(e);return a||l}let i=this.policies.get(e)!==n,s=this.getStoredPolicyValueSource(e)!==o;return!i&&!s?!1:(this.policies.set(e,n),this.policyValueSources.set(e,o),!0)}clearPolicyValues(){this.policies.clear(),this.policyValueSources.clear()}},ja=class{constructor(){this.onDidChange=V.None;this.policyDefinitions={}}async updatePolicyDefinitions(){return{}}getPolicyValue(){}getPolicyValueSource(){}serialize(){}}});var Vy,By,Jd,gO=y(()=>{de();K();jt();we();rT();Or();De();Qd();Vo();Ee();fr();Vy=class extends _{constructor(e){super();this.logService=e;this._onDidChangeConfiguration=this._register(new T);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=fn.createEmptyModel(e)}get configurationModel(){return this._configurationModel}async initialize(){return this.resetConfigurationModel(),this._register(ht.as(Kn.Configuration).onDidUpdateConfiguration(({properties:e,defaultsOverrides:n})=>this.onDidUpdateConfiguration(Array.from(e),n))),this.configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}onDidUpdateConfiguration(e,n){this.updateConfigurationModel(e,this.getConfigurationProperties()),this._onDidChangeConfiguration.fire({defaults:this.configurationModel,properties:e})}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=fn.createEmptyModel(this.logService);let e=this.getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}getConfigurationProperties(){let e=ht.as(Kn.Configuration),n={...e.getConfigurationProperties()};for(let[o,i]of Object.entries(e.getExcludedConfigurationProperties()))i.experiment&&(n[o]=i);return n}updateConfigurationModel(e,n){let o=this.getConfigurationDefaultOverrides();for(let i of e){let s=o[i],a=n[i];s!==void 0?this._configurationModel.setValue(i,s):a?this._configurationModel.setValue(i,this.getDefaultValue(i,a)):this._configurationModel.removeValue(i)}}getDefaultValue(e,n){return oi(n.default)}},By=class{constructor(){this.onDidChangeConfiguration=V.None;this.configurationModel=fn.createEmptyModel(new vy)}async initialize(){return this.configurationModel}},Jd=class extends _{constructor(e,n,o){super();this.defaultConfiguration=e;this.policyService=n;this.logService=o;this._onDidChangeConfiguration=this._register(new T);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._submittedPolicyDefinitions=new Map;this._policyNameByKey=new Map;this._configurationModel=fn.createEmptyModel(this.logService),this.configurationRegistry=ht.as(Kn.Configuration)}get configurationModel(){return this._configurationModel}async initialize(){return this.logService.trace("PolicyConfiguration#initialize"),this.update(await this.updatePolicyDefinitions([...this.defaultConfiguration.configurationModel.keys,...Object.keys(this.configurationRegistry.getExcludedConfigurationProperties())]),!1),this._register(this.policyService.onDidChange(e=>this.onDidChangePolicies(e))),this._register(this.defaultConfiguration.onDidChangeConfiguration(async({properties:e})=>this.update(await this.updatePolicyDefinitions(e),!0))),this._configurationModel}toPolicyDefinitionType(e,n){let i=(Array.isArray(e)?e:[e]).filter(s=>s==="string"||s==="number"||s==="array"||s==="object"||s==="boolean");if(i.length===0){this.logService.warn(`PolicyConfiguration#updatePolicyDefinitions - policy '${n}' has unsupported type '${e}'`);return}return i.includes("number")?"number":i.includes("boolean")?"boolean":"string"}async updatePolicyDefinitions(e){this.logService.trace("PolicyConfiguration#updatePolicyDefinitions",e);let n=[],o=new Set,i=this.configurationRegistry.getConfigurationProperties(),s=this.configurationRegistry.getExcludedConfigurationProperties();for(let l of e){let c=i[l]??s[l];if(!c){n.push(l);let p=this._policyNameByKey.get(l);p!==void 0&&(this._policyNameByKey.delete(l),o.add(p));continue}let u=c.policy?.name??c.policyReference?.name;u&&(n.push(l),o.add(u),this._policyNameByKey.set(l,u))}let a={};for(let l of o){let c=this.resolvePolicyDefinition(l);c&&!this.isSamePolicyDefinition(this._submittedPolicyDefinitions.get(l),c)&&(this._submittedPolicyDefinitions.set(l,c),a[l]=c)}return Ea(a)||await this.policyService.updatePolicyDefinitions(a),n}isSamePolicyDefinition(e,n){return!!e&&e.type===n.type&&e.value===n.value&&e.managedSettings===n.managedSettings&&e.restrictedValue===n.restrictedValue}resolvePolicyDefinition(e){let n=this.configurationRegistry.getConfigurationProperties(),o=this.configurationRegistry.getExcludedConfigurationProperties(),i=this.configurationRegistry.getPolicyConfigurations().get(e);if(i!==void 0){let a=n[i]??o[i];if(a?.policy){let l=this.toPolicyDefinitionType(a.type,e),{value:c,managedSettings:u,restrictedValue:p}=a.policy;return l?{type:l,value:c,managedSettings:u,restrictedValue:p}:void 0}}let s=this.configurationRegistry.getPolicyReferenceConfigurations().get(e);for(let a of s??[]){let l=n[a]??o[a];if(l?.policyReference){let c=this.toPolicyDefinitionType(l.type,e);return c?{type:c}:void 0}}}onDidChangePolicies(e){this.logService.trace("PolicyConfiguration#onDidChangePolicies",e);let n=this.configurationRegistry.getPolicyConfigurations(),o=this.configurationRegistry.getPolicyReferenceConfigurations(),i=[];for(let s of e){let a=n.get(s);a&&i.push(a);let l=o.get(s);l&&i.push(...l)}this.update(i,!0)}update(e,n){this.logService.trace("PolicyConfiguration#update",e);let o=this.configurationRegistry.getConfigurationProperties(),i=this.configurationRegistry.getExcludedConfigurationProperties(),s=[],a=this._configurationModel.isEmpty();for(let l of e){let c=o[l]??i[l],u=c?.policy?.name??c?.policyReference?.name;if(u){let p=this.policyService.getPolicyValue(u),m=Array.isArray(c.type)?c.type.includes("string"):c.type==="string";if(j(p)&&!m)try{p=this.parse(p)}catch(f){this.logService.error(`Error parsing policy value ${u}:`,ye(f));continue}(a?p!==void 0:!ct(this._configurationModel.getValue(l),p))&&s.push([l,p])}else this._configurationModel.getValue(l)!==void 0&&s.push([l,void 0])}if(s.length){this.logService.trace("PolicyConfiguration#changed",s);let l=this._configurationModel;this._configurationModel=fn.createEmptyModel(this.logService);for(let c of l.keys)this._configurationModel.setValue(c,l.getValue(c));for(let[c,u]of s)u===void 0?this._configurationModel.removeValue(c):this._configurationModel.setValue(c,u);n&&this._onDidChangeConfiguration.fire(this._configurationModel)}}parse(e){let n={},o=null,i=[],s=[],a=[];function l(u){if(Array.isArray(i))i.push(u);else if(o!==null){if(Object.hasOwn(i,o))throw new Error(`Duplicate property found: ${o}`);qa(i,o,u)}}if(e&&(Hd(e,{onObjectBegin:()=>{let u={};l(u),s.push(i),i=u,o=null},onObjectProperty:u=>{o=u},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{let u=[];l(u),s.push(i),i=u,o=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:l,onError:(u,p,m)=>{a.push({error:u,offset:p,length:m})}}),n=i[0]||n),a.length>0)throw new Error(a.map(u=>ye(u.error)).join(`
`));return n}};Jd=C([b(1,mO),b(2,z)],Jd)});var Yd,iT,sT=y(()=>{At();Ne();Ke();de();fr();Bw();K();Sn();jt();me();bt();tn();rT();Or();gO();nt();Qd();Yd=class extends _{constructor(e,n,o,i){super();this.settingsResource=e;this.logService=i;this._onDidChangeConfiguration=this._register(new T);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this.defaultConfiguration=this._register(new Vy(i)),this.policyConfiguration=o instanceof ja?new By:this._register(new Jd(this.defaultConfiguration,o,i)),this.userConfiguration=this._register(new Fy(this.settingsResource,{},Ma,n,i)),this.configuration=new jd(this.defaultConfiguration.configurationModel,this.policyConfiguration.configurationModel,fn.createEmptyModel(i),fn.createEmptyModel(i),fn.createEmptyModel(i),fn.createEmptyModel(i),new tt,fn.createEmptyModel(i),new tt,i),this.configurationEditing=new iT(e,n,this),this.reloadConfigurationScheduler=this._register(new Yo(()=>this.reloadConfiguration(),50)),this._register(this.defaultConfiguration.onDidChangeConfiguration(({defaults:s,properties:a})=>this.onDidDefaultConfigurationChange(s,a))),this._register(this.policyConfiguration.onDidChangeConfiguration(s=>this.onDidPolicyConfigurationChange(s))),this._register(this.userConfiguration.onDidChange(()=>this.reloadConfigurationScheduler.schedule()))}async initialize(){let[e,n,o]=await Promise.all([this.defaultConfiguration.initialize(),this.policyConfiguration.initialize(),this.userConfiguration.loadConfiguration()]);this.configuration=new jd(e,n,fn.createEmptyModel(this.logService),o,fn.createEmptyModel(this.logService),fn.createEmptyModel(this.logService),new tt,fn.createEmptyModel(this.logService),new tt,this.logService)}getConfigurationData(){return this.configuration.toData()}getValue(e,n){let o=typeof e=="string"?e:void 0,i=xy(e)?e:xy(n)?n:{};return this.configuration.getValue(o,i,void 0)}async updateValue(e,n,o,i,s){let a=jL(o)?o:xy(o)?{resource:o.resource,overrideIdentifiers:o.overrideIdentifier?[o.overrideIdentifier]:void 0}:void 0,l=a?i:o;if(l!==void 0&&l!==3&&l!==2)throw new Error(`Unable to write ${e} to target ${l}.`);a?.overrideIdentifiers&&(a.overrideIdentifiers=Xn(a.overrideIdentifiers),a.overrideIdentifiers=a.overrideIdentifiers.length?a.overrideIdentifiers:void 0);let c=this.inspect(e,{resource:a?.resource,overrideIdentifier:a?.overrideIdentifiers?a.overrideIdentifiers[0]:void 0});if(c.policyValue!==void 0)throw new Error(`Unable to write ${e} because it is configured in system policy.`);if(ct(n,c.defaultValue)&&(n=void 0),a?.overrideIdentifiers?.length&&a.overrideIdentifiers.length>1){let p=a.overrideIdentifiers.sort(),m=this.configuration.localUserConfiguration.overrides.find(f=>Gt([...f.identifiers].sort(),p));m&&(a.overrideIdentifiers=m.identifiers)}let u=a?.overrideIdentifiers?.length?[iO(a.overrideIdentifiers),e]:[e];await this.configurationEditing.write(u,n),await this.reloadConfiguration()}inspect(e,n={}){return this.configuration.inspect(e,n,void 0)}keys(){return this.configuration.keys(void 0)}async reloadConfiguration(){let e=await this.userConfiguration.loadConfiguration();this.onDidChangeUserConfiguration(e)}onDidChangeUserConfiguration(e){let n=this.configuration.toData(),o=this.configuration.compareAndUpdateLocalUserConfiguration(e);this.trigger(o,n,2)}onDidDefaultConfigurationChange(e,n){let o=this.configuration.toData(),i=this.configuration.compareAndUpdateDefaultConfiguration(e,n);this.trigger(i,o,7)}onDidPolicyConfigurationChange(e){let n=this.configuration.toData(),o=this.configuration.compareAndUpdatePolicyConfiguration(e);this.trigger(o,n,7)}trigger(e,n,o){let i=new Hy(e,{data:n},this.configuration,void 0,this.logService);i.source=o,this._onDidChangeConfiguration.fire(i)}},iT=class{constructor(t,e,n){this.settingsResource=t;this.fileService=e;this.configurationService=n;this.queue=new Ar}write(t,e){return this.queue.queue(()=>this.doWriteConfiguration(t,e))}async doWriteConfiguration(t,e){let n;try{n=(await this.fileService.readFile(this.settingsResource)).value.toString()}catch(s){if(s.fileOperationResult===1)n="{}";else throw s}let o=[];if(Po(n,o,{allowTrailingComma:!0,allowEmptyContent:!0}),o.length>0)throw new Error("Unable to write into the settings file. Please open the file to correct errors/warnings in the file and try again.");let i=this.getEdits(n,t,e);n=Sy(n,i),await this.fileService.writeFile(this.settingsResource,L.fromString(n))}getEdits(t,e,n){let{tabSize:o,insertSpaces:i,eol:s}=this.formattingOptions;if(!e.length){let a=JSON.stringify(n,null,i?" ".repeat(o):" ");return[{content:a,length:a.length,offset:0}]}return by(t,e,n,{tabSize:o,insertSpaces:i,eol:s})}get formattingOptions(){if(!this._formattingOptions){let t=lr===3||lr===2?`
`:`\r
`,e=this.configurationService.getValue("files.eol",{overrideIdentifier:"jsonc"});e&&typeof e=="string"&&e!=="auto"&&(t=e),this._formattingOptions={eol:t,insertSpaces:!!this.configurationService.getValue("editor.insertSpaces",{overrideIdentifier:"jsonc"}),tabSize:this.configurationService.getValue("editor.tabSize",{overrideIdentifier:"jsonc"})}}return this._formattingOptions}}});function mc(r){return r.res.statusCode&&r.res.statusCode>=200&&r.res.statusCode<300||r.res.statusCode===1223}function yO(r){return!!r.res.statusCode&&r.res.statusCode>=400&&r.res.statusCode<500}function IO(r){return!!r.res.statusCode&&r.res.statusCode>=500&&r.res.statusCode<600}function bO(r){return r.res.statusCode===204}async function Zd(r){return bO(r)?null:(await mr(r.stream)).toString()}function SO(r,t,e){return new Promise((n,o)=>{let i=[],s=0;Oa(r.stream,{onData:a=>{s+=a.byteLength,s>t?(o(e()),r.stream.destroy()):i.push(a)},onError:o,onEnd:()=>n(L.concat(i).toString())})})}async function es(r){if(!mc(r))throw new Error("Server returned "+r.res.statusCode);return Zd(r)}async function ts(r){if(!mc(r))throw new Error("Server returned "+r.res.statusCode);if(bO(r))return null;let e=(await mr(r.stream)).toString();try{return JSON.parse(e)}catch(n){throw n.message+=`:
`+e,n}}function G6(r=!0,t=!0){if(fO===r&&hO===t)return;fO=r,hO=t;let e=ht.as(Kn.Configuration),n=aT;aT=[{id:"http",order:15,title:d(3790,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:t,markdownDescription:d(3805,null),restricted:!0}}},{id:"http",order:15,title:d(3790,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:d(3788,null),restricted:!0}}},{id:"http",order:15,title:d(3790,null),type:"object",scope:r?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:d(3793,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,agentHost:{key:"http.proxy",scope:"ambient",transform:o=>typeof o=="string"?o:""}},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:d(3801,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:d(3795,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,agentHost:{key:"http.proxyKerberosServicePrincipal",scope:"ambient",transform:o=>typeof o=="string"?o:""}},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:d(3792,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,agentHost:{key:"http.noProxy",scope:"ambient",transform:o=>Array.isArray(o)?o:[]}},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:d(3794,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[d(3798,null),d(3799,null),d(3797,null),d(3800,null)],default:"override",markdownDescription:d(3796,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:d(3802,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:cT,markdownDescription:d(3803,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:d(3804,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:d(3789,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:d(3806,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:d(3791,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:aT,remove:n})}var oo,vO,lT,qy,cT,aT,fO,hO,Ti=y(()=>{Ke();Ee();de();K();rc();re();Or();Z();Vo();oo=D("requestService"),vO="NO_FETCH_TELEMETRY",lT=class{constructor(t){this.original=t}toJSON(){if(!this.headers){let t=Object.create(null);for(let e in this.original)e.toLowerCase()==="authorization"||e.toLowerCase()==="proxy-authorization"?t[e]="*****":t[e]=this.original[e];this.headers=t}return this.headers}},qy=class extends _{constructor(e){super();this.logService=e;this.counter=0;this._onDidCompleteRequest=this._register(new T);this.onDidCompleteRequest=this._onDidCompleteRequest.event}async logAndRequest(e,n){let o=`#${++this.counter}: ${e.url}`;this.logService.trace(`${o} - begin`,e.type,new lT(e.headers??{}));let i=Date.now();try{let s=await n();return this.logService.trace(`${o} - end`,e.type,s.res.statusCode,s.res.headers),this._onDidCompleteRequest.fire({callSite:e.callSite,latency:Date.now()-i,statusCode:s.res.statusCode}),s}catch(s){throw on(s)?this.logService.trace(`${o} - cancelled`,e.type):this.logService.error(`${o} - error`,e.type,ye(s)),s}}};cT=!0,aT=[];G6()});var _t,wn,Tn=y(()=>{Z();_t=D("environmentService"),wn=_t});function xO(r){return K6.test(r)}var K6,Se,nn=y(()=>{K6=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;Se=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let r=new Uint8Array(16),t=[];for(let e=0;e<256;e++)t.push(e.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(r),r[6]=r[6]&15|64,r[8]=r[8]&63|128;let n=0,o="";return o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o}})()});import*as dT from"os";function Y6({useAlternateBitness:r=!1}={}){return r?bg===0?process.env["ProgramFiles(x86)"]||null:eu===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function $y({useAlternateBitness:r=!1,findPreview:t=!1}={}){let e=Y6({useAlternateBitness:r});if(!e)return null;let n=q(e,"PowerShell");if(!await wo.existsDirectory(n))return null;let o=-1,i=null;for(let l of await be.readdir(n)){let c=-1;if(t){let p=l.indexOf("-");if(p<0)continue;let m=l.substring(0,p);if(!CO.test(m)||l.substring(p+1)!=="preview")continue;c=parseInt(m,10)}else{if(!CO.test(l))continue;c=parseInt(l,10)}if(c<=o)continue;let u=q(n,l,"pwsh.exe");await wo.existsFile(u)&&(i=u,o=c)}if(!i)return null;let s=e.includes("x86")?" (x86)":"",a=t?" Preview":"";return new fc(i,`PowerShell${a}${s}`,!0)}async function EO({findPreview:r}={}){if(!process.env.LOCALAPPDATA)return null;let t=q(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await wo.existsDirectory(t))return null;let{pwshMsixDirRegex:e,pwshMsixName:n}=r?{pwshMsixDirRegex:J6,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:Q6,pwshMsixName:"PowerShell (Store)"};for(let o of await be.readdir(t))if(e.test(o)){let i=q(t,o,"pwsh.exe");return new fc(i,n)}return null}function X6(){let r=q(dT.homedir(),".dotnet","tools","pwsh.exe");return new fc(r,".NET Core PowerShell Global Tool")}function Z6(){let r=q(dT.homedir(),"scoop","apps"),t=q(r,"pwsh","current","pwsh.exe");return new fc(t,"PowerShell (Scoop)")}function ez(){let r=q(process.env.windir,bg===1&&eu!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new fc(r,"Windows PowerShell",!0)}async function*tz(){let r=await $y();r&&(yield r),r=await $y({useAlternateBitness:!0}),r&&(yield r),r=await EO(),r&&(yield r),r=X6(),r&&(yield r),r=await $y({findPreview:!0}),r&&(yield r),r=await EO({findPreview:!0}),r&&(yield r),r=await $y({useAlternateBitness:!0,findPreview:!0}),r&&(yield r),r=await Z6(),r&&(yield r),r=ez(),r&&(yield r)}async function*uT(){for await(let r of tz())await r.exists()&&(yield r)}async function wO(){for await(let r of uT())return r;return null}var CO,Q6,J6,bg,eu,fc,pT=y(()=>{Me();go();CO=/^\d+$/,Q6=/^Microsoft.PowerShell_.*/,J6=/^Microsoft.PowerShellPreview_.*/;switch(process.arch){case"ia32":bg=1;break;case"arm":case"arm64":bg=2;break;default:bg=0;break}process.env.PROCESSOR_ARCHITEW6432?eu=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?eu=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?eu=1:eu=0;fc=class{constructor(t,e,n){this.exePath=t;this.displayName=e;this.knownToExist=n}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await wo.existsFile(this.exePath)),this.knownToExist}}});function TO(r,...t){let e=t.reduce((i,s)=>(i[s]=!0,i),{}),n=[/^ELECTRON_.+$/,/^VSCODE_(?!(PORTABLE|SHELL_LOGIN|ENV_REPLACE|ENV_APPEND|ENV_PREPEND)).+$/,/^SNAP(|_.*)$/,/^GDK_PIXBUF_.+$/,/^CODE_SERVER_.+$/,/^CS_.+$/];Object.keys(r).filter(i=>!e[i]).forEach(i=>{for(let s=0;s<n.length;s++)if(i.search(n[s])!==-1){delete r[i];break}})}function tu(r){if(!r)return;let t=new Set(["DEBUG","NODE_OPTIONS","VSCODE_NODE_OPTIONS","LD_PRELOAD","DYLD_INSERT_LIBRARIES"]);for(let e of Object.keys(r))t.has(e.toUpperCase())&&delete r[e]}var nu=y(()=>{});import{promises as RO}from"fs";function PO(r=zt){return r.comspec||"cmd.exe"}function kO(r){let t=[],e=!1,n=function(o){if(e){t.push(o);return}(!r.send(o,s=>{if(s&&console.error(s),e=!1,t.length>0){let a=t.slice(0);t=[],a.forEach(l=>n(l))}})||te)&&(e=!0)};return{send:n}}async function nz(r){if(await be.exists(r)){let t;try{t=await RO.stat(r)}catch(e){e.message.startsWith("EACCES")&&(t=await RO.lstat(r))}return t?!t.isDirectory():!1}return!1}async function hc(r,t,e,n=zt,o=nz){if(xo(r))return await o(r)?r:void 0;if(t===void 0&&(t=Pr()),Nt(r)!=="."){let l=q(t,r);return await o(l)?l:void 0}let s=Fs(n,"PATH");if(e===void 0&&j(s)&&(e=s.split(xa)),e===void 0||e.length===0){let l=q(t,r);return await o(l)?l:void 0}for(let l of e){let c;if(xo(l)?c=q(l,r):c=q(t,l,r),te){let p=(Fs(n,"PATHEXT")||".COM;.EXE;.BAT;.CMD").split(";").map(async m=>{let f=c+m;return await o(f)?f:void 0});for(let m of p){let f=await m;if(f)return f}}if(await o(c))return c}let a=q(t,r);return await o(a)?a:void 0}var Sg=y(()=>{jt();Me();me();cr();nu();we();go();Ae()});import{userInfo as rz}from"os";async function zy(r,t){return r===1?te?sz():PO(t):iz(r,t)}function iz(r,t){if($e&&r===2||gt&&r===3)return"/bin/bash";if(!mT){let e;if(te)e="/bin/bash";else{if(e=t.SHELL,!e)try{e=rz().shell}catch{}e||(e="sh"),e==="/bin/false"&&(e="/bin/bash")}mT=e}return mT}async function sz(){return gT||(gT=(await wO()).exePath),gT}var mT,gT,fT=y(()=>{me();pT();Sg();mT=null;gT=null});function Gy(r,t,e=lz){let n=r.find((v,I)=>v.length>0&&v[0]!=="-"&&t.hasOwnProperty(v)&&t[v].type==="subcommand"),o={},i=["_"],s=[],a={},l;for(let v in t){let I=t[v];I.type==="subcommand"?v===n&&(l=I):(I.alias&&(o[v]=I.alias),I.type==="string"||I.type==="string[]"?(i.push(v),I.deprecates&&i.push(...I.deprecates)):I.type==="boolean"&&(s.push(v),I.deprecates&&s.push(...I.deprecates)),I.global&&(a[v]=I))}if(l&&n){let v=a;for(let P in l.options)v[P]=l.options[P];let I=r.filter(P=>P!==n),E=e.getSubcommandReporter?e.getSubcommandReporter(n):void 0,w=Gy(I,v,E);return{[n]:w,_:[]}}let c=new Set(s),u=new Set,p=r.filter(v=>{if(v.startsWith("--no-")){let I=v.slice(2);if(c.has(I))return u.add(I),!1}return!0}),m=(0,_O.default)(p,{string:i,boolean:s,alias:o});for(let v of u)m[v]=!0;let f={},h=m;f._=m._.map(v=>String(v)).filter(v=>v.length>0),delete h._;for(let v in t){let I=t[v];if(I.type==="subcommand")continue;I.alias&&delete h[I.alias];let E=h[v];if(I.deprecates)for(let w of I.deprecates)h.hasOwnProperty(w)&&(E||(E=h[w],E&&e.onDeprecatedOption(w,I.deprecationMessage||d(3441,null,v))),delete h[w]);if(typeof E<"u"){if(I.type==="string[]"){if(Array.isArray(E)||(E=[E]),!I.allowEmptyValue){let w=E.filter(P=>P.length>0);w.length!==E.length&&(e.onEmptyValue(v),E=w.length>0?w:void 0)}}else I.type==="string"&&(Array.isArray(E)?(E=E.pop(),e.onMultipleValues(v,E)):!E&&!I.allowEmptyValue&&(e.onEmptyValue(v),E=void 0));f[v]=E,I.deprecationMessage&&e.onDeprecatedOption(v,I.deprecationMessage)}delete h[v]}for(let v in h)e.onUnknownOption(v);return f}function cz(r,t){let e="";return t.args&&(Array.isArray(t.args)?e=` <${t.args.join("> <")}>`:e=` <${t.args}>`),t.alias?`-${t.alias} --${r}${e}`:`--${r}${e}`}function dz(r,t){let e=[];for(let n in r){let o=r[n],i=cz(n,o);e.push([i,o.description])}return MO(e,t)}function MO(r,t){let n=r.reduce((s,a)=>Math.max(s,a[0].length),12)+2+1;if(t-n<25)return r.reduce((s,a)=>s.concat([` ${a[0]}`,` ${a[1]}`]),[]);let o=t-n-1,i=[];for(let s of r){let a=s[0],l=uz(s[1],o),c=DO(n-a.length-2);i.push(" "+a+c+l[0]);for(let u=1;u<l.length;u++)i.push(DO(n)+l[u])}return i}function DO(r){return" ".repeat(r)}function uz(r,t){let e=[];for(;r.length;){let n=r.length<t?r.length:r.lastIndexOf(" ",t);n===0&&(n=t);let o=r.slice(0,n).trim();r=r.slice(n).trimStart(),e.push(o)}return e}function AO(r,t,e,n,o){let i=process.stdout.isTTY&&process.stdout.columns||80,s=o?.noInputFiles?"":o?.isChat?` [${d(3440,null)}]`:` [${d(3467,null)}...]`,a=o?.isChat?" chat":"",l=[`${r} ${e}`];l.push(""),l.push(`${d(3486,null)}: ${t}${a} [${d(3465,null)}]${s}`),l.push(""),o?.noPipe!==!0&&(l.push(pz(t,o?.isChat)),l.push(""));let c={},u=[];for(let p in n){let m=n[p];if(m.type==="subcommand")m.description&&u.push({command:p,description:m.description});else if(m.description&&m.cat){let f=m.cat,h=c[f];h||(c[f]=h={}),h[p]=m}}for(let p in c){let m=p,f=c[m];f&&(l.push(az[m]),l.push(...dz(f,i)),l.push(""))}return u.length&&(l.push(d(3477,null)),l.push(...MO(u.map(p=>[p.command,p.description]),i)),l.push("")),l.join(`
`)}function pz(r,t){let e;return te?t?e=`echo Hello World | ${r} chat <prompt> -`:e=`echo Hello World | ${r} -`:t?e=`ps aux | grep code | ${r} chat <prompt> -`:e=`ps aux | grep code | ${r} -`,d(3476,null,e)}function LO(r,t){return`${r||d(3484,null)}
${t||d(3483,null)}
${process.arch}`}var _O,az,Vt,lz,xg=y(()=>{_O=x1(PE(),1);me();re();az={o:d(3466,null),e:d(3450,null),t:d(3480,null),m:d(3461,null)},Vt={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:d(3470,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:d(3437,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:d(3432,null)},maximize:{type:"boolean",cat:"o",description:d(3436,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:d(3473,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:d(3464,null)},profile:{type:"string",cat:"o",args:"profileName",description:d(3469,null)},help:{type:"boolean",alias:"h",description:d(3452,null)}}},"serve-web":{type:"subcommand",description:"Run a server that displays the editor UI in browsers.",options:{"cli-data-dir":{type:"string",args:"dir",description:d(3438,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},agent:{type:"subcommand",description:"Start and interact with AI agent hosts.",options:{"cli-data-dir":{type:"string",args:"dir",description:d(3438,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},tunnel:{type:"subcommand",description:"Make the current machine accessible from vscode.dev or other machines through a secure tunnel.",options:{"cli-data-dir":{type:"string",args:"dir",description:d(3438,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"},user:{type:"subcommand",options:{login:{type:"subcommand",options:{provider:{type:"string"},"access-token":{type:"string"}}}}}}},diff:{type:"boolean",cat:"o",alias:"d",args:["file","file"],description:d(3442,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:d(3462,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:d(3431,null)},remove:{type:"boolean",cat:"o",args:"folder",description:d(3471,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:d(3451,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:d(3463,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:d(3472,null)},agents:{type:"boolean",cat:"o",deprecates:["sessions"],description:d(3434,null)},"session-title-base64":{type:"string"},wait:{type:"boolean",cat:"o",alias:"w",description:d(3490,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:d(3458,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:d(3487,null)},profile:{type:"string",cat:"o",args:"profileName",description:d(3469,null)},help:{type:"boolean",cat:"o",alias:"h",description:d(3452,null)},"stdin-to-clipboard":{type:"boolean",cat:"o",alias:"c",description:d(3439,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:d(3449,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"shared-data-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:d(3457,null)},"agent-plugins-dir":{type:"string"},"agents-user-data-dir":{type:"string"},"agents-extensions-dir":{type:"string"},"show-versions":{type:"boolean",cat:"e",description:d(3474,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:d(3435,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:d(3456,null)},"pre-release":{type:"boolean",cat:"e",description:d(3455,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:d(3482,null)},"update-extensions":{type:"boolean",cat:"e",description:d(3485,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:d(3448,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:d(3433,null)},version:{type:"boolean",cat:"t",alias:"v",description:d(3489,null)},verbose:{type:"boolean",cat:"t",global:!0,description:d(3488,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:d(3460,null)},status:{type:"boolean",alias:"s",cat:"t",description:d(3475,null)},"prof-startup":{type:"boolean",cat:"t",description:d(3468,null)},"prof-append-timers":{type:"string"},"prof-duration-markers":{type:"string[]"},"prof-duration-markers-file":{type:"string"},"no-cached-data":{type:"boolean"},"prof-startup-prefix":{type:"string"},"prof-v8-extensions":{type:"boolean"},"disable-extensions":{type:"boolean",deprecates:["disableExtensions"],cat:"t",description:d(3445,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:d(3444,null)},sync:{type:"string",cat:"t",description:d(3481,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:d(3454,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:d(3453,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:d(3447,null)},"disable-gpu":{type:"boolean",cat:"t",description:d(3446,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:d(3443,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:d(3459,null)},telemetry:{type:"boolean",cat:"t",description:d(3478,null)},remote:{type:"string",allowEmptyValue:!0},"folder-uri":{type:"string[]",cat:"o",args:"uri"},"file-uri":{type:"string[]",cat:"o",args:"uri"},"locate-extension":{type:"string[]"},extensionDevelopmentPath:{type:"string[]"},extensionDevelopmentKind:{type:"string[]"},extensionTestsPath:{type:"string"},extensionEnvironment:{type:"string"},debugId:{type:"string"},debugRenderer:{type:"boolean"},"inspect-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-brk-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-agenthost":{type:"string",allowEmptyValue:!0},"inspect-brk-agenthost":{type:"string",allowEmptyValue:!0},"inspect-sharedprocess":{type:"string",allowEmptyValue:!0},"inspect-brk-sharedprocess":{type:"string",allowEmptyValue:!0},"export-default-configuration":{type:"string"},"export-policy-data":{type:"string",allowEmptyValue:!0},"export-default-keybindings":{type:"string",allowEmptyValue:!0},"install-source":{type:"string"},"enable-smoke-test-driver":{type:"boolean"},"skip-sessions-welcome":{type:"boolean"},logExtensionHostCommunication:{type:"boolean"},"skip-release-notes":{type:"boolean"},"skip-welcome":{type:"boolean"},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"},"disable-updates":{type:"boolean"},"share-secrets-with-agents-app":{type:"boolean"},transient:{type:"boolean",cat:"t",description:d(3479,null)},"use-inmemory-secretstorage":{type:"boolean",deprecates:["disable-keytar"]},"password-store":{type:"string"},"disable-workspace-trust":{type:"boolean"},"disable-crash-reporter":{type:"boolean"},"crash-reporter-directory":{type:"string"},"crash-reporter-id":{type:"string"},"skip-add-to-recently-opened":{type:"boolean"},"open-url":{type:"boolean"},"file-write":{type:"boolean"},"file-chmod":{type:"boolean"},"install-builtin-extension":{type:"string[]"},force:{type:"boolean"},"do-not-sync":{type:"boolean"},"do-not-include-pack-dependencies":{type:"boolean"},trace:{type:"boolean"},"trace-memory-infra":{type:"boolean"},"trace-category-filter":{type:"string"},"trace-options":{type:"string"},"preserve-env":{type:"boolean"},"force-user-env":{type:"boolean"},"force-disable-user-env":{type:"boolean"},"open-devtools":{type:"boolean"},"disable-gpu-sandbox":{type:"boolean"},logsPath:{type:"string"},"__enable-file-policy":{type:"boolean"},editSessionId:{type:"string"},continueOn:{type:"string"},"enable-coi":{type:"boolean"},"unresponsive-sample-interval":{type:"string"},"unresponsive-sample-period":{type:"string"},"enable-rdp-display-tracking":{type:"boolean"},"disable-layout-restore":{type:"boolean"},"disable-experiments":{type:"boolean"},"no-proxy-server":{type:"boolean"},"no-sandbox":{type:"boolean",alias:"sandbox"},"proxy-server":{type:"string"},"proxy-bypass-list":{type:"string"},"proxy-pac-url":{type:"string"},"js-flags":{type:"string"},inspect:{type:"string",allowEmptyValue:!0},"inspect-brk":{type:"string",allowEmptyValue:!0},nolazy:{type:"boolean"},"force-device-scale-factor":{type:"string"},"force-renderer-accessibility":{type:"boolean"},"ignore-certificate-errors":{type:"boolean"},"allow-insecure-localhost":{type:"boolean"},"log-net-log":{type:"string"},vmodule:{type:"string"},_urls:{type:"string[]"},"disable-dev-shm-usage":{type:"boolean"},"profile-temp":{type:"boolean"},"ozone-platform":{type:"string"},"enable-tracing":{type:"string"},"trace-startup-format":{type:"string"},"trace-startup-file":{type:"string"},"trace-startup-duration":{type:"string"},"xdg-portal-required-version":{type:"string"},_:{type:"string[]"}},lz={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}}});function hT(r){return r.VSCODE_CLI==="1"}var OO=y(()=>{Me();me();re();xg()});function NO(r,t,e){return Math.min(Math.max(r,t),e)}var UO=y(()=>{Xr()});import{spawn as mz}from"child_process";async function Ja(r,t,e,n){return e["force-disable-user-env"]?(t.trace("resolveShellEnv(): skipped (--force-disable-user-env)"),{}):te?(t.trace("resolveShellEnv(): skipped (Windows)"),{}):hT(n)&&!e["force-user-env"]?(t.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"),{}):(hT(n)?t.trace("resolveShellEnv(): running (--force-user-env)"):t.trace("resolveShellEnv(): running (macOS/Linux)"),vT||(vT=Cn.withAsyncBody(async(o,i)=>{let s=new wt,a=1e4,l=r.getValue("application.shellEnvironmentResolutionTimeout");typeof l=="number"&&(a=NO(l,1,120)*1e3);let c=setTimeout(()=>{s.dispose(!0),i(new Error(d(3809,null)))},a);try{o(await gz(t,s.token))}catch(u){!on(u)&&!s.token.isCancellationRequested?i(new Error(d(3807,null,ni(u)))):o({})}finally{clearTimeout(c),s.dispose()}})),vT)}async function gz(r,t){let e=process.env.ELECTRON_RUN_AS_NODE;r.trace("getUnixShellEnvironment#runAsNode",e);let n=process.env.ELECTRON_NO_ATTACH_CONSOLE;r.trace("getUnixShellEnvironment#noAttach",n);let o=Se().replace(/-/g,"").substr(0,12),i=new RegExp(o+"({.*})"+o),s={...process.env,ELECTRON_RUN_AS_NODE:"1",ELECTRON_NO_ATTACH_CONSOLE:"1",VSCODE_RESOLVING_ENVIRONMENT:"1"};r.trace("getUnixShellEnvironment#env",s);let a=await zy(lr,s);return r.trace("getUnixShellEnvironment#shell",a),new Promise((l,c)=>{if(t.isCancellationRequested)return c(new et);let u=ut(a),p,m,f="";/^(?:pwsh|powershell)(?:-preview)?$/.test(u)?(p=`& '${process.execPath}' ${f} -p '''${o}'' + JSON.stringify(process.env) + ''${o}'''`,m=["-Login","-Command"]):u==="nu"?(p=`^'${process.execPath}' ${f} -p '"${o}" + JSON.stringify(process.env) + "${o}"'`,m=["-i","-l","-c"]):u==="xonsh"?(p=`import os, json; print("${o}", json.dumps(dict(os.environ)), "${o}")`,m=["-i","-l","-c"]):(p=`'${process.execPath}' ${f} -p '"${o}" + JSON.stringify(process.env) + "${o}"'`,u==="tcsh"||u==="csh"?m=["-ic"]:m=["-i","-l","-c"]),r.trace("getUnixShellEnvironment#spawn",JSON.stringify(m),p);let h=mz(a,[...m,p],{detached:!0,stdio:["ignore","pipe","pipe"],env:s});t.onCancellationRequested(()=>(h.kill(),c(new et))),h.on("error",E=>{r.error("getUnixShellEnvironment#errorChildProcess",ni(E)),c(E)});let v=[];h.stdout.on("data",E=>v.push(E));let I=[];h.stderr.on("data",E=>I.push(E)),h.on("close",(E,w)=>{let P=Buffer.concat(v).toString("utf8");r.trace("getUnixShellEnvironment#raw",P);let k=Buffer.concat(I).toString("utf8");if(k.trim()&&r.trace("getUnixShellEnvironment#stderr",k),E||w)return c(new Error(d(3808,null,E,w)));let O=i.exec(P),fe=O?O[1]:"{}";try{let H=JSON.parse(fe);e?H.ELECTRON_RUN_AS_NODE=e:delete H.ELECTRON_RUN_AS_NODE,n?H.ELECTRON_NO_ATTACH_CONSOLE=n:delete H.ELECTRON_NO_ATTACH_CONSOLE,delete H.VSCODE_RESOLVING_ENVIRONMENT,delete H.XDG_RUNTIME_DIR,r.trace("getUnixShellEnvironment#result",H),l(H)}catch(H){r.error("getUnixShellEnvironment#errorCaught",ni(H)),c(H)}})})}var vT,Cg=y(()=>{Me();re();Zt();oc();Ee();me();nn();fT();OO();Ne();UO()});import{parse as FO}from"url";function fz(r,t){return r.protocol==="http:"?t.HTTP_PROXY||t.http_proxy||null:r.protocol==="https:"&&(t.HTTPS_PROXY||t.https_proxy||t.HTTP_PROXY||t.http_proxy)||null}async function HO(r,t,e={}){let n=FO(r),o=e.proxyUrl||fz(n,t);if(!o)return null;let i=FO(o);if(!/^https?:$/.test(i.protocol||""))return null;let s={host:i.hostname||"",port:(i.port?+i.port:0)||(i.protocol==="https"?443:80),auth:i.auth,rejectUnauthorized:Jo(e.strictSSL)?e.strictSSL:!0,keepAlive:!0};if(n.protocol==="http:"){let{default:a}=await import("http-proxy-agent");return new a.HttpProxyAgent(o,s)}else{let{default:a}=await import("https-proxy-agent");return new a.HttpsProxyAgent(o,s)}}var WO=y(()=>{we()});import{parse as VO}from"url";import{createGunzip as hz}from"zlib";function Iz(r){if(r instanceof Error){let t=r.code;return!!t&&vz.has(t)}return!1}async function bz(r,t,e,n){let o=await import("kerberos"),i=o.default||o,s=new URL(r),a=t||(process.platform==="win32"?`HTTP/${s.hostname}`:`HTTP@${s.hostname}`);return e.debug(`${n} Kerberos authentication lookup`,`proxyURL:${s}`,`spn:${a}`),(await i.initializeClient(a)).step("")}async function Sz(r){return(VO(r.url).protocol==="https:"?await import("https"):await import("http")).request}async function BO(r,t){let n,o=yz.test(r.type||"GET");for(let i=1;i<=3;i++)try{return await xz(r,t)}catch(s){if(n=s,s instanceof et||!o||!Iz(s)||i===3)throw s;await Eo(100*i,t)}throw n}async function xz(r,t){return Cn.withAsyncBody(async(e,n)=>{let o=VO(r.url),i=r.getRawRequest?r.getRawRequest(r):await Sz(r),s={hostname:o.hostname,port:o.port?parseInt(o.port):o.protocol==="https:"?443:80,protocol:o.protocol,path:o.path,method:r.type||"GET",headers:r.headers,agent:r.agent,rejectUnauthorized:Jo(r.strictSSL)?r.strictSSL:!0};r.user&&r.password&&(s.auth=r.user+":"+r.password),r.disableCache&&(s.cache="no-store");let a=i(s,c=>{let u=po(r.followRedirects)?r.followRedirects:3;if(c.statusCode&&c.statusCode>=300&&c.statusCode<400&&u>0&&c.headers.location)BO({...r,url:c.headers.location,followRedirects:u-1},t).then(e,n);else{let p=c;!r.isChromiumNetwork&&c.headers["content-encoding"]==="gzip"&&(p=c.pipe(hz())),e({res:c,stream:ML(p)})}});if(a.on("error",n),r.timeout)if(r.isChromiumNetwork){let c=setTimeout(()=>{a.abort(),n(new Error(`Request timeout after ${r.timeout}ms`))},r.timeout);a.on("response",()=>clearTimeout(c)),a.on("error",()=>clearTimeout(c)),a.on("abort",()=>clearTimeout(c))}else a.setTimeout(r.timeout);r.isChromiumNetwork&&a.removeHeader("Content-Length"),r.data&&typeof r.data=="string"&&a.write(r.data),a.end();let l=t.onCancellationRequested(()=>{l.dispose(),a.abort(),n(new et)});a.on("response",()=>l.dispose()),a.on("error",()=>l.dispose())})}var vz,yz,Ya,yT=y(()=>{Ne();Ke();Ee();we();tn();Tn();Cg();De();Ti();WO();vz=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ENETDOWN","ENETUNREACH","EPROTO"]),yz=/^(GET|HEAD|OPTIONS)$/i;Ya=class extends qy{constructor(e,n,o,i){super(i);this.machine=e;this.configurationService=n;this.environmentService=o;this.configure(),this._register(n.onDidChangeConfiguration(s=>{s.affectsConfiguration("http")&&this.configure()}))}configure(){this.proxyUrl=this.getConfigValue("http.proxy"),this.strictSSL=!!this.getConfigValue("http.proxyStrictSSL"),this.authorization=this.getConfigValue("http.proxyAuthorization")}async request(e,n){let{proxyUrl:o,strictSSL:i}=this,s;try{s=await Ja(this.configurationService,this.logService,this.environmentService.args,process.env)}catch(c){this.shellEnvErrorLogged||(this.shellEnvErrorLogged=!0,this.logService.error("resolving shell environment failed",ye(c)))}let a={...process.env,...s},l=e.agent?e.agent:await HO(e.url||"",a,{proxyUrl:o,strictSSL:i});return e.agent=l,e.strictSSL=i,this.authorization&&(e.headers={...e.headers||{},"Proxy-Authorization":this.authorization}),this.logAndRequest(e,()=>BO(e,n))}async resolveProxy(e){}async lookupAuthorization(e){}async lookupKerberosAuthorization(e){try{let n=this.getConfigValue("http.proxyKerberosServicePrincipal");return"Negotiate "+await bz(e,n,this.logService,"RequestService#lookupKerberosAuthorization")}catch(n){this.logService.debug("RequestService#lookupKerberosAuthorization Kerberos authentication failed",n);return}}async loadCertificates(){return(await import("@vscode/proxy-agent")).loadSystemCertificates({loadSystemCertificatesFromNode:()=>this.getConfigValue("http.systemCertificatesNode",cT),log:this.logService})}getConfigValue(e,n){if(this.machine==="remote")return this.configurationService.getValue(e);let o=this.configurationService.inspect(e);return o.userLocalValue??o.defaultValue??n}};Ya=C([b(1,ft),b(2,wn),b(3,z)],Ya)});function IT(r){if(!r)return;let t=r.indexOf("+");return t<0?r:r.substr(0,t)}var bT=y(()=>{Ae()});function Cz(r){if(Yr===2&&/^penguin(\.|$)/i.test(r))return"chromebook"}function qO(r,t,e,n,o,i,s,a,l,c,u){let p=Object.create(null);p["common.machineId"]=i,p["common.sqmId"]=s,p["common.devDeviceId"]=a,p.sessionID=Se()+Date.now(),p.commitHash=n,p.version=o,p["common.releaseDate"]=c,p["common.platformVersion"]=(r||"").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/,"$1$2$3"),p["common.platform"]=Am(Yr),p["common.nodePlatform"]=Av,p["common.nodeArch"]=e,p["common.product"]=u||"desktop",l&&(p["common.msftInternal"]=l);let m=0,f=Date.now();Object.defineProperties(p,{timestamp:{get:()=>new Date,enumerable:!0},"common.timesincesessionstart":{get:()=>Date.now()-f,enumerable:!0},"common.sequence":{get:()=>m++,enumerable:!0}}),q1&&(p["common.snap"]="true");let h=Cz(t);return h&&(p["common.platformDetail"]=h),p}function $O(r){let t=zt.USERDNSDOMAIN;if(!t)return!1;let e=t.toLowerCase();return r.some(n=>e===n)}var xT=y(()=>{me();cr();nn()});var Pt,Cce,CT,ET,zO,GO,ou,Ky,Eg,Rn=y(()=>{Z();Pt=D("telemetryService"),Cce=D("customEndpointTelemetryService"),CT="telemetry.currentSessionDate",ET="telemetry.firstSessionDate",zO="telemetry.lastSessionDate",GO="telemetry",ou="telemetry.telemetryLevel",Ky="telemetry.enableCrashReporter",Eg="telemetry.enableTelemetry"});function Qy(r,t){return!t.isBuilt&&!t.disableTelemetry?!0:!(t.disableTelemetry||!r.enableTelemetry)}function Jy(r,t){return t.extensionTestsLocationURI?!0:!(t.isBuilt||t.disableTelemetry||r.enableTelemetry&&r.aiConfig?.ariaKey)}function Tg(r){let t=r.getValue(ou),e=r.getValue(Ky);if(r.getValue(Eg)===!1||e===!1)return 0;switch(t===void 0?"all":t){case"all":return 3;case"error":return 2;case"crash":return 1;case"off":return 0;default:return 0}}function Yy(r){let t={},e={},n={};YO(r,n);for(let o in n){o=o.length>150?o.substr(o.length-149):o;let i=n[o];typeof i=="number"?e[o]=i:typeof i=="boolean"?e[o]=i?1:0:typeof i=="string"?(i.length>8192&&console.warn(`Telemetry property: ${o} has been trimmed to 8192, the original length is ${i.length}`),t[o]=i.substring(0,8191)):typeof i<"u"&&i!==null&&(t[o]=String(i))}return{properties:t,measurements:e}}function JO(r,t){if(!r)return"none";let e=IT(r),n=t?.remoteExtensionTips;if(n&&Object.prototype.hasOwnProperty.call(n,e))return e;let o=t?.virtualWorkspaceExtensionTips;return o&&Object.prototype.hasOwnProperty.call(o,e)?e:"other"}function YO(r,t,e=0,n){if(!r||typeof r!="object"&&typeof r!="function")return;let o=r;for(let i of Object.getOwnPropertyNames(o)){let s=o[i],a=n?n+i:i;Array.isArray(s)?t[a]=Vd(s):s instanceof Date?t[a]=s.toISOString():_e(s)?e<2?YO(s,t,e+1,a+"."):t[a]=Vd(s):t[a]=s}}function XO(r,t){let e=r.msftInternalDomains||[],n=t.getValue("telemetry.internalTesting");return $O(e)||n}function ZO(r){return[r.appRoot,r.extensionsPath,r.userHome.fsPath,r.tmpDir.fsPath,r.userDataPath]}function Ez(r,t){if(!r||!r.includes("/")&&!r.includes("\\"))return r;let e=r,n=[];for(let l of t)for(;;){let c=l.exec(r);if(!c)break;n.push([c.index,l.lastIndex])}let o=/(?:^|[\\\/])((node_modules|node_modules\.asar)[\\\/].*)$/,i=/^(.*?)((?:\.vscode(?:-[a-z]+)*|resources[\\\/]app)[\\\/]extensions[\\\/].*)$/i,s=/(file:\/\/)?([a-zA-Z]:(\\\\|\\|\/)|(\\\\|\\|\/))?([\w\-\._@]+(\\\\|\\|\/))+[\w\-\._@]*/g,a=0;for(e="";;){let l=s.exec(r);if(!l)break;if(!n.some(([u,p])=>l.index<p&&u<s.lastIndex)){let u=i.exec(l[0]);if(u)e+=r.substring(a,l.index)+"<REDACTED: user-file-path>/"+u[2];else{let p=o.exec(l[0]);p?e+=r.substring(a,l.index)+"<REDACTED: user-file-path>/"+p[1]:e+=r.substring(a,l.index)+"<REDACTED: user-file-path>"}a=s.lastIndex}}return a<r.length&&(e+=r.substr(a)),e}function KO(r,t=r){for(let e of eN)if(e.regex.test(t))return`<REDACTED: ${e.label}>`;return r}function wz(r){if(!r)return r;let t=!1;for(let n of eN)if(n.regex.test(r)){t=!0;break}if(!t)return r;if(!r.includes(`
`))return KO(r);let e=r.split(`
`);for(let n=0;n<e.length;n++){let o=n<e.length-1?e[n]+`
`:e[n];e[n]=KO(e[n],o)}return e.join(`
`)}function Rg(r,t){return r?to(r,e=>{if(e instanceof vr||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let n=e.replaceAll("%20"," ");n=Ez(n,t);for(let o of t)n=n.replace(o,"");return n=wz(n),n}}):{}}var vr,wg,jO,TT,jy,QO,eN,Ur=y(()=>{jt();we();re();bT();xT();Rn();vr=class{constructor(t){this.value=t;this.isTrustedTelemetryValue=!0}},wg=class{constructor(){this.telemetryLevel=0;this.sessionId="someValue.sessionId";this.machineId="someValue.machineId";this.sqmId="someValue.sqmId";this.devDeviceId="someValue.devDeviceId";this.firstSessionDate="someValue.firstSessionDate";this.sendErrorTelemetry=!1}publicLog(){}publicLog2(){}publicLogError(){}publicLogError2(){}setExperimentProperty(){}setCommonProperty(){}},jO=new wg,TT="telemetry",jy={id:TT,name:d(3830,null)},QO={log:()=>null,flush:()=>Promise.resolve(void 0)};eN=[{label:"URL",regex:/[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s]*/},{label:"Google API Key",regex:/AIza[A-Za-z0-9_\\\-]{35}/},{label:"JWT",regex:/eyJ[0eXAiOiJKV1Qi|hbGci|a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+/},{label:"Slack Token",regex:/xox[pbar]\-[A-Za-z0-9]/},{label:"GitHub Token",regex:/(gh[psuro]_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59})/},{label:"Generic Secret",regex:/(key|token|sig|secret|signature|password|passwd|pwd|android:value)[^a-zA-Z0-9]/i},{label:"CLI Credentials",regex:/((login|psexec|(certutil|psexec)\.exe).{1,50}(\s-u(ser(name)?)?\s+.{3,100})?\s-(admin|user|vm|root)?p(ass(word)?)?\s+["']?[^$\-\/\s]|(^|[\s\r\n\\])net(\.exe)?.{1,5}(user\s+|share\s+\/user:| user -? secrets ? set) \s + [^ $\s \/])/},{label:"Microsoft Entra ID",regex:/eyJ(?:0eXAiOiJKV1Qi|hbGci|[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.)/},{label:"Email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/}]});var Uce,Pg=y(()=>{re();Uce={Extensions:{name:{key:"extensionsConfigurationTitle",value:d(138,null)}},IntegratedTerminal:{name:{key:"terminalIntegratedConfigurationTitle",value:d(141,null)}},InteractiveSession:{name:{key:"interactiveSessionConfigurationTitle",value:d(139,null)}},Telemetry:{name:{key:"telemetryConfigurationTitle",value:d(140,null)}},Update:{name:{key:"updateConfigurationTitle",value:d(142,null)}}}});function tN(r){return r===0?Rz:Tz}function nN(r,t){let e=tN(r),n=t?.toLowerCase();return!n||!Pz.test(n)?`${e}.cache`:`${e}.${n}.cache`}function oN(r,t,e){let n=e?r.toLowerCase():r;return n.startsWith(`${tN(t)}.`)&&n.endsWith(".cache")}function RT(r){return kz(r)}function kz(r){return r.contributes&&r.contributes.localizations?r.contributes.localizations.length>0:!1}function rN(r){return r.map(t=>t.split("@")[0])}var Tz,Rz,Xy,Pz,Zy,sn,kg,vc,Vce,jn=y(()=>{Tt();Z();bT();Tz="extensions.user",Rz="extensions.builtin",Xy="undefined_publisher",Pz=/^[a-z0-9]([a-z0-9-]{0,30}[a-z0-9])?$/;Zy=["AI","Azure","Chat","Data Science","Debuggers","Extension Packs","Education","Formatters","Keymaps","Language Packs","Linters","Machine Learning","Notebooks","Programming Languages","SCM Providers","Snippets","Testing","Themes","Visualization","Other"],sn=class{constructor(t){this.value=t,this._lower=t.toLowerCase()}static equals(t,e){if(typeof t>"u"||t===null)return typeof e>"u"||e===null;if(typeof e>"u"||e===null)return!1;if(typeof t=="string"||typeof e=="string"){let n=typeof t=="string"?t:t.value,o=typeof e=="string"?e:e.value;return Co(n,o)}return t._lower===e._lower}static toKey(t){return typeof t=="string"?t.toLowerCase():t._lower}},kg=class{constructor(t){this._set=new Set;if(t)for(let e of t)this.add(e)}get size(){return this._set.size}add(t){this._set.add(sn.toKey(t))}delete(t){return this._set.delete(sn.toKey(t))}has(t){return this._set.has(sn.toKey(t))}},vc=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(t){this._map.delete(sn.toKey(t))}get(t){return this._map.get(sn.toKey(t))}has(t){return this._map.has(sn.toKey(t))}set(t,e){this._map.set(sn.toKey(t),e)}values(){return this._map.values()}forEach(t){this._map.forEach(t)}[Symbol.iterator](){return this._map[Symbol.iterator]()}};Vce=D("IBuiltinExtensionsScannerService")});function DT(r){switch(r){case"win32-x64":return"Windows 64 bit";case"win32-arm64":return"Windows ARM";case"linux-x64":return"Linux 64 bit";case"linux-arm64":return"Linux ARM 64";case"linux-armhf":return"Linux ARM";case"alpine-x64":return"Alpine Linux 64 bit";case"alpine-arm64":return"Alpine ARM 64";case"darwin-x64":return"Mac";case"darwin-arm64":return"Mac Silicon";case"web":return"Web";case"universal":return"universal";case"unknown":return"unknown";case"undefined":return"undefined"}}function lN(r){switch(r){case"win32-x64":return"win32-x64";case"win32-arm64":return"win32-arm64";case"linux-x64":return"linux-x64";case"linux-arm64":return"linux-arm64";case"linux-armhf":return"linux-armhf";case"alpine-x64":return"alpine-x64";case"alpine-arm64":return"alpine-arm64";case"darwin-x64":return"darwin-x64";case"darwin-arm64":return"darwin-arm64";case"web":return"web";case"universal":return"universal";default:return"unknown"}}function eI(r,t){switch(r){case 3:return t==="x64"?"win32-x64":t==="arm64"?"win32-arm64":"unknown";case 2:return t==="x64"?"linux-x64":t==="arm64"?"linux-arm64":t==="arm"?"linux-armhf":"unknown";case"alpine":return t==="x64"?"alpine-x64":t==="arm64"?"alpine-arm64":"unknown";case 1:return t==="x64"?"darwin-x64":t==="arm64"?"darwin-arm64":"unknown";case 0:return"web"}}function su(r,t){return t==="web"&&!r.includes("web")}function _g(r,t,e){return su(t,e)?!1:r==="undefined"||r==="universal"?!0:r==="unknown"?!1:r===e}function cN(r){let t=r;return!!t&&typeof t=="object"&&typeof t.id=="string"&&(!t.uuid||typeof t.uuid=="string")}async function tI(r,t){let e;try{e=await t.resolve(r)}catch(n){if(n.fileOperationResult===1)return 0;throw n}return e.children?(await Promise.all(e.children.map(o=>tI(o.resource,t)))).reduce((o,i)=>o+i,0):e.size??0}function uN(r,t){return r?t?.capabilities.signing?.allPrivateRepositorySigned===!0:t?.capabilities.signing?.allPublicRepositorySigned===!0}var iu,Dg,Dz,iN,kT,sN,aN,ho,Fr,Ut,au,rde,ide,Hr,sde,ade,Mg,dN,ko=y(()=>{me();Pg();re();Or();jn();nt();Z();Vo();iu="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",Dg=new RegExp(iu),Dz="^([a-z0-9A-Z][a-z0-9-A-Z]*)$",iN="__web_extension",kT="extensionInstallSource",sN="dependecyOrPackExtensionInstall",aN="clientTargetPlatform";ho=D("extensionGalleryService"),Fr=class extends Error{constructor(e,n){super(e);this.code=n;this.name=n}},Ut=class extends Error{constructor(e,n){super(e);this.code=n;this.name=n}},au=D("extensionManagementService"),rde=D("IGlobalExtensionEnablementService"),ide=D("IExtensionTipsService"),Hr=D("IAllowedExtensionsService");sde=km(3517,"Extensions"),ade=km(3534,"Preferences"),Mg="extensions.allowed",dN="extensions.requestTimeout";ht.as(Kn.Configuration).registerConfiguration({id:"extensions",order:30,title:d(3533,null),type:"object",properties:{[Mg]:{type:"object",markdownDescription:d(3523,null),default:"*",defaultSnippets:[{body:{},description:d(3528,null)},{body:{"*":!0},description:d(3524,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:d(3529,null)}}},additionalProperties:!1,patternProperties:{[iu]:{anyOf:[{type:["boolean","string"],enum:[!0,!1,"stable"],description:d(3521,null),enumDescriptions:[d(3527,null),d(3525,null),d(3526,null)]},{type:"array",items:{type:"string"},description:d(3522,null)}]},[Dz]:{type:["boolean","string"],enum:[!0,!1,"stable"],description:d(3516,null),enumDescriptions:[d(3532,null),d(3530,null),d(3531,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:d(3518,null),enumDescriptions:[d(3520,null),d(3519,null)]}}}}})});var nI,dt,cde,dde,pN,ude,pde,mde,gde,fde,hde,vde,ns,mN,oI,yde,gN,Ide,bde,Sde,rI,xde,Cde,Ede,wde,Tde,Rde,Pde,fN,kde,Dde,_de,Mde,Ade,Lde,Ode,Nde,Ude,Fde,Xa=y(()=>{nI={},dt={exports:nI};(function(r,t){if(typeof nI=="object"&&typeof dt=="object")dt.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var e=t();for(var n in e)(typeof nI=="object"?nI:r)[n]=e[n]}})(typeof self<"u"?self:void 0,(function(){return(function(r){var t={};function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return r[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=r,e.c=t,e.d=function(n,o,i){e.o(n,o)||Object.defineProperty(n,o,{enumerable:!0,get:i})},e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},e.t=function(n,o){if(1&o&&(n=e(n)),8&o||4&o&&typeof n=="object"&&n&&n.__esModule)return n;var i=Object.create(null);if(e.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&o&&typeof n!="string")for(var s in n)e.d(i,s,function(a){return n[a]}.bind(null,s));return i},e.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(o,"a",o),o},e.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)},e.p="",e(e.s=0)})([function(r,t,e){(function(n){var o;t=r.exports=Et,o=typeof n=="object"&&n.env&&n.env.NODE_DEBUG&&/\bsemver\b/i.test(n.env.NODE_DEBUG)?function(){var R=Array.prototype.slice.call(arguments,0);R.unshift("SEMVER"),console.log.apply(console,R)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var i=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,a=t.re=[],l=t.src=[],c=0,u=c++;l[u]="0|[1-9]\\d*";var p=c++;l[p]="[0-9]+";var m=c++;l[m]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var f=c++;l[f]="("+l[u]+")\\.("+l[u]+")\\.("+l[u]+")";var h=c++;l[h]="("+l[p]+")\\.("+l[p]+")\\.("+l[p]+")";var v=c++;l[v]="(?:"+l[u]+"|"+l[m]+")";var I=c++;l[I]="(?:"+l[p]+"|"+l[m]+")";var E=c++;l[E]="(?:-("+l[v]+"(?:\\."+l[v]+")*))";var w=c++;l[w]="(?:-?("+l[I]+"(?:\\."+l[I]+")*))";var P=c++;l[P]="[0-9A-Za-z-]+";var k=c++;l[k]="(?:\\+("+l[P]+"(?:\\."+l[P]+")*))";var O=c++,fe="v?"+l[f]+l[E]+"?"+l[k]+"?";l[O]="^"+fe+"$";var H="[v=\\s]*"+l[h]+l[w]+"?"+l[k]+"?",le=c++;l[le]="^"+H+"$";var Q=c++;l[Q]="((?:<|>)?=?)";var F=c++;l[F]=l[p]+"|x|X|\\*";var Y=c++;l[Y]=l[u]+"|x|X|\\*";var xe=c++;l[xe]="[v=\\s]*("+l[Y]+")(?:\\.("+l[Y]+")(?:\\.("+l[Y]+")(?:"+l[E]+")?"+l[k]+"?)?)?";var vn=c++;l[vn]="[v=\\s]*("+l[F]+")(?:\\.("+l[F]+")(?:\\.("+l[F]+")(?:"+l[w]+")?"+l[k]+"?)?)?";var Bt=c++;l[Bt]="^"+l[Q]+"\\s*"+l[xe]+"$";var ee=c++;l[ee]="^"+l[Q]+"\\s*"+l[vn]+"$";var J=c++;l[J]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var ae=c++;l[ae]="(?:~>?)";var N=c++;l[N]="(\\s*)"+l[ae]+"\\s+",a[N]=new RegExp(l[N],"g");var G=c++;l[G]="^"+l[ae]+l[xe]+"$";var ne=c++;l[ne]="^"+l[ae]+l[vn]+"$";var he=c++;l[he]="(?:\\^)";var Xe=c++;l[Xe]="(\\s*)"+l[he]+"\\s+",a[Xe]=new RegExp(l[Xe],"g");var Qe=c++;l[Qe]="^"+l[he]+l[xe]+"$";var St=c++;l[St]="^"+l[he]+l[vn]+"$";var rt=c++;l[rt]="^"+l[Q]+"\\s*("+H+")$|^$";var Mt=c++;l[Mt]="^"+l[Q]+"\\s*("+fe+")$|^$";var Fn=c++;l[Fn]="(\\s*)"+l[Q]+"\\s*("+H+"|"+l[xe]+")",a[Fn]=new RegExp(l[Fn],"g");var No=c++;l[No]="^\\s*("+l[xe]+")\\s+-\\s+("+l[xe]+")\\s*$";var qi=c++;l[qi]="^\\s*("+l[vn]+")\\s+-\\s+("+l[vn]+")\\s*$";var ir=c++;l[ir]="(<|>)?=?\\s*\\*";for(var Es=0;Es<35;Es++)o(Es,l[Es]),a[Es]||(a[Es]=new RegExp(l[Es]));function ws(R,U){if(R instanceof Et)return R;if(typeof R!="string"||R.length>i||!(U?a[le]:a[O]).test(R))return null;try{return new Et(R,U)}catch{return null}}function Et(R,U){if(R instanceof Et){if(R.loose===U)return R;R=R.version}else if(typeof R!="string")throw new TypeError("Invalid Version: "+R);if(R.length>i)throw new TypeError("version is longer than "+i+" characters");if(!(this instanceof Et))return new Et(R,U);o("SemVer",R,U),this.loose=U;var W=R.trim().match(U?a[le]:a[O]);if(!W)throw new TypeError("Invalid Version: "+R);if(this.raw=R,this.major=+W[1],this.minor=+W[2],this.patch=+W[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");W[4]?this.prerelease=W[4].split(".").map((function(Ce){if(/^[0-9]+$/.test(Ce)){var Fe=+Ce;if(Fe>=0&&Fe<s)return Fe}return Ce})):this.prerelease=[],this.build=W[5]?W[5].split("."):[],this.format()}t.parse=ws,t.valid=function(R,U){var W=ws(R,U);return W?W.version:null},t.clean=function(R,U){var W=ws(R.trim().replace(/^[=v]+/,""),U);return W?W.version:null},t.SemVer=Et,Et.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},Et.prototype.toString=function(){return this.version},Et.prototype.compare=function(R){return o("SemVer.compare",this.version,this.loose,R),R instanceof Et||(R=new Et(R,this.loose)),this.compareMain(R)||this.comparePre(R)},Et.prototype.compareMain=function(R){return R instanceof Et||(R=new Et(R,this.loose)),Sa(this.major,R.major)||Sa(this.minor,R.minor)||Sa(this.patch,R.patch)},Et.prototype.comparePre=function(R){if(R instanceof Et||(R=new Et(R,this.loose)),this.prerelease.length&&!R.prerelease.length)return-1;if(!this.prerelease.length&&R.prerelease.length)return 1;if(!this.prerelease.length&&!R.prerelease.length)return 0;var U=0;do{var W=this.prerelease[U],Ce=R.prerelease[U];if(o("prerelease compare",U,W,Ce),W===void 0&&Ce===void 0)return 0;if(Ce===void 0)return 1;if(W===void 0)return-1;if(W!==Ce)return Sa(W,Ce)}while(++U)},Et.prototype.inc=function(R,U){switch(R){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",U);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",U);break;case"prepatch":this.prerelease.length=0,this.inc("patch",U),this.inc("pre",U);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",U),this.inc("pre",U);break;case"major":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{for(var W=this.prerelease.length;--W>=0;)typeof this.prerelease[W]=="number"&&(this.prerelease[W]++,W=-2);W===-1&&this.prerelease.push(0)}U&&(this.prerelease[0]===U?isNaN(this.prerelease[1])&&(this.prerelease=[U,0]):this.prerelease=[U,0]);break;default:throw new Error("invalid increment argument: "+R)}return this.format(),this.raw=this.version,this},t.inc=function(R,U,W,Ce){typeof W=="string"&&(Ce=W,W=void 0);try{return new Et(R,W).inc(U,Ce).version}catch{return null}},t.diff=function(R,U){if(xv(R,U))return null;var W=ws(R),Ce=ws(U);if(W.prerelease.length||Ce.prerelease.length){for(var Fe in W)if((Fe==="major"||Fe==="minor"||Fe==="patch")&&W[Fe]!==Ce[Fe])return"pre"+Fe;return"prerelease"}for(var Fe in W)if((Fe==="major"||Fe==="minor"||Fe==="patch")&&W[Fe]!==Ce[Fe])return Fe},t.compareIdentifiers=Sa;var Sv=/^[0-9]+$/;function Sa(R,U){var W=Sv.test(R),Ce=Sv.test(U);return W&&Ce&&(R=+R,U=+U),W&&!Ce?-1:Ce&&!W?1:R<U?-1:R>U?1:0}function hi(R,U,W){return new Et(R,W).compare(new Et(U,W))}function Te(R,U,W){return hi(R,U,W)>0}function Cm(R,U,W){return hi(R,U,W)<0}function xv(R,U,W){return hi(R,U,W)===0}function EE(R,U,W){return hi(R,U,W)!==0}function Cv(R,U,W){return hi(R,U,W)>=0}function Ev(R,U,W){return hi(R,U,W)<=0}function Em(R,U,W,Ce){var Fe;switch(U){case"===":typeof R=="object"&&(R=R.version),typeof W=="object"&&(W=W.version),Fe=R===W;break;case"!==":typeof R=="object"&&(R=R.version),typeof W=="object"&&(W=W.version),Fe=R!==W;break;case"":case"=":case"==":Fe=xv(R,W,Ce);break;case"!=":Fe=EE(R,W,Ce);break;case">":Fe=Te(R,W,Ce);break;case">=":Fe=Cv(R,W,Ce);break;case"<":Fe=Cm(R,W,Ce);break;case"<=":Fe=Ev(R,W,Ce);break;default:throw new TypeError("Invalid operator: "+U)}return Fe}function Tr(R,U){if(R instanceof Tr){if(R.loose===U)return R;R=R.value}if(!(this instanceof Tr))return new Tr(R,U);o("comparator",R,U),this.loose=U,this.parse(R),this.semver===fd?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}t.rcompareIdentifiers=function(R,U){return Sa(U,R)},t.major=function(R,U){return new Et(R,U).major},t.minor=function(R,U){return new Et(R,U).minor},t.patch=function(R,U){return new Et(R,U).patch},t.compare=hi,t.compareLoose=function(R,U){return hi(R,U,!0)},t.rcompare=function(R,U,W){return hi(U,R,W)},t.sort=function(R,U){return R.sort((function(W,Ce){return t.compare(W,Ce,U)}))},t.rsort=function(R,U){return R.sort((function(W,Ce){return t.rcompare(W,Ce,U)}))},t.gt=Te,t.lt=Cm,t.eq=xv,t.neq=EE,t.gte=Cv,t.lte=Ev,t.cmp=Em,t.Comparator=Tr;var fd={};function In(R,U){if(R instanceof In)return R.loose===U?R:new In(R.raw,U);if(R instanceof Tr)return new In(R.value,U);if(!(this instanceof In))return new In(R,U);if(this.loose=U,this.raw=R,this.set=R.split(/\s*\|\|\s*/).map((function(W){return this.parseRange(W.trim())}),this).filter((function(W){return W.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+R);this.format()}function Uo(R){return!R||R.toLowerCase()==="x"||R==="*"}function y1(R,U,W,Ce,Fe,Jn,kt,Ko,kn,So,vi,Dn,lo){return((U=Uo(W)?"":Uo(Ce)?">="+W+".0.0":Uo(Fe)?">="+W+"."+Ce+".0":">="+U)+" "+(Ko=Uo(kn)?"":Uo(So)?"<"+(+kn+1)+".0.0":Uo(vi)?"<"+kn+"."+(+So+1)+".0":Dn?"<="+kn+"."+So+"."+vi+"-"+Dn:"<="+Ko)).trim()}function I1(R,U){for(var W=0;W<R.length;W++)if(!R[W].test(U))return!1;if(U.prerelease.length){for(W=0;W<R.length;W++)if(o(R[W].semver),R[W].semver!==fd&&R[W].semver.prerelease.length>0){var Ce=R[W].semver;if(Ce.major===U.major&&Ce.minor===U.minor&&Ce.patch===U.patch)return!0}return!1}return!0}function wm(R,U,W){try{U=new In(U,W)}catch{return!1}return U.test(R)}function wv(R,U,W,Ce){var Fe,Jn,kt,Ko,kn;switch(R=new Et(R,Ce),U=new In(U,Ce),W){case">":Fe=Te,Jn=Ev,kt=Cm,Ko=">",kn=">=";break;case"<":Fe=Cm,Jn=Cv,kt=Te,Ko="<",kn="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(wm(R,U,Ce))return!1;for(var So=0;So<U.set.length;++So){var vi=U.set[So],Dn=null,lo=null;if(vi.forEach((function(jo){jo.semver===fd&&(jo=new Tr(">=0.0.0")),Dn=Dn||jo,lo=lo||jo,Fe(jo.semver,Dn.semver,Ce)?Dn=jo:kt(jo.semver,lo.semver,Ce)&&(lo=jo)})),Dn.operator===Ko||Dn.operator===kn||(!lo.operator||lo.operator===Ko)&&Jn(R,lo.semver)||lo.operator===kn&&kt(R,lo.semver))return!1}return!0}Tr.prototype.parse=function(R){var U=this.loose?a[rt]:a[Mt],W=R.match(U);if(!W)throw new TypeError("Invalid comparator: "+R);this.operator=W[1],this.operator==="="&&(this.operator=""),W[2]?this.semver=new Et(W[2],this.loose):this.semver=fd},Tr.prototype.toString=function(){return this.value},Tr.prototype.test=function(R){return o("Comparator.test",R,this.loose),this.semver===fd||(typeof R=="string"&&(R=new Et(R,this.loose)),Em(R,this.operator,this.semver,this.loose))},Tr.prototype.intersects=function(R,U){if(!(R instanceof Tr))throw new TypeError("a Comparator is required");var W;if(this.operator==="")return W=new In(R.value,U),wm(this.value,W,U);if(R.operator==="")return W=new In(this.value,U),wm(R.semver,W,U);var Ce=!(this.operator!==">="&&this.operator!==">"||R.operator!==">="&&R.operator!==">"),Fe=!(this.operator!=="<="&&this.operator!=="<"||R.operator!=="<="&&R.operator!=="<"),Jn=this.semver.version===R.semver.version,kt=!(this.operator!==">="&&this.operator!=="<="||R.operator!==">="&&R.operator!=="<="),Ko=Em(this.semver,"<",R.semver,U)&&(this.operator===">="||this.operator===">")&&(R.operator==="<="||R.operator==="<"),kn=Em(this.semver,">",R.semver,U)&&(this.operator==="<="||this.operator==="<")&&(R.operator===">="||R.operator===">");return Ce||Fe||Jn&&kt||Ko||kn},t.Range=In,In.prototype.format=function(){return this.range=this.set.map((function(R){return R.join(" ").trim()})).join("||").trim(),this.range},In.prototype.toString=function(){return this.range},In.prototype.parseRange=function(R){var U=this.loose;R=R.trim(),o("range",R,U);var W=U?a[qi]:a[No];R=R.replace(W,y1),o("hyphen replace",R),R=R.replace(a[Fn],"$1$2$3"),o("comparator trim",R,a[Fn]),R=(R=(R=R.replace(a[N],"$1~")).replace(a[Xe],"$1^")).split(/\s+/).join(" ");var Ce=U?a[rt]:a[Mt],Fe=R.split(" ").map((function(Jn){return(function(kt,Ko){return o("comp",kt),kt=(function(kn,So){return kn.trim().split(/\s+/).map((function(vi){return(function(Dn,lo){o("caret",Dn,lo);var jo=lo?a[St]:a[Qe];return Dn.replace(jo,(function(jr,Ve,it,$t,dn){var co;return o("caret",Dn,jr,Ve,it,$t,dn),Uo(Ve)?co="":Uo(it)?co=">="+Ve+".0.0 <"+(+Ve+1)+".0.0":Uo($t)?co=Ve==="0"?">="+Ve+"."+it+".0 <"+Ve+"."+(+it+1)+".0":">="+Ve+"."+it+".0 <"+(+Ve+1)+".0.0":dn?(o("replaceCaret pr",dn),dn.charAt(0)!=="-"&&(dn="-"+dn),co=Ve==="0"?it==="0"?">="+Ve+"."+it+"."+$t+dn+" <"+Ve+"."+it+"."+(+$t+1):">="+Ve+"."+it+"."+$t+dn+" <"+Ve+"."+(+it+1)+".0":">="+Ve+"."+it+"."+$t+dn+" <"+(+Ve+1)+".0.0"):(o("no pr"),co=Ve==="0"?it==="0"?">="+Ve+"."+it+"."+$t+" <"+Ve+"."+it+"."+(+$t+1):">="+Ve+"."+it+"."+$t+" <"+Ve+"."+(+it+1)+".0":">="+Ve+"."+it+"."+$t+" <"+(+Ve+1)+".0.0"),o("caret return",co),co}))})(vi,So)})).join(" ")})(kt,Ko),o("caret",kt),kt=(function(kn,So){return kn.trim().split(/\s+/).map((function(vi){return(function(Dn,lo){var jo=lo?a[ne]:a[G];return Dn.replace(jo,(function(jr,Ve,it,$t,dn){var co;return o("tilde",Dn,jr,Ve,it,$t,dn),Uo(Ve)?co="":Uo(it)?co=">="+Ve+".0.0 <"+(+Ve+1)+".0.0":Uo($t)?co=">="+Ve+"."+it+".0 <"+Ve+"."+(+it+1)+".0":dn?(o("replaceTilde pr",dn),dn.charAt(0)!=="-"&&(dn="-"+dn),co=">="+Ve+"."+it+"."+$t+dn+" <"+Ve+"."+(+it+1)+".0"):co=">="+Ve+"."+it+"."+$t+" <"+Ve+"."+(+it+1)+".0",o("tilde return",co),co}))})(vi,So)})).join(" ")})(kt,Ko),o("tildes",kt),kt=(function(kn,So){return o("replaceXRanges",kn,So),kn.split(/\s+/).map((function(vi){return(function(Dn,lo){Dn=Dn.trim();var jo=lo?a[ee]:a[Bt];return Dn.replace(jo,(function(jr,Ve,it,$t,dn,co){o("xRange",Dn,jr,Ve,it,$t,dn,co);var wE=Uo(it),hd=wE||Uo($t),vd=hd||Uo(dn);return Ve==="="&&vd&&(Ve=""),wE?jr=Ve===">"||Ve==="<"?"<0.0.0":"*":Ve&&vd?(hd&&($t=0),vd&&(dn=0),Ve===">"?(Ve=">=",hd?(it=+it+1,$t=0,dn=0):vd&&($t=+$t+1,dn=0)):Ve==="<="&&(Ve="<",hd?it=+it+1:$t=+$t+1),jr=Ve+it+"."+$t+"."+dn):hd?jr=">="+it+".0.0 <"+(+it+1)+".0.0":vd&&(jr=">="+it+"."+$t+".0 <"+it+"."+(+$t+1)+".0"),o("xRange return",jr),jr}))})(vi,So)})).join(" ")})(kt,Ko),o("xrange",kt),kt=(function(kn,So){return o("replaceStars",kn,So),kn.trim().replace(a[ir],"")})(kt,Ko),o("stars",kt),kt})(Jn,U)})).join(" ").split(/\s+/);return this.loose&&(Fe=Fe.filter((function(Jn){return!!Jn.match(Ce)}))),Fe=Fe.map((function(Jn){return new Tr(Jn,U)}))},In.prototype.intersects=function(R,U){if(!(R instanceof In))throw new TypeError("a Range is required");return this.set.some((function(W){return W.every((function(Ce){return R.set.some((function(Fe){return Fe.every((function(Jn){return Ce.intersects(Jn,U)}))}))}))}))},t.toComparators=function(R,U){return new In(R,U).set.map((function(W){return W.map((function(Ce){return Ce.value})).join(" ").trim().split(" ")}))},In.prototype.test=function(R){if(!R)return!1;typeof R=="string"&&(R=new Et(R,this.loose));for(var U=0;U<this.set.length;U++)if(I1(this.set[U],R))return!0;return!1},t.satisfies=wm,t.maxSatisfying=function(R,U,W){var Ce=null,Fe=null;try{var Jn=new In(U,W)}catch{return null}return R.forEach((function(kt){Jn.test(kt)&&(Ce&&Fe.compare(kt)!==-1||(Fe=new Et(Ce=kt,W)))})),Ce},t.minSatisfying=function(R,U,W){var Ce=null,Fe=null;try{var Jn=new In(U,W)}catch{return null}return R.forEach((function(kt){Jn.test(kt)&&(Ce&&Fe.compare(kt)!==1||(Fe=new Et(Ce=kt,W)))})),Ce},t.validRange=function(R,U){try{return new In(R,U).range||"*"}catch{return null}},t.ltr=function(R,U,W){return wv(R,U,"<",W)},t.gtr=function(R,U,W){return wv(R,U,">",W)},t.outside=wv,t.prerelease=function(R,U){var W=ws(R,U);return W&&W.prerelease.length?W.prerelease:null},t.intersects=function(R,U,W){return R=new In(R,W),U=new In(U,W),R.intersects(U)},t.coerce=function(R){if(R instanceof Et)return R;if(typeof R!="string")return null;var U=R.match(a[J]);return U==null?null:ws((U[1]||"0")+"."+(U[2]||"0")+"."+(U[3]||"0"))}}).call(this,e(1))},function(r,t){var e,n,o=r.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(I){if(e===setTimeout)return setTimeout(I,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(I,0);try{return e(I,0)}catch{try{return e.call(null,I,0)}catch{return e.call(this,I,0)}}}(function(){try{e=typeof setTimeout=="function"?setTimeout:i}catch{e=i}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var l,c=[],u=!1,p=-1;function m(){u&&l&&(u=!1,l.length?c=l.concat(c):p=-1,c.length&&f())}function f(){if(!u){var I=a(m);u=!0;for(var E=c.length;E;){for(l=c,c=[];++p<E;)l&&l[p].run();p=-1,E=c.length}l=null,u=!1,(function(w){if(n===clearTimeout)return clearTimeout(w);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(w);try{n(w)}catch{try{return n.call(null,w)}catch{return n.call(this,w)}}})(I)}}function h(I,E){this.fun=I,this.array=E}function v(){}o.nextTick=function(I){var E=new Array(arguments.length-1);if(arguments.length>1)for(var w=1;w<arguments.length;w++)E[w-1]=arguments[w];c.push(new h(I,E)),c.length!==1||u||a(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=v,o.addListener=v,o.once=v,o.off=v,o.removeListener=v,o.removeAllListeners=v,o.emit=v,o.prependListener=v,o.prependOnceListener=v,o.listeners=function(I){return[]},o.binding=function(I){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(I){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}}])}));cde=dt.exports.SEMVER_SPEC_VERSION,dde=dt.exports.parse,pN=dt.exports.valid,ude=dt.exports.coerce,pde=dt.exports.clean,mde=dt.exports.inc,gde=dt.exports.major,fde=dt.exports.minor,hde=dt.exports.patch,vde=dt.exports.prerelease,ns=dt.exports.gt,mN=dt.exports.gte,oI=dt.exports.lt,yde=dt.exports.lte,gN=dt.exports.eq,Ide=dt.exports.neq,bde=dt.exports.cmp,Sde=dt.exports.compare,rI=dt.exports.rcompare,xde=dt.exports.compareIdentifiers,Cde=dt.exports.rcompareIdentifiers,Ede=dt.exports.compareBuild,wde=dt.exports.sort,Tde=dt.exports.rsort,Rde=dt.exports.diff,Pde=dt.exports.validRange,fN=dt.exports.satisfies,kde=dt.exports.maxSatisfying,Dde=dt.exports.minSatisfying,_de=dt.exports.minVersion,Mde=dt.exports.gtr,Ade=dt.exports.ltr,Lde=dt.exports.outside,Ode=dt.exports.intersects,Nde=dt.exports.SemVer,Ude=dt.exports.Comparator,Fde=dt.exports.Range});function AT(r){return r instanceof MT?!0:r instanceof Error&&r.name===_T&&r.message===_T}var _T,MT,hN=y(()=>{_T="Offline";MT=class extends Error{constructor(){super(_T),this.name=this.message}}});function ke(r,t){return r.uuid&&t.uuid?r.uuid===t.uuid:r.id===t.id?!0:Dd(r.id,t.id)===0}function Lg(r){let t=Mz.exec(r);return t&&t[1]?[Ag(t[1]),t[2]]:[Ag(r),void 0]}function cu(r,t){return`${r}.${t}`}function Ag(r){return r.toLowerCase()}function Do(r,t){return Ag(cu(r??Xy,t))}function iI(r,t){let e=[],n=o=>{for(let i of e)if(i.some(s=>ke(t(s),t(o))))return i;return null};for(let o of r){let i=n(o);i?i.push(o):e.push([o])}return e}function vN(r){return{id:r.identifier.id,name:r.manifest.name,galleryId:null,publisherId:r.publisherId,publisherName:r.manifest.publisher,publisherDisplayName:r.publisherDisplayName,dependencies:r.manifest.extensionDependencies&&r.manifest.extensionDependencies.length>0}}function Og(r){return{id:new vr(r.identifier.id),name:new vr(r.name),extensionVersion:r.version,galleryId:r.identifier.uuid,publisherId:r.publisherId,publisherName:r.publisher,publisherDisplayName:r.publisherDisplayName,isPreReleaseVersion:r.properties.isPreReleaseVersion,dependencies:!!(r.properties.dependencies&&r.properties.dependencies.length>0),isSigned:r.isSigned,...r.telemetryData}}async function Az(r,t){if(!$e)return!1;let e;try{e=(await r.readFile(S.file("/etc/os-release"))).value.toString()}catch{try{e=(await r.readFile(S.file("/usr/lib/os-release"))).value.toString()}catch(o){t.debug("Error while getting the os-release file.",ye(o))}}return!!e&&(e.match(/^ID=([^\u001b\r\n]*)/m)||[])[1]==="alpine"}async function sI(r,t){let e=await Az(r,t),n=eI(e?"alpine":Yr,Lv);return t.debug("ComputeTargetPlatform:",n),n}function yN(r,t){return Lz(r,t)!==void 0}function Lz(r,t){return t.find(({extensionOrPublisher:e})=>j(e)?Dd(r.id.split(".")[0],e)===0:ke(r,e))}var _z,ro,Mz,eue,ri=y(()=>{Tt();ko();jn();me();oe();Ee();cr();Ur();we();_z=/^([^.]+\..+)-(\d+\.\d+\.\d+)(-(.+))?$/,ro=class r{constructor(t,e,n="undefined"){this.identifier=t;this.version=e;this.targetPlatform=n;this.id=t.id}static create(t){let e=t.manifest?t.manifest.version:t.version,n=t.manifest?t.targetPlatform:t.properties.targetPlatform;return new r(t.identifier,e,n)}static parse(t){let e=_z.exec(t);return e&&e[1]&&e[2]?new r({id:e[1]},e[2],e[4]||void 0):null}toString(){return`${this.id}-${this.version}${this.targetPlatform!=="undefined"?`-${this.targetPlatform}`:""}`}equals(t){return t instanceof r?ke(this,t)&&this.version===t.version&&this.targetPlatform===t.targetPlatform:!1}},Mz=/^([^.]+\..+)@((prerelease)|(\d+\.\d+\.\d+(-.*)?))$/;eue=new sn("pprice.better-merge")});var aI,qe,os=y(()=>{Tt();aI=(o=>(o[o.Ignore=0]="Ignore",o[o.Info=1]="Info",o[o.Warning=2]="Warning",o[o.Error=3]="Error",o))(aI||{});(a=>{let r="error",t="warning",e="warn",n="info",o="ignore";function i(l){return l?Co(r,l)?3:Co(t,l)||Co(e,l)?2:Co(n,l)?1:0:0}a.fromValue=i;function s(l){switch(l){case 3:return r;case 2:return t;case 1:return n;default:return o}}a.toString=s})(aI||={});qe=aI});function Nz(r){return r=r.trim(),r==="*"||IN.test(r)}function OT(r){if(!Nz(r))return null;if(r=r.trim(),r==="*")return{hasCaret:!1,hasGreaterEquals:!1,majorBase:0,majorMustEqual:!1,minorBase:0,minorMustEqual:!1,patchBase:0,patchMustEqual:!1,preRelease:null};let t=r.match(IN);return t?{hasCaret:t[1]==="^",hasGreaterEquals:t[1]===">=",majorBase:t[2]==="x"?0:parseInt(t[2],10),majorMustEqual:t[2]!=="x",minorBase:t[4]==="x"?0:parseInt(t[4],10),minorMustEqual:t[4]!=="x",patchBase:t[6]==="x"?0:parseInt(t[6],10),patchMustEqual:t[6]!=="x",preRelease:t[8]||null}:null}function NT(r){if(!r)return null;let t=r.majorBase,e=r.majorMustEqual,n=r.minorBase,o=r.minorMustEqual,i=r.patchBase,s=r.patchMustEqual;r.hasCaret&&(t===0||(o=!1),s=!1);let a=0;if(r.preRelease){let l=Oz.exec(r.preRelease);if(l){let[,c,u,p,m,f]=l;a=Date.UTC(Number(c),Number(u)-1,Number(p),Number(m)||0,Number(f)||0)}}return{majorBase:t,majorMustEqual:e,minorBase:n,minorMustEqual:o,patchBase:i,patchMustEqual:s,isMinimum:r.hasGreaterEquals,notBefore:a}}function Uz(r,t,e){let n;typeof r=="string"?n=NT(OT(r)):n=r;let o;t instanceof Date?o=t.getTime():typeof t=="string"&&(o=new Date(t).getTime());let i;if(typeof e=="string"?i=NT(OT(e)):i=e,!n||!i)return!1;let s=n.majorBase,a=n.minorBase,l=n.patchBase,c=i.majorBase,u=i.minorBase,p=i.patchBase,m=i.notBefore,f=i.majorMustEqual,h=i.minorMustEqual,v=i.patchMustEqual;return i.isMinimum?s>c?!0:s<c?!1:a>u?!0:a<u||o&&o<m?!1:l>=p:(s===1&&c===0&&(!f||!h||!v)&&(c=1,u=0,p=0,f=!0,h=!1,v=!1),s<c?!1:s>c?!f:a<u?!1:a>u?!h:l<p?!1:l>p?!v:!(o&&o<m))}function bN(r,t,e,n,o){let i=[];if(typeof n.publisher<"u"&&typeof n.publisher!="string")return i.push([qe.Error,d(3596,null)]),i;if(typeof n.name!="string")return i.push([qe.Error,d(3595,null,"name")]),i;if(typeof n.version!="string")return i.push([qe.Error,d(3597,null,"version")]),i;if(!n.engines)return i.push([qe.Error,d(3588,null,"engines")]),i;if(typeof n.engines.vscode!="string")return i.push([qe.Error,d(3589,null,"engines.vscode")]),i;if(typeof n.extensionDependencies<"u"&&!LT(n.extensionDependencies))return i.push([qe.Error,d(3591,null,"extensionDependencies")]),i;if(typeof n.extensionAffinity<"u"&&!LT(n.extensionAffinity))return i.push([qe.Error,d(3590,null,"extensionAffinity")]),i;if(typeof n.activationEvents<"u"){if(!LT(n.activationEvents))return i.push([qe.Error,d(3584,null,"activationEvents")]),i;if(typeof n.main>"u"&&typeof n.browser>"u")return i.push([qe.Error,d(3585,null,"activationEvents","main","browser")]),i}if(typeof n.extensionKind<"u"&&typeof n.main>"u"&&i.push([qe.Warning,d(3592,null,"extensionKind")]),typeof n.main<"u"){if(typeof n.main!="string")return i.push([qe.Error,d(3593,null,"main")]),i;{let l=ge(e,n.main);ty(l,e)||i.push([qe.Warning,d(3594,null,l.path,e.path)])}}if(typeof n.browser<"u"){if(typeof n.browser!="string")return i.push([qe.Error,d(3586,null,"browser")]),i;{let l=ge(e,n.browser);ty(l,e)||i.push([qe.Warning,d(3587,null,l.path,e.path)])}}if(!pN(n.version))return i.push([qe.Error,d(3598,null)]),i;let s=[];if(!Fz(r,t,n,o,s))for(let l of s)i.push([qe.Error,l]);return i}function Fz(r,t,e,n,o){return n||typeof e.main>"u"&&typeof e.browser>"u"?!0:SN(r,t,e.engines.vscode,o)}function Ng(r,t,e){return r==="*"||SN(t,e,r)}function SN(r,t,e,n=[]){let o=NT(OT(e));if(!o)return n.push(d(3602,null,e)),!1;if(o.majorBase===0){if(!o.majorMustEqual||!o.minorMustEqual)return n.push(d(3600,null,e)),!1}else if(!o.majorMustEqual)return n.push(d(3601,null,e)),!1;return Uz(r,t,o)?!0:(n.push(d(3599,null,r,e)),!1)}function LT(r){if(!Array.isArray(r))return!1;for(let t=0,e=r.length;t<e;t++)if(typeof r[t]!="string")return!1;return!0}var IN,Oz,lI=y(()=>{bt();os();re();Xa();IN=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,Oz=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/});var He,xN,On=y(()=>{Z();He=D("productService"),xN="vscode://schemas/vscode-product"});function CN(r){return JSON.stringify(r,Hz)}function cI(r){let t=JSON.parse(r);return t=Qt(t),t}function Hz(r,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function Qt(r,t=0){if(!r||t>200)return r;if(typeof r=="object"){switch(r.$mid){case 1:return S.revive(r);case 2:return new RegExp(r.source,r.flags);case 17:return new Date(r.source)}if(r instanceof L||r instanceof Uint8Array)return r;if(Array.isArray(r))for(let e=0;e<r.length;++e)r[e]=Qt(r[e],t+1);else for(let e in r)Object.hasOwnProperty.call(r,e)&&(r[e]=Qt(r[e],t+1))}return r}var rs=y(()=>{Ke();oe();Zl()});var Wr,is,EN,dI,UT=y(()=>{Ne();de();K();rs();we();Wr=class r extends _{constructor(e,n=Object.create(null)){super();this.database=e;this.options=n;this._onDidChangeStorage=this._register(new Jl);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new _r(r.DEFAULT_FLUSH_DELAY));this.pendingDeletes=new Set;this.pendingInserts=new Map;this.pendingClose=void 0;this.whenFlushedCallbacks=[];this.registerListeners()}static{this.DEFAULT_FLUSH_DELAY=100}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach((n,o)=>this.acceptExternal(o,n)),e.deleted?.forEach(n=>this.acceptExternal(n,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,n){if(this.state===2)return;let o=!1;qt(n)?o=this.cache.delete(e):this.cache.get(e)!==n&&(this.cache.set(e,n),o=!0),o&&this._onDidChangeStorage.fire({key:e,external:!0})}get items(){return this.cache}get size(){return this.cache.size}async init(){this.state===0&&(this.state=1,this.options.hint!==0&&(this.cache=await this.database.getItems()))}get(e,n){let o=this.cache.get(e);return qt(o)?n:o}getBoolean(e,n){let o=this.get(e);return qt(o)?n:o==="true"}getNumber(e,n){let o=this.get(e);return qt(o)?n:parseInt(o,10)}getObject(e,n){let o=this.get(e);return qt(o)?n:cI(o)}async set(e,n,o=!1){if(this.state===2)return;if(qt(n))return this.delete(e,o);let i=_e(n)||Array.isArray(n)?CN(n):String(n);if(this.cache.get(e)!==i)return this.cache.set(e,i),this.pendingInserts.set(e,i),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:o}),this.doFlush()}async delete(e,n=!1){if(!(this.state===2||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()}async optimize(){if(this.state!==2)return await this.flush(0),this.database.optimize()}async close(){return this.pendingClose||(this.pendingClose=this.doClose()),this.pendingClose}async doClose(){this.state=2;try{await this.doFlush(0)}catch{}await this.database.close(()=>this.cache)}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;let e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async flush(e){if(!(this.state===2||this.pendingClose))return this.doFlush(e)}async doFlush(e){return this.options.hint===1?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}async whenFlushed(){if(this.hasPending)return new Promise(e=>this.whenFlushedCallbacks.push(e))}isInMemory(){return this.options.hint===1}},is=class{constructor(){this.onDidChangeItemsExternal=V.None;this.items=new Map}async getItems(){return this.items}async updateItems(t){t.insert?.forEach((e,n)=>this.items.set(n,e)),t.delete?.forEach(e=>this.items.delete(e))}async optimize(){}async close(){}},EN="__$__migratedStorageMarker",dI=class r extends Wr{constructor(){super(...arguments);this.migratedKeys=new Set;this.fallbackStorage=void 0;this.isFallbackStorageReadonly=!1}async init(){await super.init(),this.migratedKeys=this.loadMigratedKeys()}setFallbackStorage(e,n){this.fallbackStorage=e,this.isFallbackStorageReadonly=n}static{this.INTERNAL_KEY_PREFIX="__$__"}get(e,n){if(!e.startsWith(r.INTERNAL_KEY_PREFIX)&&!this.migratedKeys.has(e)&&Wn(super.get(e))){this.migratedKeys.add(e);let o=this.fallbackStorage?.items.get(e);Wn(o)||(this.set(e,o),this.isFallbackStorageReadonly||this.fallbackStorage?.delete(e),this.persistMigratedKeys())}return super.get(e,n)}loadMigratedKeys(){let e=super.get(EN);if(e)try{return new Set(JSON.parse(e))}catch{}return new Set}persistMigratedKeys(){this.set(EN,JSON.stringify([...this.migratedKeys]))}}});function uI(r){let t=r;return typeof t?.id=="string"&&S.isUri(t.uri)}function pI(r){let t=r;return typeof t?.id=="string"&&S.isUri(t.configPath)}function wN(r){let t=r;if(t?.uri)return{id:t.id,uri:S.revive(t.uri)};let e=r;if(e?.configPath)return{id:e.id,configPath:S.revive(e.configPath)};if(r?.id)return{id:r.id}}function du(r){let t=r;return!!(t&&typeof t=="object"&&S.isUri(t.uri)&&typeof t.name=="string"&&typeof t.toResource=="function")}function RN(r){return(typeof r=="string"?yi(r):Km(r))===Wz}var Za,TN,Wz,Pue,$s=y(()=>{re();Me();vg();bt();oe();Z();Ae();Za=D("contextService");TN="code-workspace",Wz=`.${TN}`,Pue=[{name:d(4262,null),extensions:[TN]}]});var ze,io=y(()=>{Z();ze=D("IUriIdentityService")});function kN(r){let t=r;return!!(t&&typeof t=="object"&&typeof t.id=="string"&&typeof t.isDefault=="boolean"&&typeof t.name=="string"&&S.isUri(t.location)&&S.isUri(t.globalStorageHome)&&S.isUri(t.settingsResource)&&S.isUri(t.keybindingsResource)&&S.isUri(t.tasksResource)&&S.isUri(t.snippetsHome)&&S.isUri(t.promptsHome)&&S.isUri(t.extensionsResource)&&S.isUri(t.mcpResource)&&S.isUri(t.languageModelsResource)&&S.isUri(t.agentPluginsHome))}function ii(r,t){return{id:r.id,isDefault:r.isDefault,name:r.name,icon:r.icon,location:S.revive(r.location).with({scheme:t}),globalStorageHome:S.revive(r.globalStorageHome).with({scheme:t}),settingsResource:S.revive(r.settingsResource).with({scheme:t}),keybindingsResource:S.revive(r.keybindingsResource).with({scheme:t}),tasksResource:S.revive(r.tasksResource).with({scheme:t}),snippetsHome:S.revive(r.snippetsHome).with({scheme:t}),promptsHome:S.revive(r.promptsHome).with({scheme:t}),extensionsResource:S.revive(r.extensionsResource).with({scheme:t}),mcpResource:S.revive(r.mcpResource).with({scheme:t}),languageModelsResource:S.revive(r.languageModelsResource).with({scheme:t}),agentPluginsHome:S.revive(r.agentPluginsHome),cacheHome:S.revive(r.cacheHome).with({scheme:t}),useDefaultFlags:r.useDefaultFlags,isTransient:r.isTransient,isInternal:r.isInternal,isAgentsWindowProfile:r.isAgentsWindowProfile,workspaces:r.workspaces?.map(e=>S.revive(e))}}function mI(r,t,e,n,o,i){let s=r===el;return{id:r,name:t,location:e,isDefault:!1,icon:o?.icon,globalStorageHome:i&&o?.useDefaultFlags?.globalState?i.globalStorageHome:ge(e,"globalStorage"),settingsResource:i&&o?.useDefaultFlags?.settings?i.settingsResource:ge(e,"settings.json"),keybindingsResource:i&&o?.useDefaultFlags?.keybindings?i.keybindingsResource:ge(e,"keybindings.json"),tasksResource:i&&o?.useDefaultFlags?.tasks?i.tasksResource:ge(e,"tasks.json"),snippetsHome:i&&o?.useDefaultFlags?.snippets?i.snippetsHome:ge(e,"snippets"),promptsHome:i&&o?.useDefaultFlags?.prompts?i.promptsHome:ge(e,"prompts"),extensionsResource:i&&o?.useDefaultFlags?.extensions?i.extensionsResource:ge(e,"extensions.json"),mcpResource:i&&o?.useDefaultFlags?.mcp?i.mcpResource:ge(e,"mcp.json"),languageModelsResource:i&&o?.useDefaultFlags?.languageModels?i.languageModelsResource:ge(e,"chatLanguageModels.json"),agentPluginsHome:i?i.agentPluginsHome:ge(e,"agent-plugins"),cacheHome:ge(n,r),useDefaultFlags:o?.useDefaultFlags,isTransient:o?.transient,isInternal:s||o?.transient,isAgentsWindowProfile:s,workspaces:o?.workspaces}}var el,Vz,Ft,PN,uu,vo=y(()=>{Ua();de();K();bt();oe();re();Tn();nt();Z();De();$s();io();Ne();nn();Tt();we();el="agents",Vz={settings:!0,keybindings:!0,prompts:!0,mcp:!0,languageModels:!0,snippets:!0,tasks:!0,extensions:!0};Ft=D("IUserDataProfilesService");PN="builtin",uu=class extends _{constructor(e,n,o,i){super();this.environmentService=e;this.fileService=n;this.uriIdentityService=o;this.logService=i;this._onDidChangeProfiles=this._register(new T);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._onWillCreateProfile=this._register(new T);this.onWillCreateProfile=this._onWillCreateProfile.event;this._onWillRemoveProfile=this._register(new T);this.onWillRemoveProfile=this._onWillRemoveProfile.event;this._onDidResetWorkspaces=this._register(new T);this.onDidResetWorkspaces=this._onDidResetWorkspaces.event;this.profileCreationPromises=new Map;this.transientProfilesObject={profiles:[],emptyWindows:new Map};this.profilesHome=ge(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=ge(this.environmentService.cacheHome,"CachedProfilesData")}static{this.PROFILES_KEY="userDataProfiles"}static{this.PROFILE_ASSOCIATIONS_KEY="profileAssociations"}get defaultProfile(){return this.profiles[0]}get profiles(){return[...this.profilesObject.profiles,...this.transientProfilesObject.profiles]}init(){this._profilesObject=void 0}get profilesObject(){if(!this._profilesObject){let e=this.createDefaultProfile(),n=[e];try{for(let i of this.getStoredProfiles()){if(this.isInvalidProfile(i)){this.logService.warn("Skipping the invalid stored profile",i.location||i.name);continue}let s=An(i.location);n.push(mI(s,i.name,i.location,this.profilesCacheHome,{icon:i.icon,useDefaultFlags:s===el?Vz:i.useDefaultFlags},e))}}catch(i){this.logService.error(i)}let o=new Map;if(n.length)try{let i=this.getStoredProfileAssociations();if(i.workspaces)for(let[s,a]of Object.entries(i.workspaces)){let l=S.parse(s),c=n.find(u=>u.id===a);if(c){let u=c.workspaces?c.workspaces.slice(0):[];u.push(l),c.workspaces=u}}if(i.emptyWindows)for(let[s,a]of Object.entries(i.emptyWindows)){let l=n.find(c=>c.id===a);l&&o.set(s,l)}}catch(i){this.logService.error(i)}this._profilesObject={profiles:n,emptyWindows:o}}return this._profilesObject}isInvalidProfile(e){return!e.name||!j(e.name)||!e.location}createDefaultProfile(){let e=mI("__default__profile__",d(4244,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let n="Temp",o=new RegExp(`${eo(n)}\\s(\\d+)`),i=0;for(let a of this.profiles){let l=o.exec(a.name),c=l?parseInt(l[1]):0;i=c>i?c:i}let s=`${n} ${i+1}`;return this.createProfile(Lr(Se()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,n,o){return this.createProfile(Lr(Se()).toString(16),e,n,o)}async createProfile(e,n,o,i){return await this.doCreateProfile(e,n,o,i)}async doCreateProfile(e,n,o,i){if(!j(n)||!n)throw new Error("Name of the profile is mandatory and must be of type `string`");let s=this.profileCreationPromises.get(n);return s||(s=(async()=>{try{if(this.profiles.find(p=>p.id===e||e!==el&&!p.isTransient&&!o?.transient&&p.name===n))throw new Error(`Profile with ${n} name already exists`);let l=i?this.getWorkspace(i):void 0;S.isUri(l)&&(o={...o,workspaces:[l]});let c=mI(e,n,this.uriIdentityService.extUri.joinPath(this.profilesHome,...e===el?[PN,e]:[e]),this.profilesCacheHome,e===el?{}:o,this.defaultProfile);await this.fileService.createFolder(c.location);let u=[];return this._onWillCreateProfile.fire({profile:c,join(p){u.push(p)}}),await Cn.settled(u),l&&!S.isUri(l)&&this.updateEmptyWindowAssociation(l,c,!!c.isTransient),this.updateProfiles([c],[],[]),this.profiles.find(p=>p.id===c.id)??c}finally{this.profileCreationPromises.delete(n)}})(),this.profileCreationPromises.set(n,s)),s}async updateProfile(e,n){if(e.isAgentsWindowProfile)throw new Error("Cannot update agents window profile");let o=[];for(let s of this.profiles){let a;if(e.id===s.id)s.isDefault?n.workspaces&&(a=s,a.workspaces=n.workspaces):a=mI(s.id,n.name??s.name,s.location,this.profilesCacheHome,{icon:n.icon===null?void 0:n.icon??s.icon,transient:n.transient??s.isTransient,useDefaultFlags:n.useDefaultFlags??s.useDefaultFlags,workspaces:n.workspaces??s.workspaces},this.defaultProfile);else if(n.workspaces){let l=s.workspaces?.filter(c=>!n.workspaces?.some(u=>this.uriIdentityService.extUri.isEqual(c,u)));s.workspaces?.length!==l?.length&&(a=s,a.workspaces=l)}a&&o.push(a)}if(!o.length)throw e.isDefault?new Error("Cannot update default profile"):new Error(`Profile '${e.name}' does not exist`);this.updateProfiles([],[],o);let i=this.profiles.find(s=>s.id===e.id);if(!i)throw new Error(`Profile '${e.name}' was not updated`);return i}async removeProfile(e){if(e.isDefault)throw new Error("Cannot remove default profile");let n=this.profiles.find(i=>i.id===e.id);if(!n)throw new Error(`Profile '${e.name}' does not exist`);let o=[];this._onWillRemoveProfile.fire({profile:n,join(i){o.push(i)}});try{await Promise.allSettled(o)}catch(i){this.logService.error(i)}this.updateProfiles([],[n],[]);try{await this.fileService.del(n.cacheHome,{recursive:!0})}catch(i){Rt(i)!==1&&this.logService.error(i)}}async setProfileForWorkspace(e,n){let o=this.profiles.find(s=>s.id===n.id);if(!o)throw new Error(`Profile '${n.name}' does not exist`);let i=this.getWorkspace(e);if(S.isUri(i)){let s=o.workspaces?[...o.workspaces]:[];s.some(a=>this.uriIdentityService.extUri.isEqual(a,i))||(s.push(i),await this.updateProfile(o,{workspaces:s}))}else this.updateEmptyWindowAssociation(i,o,!1),this.updateStoredProfiles(this.profiles)}unsetWorkspace(e,n=!1){let o=this.getWorkspace(e);if(S.isUri(o)){let i=this.getProfileForWorkspace(e);i&&this.updateProfile(i,{workspaces:i.workspaces?.filter(s=>!this.uriIdentityService.extUri.isEqual(s,o))})}else this.updateEmptyWindowAssociation(o,void 0,n),this.updateStoredProfiles(this.profiles)}async resetWorkspaces(){this.transientProfilesObject.emptyWindows.clear(),this.profilesObject.emptyWindows.clear();for(let e of this.profiles)e.workspaces=void 0;this.updateProfiles([],[],this.profiles),this._onDidResetWorkspaces.fire()}async cleanUp(){try{if(await this.fileService.exists(this.profilesHome)){let e=await this.fileService.resolve(this.profilesHome);await Promise.all((e.children||[]).filter(n=>n.isDirectory&&n.name!==PN&&this.profiles.every(o=>!this.uriIdentityService.extUri.isEqual(o.location,n.resource))).map(n=>this.fileService.del(n.resource,{recursive:!0})))}}catch(e){this.logService.error("Error deleting redundant profile folders",e)}try{let e=this.getStoredProfiles(),n=[];for(let o of this.getStoredProfiles())this.isInvalidProfile(o)?this.logService.warn(`Invalid user data profile found: ${o.name}`):n.push(o);e.length!==n.length&&this.saveStoredProfiles(n)}catch(e){this.logService.error("Error removing invalid stored profiles",e)}}async cleanUpTransientProfiles(){let e=this.transientProfilesObject.profiles.filter(n=>!this.isProfileAssociatedToWorkspace(n));await Promise.allSettled(e.map(n=>this.removeProfile(n)))}getProfileForWorkspace(e){let n=this.getWorkspace(e);return S.isUri(n)&&this.uriIdentityService.extUri.isEqual(n,this.environmentService.agentSessionsWorkspace)?this.profiles.find(o=>o.isAgentsWindowProfile):S.isUri(n)?this.profiles.find(o=>o.workspaces?.some(i=>this.uriIdentityService.extUri.isEqual(i,n))):this.profilesObject.emptyWindows.get(n)??this.transientProfilesObject.emptyWindows.get(n)}getWorkspace(e){return uI(e)?e.uri:pI(e)?e.configPath:e.id}isProfileAssociatedToWorkspace(e){return!!(e.workspaces?.length||[...this.profilesObject.emptyWindows.values()].some(n=>this.uriIdentityService.extUri.isEqual(n.location,e.location))||[...this.transientProfilesObject.emptyWindows.values()].some(n=>this.uriIdentityService.extUri.isEqual(n.location,e.location)))}updateProfiles(e,n,o,i=!1){let s=[...this.profiles,...e],a=this.transientProfilesObject.profiles;this.transientProfilesObject.profiles=[];let l=[];for(let c of s){if(n.some(u=>c.id===u.id)){for(let u of[...this.profilesObject.emptyWindows.keys()])c.id===this.profilesObject.emptyWindows.get(u)?.id&&this.profilesObject.emptyWindows.delete(u);continue}if(!c.isDefault){c=o.find(p=>c.id===p.id)??c;let u=a.find(p=>c.id===p.id);if(c.isTransient)this.transientProfilesObject.profiles.push(c);else if(u){for(let[p,m]of this.transientProfilesObject.emptyWindows.entries())if(c.id===m.id){this.transientProfilesObject.emptyWindows.delete(p),this.profilesObject.emptyWindows.set(p,c);break}}}c.workspaces?.length===0&&(c.workspaces=void 0),l.push(c)}this.updateStoredProfiles(l),i||this.triggerProfilesChanges(e,n,o)}triggerProfilesChanges(e,n,o){this._onDidChangeProfiles.fire({added:e,removed:n,updated:o,all:this.profiles})}updateEmptyWindowAssociation(e,n,o){o=n?.isTransient?!0:o,o?n?this.transientProfilesObject.emptyWindows.set(e,n):this.transientProfilesObject.emptyWindows.delete(e):(this.transientProfilesObject.emptyWindows.delete(e),n?this.profilesObject.emptyWindows.set(e,n):this.profilesObject.emptyWindows.delete(e))}updateStoredProfiles(e){let n=[],o={},i={};for(let s of e)if(!s.isTransient&&(s.isDefault||n.push({location:s.location,name:s.name,icon:s.icon,useDefaultFlags:s.useDefaultFlags}),s.workspaces))for(let a of s.workspaces)o[a.toString()]=s.id;for(let[s,a]of this.profilesObject.emptyWindows.entries())i[s.toString()]=a.id;this.saveStoredProfileAssociations({workspaces:o,emptyWindows:i}),this.saveStoredProfiles(n),this._profilesObject=void 0}getStoredProfiles(){return[]}saveStoredProfiles(e){throw new Error("not implemented")}getStoredProfileAssociations(){return{}}saveStoredProfileAssociations(e){throw new Error("not implemented")}getDefaultProfileExtensionsLocation(){}};uu=C([b(0,_t),b(1,Oe),b(2,ze),b(3,z)],uu)});function qz(r){let t=r.get(gI);if(t)try{return JSON.parse(t)}catch{}return Object.create(null)}function fI(r){return r.isDefault||!!r.useDefaultFlags?.globalState}async function $z(r,t,e,n,o,i,s,a){let l=k=>{try{return JSON.parse(k)}catch{return k}},c=new Map,u=new Map;r.forEach((k,O)=>{c.set(O,k),u.set(O,l(k))});let p=new Map,m=new Map;t.forEach((k,O)=>{p.set(O,k),m.set(O,l(k))});let f=new Map,h=new Map;e.forEach((k,O)=>{f.set(O,k),h.set(O,l(k))});let v=new Map,I=new Map;n.forEach((k,O)=>{v.set(O,k),I.set(O,l(k))}),console.group(o!==s?`Storage: Application (path: ${o})`:`Storage: Application & Profile (path: ${o}, default profile)`);let E=[];c.forEach((k,O)=>{E.push({key:O,value:k})}),console.table(E),console.groupEnd(),console.log(u),console.group(`Storage: Application Shared (path: ${i})`);let w=[];if(p.forEach((k,O)=>{w.push({key:O,value:k})}),console.table(w),console.groupEnd(),console.log(m),o!==s){console.group(`Storage: Profile (path: ${s}, profile specific)`);let k=[];f.forEach((O,fe)=>{k.push({key:fe,value:O})}),console.table(k),console.groupEnd(),console.log(h)}console.group(`Storage: Workspace (path: ${a})`);let P=[];v.forEach((k,O)=>{P.push({key:O,value:k})}),console.table(P),console.groupEnd(),console.log(I)}var Fg,gI,si,Ug,hI,Ri=y(()=>{Ne();de();K();Qr();we();UT();Z();vo();Fg="__$__isNewStorageMarker",gI="__$__targetStorageMarker",si=D("storageService");Ug=class r extends _{constructor(e={flushInterval:r.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Jl);this._onDidChangeTarget=this._register(new Jl);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new T);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new $n);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this._applicationSharedKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new Yo(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,n,o){return V.filter(this._onDidChangeValue.event,i=>i.scope===e&&(n===void 0||i.key===n),o)}doFlushWhenIdle(){this.runFlushWhenIdle.value=Sw(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){gn([this.runFlushWhenIdle,this.flushWhenIdleScheduler])}initialize(){return this.initializationPromise||(this.initializationPromise=(async()=>{Wt("code/willInitStorage");try{await this.doInitialize()}finally{Wt("code/didInitStorage")}this.flushWhenIdleScheduler.schedule()})()),this.initializationPromise}emitDidChangeValue(e,n){let{key:o,external:i}=n;if(o===gI){switch(e){case-2:this._applicationSharedKeyTargets=void 0;break;case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:o,target:this.getKeyTargets(e)[o],external:i})}emitWillSaveState(e){this._onWillSaveState.fire({reason:e})}get(e,n,o){return this.getStorage(n)?.get(e,o)}getBoolean(e,n,o){return this.getStorage(n)?.getBoolean(e,o)}getNumber(e,n,o){return this.getStorage(n)?.getNumber(e,o)}getObject(e,n,o){return this.getStorage(n)?.getObject(e,o)}storeAll(e,n){this.withPausedEmitters(()=>{for(let o of e)this.store(o.key,o.value,o.scope,o.target,n)})}store(e,n,o,i,s=!1){if(qt(n)){this.remove(e,o,s);return}this.withPausedEmitters(()=>{this.updateKeyTarget(e,o,i),this.getStorage(o)?.set(e,n,s)})}remove(e,n,o=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,n,void 0),this.getStorage(n)?.delete(e,o)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}keys(e,n){let o=[],i=this.getKeyTargets(e);for(let s of Object.keys(i))i[s]===n&&o.push(s);return o}updateKeyTarget(e,n,o,i=!1){let s=this.getKeyTargets(n);typeof o=="number"?s[e]!==o&&(s[e]=o,this.getStorage(n)?.set(gI,JSON.stringify(s),i)):typeof s[e]=="number"&&(delete s[e],this.getStorage(n)?.set(gI,JSON.stringify(s),i))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}get applicationSharedKeyTargets(){return this._applicationSharedKeyTargets||(this._applicationSharedKeyTargets=this.loadKeyTargets(-2)),this._applicationSharedKeyTargets}getKeyTargets(e){switch(e){case-2:return this.applicationSharedKeyTargets;case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let n=this.getStorage(e);return n?qz(n):Object.create(null)}isNew(e){return this.getBoolean(Fg,e)===!0}async flush(e=0){this._onWillSaveState.fire({reason:e});let n=this.getStorage(-1),o=this.getStorage(-2),i=this.getStorage(0),s=this.getStorage(1);switch(e){case 0:await Cn.settled([n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve(),i?.whenFlushed()??Promise.resolve(),s?.whenFlushed()??Promise.resolve()]);break;case 1:await Cn.settled([n?.flush(0)??Promise.resolve(),o?.flush(0)??Promise.resolve(),i?.flush(0)??Promise.resolve(),s?.flush(0)??Promise.resolve()]);break}}async log(){let e=this.getStorage(-1)?.items??new Map,n=this.getStorage(-2)?.items??new Map,o=this.getStorage(0)?.items??new Map,i=this.getStorage(1)?.items??new Map;return $z(e,n,o,i,this.getLogDetails(-1)??"",this.getLogDetails(-2)??"",this.getLogDetails(0)??"",this.getLogDetails(1)??"")}async optimize(e){return await this.flush(),this.getStorage(e)?.optimize()}async switch(e,n){return this.emitWillSaveState(0),kN(e)?this.switchToProfile(e,n):this.switchToWorkspace(e,n)}canSwitchProfile(e,n){return!(e.id===n.id||fI(n)&&fI(e))}switchData(e,n,o){this.withPausedEmitters(()=>{let i=new Set;for(let[s,a]of e)i.add(s),n.get(s)!==a&&this.emitDidChangeValue(o,{key:s,external:!0});for(let[s]of n.items)i.has(s)||this.emitDidChangeValue(o,{key:s,external:!0})})}};hI=class extends Ug{constructor(){super();this.applicationStorage=this._register(new Wr(new is,{hint:1}));this.applicationSharedStorage=this._register(new Wr(new is,{hint:1}));this.profileStorage=this._register(new Wr(new is,{hint:1}));this.workspaceStorage=this._register(new Wr(new is,{hint:1}));this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e))),this._register(this.applicationSharedStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-2,e)))}getStorage(e){switch(e){case-2:return this.applicationSharedStorage;case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}getLogDetails(e){switch(e){case-2:return"inMemory (application-shared)";case-1:return"inMemory (application)";case 0:return"inMemory (profile)";default:return"inMemory (workspace)"}}async doInitialize(){}async switchToProfile(){}async switchToWorkspace(){}shouldFlushWhenIdle(){return!1}hasScope(e){return!1}}});async function DN(r,t,e){let n=e&&e.get("storage.serviceMachineId",-1)||null;if(n)return n;try{let i=(await t.readFile(r.serviceMachineIdResource)).value.toString();n=xO(i)?i:null}catch{n=null}if(!n){n=Se();try{await t.writeFile(r.serviceMachineIdResource,L.fromString(n))}catch{}}return e?.store("storage.serviceMachineId",n,-1,1),n}var _N=y(()=>{Ke();nn();Ri()});async function MN(r,t,e,n,o,i,s){let a={"X-Market-Client-Id":`VSCode ${r}`,"User-Agent":`VSCode ${r} (${t.nameShort})`};if(t.extensionsGallery?.authorizationHeaderToken&&(a.Authorization=`Bearer ${t.extensionsGallery.authorizationHeaderToken}`),Qy(t,e)&&Tg(n)===3){let l=await DN(e,o,i);a["X-Market-User-Id"]=l,a["VSCode-SessionId"]=s.machineId||l}return a}var AN=y(()=>{_N();Rn();Ur()});function yc(r,t){let[e,n]=t.split("/");for(let o of r.resources){let[i,s]=o.type.split("/");if(i===e){if(!n||s===n)return o.id;break}}}var ss,Ic=y(()=>{Z();ss=D("IExtensionGalleryManifestService")});function VT(r,t){let e=(r||[]).filter(n=>n.statisticName===t)[0];return e?e.value:0}function Xz(r){let t="Microsoft.VisualStudio.Code.Translation.";return r.files.filter(n=>n.assetType.indexOf(t)===0).reduce((n,o)=>{let i=Pi(r,o.assetType);return i&&n.push([o.assetType.substring(t.length),i]),n},[])}function Zz(r){if(r.properties){let t=r.properties.filter(o=>o.key===so.Repository),e=new RegExp("((git|ssh|http(s)?)|(git@[\\w.]+))(:(//)?)([\\w.@:/\\-~]+)(.git)(/)?"),n=t.filter(o=>e.test(o.value))[0];return n?{uri:n.value,fallbackUri:n.value}:null}return Pi(r,so.Repository)}function e3(r){return{uri:`${r.fallbackAssetUri}/${so.VSIX}?redirect=true${r.targetPlatform?`&targetPlatform=${r.targetPlatform}`:""}`,fallbackUri:`${r.fallbackAssetUri}/${so.VSIX}${r.targetPlatform?`?targetPlatform=${r.targetPlatform}`:""}`}}function Pi(r,t){return r.files.filter(n=>n.assetType===t)[0]?{uri:`${r.assetUri}/${t}${r.targetPlatform?`?targetPlatform=${r.targetPlatform}`:""}`,fallbackUri:`${r.fallbackAssetUri}/${t}${r.targetPlatform?`?targetPlatform=${r.targetPlatform}`:""}`}:null}function LN(r,t){let e=r.properties?r.properties.filter(o=>o.key===t):[],n=e.length>0&&e[0].value;return n?n.split(",").map(o=>Ag(o)):[]}function SI(r){let t=r.properties?r.properties.filter(e=>e.key===ki.Engine):[];return t.length>0&&t[0].value||""}function t3(r,t){r.properties=r.properties??[],r.properties.push({key:ki.Engine,value:t})}function fu(r){let t=r.properties?r.properties.filter(e=>e.key===ki.PreRelease):[];return t.length>0&&t[0].value==="true"}function FN(r,t){return t.extensionProperties?.[r.toLowerCase()]?.hasPrereleaseVersion}function n3(r,t){return t.extensionProperties?.[r.toLowerCase()]?.excludeVersionRange}function o3(r){let t=r.properties?r.properties.filter(e=>e.key===ki.Private):[];return t.length>0&&t[0].value==="true"}function r3(r){let t=r.properties?r.properties.filter(e=>e.key===ki.ExecutesCode):[];return t.length>0?t[0].value==="true":void 0}function qT(r){let t=r.properties?r.properties.filter(n=>n.key===ki.EnabledApiProposals):[],e=t.length>0&&t[0].value||"";return e?e.split(","):[]}function i3(r){let t=r.properties?r.properties.filter(n=>n.key===ki.LocalizedLanguages):[],e=t.length>0&&t[0].value||"";return e?e.split(","):[]}function s3(r){return r.properties?.find(t=>t.key===ki.SponsorLink)?.value}function a3(r){return r.properties?.find(t=>t.key===ki.SupportLink)?.value}function l3(r){return r.indexOf("preview")!==-1}function bc(r){return r.targetPlatform?lN(r.targetPlatform):"undefined"}function yI(r){let t=Xn(r.versions.map(bc)),e=!!r.tags?.includes(iN),n=t.indexOf("web");return e?n===-1&&t.push("web"):n!==-1&&t.splice(n,1),t}function ON(r,t){for(let e=0;e<r.length;e++){let n=r[e];if(n.version===r[e-1]?.version){let o=e;if(bc(n)===t)for(;o>0&&r[o-1].version===n.version;)o--;o!==e&&(r.splice(e,1),r.splice(o,0,n))}}return r}function c3(r,t,e){let n=[],o=-1,i=-1;for(let s of r){let a=bc(s);if(!_g(a,e,t)){n.push(s);continue}fu(s)?o===-1?(o=n.length,n.push(s)):a===t&&n[o].version===s.version&&(n[o]=s):i===-1?(i=n.length,n.push(s)):a===t&&n[i].version===s.version&&(n[i]=s)}return n}function NN(r,t,e){r.telemetryData={index:t,querySource:e,queryActivityId:r.queryContext?.[bI]}}function BT(r,t,e,n,o,i){let s=r.versions[0],a={manifest:Pi(t,so.Manifest),readme:Pi(t,so.Details),changelog:Pi(t,so.Changelog),license:Pi(t,so.License),repository:Zz(t),download:e3(t),icon:Pi(t,so.Icon),signature:Pi(t,so.Signature),coreTranslations:Xz(t)},l=yc(n,r.linkType??"ExtensionDetailsViewUriTemplate"),c=yc(n,r.publisher.linkType??"PublisherViewUriTemplate"),u=yc(n,r.ratingLinkType??"ExtensionRatingViewUriTemplate"),p=Do(r.publisher.publisherName,r.extensionName);return{type:"gallery",identifier:{id:p,uuid:r.extensionId},name:r.extensionName,version:t.version,displayName:r.displayName,publisherId:r.publisher.publisherId,publisher:r.publisher.publisherName,publisherDisplayName:r.publisher.displayName,publisherDomain:r.publisher.domain?{link:r.publisher.domain,verified:!!r.publisher.isDomainVerified}:void 0,publisherSponsorLink:s3(s),description:r.shortDescription??"",installCount:VT(r.statistics,"install"),rating:VT(r.statistics,"averagerating"),ratingCount:VT(r.statistics,"ratingcount"),categories:r.categories||[],tags:r.tags||[],releaseDate:Date.parse(r.releaseDate),lastUpdated:Date.parse(r.lastUpdated),allTargetPlatforms:e,assets:a,properties:{dependencies:LN(t,ki.Dependency),extensionPack:LN(t,ki.ExtensionPack),engine:SI(t),enabledApiProposals:qT(t),localizedLanguages:i3(t),targetPlatform:bc(t),isPreReleaseVersion:fu(t),executesCode:r3(t)},hasPreReleaseVersion:FN(p,o)??fu(s),hasReleaseVersion:!0,private:o3(s),preview:l3(r.flags),isSigned:!!a.signature,queryContext:i,supportLink:a3(s),detailsLink:l?Dr(l,{publisher:r.publisher.publisherName,name:r.extensionName}):void 0,publisherLink:c?Dr(c,{publisher:r.publisher.publisherName}):void 0,ratingLink:u?Dr(u,{publisher:r.publisher.publisherName,name:r.extensionName}):void 0}}var vI,bI,FT,HT,WT,so,ki,Jz,Yz,mu,gu,II,tl,zT=y(()=>{At();Zt();Xa();Ee();me();cr();we();oe();hN();tn();Tn();ko();ri();jn();lI();nt();De();On();Ti();AN();Ri();Rn();_s();Tt();Ic();Ur();vI=yn?"web":eI(Yr,Lv),bI="X-Market-Search-Activity-Id",FT="Activityid",HT="Server",WT="X-Vss-E2eid",so={Icon:"Microsoft.VisualStudio.Services.Icons.Default",Details:"Microsoft.VisualStudio.Services.Content.Details",Changelog:"Microsoft.VisualStudio.Services.Content.Changelog",Manifest:"Microsoft.VisualStudio.Code.Manifest",VSIX:"Microsoft.VisualStudio.Services.VSIXPackage",License:"Microsoft.VisualStudio.Services.Content.License",Repository:"Microsoft.VisualStudio.Services.Links.Source",Signature:"Microsoft.VisualStudio.Services.VsixSignature"},ki={Dependency:"Microsoft.VisualStudio.Code.ExtensionDependencies",ExtensionPack:"Microsoft.VisualStudio.Code.ExtensionPack",Engine:"Microsoft.VisualStudio.Code.Engine",PreRelease:"Microsoft.VisualStudio.Code.PreRelease",EnabledApiProposals:"Microsoft.VisualStudio.Code.EnabledApiProposals",LocalizedLanguages:"Microsoft.VisualStudio.Code.LocalizedLanguages",WebExtension:"Microsoft.VisualStudio.Code.WebExtension",SponsorLink:"Microsoft.VisualStudio.Code.SponsorLink",SupportLink:"Microsoft.VisualStudio.Services.Links.Support",ExecutesCode:"Microsoft.VisualStudio.Code.ExecutesCode",Private:"PrivateMarketplace"},Jz=10,Yz={pageNumber:1,pageSize:Jz,sortBy:"NoneOrRelevance",sortOrder:0,flags:[],criteria:[],assetTypes:[]},mu=class r{constructor(t=Yz){this.state=t}get pageNumber(){return this.state.pageNumber}get pageSize(){return this.state.pageSize}get sortBy(){return this.state.sortBy}get sortOrder(){return this.state.sortOrder}get flags(){return this.state.flags}get criteria(){return this.state.criteria}get assetTypes(){return this.state.assetTypes}get source(){return this.state.source}get searchText(){let t=this.state.criteria.filter(e=>e.filterType==="SearchText")[0];return t&&t.value?t.value:""}withPage(t,e=this.state.pageSize){return new r({...this.state,pageNumber:t,pageSize:e})}withFilter(t,...e){let n=[...this.state.criteria,...e.length?e.map(o=>({filterType:t,value:o})):[{filterType:t}]];return new r({...this.state,criteria:n})}withSortBy(t){return new r({...this.state,sortBy:t})}withSortOrder(t){return new r({...this.state,sortOrder:t})}withFlags(...t){return new r({...this.state,flags:Xn(t)})}withAssetTypes(...t){return new r({...this.state,assetTypes:t})}withSource(t){return new r({...this.state,source:t})}};gu=class{constructor(t,e,n,o,i,s,a,l,c,u){this.requestService=e;this.logService=n;this.environmentService=o;this.telemetryService=i;this.fileService=s;this.productService=a;this.configurationService=l;this.allowedExtensionsService=c;this.extensionGalleryManifestService=u;this.extensionsControlUrl=a.extensionsGallery?.controlUrl,this.unpkgResourceApi=a.extensionsGallery?.extensionUrlTemplate,this.commonHeadersPromise=MN(a.version,a,this.environmentService,this.configurationService,this.fileService,t,this.telemetryService)}isEnabled(){return this.extensionGalleryManifestService.extensionGalleryManifestStatus==="available"}async getExtensions(t,e,n){let o=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!o)throw new Error("No extension gallery service configured.");let i=Pe.isCancellationToken(e)?{}:e,s=Pe.isCancellationToken(e)?e:n,a=this.getResourceApi(o),l=a?await this.getExtensionsUsingResourceApi(t,i,a,o,s):await this.getExtensionsUsingQueryApi(t,i,o,s),c=l.map(p=>p.identifier.uuid),u=[];for(let p of t)p.uuid&&!c.includes(p.uuid)&&u.push({...p,uuid:void 0});if(u.length){this.telemetryService.publicLog2("galleryService:additionalQueryByName",{count:u.length});let p=await this.getExtensionsUsingQueryApi(u,i,o,s);l.push(...p)}return l}getResourceApi(t){let e=yc(t,"ExtensionLatestVersionUriTemplate");if(e)return{uri:e,fallback:this.unpkgResourceApi}}async getExtensionsUsingQueryApi(t,e,n,o){let i=[],s=[],a=[],l=[],c=!0;for(let m of t)m.uuid?s.push(m.uuid):i.push(m.id),m.version?l.push({id:m.id,uuid:m.uuid,version:m.version}):a.push({id:m.id,uuid:m.uuid,includePreRelease:!!m.preRelease}),c=c&&!!m.hasPreRelease&&!m.preRelease;if(!s.length&&!i.length)return[];let u=new mu().withPage(1,t.length);s.length&&(u=u.withFilter("ExtensionId",...s)),i.length&&(u=u.withFilter("ExtensionName",...i)),e.queryAllVersions&&(u=u.withFlags(...u.flags,"IncludeVersions")),e.source&&(u=u.withSource(e.source));let{extensions:p}=await this.queryGalleryExtensions(u,{targetPlatform:e.targetPlatform??vI,includePreRelease:a,versions:l,compatible:!!e.compatible,productVersion:e.productVersion??{version:this.productService.version,date:this.productService.date},isQueryForReleaseVersionFromPreReleaseVersion:c},n,o);return e.source&&p.forEach((m,f)=>NN(m,f,e.source)),p}async getExtensionsUsingResourceApi(t,e,n,o,i){let s=[],a=[],l=[];for(let c of t)Dg.test(c.id)&&(c.version||!c.uuid?a.push(c):l.push(c));if(await Promise.all(l.map(async c=>{let u;try{u=await this.getLatestGalleryExtension(c,e,n,o,i),j(u)?u==="LATEST_IS_OUTDATED"?this.logService.debug(`Skipping query API fallback for extension ${c.id} because the latest gallery version is older than the current version`):(this.telemetryService.publicLog2("galleryService:fallbacktoquery",{extension:c.id,preRelease:!!c.preRelease,compatible:!!e.compatible,errorCode:u}),a.push(c)):s.push(u)}catch(p){if(p instanceof Fr)switch(p.code){case"Offline":case"Cancelled":case"Timeout":throw p}this.logService.error(`Error while getting the latest version for the extension ${c.id}.`,ye(p)),this.telemetryService.publicLog2("galleryService:fallbacktoquery",{extension:c.id,preRelease:!!c.preRelease,compatible:!!e.compatible,errorCode:p instanceof Fr?p.code:"Unknown"}),a.push(c)}})),a.length){let c=await this.getExtensionsUsingQueryApi(a,e,o,i);s.push(...c)}return s}async getLatestGalleryExtension(t,e,n,o,i){let s=await this.getLatestRawGalleryExtensionWithFallback(t,n,i);if(!s)return"NOT_FOUND";if(!Array.isArray(s.versions)||s.versions.some(c=>!Array.isArray(c.files)))return"INVALID_RESPONSE";let a=yI(s),l=await this.getValidRawGalleryExtensionVersionFromLatestVersions(s,s.versions,t,e,a);if(!l){if(t.currentVersion){let c=s.versions.length>0?s.versions[0].version:void 0;if(c&&oI(c,t.currentVersion))return"LATEST_IS_OUTDATED"}return"NOT_COMPATIBLE"}return BT(s,l,a,o,this.productService)}async getValidRawGalleryExtensionVersionFromLatestVersions(t,e,n,o,i){let s=o.targetPlatform??vI,a=c3(e,s,i),l=await this.getValidRawGalleryExtensionVersion(t,a,{targetPlatform:s,compatible:!!o.compatible,productVersion:o.productVersion??{version:this.productService.version,date:this.productService.date},version:n.preRelease?1:0},i);if(!n.preRelease)return l;let c=l,u=await this.getValidRawGalleryExtensionVersion(t,a,{targetPlatform:s,compatible:!!o.compatible,productVersion:o.productVersion??{version:this.productService.version,date:this.productService.date},version:0},i);if(c&&u)return ns(u.version,c.version)?u:c;if(o.compatible){if(u){let p=await this.getValidRawGalleryExtensionVersion(t,a,{targetPlatform:s,compatible:!1,productVersion:o.productVersion??{version:this.productService.version,date:this.productService.date},version:1},i);if(!p||ns(u.version,p.version))return u}return c}return c??u??null}async getCompatibleExtension(t,e,n,o={version:this.productService.version,date:this.productService.date}){return su(t.allTargetPlatforms,n)?null:await this.isExtensionCompatible(t,e,n)?t:this.allowedExtensionsService.isAllowed({id:t.identifier.id,publisherDisplayName:t.publisherDisplayName})!==!0?null:(await this.getExtensions([{...t.identifier,preRelease:e,hasPreRelease:t.hasPreReleaseVersion}],{compatible:!0,productVersion:o,queryAllVersions:!0,targetPlatform:n},Pe.None))[0]??null}async isExtensionCompatible(t,e,n,o={version:this.productService.version,date:this.productService.date}){return this.isValidVersion({id:t.identifier.id,version:t.version,isPreReleaseVersion:t.properties.isPreReleaseVersion,targetPlatform:t.properties.targetPlatform,manifestAsset:t.assets.manifest,engine:t.properties.engine,enabledApiProposals:t.properties.enabledApiProposals},{targetPlatform:n,compatible:!0,productVersion:o,version:e?2:0},t.publisherDisplayName,t.allTargetPlatforms)}async isValidVersion(t,{targetPlatform:e,compatible:n,productVersion:o,version:i},s,a){let l=FN(t.id,this.productService),c=n3(t.id,this.productService);if(t.isPreReleaseVersion&&l===!1||c&&fN(t.version,c))return!1;if(j(i)){if(t.version!==i)return!1}else if((i===0||i===1)&&t.isPreReleaseVersion!==(i===1))return!1;return!(e&&!_g(t.targetPlatform,a,e)||n&&(this.allowedExtensionsService.isAllowed({id:t.id,publisherDisplayName:s,version:t.version,prerelease:t.isPreReleaseVersion,targetPlatform:t.targetPlatform})!==!0||!await this.isEngineValid(t.id,t.version,t.engine,t.manifestAsset,o)))}async isEngineValid(t,e,n,o,i){if(!n)try{n=await this.getEngine(t,e,o)}catch(s){return this.logService.error(`Error while getting the engine for the version ${e}.`,ye(s)),!1}return n?Ng(n,i.version,i.date):(this.logService.error(`Missing engine for the extension ${t} with version ${e}`),!1)}async getEngine(t,e,n){if(!n){this.logService.error(`Missing engine and manifest asset for the extension ${t} with version ${e}`);return}try{this.telemetryService.publicLog2("galleryService:engineFallback",{extension:t,extensionVersion:e});let o={"Accept-Encoding":"gzip"},i=await this.getAsset(t,n,so.Manifest,e,"extensionGalleryService.engineVersion",{headers:o}),s=await ts(i);if(!s){this.logService.error(`Manifest was not found for the extension ${t} with version ${e}`);return}return s.engines.vscode}catch(o){this.logService.error(`Error while getting the engine for the version ${e}.`,ye(o));return}}async query(t,e){let n=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!n)throw new Error("No extension gallery service configured.");let o=t.text||"",i=t.pageSize??50,s=new mu().withPage(1,i);o?(o=o.replace(/\bcategory:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g,(p,m,f)=>(s=s.withFilter("Category",f||m),"")),o=o.replace(/\btag:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g,(p,m,f)=>(s=s.withFilter("Tag",f||m),"")),o=o.replace(/\bfeatured(\s+|\b|$)/g,()=>(s=s.withFilter("Featured"),"")),o=o.trim(),o&&(o=o.length<200?o:o.substring(0,200),s=s.withFilter("SearchText",o)),n.capabilities.extensionQuery.sorting?.some(p=>p.name==="NoneOrRelevance")&&(s=s.withSortBy("NoneOrRelevance"))):n.capabilities.extensionQuery.sorting?.some(p=>p.name==="InstallCount")&&(s=s.withSortBy("InstallCount")),t.sortBy&&n.capabilities.extensionQuery.sorting?.some(p=>p.name===t.sortBy)&&(s=s.withSortBy(t.sortBy)),typeof t.sortOrder=="number"&&(s=s.withSortOrder(t.sortOrder)),t.source&&(s=s.withSource(t.source));let a=async(p,m)=>{let{extensions:f,total:h}=await this.queryGalleryExtensions(p,{targetPlatform:vI,compatible:!1,includePreRelease:!!t.includePreRelease,productVersion:t.productVersion??{version:this.productService.version,date:this.productService.date}},n,m),v=[],I;for(let E=0;E<f.length;E++){let w=f[E];NN(w,(p.pageNumber-1)*p.pageSize+E,t.source),ke(w.identifier,{id:this.productService.defaultChatAgent.extensionId})?I=w:v.push(w)}return I&&v.push(I),{extensions:v,total:h}},{extensions:l,total:c}=await a(s,e),u=async(p,m)=>{if(m.isCancellationRequested)throw new et;let{extensions:f}=await a(s.withPage(p+1),m);return f};return{firstPage:l,total:c,pageSize:s.pageSize,getPage:u}}async queryGalleryExtensions(t,e,n,o){let i=t.flags;t.flags.includes("IncludeLatestVersionOnly")&&t.flags.includes("IncludeVersions")&&(t=t.withFlags(...t.flags.filter(m=>m!=="IncludeVersions"))),!t.flags.includes("IncludeLatestVersionOnly")&&!t.flags.includes("IncludeVersions")&&(t=t.withFlags(...t.flags,"IncludeLatestVersionOnly")),(e.versions?.length||e.isQueryForReleaseVersionFromPreReleaseVersion)&&(t=t.withFlags(...t.flags.filter(m=>m!=="IncludeLatestVersionOnly"),"IncludeVersions")),t=t.withFlags(...t.flags,"IncludeAssetUri","IncludeCategoryAndTags","IncludeFiles","IncludeStatistics","IncludeVersionProperties");let{galleryExtensions:s,total:a,context:l}=await this.queryRawGalleryExtensions(t,n,o);if(!t.flags.includes("IncludeLatestVersionOnly")){let m=[];for(let f of s){let h=yI(f),v={id:Do(f.publisher.publisherName,f.extensionName),uuid:f.extensionId},I=Jo(e.includePreRelease)?e.includePreRelease:!!e.includePreRelease.find(w=>ke(w,v))?.includePreRelease,E=await this.getValidRawGalleryExtensionVersion(f,f.versions,{compatible:e.compatible,targetPlatform:e.targetPlatform,productVersion:e.productVersion,version:e.versions?.find(w=>ke(w,v))?.version??(I?2:0)},h);E&&m.push(BT(f,E,h,n,this.productService,l))}return{extensions:m,total:a}}let u=[],p=new Map;for(let m=0;m<s.length;m++){let f=s[m],h={id:Do(f.publisher.publisherName,f.extensionName),uuid:f.extensionId},v=Jo(e.includePreRelease)?e.includePreRelease:!!e.includePreRelease.find(P=>ke(P,h))?.includePreRelease,I=yI(f);if(e.compatible&&(su(I,e.targetPlatform)||this.allowedExtensionsService.isAllowed({id:h.id,publisherDisplayName:f.publisher.displayName})!==!0))continue;let E=await this.getValidRawGalleryExtensionVersion(f,f.versions,{compatible:e.compatible,targetPlatform:e.targetPlatform,productVersion:e.productVersion,version:e.versions?.find(P=>ke(P,h))?.version??(v?2:0)},I),w=E?BT(f,E,I,n,this.productService,l):null;!w||w.properties.isPreReleaseVersion&&(!v||!w.hasReleaseVersion)||!w.properties.isPreReleaseVersion&&w.properties.targetPlatform!==e.targetPlatform&&w.hasPreReleaseVersion?p.set(f.extensionId,m):u.push([m,w])}if(p.size){let m=new Zn,f=new mu().withFlags(...i.filter(v=>v!=="IncludeLatestVersionOnly"),"IncludeVersions").withPage(1,p.size).withFilter("ExtensionId",...p.keys()),{extensions:h}=await this.queryGalleryExtensions(f,e,n,o);this.telemetryService.publicLog2("galleryService:additionalQuery",{duration:m.elapsed(),count:p.size});for(let v of h){let I=p.get(v.identifier.uuid);u.push([I,v])}}return{extensions:u.sort((m,f)=>m[0]-f[0]).map(([,m])=>m),total:a}}async getValidRawGalleryExtensionVersion(t,e,n,o){let i={id:Do(t.publisher.publisherName,t.extensionName),uuid:t.extensionId},s=ON(e,n.targetPlatform);if(n.compatible&&su(o,n.targetPlatform))return null;let a=j(n.version)?n.version:void 0;for(let l=0;l<s.length;l++){let c=s[l];if(n.compatible&&await this.setEngineIfNotExists(i.id,c),await this.isValidVersion({id:i.id,version:c.version,isPreReleaseVersion:fu(c),targetPlatform:bc(c),engine:SI(c),manifestAsset:Pi(c,so.Manifest),enabledApiProposals:qT(c)},n,t.publisher.displayName,o))return c;if(a&&c.version===a)return null}return a||n.compatible?null:t.versions[0]}async setEngineIfNotExists(t,e){if(!SI(e))try{let n=await this.getEngine(t,e.version,Pi(e,so.Manifest));n&&t3(e,n)}catch(n){this.logService.error(`Error while getting the engine for the version ${e.version}.`,ye(n))}}async queryRawGalleryExtensions(t,e,n){let o=yc(e,"ExtensionQueryService");if(!o)throw new Error("No extension gallery query service configured.");t=t.withFlags(...t.flags,"ExcludeNonValidated").withFilter("Target","Microsoft.VisualStudio.Code");let i=e.capabilities.extensionQuery.flags?.find(f=>f.name==="Unpublished");i&&(t=t.withFilter("ExcludeWithFlags",String(i.value)));let s=JSON.stringify({filters:[{criteria:t.criteria.reduce((f,h)=>{let v=e.capabilities.extensionQuery.filtering?.find(I=>I.name===h.filterType);return v&&f.push({filterType:v.value,value:h.value}),f},[]),pageNumber:t.pageNumber,pageSize:t.pageSize,sortBy:e.capabilities.extensionQuery.sorting?.find(f=>f.name===t.sortBy)?.value,sortOrder:t.sortOrder}],assetTypes:t.assetTypes,flags:t.flags.reduce((f,h)=>{let v=e.capabilities.extensionQuery.flags?.find(I=>I.name===h);return v&&(f|=v.value),f},0)}),l={...await this.commonHeadersPromise,"Content-Type":"application/json",Accept:"application/json;api-version=3.0-preview.1","Accept-Encoding":"gzip","Content-Length":String(s.length)},c=new Zn,u,p,m=0;try{if(u=await this.requestService.request({type:"POST",url:o,data:s,headers:l,callSite:"extensionGalleryService.queryRawGalleryExtensions"},n),u.res.statusCode&&u.res.statusCode>=400&&u.res.statusCode<500)return{galleryExtensions:[],total:m};let f=await ts(u);if(f){let h=f.results[0],v=h.extensions,I=h.resultMetadata&&h.resultMetadata.filter(E=>E.metadataType==="ResultCount")[0];return m=I&&I.metadataItems.filter(E=>E.name==="TotalCount")[0].count||0,{galleryExtensions:v,total:m,context:u.res.headers.activityid?{[bI]:u.res.headers.activityid}:{}}}return{galleryExtensions:[],total:m}}catch(f){if(on(f))throw p="Cancelled",f;{let h=ye(f);throw p=AT(f)?"Offline":h.startsWith("XHR timeout")?"Timeout":"Failed",new Fr(h,p)}}finally{this.telemetryService.publicLog2("galleryService:query",{filterTypes:t.criteria.map(f=>f.filterType),flags:t.flags,sortBy:t.sortBy,sortOrder:String(t.sortOrder),pageNumber:String(t.pageNumber),source:t.source,searchTextLength:t.searchText.length,requestBodySize:String(s.length),duration:c.elapsed(),success:!!u&&mc(u),responseBodySize:u?.res.headers["Content-Length"],statusCode:u?String(u.res.statusCode):void 0,errorCode:p,count:String(m),server:this.getHeaderValue(u?.res.headers,HT),activityId:this.getHeaderValue(u?.res.headers,FT),endToEndId:this.getHeaderValue(u?.res.headers,WT)})}}getHeaderValue(t,e){let n=t?.[e.toLowerCase()],o=Array.isArray(n)?n[0]:n;return o?new vr(o):void 0}async getLatestRawGalleryExtensionWithFallback(t,e,n){let[o,i]=t.id.split("."),s;try{let a=S.parse(Dr(e.uri,{publisher:o,name:i}));return await this.getLatestRawGalleryExtension(t.id,a,n)}catch(a){if(a instanceof Fr)switch(s=a.code,a.code){case"Offline":case"Cancelled":case"Timeout":case"ClientError":throw a}else s="Unknown";if(!e.fallback)throw a}this.logService.error(`Error while getting the latest version for the extension ${t.id} from ${e.uri}. Trying the fallback ${e.fallback}`,s);try{let a=S.parse(Dr(e.fallback,{publisher:o,name:i}));return await this.getLatestRawGalleryExtension(t.id,a,n)}catch(a){throw s=a instanceof Fr?a.code:"Unknown",a}finally{this.telemetryService.publicLog2("galleryService:fallbacktounpkg",{extension:t.id,errorCode:s})}}async getLatestRawGalleryExtension(t,e,n){let o,i,s=new Zn;try{let l={...await this.commonHeadersPromise,"Content-Type":"application/json",Accept:"application/json;api-version=7.2-preview","Accept-Encoding":"gzip"};if(o=await this.requestService.request({type:"GET",url:e.toString(!0),headers:l,timeout:this.getRequestTimeout(),callSite:"extensionGalleryService.getLatestRawGalleryExtension"},n),o.res.statusCode===404)return i="NotFound",null;if(o.res.statusCode&&o.res.statusCode!==200)throw new Error("Unexpected HTTP response: "+o.res.statusCode);let c=await ts(o);return c||(i="NoData"),c}catch(a){let l;throw on(a)?l="Cancelled":AT(a)?l="Offline":ye(a).startsWith("XHR timeout")?l="Timeout":o&&yO(o)?l="ClientError":o&&IO(o)?l="ServerError":l="Failed",i=l,new Fr(a,l)}finally{this.telemetryService.publicLog2("galleryService:getLatest",{extension:t,host:e.authority,duration:s.elapsed(),errorCode:i,statusCode:o?.res.statusCode&&o?.res.statusCode!==200?`${o.res.statusCode}`:void 0,server:this.getHeaderValue(o?.res.headers,HT),activityId:this.getHeaderValue(o?.res.headers,FT),endToEndId:this.getHeaderValue(o?.res.headers,WT)})}}async reportStatistic(t,e,n,o){if(yn){this.logService.info("ExtensionGalleryService#reportStatistic: Skipped in web");return}let i=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!i)return;let s=yc(i,"ExtensionStatisticsUriTemplate");if(!s)return;let a=Dr(s,{publisher:t,name:e,version:n,statTypeName:o}),u={...await this.commonHeadersPromise,Accept:"*/*;api-version=4.0-preview.1"};try{await this.requestService.request({type:"POST",url:a,headers:u,callSite:"extensionGalleryService.reportStatistic"},Pe.None)}catch{}}async download(t,e,n){this.logService.trace("ExtensionGalleryService#download",t.identifier.id);let o=Og(t),i=new Date().getTime(),s=n===2?"install":n===3?"update":"",a=s?{uri:`${t.assets.download.uri}${S.parse(t.assets.download.uri).query?"&":"?"}${s}=true`,fallbackUri:`${t.assets.download.fallbackUri}${S.parse(t.assets.download.fallbackUri).query?"&":"?"}${s}=true`}:t.assets.download,l=t.queryContext?.[bI],c=l&&typeof l=="string"?{[bI]:l}:void 0,u=await this.getAsset(t.identifier.id,a,so.VSIX,t.version,"extensionGalleryService.download",c?{headers:c}:void 0);try{await this.fileService.writeFile(e,u.stream)}catch(p){try{await this.fileService.del(e)}catch(m){this.logService.warn(`Error while deleting the file ${e.toString()}`,ye(m))}throw new Fr(ye(p),"DownloadFailedWriting")}this.telemetryService.publicLog("galleryService:downloadVSIX",{...o,duration:new Date().getTime()-i})}async downloadSignatureArchive(t,e){if(!t.assets.signature)throw new Error("No signature asset found");this.logService.trace("ExtensionGalleryService#downloadSignatureArchive",t.identifier.id);let n=await this.getAsset(t.identifier.id,t.assets.signature,so.Signature,t.version,"extensionGalleryService.signature");try{await this.fileService.writeFile(e,n.stream)}catch(o){try{await this.fileService.del(e)}catch(i){this.logService.warn(`Error while deleting the file ${e.toString()}`,ye(i))}throw new Fr(ye(o),"DownloadFailedWriting")}}async getReadme(t,e){if(t.assets.readme){let n=await this.getAsset(t.identifier.id,t.assets.readme,so.Details,t.version,"extensionGalleryService.readme",{},e);return await es(n)||""}return""}async getManifest(t,e){if(t.assets.manifest){let n=await this.getAsset(t.identifier.id,t.assets.manifest,so.Manifest,t.version,"extensionGalleryService.manifest",{},e),o=await es(n);return o?JSON.parse(o):null}return null}async getCoreTranslation(t,e){let n=t.assets.coreTranslations.filter(o=>o[0]===e.toUpperCase())[0];if(n){let o=await this.getAsset(t.identifier.id,n[1],n[0],t.version,"extensionGalleryService.coreTranslation"),i=await es(o);return i?JSON.parse(i):null}return null}async getChangelog(t,e){if(t.assets.changelog){let n=await this.getAsset(t.identifier.id,t.assets.changelog,so.Changelog,t.version,"extensionGalleryService.changelog",{},e);return await es(n)||""}return""}async getAllVersions(t){return this.getVersions(t)}async getAllCompatibleVersions(t,e,n){return this.getVersions(t,{version:e?2:0,targetPlatform:n})}async getVersions(t,e){let n=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!n)throw new Error("No extension gallery service configured.");let o=new mu().withFlags("IncludeVersions","IncludeCategoryAndTags","IncludeFiles","IncludeVersionProperties").withPage(1,1);t.uuid?o=o.withFilter("ExtensionId",t.uuid):o=o.withFilter("ExtensionName",t.id);let{galleryExtensions:i}=await this.queryRawGalleryExtensions(o,n,Pe.None);if(!i.length)return[];let s=yI(i[0]);if(e&&su(s,e.targetPlatform))return[];let a=[],l={version:this.productService.version,date:this.productService.date};await Promise.all(i[0].versions.map(async p=>{try{await this.isValidVersion({id:t.id,version:p.version,isPreReleaseVersion:fu(p),targetPlatform:bc(p),engine:SI(p),manifestAsset:Pi(p,so.Manifest),enabledApiProposals:qT(p)},{compatible:!!e,productVersion:l,targetPlatform:e?.targetPlatform,version:e?.version??p.version},i[0].publisher.displayName,s)&&a.push(p)}catch{}}));let c=[],u=new Map;for(let p of ON(a,e?.targetPlatform??vI)){let m=u.get(p.version),f=m!==void 0?c[m]:void 0,h=bc(p);f?f.targetPlatforms.push(h):(u.set(p.version,c.length),c.push({version:p.version,date:p.lastUpdated,isPreReleaseVersion:fu(p),targetPlatforms:[h]}))}return c}async getAsset(t,e,n,o,i,s={},a=Pe.None){let l=await this.commonHeadersPromise,c={type:"GET"},u={...l,...s.headers||{}};s={...s,...c,headers:u};let p=e.uri,m=e.fallbackUri,f={...s,url:p,timeout:this.getRequestTimeout(),callSite:i},h;try{if(h=await this.requestService.request(f,a),h.res.statusCode===200)return h;let v=await es(h);throw new Error(`Expected 200, got back ${h.res.statusCode} instead.
${v}`)}catch(v){if(on(v))throw v;let I=ye(v);this.telemetryService.publicLog2("galleryService:cdnFallback",{extension:t,assetType:n,message:I,extensionVersion:o,server:this.getHeaderValue(h?.res.headers,HT),activityId:this.getHeaderValue(h?.res.headers,FT),endToEndId:this.getHeaderValue(h?.res.headers,WT)});let E={...s,url:m,timeout:this.getRequestTimeout(),callSite:`${i}.fallback`};return this.requestService.request(E,a)}}async getExtensionsControlManifest(){if(!await this.extensionGalleryManifestService.getExtensionGalleryManifest())throw new Error("No extension gallery service configured.");if(!this.extensionsControlUrl)return{malicious:[],deprecated:{},search:[],autoUpdate:{}};let e=await this.requestService.request({type:"GET",url:this.extensionsControlUrl,timeout:this.getRequestTimeout(),callSite:"extensionGalleryService.getExtensionsControlManifest"},Pe.None);if(e.res.statusCode!==200)throw new Error("Could not get extensions report.");let n=await ts(e),o=[],i={},s=[],a=n?.autoUpdate??{};if(n){for(let l of n.malicious){if(!j(l))continue;let c=Dg.test(l)?{id:l}:l;o.push({extensionOrPublisher:c,learnMoreLink:n.learnMoreLinks?.[l]})}if(n.migrateToPreRelease)for(let[l,c]of Object.entries(n.migrateToPreRelease))(!c.engine||Ng(c.engine,this.productService.version,this.productService.date))&&(i[l.toLowerCase()]={disallowInstall:!0,extension:{id:c.id,displayName:c.displayName,autoMigrate:{storage:!!c.migrateStorage},preRelease:!0}});if(n.deprecated)for(let[l,c]of Object.entries(n.deprecated))c&&(i[l.toLowerCase()]=Jo(c)?{}:c);if(n.search)for(let l of n.search)s.push(l)}return i[this.productService.defaultChatAgent.extensionId.toLowerCase()]={disallowInstall:!0,extension:{id:this.productService.defaultChatAgent.chatExtensionId,displayName:"GitHub Copilot Chat",autoMigrate:{storage:!1,donotDisable:!0},preRelease:this.productService.quality!=="stable"}},{malicious:o,deprecated:i,search:s,autoUpdate:a}}getRequestTimeout(){let t=this.configurationService.getValue(dN);return po(t)&&t>=0?t:6e4}};gu=C([b(1,oo),b(2,z),b(3,_t),b(4,Pt),b(5,Oe),b(6,He),b(7,ft),b(8,Hr),b(9,ss)],gu);II=class extends gu{constructor(t,e,n,o,i,s,a,l,c,u){super(t,e,n,o,i,s,a,l,c,u)}};II=C([b(0,si),b(1,oo),b(2,z),b(3,_t),b(4,Pt),b(5,Oe),b(6,He),b(7,ft),b(8,Hr),b(9,ss)],II);tl=class extends gu{constructor(t,e,n,o,i,s,a,l,c){super(void 0,t,e,n,o,i,s,a,l,c)}};tl=C([b(0,oo),b(1,z),b(2,_t),b(3,Pt),b(4,Oe),b(5,He),b(6,ft),b(7,Hr),b(8,ss)],tl)});import{createWriteStream as HN,promises as GT}from"fs";function u3(r){let t=r.externalFileAttributes>>16||33188;return[448,56,7].map(e=>t&e).reduce((e,n)=>e+n,t&61440)}function jT(r){if(r instanceof Sc)return r;let t;return d3.test(r.message)&&(t="CorruptZip"),new Sc(t,r)}function p3(r,t,e,n,o,i){let s=Nt(t),a=q(n,s);if(!a.startsWith(n))return Promise.reject(new Error(d(153,null,t)));let l=q(n,t),c,u=i.onCancellationRequested(()=>{c?.destroy()});return Promise.resolve(GT.mkdir(a,{recursive:!0})).then(()=>new Promise((p,m)=>{if(i.isCancellationRequested){p();return}try{c=HN(l,{mode:e}),c.once("close",()=>p()),c.once("error",m),r.once("error",m),r.pipe(c)}catch(f){m(f)}})).finally(()=>u.dispose())}function m3(r,t,e,n){let o=Xo(()=>Promise.resolve()),i=0,s=n.onCancellationRequested(()=>{o.cancel(),r.close()});return new Promise((a,l)=>{let c=new oy,u=p=>{p.isCancellationRequested||(i++,r.readEntry())};r.once("error",l),r.once("close",()=>o.then(()=>{n.isCancellationRequested||r.entryCount===i?a():l(new Sc("Incomplete",new Error(d(152,null,i,r.entryCount))))},l)),r.readEntry(),r.on("entry",p=>{if(n.isCancellationRequested)return;if(!e.sourcePathRegex.test(p.fileName)){u(n);return}let m=p.fileName.replace(e.sourcePathRegex,"");if(/\/$/.test(m)){let v=q(t,m);o=Xo(I=>GT.mkdir(v,{recursive:!0}).then(()=>u(I)).then(void 0,l));return}let f=VN(r,p),h=u3(p);o=Xo(v=>c.queue(()=>f.then(I=>p3(I,m,h,t,e,v).then(()=>u(v)))).then(null,l))})}).finally(()=>s.dispose())}async function WN(r,t=!1){let{open:e}=await import("yauzl");return new Promise((n,o)=>{e(r,t?{lazyEntries:!0}:void 0,(i,s)=>{i?o(jT(i)):n(Hm(s))})})}function VN(r,t){return new Promise((e,n)=>{r.openReadStream(t,(o,i)=>{o?n(jT(o)):e(Hm(i))})})}async function BN(r,t){let{ZipFile:e}=await import("yazl"),n=new e,o=HN(r),i=new Promise((s,a)=>{n.outputStream.once("error",a),o.once("error",a),o.once("finish",()=>s(r))});n.outputStream.pipe(o);for(let s of t)if(s.contents!==void 0)n.addBuffer(typeof s.contents=="string"?Buffer.from(s.contents,"utf8"):s.contents,s.path);else if(s.localPath)if(s.localPathSize===void 0&&!s.skipSourceErrors)n.addFile(s.localPath,s.path);else{let a;try{a=await GT.open(s.localPath,"r")}catch(c){if(s.skipSourceErrors)continue;throw c}let l=!1;try{let c;try{let u=(await a.stat()).size;c=s.localPathSize===void 0?u:Math.min(s.localPathSize,u)}catch(u){if(s.skipSourceErrors)continue;throw u}if(c===0)n.addBuffer(Buffer.alloc(0),s.path);else{let u=a.createReadStream({start:0,end:c-1});u.once("error",p=>n.outputStream.emit("error",p)),n.addReadStream(u,s.path,{size:c}),l=!0}}finally{l||await a.close()}}return n.end(),i}function qN(r,t,e={},n){let o=new RegExp(e.sourcePath?`^${e.sourcePath}`:""),i=WN(r,!0);return e.overwrite&&(i=i.then(s=>be.rm(t).then(()=>s))),i.then(s=>m3(s,t,{sourcePathRegex:o},n))}function g3(r,t){return WN(r).then(e=>new Promise((n,o)=>{e.once("error",i=>o(jT(i))),e.on("entry",i=>{i.fileName===t&&VN(e,i).then(s=>n(s),s=>o(s))}),e.once("close",()=>o(new Error(d(154,null,t))))}))}function xI(r,t){return g3(r,t).then(e=>new Promise((n,o)=>{let i=[];e.once("error",o),e.on("data",s=>i.push(s)),e.on("end",()=>n(Buffer.concat(i)))}))}var KT,d3,Sc,CI=y(()=>{Ne();Me();we();go();re();KT="end of central directory record signature not found",d3=new RegExp(KT),Sc=class extends Error{constructor(t,e){let n=e.message;t==="CorruptZip"&&(n=`Corrupt ZIP: ${n}`),super(n),this.type=t,this.cause=e}}});var hu,EI=y(()=>{Z();hu=D("downloadService")});var kme,Dme,_me,Mme,Ame,$N=y(()=>{kme=new Uint32Array(10),Dme=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),_me=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),Mme=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),Ame=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108])});function GN(...r){return function(t,e){for(let n=0,o=r.length;n<o;n++){let i=r[n](t,e);if(i)return i}return null}}function jN(r,t,e){if(!e||e.length<t.length)return null;let n;return r?n=Pa(e,t):n=e.indexOf(t)===0,n?t.length>0?[{start:0,end:t.length}]:[]:null}function f3(r,t){if(r.length>t.length)return null;let e=t.toLowerCase().indexOf(r.toLowerCase());return e===-1?null:[{start:e,end:e+r.length}]}function h3(r,t){return r.length>t.length?null:QT(r.toLowerCase(),t.toLowerCase(),0,0)}function QT(r,t,e,n){if(e===r.length)return[];if(n===t.length)return null;if(r[e]===t[n]){let o=null;return(o=QT(r,t,e+1,n+1))?JN({start:n,end:n+1},o):null}return QT(r,t,e,n+1)}function YT(r){return 97<=r&&r<=122}function TI(r){return 65<=r&&r<=90}function XT(r){return 48<=r&&r<=57}function v3(r){return r===32||r===9||r===10||r===13}function QN(r){return YT(r)||TI(r)||XT(r)}function JN(r,t){return t.length===0?t=[r]:r.end===t[0].start?t[0].start=r.start:t.unshift(r),t}function YN(r,t){for(let e=t;e<r.length;e++){let n=r.charCodeAt(e);if(TI(n)||XT(n)||e>0&&!QN(r.charCodeAt(e-1)))return e}return r.length}function JT(r,t,e,n){if(e===r.length)return[];if(n===t.length)return null;if(r[e]!==t[n].toLowerCase())return null;{let o=null,i=n+1;for(o=JT(r,t,e+1,n+1);!o&&(i=YN(t,i))<t.length;)o=JT(r,t,e+1,i),i++;return o===null?null:JN({start:n,end:n+1},o)}}function I3(r){let t=0,e=0,n=0,o=0,i=0;for(let u=0;u<r.length;u++)i=r.charCodeAt(u),TI(i)&&t++,YT(i)&&e++,QN(i)&&n++,XT(i)&&o++;let s=t/r.length,a=e/r.length,l=n/r.length,c=o/r.length;return{upperPercent:s,lowerPercent:a,alphaPercent:l,numericPercent:c}}function b3(r){let{upperPercent:t,lowerPercent:e}=r;return e===0&&t>.6}function S3(r){let{upperPercent:t,lowerPercent:e,alphaPercent:n,numericPercent:o}=r;return e>.2&&t<.8&&n>.6&&o<.2}function x3(r){let t=0,e=0,n=0,o=0;for(let i=0;i<r.length;i++)n=r.charCodeAt(i),TI(n)&&t++,YT(n)&&e++,v3(n)&&o++;return(t===0||e===0)&&o===0?r.length<=30:t<=5}function XN(r,t){if(!t||(t=t.trim(),t.length===0)||!x3(r))return null;t.length>60&&(t=t.substring(0,60));let e=I3(t);if(!S3(e)){if(!b3(e))return null;t=t.toLowerCase()}let n=null,o=0;for(r=r.toLowerCase();o<t.length&&(n=JT(r,t,0,o))===null;)o=YN(t,o+1);return n}function ZT(){let r=[],t=[];for(let e=0;e<=wI;e++)t[e]=0;for(let e=0;e<=wI;e++)r.push(t.slice(0));return r}function ZN(r){let t=[];for(let e=0;e<=r;e++)t[e]=0;return t}var Bme,KN,y3,qme,$me,zme,wI,Gme,Kme,jme,Qme,Jme,C3,zN,eU=y(()=>{ti();Sn();$N();sy();Tt();Bme=jN.bind(void 0,!1),KN=jN.bind(void 0,!0);y3=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(r=>y3.add(r.charCodeAt(0)));qme=GN(KN,XN,f3),$me=GN(KN,XN,h3),zme=new Ki(1e4),wI=128;Gme=ZN(2*wI),Kme=ZN(2*wI),jme=ZT(),Qme=ZT(),Jme=ZT();(e=>{e.Default=[-100,0];function t(n){return!n||n.length===2&&n[0]===-100&&n[1]===0}e.isDefault=t})(C3||={});zN=class{constructor(t,e){this.firstMatchCanBeWeak=t;this.boostFullMatch=e}static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}}});function g(r,t){if(j(t)){let e=eR[t];if(e===void 0)throw new Error(`${r} references an unknown codicon: ${t}`);t=e}return eR[r]=t,{id:r}}function tU(){return eR}var eR,RI=y(()=>{we();eR=Object.create(null)});var nU,oU=y(()=>{RI();nU={add:g("add",6e4),plus:g("plus",6e4),gistNew:g("gist-new",6e4),repoCreate:g("repo-create",6e4),lightbulb:g("lightbulb",60001),lightBulb:g("light-bulb",60001),repo:g("repo",60002),repoDelete:g("repo-delete",60002),gistFork:g("gist-fork",60003),repoForked:g("repo-forked",60003),gitPullRequest:g("git-pull-request",60004),gitPullRequestAbandoned:g("git-pull-request-abandoned",60004),recordKeys:g("record-keys",60005),keyboard:g("keyboard",60005),tag:g("tag",60006),gitPullRequestLabel:g("git-pull-request-label",60006),tagAdd:g("tag-add",60006),tagRemove:g("tag-remove",60006),person:g("person",60007),personFollow:g("person-follow",60007),personOutline:g("person-outline",60007),personFilled:g("person-filled",60007),sourceControl:g("source-control",60008),mirror:g("mirror",60009),mirrorPublic:g("mirror-public",60009),star:g("star",60010),starAdd:g("star-add",60010),starDelete:g("star-delete",60010),starEmpty:g("star-empty",60010),comment:g("comment",60011),commentAdd:g("comment-add",60011),alert:g("alert",60012),warning:g("warning",60012),search:g("search",60013),searchSave:g("search-save",60013),logOut:g("log-out",60014),signOut:g("sign-out",60014),logIn:g("log-in",60015),signIn:g("sign-in",60015),eye:g("eye",60016),eyeUnwatch:g("eye-unwatch",60016),eyeWatch:g("eye-watch",60016),circleFilled:g("circle-filled",60017),primitiveDot:g("primitive-dot",60017),closeDirty:g("close-dirty",60017),debugBreakpoint:g("debug-breakpoint",60017),debugBreakpointDisabled:g("debug-breakpoint-disabled",60017),debugHint:g("debug-hint",60017),terminalDecorationSuccess:g("terminal-decoration-success",60017),primitiveSquare:g("primitive-square",60018),edit:g("edit",60019),pencil:g("pencil",60019),info:g("info",60020),issueOpened:g("issue-opened",60020),gistPrivate:g("gist-private",60021),gitForkPrivate:g("git-fork-private",60021),lock:g("lock",60021),mirrorPrivate:g("mirror-private",60021),close:g("close",60022),removeClose:g("remove-close",60022),x:g("x",60022),repoSync:g("repo-sync",60023),sync:g("sync",60023),clone:g("clone",60024),desktopDownload:g("desktop-download",60024),beaker:g("beaker",60025),microscope:g("microscope",60025),vm:g("vm",60026),deviceDesktop:g("device-desktop",60026),file:g("file",60027),more:g("more",60028),ellipsis:g("ellipsis",60028),kebabHorizontal:g("kebab-horizontal",60028),mailReply:g("mail-reply",60029),reply:g("reply",60029),organization:g("organization",60030),organizationFilled:g("organization-filled",60030),organizationOutline:g("organization-outline",60030),newFile:g("new-file",60031),fileAdd:g("file-add",60031),newFolder:g("new-folder",60032),fileDirectoryCreate:g("file-directory-create",60032),trash:g("trash",60033),trashcan:g("trashcan",60033),history:g("history",60034),clock:g("clock",60034),folder:g("folder",60035),fileDirectory:g("file-directory",60035),symbolFolder:g("symbol-folder",60035),logoGithub:g("logo-github",60036),markGithub:g("mark-github",60036),github:g("github",60036),terminal:g("terminal",60037),console:g("console",60037),repl:g("repl",60037),zap:g("zap",60038),symbolEvent:g("symbol-event",60038),error:g("error",60039),stop:g("stop",60039),variable:g("variable",60040),symbolVariable:g("symbol-variable",60040),array:g("array",60042),symbolArray:g("symbol-array",60042),symbolModule:g("symbol-module",60043),symbolPackage:g("symbol-package",60043),symbolNamespace:g("symbol-namespace",60043),symbolObject:g("symbol-object",60043),symbolMethod:g("symbol-method",60044),symbolFunction:g("symbol-function",60044),symbolConstructor:g("symbol-constructor",60044),symbolBoolean:g("symbol-boolean",60047),symbolNull:g("symbol-null",60047),symbolNumeric:g("symbol-numeric",60048),symbolNumber:g("symbol-number",60048),symbolStructure:g("symbol-structure",60049),symbolStruct:g("symbol-struct",60049),symbolParameter:g("symbol-parameter",60050),symbolTypeParameter:g("symbol-type-parameter",60050),symbolKey:g("symbol-key",60051),symbolText:g("symbol-text",60051),symbolReference:g("symbol-reference",60052),goToFile:g("go-to-file",60052),symbolEnum:g("symbol-enum",60053),symbolValue:g("symbol-value",60053),symbolRuler:g("symbol-ruler",60054),symbolUnit:g("symbol-unit",60054),activateBreakpoints:g("activate-breakpoints",60055),archive:g("archive",60056),arrowBoth:g("arrow-both",60057),arrowDown:g("arrow-down",60058),arrowLeft:g("arrow-left",60059),arrowRight:g("arrow-right",60060),arrowSmallDown:g("arrow-small-down",60061),arrowSmallLeft:g("arrow-small-left",60062),arrowSmallRight:g("arrow-small-right",60063),arrowSmallUp:g("arrow-small-up",60064),arrowUp:g("arrow-up",60065),bell:g("bell",60066),bold:g("bold",60067),book:g("book",60068),bookmark:g("bookmark",60069),debugBreakpointConditionalUnverified:g("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:g("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:g("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:g("debug-breakpoint-data-unverified",60072),debugBreakpointData:g("debug-breakpoint-data",60073),debugBreakpointDataDisabled:g("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:g("debug-breakpoint-log-unverified",60074),debugBreakpointLog:g("debug-breakpoint-log",60075),debugBreakpointLogDisabled:g("debug-breakpoint-log-disabled",60075),briefcase:g("briefcase",60076),broadcast:g("broadcast",60077),browser:g("browser",60078),bug:g("bug",60079),calendar:g("calendar",60080),caseSensitive:g("case-sensitive",60081),check:g("check",60082),checklist:g("checklist",60083),chevronDown:g("chevron-down",60084),chevronLeft:g("chevron-left",60085),chevronRight:g("chevron-right",60086),chevronUp:g("chevron-up",60087),chromeClose:g("chrome-close",60088),chromeMaximize:g("chrome-maximize",60089),chromeMinimize:g("chrome-minimize",60090),chromeRestore:g("chrome-restore",60091),circleOutline:g("circle-outline",60092),circle:g("circle",60092),debugBreakpointUnverified:g("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:g("terminal-decoration-incomplete",60092),circleSlash:g("circle-slash",60093),circuitBoard:g("circuit-board",60094),clearAll:g("clear-all",60095),clippy:g("clippy",60096),closeAll:g("close-all",60097),cloudDownload:g("cloud-download",60098),cloudUpload:g("cloud-upload",60099),code:g("code",60100),collapseAll:g("collapse-all",60101),colorMode:g("color-mode",60102),commentDiscussion:g("comment-discussion",60103),creditCard:g("credit-card",60105),dash:g("dash",60108),dashboard:g("dashboard",60109),database:g("database",60110),debugContinue:g("debug-continue",60111),debugDisconnect:g("debug-disconnect",60112),debugPause:g("debug-pause",60113),debugRestart:g("debug-restart",60114),debugStart:g("debug-start",60115),debugStepInto:g("debug-step-into",60116),debugStepOut:g("debug-step-out",60117),debugStepOver:g("debug-step-over",60118),debugStop:g("debug-stop",60119),debug:g("debug",60120),deviceCameraVideo:g("device-camera-video",60121),deviceCamera:g("device-camera",60122),deviceMobile:g("device-mobile",60123),diffAdded:g("diff-added",60124),diffIgnored:g("diff-ignored",60125),diffModified:g("diff-modified",60126),diffRemoved:g("diff-removed",60127),diffRenamed:g("diff-renamed",60128),diff:g("diff",60129),diffSidebyside:g("diff-sidebyside",60129),discard:g("discard",60130),editorLayout:g("editor-layout",60131),emptyWindow:g("empty-window",60132),exclude:g("exclude",60133),extensions:g("extensions",60134),eyeClosed:g("eye-closed",60135),fileBinary:g("file-binary",60136),fileCode:g("file-code",60137),fileMedia:g("file-media",60138),filePdf:g("file-pdf",60139),fileSubmodule:g("file-submodule",60140),fileSymlinkDirectory:g("file-symlink-directory",60141),fileSymlinkFile:g("file-symlink-file",60142),fileZip:g("file-zip",60143),files:g("files",60144),filter:g("filter",60145),flame:g("flame",60146),foldDown:g("fold-down",60147),foldUp:g("fold-up",60148),fold:g("fold",60149),folderActive:g("folder-active",60150),folderOpened:g("folder-opened",60151),gear:g("gear",60152),gift:g("gift",60153),gistSecret:g("gist-secret",60154),gist:g("gist",60155),gitCommit:g("git-commit",60156),gitCompare:g("git-compare",60157),compareChanges:g("compare-changes",60157),gitMerge:g("git-merge",60158),githubAction:g("github-action",60159),githubAlt:g("github-alt",60160),globe:g("globe",60161),grabber:g("grabber",60162),graph:g("graph",60163),gripper:g("gripper",60164),heart:g("heart",60165),home:g("home",60166),horizontalRule:g("horizontal-rule",60167),hubot:g("hubot",60168),inbox:g("inbox",60169),issueReopened:g("issue-reopened",60171),issues:g("issues",60172),italic:g("italic",60173),jersey:g("jersey",60174),json:g("json",60175),bracket:g("bracket",60175),kebabVertical:g("kebab-vertical",60176),key:g("key",60177),law:g("law",60178),lightbulbAutofix:g("lightbulb-autofix",60179),linkExternal:g("link-external",60180),link:g("link",60181),listOrdered:g("list-ordered",60182),listUnordered:g("list-unordered",60183),liveShare:g("live-share",60184),loading:g("loading",60185),location:g("location",60186),mailRead:g("mail-read",60187),mail:g("mail",60188),markdown:g("markdown",60189),megaphone:g("megaphone",60190),mention:g("mention",60191),milestone:g("milestone",60192),gitPullRequestMilestone:g("git-pull-request-milestone",60192),mortarBoard:g("mortar-board",60193),move:g("move",60194),multipleWindows:g("multiple-windows",60195),mute:g("mute",60196),noNewline:g("no-newline",60197),note:g("note",60198),octoface:g("octoface",60199),openPreview:g("open-preview",60200),package:g("package",60201),paintcan:g("paintcan",60202),pin:g("pin",60203),play:g("play",60204),run:g("run",60204),plug:g("plug",60205),preserveCase:g("preserve-case",60206),preview:g("preview",60207),project:g("project",60208),pulse:g("pulse",60209),question:g("question",60210),quote:g("quote",60211),radioTower:g("radio-tower",60212),reactions:g("reactions",60213),references:g("references",60214),refresh:g("refresh",60215),regex:g("regex",60216),remoteExplorer:g("remote-explorer",60217),remote:g("remote",60218),remove:g("remove",60219),replaceAll:g("replace-all",60220),replace:g("replace",60221),repoClone:g("repo-clone",60222),repoForcePush:g("repo-force-push",60223),repoPull:g("repo-pull",60224),repoPush:g("repo-push",60225),report:g("report",60226),requestChanges:g("request-changes",60227),rocket:g("rocket",60228),rootFolderOpened:g("root-folder-opened",60229),rootFolder:g("root-folder",60230),rss:g("rss",60231),ruby:g("ruby",60232),saveAll:g("save-all",60233),saveAs:g("save-as",60234),save:g("save",60235),screenFull:g("screen-full",60236),screenNormal:g("screen-normal",60237),searchStop:g("search-stop",60238),server:g("server",60240),settingsGear:g("settings-gear",60241),settings:g("settings",60242),shield:g("shield",60243),smiley:g("smiley",60244),sortPrecedence:g("sort-precedence",60245),splitHorizontal:g("split-horizontal",60246),splitVertical:g("split-vertical",60247),squirrel:g("squirrel",60248),starFull:g("star-full",60249),starHalf:g("star-half",60250),symbolClass:g("symbol-class",60251),symbolColor:g("symbol-color",60252),symbolConstant:g("symbol-constant",60253),symbolEnumMember:g("symbol-enum-member",60254),symbolField:g("symbol-field",60255),symbolFile:g("symbol-file",60256),symbolInterface:g("symbol-interface",60257),symbolKeyword:g("symbol-keyword",60258),symbolMisc:g("symbol-misc",60259),symbolOperator:g("symbol-operator",60260),symbolProperty:g("symbol-property",60261),wrench:g("wrench",60261),wrenchSubaction:g("wrench-subaction",60261),symbolSnippet:g("symbol-snippet",60262),tasklist:g("tasklist",60263),telescope:g("telescope",60264),textSize:g("text-size",60265),threeBars:g("three-bars",60266),thumbsdown:g("thumbsdown",60267),thumbsup:g("thumbsup",60268),tools:g("tools",60269),triangleDown:g("triangle-down",60270),triangleLeft:g("triangle-left",60271),triangleRight:g("triangle-right",60272),triangleUp:g("triangle-up",60273),twitter:g("twitter",60274),unfold:g("unfold",60275),unlock:g("unlock",60276),unmute:g("unmute",60277),unverified:g("unverified",60278),verified:g("verified",60279),versions:g("versions",60280),vmActive:g("vm-active",60281),vmOutline:g("vm-outline",60282),vmRunning:g("vm-running",60283),watch:g("watch",60284),whitespace:g("whitespace",60285),wholeWord:g("whole-word",60286),window:g("window",60287),wordWrap:g("word-wrap",60288),zoomIn:g("zoom-in",60289),zoomOut:g("zoom-out",60290),listFilter:g("list-filter",60291),listFlat:g("list-flat",60292),listSelection:g("list-selection",60293),selection:g("selection",60293),listTree:g("list-tree",60294),debugBreakpointFunctionUnverified:g("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:g("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:g("debug-breakpoint-function-disabled",60296),debugStackframeActive:g("debug-stackframe-active",60297),circleSmallFilled:g("circle-small-filled",60298),debugStackframeDot:g("debug-stackframe-dot",60298),terminalDecorationMark:g("terminal-decoration-mark",60298),debugStackframe:g("debug-stackframe",60299),debugStackframeFocused:g("debug-stackframe-focused",60299),debugBreakpointUnsupported:g("debug-breakpoint-unsupported",60300),symbolString:g("symbol-string",60301),debugReverseContinue:g("debug-reverse-continue",60302),debugStepBack:g("debug-step-back",60303),debugRestartFrame:g("debug-restart-frame",60304),debugAlt:g("debug-alt",60305),callIncoming:g("call-incoming",60306),callOutgoing:g("call-outgoing",60307),menu:g("menu",60308),expandAll:g("expand-all",60309),feedback:g("feedback",60310),gitPullRequestReviewer:g("git-pull-request-reviewer",60310),groupByRefType:g("group-by-ref-type",60311),ungroupByRefType:g("ungroup-by-ref-type",60312),account:g("account",60313),gitPullRequestAssignee:g("git-pull-request-assignee",60313),bellDot:g("bell-dot",60314),debugConsole:g("debug-console",60315),library:g("library",60316),output:g("output",60317),runAll:g("run-all",60318),syncIgnored:g("sync-ignored",60319),pinned:g("pinned",60320),githubInverted:g("github-inverted",60321),serverProcess:g("server-process",60322),serverEnvironment:g("server-environment",60323),pass:g("pass",60324),issueClosed:g("issue-closed",60324),stopCircle:g("stop-circle",60325),playCircle:g("play-circle",60326),record:g("record",60327),debugAltSmall:g("debug-alt-small",60328),vmConnect:g("vm-connect",60329),cloud:g("cloud",60330),merge:g("merge",60331),export:g("export",60332),graphLeft:g("graph-left",60333),magnet:g("magnet",60334),notebook:g("notebook",60335),redo:g("redo",60336),checkAll:g("check-all",60337),pinnedDirty:g("pinned-dirty",60338),passFilled:g("pass-filled",60339),circleLargeFilled:g("circle-large-filled",60340),circleLarge:g("circle-large",60341),circleLargeOutline:g("circle-large-outline",60341),combine:g("combine",60342),gather:g("gather",60342),table:g("table",60343),variableGroup:g("variable-group",60344),typeHierarchy:g("type-hierarchy",60345),typeHierarchySub:g("type-hierarchy-sub",60346),typeHierarchySuper:g("type-hierarchy-super",60347),gitPullRequestCreate:g("git-pull-request-create",60348),runAbove:g("run-above",60349),runBelow:g("run-below",60350),notebookTemplate:g("notebook-template",60351),debugRerun:g("debug-rerun",60352),workspaceTrusted:g("workspace-trusted",60353),workspaceUntrusted:g("workspace-untrusted",60354),workspaceUnknown:g("workspace-unknown",60355),terminalCmd:g("terminal-cmd",60356),terminalDebian:g("terminal-debian",60357),terminalLinux:g("terminal-linux",60358),terminalPowershell:g("terminal-powershell",60359),terminalTmux:g("terminal-tmux",60360),terminalUbuntu:g("terminal-ubuntu",60361),terminalBash:g("terminal-bash",60362),arrowSwap:g("arrow-swap",60363),copy:g("copy",60364),personAdd:g("person-add",60365),filterFilled:g("filter-filled",60366),wand:g("wand",60367),debugLineByLine:g("debug-line-by-line",60368),inspect:g("inspect",60369),layers:g("layers",60370),layersDot:g("layers-dot",60371),layersActive:g("layers-active",60372),compass:g("compass",60373),compassDot:g("compass-dot",60374),compassActive:g("compass-active",60375),azure:g("azure",60376),issueDraft:g("issue-draft",60377),gitPullRequestClosed:g("git-pull-request-closed",60378),gitPullRequestDraft:g("git-pull-request-draft",60379),debugAll:g("debug-all",60380),debugCoverage:g("debug-coverage",60381),runErrors:g("run-errors",60382),folderLibrary:g("folder-library",60383),debugContinueSmall:g("debug-continue-small",60384),beakerStop:g("beaker-stop",60385),graphLine:g("graph-line",60386),graphScatter:g("graph-scatter",60387),pieChart:g("pie-chart",60388),bracketDot:g("bracket-dot",60389),bracketError:g("bracket-error",60390),lockSmall:g("lock-small",60391),azureDevops:g("azure-devops",60392),verifiedFilled:g("verified-filled",60393),newline:g("newline",60394),layout:g("layout",60395),layoutActivitybarLeft:g("layout-activitybar-left",60396),layoutActivitybarRight:g("layout-activitybar-right",60397),layoutPanelLeft:g("layout-panel-left",60398),layoutPanelCenter:g("layout-panel-center",60399),layoutPanelJustify:g("layout-panel-justify",60400),layoutPanelRight:g("layout-panel-right",60401),layoutPanel:g("layout-panel",60402),layoutSidebarLeft:g("layout-sidebar-left",60403),layoutSidebarRight:g("layout-sidebar-right",60404),layoutStatusbar:g("layout-statusbar",60405),layoutMenubar:g("layout-menubar",60406),layoutCentered:g("layout-centered",60407),target:g("target",60408),indent:g("indent",60409),recordSmall:g("record-small",60410),errorSmall:g("error-small",60411),terminalDecorationError:g("terminal-decoration-error",60411),arrowCircleDown:g("arrow-circle-down",60412),arrowCircleLeft:g("arrow-circle-left",60413),arrowCircleRight:g("arrow-circle-right",60414),arrowCircleUp:g("arrow-circle-up",60415),layoutSidebarRightOff:g("layout-sidebar-right-off",60416),layoutPanelOff:g("layout-panel-off",60417),layoutSidebarLeftOff:g("layout-sidebar-left-off",60418),blank:g("blank",60419),heartFilled:g("heart-filled",60420),map:g("map",60421),mapHorizontal:g("map-horizontal",60421),foldHorizontal:g("fold-horizontal",60421),mapFilled:g("map-filled",60422),mapHorizontalFilled:g("map-horizontal-filled",60422),foldHorizontalFilled:g("fold-horizontal-filled",60422),circleSmall:g("circle-small",60423),bellSlash:g("bell-slash",60424),bellSlashDot:g("bell-slash-dot",60425),commentUnresolved:g("comment-unresolved",60426),gitPullRequestGoToChanges:g("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:g("git-pull-request-new-changes",60428),searchFuzzy:g("search-fuzzy",60429),commentDraft:g("comment-draft",60430),send:g("send",60431),sparkle:g("sparkle",60432),insert:g("insert",60433),mic:g("mic",60434),thumbsdownFilled:g("thumbsdown-filled",60435),thumbsupFilled:g("thumbsup-filled",60436),coffee:g("coffee",60437),snake:g("snake",60438),game:g("game",60439),vr:g("vr",60440),chip:g("chip",60441),piano:g("piano",60442),music:g("music",60443),micFilled:g("mic-filled",60444),repoFetch:g("repo-fetch",60445),copilot:g("copilot",60446),lightbulbSparkle:g("lightbulb-sparkle",60447),robot:g("robot",60448),sparkleFilled:g("sparkle-filled",60449),diffSingle:g("diff-single",60450),diffMultiple:g("diff-multiple",60451),surroundWith:g("surround-with",60452),share:g("share",60453),gitStash:g("git-stash",60454),gitStashApply:g("git-stash-apply",60455),gitStashPop:g("git-stash-pop",60456),vscode:g("vscode",60457),vscodeInsiders:g("vscode-insiders",60458),codeOss:g("code-oss",60459),runCoverage:g("run-coverage",60460),runAllCoverage:g("run-all-coverage",60461),coverage:g("coverage",60462),githubProject:g("github-project",60463),mapVertical:g("map-vertical",60464),foldVertical:g("fold-vertical",60464),mapVerticalFilled:g("map-vertical-filled",60465),foldVerticalFilled:g("fold-vertical-filled",60465),goToSearch:g("go-to-search",60466),percentage:g("percentage",60467),sortPercentage:g("sort-percentage",60467),attach:g("attach",60468),goToEditingSession:g("go-to-editing-session",60469),editSession:g("edit-session",60470),codeReview:g("code-review",60471),copilotWarning:g("copilot-warning",60472),python:g("python",60473),copilotLarge:g("copilot-large",60474),copilotWarningLarge:g("copilot-warning-large",60475),keyboardTab:g("keyboard-tab",60476),copilotBlocked:g("copilot-blocked",60477),copilotNotConnected:g("copilot-not-connected",60478),flag:g("flag",60479),lightbulbEmpty:g("lightbulb-empty",60480),symbolMethodArrow:g("symbol-method-arrow",60481),copilotUnavailable:g("copilot-unavailable",60482),repoPinned:g("repo-pinned",60483),keyboardTabAbove:g("keyboard-tab-above",60484),keyboardTabBelow:g("keyboard-tab-below",60485),gitPullRequestDone:g("git-pull-request-done",60486),mcp:g("mcp",60487),extensionsLarge:g("extensions-large",60488),layoutPanelDock:g("layout-panel-dock",60489),layoutSidebarLeftDock:g("layout-sidebar-left-dock",60490),layoutSidebarRightDock:g("layout-sidebar-right-dock",60491),copilotInProgress:g("copilot-in-progress",60492),copilotError:g("copilot-error",60493),copilotSuccess:g("copilot-success",60494),chatSparkle:g("chat-sparkle",60495),searchSparkle:g("search-sparkle",60496),editSparkle:g("edit-sparkle",60497),copilotSnooze:g("copilot-snooze",60498),sendToRemoteAgent:g("send-to-remote-agent",60499),commentDiscussionSparkle:g("comment-discussion-sparkle",60500),chatSparkleWarning:g("chat-sparkle-warning",60501),chatSparkleError:g("chat-sparkle-error",60502),collection:g("collection",60503),newCollection:g("new-collection",60504),thinking:g("thinking",60505),build:g("build",60506),commentDiscussionQuote:g("comment-discussion-quote",60507),cursor:g("cursor",60508),eraser:g("eraser",60509),fileText:g("file-text",60510),quotes:g("quotes",60512),rename:g("rename",60513),runWithDeps:g("run-with-deps",60514),debugConnected:g("debug-connected",60515),strikethrough:g("strikethrough",60516),openInProduct:g("open-in-product",60517),indexZero:g("index-zero",60518),agent:g("agent",60519),editCode:g("edit-code",60520),repoSelected:g("repo-selected",60521),skip:g("skip",60522),mergeInto:g("merge-into",60523),gitBranchChanges:g("git-branch-changes",60524),gitBranchStagedChanges:g("git-branch-staged-changes",60525),gitBranchConflicts:g("git-branch-conflicts",60526),gitBranch:g("git-branch",60527),gitBranchCreate:g("git-branch-create",60527),gitBranchDelete:g("git-branch-delete",60527),searchLarge:g("search-large",60528),terminalGitBash:g("terminal-git-bash",60529),windowActive:g("window-active",60530),forward:g("forward",60531),download:g("download",60532),clockface:g("clockface",60533),unarchive:g("unarchive",60534),sessionInProgress:g("session-in-progress",60535),collectionSmall:g("collection-small",60536),vmSmall:g("vm-small",60537),cloudSmall:g("cloud-small",60538),addSmall:g("add-small",60539),removeSmall:g("remove-small",60540),worktreeSmall:g("worktree-small",60541),worktree:g("worktree",60542),screenCut:g("screen-cut",60543),ask:g("ask",60544),openai:g("openai",60545),claude:g("claude",60546),openInWindow:g("open-in-window",60547),newSession:g("new-session",60548),terminalSecure:g("terminal-secure",60549),chatImport:g("chat-import",60550),chatExport:g("chat-export",60551),shareWindow:g("share-window",60552),circleSlashCompact:g("circle-slash-compact",60553),copilotCompact:g("copilot-compact",60554),folderOpenedCompact:g("folder-opened-compact",60555),folderCompact:g("folder-compact",60556),gearCompact:g("gear-compact",60557),gitBranchCompact:g("git-branch-compact",60558),libraryCompact:g("library-compact",60559),recordKeysCompact:g("record-keys-compact",60560),remoteCompact:g("remote-compact",60561),repoForkedCompact:g("repo-forked-compact",60562),repoCompact:g("repo-compact",60563),shieldCompact:g("shield-compact",60564),sparkleCompact:g("sparkle-compact",60565),symbolColorCompact:g("symbol-color-compact",60566),windowCompact:g("window-compact",60567),errorCompact:g("error-compact",60568),warningCompact:g("warning-compact",60569),passCompact:g("pass-compact",60570),important:g("important",60571),importantCompact:g("important-compact",60572),rocketCompact:g("rocket-compact",60573),unpin:g("unpin",60574),addCompact:g("add-compact",60575),attachCompact:g("attach-compact",60576),beakerCompact:g("beaker-compact",60577),checkCompact:g("check-compact",60578),checklistCompact:g("checklist-compact",60579),chevronDownCompact:g("chevron-down-compact",60580),chevronLeftCompact:g("chevron-left-compact",60581),chevronRightCompact:g("chevron-right-compact",60582),chevronUpCompact:g("chevron-up-compact",60583),circleFilledCompact:g("circle-filled-compact",60584),circleSmallFilledCompact:g("circle-small-filled-compact",60585),closeCompact:g("close-compact",60586),collapseAllCompact:g("collapse-all-compact",60587),commentCompact:g("comment-compact",60588),commentUnresolvedCompact:g("comment-unresolved-compact",60589),debugConnectedCompact:g("debug-connected-compact",60590),debugDisconnectCompact:g("debug-disconnect-compact",60591),editCompact:g("edit-compact",60592),fileMediaCompact:g("file-media-compact",60593),gitFetch:g("git-fetch",60594),lightbulbCompact:g("lightbulb-compact",60595),loadingCompact:g("loading-compact",60596),passFilledCompact:g("pass-filled-compact",60597),projectCompact:g("project-compact",60598),refreshCompact:g("refresh-compact",60599),searchCompact:g("search-compact",60600),sessionInProgressCompact:g("session-in-progress-compact",60601),syncCompact:g("sync-compact",60602),terminalCompact:g("terminal-compact",60603),vmPending:g("vm-pending",60604),worktreeCompact:g("worktree-compact",60605),developerTools:g("developer-tools",60606),cloudCompact:g("cloud-compact",60607),agentCompact:g("agent-compact",60608),askCompact:g("ask-compact",60609),settingsCompact:g("settings-compact",60610),vmCompact:g("vm-compact",60611),runCompact:g("run-compact",60612),gitPullRequestComment:g("git-pull-request-comment",60613),gitPullRequestError:g("git-pull-request-error",60614),rightPanelHide:g("right-panel-hide",60615),rightPanelShow:g("right-panel-show",60616),vscodeInsidersOutline:g("vscode-insiders-outline",60617),vscodeOutline:g("vscode-outline",60618),voiceMode:g("voice-mode",60619),voiceModeCompact:g("voice-mode-compact",60620),micDownload:g("mic-download",60621),micDownloadCompact:g("mic-download-compact",60622),voiceModeDownload:g("voice-mode-download",60623),voiceModeDownloadCompact:g("voice-mode-download-compact",60624),googleGemini:g("google-gemini",60625),kimi:g("kimi",60626),microsoft:g("microsoft",60627),fish1Happy:g("fish1-happy",60628),fish1Neutral:g("fish1-neutral",60629),fish1Sad:g("fish1-sad",60630),fish1VerySad:g("fish1-very-sad",60631),fish2Happy:g("fish2-happy",60632),fish2Neutral:g("fish2-neutral",60633),fish2Sad:g("fish2-sad",60634),fish2VerySad:g("fish2-very-sad",60635),fish3Happy:g("fish3-happy",60636),fish3Neutral:g("fish3-neutral",60637),fish3Sad:g("fish3-sad",60638),fish3VerySad:g("fish3-very-sad",60639),fish4Happy:g("fish4-happy",60640),fish4Neutral:g("fish4-neutral",60641),fish4Sad:g("fish4-sad",60642),fish4VerySad:g("fish4-very-sad",60643),personVoice:g("person-voice",60644),personVoiceCompact:g("person-voice-compact",60645),personVoiceFilled:g("person-voice-filled",60646),personVoiceFilledCompact:g("person-voice-filled-compact",60647),cloudDownloadCompact:g("cloud-download-compact",60648),cloudUploadCompact:g("cloud-upload-compact",60649),micCompact:g("mic-compact",60650),arrowUpCompact:g("arrow-up-compact",60651),xai:g("xai",60652),arrowCircleUpSparkle:g("arrow-circle-up-sparkle",60653),closeSmall:g("close-small",60654),bookCompact:g("book-compact",60655),micOff:g("mic-off",60656),micOffCompact:g("mic-off-compact",60657),copilotDot:g("copilot-dot",60658),copilotDotCompact:g("copilot-dot-compact",60659),layoutDensityCompact:g("layout-density-compact",60660),layoutDensityDefault:g("layout-density-default",60661),gripperCorner:g("gripper-corner",60662),meteredConnection:g("metered-connection",60663)}});function tR(){return Object.values(X)}var E3,X,as=y(()=>{RI();oU();E3={dialogError:g("dialog-error","error"),dialogWarning:g("dialog-warning","warning"),dialogInfo:g("dialog-info","info"),dialogClose:g("dialog-close","close"),treeItemExpanded:g("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:g("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:g("tree-filter-on-type-off","list-selection"),treeFilterClear:g("tree-filter-clear","close"),treeItemLoading:g("tree-item-loading","loading"),menuSelection:g("menu-selection","check"),menuSubmenu:g("menu-submenu","chevron-right"),menuBarMore:g("menubar-more","more"),scrollbarButtonLeft:g("scrollbar-button-left","triangle-left"),scrollbarButtonRight:g("scrollbar-button-right","triangle-right"),scrollbarButtonUp:g("scrollbar-button-up","triangle-up"),scrollbarButtonDown:g("scrollbar-button-down","triangle-down"),toolBarMore:g("toolbar-more","more"),quickInputBack:g("quick-input-back","arrow-left"),dropDownButton:g("drop-down-button",60084),symbolCustomColor:g("symbol-customcolor",60252),exportIcon:g("export",60332),workspaceUnspecified:g("workspace-unspecified",60355),newLine:g("newline",60394),thumbsDownFilled:g("thumbsdown-filled",60435),thumbsUpFilled:g("thumbsup-filled",60436),gitFetch:g("git-fetch",60445),lightbulbSparkleAutofix:g("lightbulb-sparkle-autofix",60447),debugBreakpointPending:g("debug-breakpoint-pending",60377),chatImport:g("chat-import",60550),chatExport:g("chat-export",60551)},X={...nU,...E3}});var rU,an,nl=y(()=>{as();(t=>{function r(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}t.isThemeColor=r})(rU||={});(E=>{E.iconNameSegment="[A-Za-z0-9]+",E.iconNameExpression="[A-Za-z0-9-]+",E.iconModifierExpression="~[A-Za-z]+",E.iconNameCharacter="[A-Za-z0-9~-]";let o=new RegExp(`^(${E.iconNameExpression})(${E.iconModifierExpression})?$`);function i(w){let P=o.exec(w.id);if(!P)return i(X.error);let[,k,O]=P,fe=["codicon","codicon-"+k];return O&&fe.push("codicon-modifier-"+O.substring(1)),fe}E.asClassNameArray=i;function s(w){return i(w).join(" ")}E.asClassName=s;function a(w){return"."+i(w).join(".")}E.asCSSSelector=a;function l(w){return!!w&&typeof w=="object"&&typeof w.id=="string"&&(typeof w.color>"u"||rU.isThemeColor(w.color))}E.isThemeIcon=l;let c=new RegExp(`^\\$\\((${E.iconNameExpression}(?:${E.iconModifierExpression})?)\\)$`);function u(w){let P=c.exec(w);if(!P)return;let[,k]=P;return{id:k}}E.fromString=u;function p(w){return{id:w}}E.fromId=p;function m(w,P){let k=w.id,O=k.lastIndexOf("~");return O!==-1&&(k=k.substring(0,O)),P&&(k=`${k}~${P}`),{id:k}}E.modify=m;function f(w){let P=w.id.lastIndexOf("~");if(P!==-1)return w.id.substring(P+1)}E.getModifier=f;function h(w,P){return w.id===P.id&&w.color?.id===P.color?.id}E.isEqual=h;function v(w){return w?.id===X.file.id}E.isFile=v;function I(w){return w?.id===X.folder.id}E.isFolder=I})(an||={})});function iU(r){return r.replace(w3,(t,e)=>e?t:`\\${t}`)}var nR,w3,pge,mge,gge,sU=y(()=>{eU();Tt();nl();nR=new RegExp(`\\$\\(${an.iconNameExpression}(?:${an.iconModifierExpression})?\\)`,"g"),w3=new RegExp(`(\\\\)?${nR.source}`,"g");pge=new RegExp(`\\\\${nR.source}`,"g"),mge=new RegExp(`(\\s)?(\\\\)?${nR.source}(\\s)?`,"g"),gge=new RegExp(`\\$\\(${an.iconNameCharacter}+\\)`,"g")});function Di(r){return r instanceof Lt?!0:r&&typeof r=="object"?typeof r.value=="string"&&(typeof r.isTrusted=="boolean"||typeof r.isTrusted=="object"||r.isTrusted===void 0)&&(typeof r.supportThemeIcons=="boolean"||r.supportThemeIcons===void 0)&&(typeof r.supportAlertSyntax=="boolean"||r.supportAlertSyntax===void 0):!1}function T3(r){return r.replace(/[\\`*_{}[\]()#+!~]/g,"\\$&").replace(/^([ \t]*)-/gm,"$1\\-")}function R3(r,t){let e=r.match(/^`+/gm)?.reduce((o,i)=>o.length>i.length?o:i).length??0,n=e>=3?e+1:3;return[`${"`".repeat(n)}${t}`,r,`${"`".repeat(n)}`].join(`
`)}function Wg(r){let t=Math.max(0,...(r.match(/`+/g)??[]).map(i=>i.length)),e="`".repeat(t+1),o=r.startsWith("`")||r.endsWith("`")?` ${r} `:r;return`${e}${o}${e}`}function aU(r){let t=[],e=r.split("|").map(o=>o.trim());r=e[0];let n=e[1];if(n){let o=/height=(\d+)/.exec(n),i=/width=(\d+)/.exec(n),s=o?o[1]:"",a=i?i[1]:"",l=isFinite(parseInt(a)),c=isFinite(parseInt(s));l&&t.push(`width="${a}"`),c&&t.push(`height="${s}"`)}return{href:r,dimensions:t}}function PI(r,...t){return S.from({scheme:B.command,path:r,query:t.length?encodeURIComponent(JSON.stringify(t)):void 0})}var Lt,_i=y(()=>{Ee();sU();Ae();bt();Tt();oe();Lt=class r{static lift(t){let e=new r(t.value,t);return e.uris=t.uris,e.baseUri=t.baseUri?S.revive(t.baseUri):void 0,e}constructor(t="",e=!1){if(this.value=t,typeof this.value!="string")throw at("value");typeof e=="boolean"?(this.isTrusted=e,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1):(this.isTrusted=e.isTrusted??void 0,this.supportThemeIcons=e.supportThemeIcons??!1,this.supportHtml=e.supportHtml??!1,this.supportAlertSyntax=e.supportAlertSyntax??!1)}appendText(t,e=0){return this.value+=T3(this.supportThemeIcons?iU(t):t).replace(/([ \t]+)/g,(n,o)=>" ".repeat(o.length)).replace(/\>/gm,"\\>").replace(/\n/g,e===1?`\\
`:`
`),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,e){return this.value+=`
${R3(e,t)}
`,this}appendLink(t,e,n){return this.value+="[",this.value+=this._escape(e,"]"),this.value+="](",this.value+=this._escape(String(t),")"),n&&(this.value+=` "${this._escape(this._escape(n,'"'),")")}"`),this.value+=")",this}_escape(t,e){let n=new RegExp(eo(e),"g");return t.replace(n,(o,i)=>t.charAt(i-1)!=="\\"?`\\${o}`:o)}}});function ln(r,t){if(r instanceof Ut)return r;let e;return r instanceof Fr?e=new Ut(r.message,r.code==="DownloadFailedWriting"?"DownloadFailedWriting":"Gallery"):e=new Ut(r.message,on(r)?"Cancelled":t??"Internal"),e.stack=r.stack,e}function oR(r,t,{extensionData:e,verificationStatus:n,duration:o,error:i,source:s,durationSinceUpdate:a}){r.publicLog(t,{...e,source:s,duration:o,durationSinceUpdate:a,success:!i,errorcode:i?.code,verificationStatus:n==="Success"?"Verified":n??"Unverified"})}var vu,yu,Vg,Bg=y(()=>{At();Ne();Zt();Ee();de();K();Sn();me();oe();re();ko();ri();jn();De();On();Rn();io();vo();_i();vu=class extends _{constructor(e,n){super();this.productService=e;this.allowedExtensionsService=n;this.preferPreReleases=this.productService.quality!=="stable"}async canInstall(e){let n=this.allowedExtensionsService.isAllowed({id:e.identifier.id,publisherDisplayName:e.publisherDisplayName});if(n!==!0)return new Lt(d(3503,null,n.value));if(!await this.isExtensionPlatformCompatible(e)){let o=yn?"https://aka.ms/vscode-web-extensions-guide":"https://aka.ms/vscode-platform-specific-extensions";return new Lt(`${d(3497,null,e.displayName??e.identifier.id,this.productService.nameLong,DT(await this.getTargetPlatform()))} [${d(3498,null)}](${o})`)}return!0}async isExtensionPlatformCompatible(e){let n=await this.getTargetPlatform();return e.allTargetPlatforms.some(o=>_g(o,e.allTargetPlatforms,n))}};vu=C([b(0,He),b(1,Hr)],vu);yu=class extends vu{constructor(e,n,o,i,s,a,l){super(s,a);this.galleryService=e;this.telemetryService=n;this.uriIdentityService=o;this.logService=i;this.userDataProfilesService=l;this.lastReportTimestamp=0;this.installingExtensions=new Map;this.uninstallingExtensions=new Map;this._onInstallExtension=this._register(new T);this._onDidInstallExtensions=this._register(new T);this._onUninstallExtension=this._register(new T);this._onDidUninstallExtension=this._register(new T);this._onDidUpdateExtensionMetadata=this._register(new T);this.participants=[];this._register(ce(()=>{this.installingExtensions.forEach(({task:c})=>c.cancel()),this.uninstallingExtensions.forEach(c=>c.cancel()),this.installingExtensions.clear(),this.uninstallingExtensions.clear()}))}get onInstallExtension(){return this._onInstallExtension.event}get onDidInstallExtensions(){return this._onDidInstallExtensions.event}get onUninstallExtension(){return this._onUninstallExtension.event}get onDidUninstallExtension(){return this._onDidUninstallExtension.event}get onDidUpdateExtensionMetadata(){return this._onDidUpdateExtensionMetadata.event}async installFromGallery(e,n={}){try{let o=await this.installGalleryExtensions([{extension:e,options:n}]),i=o.find(({identifier:a})=>ke(a,e.identifier));if(i?.local)return i.local;if(i?.error)throw i.error;let s=o[0];if(s?.local)return s.local;throw s?.error?s.error:new Ut(`Unknown error while installing extension ${e.identifier.id}`,"Unknown")}catch(o){throw ln(o)}}async installGalleryExtensions(e){if(!this.galleryService.isEnabled())throw new Ut(d(3500,null),"NotAllowed");let n=[],o=[];return await Promise.allSettled(e.map(async({extension:i,options:s})=>{try{let a=await this.checkAndGetCompatibleVersion(i,!!s?.installGivenVersion,!!s?.installPreReleaseVersion,s.productVersion??{version:this.productService.version,date:this.productService.date});o.push({...a,options:s})}catch(a){n.push({identifier:i.identifier,operation:2,source:i,error:a,profileLocation:s.profileLocation??this.getCurrentExtensionsManifestLocation()})}})),o.length&&n.push(...await this.installExtensions(o)),n}async uninstall(e,n){return this.logService.trace("ExtensionManagementService#uninstall",e.identifier.id),this.uninstallExtensions([{extension:e,options:n}])}async toggleApplicationScope(e,n){if(RT(e.manifest)||e.isBuiltin)return e;if(e.isApplicationScoped){let o=await this.updateMetadata(e,{isApplicationScoped:!1},this.userDataProfilesService.defaultProfile.extensionsResource);this.uriIdentityService.extUri.isEqual(n,this.userDataProfilesService.defaultProfile.extensionsResource)||(o=await this.copyExtension(e,this.userDataProfilesService.defaultProfile.extensionsResource,n));for(let i of this.userDataProfilesService.profiles){let s=(await this.getInstalled(1,i.extensionsResource)).find(a=>ke(a.identifier,e.identifier));s?this._onDidUpdateExtensionMetadata.fire({local:s,profileLocation:i.extensionsResource}):this._onDidUninstallExtension.fire({identifier:e.identifier,profileLocation:i.extensionsResource})}return o}else{let o=this.uriIdentityService.extUri.isEqual(n,this.userDataProfilesService.defaultProfile.extensionsResource)?await this.updateMetadata(e,{isApplicationScoped:!0},this.userDataProfilesService.defaultProfile.extensionsResource):await this.copyExtension(e,n,this.userDataProfilesService.defaultProfile.extensionsResource,{isApplicationScoped:!0});return this._onDidInstallExtensions.fire([{identifier:o.identifier,operation:2,local:o,profileLocation:this.userDataProfilesService.defaultProfile.extensionsResource,applicationScoped:!0}]),o}}getExtensionsControlManifest(){let e=new Date().getTime();return(!this.extensionsControlManifest||e-this.lastReportTimestamp>1e3*60*5)&&(this.extensionsControlManifest=this.updateControlCache(),this.lastReportTimestamp=e),this.extensionsControlManifest}registerParticipant(e){this.participants.push(e)}async resetPinnedStateForAllUserExtensions(e){try{await this.joinAllSettled(this.userDataProfilesService.profiles.map(async n=>{let o=await this.getInstalled(1,n.extensionsResource);await this.joinAllSettled(o.map(async i=>{i.pinned!==e&&await this.updateMetadata(i,{pinned:e},n.extensionsResource)}))}))}catch(n){throw this.logService.error("Error while resetting pinned state for all user extensions",ye(n)),n}}async installExtensions(e){let n=new Map,o=new Map,i=[],s=(c,u)=>`${ro.create(c).toString()}-${u.toString()}`,a=(c,u,p,m)=>{let f;if(!S.isUri(u)){if(o.has(`${u.identifier.id.toLowerCase()}-${p.profileLocation.toString()}`))return;let I=this.installingExtensions.get(s(u,p.profileLocation));if(I){if(m&&this.canWaitForTask(m,I.task)){let E=I.task.identifier;this.logService.info("Waiting for already requested installing extension",E.id,m.identifier.id,p.profileLocation.toString()),I.waitingTasks.push(m);let w=V.toPromise(V.filter(this.onDidInstallExtensions,P=>P.some(k=>ke(k.identifier,E)))).then(P=>{this.logService.info("Finished waiting for already requested installing extension",E.id,m.identifier.id,p.profileLocation.toString());let k=P.find(O=>ke(O.identifier,E));if(!k?.local)throw new Error(`Extension ${E.id} is not installed`);return k.local});i.push(w),w.catch(()=>{})}return}f=this.uninstallingExtensions.get(this.getUninstallExtensionTaskKey(u.identifier,p.profileLocation))}let h=this.createInstallExtensionTask(c,u,p),v=`${Do(c.publisher,c.name)}-${p.profileLocation.toString()}`;o.set(v,{task:h,root:m,uninstallTaskToWaitFor:f}),this._onInstallExtension.fire({identifier:h.identifier,source:u,profileLocation:p.profileLocation}),this.logService.info("Installing extension:",h.identifier.id,p),S.isUri(u)||this.installingExtensions.set(s(u,p.profileLocation),{task:h,waitingTasks:[]})};try{let c=await this.getInstalled(0);for(let{manifest:p,extension:m,options:f}of e){let h=Do(p.publisher,p.name),v=c.some(k=>ke(k.identifier,{id:h})),I=f.isBuiltin||v,E=f.isApplicationScoped||I||RT(p),w={...f,isBuiltin:I,isApplicationScoped:E,profileLocation:E?this.userDataProfilesService.defaultProfile.extensionsResource:f.profileLocation??this.getCurrentExtensionsManifestLocation(),productVersion:f.productVersion??{version:this.productService.version,date:this.productService.date}},P=S.isUri(m)?void 0:this.installingExtensions.get(s(m,w.profileLocation));if(P){let k=P.task;this.logService.info("Extension is already requested to install",k.identifier.id,w.profileLocation.toString());let O=`${k.identifier.id.toLowerCase()}-${w.profileLocation.toString()}`,fe=k.waitUntilTaskIsFinished().then(H=>(n.set(O,{local:H,identifier:k.identifier,operation:k.operation,source:k.source,context:w.context,profileLocation:w.profileLocation,applicationScoped:H.isApplicationScoped}),H),H=>{throw n.set(O,{error:ln(H),identifier:k.identifier,operation:k.operation,source:k.source,context:w.context,profileLocation:w.profileLocation}),H});i.push(fe),fe.catch(()=>{})}else a(p,m,w,void 0)}await Promise.all([...o.values()].map(async({task:p})=>{if(p.options.donotIncludePackAndDependencies)this.logService.info("Installing the extension without checking dependencies and pack",p.identifier.id);else try{let m=this.preferPreReleases;p.options.installPreReleaseVersion?m=!0:!S.isUri(p.source)&&p.source.hasPreReleaseVersion&&(m=!1);let f=await this.getInstalled(void 0,p.options.profileLocation,p.options.productVersion),h=await this.getAllDepsAndPackExtensions(p.identifier,p.manifest,m,p.options.productVersion,f),v={...p.options,pinned:!1,installGivenVersion:!1,context:{...p.options.context,[sN]:!0}};for(let{gallery:I,manifest:E}of Xn(h,({gallery:w})=>w.identifier.id)){let w=f.find(P=>ke(P.identifier,I.identifier));w&&w.isApplicationScoped===!!v.isApplicationScoped||a(E,I,v,p)}}catch(m){if(S.isUri(p.source))zl(p.manifest.extensionDependencies)&&this.logService.warn("Cannot install dependencies of extension:",p.identifier.id,m.message),zl(p.manifest.extensionPack)&&this.logService.warn("Cannot install packed extensions of extension:",p.identifier.id,m.message);else throw this.logService.error("Error while preparing to install dependencies and extension packs of the extension:",p.identifier.id),m}}));let u=await this.getOtherProfilesToUpdateExtension([...o.values()].map(({task:p})=>p));for(let[p,m]of u)a(m.manifest,m.source,{...m.options,profileLocation:p},void 0);await this.joinAllSettled([...o.entries()].map(async([p,{task:m,uninstallTaskToWaitFor:f}])=>{let h=new Date().getTime(),v;try{if(f){this.logService.info("Waiting for existing uninstall task to complete before installing",m.identifier.id);try{await f.waitUntilTaskIsFinished(),this.logService.info("Finished waiting for uninstall task, proceeding with install",m.identifier.id)}catch(I){this.logService.info("Uninstall task failed, proceeding with install anyway",m.identifier.id,ye(I))}}v=await m.run(),await this.joinAllSettled(this.participants.map(I=>I.postInstall(v,m.source,m.options,Pe.None)),"PostInstall")}catch(I){let E=ln(I);throw S.isUri(m.source)||oR(this.telemetryService,m.operation===3?"extensionGallery:update":"extensionGallery:install",{extensionData:Og(m.source),error:E,source:m.options.context?.[kT]}),n.set(p,{error:E,identifier:m.identifier,operation:m.operation,source:m.source,context:m.options.context,profileLocation:m.options.profileLocation,applicationScoped:m.options.isApplicationScoped}),this.logService.error("Error while installing the extension",m.identifier.id,ye(E),m.options.profileLocation.toString()),E}if(!S.isUri(m.source)){let I=m.operation===3,E=I?void 0:(new Date().getTime()-m.source.lastUpdated)/1e3;oR(this.telemetryService,I?"extensionGallery:update":"extensionGallery:install",{extensionData:Og(m.source),verificationStatus:m.verificationStatus,duration:new Date().getTime()-h,durationSinceUpdate:E,source:m.options.context?.[kT]})}n.set(p,{local:v,identifier:m.identifier,operation:m.operation,source:m.source,context:m.options.context,profileLocation:m.options.profileLocation,applicationScoped:v.isApplicationScoped})})),i.length&&await this.joinAllSettled(i)}catch(c){let u=(f,h,v)=>{let I=[];f.manifest.extensionDependencies?.length&&I.push(...f.manifest.extensionDependencies),f.manifest.extensionPack?.length&&I.push(...f.manifest.extensionPack);for(let E of I){if(v.includes(E.toLowerCase()))continue;v.push(E.toLowerCase());let w=n.get(`${E.toLowerCase()}-${h.toString()}`);w?.local&&(v=u(w.local,h,v))}return v},p=f=>({identifier:f.identifier,operation:2,source:f.source,context:f.options.context,profileLocation:f.options.profileLocation,error:c}),m=[];for(let[f,{task:h,root:v}]of o){let I=n.get(f);I?I.local&&v&&!n.get(`${v.identifier.id.toLowerCase()}-${h.options.profileLocation.toString()}`)?.local&&(m.push(this.createUninstallExtensionTask(I.local,{versionOnly:!0,profileLocation:h.options.profileLocation})),n.set(f,p(h))):(h.cancel(),n.set(f,p(h)))}for(let[f,{task:h}]of o){let v=n.get(f);if(!v?.local||h.options.donotIncludePackAndDependencies)continue;u(v.local,h.options.profileLocation,[v.local.identifier.id.toLowerCase()]).slice(1).some(E=>o.has(`${E.toLowerCase()}-${h.options.profileLocation.toString()}`)&&!n.get(`${E.toLowerCase()}-${h.options.profileLocation.toString()}`)?.local)&&(m.push(this.createUninstallExtensionTask(v.local,{versionOnly:!0,profileLocation:h.options.profileLocation})),n.set(f,p(h)))}m.length&&await Promise.allSettled(m.map(async f=>{try{await f.run(),this.logService.info("Rollback: Uninstalled extension",f.extension.identifier.id)}catch(h){this.logService.warn("Rollback: Error while uninstalling extension",f.extension.identifier.id,ye(h))}}))}finally{for(let{task:c}of o.values())c.source&&!S.isUri(c.source)&&this.installingExtensions.delete(s(c.source,c.options.profileLocation))}let l=[...n.values()];for(let c of l)c.local&&this.logService.info("Extension installed successfully:",c.identifier.id,c.profileLocation.toString());return this._onDidInstallExtensions.fire(l),l}async getOtherProfilesToUpdateExtension(e){let n=[],o=new tt;for(let i of e)if(!(i.operation!==3||i.options.isApplicationScoped||i.options.pinned||i.options.installGivenVersion||S.isUri(i.source)))for(let s of this.userDataProfilesService.profiles){if(this.uriIdentityService.extUri.isEqual(s.extensionsResource,i.options.profileLocation))continue;let a=o.get(s.extensionsResource);a||(a=await this.getInstalled(1,s.extensionsResource),o.set(s.extensionsResource,a));let l=a.find(c=>ke(c.identifier,i.identifier));l&&!l.pinned&&n.push([s.extensionsResource,i])}return n}canWaitForTask(e,n){for(let[,{task:o,waitingTasks:i}]of this.installingExtensions.entries())if(o===e&&(i.includes(n)||i.some(s=>this.canWaitForTask(s,n)))||o===n&&i[0]&&!this.canWaitForTask(e,i[0]))return!1;return!0}async joinAllSettled(e,n){let o=[],i=[],s=await Promise.allSettled(e);for(let l of s)l.status==="fulfilled"?o.push(l.value):i.push(ln(l.reason,n));if(!i.length)return o;if(i.length===1)throw i[0];let a=new Ut("","Unknown");for(let l of i)a=new Ut(a.message?`${a.message}, ${l.message}`:l.message,l.code!=="Unknown"&&l.code!=="Internal"?l.code:a.code);throw a}async getAllDepsAndPackExtensions(e,n,o,i,s){if(!this.galleryService.isEnabled())return[];let a=[],l=[],c=async(u,p)=>{a.push(u);let m=p.extensionDependencies?p.extensionDependencies.filter(h=>!s.some(v=>ke(v.identifier,{id:h}))):[],f=[...m];if(p.extensionPack){let h=s.find(v=>ke(v.identifier,u));for(let v of p.extensionPack)h&&h.manifest.extensionPack&&h.manifest.extensionPack.some(I=>ke({id:I},{id:v}))||f.every(I=>!ke({id:I},{id:v}))&&f.push(v)}if(f.length){let h=f.filter(v=>a.every(I=>!ke(I,{id:v})));if(h.length){let v=await this.galleryService.getExtensions(h.map(I=>({id:I,preRelease:o})),Pe.None);for(let I of v){if(a.find(P=>ke(P,I.identifier)))continue;let E=m.some(P=>ke({id:P},I.identifier)),w;try{w=await this.checkAndGetCompatibleVersion(I,!1,o,i)}catch(P){if(E)throw P;this.logService.info("Skipping the packed extension as it cannot be installed",I.identifier.id,ye(P));continue}l.push({gallery:w.extension,manifest:w.manifest}),await c(w.extension.identifier,w.manifest)}}}};return await c(e,n),l}async checkAndGetCompatibleVersion(e,n,o,i){let s,a=await this.getExtensionsControlManifest();if(yN(e.identifier,a.malicious))throw new Ut(d(3499,null,e.identifier.id),"Malicious");let l=a.deprecated[e.identifier.id.toLowerCase()];if(l?.extension?.autoMigrate){if(this.logService.info(`The '${e.identifier.id}' extension is deprecated, fetching the compatible '${l.extension.id}' extension instead.`),s=(await this.galleryService.getExtensions([{id:l.extension.id,preRelease:l.extension.preRelease}],{targetPlatform:await this.getTargetPlatform(),compatible:!0,productVersion:i},Pe.None))[0],!s)throw new Ut(d(3505,null,e.identifier.id,l.extension.id),"Deprecated")}else{if(await this.canInstall(e)!==!0){let u=await this.getTargetPlatform();throw new Ut(d(3497,null,e.identifier.id,this.productService.nameLong,DT(u)),"IncompatibleTargetPlatform")}if(s=await this.getCompatibleVersion(e,n,o,i),!s)throw!o&&e.hasPreReleaseVersion&&e.properties.isPreReleaseVersion&&(await this.galleryService.getExtensions([e.identifier],Pe.None))[0]?new Ut(d(3506,null,e.displayName??e.identifier.id),"ReleaseVersionNotFound"):new Ut(d(3504,null,e.identifier.id,this.productService.nameLong,this.productService.version),"Incompatible")}this.logService.info("Getting Manifest...",s.identifier.id);let c=await this.galleryService.getManifest(s,Pe.None);if(c===null)throw new Ut(`Missing manifest for extension ${s.identifier.id}`,"Invalid");if(c.version!==s.version)throw new Ut(`Cannot install '${s.identifier.id}' extension because of version mismatch in Marketplace`,"Invalid");return{extension:s,manifest:c}}async getCompatibleVersion(e,n,o,i){let s=await this.getTargetPlatform(),a=null;return!n&&e.hasPreReleaseVersion&&e.properties.isPreReleaseVersion!==o&&(a=(await this.galleryService.getExtensions([{...e.identifier,preRelease:o}],{targetPlatform:s,compatible:!0,productVersion:i},Pe.None))[0]||null),!a&&await this.galleryService.isExtensionCompatible(e,o,s,i)&&(a=e),a||(n?a=(await this.galleryService.getExtensions([{...e.identifier,version:e.version}],{targetPlatform:s,compatible:!0,productVersion:i},Pe.None))[0]||null:a=await this.galleryService.getCompatibleExtension(e,o,s,i)),a}getUninstallExtensionTaskKey(e,n,o){return`${e.id.toLowerCase()}${o?`-${o}`:""}@${n.toString()}`}async uninstallExtensions(e){let n=(m,f)=>this.getUninstallExtensionTaskKey(m.identifier,f.profileLocation,f.versionOnly?m.manifest.version:void 0),o=(m,f)=>{let h;for(let{task:I}of this.installingExtensions.values())if(!(I.source instanceof S)&&ke(I.identifier,m.identifier)&&this.uriIdentityService.extUri.isEqual(I.options.profileLocation,f.profileLocation)){h=I;break}let v=this.createUninstallExtensionTask(m,f);this.uninstallingExtensions.set(n(v.extension,f),v),this.logService.info("Uninstalling extension from the profile:",`${m.identifier.id}@${m.manifest.version}`,f.profileLocation.toString()),this._onUninstallExtension.fire({identifier:m.identifier,profileLocation:f.profileLocation,applicationScoped:m.isApplicationScoped}),s.push({task:v,installTaskToWaitFor:h})},i=(m,f,h)=>{h?this.logService.error("Failed to uninstall extension from the profile:",`${m.identifier.id}@${m.manifest.version}`,f.profileLocation.toString(),h.message):this.logService.info("Successfully uninstalled extension from the profile",`${m.identifier.id}@${m.manifest.version}`,f.profileLocation.toString()),oR(this.telemetryService,"extensionGallery:uninstall",{extensionData:vN(m),error:h}),this._onDidUninstallExtension.fire({identifier:m.identifier,error:h?.code,profileLocation:f.profileLocation,applicationScoped:m.isApplicationScoped})},s=[],a=[],l=[],c=[],u=new tt,p=async m=>{let f=u.get(m);return f||u.set(m,f=await this.getInstalled(1,m)),f};for(let{extension:m,options:f}of e){let h={...f,profileLocation:m.isApplicationScoped?this.userDataProfilesService.defaultProfile.extensionsResource:f?.profileLocation??this.getCurrentExtensionsManifestLocation()},v=this.uninstallingExtensions.get(n(m,h));if(v?(this.logService.info("Extensions is already requested to uninstall",m.identifier.id),l.push(v.waitUntilTaskIsFinished())):o(m,h),h.remove||m.isApplicationScoped){h.remove&&c.push(m);for(let I of this.userDataProfilesService.profiles){if(this.uriIdentityService.extUri.isEqual(I.extensionsResource,h.profileLocation))continue;let w=(await p(I.extensionsResource)).find(P=>ke(P.identifier,m.identifier));if(w){let P={...h,profileLocation:I.extensionsResource},k=this.uninstallingExtensions.get(n(w,P));k?(this.logService.info("Extensions is already requested to uninstall",w.identifier.id),l.push(k.waitUntilTaskIsFinished())):o(w,P)}}}}try{for(let{task:m}of s.slice(0)){let f=await p(m.options.profileLocation);if(m.options.donotIncludePack)this.logService.info("Uninstalling the extension without including packed extension",`${m.extension.identifier.id}@${m.extension.manifest.version}`);else{let h=this.getAllPackExtensionsToUninstall(m.extension,f);for(let v of h)this.uninstallingExtensions.has(n(v,m.options))?this.logService.info("Extensions is already requested to uninstall",v.identifier.id):o(v,m.options)}m.options.donotCheckDependents?this.logService.info("Uninstalling the extension without checking dependents",`${m.extension.identifier.id}@${m.extension.manifest.version}`):this.checkForDependents(s.map(({task:h})=>h.extension),f,m.extension)}await this.joinAllSettled(s.map(async({task:m,installTaskToWaitFor:f})=>{try{if(f){this.logService.info("Waiting for existing install task to complete before uninstalling",m.extension.identifier.id);try{await f.waitUntilTaskIsFinished(),this.logService.info("Finished waiting for install task, proceeding with uninstall",m.extension.identifier.id)}catch(h){this.logService.info("Install task failed, proceeding with uninstall anyway",m.extension.identifier.id,ye(h))}}if(await m.run(),await this.joinAllSettled(this.participants.map(h=>h.postUninstall(m.extension,m.options,Pe.None))),m.extension.identifier.uuid&&!yn)try{await this.galleryService.reportStatistic(m.extension.manifest.publisher,m.extension.manifest.name,m.extension.manifest.version,"uninstall")}catch{}}catch(h){let v=ln(h);throw i(m.extension,m.options,v),v}finally{a.push(m)}})),l.length&&await this.joinAllSettled(l);for(let{task:m}of s)i(m.extension,m.options);c.length&&await this.joinAllSettled(c.map(m=>this.deleteExtension(m)))}catch(m){let f=ln(m);for(let{task:h}of s){try{h.cancel()}catch{}a.includes(h)||i(h.extension,h.options,f)}throw f}finally{for(let{task:m}of s)this.uninstallingExtensions.delete(n(m.extension,m.options))||this.logService.warn("Uninstallation task is not found in the cache",m.extension.identifier.id)}}checkForDependents(e,n,o){for(let i of e){let s=this.getDependents(i,n);if(s.length){let a=s.filter(l=>!e.some(c=>ke(c.identifier,l.identifier)));if(a.length)throw new Error(this.getDependentsErrorMessage(i,a,o))}}}getDependentsErrorMessage(e,n,o){return o===e?n.length===1?d(3507,null,o.manifest.displayName||o.manifest.name,n[0].manifest.displayName||n[0].manifest.name):n.length===2?d(3509,null,o.manifest.displayName||o.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name):d(3501,null,o.manifest.displayName||o.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name):n.length===1?d(3508,null,o.manifest.displayName||o.manifest.name,e.manifest.displayName||e.manifest.name,n[0].manifest.displayName||n[0].manifest.name):n.length===2?d(3510,null,o.manifest.displayName||o.manifest.name,e.manifest.displayName||e.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name):d(3502,null,o.manifest.displayName||o.manifest.name,e.manifest.displayName||e.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name)}getAllPackExtensionsToUninstall(e,n,o=[]){if(o.indexOf(e)!==-1)return[];if(ke(e.identifier,{id:this.productService.defaultChatAgent.extensionId}))return[];o.push(e);let i=e.manifest.extensionPack?e.manifest.extensionPack:[];if(i.length){let s=n.filter(l=>!l.isBuiltin&&i.some(c=>ke({id:c},l.identifier))),a=[];for(let l of s)a.push(...this.getAllPackExtensionsToUninstall(l,n,o));return[...s,...a]}return[]}getDependents(e,n){return n.filter(o=>o.manifest.extensionDependencies&&o.manifest.extensionDependencies.some(i=>ke({id:i},e.identifier)))}async updateControlCache(){try{return this.logService.trace("ExtensionManagementService.updateControlCache"),await this.galleryService.getExtensionsControlManifest()}catch(e){return this.logService.trace("ExtensionManagementService.refreshControlCache - failed to get extension control manifest",ye(e)),{malicious:[],deprecated:{},search:[]}}}};yu=C([b(0,ho),b(1,Pt),b(2,ze),b(3,z),b(4,He),b(5,Hr),b(6,Ft)],yu);Vg=class{constructor(){this.barrier=new Mr}async waitUntilTaskIsFinished(){return await this.barrier.wait(),this.cancellablePromise}run(){return this.cancellablePromise||(this.cancellablePromise=Xo(t=>this.doRun(t))),this.barrier.open(),this.cancellablePromise}cancel(){this.cancellablePromise||(this.cancellablePromise=Xo(t=>new Promise((e,n)=>{let o=t.onCancellationRequested(()=>{o.dispose(),n(new et)})})),this.barrier.open()),this.cancellablePromise.cancel()}}});function lU(r){let t=r;return _e(t)&&cN(t.identifier)&&(k3(t.location)||j(t.location)&&!!t.location)&&(Wn(t.relativeLocation)||j(t.relativeLocation))&&!!t.version&&j(t.version)}function k3(r){if(!r)return!1;let t=r;return typeof t?.path=="string"&&typeof t?.scheme=="string"}var Cc,yr,Iu,Ec=y(()=>{Ne();Ke();K();de();Sn();oe();ko();ri();nt();Z();De();vo();io();we();Ee();Cc=class extends Error{constructor(e,n){super(e);this.code=n}},yr=D("IExtensionsProfileScannerService"),Iu=class extends _{constructor(e,n,o,i,s){super();this.extensionsLocation=e;this.fileService=n;this.userDataProfilesService=o;this.uriIdentityService=i;this.logService=s;this._onAddExtensions=this._register(new T);this.onAddExtensions=this._onAddExtensions.event;this._onDidAddExtensions=this._register(new T);this.onDidAddExtensions=this._onDidAddExtensions.event;this._onRemoveExtensions=this._register(new T);this.onRemoveExtensions=this._onRemoveExtensions.event;this._onDidRemoveExtensions=this._register(new T);this.onDidRemoveExtensions=this._onDidRemoveExtensions.event;this.resourcesAccessQueueMap=new tt}scanProfileExtensions(e,n){return this.withProfileExtensions(e,void 0,n)}async addExtensionsToProfile(e,n,o){let i=[],s=[];try{return await this.withProfileExtensions(n,a=>{let l=[];if(o)l.push(...a);else for(let c of a)e.some(([u])=>ke(u.identifier,c.identifier)&&u.manifest.version!==c.version)?i.push(c):l.push(c);for(let[c,u]of e){let p=l.findIndex(f=>ke(f.identifier,c.identifier)&&f.version===c.manifest.version),m={identifier:c.identifier,version:c.manifest.version,location:c.location,metadata:u};p===-1?(s.push(m),l.push(m)):l.splice(p,1,m)}return s.length&&this._onAddExtensions.fire({extensions:s,profileLocation:n}),i.length&&this._onRemoveExtensions.fire({extensions:i,profileLocation:n}),l}),s.length&&this._onDidAddExtensions.fire({extensions:s,profileLocation:n}),i.length&&this._onDidRemoveExtensions.fire({extensions:i,profileLocation:n}),s}catch(a){throw s.length&&this._onDidAddExtensions.fire({extensions:s,error:a,profileLocation:n}),i.length&&this._onDidRemoveExtensions.fire({extensions:i,error:a,profileLocation:n}),a}}async updateMetadata(e,n){let o=[];return await this.withProfileExtensions(n,i=>{let s=[];for(let a of i){let l=e.find(([c])=>ke({id:c.identifier.id},{id:a.identifier.id})&&c.manifest.version===a.version);l&&(a.metadata={...a.metadata,...l[1]},o.push(a)),s.push(a)}return s}),o}async removeExtensionsFromProfile(e,n){let o=[];try{await this.withProfileExtensions(n,i=>{let s=[];for(let a of i)e.some(l=>ke(a.identifier,l))?o.push(a):s.push(a);return o.length&&this._onRemoveExtensions.fire({extensions:o,profileLocation:n}),s}),o.length&&this._onDidRemoveExtensions.fire({extensions:o,profileLocation:n})}catch(i){throw o.length&&this._onDidRemoveExtensions.fire({extensions:o,error:i,profileLocation:n}),i}}async withProfileExtensions(e,n,o){return this.getResourceAccessQueue(e).queue(async()=>{let i=[],s;try{let a=await this.fileService.readFile(e);s=JSON.parse(a.value.toString().trim()||"[]")}catch(a){if(Rt(a)!==1)throw a;if(this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)&&(s=await this.migrateFromOldDefaultProfileExtensionsLocation()),!s&&o?.bailOutWhenFileNotFound)throw new Cc(ye(a),"ERROR_PROFILE_NOT_FOUND")}if(s){Array.isArray(s)||this.throwInvalidConentError(e);let a=!1;for(let l of s){lU(l)||this.throwInvalidConentError(e);let c;if(j(l.relativeLocation)&&l.relativeLocation)c=this.resolveExtensionLocation(l.relativeLocation);else if(j(l.location)){this.logService.warn(`Extensions profile: Ignoring extension with invalid location: ${l.location}`);continue}else{c=S.revive(l.location);let p=this.toRelativePath(c);p&&(a=!0,l.relativeLocation=p)}Wn(l.metadata?.hasPreReleaseVersion)&&l.metadata?.preRelease&&(a=!0,l.metadata.hasPreReleaseVersion=!0);let u=l.metadata?.id??l.identifier.uuid;i.push({identifier:u?{id:l.identifier.id,uuid:u}:{id:l.identifier.id},location:c,version:l.version,metadata:l.metadata})}a&&await this.fileService.writeFile(e,L.fromString(JSON.stringify(s)))}if(n){i=n(i);let a=i.map(l=>({identifier:l.identifier,version:l.version,location:l.location.toJSON(),relativeLocation:this.toRelativePath(l.location),metadata:l.metadata}));await this.fileService.writeFile(e,L.fromString(JSON.stringify(a)))}return i})}throwInvalidConentError(e){throw new Cc(`Invalid extensions content in ${e.toString()}`,"ERROR_INVALID_CONTENT")}toRelativePath(e){return this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.dirname(e),this.extensionsLocation)?this.uriIdentityService.extUri.basename(e):void 0}resolveExtensionLocation(e){return this.uriIdentityService.extUri.joinPath(this.extensionsLocation,e)}async migrateFromOldDefaultProfileExtensionsLocation(){return this._migrationPromise||(this._migrationPromise=(async()=>{let e=this.uriIdentityService.extUri.joinPath(this.userDataProfilesService.defaultProfile.location,"extensions.json"),n=this.uriIdentityService.extUri.joinPath(this.extensionsLocation,".init-default-profile-extensions"),o;try{o=(await this.fileService.readFile(e)).value.toString()}catch(s){if(Rt(s)===1)return;throw s}this.logService.info("Migrating extensions from old default profile location",e.toString());let i;try{let s=JSON.parse(o);Array.isArray(s)&&s.every(a=>lU(a))?i=s:this.logService.warn("Skipping migrating from old default profile locaiton: Found invalid data",s)}catch(s){this.logService.error(s)}if(i)try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,L.fromString(JSON.stringify(i)),{overwrite:!1}),this.logService.info("Migrated extensions from old default profile location to new location",e.toString(),this.userDataProfilesService.defaultProfile.extensionsResource.toString())}catch(s){if(Rt(s)===3)this.logService.info("Migration from old default profile location to new location is done by another window",e.toString(),this.userDataProfilesService.defaultProfile.extensionsResource.toString());else throw s}try{await this.fileService.del(e)}catch(s){Rt(s)!==1&&this.logService.error(s)}try{await this.fileService.del(n)}catch(s){Rt(s)!==1&&this.logService.error(s)}return i})()),this._migrationPromise}getResourceAccessQueue(e){let n=this.resourcesAccessQueueMap.get(e);return n||(n=new Ar,this.resourcesAccessQueueMap.set(e,n)),n}};Iu=C([b(1,Oe),b(2,Ft),b(3,ze),b(4,z)],Iu)});function wc(r){switch(r){case 1:return d(123,null);case 2:return d(122,null);case 3:return d(124,null);case 4:return d(125,null);case 5:return d(119,null);case 6:return d(120,null);case 7:return d(117,null);case 8:return d(118,null);case 9:return d(121,null);default:return""}}var sR=y(()=>{re();fr()});function cU(r,t,e,n){try{D3(r,t,e,n)}catch(o){r.error(o?.message??o)}return t}function D3(r,t,e,n){let o=(i,s,a)=>{let l=i[s];if(j(l)){let c=l,u=c.length;if(u>1&&c[0]==="%"&&c[u-1]==="%"){let p=c.substr(1,u-2),m=e[p];m===void 0&&n&&(m=n[p]);let f=typeof m=="string"?m:m?.message,h=n?.[p],v=typeof h=="string"?h:h?.message;if(!f){v||r.warn(`[${t.name}]: ${d(3567,null,p)}`);return}if(a&&(s==="title"||s==="category")&&v&&v!==f){let I={value:f,original:v};i[s]=I}else i[s]=f}}else if(_e(l))for(let c in l)l.hasOwnProperty(c)&&(c==="commands"?o(l,c,!0):o(l,c,a));else if(Array.isArray(l))for(let c=0;c<l.length;c++)o(l,c,a)};for(let i in t)t.hasOwnProperty(i)&&o(t,i)}var dU=y(()=>{we();re()});function pU(r,t){let e=new Set;for(let n of r.builtInExtensionsEnabledWithAutoUpdates){let o=n.toLowerCase();t.skipBuiltinExtensions?.some(i=>i.toLowerCase()===o)||e.add(o)}return e}function qg(r,t){let e=cu(r.manifest.publisher,r.manifest.name);return{id:e,identifier:new sn(e),isBuiltin:r.type===0,isUserBuiltin:r.type===1&&r.isBuiltin,isUnderDevelopment:t,extensionLocation:r.location,uuid:r.identifier.uuid,targetPlatform:r.targetPlatform,publisherDisplayName:r.publisherDisplayName,preRelease:r.preRelease,...r.manifest}}var uU,zs,bu,Tc,Su,xu,Cu=y(()=>{At();Ne();jt();Ke();Ee();fr();sR();K();Sn();Ae();Me();me();bt();Xa();os();oe();re();Tn();ri();jn();lI();nt();Z();De();On();de();rs();Ec();vo();io();dU();(t=>{function r(e,n){if(e===n)return!0;let o=Object.keys(e),i=new Set;for(let s of Object.keys(n))i.add(s);if(o.length!==i.size)return!1;for(let s of o){if(e[s]!==n[s])return!1;i.delete(s)}return i.size===0}t.equals=r})(uU||={});zs=D("IExtensionsScannerService"),bu=class extends _{constructor(e,n,o,i,s,a,l,c,u,p,m,f){super();this.systemExtensionsLocation=e;this.userExtensionsLocation=n;this.extensionsControlLocation=o;this.userDataProfilesService=s;this.extensionsProfileScannerService=a;this.fileService=l;this.logService=c;this.environmentService=u;this.productService=p;this.uriIdentityService=m;this.instantiationService=f;this._onDidChangeCache=this._register(new T);this.onDidChangeCache=this._onDidChangeCache.event;this.initializeDefaultProfileExtensionsPromise=void 0;this.systemExtensionsCachedScanner=this._register(this.instantiationService.createInstance(xu,i)),this.userExtensionsCachedScanner=this._register(this.instantiationService.createInstance(xu,i)),this.extensionsScanner=this._register(this.instantiationService.createInstance(Su)),this._register(this.systemExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(0))),this._register(this.userExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(1)))}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=sI(this.fileService,this.logService)),this._targetPlatformPromise}async scanAllExtensions(e,n){let[o,i]=await Promise.all([this.scanSystemExtensions(e),this.scanUserExtensions(n)]);return this.dedupExtensions(o,i,[],await this.getTargetPlatform(),!0)}async scanSystemExtensions(e){let n=[];n.push(this.scanDefaultSystemExtensions(e.language)),n.push(this.scanDevSystemExtensions(e.language,!!e.checkControlFile));let[o,i]=await Promise.all(n),s=[...o,...i];if(this.environmentService.skipBuiltinExtensions?.length){let a=new Set(this.environmentService.skipBuiltinExtensions.map(l=>l.toLowerCase()));s=s.filter(l=>!a.has(l.identifier.id.toLowerCase()))}return this.applyScanOptions(s,0,{pickLatest:!1})}async scanUserExtensions(e){this.logService.trace("Started scanning user extensions",e.profileLocation);let n=this.uriIdentityService.extUri.isEqual(e.profileLocation,this.userDataProfilesService.defaultProfile.extensionsResource)?{bailOutWhenFileNotFound:!0}:void 0,o=await this.createExtensionScannerInput(e.profileLocation,!0,1,e.language,!0,n,e.productVersion??this.getProductVersion()),i=e.useCache&&!o.devMode?this.userExtensionsCachedScanner:this.extensionsScanner,s;try{s=await i.scanExtensions(o)}catch(a){if(a instanceof Cc&&a.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions(),s=await i.scanExtensions(o);else throw a}return s=await this.applyScanOptions(s,1,{includeInvalid:e.includeInvalid,pickLatest:!0}),this.logService.trace("Scanned user extensions:",s.length),s}async scanAllUserExtensions(e={includeInvalid:!0,includeAllVersions:!0}){let n=await this.createExtensionScannerInput(this.userExtensionsLocation,!1,1,void 0,!0,void 0,this.getProductVersion()),o=await this.extensionsScanner.scanExtensions(n);return this.applyScanOptions(o,1,{includeAllVersions:e.includeAllVersions,includeInvalid:e.includeInvalid})}async scanExtensionsUnderDevelopment(e,n){if(this.environmentService.isExtensionDevelopment&&this.environmentService.extensionDevelopmentLocationURI){let o=(await Promise.all(this.environmentService.extensionDevelopmentLocationURI.filter(i=>i.scheme===B.file).map(async i=>{let s=await this.createExtensionScannerInput(i,!1,1,n.language,!1,void 0,this.getProductVersion());return(await this.extensionsScanner.scanOneOrMultipleExtensions(s)).map(l=>(l.type=e.find(c=>ke(c.identifier,l.identifier))?.type??l.type,this.extensionsScanner.validate(l,s)))}))).flat();return this.applyScanOptions(o,"development",{includeInvalid:n.includeInvalid,pickLatest:!0})}return[]}async scanExistingExtension(e,n,o){let i=await this.createExtensionScannerInput(e,!1,n,o.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanExtension(i);return!s||!o.includeInvalid&&!s.isValid?null:s}async scanOneOrMultipleExtensions(e,n,o){let i=await this.createExtensionScannerInput(e,!1,n,o.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanOneOrMultipleExtensions(i);return this.applyScanOptions(s,n,{includeInvalid:o.includeInvalid,pickLatest:!0})}async scanMultipleExtensions(e,n,o){let i=[];return await Promise.all(e.map(async s=>{let a=await this.scanOneOrMultipleExtensions(s,n,o);i.push(...a)})),this.applyScanOptions(i,n,{includeInvalid:o.includeInvalid,pickLatest:!0})}async updateManifestMetadata(e,n){let o=ge(e,"package.json"),i=(await this.fileService.readFile(o)).value.toString(),s=JSON.parse(i);s.__metadata={...s.__metadata,...n},await this.fileService.writeFile(ge(e,"package.json"),L.fromString(JSON.stringify(s,null," ")))}async initializeDefaultProfileExtensions(){try{await this.extensionsProfileScannerService.scanProfileExtensions(this.userDataProfilesService.defaultProfile.extensionsResource,{bailOutWhenFileNotFound:!0})}catch(e){if(e instanceof Cc&&e.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions();else throw e}}async doInitializeDefaultProfileExtensions(){return this.initializeDefaultProfileExtensionsPromise||(this.initializeDefaultProfileExtensionsPromise=(async()=>{try{this.logService.info("Started initializing default profile extensions in extensions installation folder.",this.userExtensionsLocation.toString());let e=await this.scanAllUserExtensions({includeInvalid:!0});if(e.length)await this.extensionsProfileScannerService.addExtensionsToProfile(e.map(n=>[n,n.metadata]),this.userDataProfilesService.defaultProfile.extensionsResource);else try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,L.fromString(JSON.stringify([])))}catch(n){Rt(n)!==1&&this.logService.warn("Failed to create default profile extensions manifest in extensions installation folder.",this.userExtensionsLocation.toString(),ye(n))}this.logService.info("Completed initializing default profile extensions in extensions installation folder.",this.userExtensionsLocation.toString())}catch(e){this.logService.error(e)}finally{this.initializeDefaultProfileExtensionsPromise=void 0}})()),this.initializeDefaultProfileExtensionsPromise}async applyScanOptions(e,n,o={}){return o.includeAllVersions||(e=this.dedupExtensions(n===0?e:void 0,n===1?e:void 0,n==="development"?e:void 0,await this.getTargetPlatform(),!!o.pickLatest)),o.includeInvalid||(e=e.filter(i=>i.isValid)),e.sort((i,s)=>{let a=ut(i.location.fsPath),l=ut(s.location.fsPath);return a<l?-1:a>l?1:0})}dedupExtensions(e,n,o,i,s){let a=(u,p,m)=>{if(!m&&!(u.isBuiltin||p.isBuiltin)){if(u.metadata?.isApplicationScoped&&!p.metadata?.isApplicationScoped)return!1;if(!u.metadata?.isApplicationScoped&&p.metadata?.isApplicationScoped)return!0}if(u.isValid&&!p.isValid)return!1;if(u.isValid===p.isValid){if(s&&ns(u.manifest.version,p.manifest.version))return this.logService.debug(`Skipping extension ${p.location.path} with lower version ${p.manifest.version} in favour of ${u.location.path} with version ${u.manifest.version}`),!1;if(gN(u.manifest.version,p.manifest.version)){if(u.type===0)return this.logService.debug(`Skipping extension ${p.location.path} in favour of system extension ${u.location.path} with same version`),!1;if(u.targetPlatform===i)return this.logService.debug(`Skipping extension ${p.location.path} from different target platform ${p.targetPlatform}`),!1}}return m?this.logService.warn(`Overwriting user extension ${u.location.path} with ${p.location.path}.`):this.logService.debug(`Overwriting user extension ${u.location.path} with ${p.location.path}.`),!0},l=new vc;e?.forEach(u=>{let p=l.get(u.identifier.id);(!p||a(p,u,!1))&&l.set(u.identifier.id,u)});let c=pU(this.productService,this.environmentService);return n?.forEach(u=>{let p=l.get(u.identifier.id);if(!p&&e&&u.type===0){this.logService.debug(`Skipping obsolete system extension ${u.location.path}.`);return}if(c.has(u.identifier.id.toLowerCase())&&!u.forceAutoUpdate){this.logService.info(`Skipping user installed builtin extension ${u.identifier.id} with version ${u.manifest.version} because it is not allowed to in the current product quality ${this.productService.quality}`);return}(!p||a(p,u,!1))&&l.set(u.identifier.id,u)}),o?.forEach(u=>{let p=l.get(u.identifier.id);(!p||a(p,u,!0))&&l.set(u.identifier.id,u),l.set(u.identifier.id,u)}),[...l.values()]}async scanDefaultSystemExtensions(e){this.logService.trace("Started scanning system extensions");let n=await this.createExtensionScannerInput(this.systemExtensionsLocation,!1,0,e,!0,void 0,this.getProductVersion()),i=await(n.devMode?this.extensionsScanner:this.systemExtensionsCachedScanner).scanExtensions(n);return this.logService.trace("Scanned system extensions:",i.length),i}async scanDevSystemExtensions(e,n){let o=this.environmentService.isBuilt?[]:this.productService.builtInExtensions;if(!o?.length)return[];this.logService.trace("Started scanning dev system extensions");let i=n?await this.getBuiltInExtensionControl():{},s=[],a=S.file(Mn(q(Dt.asFileUri("").fsPath,"..",".build","builtInExtensions")));for(let c of o){let u=i[c.name]||"marketplace";switch(u){case"disabled":break;case"marketplace":s.push(ge(a,c.name));break;default:s.push(S.file(u));break}}let l=await Promise.all(s.map(async c=>this.extensionsScanner.scanExtension(await this.createExtensionScannerInput(c,!1,0,e,!0,void 0,this.getProductVersion()))));return this.logService.trace("Scanned dev system extensions:",l.length),Qo(l)}async getBuiltInExtensionControl(){try{let e=await this.fileService.readFile(this.extensionsControlLocation);return JSON.parse(e.value.toString())}catch{return{}}}async createExtensionScannerInput(e,n,o,i,s,a,l){let c=await this.getTranslations(i??pn),u=await this.getMtime(e),p=n&&!this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)?this.userDataProfilesService.defaultProfile.extensionsResource:void 0,m=p?await this.getMtime(p):void 0;return new Tc(e,u,p,m,n,a,o,s,l.version,l.date,this.productService.commit,!this.environmentService.isBuilt,i,c)}async getMtime(e){try{let n=await this.fileService.stat(e);if(typeof n.mtime=="number")return n.mtime}catch{}}getProductVersion(){return{version:this.productService.version,date:this.productService.date}}};bu=C([b(4,Ft),b(5,yr),b(6,Oe),b(7,z),b(8,_t),b(9,He),b(10,ze),b(11,Ln)],bu);Tc=class{constructor(t,e,n,o,i,s,a,l,c,u,p,m,f,h){this.location=t;this.mtime=e;this.applicationExtensionslocation=n;this.applicationExtensionslocationMtime=o;this.profile=i;this.profileScanOptions=s;this.type=a;this.validate=l;this.productVersion=c;this.productDate=u;this.productCommit=p;this.devMode=m;this.language=f;this.translations=h}static createNlsConfiguration(t){return{language:t.language,pseudo:t.language==="pseudo",devMode:t.devMode,translations:t.translations}}static equals(t,e){return mo(t.location,e.location)&&t.mtime===e.mtime&&mo(t.applicationExtensionslocation,e.applicationExtensionslocation)&&t.applicationExtensionslocationMtime===e.applicationExtensionslocationMtime&&t.profile===e.profile&&ct(t.profileScanOptions,e.profileScanOptions)&&t.type===e.type&&t.validate===e.validate&&t.productVersion===e.productVersion&&t.productDate===e.productDate&&t.productCommit===e.productCommit&&t.devMode===e.devMode&&t.language===e.language&&uU.equals(t.translations,e.translations)}},Su=class extends _{constructor(e,n,o,i,s,a){super();this.extensionsProfileScannerService=e;this.uriIdentityService=n;this.fileService=o;this.logService=a;this.productQuality=i.quality,this.productBuiltInExtensionsEnabledWithAutoUpdates=pU(i,s)}async scanExtensions(e){return e.profile?this.scanExtensionsFromProfile(e):this.scanExtensionsFromLocation(e)}async scanExtensionsFromLocation(e){let n=await this.fileService.resolve(e.location);if(!n.children?.length)return[];let o=await Promise.all(n.children.map(async i=>{if(!i.isDirectory||e.type===1&&An(i.resource).indexOf(".")===0)return null;let s=new Tc(i.resource,e.mtime,e.applicationExtensionslocation,e.applicationExtensionslocationMtime,e.profile,e.profileScanOptions,e.type,e.validate,e.productVersion,e.productDate,e.productCommit,e.devMode,e.language,e.translations);return this.scanExtension(s)}));return Qo(o).sort((i,s)=>i.location.path<s.location.path?-1:1)}async scanExtensionsFromProfile(e){let n=await this.scanExtensionsFromProfileResource(e.location,()=>!0,e);if(e.applicationExtensionslocation&&!this.uriIdentityService.extUri.isEqual(e.location,e.applicationExtensionslocation)){n=n.filter(i=>!i.metadata?.isApplicationScoped);let o=await this.scanExtensionsFromProfileResource(e.applicationExtensionslocation,i=>!!i.metadata?.isBuiltin||!!i.metadata?.isApplicationScoped,e);n.push(...o)}return n}async scanExtensionsFromProfileResource(e,n,o){let i=await this.extensionsProfileScannerService.scanProfileExtensions(e,o.profileScanOptions);if(!i.length)return[];let s=await Promise.all(i.map(async a=>{if(n(a)){let l=new Tc(a.location,o.mtime,o.applicationExtensionslocation,o.applicationExtensionslocationMtime,o.profile,o.profileScanOptions,o.type,o.validate,o.productVersion,o.productDate,o.productCommit,o.devMode,o.language,o.translations);return this.scanExtension(l,a)}return null}));return Qo(s)}async scanOneOrMultipleExtensions(e){try{if(await this.fileService.exists(ge(e.location,"package.json"))){let n=await this.scanExtension(e);return n?[n]:[]}else return await this.scanExtensions(e)}catch(n){return this.logService.error(`Error scanning extensions at ${e.location.path}:`,ye(n)),[]}}async scanExtension(e,n){let o=[],i=!0,s;try{s=await this.scanExtensionManifest(e.location)}catch(f){if(n){o.push([qe.Error,ye(f)]),i=!1;let[h,v]=n.identifier.id.split(".");s={name:v,publisher:h,version:n.version,engines:{vscode:""}}}else return e.type!==0&&this.logService.error(f),null}s.publisher||(s.publisher=Xy);let a;n?a={...n.metadata,size:s.__metadata?.size}:s.__metadata&&(a={installedTimestamp:s.__metadata.installedTimestamp,size:s.__metadata.size,targetPlatform:s.__metadata.targetPlatform}),delete s.__metadata;let l=Do(s.publisher,s.name),c=a?.id?{id:l,uuid:a.id}:{id:l},u=a?.isSystem?0:e.type,p=u===0||!!a?.isBuiltin;try{s=await this.translateManifest(e.location,s,Tc.createNlsConfiguration(e))}catch(f){this.logService.warn("Failed to translate manifest",ye(f))}let m={type:u,identifier:c,manifest:s,location:e.location,isBuiltin:p,targetPlatform:a?.targetPlatform??"undefined",publisherDisplayName:a?.publisherDisplayName,metadata:a,isValid:i,validations:o,preRelease:!!a?.preRelease,forceAutoUpdate:this.productBuiltInExtensionsEnabledWithAutoUpdates.has(l.toLowerCase())&&this.productQuality==="stable"};return e.validate&&(m=this.validate(m,e)),s.enabledApiProposals&&(s.originalEnabledApiProposals=s.enabledApiProposals,s.enabledApiProposals=rN([...s.enabledApiProposals])),m}validate(e,n){let o=e.isValid,i=bN(n.productVersion,n.productDate,n.location,e.manifest,e.isBuiltin);for(let[s,a]of i)s===qe.Error&&(o=!1,this.logService.error(this.formatMessage(n.location,a)));return e.isValid=o,e.validations=[...e.validations,...i],e}async scanExtensionManifest(e){let n=ge(e,"package.json"),o;try{o=(await this.fileService.readFile(n)).value.toString()}catch(s){throw Rt(s)!==1&&this.logService.error(this.formatMessage(e,d(3568,null,n.path,s.message))),s}let i;try{i=JSON.parse(o)}catch(s){let a=[];Po(o,a);for(let l of a)this.logService.error(this.formatMessage(e,d(3570,null,n.path,l.offset,l.length,wc(l.error))));throw s}if($a(i)!=="object"){let s=this.formatMessage(e,d(3571,null,n.path));throw this.logService.error(s),new Error(s)}return i}async translateManifest(e,n,o){let i=await this.getLocalizedMessages(e,n,o);if(i)try{let s=[],a=await this.resolveOriginalMessageBundle(i.default,s);if(s.length>0)return s.forEach(c=>{this.logService.error(this.formatMessage(e,d(3572,null,i.default?.path,wc(c.error))))}),n;if($a(i)!=="object")return this.logService.error(this.formatMessage(e,d(3569,null,i.default?.path))),n;let l=i.values||Object.create(null);return cU(this.logService,n,l,a)}catch{}return n}async getLocalizedMessages(e,n,o){let i=ge(e,"package.nls.json"),s=(u,p)=>{p.forEach(m=>{this.logService.error(this.formatMessage(e,d(3572,null,u?.path,wc(m.error))))})},a=u=>{this.logService.error(this.formatMessage(e,d(3569,null,u?.path)))},l=`${n.publisher}.${n.name}`,c=o.translations[l];if(c)try{let u=S.file(c),p=(await this.fileService.readFile(u)).value.toString(),m=[],f=Po(p,m);return m.length>0?(s(u,m),{values:void 0,default:i}):$a(f)!=="object"?(a(u),{values:void 0,default:i}):{values:f.contents?f.contents.package:void 0,default:i}}catch{return{values:void 0,default:i}}else{if(!await this.fileService.exists(i))return;let p;try{p=await this.findMessageBundles(e,o)}catch{return}if(!p.localized)return{values:void 0,default:p.original};try{let m=(await this.fileService.readFile(p.localized)).value.toString(),f=[],h=Po(m,f);return f.length>0?(s(p.localized,f),{values:void 0,default:p.original}):$a(h)!=="object"?(a(p.localized),{values:void 0,default:p.original}):{values:h,default:p.original}}catch{return{values:void 0,default:p.original}}}}async resolveOriginalMessageBundle(e,n){if(e)try{let o=(await this.fileService.readFile(e)).value.toString();return Po(o,n)}catch{}}findMessageBundles(e,n){return new Promise((o,i)=>{let s=a=>{let l=ge(e,`package.nls.${a}.json`);this.fileService.exists(l).then(c=>{c&&o({localized:l,original:ge(e,"package.nls.json")});let u=a.lastIndexOf("-");u===-1?o({localized:ge(e,"package.nls.json"),original:null}):(a=a.substring(0,u),s(a))})};if(n.devMode||n.pseudo||!n.language)return o({localized:ge(e,"package.nls.json"),original:null});s(n.language)})}formatMessage(e,n){return`[${e.path}]: ${n}`}};Su=C([b(0,yr),b(1,ze),b(2,Oe),b(3,He),b(4,_t),b(5,z)],Su);xu=class extends Su{constructor(e,n,o,i,s,a,l,c){super(o,i,s,a,l,c);this.currentProfile=e;this.userDataProfilesService=n;this.pendingValidations=new tt;this.cacheValidatorThrottler=this._register(new _r(3e3));this._onDidChangeCache=this._register(new T);this.onDidChangeCache=this._onDidChangeCache.event}async scanExtensions(e){let n=this.getCacheFile(e),o=await this.readExtensionCache(n);if(o&&o.input&&Tc.equals(o.input,e))return this.logService.debug("Using cached extensions scan result",e.type===0?"system":"user",e.location.toString()),this.pendingValidations.set(n,e),this.cacheValidatorThrottler.trigger(()=>this.validatePendingCaches()),o.result.map(s=>(s.location=S.revive(s.location),s));let i=await super.scanExtensions(e);return await this.writeExtensionCache(n,{input:e,result:i}),i}async readExtensionCache(e){try{let n=await this.fileService.readFile(e),o=JSON.parse(n.value.toString());return{result:o.result,input:Qt(o.input)}}catch(n){Rt(n)!==1&&this.logService.debug("Error while reading the extension cache file:",e.path,ye(n))}return null}async writeExtensionCache(e,n){try{await this.fileService.writeFile(e,L.fromString(JSON.stringify(n)))}catch(o){this.logService.debug("Error while writing the extension cache file:",e.path,ye(o))}}async validatePendingCaches(){let e=[...this.pendingValidations.entries()];this.pendingValidations.clear(),await Promise.all(e.map(([n,o])=>this.validateCache(n,o)))}async validateCache(e,n){let o=await this.readExtensionCache(e);if(!o)return;let i=o.result,s=JSON.parse(JSON.stringify(await super.scanExtensions(n)));if(!ct(s,i))try{this.logService.info("Invalidating Cache",i,s),await this.fileService.del(e),this._onDidChangeCache.fire()}catch(a){this.logService.error(a)}}getCacheFile(e){let n=this.getProfile(e);return this.uriIdentityService.extUri.joinPath(n.cacheHome,nN(e.type,e.language))}getProfile(e){return e.type===0?this.userDataProfilesService.defaultProfile:e.profile?this.uriIdentityService.extUri.isEqual(e.location,this.currentProfile.extensionsResource)?this.currentProfile:this.userDataProfilesService.profiles.find(n=>this.uriIdentityService.extUri.isEqual(e.location,n.extensionsResource))??this.currentProfile:this.userDataProfilesService.defaultProfile}};xu=C([b(1,Ft),b(2,yr),b(3,ze),b(4,Oe),b(5,He),b(6,_t),b(7,z)],xu)});function $g(r){let t="Extract";return r instanceof Sc&&(r.type==="CorruptZip"?t="CorruptZip":r.type==="Incomplete"&&(t="IncompleteZip")),ln(r,t)}async function kI(r){let t;try{t=await xI(r,"extension/package.json")}catch(e){throw $g(e)}try{return JSON.parse(t.toString("utf8"))}catch{throw new Ut(d(3583,null),"Invalid")}}var aR=y(()=>{CI();re();Bg();ko()});var Eu,ol,DI=y(()=>{Ee();we();Z();De();Rn();ko();Eu=D("IExtensionSignatureVerificationService"),ol=class{constructor(t,e){this.logService=t;this.telemetryService=e}vsceSign(){return this.moduleLoadingPromise||(this.moduleLoadingPromise=this.resolveVsceSign()),this.moduleLoadingPromise}async resolveVsceSign(){return import("@vscode/vsce-sign")}async verify(t,e,n,o,i){let s;try{s=await this.vsceSign()}catch(u){this.logService.error("Could not load vsce-sign module",ye(u)),this.logService.info(`Extension signature verification is not done: ${t}`);return}let a=new Date().getTime(),l;try{this.logService.trace(`Verifying extension signature for ${t}...`),l=await s.verify(n,o,this.logService.getLevel()===1)}catch(u){l={code:"UnknownError",didExecute:!1,output:ye(u)}}let c=new Date().getTime()-a;return this.logService.info(`Extension signature verification result for ${t}: ${l.code}. ${Zr(l.internalCode)?`Internal Code: ${l.internalCode}. `:""}Executed: ${l.didExecute}. Duration: ${c}ms.`),this.logService.trace(`Extension signature verification output for ${t}:
${l.output}`),this.telemetryService.publicLog2("extensionsignature:verification",{extensionId:t,extensionVersion:e,code:l.code,internalCode:l.internalCode,duration:c,didExecute:l.didExecute,clientTargetPlatform:i}),{code:l.code}}};ol=C([b(0,z),b(1,Pt)],ol)});var Gs,mU=y(()=>{Ne();Ee();K();Ae();bt();Xa();nn();go();CI();Tn();Bg();ko();ri();aR();DI();nt();De();Rn();io();Gs=class extends _{constructor(e,n,o,i,s,a,l){super();this.fileService=n;this.extensionGalleryService=o;this.extensionSignatureVerificationService=i;this.telemetryService=s;this.uriIdentityService=a;this.logService=l;this.extensionsDownloadDir=e.extensionsDownloadLocation,this.extensionsTrashDir=a.extUri.joinPath(e.extensionsDownloadLocation,".trash"),this.cache=20,this.cleanUpPromise=this.cleanUp()}static{this.SignatureArchiveExtension=".sigzip"}async download(e,n,o,i){await this.cleanUpPromise;let s=await this.downloadVSIX(e,n);if(!o)return{location:s,verificationStatus:void 0};if(!e.isSigned)return{location:s,verificationStatus:"NotSigned"};let a;try{a=await this.downloadSignatureArchive(e);let l=(await this.extensionSignatureVerificationService.verify(e.identifier.id,e.version,s.fsPath,a.fsPath,i))?.code;if(l==="PackageIsInvalidZip"||l==="SignatureArchiveIsInvalidZip"){try{await this.delete(s)}catch(c){this.logService.error(c)}throw new Ut(KT,"CorruptZip")}return{location:s,verificationStatus:l}}catch(l){try{await this.delete(s)}catch(c){this.logService.error(c)}throw l}finally{if(a)try{await this.delete(a)}catch(l){this.logService.error(l)}}}async downloadVSIX(e,n){try{let o=ge(this.extensionsDownloadDir,this.getName(e)),i=await this.doDownload(e,"vsix",async()=>{await this.downloadFile(e,o,s=>this.extensionGalleryService.download(e,s,n));try{await this.validate(o.fsPath,"extension/package.json")}catch(s){try{await this.fileService.del(o)}catch(a){this.logService.warn(`Error while deleting: ${o.path}`,ye(a))}throw s}},2);return i>1&&this.telemetryService.publicLog2("extensiongallery:downloadvsix:retry",{extensionId:e.identifier.id,attempts:i}),o}catch(o){throw ln(o,"Download")}}async downloadSignatureArchive(e){try{let n=ge(this.extensionsDownloadDir,`${this.getName(e)}${Gs.SignatureArchiveExtension}`),o=await this.doDownload(e,"sigzip",async()=>{await this.extensionGalleryService.downloadSignatureArchive(e,n);try{await this.validate(n.fsPath,".signature.p7s")}catch(i){try{await this.fileService.del(n)}catch(s){this.logService.warn(`Error while deleting: ${n.path}`,ye(s))}throw i}},2);return o>1&&this.telemetryService.publicLog2("extensiongallery:downloadsigzip:retry",{extensionId:e.identifier.id,attempts:o}),n}catch(n){throw ln(n,"DownloadSignature")}}async downloadFile(e,n,o){if(await this.fileService.exists(n))return;if(n.scheme!==B.file){await o(n);return}let i=ge(this.extensionsDownloadDir,`.${Se()}`);try{await o(i)}catch(s){try{await this.fileService.del(i)}catch{}throw s}try{await be.rename(i.fsPath,n.fsPath,120*1e3)}catch(s){try{await this.fileService.del(i)}catch{}let a=!1;try{a=await this.fileService.exists(n)}catch{}if(a)this.logService.info("Rename failed because the file was downloaded by another source. So ignoring renaming.",e.identifier.id,n.path);else throw this.logService.info(`Rename failed because of ${ye(s)}. Deleted the file from downloaded location`,i.path),s}}async doDownload(e,n,o,i){let s=1;for(;;)try{return await o(),s}catch(a){if(s++>i)throw a;this.logService.warn(`Failed downloading ${n}. ${ye(a)}. Retry again...`,e.identifier.id)}}async validate(e,n){try{await xI(e,n)}catch(o){throw $g(o)}}async delete(e){await this.cleanUpPromise;let n=this.uriIdentityService.extUri.relativePath(this.extensionsDownloadDir,e);n?await this.fileService.move(e,this.uriIdentityService.extUri.joinPath(this.extensionsTrashDir,n),!0):await this.fileService.del(e)}async cleanUp(){try{if(!await this.fileService.exists(this.extensionsDownloadDir)){this.logService.trace("Extension VSIX downloads cache dir does not exist");return}try{await this.fileService.del(this.extensionsTrashDir,{recursive:!0})}catch(n){Rt(n)!==1&&this.logService.error(n)}let e=await this.fileService.resolve(this.extensionsDownloadDir,{resolveMetadata:!0});if(e.children){let n=[],o=[],i=[];for(let l of e.children)if(l.name.endsWith(Gs.SignatureArchiveExtension))i.push(l.resource);else{let c=ro.parse(l.name);c&&o.push([c,l])}let s=iI(o,([l])=>l),a=[];for(let l of s)l.sort((c,u)=>rI(c[0].version,u[0].version)),n.push(...l.slice(1).map(c=>c[1].resource)),a.push(l[0][1]);a.sort((l,c)=>l.mtime-c.mtime),n.push(...a.slice(0,Math.max(0,a.length-this.cache)).map(l=>l.resource)),n.push(...i),await Cn.settled(n.map(l=>(this.logService.trace("Deleting from cache",l.path),this.fileService.del(l))))}}catch(e){this.logService.error(e)}}getName(e){return ro.create(e).toString().toLowerCase()}};Gs=C([b(0,wn),b(1,Oe),b(2,ho),b(3,Eu),b(4,Pt),b(5,ze),b(6,z)],Gs)});import{fork as _3}from"child_process";var wu,gU=y(()=>{Ne();oc();de();K();Ae();Me();go();De();vo();wu=class extends _{constructor(e,n){super();this.userDataProfilesService=e;this.logService=n;this.processesLimiter=new Jm(5)}async postUninstall(e){let n=this.parseScript(e,"uninstall");n&&(this.logService.info(e.identifier.id,e.manifest.version,"Running post uninstall script"),await this.processesLimiter.queue(async()=>{try{await this.runLifecycleHook(n.script,"uninstall",n.args,!0,e),this.logService.info("Finished running post uninstall script",e.identifier.id,e.manifest.version)}catch(o){this.logService.error("Failed to run post uninstall script",e.identifier.id,e.manifest.version),this.logService.error(o)}}));try{await be.rm(this.getExtensionStoragePath(e))}catch(o){this.logService.error("Error while removing extension storage path",e.identifier.id),this.logService.error(o)}}parseScript(e,n){let o=`vscode:${n}`;if(e.location.scheme===B.file&&e.manifest&&e.manifest.scripts&&typeof e.manifest.scripts[o]=="string"){let i=e.manifest.scripts[o].split(" ");return i.length<2||i[0]!=="node"||!i[1]?(this.logService.warn(e.identifier.id,e.manifest.version,`${o} should be a node script`),null):{script:q(e.location.fsPath,i[1]),args:i.slice(2)||[]}}return null}runLifecycleHook(e,n,o,i,s){return new Promise((a,l)=>{let c=this.start(e,n,o,s),u,p=m=>{u&&(clearTimeout(u),u=null),m?l(m):a(void 0)};c.on("error",m=>{p(ni(m)||"Unknown")}),c.on("exit",(m,f)=>{p(m?`post-${n} process exited with code ${m}`:void 0)}),i&&(u=setTimeout(()=>{u=null,c.kill(),l("timed out")},5e3))})}start(e,n,o,i){let s={silent:!0,execArgv:void 0},a=_3(e,[`--type=extension-post-${n}`,...o],s);a.stdout.setEncoding("utf8"),a.stderr.setEncoding("utf8");let l=V.fromNodeEventEmitter(a.stdout,"data"),c=V.fromNodeEventEmitter(a.stderr,"data");this._register(l(m=>this.logService.info(i.identifier.id,i.manifest.version,`post-${n}`,m))),this._register(c(m=>this.logService.error(i.identifier.id,i.manifest.version,`post-${n}`,m)));let u=V.any(V.map(l,m=>({data:`%c${m}`,format:[""]}),this._store),V.map(c,m=>({data:`%c${m}`,format:["color: red"]}),this._store));return V.debounce(u,(m,f)=>m?{data:m.data+f.data,format:[...m.format,...f.format]}:{data:f.data,format:f.format},100,void 0,void 0,void 0,this._store)(m=>{console.group(i.identifier.id),console.log(m.data,...m.format),console.groupEnd()}),a}getExtensionStoragePath(e){return q(this.userDataProfilesService.defaultProfile.globalStorageHome.fsPath,e.identifier.id.toLowerCase())}};wu=C([b(0,Ft),b(1,z)],wu)});var _I,fU=y(()=>{K();jn();nt();_I=class extends _{constructor(e,n,o,i,s){super();this.userDataProfilesService=e;this.fileService=n;this.uriIdentityService=o;this.logService=s;this._register(i.onDidInstallExtensions(a=>this.onDidInstallExtensions(a))),this._register(i.onDidUninstallExtension(a=>this.onDidUnInstallExtension(a)))}onDidInstallExtensions(e){for(let n of e)n.local&&this.invalidate(n.profileLocation)}onDidUnInstallExtension(e){e.error||this.invalidate(e.profileLocation)}async invalidate(e){if(e)for(let n of this.userDataProfilesService.profiles)this.uriIdentityService.extUri.isEqual(n.extensionsResource,e)&&await this.deleteUserCacheFiles(n);else await this.deleteUserCacheFiles(this.userDataProfilesService.defaultProfile)}async deleteUserCacheFiles(e){try{let n=await this.fileService.resolve(e.cacheHome),o=this.uriIdentityService.extUri.ignorePathCasing(e.cacheHome);await Promise.all((n.children??[]).filter(i=>!i.isDirectory&&oN(i.name,1,o)).map(i=>this.fileService.del(i.resource)))}catch(n){Rt(n)!==1&&this.logService.error(n)}}}});var MI,hU=y(()=>{Ee();de();K();Sn();ri();jn();nt();MI=class extends _{constructor(e,n,o,i,s,a,l){super();this.extensionManagementService=e;this.extensionsScannerService=n;this.userDataProfilesService=o;this.extensionsProfileScannerService=i;this.uriIdentityService=s;this.fileService=a;this.logService=l;this._onDidChangeExtensionsByAnotherSource=this._register(new T);this.onDidChangeExtensionsByAnotherSource=this._onDidChangeExtensionsByAnotherSource.event;this.allExtensions=new Map;this.extensionsProfileWatchDisposables=this._register(new Fo);this.initialize().then(null,c=>l.error("Error while initializing Extensions Watcher",ye(c)))}async initialize(){await this.extensionsScannerService.initializeDefaultProfileExtensions(),await this.onDidChangeProfiles(this.userDataProfilesService.profiles),this.registerListeners(),await this.deleteExtensionsNotInProfiles()}registerListeners(){this._register(this.userDataProfilesService.onDidChangeProfiles(e=>this.onDidChangeProfiles(e.added))),this._register(this.extensionsProfileScannerService.onAddExtensions(e=>this.onAddExtensions(e))),this._register(this.extensionsProfileScannerService.onDidAddExtensions(e=>this.onDidAddExtensions(e))),this._register(this.extensionsProfileScannerService.onRemoveExtensions(e=>this.onRemoveExtensions(e))),this._register(this.extensionsProfileScannerService.onDidRemoveExtensions(e=>this.onDidRemoveExtensions(e))),this._register(this.fileService.onDidFilesChange(e=>this.onDidFilesChange(e)))}async onDidChangeProfiles(e){try{e.length&&await Promise.all(e.map(n=>(this.extensionsProfileWatchDisposables.set(n.id,Kv(this.fileService.watch(this.uriIdentityService.extUri.dirname(n.extensionsResource)),this.fileService.watch(n.extensionsResource))),this.populateExtensionsFromProfile(n.extensionsResource))))}catch(n){throw this.logService.error(n),n}}async onAddExtensions(e){for(let n of e.extensions)this.addExtensionWithKey(this.getKey(n.identifier,n.version),e.profileLocation)}async onDidAddExtensions(e){for(let n of e.extensions){let o=this.getKey(n.identifier,n.version);e.error?this.removeExtensionWithKey(o,e.profileLocation):this.addExtensionWithKey(o,e.profileLocation)}}async onRemoveExtensions(e){for(let n of e.extensions)this.removeExtensionWithKey(this.getKey(n.identifier,n.version),e.profileLocation)}async onDidRemoveExtensions(e){let n=[],o=[];for(let i of e.extensions){let s=this.getKey(i.identifier,i.version);e.error?this.addExtensionWithKey(s,e.profileLocation):(this.removeExtensionWithKey(s,e.profileLocation),this.allExtensions.has(s)||(this.logService.debug("Extension is removed from all profiles",i.identifier.id,i.version),o.push(this.extensionManagementService.scanInstalledExtensionAtLocation(i.location).then(a=>{a?n.push(a):this.logService.info("Extension not found at the location",i.location.toString())},a=>this.logService.error(a)))))}try{await Promise.all(o),n.length&&await this.deleteExtensionsNotInProfiles(n)}catch(i){this.logService.error(i)}}onDidFilesChange(e){for(let n of this.userDataProfilesService.profiles)e.contains(n.extensionsResource,0,1)&&this.onDidExtensionsProfileChange(n.extensionsResource)}async onDidExtensionsProfileChange(e){let n=[],o=[],i=await this.extensionsProfileScannerService.scanProfileExtensions(e),s=new Set,a=new Set;for(let[l,c]of this.allExtensions)c.has(e)&&a.add(l);for(let l of i){let c=this.getKey(l.identifier,l.version);s.add(c),a.has(c)||(n.push(l.identifier),this.addExtensionWithKey(c,e))}for(let l of a)if(!s.has(l)){let c=this.fromKey(l);c&&(o.push(c.identifier),this.removeExtensionWithKey(l,e))}(n.length||o.length)&&this._onDidChangeExtensionsByAnotherSource.fire({added:n.length?{extensions:n,profileLocation:e}:void 0,removed:o.length?{extensions:o,profileLocation:e}:void 0})}async populateExtensionsFromProfile(e){let n=await this.extensionsProfileScannerService.scanProfileExtensions(e);for(let o of n)this.addExtensionWithKey(this.getKey(o.identifier,o.version),e)}async deleteExtensionsNotInProfiles(e){e||(e=(await this.extensionManagementService.scanAllUserInstalledExtensions()).filter(o=>!this.allExtensions.has(this.getKey(o.identifier,o.manifest.version)))),e.length&&await this.extensionManagementService.deleteExtensions(...e)}addExtensionWithKey(e,n){let o=this.allExtensions.get(e);o||this.allExtensions.set(e,o=new Ds(i=>this.uriIdentityService.extUri.getComparisonKey(i))),o.add(n)}removeExtensionWithKey(e,n){let o=this.allExtensions.get(e);o&&o.delete(n),o?.size||this.allExtensions.delete(e)}getKey(e,n){return`${sn.toKey(e.id)}@${n}`}fromKey(e){let[n,o]=Lg(e);return o?{identifier:{id:n},version:o}:void 0}}});import*as vU from"fs";var Kg,lR,il,zg,Gg,cR,dR=y(()=>{Ne();Ke();Ee();de();Ua();K();Sn();Ae();Me();bt();Xa();we();oe();nn();go();CI();re();EI();Tn();Bg();ko();ri();Ec();Cu();mU();gU();aR();fU();hU();jn();lI();nt();Z();De();On();Rn();io();vo();tn();Ic();Kg=au,lR=".vsctmp",il=class extends yu{constructor(e,n,o,i,s,a,l,c,u,p,m,f,h,v,I){super(e,n,v,o,f,h,I);this.environmentService=i;this.extensionsScannerService=s;this.extensionsProfileScannerService=a;this.downloadService=l;this.instantiationService=c;this.fileService=u;this.configurationService=p;this.extensionGalleryManifestService=m;this.extractingGalleryExtensions=new Map;this.knownDirectories=new Ds;let E=this._register(c.createInstance(wu));this.extensionsScanner=this._register(c.createInstance(zg,P=>E.postUninstall(P))),this.manifestCache=this._register(new _I(I,u,v,this,this.logService)),this.extensionsDownloader=this._register(c.createInstance(Gs));let w=this._register(new MI(this,this.extensionsScannerService,I,a,v,u,o));this._register(w.onDidChangeExtensionsByAnotherSource(P=>this.onDidChangeExtensionsFromAnotherSource(P))),this.watchForExtensionsNotInstalledBySystem()}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=sI(this.fileService,this.logService)),this._targetPlatformPromise}async zip(e){this.logService.trace("ExtensionManagementService#zip",e.identifier.id);let n=await this.collectFiles(e),o=await BN(ge(this.extensionsDownloader.extensionsDownloadDir,Se()).fsPath,n);return S.file(o)}async getManifest(e){let{location:n,cleanup:o}=await this.downloadVsix(e),i=qn(n.fsPath);try{return await kI(i)}finally{await o()}}getInstalled(e,n=this.userDataProfilesService.defaultProfile.extensionsResource,o={version:this.productService.version,date:this.productService.date},i){return this.extensionsScanner.scanExtensions(e??null,n,o,i)}scanAllUserInstalledExtensions(){return this.extensionsScanner.scanAllUserExtensions()}scanInstalledExtensionAtLocation(e){return this.extensionsScanner.scanUserExtensionAtLocation(e)}async install(e,n={}){this.logService.trace("ExtensionManagementService#install",e.toString());let{location:o,cleanup:i}=await this.downloadVsix(e);try{let s=await kI(qn(o.fsPath)),a=Do(s.publisher,s.name);if(s.engines&&s.engines.vscode&&!Ng(s.engines.vscode,this.productService.version,this.productService.date))throw new Error(d(3577,null,a,this.productService.version));let l=this.allowedExtensionsService.isAllowed({id:a,version:s.version,publisherDisplayName:void 0});if(l!==!0)throw new Error(d(3579,null,l.value));let u=(await this.installExtensions([{manifest:s,extension:o,options:n}])).find(({identifier:p})=>ke(p,{id:a}));if(u?.local)return u.local;throw u?.error?u.error:ln(new Error(`Unknown error while installing extension ${a}`))}finally{await i()}}async installFromLocation(e,n){this.logService.trace("ExtensionManagementService#installFromLocation",e.toString());let o=await this.extensionsScanner.scanUserExtensionAtLocation(e);if(!o||!o.manifest.name||!o.manifest.version)throw new Error(`Cannot find a valid extension from the location ${e.toString()}`);return await this.addExtensionsToProfile([[o,{source:"resource"}]],n),this.logService.info("Successfully installed extension",o.identifier.id,n.toString()),o}async installExtensionsFromProfile(e,n,o){this.logService.trace("ExtensionManagementService#installExtensionsFromProfile",e,n.toString(),o.toString());let i=(await this.getInstalled(1,n)).filter(s=>e.some(a=>ke(a,s.identifier)));if(i.length){let s=await Promise.all(i.map(a=>this.extensionsScanner.scanMetadata(a,n)));await this.addExtensionsToProfile(i.map((a,l)=>[a,s[l]]),o),this.logService.info("Successfully installed extensions",i.map(a=>a.identifier.id),o.toString())}return i}async updateMetadata(e,n,o){return this.logService.trace("ExtensionManagementService#updateMetadata",e.identifier.id),n.isPreReleaseVersion&&(n.preRelease=!0,n.hasPreReleaseVersion=!0),n.isMachineScoped===!1&&(n.isMachineScoped=void 0),n.isBuiltin===!1&&(n.isBuiltin=void 0),n.pinned===!1&&(n.pinned=void 0),e=await this.extensionsScanner.updateMetadata(e,n,o),this.manifestCache.invalidate(o),this._onDidUpdateExtensionMetadata.fire({local:e,profileLocation:o}),e}deleteExtension(e){return this.extensionsScanner.deleteExtension(e,"remove")}copyExtension(e,n,o,i){return this.extensionsScanner.copyExtension(e,n,o,i)}moveExtension(e,n,o,i){return this.extensionsScanner.moveExtension(e,n,o,i)}removeExtension(e,n){return this.extensionsScanner.removeExtension(e.identifier,n)}copyExtensions(e,n){return this.extensionsScanner.copyExtensions(e,n,{version:this.productService.version,date:this.productService.date})}deleteExtensions(...e){return this.extensionsScanner.setExtensionsForRemoval(...e)}async cleanUp(){this.logService.trace("ExtensionManagementService#cleanUp");try{await this.extensionsScanner.cleanUp()}catch(e){this.logService.error(e)}}async download(e,n,o){let{location:i}=await this.downloadExtension(e,n,!o);return i}async downloadVsix(e){if(e.scheme===B.file)return{location:e,async cleanup(){}};this.logService.trace("Downloading extension from",e.toString());let n=ge(this.extensionsDownloader.extensionsDownloadDir,Se());return await this.downloadService.download(e,n,"extensionManagement.downloadVsix"),this.logService.info("Downloaded extension to",n.toString()),{location:n,cleanup:async()=>{try{await this.fileService.del(n)}catch(i){this.logService.error(i)}}}}getCurrentExtensionsManifestLocation(){return this.userDataProfilesService.defaultProfile.extensionsResource}createInstallExtensionTask(e,n,o){let i=n instanceof S?new ro({id:Do(e.publisher,e.name)},e.version):ro.create(n);return this.instantiationService.createInstance(Gg,i,e,n,o,(s,a)=>{if(n instanceof S)return this.extractVSIX(i,n,o,a);let l=this.extractingGalleryExtensions.get(i.toString());return l||(this.extractingGalleryExtensions.set(i.toString(),l=this.downloadAndExtractGalleryExtension(i,n,s,o,a)),l.finally(()=>this.extractingGalleryExtensions.delete(i.toString()))),l},this.extensionsScanner)}createUninstallExtensionTask(e,n){return new cR(e,n,this.extensionsProfileScannerService)}async downloadAndExtractGalleryExtension(e,n,o,i,s){let{verificationStatus:a,location:l}=await this.downloadExtension(n,o,!i.donotVerifySignature,i.context?.[aN]);try{if(s.isCancellationRequested)throw new et;let c=await kI(l.fsPath);if(!new ro(n.identifier,n.version).equals(new ro({id:Do(c.publisher,c.name)},c.version)))throw new Ut(d(3578,null,n.identifier.id),"Invalid");let u=await this.extensionsScanner.extractUserExtension(e,l.fsPath,!1,s);if(a!=="Success"&&this.environmentService.isBuilt)try{await this.extensionsDownloader.delete(l)}catch(p){this.logService.warn("Error while deleting the downloaded file",l.toString(),ye(p))}return{local:u,verificationStatus:a}}catch(c){try{await this.extensionsDownloader.delete(l)}catch(u){this.logService.warn("Error while deleting the downloaded file",l.toString(),ye(u))}throw ln(c)}}async downloadExtension(e,n,o,i){o&&(o=!1);let{location:s,verificationStatus:a}=await this.extensionsDownloader.download(e,n,o,i),l=uN(e.private,await this.extensionGalleryManifestService.getExtensionGalleryManifest());if(a!=="Success"&&!(a==="NotSigned"&&!l)&&o&&this.environmentService.isBuilt&&await this.getTargetPlatform()!=="linux-armhf"){try{await this.extensionsDownloader.delete(s)}catch(c){this.logService.warn("Error while deleting the downloaded file",s.toString(),ye(c))}if(!a)throw new Ut(d(3582,null),"SignatureVerificationInternal");switch(a){case"PackageIntegrityCheckFailed":case"SignatureIsInvalid":case"SignatureManifestIsInvalid":case"SignatureIntegrityCheckFailed":case"EntryIsMissing":case"EntryIsTampered":case"Untrusted":case"CertificateRevoked":case"SignatureIsNotValid":case"SignatureArchiveHasTooManyEntries":case"NotSigned":throw new Ut(d(3581,null,a),"SignatureVerificationFailed")}throw new Ut(d(3581,null,a),"SignatureVerificationInternal")}return{location:s,verificationStatus:a}}async extractVSIX(e,n,o,i){return{local:await this.extensionsScanner.extractUserExtension(e,qn(n.fsPath),Jo(o.keepExisting)?!o.keepExisting:!0,i)}}async collectFiles(e){let n=async i=>{let s=await be.readdir(i);s=s.map(c=>q(i,c));let a=await Promise.all(s.map(c=>vU.promises.stat(c))),l=Promise.resolve([]);return a.forEach((c,u)=>{let p=s[u];c.isFile()&&(l=l.then(m=>[...m,p])),c.isDirectory()&&(l=l.then(m=>n(p).then(f=>[...m,...f])))}),l};return(await n(e.location.fsPath)).map(i=>({path:`extension/${ks(e.location.fsPath,i)}`,localPath:i}))}async onDidChangeExtensionsFromAnotherSource({added:e,removed:n}){if(n){let o=e&&this.uriIdentityService.extUri.isEqual(n.profileLocation,e.profileLocation)?n.extensions.filter(i=>e.extensions.every(s=>!ke(s,i))):n.extensions;for(let i of o)this.logService.info("Extensions removed from another source",i.id,n.profileLocation.toString()),this._onDidUninstallExtension.fire({identifier:i,profileLocation:n.profileLocation})}if(e){let i=(await this.getInstalled(1,e.profileLocation)).filter(s=>e.extensions.some(a=>ke(a,s.identifier)));this._onDidInstallExtensions.fire(i.map(s=>(this.logService.info("Extensions added from another source",s.identifier.id,e.profileLocation.toString()),{identifier:s.identifier,local:s,profileLocation:e.profileLocation,operation:1})))}}async watchForExtensionsNotInstalledBySystem(){this._register(this.extensionsScanner.onExtract(n=>this.knownDirectories.add(n)));let e=await this.fileService.resolve(this.extensionsScannerService.userExtensionsLocation);for(let n of e.children??[])n.isDirectory&&this.knownDirectories.add(n.resource);this._register(this.fileService.watch(this.extensionsScannerService.userExtensionsLocation)),this._register(this.fileService.onDidFilesChange(n=>this.onDidFilesChange(n)))}async onDidFilesChange(e){if(!e.affects(this.extensionsScannerService.userExtensionsLocation,1))return;let n=[];for(let o of e.rawAdded){if(this.knownDirectories.has(o)||!this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.dirname(o),this.extensionsScannerService.userExtensionsLocation)||this.uriIdentityService.extUri.isEqual(o,this.uriIdentityService.extUri.joinPath(this.extensionsScannerService.userExtensionsLocation,".obsolete"))||this.uriIdentityService.extUri.basename(o).startsWith(".")||this.uriIdentityService.extUri.basename(o).endsWith(lR))continue;try{if(!(await this.fileService.stat(o)).isDirectory)continue}catch(s){Rt(s)!==1&&this.logService.error(s);continue}let i=await this.extensionsScanner.scanUserExtensionAtLocation(o);i&&i.installedTimestamp===void 0&&(this.knownDirectories.add(o),n.push(i))}n.length&&(await this.addExtensionsToProfile(n.map(o=>[o,void 0]),this.userDataProfilesService.defaultProfile.extensionsResource),this.logService.info("Added extensions to default profile from external source",n.map(o=>o.identifier.id)))}async addExtensionsToProfile(e,n){let o=e.map(i=>i[0]);await this.extensionsScanner.unsetExtensionsForRemoval(...o.map(i=>ro.create(i))),await this.extensionsProfileScannerService.addExtensionsToProfile(e,n),this._onDidInstallExtensions.fire(o.map(i=>({local:i,identifier:i.identifier,operation:1,profileLocation:n})))}};il=C([b(0,ho),b(1,Pt),b(2,z),b(3,wn),b(4,zs),b(5,yr),b(6,hu),b(7,Ln),b(8,Oe),b(9,ft),b(10,ss),b(11,He),b(12,Hr),b(13,ze),b(14,Ft)],il);zg=class extends _{constructor(e,n,o,i,s,a,l,c,u,p){super();this.beforeRemovingExtension=e;this.environmentService=n;this.fileService=o;this.extensionsScannerService=i;this.extensionsProfileScannerService=s;this.uriIdentityService=a;this.telemetryService=l;this.productService=c;this.userDataProfilesService=u;this.logService=p;this._onExtract=this._register(new T);this.onExtract=this._onExtract.event;this.scanAllExtensionPromise=new tt;this.scanUserExtensionsPromise=new tt;this.obsoletedResource=ge(this.extensionsScannerService.userExtensionsLocation,".obsolete"),this.obsoleteFileLimiter=new Ar}async cleanUp(){await this.removeTemporarilyDeletedFolders(),await this.removeStaleAutoUpdateBuiltinExtensions(),await this.deleteExtensionsMarkedForRemoval(),await this.initializeExtensionSize()}async scanExtensions(e,n,o,i){try{let s=n.with({query:i}),a={includeInvalid:!0,profileLocation:n,productVersion:o,language:i},l=[];if(e===null||e===0){let c=this.scanAllExtensionPromise.get(s);c||(c=this.extensionsScannerService.scanAllExtensions({language:i},a).finally(()=>this.scanAllExtensionPromise.delete(s)),this.scanAllExtensionPromise.set(s,c)),l.push(...await c)}else if(e===1){let c=this.scanUserExtensionsPromise.get(s);c||(c=this.extensionsScannerService.scanUserExtensions(a).finally(()=>this.scanUserExtensionsPromise.delete(s)),this.scanUserExtensionsPromise.set(s,c)),l.push(...await c)}return l=e!==null?l.filter(c=>c.type===e):l,await Promise.all(l.map(c=>this.toLocalExtension(c)))}catch(s){throw ln(s,"Scanning")}}async scanAllUserExtensions(){try{let e=await this.extensionsScannerService.scanAllUserExtensions();return await Promise.all(e.map(n=>this.toLocalExtension(n)))}catch(e){throw ln(e,"Scanning")}}async scanUserExtensionAtLocation(e){try{let n=await this.extensionsScannerService.scanExistingExtension(e,1,{includeInvalid:!0});if(n)return await this.toLocalExtension(n)}catch(n){this.logService.error(n)}return null}async extractUserExtension(e,n,o,i){let s=e.toString(),a=S.file(q(this.extensionsScannerService.userExtensionsLocation.fsPath,`.${Se()}`)),l=S.file(q(this.extensionsScannerService.userExtensionsLocation.fsPath,s));if(await this.fileService.exists(l)){if(!o)try{return await this.scanLocalExtension(l,1)}catch(c){this.logService.warn(`Error while scanning the existing extension at ${l.path}. Deleting the existing extension and extracting it.`,ye(c))}try{await this.deleteExtensionFromLocation(e.id,l,"removeExisting")}catch{throw new Ut(d(3576,null,l.fsPath,e.id),"Delete")}}try{if(i.isCancellationRequested)throw new et;try{this.logService.trace(`Started extracting the extension from ${n} to ${l.fsPath}`),await qN(n,a.fsPath,{sourcePath:"extension",overwrite:!0},i),this.logService.info(`Extracted extension to ${l}:`,e.id)}catch(u){throw $g(u)}let c={installedTimestamp:Date.now(),targetPlatform:e.targetPlatform};try{c.size=await tI(a,this.fileService)}catch(u){this.logService.warn(`Error while getting the size of the extracted extension : ${a.fsPath}`,ye(u))}try{await this.extensionsScannerService.updateManifestMetadata(a,c)}catch(u){throw this.telemetryService.publicLog2("extension:extract",{extensionId:e.id,code:`${Rt(u)}`}),ln(u,"UpdateMetadata")}if(i.isCancellationRequested)throw new et;try{this.logService.trace(`Started renaming the extension from ${a.fsPath} to ${l.fsPath}`),await this.rename(a.fsPath,l.fsPath),this.logService.info("Renamed to",l.fsPath)}catch(u){if(u.code==="ENOTEMPTY"){this.logService.info("Rename failed because extension was installed by another source. So ignoring renaming.",e.id);try{await this.fileService.del(a,{recursive:!0})}catch{}}else throw this.logService.info(`Rename failed because of ${ye(u)}. Deleted from extracted location`,a),u}this._onExtract.fire(l)}catch(c){try{await this.fileService.del(a,{recursive:!0})}catch{}throw c}return this.scanLocalExtension(l,1)}async scanMetadata(e,n){return(await this.getScannedExtension(e,n))?.metadata}async getScannedExtension(e,n){return(await this.extensionsProfileScannerService.scanProfileExtensions(n)).find(i=>ke(i.identifier,e.identifier))}async updateMetadata(e,n,o){try{await this.extensionsProfileScannerService.updateMetadata([[e,n]],o)}catch(i){throw this.telemetryService.publicLog2("extension:extract",{extensionId:e.identifier.id,code:`${Rt(i)}`,isProfile:!!o}),ln(i,"UpdateMetadata")}return this.scanLocalExtension(e.location,e.type,o)}async setExtensionsForRemoval(...e){let n=[];for(let i of e)await this.fileService.exists(i.location)&&n.push(i);let o=n.map(i=>ro.create(i));await this.withRemovedExtensions(i=>o.forEach(s=>{i[s.toString()]=!0,this.logService.info("Marked extension as removed",s.toString())}))}async unsetExtensionsForRemoval(...e){try{let n=[];return await this.withRemovedExtensions(o=>e.forEach(i=>{o[i.toString()]?(n.push(!0),delete o[i.toString()]):n.push(!1)})),n}catch(n){throw ln(n,"UnsetRemoved")}}async deleteExtension(e,n){this.uriIdentityService.extUri.isEqualOrParent(e.location,this.extensionsScannerService.userExtensionsLocation)&&(await this.deleteExtensionFromLocation(e.identifier.id,e.location,n),await this.unsetExtensionsForRemoval(ro.create(e)))}async copyExtension(e,n,o,i){let s=await this.getScannedExtension(e,n),a=await this.getScannedExtension(e,o);if(i={...s?.metadata,...i},a)if(this.uriIdentityService.extUri.isEqual(a.location,e.location))await this.extensionsProfileScannerService.updateMetadata([[e,{...a.metadata,...i}]],o);else{let l=await this.scanLocalExtension(a.location,e.type,o);await this.extensionsProfileScannerService.removeExtensionsFromProfile([l.identifier],o),await this.extensionsProfileScannerService.addExtensionsToProfile([[e,{...a.metadata,...i}]],o)}else await this.extensionsProfileScannerService.addExtensionsToProfile([[e,i]],o);return this.scanLocalExtension(e.location,e.type,o)}async moveExtension(e,n,o,i){let s=await this.getScannedExtension(e,n),a=await this.getScannedExtension(e,o);if(i={...s?.metadata,...i},a)if(this.uriIdentityService.extUri.isEqual(a.location,e.location))await this.extensionsProfileScannerService.updateMetadata([[e,{...a.metadata,...i}]],o);else{let l=await this.scanLocalExtension(a.location,e.type,o);await this.removeExtension(l.identifier,o),await this.extensionsProfileScannerService.addExtensionsToProfile([[e,{...a.metadata,...i}]],o)}else await this.extensionsProfileScannerService.addExtensionsToProfile([[e,i]],o),s&&await this.removeExtension(s.identifier,n);return this.scanLocalExtension(e.location,e.type,o)}async removeExtension(e,n){await this.extensionsProfileScannerService.removeExtensionsFromProfile([e],n)}async copyExtensions(e,n,o){let i=await this.scanExtensions(1,e,o),s=await Promise.all(i.filter(a=>!a.isApplicationScoped).map(async a=>[a,await this.scanMetadata(a,e)]));await this.extensionsProfileScannerService.addExtensionsToProfile(s,n)}async deleteExtensionFromLocation(e,n,o){this.logService.trace(`Deleting ${o} extension from disk`,e,n.fsPath);let i=this.uriIdentityService.extUri.joinPath(this.uriIdentityService.extUri.dirname(n),`${this.uriIdentityService.extUri.basename(n)}.${Lr(Se()).toString(16)}${lR}`);await this.rename(n.fsPath,i.fsPath),await this.fileService.del(i,{recursive:!0}),this.logService.info(`Deleted ${o} extension from disk`,e,n.fsPath)}withRemovedExtensions(e){return this.obsoleteFileLimiter.queue(async()=>{let n;try{n=(await this.fileService.readFile(this.obsoletedResource,"utf8")).value.toString()}catch(i){if(Rt(i)!==1)throw i}let o={};if(n)try{o=JSON.parse(n)}catch{}if(e)if(e(o),Object.keys(o).length)await this.fileService.writeFile(this.obsoletedResource,L.fromString(JSON.stringify(o)));else try{await this.fileService.del(this.obsoletedResource)}catch(i){if(Rt(i)!==1)throw i}return o})}async rename(e,n){try{await be.rename(e,n,120*1e3)}catch(o){throw ln(o,"Rename")}}async scanLocalExtension(e,n,o){try{if(o){let s=(await this.extensionsScannerService.scanUserExtensions({profileLocation:o})).find(a=>this.uriIdentityService.extUri.isEqual(a.location,e));if(s)return await this.toLocalExtension(s)}else{let i=await this.extensionsScannerService.scanExistingExtension(e,n,{includeInvalid:!0});if(i)return await this.toLocalExtension(i)}throw new Ut(d(3575,null,e.path),"ScanningExtension")}catch(i){throw ln(i,"ScanningExtension")}}async toLocalExtension(e){let n;try{n=await this.fileService.resolve(e.location)}catch{}let o,i;return n?.children&&(o=n.children.find(({name:s})=>/^readme(\.txt|\.md|)$/i.test(s))?.resource,i=n.children.find(({name:s})=>/^changelog(\.txt|\.md|)$/i.test(s))?.resource),{identifier:e.identifier,type:e.type,isBuiltin:e.isBuiltin||!!e.metadata?.isBuiltin,location:e.location,manifest:e.manifest,targetPlatform:e.targetPlatform,validations:e.validations,isValid:e.isValid,readmeUrl:o,changelogUrl:i,publisherDisplayName:e.metadata?.publisherDisplayName,publisherId:e.metadata?.publisherId||null,isApplicationScoped:!!e.metadata?.isApplicationScoped,isMachineScoped:!!e.metadata?.isMachineScoped,isPreReleaseVersion:!!e.metadata?.isPreReleaseVersion,hasPreReleaseVersion:!!e.metadata?.hasPreReleaseVersion,preRelease:e.preRelease,installedTimestamp:e.metadata?.installedTimestamp,updated:!!e.metadata?.updated,pinned:!!e.metadata?.pinned,forceAutoUpdate:e.forceAutoUpdate,private:!!e.metadata?.private,isWorkspaceScoped:!1,source:e.metadata?.source??(e.identifier.uuid?"gallery":"vsix"),size:e.metadata?.size??0}}async initializeExtensionSize(){let e=await this.extensionsScannerService.scanAllUserExtensions();await Promise.all(e.map(async n=>{if(Zr(n.metadata?.installedTimestamp)&&Wn(n.metadata?.size)){let o=await tI(n.location,this.fileService);await this.extensionsScannerService.updateManifestMetadata(n.location,{size:o})}}))}async removeStaleAutoUpdateBuiltinExtensions(){if(this.environmentService.extensionTestsLocationURI)return;let e=await this.extensionsScannerService.scanSystemExtensions({}),o=(await this.extensionsScannerService.scanAllUserExtensions()).filter(i=>{if(!this.productService.builtInExtensionsEnabledWithAutoUpdates.some(a=>a.toLowerCase()===i.identifier.id.toLowerCase()))return!1;let s=e.find(a=>ke(a.identifier,i.identifier));return s&&oI(i.manifest.version,s.manifest.version)});o.length&&(this.logService.info("Removing stale auto-update builtin extensions:",o.map(i=>`${i.identifier.id}@${i.manifest.version}`).join(", ")),await this.extensionsProfileScannerService.removeExtensionsFromProfile(o.map(i=>i.identifier),this.userDataProfilesService.defaultProfile.extensionsResource),await Promise.allSettled(o.map(i=>this.deleteExtension(i,"stale auto-update builtin"))))}async deleteExtensionsMarkedForRemoval(){let e;try{e=await this.withRemovedExtensions()}catch(s){throw ln(s,"ReadRemoved")}if(Object.keys(e).length===0){this.logService.debug("No extensions are marked as removed.");return}this.logService.debug("Deleting extensions marked as removed:",Object.keys(e));let n=await this.scanAllUserExtensions(),o=new Set;for(let s of n)e[ro.create(s).toString()]||o.add(s.identifier.id.toLowerCase());try{let s=iI(n,a=>a.identifier);await Cn.settled(s.map(async a=>{let l=a.sort((c,u)=>rI(c.manifest.version,u.manifest.version))[0];o.has(l.identifier.id.toLowerCase())||await this.beforeRemovingExtension(l)}))}catch(s){this.logService.error(s)}let i=n.filter(s=>s.installedTimestamp&&e[ro.create(s).toString()]);await Promise.allSettled(i.map(s=>this.deleteExtension(s,"marked for removal")))}async removeTemporarilyDeletedFolders(){this.logService.trace("ExtensionManagementService#removeTempDeleteFolders");let e;try{e=await this.fileService.resolve(this.extensionsScannerService.userExtensionsLocation)}catch(n){Rt(n)!==1&&this.logService.error(n);return}if(e?.children)try{await Promise.allSettled(e.children.map(async n=>{if(!(!n.isDirectory||!n.name.endsWith(lR))){this.logService.trace("Deleting the temporarily deleted folder",n.resource.toString());try{await this.fileService.del(n.resource,{recursive:!0}),this.logService.trace("Deleted the temporarily deleted folder",n.resource.toString())}catch(o){Rt(o)!==1&&this.logService.error(o)}}}))}catch{}}};zg=C([b(1,_t),b(2,Oe),b(3,zs),b(4,yr),b(5,ze),b(6,Pt),b(7,He),b(8,Ft),b(9,z)],zg);Gg=class extends Vg{constructor(e,n,o,i,s,a,l,c,u,p,m,f,h){super();this.extensionKey=e;this.manifest=n;this.source=o;this.options=i;this.extractExtensionFn=s;this.extensionsScanner=a;this.uriIdentityService=l;this.galleryService=c;this.userDataProfilesService=u;this.extensionsScannerService=p;this.extensionsProfileScannerService=m;this.productService=f;this.logService=h;this._operation=2;this.identifier=this.extensionKey.identifier}get operation(){return this.options.operation??this._operation}get verificationStatus(){return this._verificationStatus}async doRun(e){let o=(await this.extensionsScanner.scanExtensions(1,this.options.profileLocation,this.options.productVersion)).find(u=>ke(u.identifier,this.identifier));o&&(this._operation=3);let s=(await this.extensionsScanner.scanExtensions(0,this.options.profileLocation,this.options.productVersion)).find(u=>ke(u.identifier,this.identifier));if(s){if(!s.forceAutoUpdate)throw new Ut(d(3573,null,s.identifier.id,this.productService.quality),"Incompatible");if(ns(s.manifest.version,this.manifest.version))throw new Ut(d(3574,null,s.identifier.id,s.manifest.version,this.manifest.version),"Incompatible")}let a={isApplicationScoped:this.options.isApplicationScoped||o?.isApplicationScoped,isMachineScoped:this.options.isMachineScoped||o?.isMachineScoped,isBuiltin:this.options.isBuiltin||o?.isBuiltin,isSystem:o?.type===0?!0:void 0,installedTimestamp:Date.now(),pinned:this.options.installGivenVersion?!0:this.options.pinned??o?.pinned,source:this.source instanceof S?"vsix":"gallery"},l;if(this.source instanceof S){if(o&&this.extensionKey.equals(new ro(o.identifier,o.manifest.version)))try{await this.extensionsScanner.deleteExtension(o,"existing")}catch{throw new Error(d(3580,null,this.manifest.displayName||this.manifest.name))}let u=await this.unsetIfRemoved(this.extensionKey);if(u)try{await this.extensionsScanner.deleteExtension(u,"existing")}catch{throw new Error(d(3580,null,this.manifest.displayName||this.manifest.name))}}else{if(a.id=this.source.identifier.uuid,a.publisherId=this.source.publisherId,a.publisherDisplayName=this.source.publisherDisplayName,a.targetPlatform=this.source.properties.targetPlatform,a.updated=!!o,a.private=this.source.private,a.isPreReleaseVersion=this.source.properties.isPreReleaseVersion,a.hasPreReleaseVersion=o?.hasPreReleaseVersion||this.source.properties.isPreReleaseVersion,a.preRelease=Jo(this.options.preRelease)?this.options.preRelease:this.options.installPreReleaseVersion||this.source.properties.isPreReleaseVersion||o?.preRelease,o&&o.type!==0&&o.manifest.version===this.source.version)return this.extensionsScanner.updateMetadata(o,a,this.options.profileLocation);l=await this.unsetIfRemoved(this.extensionKey)}if(e.isCancellationRequested)throw ln(new et);if(!l){let u=await this.extractExtensionFn(this.operation,e);l=u.local,this._verificationStatus=u.verificationStatus}if(this.uriIdentityService.extUri.isEqual(this.userDataProfilesService.defaultProfile.extensionsResource,this.options.profileLocation))try{await this.extensionsScannerService.initializeDefaultProfileExtensions()}catch(u){throw ln(u,"IntializeDefaultProfile")}if(e.isCancellationRequested)throw ln(new et);try{await this.extensionsProfileScannerService.addExtensionsToProfile([[l,a]],this.options.profileLocation,!l.isValid)}catch(u){throw ln(u,"AddToProfile")}let c=await this.extensionsScanner.scanLocalExtension(l.location,1,this.options.profileLocation);if(!c)throw new Ut("Cannot find the installed extension","InstalledExtensionNotFound");return this.source instanceof S&&this.updateMetadata(l,e),c}async unsetIfRemoved(e){let[n]=await this.extensionsScanner.unsetExtensionsForRemoval(e);if(n)return this.logService.info("Removed the extension from removed list:",e.id),(await this.extensionsScanner.scanAllUserExtensions()).find(i=>ro.create(i).equals(e))}async updateMetadata(e,n){try{let[o]=await this.galleryService.getExtensions([{id:e.identifier.id,version:e.manifest.version}],n);if(o||([o]=await this.galleryService.getExtensions([{id:e.identifier.id}],n)),o){let i={id:o.identifier.uuid,publisherDisplayName:o.publisherDisplayName,publisherId:o.publisherId,isPreReleaseVersion:o.properties.isPreReleaseVersion,hasPreReleaseVersion:e.hasPreReleaseVersion||o.properties.isPreReleaseVersion,preRelease:o.properties.isPreReleaseVersion||this.options.installPreReleaseVersion};await this.extensionsScanner.updateMetadata(e,i,this.options.profileLocation)}}catch{}}};Gg=C([b(6,ze),b(7,ho),b(8,Ft),b(9,zs),b(10,yr),b(11,He),b(12,z)],Gg);cR=class extends Vg{constructor(e,n,o){super();this.extension=e;this.options=n;this.extensionsProfileScannerService=o}doRun(e){return this.extensionsProfileScannerService.removeExtensionsFromProfile([this.extension.identifier],this.options.profileLocation)}}});var uR,jg,yU=y(()=>{uR=class{constructor(t,e){this.key=t;this.data=e;this.incoming=new Map;this.outgoing=new Map}},jg=class{constructor(t){this._hashFn=t;this._nodes=new Map}roots(){let t=[];for(let e of this._nodes.values())e.outgoing.size===0&&t.push(e);return t}insertEdge(t,e){let n=this.lookupOrInsertNode(t),o=this.lookupOrInsertNode(e);n.outgoing.set(o.key,o),o.incoming.set(n.key,n)}removeNode(t){let e=this._hashFn(t);this._nodes.delete(e);for(let n of this._nodes.values())n.outgoing.delete(e),n.incoming.delete(e)}lookupOrInsertNode(t){let e=this._hashFn(t),n=this._nodes.get(e);return n||(n=new uR(e,t),this._nodes.set(e,n)),n}lookup(t){return this._nodes.get(this._hashFn(t))}isEmpty(){return this._nodes.size===0}toString(){let t=[];for(let[e,n]of this._nodes)t.push(`${e}
(-> incoming)[${[...n.incoming.keys()].join(", ")}]
(outgoing ->)[${[...n.outgoing.keys()].join(",")}]
`);return t.join(`
`)}findCycleSlow(){for(let[t,e]of this._nodes){let n=new Set([t]),o=this._findCycle(e,n);if(o)return o}}_findCycle(t,e){for(let[n,o]of t.outgoing){if(e.has(n))return[...e,n].join(" -> ");e.add(n);let i=this._findCycle(o,e);if(i)return i;e.delete(n)}}}});var M3,LI,Tu,Qg,pR=y(()=>{Ne();Ee();K();ug();yU();Z();cy();jv();M3=!1,LI=class extends Error{constructor(t){super("cyclic dependency between services"),this.message=t.findCycleSlow()??`UNABLE to detect cycle, dumping graph:
${t.toString()}`}},Tu=class r{constructor(t=new Aa,e=!1,n,o=M3){this._services=t;this._strict=e;this._parent=n;this._enableTracing=o;this._isDisposed=!1;this._servicesToMaybeDispose=new Set;this._children=new Set;this._activeInstantiations=new Set;this._services.set(Ln,this),this._globalGraph=o?n?._globalGraph??new jg(i=>i):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,gn(this._children),this._children.clear();for(let t of this._servicesToMaybeDispose)Gv(t)&&t.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(t,e){this._throwIfDisposed();let n=this,o=new class extends r{dispose(){n._children.delete(o),super.dispose()}}(t,this._strict,this,this._enableTracing);return this._children.add(o),e?.add(o),o}invokeFunction(t,...e){this._throwIfDisposed();let n=Qg.traceInvocation(this._enableTracing,t),o=!1;try{return t({get:s=>{if(o)throw Vv("service accessor is only valid during the invocation of its target method");let a=this._getOrCreateServiceInstance(s,n);return a||this._throwIfStrict(`[invokeFunction] unknown service '${s}'`,!1),a}},...e)}finally{o=!0,n.stop()}}createInstance(t,...e){this._throwIfDisposed();let n,o;return t instanceof pt?(n=Qg.traceCreation(this._enableTracing,t.ctor),o=this._createInstance(t.ctor,t.staticArguments.concat(e),n)):(n=Qg.traceCreation(this._enableTracing,t),o=this._createInstance(t,e,n)),n.stop(),o}_createInstance(t,e=[],n){let o=Si.getServiceDependencies(t).sort((a,l)=>a.index-l.index),i=[];for(let a of o){let l=this._getOrCreateServiceInstance(a.id,n);l||this._throwIfStrict(`[createInstance] ${t.name} depends on UNKNOWN service ${a.id}.`,!1),i.push(l)}let s=o.length>0?o[0].index:e.length;if(e.length!==s){console.trace(`[createInstance] First service dependency of ${t.name} at position ${s+1} conflicts with ${e.length} static arguments`);let a=s-e.length;a>0?e=e.concat(new Array(a)):e=e.slice(0,s)}return Reflect.construct(t,e.concat(i))}_setCreatedServiceInstance(t,e){if(this._services.get(t)instanceof pt)this._services.set(t,e);else if(this._parent)this._parent._setCreatedServiceInstance(t,e);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(t){let e=this._services.get(t);return!e&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):e}_getOrCreateServiceInstance(t,e){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(t));let n=this._getServiceInstanceOrDescriptor(t);return n instanceof pt?this._safeCreateAndCacheServiceInstance(t,n,e.branch(t,!0)):(e.branch(t,!1),n)}_safeCreateAndCacheServiceInstance(t,e,n){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,e,n)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,e,n){let o=new jg(l=>l.id.toString()),i=0,s=[{id:t,desc:e,_trace:n}],a=new Set;for(;s.length;){let l=s.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),o.lookupOrInsertNode(l),i++>1e3)throw new LI(o);for(let c of Si.getServiceDependencies(l.desc.ctor)){let u=this._getServiceInstanceOrDescriptor(c.id);if(u||this._throwIfStrict(`[createInstance] ${t} depends on ${c.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(c.id)),u instanceof pt){let p={id:c.id,desc:u,_trace:l._trace.branch(c.id,!0)};o.insertEdge(l,p),s.push(p)}}}}for(;;){let l=o.roots();if(l.length===0){if(!o.isEmpty())throw new LI(o);break}for(let{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof pt){let p=this._createServiceInstanceWithOwner(c.id,c.desc.ctor,c.desc.staticArguments,c.desc.supportsDelayedInstantiation,c._trace);this._setCreatedServiceInstance(c.id,p)}o.removeNode(c)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,e,n=[],o,i){if(this._services.get(t)instanceof pt)return this._createServiceInstance(t,e,n,o,i,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,e,n,o,i);throw new Error(`illegalState - creating UNKNOWN service instance ${e.name}`)}_createServiceInstance(t,e,n=[],o,i,s){if(o){let a=new r(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(t);let l=new Map,c=new iy(()=>{let u=a._createInstance(e,n,i);for(let[p,m]of l){let f=u[p];if(typeof f=="function")for(let h of m)h.disposable=f.apply(u,h.listener)}return l.clear(),s.add(u),u});return new Proxy(Object.create(null),{get(u,p){if(!c.isInitialized&&typeof p=="string"&&(p.startsWith("onDid")||p.startsWith("onWill"))){let h=l.get(p);return h||(h=new Ra,l.set(p,h)),(I,E,w)=>{if(c.isInitialized)return c.value[p](I,E,w);{let P={listener:[I,E,w],disposable:void 0},k=h.push(P);return ce(()=>{k(),P.disposable?.dispose()})}}}if(p in u)return u[p];let m=c.value,f=m[p];return typeof f!="function"||(f=f.bind(m),u[p]=f),f},set(u,p,m){return c.value[p]=m,!0},getPrototypeOf(u){return e.prototype}})}else{let a=this._createInstance(e,n,i);return s.add(a),a}}_throwIfStrict(t,e){if(e&&console.warn(t),this._strict)throw new Error(t)}},Qg=class r{constructor(t,e){this.type=t;this.name=e;this._start=Date.now();this._dep=[]}static{this.all=new Set}static{this._None=new class extends r{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(t,e){return t?new r(2,e.name||new Error().stack.split(`
`).slice(3,4).join(`
`)):r._None}static traceCreation(t,e){return t?new r(1,e.name):r._None}static{this._totals=0}branch(t,e){let n=new r(3,t.toString());return this._dep.push([t,e,n]),n}stop(){let t=Date.now()-this._start;r._totals+=t;let e=!1;function n(i,s){let a=[],l=new Array(i+1).join(" ");for(let[c,u,p]of s._dep)if(u&&p){e=!0,a.push(`${l}CREATES -> ${c}`);let m=n(i+1,p);m&&a.push(m)}else a.push(`${l}uses -> ${c}`);return a.join(`
`)}let o=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${n(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${r._totals.toFixed(2)}ms)`];(t>2||e)&&r.all.add(o.join(`
`))}}});async function NI(r,t,e,n,o,i){let s;try{await A3(r,t,e,n,o,i)}catch(a){s=a}finally{s&&o.errorTransformer&&(s=o.errorTransformer(s)),typeof s<"u"&&e.error(s),e.end()}}async function A3(r,t,e,n,o,i){mR(i);let s=await r.open(t,{create:!1});try{mR(i);let a=0,l=0,c=o&&typeof o.length=="number"?o.length:void 0,u=L.alloc(Math.min(o.bufferSize,typeof c=="number"?c:o.bufferSize)),p=o&&typeof o.position=="number"?o.position:0,m=0;do l=await r.read(s,p,u.buffer,m,u.byteLength-m),p+=l,m+=l,a+=l,typeof c=="number"&&(c-=l),m===u.byteLength&&(await e.write(n(u)),u=L.alloc(Math.min(o.bufferSize,typeof c=="number"?c:o.bufferSize)),m=0);while(l>0&&(typeof c!="number"||c>0)&&mR(i)&&L3(a,o));if(m>0){let f=m;typeof c=="number"&&(f=Math.min(m,c)),e.write(n(u.slice(0,f)))}}catch(a){throw Bs(a)}finally{await r.close(s)}}function mR(r){if(r.isCancellationRequested)throw Nm();return!0}function L3(r,t){if(typeof t?.limits?.size=="number"&&r>t.limits.size)throw hr(d(3649,null),"EntryTooLarge");return!0}var gR=y(()=>{Ke();Ee();re();nt()});var ls,hR=y(()=>{At();Ne();Ke();Zt();de();Ua();ei();K();vg();Ae();Qr();bt();rc();re();nt();gR();De();Ee();ls=class extends _{constructor(e){super();this.logService=e;this.BUFFER_SIZE=256*1024;this._onDidChangeFileSystemProviderRegistrations=this._register(new T);this.onDidChangeFileSystemProviderRegistrations=this._onDidChangeFileSystemProviderRegistrations.event;this._onWillActivateFileSystemProvider=this._register(new T);this.onWillActivateFileSystemProvider=this._onWillActivateFileSystemProvider.event;this._onDidChangeFileSystemProviderCapabilities=this._register(new T);this.onDidChangeFileSystemProviderCapabilities=this._onDidChangeFileSystemProviderCapabilities.event;this.provider=new Map;this._onDidRunOperation=this._register(new T);this.onDidRunOperation=this._onDidRunOperation.event;this.internalOnDidFilesChange=this._register(new T);this._onDidUncorrelatedFilesChange=this._register(new T);this.onDidFilesChange=this._onDidUncorrelatedFilesChange.event;this._onDidWatchError=this._register(new T);this.onDidWatchError=this._onDidWatchError.event;this.activeWatchers=new Map;this.writeQueue=this._register(new Ad)}registerProvider(e,n){if(this.provider.has(e))throw new Error(`A filesystem provider for the scheme '${e}' is already registered.`);Wt(`code/registerFilesystem/${e}`);let o=new ie;return this.provider.set(e,n),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:e,provider:n}),o.add(n.onDidChangeFile(i=>{let s=new Ay(i,!this.isPathCaseSensitive(n));this.internalOnDidFilesChange.fire(s),s.hasCorrelation()||this._onDidUncorrelatedFilesChange.fire(s)})),typeof n.onDidWatchError=="function"&&o.add(n.onDidWatchError(i=>this._onDidWatchError.fire(new Error(i)))),o.add(n.onDidChangeCapabilities(()=>this._onDidChangeFileSystemProviderCapabilities.fire({provider:n,scheme:e}))),ce(()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:e,provider:n}),this.provider.delete(e),gn(o)})}getProvider(e){return this.provider.get(e)}async activateProvider(e){let n=[];this._onWillActivateFileSystemProvider.fire({scheme:e,join(o){n.push(o)}}),!this.provider.has(e)&&await Cn.settled(n)}async canHandleResource(e){return await this.activateProvider(e.scheme),this.hasProvider(e)}hasProvider(e){return this.provider.has(e.scheme)}hasCapability(e,n){let o=this.provider.get(e.scheme);return!!(o&&o.capabilities&n)}listCapabilities(){return Xt.map(this.provider,([e,n])=>({scheme:e,capabilities:n.capabilities}))}async withProvider(e){if(!sL(e))throw new En(d(3638,null,this.resourceForError(e)),8);await this.activateProvider(e.scheme);let n=this.provider.get(e.scheme);if(!n){let o=new Yn;throw o.message=d(3640,null,e.toString()),o}return n}async withReadProvider(e){let n=await this.withProvider(e);if(Vs(n)||Nr(n)||Ly(n))return n;throw new Error(`Filesystem provider for scheme '${e.scheme}' neither has FileReadWrite, FileReadStream nor FileOpenReadWriteClose capability which is needed for the read operation.`)}async withWriteProvider(e){let n=await this.withProvider(e);if(Vs(n)||Nr(n))return n;throw new Error(`Filesystem provider for scheme '${e.scheme}' neither has FileReadWrite nor FileOpenReadWriteClose capability which is needed for the write operation.`)}async resolve(e,n){try{return await this.doResolveFile(e,n)}catch(o){throw yg(o)==="EntryNotFound"?new En(d(3635,null,this.resourceForError(e)),1):Bs(o)}}async doResolveFile(e,n){let o=await this.withProvider(e),i=this.isPathCaseSensitive(o),s=n?.resolveTo,a=n?.resolveSingleChildDescendants,l=n?.resolveMetadata,c=await o.stat(e),u;return this.toFileStat(o,e,c,void 0,!!l,(p,m)=>(u||(u=Ci.forUris(()=>!i),u.set(e,!0),s&&u.fill(!0,s)),u.get(p.resource)||u.findSuperstr(p.resource.with({query:null,fragment:null}))?!0:p.isDirectory&&a?m===1:!1))}async toFileStat(e,n,o,i,s,a){let{providerExtUri:l}=this.getExtUri(e),c={resource:n,name:l.basename(n),isFile:(o.type&1)!==0,isDirectory:(o.type&2)!==0,isSymbolicLink:(o.type&64)!==0,mtime:o.mtime,ctime:o.ctime,size:o.size,readonly:!!((o.permissions??0)&1)||!!(e.capabilities&2048),locked:!!((o.permissions??0)&2),executable:!!((o.permissions??0)&4),etag:nT({mtime:o.mtime,size:o.size}),children:void 0};if(c.isDirectory&&a(c,i)){try{let u=await e.readdir(n),p=await Cn.settled(u.map(async([m,f])=>{try{let h=l.joinPath(n,m),v=s?await e.stat(h):{type:f};return await this.toFileStat(e,h,v,u.length,s,a)}catch(h){return this.logService.trace(h),null}}));c.children=Qo(p)}catch(u){this.logService.trace(u),c.children=[]}return c}return c}async resolveAll(e){return Cn.settled(e.map(async n=>{try{return{stat:await this.doResolveFile(n.resource,n.options),success:!0}}catch(o){return Rt(o)!==1&&this.logService.trace(o),{stat:void 0,success:!1}}}))}async stat(e){let n=await this.withProvider(e),o=await n.stat(e);return this.toFileStat(n,e,o,void 0,!0,()=>!1)}async realpath(e){let n=await this.withProvider(e);if(lO(n)){let o=await n.realpath(e);return e.with({path:o})}}async exists(e){let n=await this.withProvider(e);try{return!!await n.stat(e)}catch{return!1}}async canCreateFile(e,n){try{await this.doValidateCreateFile(e,n)}catch(o){return o}return!0}async doValidateCreateFile(e,n){if(!n?.overwrite&&await this.exists(e))throw new En(d(3631,null,this.resourceForError(e)),3,n)}async createFile(e,n=L.fromString(""),o){await this.doValidateCreateFile(e,o);let i=await this.writeFile(e,n);return this._onDidRunOperation.fire(new Ws(e,0,i)),i}async writeFile(e,n,o){let i=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),{providerExtUri:s}=this.getExtUri(i),a=o;if(eT(i)&&!a?.atomic){let l=i.enforceAtomicWriteFile?.(e);l&&(a={...o,atomic:l})}try{let{stat:l,buffer:c}=await this.validateWriteFile(i,e,n,a);l||await this.mkdirp(i,s.dirname(e)),c||(c=await this.peekBufferForWriting(i,n)),!Vs(i)||Nr(i)&&c instanceof L||Nr(i)&&eT(i)&&a?.atomic?await this.doWriteUnbuffered(i,e,a,c):await this.doWriteBuffered(i,e,a,c instanceof L?DL(c):c),this._onDidRunOperation.fire(new Ws(e,4))}catch(l){throw new En(d(3630,null,this.resourceForError(e),Bs(l).toString()),Rt(l),a)}return this.resolve(e,{resolveMetadata:!0})}async peekBufferForWriting(e,n){let o;if(Nr(e)&&!(n instanceof L))if(tg(n)){let i=await wL(n,3);i.ended?o=L.concat(i.buffer):o=i}else o=EL(n,i=>L.concat(i),3);else o=n;return o}async validateWriteFile(e,n,o,i){let s=!!i?.unlock;if(s&&!(e.capabilities&8192))throw new Error(d(3648,null,this.resourceForError(n)));if(i?.append&&!sO(e))throw new En(d(3627,null,this.resourceForError(n)),6);if(!!i?.atomic){if(!(e.capabilities&32768))throw new Error(d(3646,null,this.resourceForError(n)));if(!(e.capabilities&2))throw new Error(d(3647,null,this.resourceForError(n)));if(s)throw new Error(d(3645,null,this.resourceForError(n)))}let l;try{l=await e.stat(n)}catch{return Object.create(null)}if((l.type&2)!==0)throw new En(d(3633,null,this.resourceForError(n)),0,i);this.throwIfFileIsReadonly(n,l);let c;if(typeof i?.mtime=="number"&&typeof i.etag=="string"&&i.etag!==Ny&&typeof l.mtime=="number"&&typeof l.size=="number"&&i.mtime<l.mtime&&i.etag!==nT({mtime:i.mtime,size:l.size})){if(c=await this.peekBufferForWriting(e,o),c instanceof L&&c.byteLength===l.size)try{let{value:u}=await this.readFile(n,{limits:{size:l.size}});if(c.equals(u))return{stat:l,buffer:c}}catch{}throw new En(d(3634,null),3,i)}return{stat:l,buffer:c}}async readFile(e,n,o){let i=await this.withReadProvider(e);return n?.atomic?this.doReadFileAtomic(i,e,n,o):this.doReadFile(i,e,n,o)}async doReadFileAtomic(e,n,o,i){return new Promise((s,a)=>{this.writeQueue.queueFor(n,async()=>{try{let l=await this.doReadFile(e,n,o,i);s(l)}catch(l){a(l)}},this.getExtUri(e).providerExtUri)})}async doReadFile(e,n,o,i){let s=await this.doReadFileStream(e,n,{...o,preferUnbuffered:!0},i);return{...s,value:await mr(s.value)}}async readFileStream(e,n,o){let i=await this.withReadProvider(e);return this.doReadFileStream(i,e,n,o)}async doReadFileStream(e,n,o,i){let s=new wt(i),a=o;Oy(e)&&e.enforceAtomicReadFile?.(n)&&(a={...o,atomic:!0});let l=this.validateReadFile(n,a).then(u=>u,u=>{throw s.dispose(!0),u}),c;try{return typeof a?.etag=="string"&&a.etag!==Ny&&await l,a?.atomic&&Oy(e)||!(Vs(e)||Ly(e))||Nr(e)&&a?.preferUnbuffered?c=this.readFileUnbuffered(e,n,a):Ly(e)?c=this.readFileStreamed(e,n,s.token,a):c=this.readFileBuffered(e,n,s.token,a),c.on("end",()=>s.dispose()),c.on("error",()=>s.dispose()),{...await l,value:c}}catch(u){throw s.dispose(!0),c&&await uy(c),this.restoreReadError(u,n,a)}}restoreReadError(e,n,o){let i=d(3628,null,this.resourceForError(n),Bs(e).toString());return e instanceof Kd?new Kd(i,e.stat,o):e instanceof Gd?new Gd(i,e.fileOperationResult,e.size,e.options):new En(i,Rt(e),o)}readFileStreamed(e,n,o,i=Object.create(null)){let s=e.readFileStream(n,i,o);return py(s,{data:a=>a instanceof L?a:L.wrap(a),error:a=>this.restoreReadError(a,n,i)},a=>L.concat(a))}readFileBuffered(e,n,o,i=Object.create(null)){let s=AL();return NI(e,n,s,a=>a,{...i,bufferSize:this.BUFFER_SIZE,errorTransformer:a=>this.restoreReadError(a,n,i)},o),s}readFileUnbuffered(e,n,o){let i=La(s=>L.concat(s));return(async()=>{try{let s;o?.atomic&&Oy(e)?s=await e.readFile(n,{atomic:!0}):s=await e.readFile(n),typeof o?.position=="number"&&(s=s.slice(o.position)),typeof o?.length=="number"&&(s=s.slice(0,o.length)),this.validateReadFileLimits(n,s.byteLength,o),i.end(L.wrap(s))}catch(s){i.error(s),i.end()}})(),i}async validateReadFile(e,n){let o=await this.resolve(e,{resolveMetadata:!0});if(o.isDirectory)throw new En(d(3632,null,this.resourceForError(e)),0,n);if(typeof n?.etag=="string"&&n.etag!==Ny&&n.etag===o.etag)throw new Kd(d(3636,null),o,n);return this.validateReadFileLimits(e,o.size,n),o}validateReadFileLimits(e,n,o){if(typeof o?.limits?.size=="number"&&n>o.limits.size)throw new Gd(d(3637,null,this.resourceForError(e)),7,n,o)}async canMove(e,n,o){return this.doCanMoveCopy(e,n,"move",o)}async canCopy(e,n,o){return this.doCanMoveCopy(e,n,"copy",o)}async doCanMoveCopy(e,n,o,i){if(e.toString()!==n.toString())try{let s=o==="move"?this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e):await this.withReadProvider(e),a=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n);await this.doValidateMoveCopy(s,e,a,n,o,i)}catch(s){return s}return!0}async move(e,n,o){let i=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n),a=await this.doMoveCopy(i,e,s,n,"move",!!o),l=await this.resolve(n,{resolveMetadata:!0});return this._onDidRunOperation.fire(new Ws(e,a==="move"?2:3,l)),l}async copy(e,n,o){let i=await this.withReadProvider(e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n),a=await this.doMoveCopy(i,e,s,n,"copy",!!o),l=await this.resolve(n,{resolveMetadata:!0});return this._onDidRunOperation.fire(new Ws(e,a==="copy"?3:2,l)),l}async doMoveCopy(e,n,o,i,s,a){if(n.toString()===i.toString())return s;let{exists:l,isSameResourceWithDifferentPathCase:c}=await this.doValidateMoveCopy(e,n,o,i,s,a);if(l&&!c&&a&&await this.del(i,{recursive:!0}),await this.mkdirp(o,this.getExtUri(o).providerExtUri.dirname(i)),s==="copy"){if(e===o&&Zw(e))await e.copy(n,i,{overwrite:a});else{let u=await this.resolve(n);u.isDirectory?await this.doCopyFolder(e,u,o,i):await this.doCopyFile(e,n,o,i)}return s}else return e===o?(await e.rename(n,i,{overwrite:a}),s):(await this.doMoveCopy(e,n,o,i,"copy",a),await this.del(n,{recursive:!0}),"copy")}async doCopyFile(e,n,o,i){if(Vs(e)&&Vs(o))return this.doPipeBuffered(e,n,o,i);if(Vs(e)&&Nr(o))return this.doPipeBufferedToUnbuffered(e,n,o,i);if(Nr(e)&&Vs(o))return this.doPipeUnbufferedToBuffered(e,n,o,i);if(Nr(e)&&Nr(o))return this.doPipeUnbuffered(e,n,o,i)}async doCopyFolder(e,n,o,i){await o.mkdir(i),Array.isArray(n.children)&&await Cn.settled(n.children.map(async s=>{let a=this.getExtUri(o).providerExtUri.joinPath(i,s.name);return s.isDirectory?this.doCopyFolder(e,await this.resolve(s.resource),o,a):this.doCopyFile(e,s.resource,o,a)}))}async doValidateMoveCopy(e,n,o,i,s,a){let l=!1;if(e===o){let{providerExtUri:u,isPathCaseSensitive:p}=this.getExtUri(e);if(p||(l=u.isEqual(n,i)),l&&s==="copy")throw new Error(d(3641,null,this.resourceForError(n),this.resourceForError(i)));if(!l&&u.isEqualOrParent(i,n))throw new Error(d(3642,null,this.resourceForError(n),this.resourceForError(i)))}let c=await this.exists(i);if(c&&!l){if(!a)throw new En(d(3643,null,this.resourceForError(n),this.resourceForError(i)),4);if(e===o){let{providerExtUri:u}=this.getExtUri(e);if(u.isEqualOrParent(n,i))throw new Error(d(3644,null,this.resourceForError(n),this.resourceForError(i)))}}return{exists:c,isSameResourceWithDifferentPathCase:l}}getExtUri(e){let n=this.isPathCaseSensitive(e);return{providerExtUri:n?lt:gw,isPathCaseSensitive:n}}isPathCaseSensitive(e){return!!(e.capabilities&1024)}async createFolder(e){let n=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e);await this.mkdirp(n,e);let o=await this.resolve(e,{resolveMetadata:!0});return this._onDidRunOperation.fire(new Ws(e,0,o)),o}async mkdirp(e,n){let o=[],{providerExtUri:i}=this.getExtUri(e);for(;!i.isEqual(n,i.dirname(n));)try{if(((await e.stat(n)).type&2)===0)throw new Error(d(3639,null,this.resourceForError(n)));break}catch(s){if(yg(s)!=="EntryNotFound")throw s;o.push(i.basename(n)),n=i.dirname(n)}for(let s=o.length-1;s>=0;s--){n=i.joinPath(n,o[s]);try{await e.mkdir(n)}catch(a){if(yg(a)!=="EntryExists")throw a}}}async canDelete(e,n){try{await this.doValidateDelete(e,n)}catch(o){return o}return!0}async doValidateDelete(e,n){let o=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e),i=!!n?.useTrash;if(i&&!(o.capabilities&4096))throw new Error(d(3626,null,this.resourceForError(e)));let s=n?.atomic;if(s&&!(o.capabilities&65536))throw new Error(d(3622,null,this.resourceForError(e)));if(i&&s)throw new Error(d(3625,null,this.resourceForError(e)));let a;try{a=await o.stat(e)}catch{}if(a)this.throwIfFileIsReadonly(e,a);else throw new En(d(3624,null,this.resourceForError(e)),1);if(!!!n?.recursive){let c=await this.resolve(e);if(c.isDirectory&&Array.isArray(c.children)&&c.children.length>0)throw new Error(d(3623,null,this.resourceForError(e)))}return o}async del(e,n){let o=await this.doValidateDelete(e,n),i=n;if(cO(o)&&!i?.atomic){let c=o.enforceAtomicDelete?.(e);c&&(i={...n,atomic:c})}let s=!!i?.useTrash,a=!!i?.recursive,l=i?.atomic??!1;await o.delete(e,{recursive:a,useTrash:s,atomic:l}),this._onDidRunOperation.fire(new Ws(e,1))}async cloneFile(e,n){let o=await this.withProvider(e),i=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n);if(!(o===i&&this.getExtUri(o).providerExtUri.isEqual(e,n)))return o===i&&aO(o)?o.cloneFile(e,n):(await this.mkdirp(i,this.getExtUri(i).providerExtUri.dirname(n)),o===i&&Zw(o)?this.writeQueue.queueFor(e,()=>o.copy(e,n,{overwrite:!0}),this.getExtUri(o).providerExtUri):this.writeQueue.queueFor(e,()=>this.doCopyFile(o,e,i,n),this.getExtUri(o).providerExtUri))}static{this.WATCHER_CORRELATION_IDS=0}createWatcher(e,n){return this.watch(e,{...n,correlationId:ls.WATCHER_CORRELATION_IDS++})}watch(e,n={recursive:!1,excludes:[]}){let o=new ie,i=!1,s=()=>{i=!0};o.add(ce(()=>s())),(async()=>{try{let l=await this.doWatch(e,n);i?gn(l):s=()=>gn(l)}catch(l){this.logService.error(l)}})();let a=n.correlationId;if(typeof a=="number"){let l=o.add(new T);return o.add(this.internalOnDidFilesChange.event(u=>{u.correlates(a)&&l.fire(u)})),{onDidChange:l.event,dispose:()=>o.dispose()}}return o}async doWatch(e,n){let o=await this.withProvider(e),i=Lr([this.getExtUri(o).providerExtUri.getComparisonKey(e),n]),s=this.activeWatchers.get(i);return s||(s={count:0,disposable:o.watch(e,n)},this.activeWatchers.set(i,s)),s.count+=1,ce(()=>{s&&(s.count--,s.count===0&&(gn(s.disposable),this.activeWatchers.delete(i)))})}dispose(){super.dispose();for(let[,e]of this.activeWatchers)gn(e.disposable);this.activeWatchers.clear()}async doWriteBuffered(e,n,o,i){return this.writeQueue.queueFor(n,async()=>{let s=await e.open(n,{create:!0,unlock:o?.unlock??!1,append:o?.append??!1});try{tg(i)||dy(i)?await this.doWriteStreamBufferedQueued(e,s,i):await this.doWriteReadableBufferedQueued(e,s,i)}catch(a){throw Bs(a)}finally{await e.close(s)}},this.getExtUri(e).providerExtUri)}async doWriteStreamBufferedQueued(e,n,o){let i=0,s;if(dy(o)){if(o.buffer.length>0){let a=L.concat(o.buffer);await this.doWriteBuffer(e,n,a,a.byteLength,i,0),i+=a.byteLength}if(o.ended)return;s=o.stream}else s=o;return new Promise((a,l)=>{let c=Promise.resolve(),u=!1,p,m=f=>{u=!0,p??=f,c.then(()=>p?l(p):a(),h=>l(p??h))};Oa(s,{onData:f=>{u||(s.pause(),c=c.then(async()=>{await this.doWriteBuffer(e,n,f,f.byteLength,i,0),i+=f.byteLength,setTimeout(()=>{u||s.resume()})}),c.catch(m))},onError:m,onEnd:m})})}async doWriteReadableBufferedQueued(e,n,o){let i=0,s;for(;(s=o.read())!==null;)await this.doWriteBuffer(e,n,s,s.byteLength,i,0),i+=s.byteLength}async doWriteBuffer(e,n,o,i,s,a){let l=0;for(;l<i;){let c=await e.write(n,s+l,o.buffer,a+l,i-l);l+=c}}async doWriteUnbuffered(e,n,o,i){return this.writeQueue.queueFor(n,()=>this.doWriteUnbufferedQueued(e,n,o,i),this.getExtUri(e).providerExtUri)}async doWriteUnbufferedQueued(e,n,o,i){let s;i instanceof L?s=i:tg(i)?s=await mr(i):dy(i)?s=await _L(i):s=kL(i),await e.writeFile(n,s.buffer,{create:!0,overwrite:!0,unlock:o?.unlock??!1,atomic:o?.atomic??!1,append:o?.append??!1})}async doPipeBuffered(e,n,o,i){return this.writeQueue.queueFor(i,()=>this.doPipeBufferedQueued(e,n,o,i),this.getExtUri(o).providerExtUri)}async doPipeBufferedQueued(e,n,o,i){let s,a;try{s=await e.open(n,{create:!1}),a=await o.open(i,{create:!0,unlock:!1});let l=L.alloc(this.BUFFER_SIZE),c=0,u=0,p=0;do p=await e.read(s,c,l.buffer,u,l.byteLength-u),await this.doWriteBuffer(o,a,l,p,c,u),c+=p,u+=p,u===l.byteLength&&(u=0);while(p>0)}catch(l){throw Bs(l)}finally{await Cn.settled([typeof s=="number"?e.close(s):Promise.resolve(),typeof a=="number"?o.close(a):Promise.resolve()])}}async doPipeUnbuffered(e,n,o,i){return this.writeQueue.queueFor(i,()=>this.doPipeUnbufferedQueued(e,n,o,i),this.getExtUri(o).providerExtUri)}async doPipeUnbufferedQueued(e,n,o,i){return o.writeFile(i,await e.readFile(n),{create:!0,overwrite:!0,unlock:!1,atomic:!1})}async doPipeUnbufferedToBuffered(e,n,o,i){return this.writeQueue.queueFor(i,()=>this.doPipeUnbufferedToBufferedQueued(e,n,o,i),this.getExtUri(o).providerExtUri)}async doPipeUnbufferedToBufferedQueued(e,n,o,i){let s=await o.open(i,{create:!0,unlock:!1});try{let a=await e.readFile(n);await this.doWriteBuffer(o,s,L.wrap(a),a.byteLength,0,0)}catch(a){throw Bs(a)}finally{await o.close(s)}}async doPipeBufferedToUnbuffered(e,n,o,i){let s=await mr(this.readFileBuffered(e,n,Pe.None));await this.doWriteUnbuffered(o,i,void 0,s)}throwIfFileSystemIsReadonly(e,n){if(e.capabilities&2048)throw new En(d(3629,null,this.resourceForError(n)),6);return e}throwIfFileIsReadonly(e,n){if((n.permissions??0)&1)throw new En(d(3629,null,this.resourceForError(e)),6)}resourceForError(e){return e.scheme===B.file?e.fsPath:e.toString(!0)}};ls=C([b(0,z)],ls)});function SU(r,t){switch(r){case 0:return"";case 1:return`${FI}*?`;default:return`(?:${UI}|${FI}+${UI}${t?`|${UI}${FI}+`:""})*?`}}function xU(r,t){if(!r)return[];let e=[],n=!1,o=!1,i="";for(let s of r){switch(s){case t:if(!n&&!o){e.push(i),i="";continue}break;case"{":n=!0;break;case"}":n=!1;break;case"[":o=!0;break;case"]":o=!1;break}i+=s}return i&&e.push(i),e}function RU(r){if(!r)return"";let t="",e=xU(r,bU);if(e.every(n=>n===Ru))t=".*";else{let n=!1;e.forEach((o,i)=>{if(o===Ru){if(n)return;t+=SU(2,i===e.length-1)}else{let s=!1,a="",l=!1,c="";for(let u of o){if(u!=="}"&&s){a+=u;continue}if(l&&(u!=="]"||!c)){let p;u==="-"?p=u:(u==="^"||u==="!")&&!c?p="^":u===bU?p="":p=eo(u),c+=p;continue}switch(u){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let m=`(?:${xU(a,",").map(f=>RU(f)).join("|")})`;t+=m,s=!1,a="";break}case"]":{t+="["+c+"]",l=!1,c="";break}case"?":t+=FI;continue;case"*":t+=SU(1);continue;default:t+=eo(u)}}i<e.length-1&&(e[i+1]!==Ru||i+2<e.length)&&(t+=UI)}n=o===Ru})}return t}function yR(r,t,e){if(!r)return cs;let n;typeof r!="string"?n=r.pattern:n=r,n=n.trim();let o=t.ignoreCase??!1,i={...t,equals:o?Co:(c,u)=>c===u,endsWith:o?V0:(c,u)=>c.endsWith(u),isEqualOrParent:(c,u)=>pr(c,u,t.ignoreCase??!$e)},s=`${e===void 0?`default:${o?n.toLowerCase():n}`:`custom:${e}`}_${!!t.trimForExclusions}_${o}`,a=CU.get(s);if(a)return wU(a,r,i);let l;return U3.test(n)?a=q3(n.substring(4),n,i):(l=F3.exec(vR(n,i)))?a=$3(l[1],n,i):(t.trimForExclusions?W3:H3).test(n)?a=z3(n,i):(l=V3.exec(vR(n,i)))?a=TU(l[1].substring(1),n,!0,i):(l=B3.exec(vR(n,i)))?a=TU(l[1],n,!1,i):a=G3(n,i),CU.set(s,a),wU(a,r,i)}function wU(r,t,e){if(typeof t=="string")return r;let n=function(o,i){return e.isEqualOrParent(o,t.base)?r(rw(o.substring(t.base.length),bn),i):null};return n.allBasenames=r.allBasenames,n.allPaths=r.allPaths,n.basenames=r.basenames,n.patterns=r.patterns,n}function vR(r,t){return t.trimForExclusions&&r.endsWith("/**")?r.substring(0,r.length-2):r}function q3(r,t,e){return function(n,o){return typeof n=="string"&&e.endsWith(n,r)?t:null}}function $3(r,t,e){let n=`/${r}`,o=`\\${r}`,i=function(a,l){return typeof a!="string"?null:l?e.equals(l,r)?t:null:e.equals(a,r)||e.endsWith(a,n)||e.endsWith(a,o)?t:null},s=[r];return i.basenames=s,i.patterns=[t],i.allBasenames=s,i}function z3(r,t){let e=kU(r.slice(1,-1).split(",").map(a=>yR(a,t)).filter(a=>a!==cs),r,t.ignoreCase),n=e.length;if(!n)return cs;if(n===1)return e[0];let o=function(a,l){for(let c=0,u=e.length;c<u;c++)if(e[c](a,l))return r;return null},i=e.find(a=>!!a.allBasenames);i&&(o.allBasenames=i.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(o.allPaths=s),o}function TU(r,t,e,n){let o=bn===Be.sep,i=o?r:r.replace(N3,bn),s=bn+i,a=Be.sep+r,l;return e?l=function(c,u){return typeof c=="string"&&(n.equals(c,i)||n.endsWith(c,s)||!o&&(n.equals(c,r)||n.endsWith(c,a)))?t:null}:l=function(c,u){return typeof c=="string"&&(n.equals(c,i)||!o&&n.equals(c,r))?t:null},l.allPaths=[(e?"*/":"./")+r],l}function G3(r,t){try{let e=new RegExp(`^${RU(r)}$`,t.ignoreCase?"i":void 0);return function(n){return e.lastIndex=0,typeof n=="string"&&e.test(n)?r:null}}catch{return cs}}function IR(r,t={}){if(!r)return EU;if(typeof r=="string"||PU(r)){let e=yR(r,t);if(e===cs)return EU;let n=function(o,i){return!!e(o,i)};return e.allBasenames&&(n.allBasenames=e.allBasenames),e.allPaths&&(n.allPaths=e.allPaths),n}return K3(r,t)}function PU(r){let t=r;return t?typeof t.base=="string"&&typeof t.pattern=="string":!1}function K3(r,t){let e=kU(Object.getOwnPropertyNames(r).map(a=>j3(a,r[a],t)).filter(a=>a!==cs),void 0,t.ignoreCase),n=e.length;if(!n)return cs;if(!e.some(a=>!!a.requiresSiblings)){if(n===1)return e[0];let a=function(u,p){let m;for(let f=0,h=e.length;f<h;f++){let v=e[f](u,p);if(typeof v=="string")return v;Ym(v)&&(m||(m=[]),m.push(v))}return m?(async()=>{for(let f of m){let h=await f;if(typeof h=="string")return h}return null})():null},l=e.find(u=>!!u.allBasenames);l&&(a.allBasenames=l.allBasenames);let c=e.reduce((u,p)=>p.allPaths?u.concat(p.allPaths):u,[]);return c.length&&(a.allPaths=c),a}let o=function(a,l,c){let u,p;for(let m=0,f=e.length;m<f;m++){let h=e[m];h.requiresSiblings&&c&&(l||(l=ut(a)),u||(u=l.substring(0,l.length-yi(a).length)));let v=h(a,l,u,c);if(typeof v=="string")return v;Ym(v)&&(p||(p=[]),p.push(v))}return p?(async()=>{for(let m of p){let f=await m;if(typeof f=="string")return f}return null})():null},i=e.find(a=>!!a.allBasenames);i&&(o.allBasenames=i.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(o.allPaths=s),o}function j3(r,t,e){if(t===!1)return cs;let n=yR(r,e,r);if(n===cs)return cs;if(typeof t=="boolean")return n;if(t){let o=t.when;if(typeof o=="string"){let i=(s,a,l,c)=>{if(!c||!n(s,a))return null;let u=o.replace("$(basename)",()=>l),p=c(u);return Ym(p)?p.then(m=>m?r:null):p?r:null};return i.requiresSiblings=!0,i}}return n}function kU(r,t,e){let n=r.filter(l=>!!l.basenames);if(n.length<2)return r;let o=n.reduce((l,c)=>{let u=c.basenames;return u?l.concat(u):l},[]),i;if(t){i=[];for(let l=0,c=o.length;l<c;l++)i.push(t)}else i=n.reduce((l,c)=>{let u=c.patterns;return u?l.concat(u):l},[]);let s=function(l,c){if(typeof l!="string")return null;if(!c){let p;for(p=l.length;p>0;p--){let m=l.charCodeAt(p-1);if(m===47||m===92)break}c=l.substring(p)}let u=e?o.findIndex(p=>Co(p,c)):o.indexOf(c);return u!==-1?i[u]:null};s.basenames=o,s.patterns=i,s.allBasenames=o;let a=r.filter(l=>!l.basenames);return a.push(s),a}function bR(r,t){return Gt(r,t,(e,n)=>typeof e=="string"&&typeof n=="string"?e===n:typeof e!="string"&&typeof n!="string"?e.base===n.base&&e.pattern===n.pattern:!1)}var Ru,bU,UI,FI,N3,U3,F3,H3,W3,V3,B3,CU,EU,cs,HI=y(()=>{At();Ne();ti();Ii();Sn();Me();me();Tt();Ru="**",bU="/",UI="[/\\\\]",FI="[^/\\\\]",N3=/\//g;U3=/^\*\*\/\*\.[\w\.-]+$/,F3=/^\*\*\/([\w\.-]+)\/?$/,H3=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,W3=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,V3=/^\*\*((\/[\w\.-]+)+)\/?$/,B3=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,CU=new Ki(1e4),EU=function(){return!1},cs=function(){return null}});function qI(r){return typeof r.correlationId=="number"}function DU(r){return r.recursive===!0}function $I(r){return r.map(t=>({type:t.type,resource:S.revive(t.resource),cId:t.cId}))}function _U(r){let t=new SR;for(let e of r)t.processEvent(e);return t.coalesce()}function J3(r,t){return typeof t=="string"&&!t.startsWith(Ru)&&!xo(t)?{base:r,pattern:t}:t}function xR(r,t,e){let n=[];for(let o of t)n.push(IR(J3(r,o),{ignoreCase:e}));return n}function MU(r,t){if(typeof t=="number")switch(r.type){case 1:return(t&4)===0;case 2:return(t&8)===0;case 0:return(t&2)===0}return!1}function AU(r){if(typeof r=="number"){let t=[];return r&4&&t.push("Added"),r&8&&t.push("Deleted"),r&2&&t.push("Updated"),t.length===0?"<all>":`[${t.join(", ")}]`}return"<none>"}var WI,VI,BI,SR,Rc=y(()=>{HI();K();Me();me();oe();nt();WI=class r extends _{constructor(e,n,o,i){super();this.onFileChanges=e;this.onLogMessage=n;this.verboseLogging=o;this.options=i;this.watcherDisposables=this._register(new $n);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new ie;this.watcherDisposables.value=e,this.watcher=this.createWatcher(e),this.watcher.setVerboseLogging(this.verboseLogging),e.add(this.watcher.onDidChangeFile(n=>this.onFileChanges(n))),e.add(this.watcher.onDidLogMessage(n=>this.onLogMessage(n))),e.add(this.watcher.onDidError(n=>this.onError(n.error,n.request)))}onError(e,n){this.canRestart(e,n)?this.restartCounter<r.MAX_RESTARTS&&this.requests?(this.error(`restarting watcher after unexpected error: ${e}`),this.restart(this.requests)):this.error(`gave up attempting to restart watcher after unexpected error: ${e}`):this.error(e)}canRestart(e,n){return!(!this.options.restartOnError||n||e.indexOf("No space left on device")!==-1||e.indexOf("EMFILE")!==-1)}restart(e){this.restartCounter++,this.init(),this.watch(e)}async watch(e){this.requests=e,await this.watcher?.watch(e)}async setVerboseLogging(e){this.verboseLogging=e,await this.watcher?.setVerboseLogging(e)}error(e){this.onLogMessage({type:"error",message:`[File Watcher (${this.options.type})] ${e}`})}trace(e){this.onLogMessage({type:"trace",message:`[File Watcher (${this.options.type})] ${e}`})}dispose(){return this.watcher=void 0,super.dispose()}},VI=class extends WI{constructor(t,e,n){super(t,e,n,{type:"node.js",restartOnError:!1})}},BI=class extends WI{constructor(t,e,n){super(t,e,n,{type:"universal",restartOnError:!0})}};SR=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(t){return $e?t.resource.fsPath:t.resource.fsPath.toLowerCase()}processEvent(t){let e=this.mapPathToChange.get(this.toKey(t)),n=!1;if(e){let o=e.type,i=t.type;e.resource.fsPath!==t.resource.fsPath&&(t.type===2||t.type===1)?n=!0:o===1&&i===2?(this.mapPathToChange.delete(this.toKey(t)),this.coalesced.delete(e)):o===2&&i===1?e.type=0:o===1&&i===0||(e.type=i)}else n=!0;n&&(this.coalesced.add(t),this.mapPathToChange.set(this.toKey(t),t))}coalesce(){let t=[],e=[];return Array.from(this.coalesced).filter(n=>n.type!==2?(t.push(n),!1):!0).sort((n,o)=>n.resource.fsPath.length-o.resource.fsPath.length).filter(n=>e.some(o=>dO(n.resource.fsPath,o,!$e))?!1:(e.push(n.resource.fsPath),!0)).concat(t)}}});var zI,LU=y(()=>{At();Ne();Ee();de();Ii();K();Me();Rc();De();zI=class extends _{constructor(e,n){super();this.logService=e;this.options=n;this._onDidChangeFile=this._register(new T);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidWatchError=this._register(new T);this.onDidWatchError=this._onDidWatchError.event;this.universalWatchRequests=[];this.universalWatchRequestDelayer=this._register(new _r(this.getRefreshWatchersDelay(this.universalWatchRequests.length)));this.nonRecursiveWatchRequests=[];this.nonRecursiveWatchRequestDelayer=this._register(new _r(this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)))}watch(e,n){return n.recursive||this.options?.watcher?.forceUniversal?this.watchUniversal(e,n):this.watchNonRecursive(e,n)}getRefreshWatchersDelay(e){return e>200?500:0}watchUniversal(e,n){let o=this.toWatchRequest(e,n),i=GE(this.universalWatchRequests,o);return this.refreshUniversalWatchers(),ce(()=>{i(),this.refreshUniversalWatchers()})}toWatchRequest(e,n){let o={path:this.toWatchPath(e),excludes:n.excludes,includes:n.includes,recursive:n.recursive,filter:n.filter,correlationId:n.correlationId};if(DU(o)){let i=this.options?.watcher?.recursive?.usePolling;i===!0?o.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3:Array.isArray(i)&&i.includes(o.path)&&(o.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3)}return o}refreshUniversalWatchers(){this.universalWatchRequestDelayer.trigger(()=>this.doRefreshUniversalWatchers(),this.getRefreshWatchersDelay(this.universalWatchRequests.length)).catch(e=>st(e))}doRefreshUniversalWatchers(){return this.universalWatcher||(this.universalWatcher=this._register(this.createUniversalWatcher(e=>this._onDidChangeFile.fire($I(e)),e=>this.onWatcherLogMessage(e),this.logService.getLevel()===1)),this._register(this.logService.onDidChangeLogLevel(()=>{this.universalWatcher?.setVerboseLogging(this.logService.getLevel()===1)}))),this.universalWatcher.watch(this.universalWatchRequests)}watchNonRecursive(e,n){let o={path:this.toWatchPath(e),excludes:n.excludes,includes:n.includes,recursive:!1,filter:n.filter,correlationId:n.correlationId},i=GE(this.nonRecursiveWatchRequests,o);return this.refreshNonRecursiveWatchers(),ce(()=>{i(),this.refreshNonRecursiveWatchers()})}refreshNonRecursiveWatchers(){this.nonRecursiveWatchRequestDelayer.trigger(()=>this.doRefreshNonRecursiveWatchers(),this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)).catch(e=>st(e))}doRefreshNonRecursiveWatchers(){return this.nonRecursiveWatcher||(this.nonRecursiveWatcher=this._register(this.createNonRecursiveWatcher(e=>this._onDidChangeFile.fire($I(e)),e=>this.onWatcherLogMessage(e),this.logService.getLevel()===1)),this._register(this.logService.onDidChangeLogLevel(()=>{this.nonRecursiveWatcher?.setVerboseLogging(this.logService.getLevel()===1)}))),this.nonRecursiveWatcher.watch(this.nonRecursiveWatchRequests)}onWatcherLogMessage(e){e.type==="error"&&this._onDidWatchError.fire(e.message),this.logWatcherMessage(e)}logWatcherMessage(e){this.logService[e.type](e.message)}toFilePath(e){return Mn(e.fsPath)}toWatchPath(e){let n=this.toFilePath(e);return K0(n)}}});var OU=y(()=>{we();K();Zt()});function ot(r,t,e){let n=null,o=null;if(typeof e.value=="function"?(n="value",o=e.value,o.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof e.get=="function"&&(n="get",o=e.get),!o)throw new Error("not supported");let i=`$memoize$${t}`;e[n]=function(...s){return this.hasOwnProperty(i)||Object.defineProperty(this,i,{configurable:!1,enumerable:!1,writable:!1,value:o.apply(this,s)}),this[i]}}var GI=y(()=>{OU()});function Du(r){switch(r){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function KI(r){switch(r){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function Pu(r){let t=0;for(let e=0;;e+=7){let n=r.read(1);if(t|=(n.buffer[0]&127)<<e,!(n.buffer[0]&128))return t}}function ku(r,t){if(t===0){r.write(Y3);return}let e=0;for(let o=t;o!==0;o=o>>>7)e++;let n=L.alloc(e);for(let o=0;t!==0;o++)n.buffer[o]=t&127,t=t>>>7,t>0&&(n.buffer[o]|=128);r.write(n)}function sl(r){let t=L.alloc(1);return t.writeUInt8(r,0),t}function Yg(r,t){if(typeof t>"u")r.write(Pc.Undefined);else if(typeof t=="string"){let e=L.fromString(t);r.write(Pc.String),ku(r,e.byteLength),r.write(e)}else if(L.isNativeBuffer(t)){let e=L.wrap(t);r.write(Pc.Buffer),ku(r,e.byteLength),r.write(e)}else if(t instanceof L)r.write(Pc.VSBuffer),ku(r,t.byteLength),r.write(t);else if(Array.isArray(t)){r.write(Pc.Array),ku(r,t.length);for(let e of t)Yg(r,e)}else if(typeof t=="number"&&(t|0)===t)r.write(Pc.Uint),ku(r,t);else{let e=L.fromString(JSON.stringify(t));r.write(Pc.Object),ku(r,e.byteLength),r.write(e)}}function Mu(r){switch(r.read(1).readUInt8(0)){case 0:return;case 1:return r.read(Pu(r)).toString();case 2:return r.read(Pu(r)).buffer;case 3:return r.read(Pu(r));case 4:{let e=Pu(r),n=[];for(let o=0;o<e;o++)n.push(Mu(r));return n}case 5:return JSON.parse(r.read(Pu(r)).toString());case 6:return Pu(r)}}function NU(r){return{call(t,e,n){return r.then(o=>o.call(t,e,n))},listen(t,e){let n=new Wm;return r.then(o=>n.input=o.listen(t,e),()=>n.dispose()),n.event}}}function UU(r){let t=!1;return{call(e,n,o){return t?r.call(e,n,o):Eo(0).then(()=>t=!0).then(()=>r.call(e,n,o))},listen(e,n){if(t)return r.listen(e,n);let o=new Wm;return Eo(0).then(()=>t=!0).then(()=>o.input=r.listen(e,n)),o.event}}}var Y3,Jg,jI,Pc,QI,_u,Xg,JI,Vr,Ks=y(()=>{At();Ne();Ke();Zt();GI();Ee();de();Um();K();rs();Tt();we();Y3=sl(0);Jg=class{constructor(t){this.buffer=t;this.pos=0}read(t){let e=this.buffer.slice(this.pos,this.pos+t);return this.pos+=e.byteLength,e}},jI=class{constructor(){this.buffers=[]}get buffer(){return L.concat(this.buffers)}write(t){this.buffers.push(t)}dispose(){this.buffers.length=0}};Pc={Undefined:sl(0),String:sl(1),Buffer:sl(2),VSBuffer:sl(3),Array:sl(4),Object:sl(5),Uint:sl(6)};QI=class{constructor(t,e,n=null,o=1e3){this.protocol=t;this.ctx=e;this.logger=n;this.timeoutDelay=o;this.channels=new Map;this.activeRequests=new Map;this.pendingRequests=new Map;this.protocolListener=this.protocol.onMessage(i=>this.onRawMessage(i)),this.sendResponse({type:200})}registerChannel(t,e){this.channels.set(t,e),setTimeout(()=>this.flushPendingRequests(t),0)}sendResponse(t){switch(t.type){case 200:{let e=this.send([t.type]);this.logger?.logOutgoing(e,0,1,KI(t.type));return}case 201:case 202:case 204:case 203:{let e=this.send([t.type,t.id],t.data);this.logger?.logOutgoing(e,t.id,1,KI(t.type),t.data);return}}}send(t,e=void 0){let n=new jI;try{return Yg(n,t),Yg(n,e),this.sendBuffer(n.buffer)}finally{n.dispose()}}sendBuffer(t){try{return this.protocol.send(t),t.byteLength}catch{return 0}}onRawMessage(t){let e=new Jg(t),n=Mu(e),o=Mu(e),i=n[0];switch(i){case 100:return this.logger?.logIncoming(t.byteLength,n[1],1,`${Du(i)}: ${n[2]}.${n[3]}`,o),this.onPromise({type:i,id:n[1],channelName:n[2],name:n[3],arg:o});case 102:return this.logger?.logIncoming(t.byteLength,n[1],1,`${Du(i)}: ${n[2]}.${n[3]}`,o),this.onEventListen({type:i,id:n[1],channelName:n[2],name:n[3],arg:o});case 101:return this.logger?.logIncoming(t.byteLength,n[1],1,`${Du(i)}`),this.disposeActiveRequest({type:i,id:n[1]});case 103:return this.logger?.logIncoming(t.byteLength,n[1],1,`${Du(i)}`),this.disposeActiveRequest({type:i,id:n[1]})}}onPromise(t){let e=this.channels.get(t.channelName);if(!e){this.collectPendingRequest(t);return}let n=new wt,o;try{o=e.call(this.ctx,t.name,t.arg,n.token)}catch(a){o=Promise.reject(a)}let i=t.id;o.then(a=>{this.sendResponse({id:i,data:a,type:201})},a=>{a instanceof Error?this.sendResponse({id:i,data:{message:a.message,name:a.name,stack:a.stack?a.stack.split(`
`):void 0},type:202}):this.sendResponse({id:i,data:a,type:203})}).finally(()=>{s.dispose(),this.activeRequests.delete(t.id)});let s=ce(()=>n.cancel());this.activeRequests.set(t.id,s)}onEventListen(t){let e=this.channels.get(t.channelName);if(!e){this.collectPendingRequest(t);return}let n=t.id,i=e.listen(this.ctx,t.name,t.arg)(s=>this.sendResponse({id:n,data:s,type:204}));this.activeRequests.set(t.id,i)}disposeActiveRequest(t){let e=this.activeRequests.get(t.id);e&&(e.dispose(),this.activeRequests.delete(t.id))}collectPendingRequest(t){let e=this.pendingRequests.get(t.channelName);e||(e=[],this.pendingRequests.set(t.channelName,e));let n=setTimeout(()=>{console.error(`Unknown channel: ${t.channelName}`),t.type===100&&this.sendResponse({id:t.id,data:{name:"Unknown channel",message:`Channel name '${t.channelName}' timed out after ${this.timeoutDelay}ms`,stack:void 0},type:202})},this.timeoutDelay);e.push({request:t,timeoutTimer:n})}flushPendingRequests(t){let e=this.pendingRequests.get(t);if(e){for(let n of e)switch(clearTimeout(n.timeoutTimer),n.request.type){case 100:this.onPromise(n.request);break;case 102:this.onEventListen(n.request);break}this.pendingRequests.delete(t)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),gn(this.activeRequests.values()),this.activeRequests.clear()}},_u=class{constructor(t,e=null){this.protocol=t;this.isDisposed=!1;this.state=0;this.activeRequests=new Set;this.handlers=new Map;this.lastRequestId=0;this._onDidInitialize=new T;this.onDidInitialize=this._onDidInitialize.event;this.protocolListener=this.protocol.onMessage(n=>this.onBuffer(n)),this.logger=e}getChannel(t){let e=this;return{call(n,o,i){return e.isDisposed?Promise.reject(new et):e.requestPromise(t,n,o,i)},listen(n,o){return e.isDisposed?V.None:e.requestEvent(t,n,o)}}}requestPromise(t,e,n,o=Pe.None){let i=this.lastRequestId++,a={id:i,type:100,channelName:t,name:e,arg:n};if(o.isCancellationRequested)return Promise.reject(new et);let l,c;return new Promise((p,m)=>{if(o.isCancellationRequested)return m(new et);let f=()=>{let I=E=>{switch(E.type){case 201:this.handlers.delete(i),p(E.data);break;case 202:{this.handlers.delete(i);let w=new Error(E.data.message);w.stack=Array.isArray(E.data.stack)?E.data.stack.join(`
`):E.data.stack,w.name=E.data.name,m(w);break}case 203:this.handlers.delete(i),m(E.data);break}};this.handlers.set(i,I);try{this.sendRequest(a)}catch(E){this.handlers.delete(i),m(E)}},h=null;this.state===1?f():(h=Xo(I=>this.whenInitialized()),h.then(()=>{h=null,f()},()=>{}));let v=()=>{h?(h.cancel(),h=null):this.sendRequest({id:i,type:101}),m(new et)};l=o.onCancellationRequested(v),c={dispose:$l(()=>{v(),l.dispose()})},this.activeRequests.add(c)}).finally(()=>{l?.dispose(),this.activeRequests.delete(c)})}requestEvent(t,e,n){let o=this.lastRequestId++,s={id:o,type:102,channelName:t,name:e,arg:n},a=null,l=new T({onWillAddFirstListener:()=>{let c=p=>l.fire(p.data);this.handlers.set(o,c);let u=()=>{this.activeRequests.add(l),this.sendRequest(s)};this.state===1?u():(a=Xo(p=>this.whenInitialized()),a.then(()=>{a=null,u()},()=>{}))},onDidRemoveLastListener:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(l),this.sendRequest({id:o,type:103})),this.handlers.delete(o)}});return l.event}sendRequest(t){switch(t.type){case 100:case 102:{let e=this.send([t.type,t.id,t.channelName,t.name],t.arg);this.logger?.logOutgoing(e,t.id,0,`${Du(t.type)}: ${t.channelName}.${t.name}`,t.arg);return}case 101:case 103:{let e=this.send([t.type,t.id]);this.logger?.logOutgoing(e,t.id,0,Du(t.type));return}}}send(t,e=void 0){let n=new jI;try{return Yg(n,t),Yg(n,e),this.sendBuffer(n.buffer)}finally{n.dispose()}}sendBuffer(t){try{return this.protocol.send(t),t.byteLength}catch{return 0}}onBuffer(t){let e=new Jg(t),n=Mu(e),o=Mu(e),i=n[0];switch(i){case 200:return this.logger?.logIncoming(t.byteLength,0,0,KI(i)),this.onResponse({type:n[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(t.byteLength,n[1],0,KI(i),o),this.onResponse({type:n[0],id:n[1],data:o})}}onResponse(t){if(t.type===200){this.state=1,this._onDidInitialize.fire();return}this.handlers.get(t.id)?.(t)}get onDidInitializePromise(){return V.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),gn(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};C([ot],_u.prototype,"onDidInitializePromise",1);Xg=class{constructor(t,e,n){this.channels=new Map;this._connections=new Set;this._onDidAddConnection=new T;this.onDidAddConnection=this._onDidAddConnection.event;this._onDidRemoveConnection=new T;this.onDidRemoveConnection=this._onDidRemoveConnection.event;this.disposables=new ie;this.disposables.add(t(({protocol:o,onDidClientDisconnect:i})=>{let s=V.once(o.onMessage),a=new ie,l=s(c=>{let u=new Jg(c),p=Mu(u),m=new QI(o,p,e,n),f=new _u(o,e);this.channels.forEach((v,I)=>m.registerChannel(I,v));let h={channelServer:m,channelClient:f,ctx:p};this._connections.add(h),this._onDidAddConnection.fire(h),a.add(i(()=>{m.dispose(),f.dispose(),this._connections.delete(h),this._onDidRemoveConnection.fire(h),this.disposables.delete(a),a.dispose()}))});a.add(l),this.disposables.add(a)}))}get connections(){let t=[];return this._connections.forEach(e=>t.push(e)),t}getChannel(t,e){let n=this;return{call(o,i,s){let a;if(xd(e)){let c=p0(n.connections.filter(e));a=c?Promise.resolve(c):V.toPromise(V.filter(n.onDidAddConnection,e))}else a=e.routeCall(n,o,i);let l=a.then(c=>c.channelClient.getChannel(t));return NU(l).call(o,i,s)},listen(o,i){if(xd(e))return n.getMulticastEvent(t,e,o,i);let s=e.routeEvent(n,o,i).then(a=>a.channelClient.getChannel(t));return NU(s).listen(o,i)}}}getMulticastEvent(t,e,n,o){let i=this,s,a=new T({onWillAddFirstListener:()=>{s=new ie;let l=new Qv,c=new Map,u=m=>{let h=m.channelClient.getChannel(t).listen(n,o),v=l.add(h);c.set(m,v)},p=m=>{let f=c.get(m);f&&(f.dispose(),c.delete(m))};i.connections.filter(e).forEach(u),V.filter(i.onDidAddConnection,e)(u,void 0,s),i.onDidRemoveConnection(p,void 0,s),l.event(a.fire,a,s),s.add(l)},onDidRemoveLastListener:()=>{s?.dispose(),s=void 0}});return i.disposables.add(a),a.event}registerChannel(t,e){this.channels.set(t,e);for(let n of this._connections)n.channelServer.registerChannel(t,e)}dispose(){this.disposables.dispose();for(let t of this._connections)t.channelClient.dispose(),t.channelServer.dispose();this._connections.clear(),this.channels.clear(),this._onDidAddConnection.dispose(),this._onDidRemoveConnection.dispose()}};JI=class{constructor(t){this.fn=t}routeCall(t){return this.route(t)}routeEvent(t){return this.route(t)}async route(t){for(let e of t.connections)if(await Promise.resolve(this.fn(e.ctx)))return Promise.resolve(e);return await V.toPromise(t.onDidAddConnection),await this.route(t)}};(o=>{function r(i,s,a){let l=i,c=a?.disableMarshalling,u=a?.unbufferedEvents?new Set(a.unbufferedEvents):void 0,p=new Map;for(let m in l)e(m)&&!u?.has(m)&&p.set(m,V.buffer(l[m],m,!0,void 0,s));return new class{listen(m,f,h){let v=p.get(f);if(v)return v;let I=l[f];if(typeof I=="function"){if(n(f))return I.call(l,h);if(e(f))return u?.has(f)?l[f]:(p.set(f,V.buffer(l[f],f,!0,void 0,s)),p.get(f))}throw new Yn(`Event not found: ${f}`)}call(m,f,h){let v=l[f];if(typeof v=="function"){if(!c&&Array.isArray(h))for(let E=0;E<h.length;E++)h[E]=Qt(h[E]);let I=v.apply(l,h);return I instanceof Promise||(I=Promise.resolve(I)),I}throw new Yn(`Method not found: ${f}`)}}}o.fromService=r;function t(i,s){let a=s?.disableMarshalling;return new Proxy({},{get(l,c){if(typeof c=="string")return s?.properties?.has(c)?s.properties.get(c):c==="then"?void 0:n(c)?function(u){return i.listen(c,u)}:e(c)?i.listen(c):async function(...u){let p;s&&!qt(s.context)?p=[s.context,...u]:p=u;let m=await i.call(c,p);return a?m:Qt(m)};throw new Yn(`Property not found: ${String(c)}`)}})}o.toService=t;function e(i){return i[0]==="o"&&i[1]==="n"&&iw(i.charCodeAt(2))}function n(i){return/^onDynamic/.test(i)&&iw(i.charCodeAt(9))}})(Vr||={})});function FU(r){let t=r;return t&&typeof t.type=="string"&&typeof t.severity=="string"}function X3(r){let t=[],e;try{let n=JSON.parse(r.arguments),o=n[n.length-1];o&&o.__$stack&&(n.pop(),e=o.__$stack),t.push(...n)}catch{t.push("Unable to log remote console arguments",r.arguments)}return{args:t,stack:e}}function Z3(r){if(!r)return r;let t=r.indexOf(`
`);return t===-1?r:r.substring(0,t)}function HU(r,t){let{args:e,stack:n}=X3(r),o=typeof e[0]=="string"&&e.length===1,i=Z3(n);i&&(i=`(${i.trim()})`);let s=[];if(typeof e[0]=="string"?i&&o?s=[`%c[${t}] %c${e[0]} %c${i}`,Au("blue"),Au(""),Au("grey")]:s=[`%c[${t}] %c${e[0]}`,Au("blue"),Au(""),...e.slice(1)]:s=[`%c[${t}]%`,Au("blue"),...e],i&&!o&&s.push(i),typeof console[r.severity]!="function")throw new Error("Unknown console method");console[r.severity].apply(console,s)}function Au(r){return`color: ${r}`}var WU=y(()=>{oe()});import{fork as eG}from"child_process";var al,YI=y(()=>{Ne();Ke();Zt();WU();Ee();de();K();jt();Sg();nu();Ks();al=class{constructor(t,e){this.modulePath=t;this.options=e;this.activeRequests=new Set;this.channels=new Map;this._onDidProcessExit=new T;this.onDidProcessExit=this._onDidProcessExit.event;let n=e.timeout||6e4;this.disposeDelayer=new Qm(n),this.child=null,this._client=null}getChannel(t){let e=this;return{call(n,o,i){return e.requestPromise(t,n,o,i)},listen(n,o){return e.requestEvent(t,n,o)}}}requestPromise(t,e,n,o=Pe.None){if(!this.disposeDelayer)return Promise.reject(new Error("disposed"));if(o.isCancellationRequested)return Promise.reject(Nm());this.disposeDelayer.cancel();let i=this.getCachedChannel(t),s=Xo(u=>i.call(e,n,u)),a=o.onCancellationRequested(()=>s.cancel()),l=ce(()=>s.cancel());this.activeRequests.add(l);let c=()=>{a.dispose(),this.activeRequests.delete(l),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())};return s.then(c,c),s}requestEvent(t,e,n){if(!this.disposeDelayer)return V.None;this.disposeDelayer.cancel();let o,i=new T({onWillAddFirstListener:()=>{o=this.getCachedChannel(t).listen(e,n)(i.fire,i),this.activeRequests.add(o)},onDidRemoveLastListener:()=>{this.activeRequests.delete(o),o.dispose(),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())}});return i.event}get client(){if(!this._client){let t=this.options.args||[],e=Object.create(null);e.env={...oi(process.env),VSCODE_PARENT_PID:String(process.pid)},this.options.env&&(e.env={...e.env,...this.options.env}),this.options.freshExecArgv&&(e.execArgv=[]),typeof this.options.debug=="number"&&(e.execArgv=["--nolazy","--inspect="+this.options.debug]),typeof this.options.debugBrk=="number"&&(e.execArgv=["--nolazy","--inspect-brk="+this.options.debugBrk]),e.execArgv===void 0&&(e.execArgv=process.execArgv.filter(p=>!/^--inspect(-brk)?=/.test(p)).filter(p=>!p.startsWith("--vscode-"))),tu(e.env),this.child=eG(this.modulePath,t,e);let n=new T,i=V.fromNodeEventEmitter(this.child,"message",p=>p)(p=>{if(FU(p)){HU(p,`IPC Library: ${this.options.serverName}`);return}n.fire(L.wrap(Buffer.from(p,"base64")))}),s=this.options.useQueue?kO(this.child):this.child,a=p=>this.child?.connected&&s.send(p.buffer.toString("base64")),l=n.event,c={send:a,onMessage:l};this._client=new _u(c);let u=()=>this.disposeClient();process.once("exit",u),this.child.on("error",p=>console.warn('IPC "'+this.options.serverName+'" errored with '+p)),this.child.on("exit",(p,m)=>{process.removeListener("exit",u),i.dispose(),this.activeRequests.forEach(f=>gn(f)),this.activeRequests.clear(),p!==0&&m!=="SIGTERM"&&console.warn('IPC "'+this.options.serverName+'" crashed with exit code '+p+" and signal "+m),this.disposeDelayer?.cancel(),this.disposeClient(),this._onDidProcessExit.fire({code:p,signal:m})})}return this._client}getCachedChannel(t){let e=this.channels.get(t);return e||(e=this.client.getChannel(t),this.channels.set(t,e)),e}disposeClient(){this._client&&(this.child&&(this.child.kill(),this.child=null),this._client=null,this.channels.clear())}dispose(){this._onDidProcessExit.dispose(),this.disposeDelayer?.cancel(),this.disposeDelayer=void 0,this.disposeClient(),this.activeRequests.clear()}}});var XI,VU=y(()=>{Ae();Ks();YI();Rc();XI=class extends BI{constructor(t,e,n){super(t,e,n),this.init()}createWatcher(t){let e=t.add(new al(Dt.asFileUri("bootstrap-fork").fsPath,{serverName:"File Watcher",args:["--type=fileWatcher"],env:{VSCODE_ESM_ENTRYPOINT:"vs/platform/files/node/watcher/watcherMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true"}}));return t.add(e.onDidProcessExit(({code:n,signal:o})=>this.onError(`terminated by itself with code ${n}, signal: ${o} (ETERM)`))),Vr.toService(UU(e.getChannel("watcher")))}}});import{watchFile as tG,unwatchFile as nG}from"fs";var ZI,BU=y(()=>{K();Rc();de();nt();oe();Ne();Ua();Ee();ZI=class extends _{constructor(){super();this._onDidChangeFile=this._register(new T);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidLogMessage=this._register(new T);this.onDidLogMessage=this._onDidLogMessage.event;this._onDidWatchFail=this._register(new T);this.onDidWatchFail=this._onDidWatchFail.event;this.correlatedWatchRequests=new Map;this.nonCorrelatedWatchRequests=new Map;this.suspendedWatchRequests=this._register(new Fo);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new _r(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new zn;this.verboseLogging=!1;this._register(this.onDidWatchFail(e=>this.suspendWatchRequest({id:this.computeId(e),correlationId:this.isCorrelated(e)?e.correlationId:void 0,path:e.path})))}isCorrelated(e){return qI(e)}computeId(e){return this.isCorrelated(e)?e.correlationId:Lr(e)}async watch(e){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new zn;try{this.correlatedWatchRequests.clear(),this.nonCorrelatedWatchRequests.clear();for(let n of e)this.isCorrelated(n)?this.correlatedWatchRequests.set(n.correlationId,n):this.nonCorrelatedWatchRequests.set(this.computeId(n),n);for(let[n]of this.suspendedWatchRequests)!this.nonCorrelatedWatchRequests.has(n)&&!this.correlatedWatchRequests.has(n)&&(this.suspendedWatchRequests.deleteAndDispose(n),this.suspendedWatchRequestsWithPolling.delete(n));return await this.updateWatchers(!1)}finally{this.joinWatch.complete()}}updateWatchers(e){let n=[];for(let[o,i]of[...this.nonCorrelatedWatchRequests,...this.correlatedWatchRequests])this.suspendedWatchRequests.has(o)||n.push(i);return this.updateWatchersDelayer.trigger(()=>this.doWatch(n),e?this.getUpdateWatchersDelay():0).catch(o=>st(o))}getUpdateWatchersDelay(){return 800}isSuspended(e){let n=this.computeId(e);return this.suspendedWatchRequestsWithPolling.has(n)?"polling":this.suspendedWatchRequests.has(n)}async suspendWatchRequest(e){if(this.suspendedWatchRequests.has(e.id))return;let n=new ie;this.suspendedWatchRequests.set(e.id,n),await this.joinWatch.p,!n.isDisposed&&(this.monitorSuspendedWatchRequest(e,n),this.updateWatchers(!0))}resumeWatchRequest(e){this.suspendedWatchRequests.deleteAndDispose(e.id),this.suspendedWatchRequestsWithPolling.delete(e.id),this.updateWatchers(!1)}monitorSuspendedWatchRequest(e,n){this.doMonitorWithExistingWatcher(e,n)?(this.trace(`reusing an existing recursive watcher to monitor ${e.path}`),this.suspendedWatchRequestsWithPolling.delete(e.id)):(this.doMonitorWithNodeJS(e,n),this.suspendedWatchRequestsWithPolling.add(e.id))}doMonitorWithExistingWatcher(e,n){let o=this.recursiveWatcher?.subscribe(e.path,(i,s)=>{n.isDisposed||(i?this.monitorSuspendedWatchRequest(e,n):s?.type===1&&this.onMonitoredPathAdded(e))});return o?(n.add(o),!0):!1}doMonitorWithNodeJS(e,n){let o=!1,i=(s,a)=>{if(n.isDisposed)return;let l=this.isPathNotFound(s),c=this.isPathNotFound(a),u=o;o=l,!l&&(c||u)&&this.onMonitoredPathAdded(e)};this.trace(`starting fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{tG(e.path,{persistent:!1,interval:this.suspendedWatchRequestPollingInterval},i)}catch(s){this.warn(`fs.watchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}n.add(ce(()=>{this.trace(`stopping fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{nG(e.path,i)}catch(s){this.warn(`fs.unwatchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}}))}onMonitoredPathAdded(e){this.trace(`detected ${e.path} exists again, resuming watcher (correlationId: ${e.correlationId})`);let n={resource:S.file(e.path),type:1,cId:e.correlationId};this._onDidChangeFile.fire([n]),this.traceEvent(n,e),this.resumeWatchRequest(e)}isPathNotFound(e){return e.ctimeMs===0&&e.ino===0}async stop(){this.suspendedWatchRequests.clearAndDisposeAll(),this.suspendedWatchRequestsWithPolling.clear()}traceEvent(e,n){if(this.verboseLogging){let o=` >> normalized ${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`;this.traceWithCorrelation(o,n)}}traceWithCorrelation(e,n){this.verboseLogging&&this.trace(`${e}${typeof n.correlationId=="number"?` <${n.correlationId}> `:""}`)}requestToString(e){return`${e.path} (excludes: ${e.excludes.length>0?e.excludes:"<none>"}, includes: ${e.includes&&e.includes.length>0?JSON.stringify(e.includes):"<all>"}, filter: ${AU(e.filter)}, correlationId: ${typeof e.correlationId=="number"?e.correlationId:"<none>"})`}async setVerboseLogging(e){this.verboseLogging=e}}});import{watch as oG,promises as rG}from"fs";var eb,qU=y(()=>{Ne();Zt();Ii();K();sy();Me();me();bt();oe();go();nt();Rc();ji();eb=class r extends _{constructor(e,n,o,i,s,a){super();this.request=e;this.recursiveWatcher=n;this.onDidFilesChange=o;this.onDidWatchFail=i;this.onLogMessage=s;this.verboseLogging=a;this.throttledFileChangesEmitter=this._register(new Ld({maxWorkChunkSize:100,throttleDelay:200,maxBufferedWork:1e4},e=>this.onDidFilesChange(e)));this.fileChangesAggregator=this._register(new ry(e=>this.handleFileChanges(e),r.FILE_CHANGES_HANDLER_DELAY));this.cts=new wt;this.realPath=new Kt(async()=>{let e=this.request.path;try{e=await be.realpath(this.request.path),this.request.path!==e&&this.trace(`correcting a path to watch that seems to be a symbolic link (original: ${this.request.path}, real: ${e})`)}catch{}return e});this._isReusingRecursiveWatcher=!1;this.didFail=!1;let l=!$e;this.excludes=xR(this.request.path,this.request.excludes,l),this.includes=this.request.includes?xR(this.request.path,this.request.includes,l):void 0,this.filter=qI(this.request)?this.request.filter:void 0,this.ready=this.watch()}static{this.FILE_DELETE_HANDLER_DELAY=100}static{this.FILE_CHANGES_HANDLER_DELAY=75}get isReusingRecursiveWatcher(){return this._isReusingRecursiveWatcher}get failed(){return this.didFail}async watch(){try{let e=await rG.stat(this.request.path);if(this.cts.token.isCancellationRequested)return;await w0(this.doWatch(e.isDirectory()),this._store)}catch(e){e.code!=="ENOENT"?this.error(e):this.trace(`ignoring a path for watching who's stat info failed to resolve: ${this.request.path} (error: ${e})`),this.notifyWatchFailed()}}notifyWatchFailed(){this.didFail=!0,this.onDidWatchFail?.()}async doWatch(e){let n=new $n;try{return await this.doWatchGeneration(e,n),n}catch(o){throw n.dispose(),o}}async doWatchGeneration(e,n){let o=new ie;if(n.value=o,n.value!==o){o.dispose();return}this.doWatchWithExistingWatcher(e,o,n)?(this.trace(`reusing an existing recursive watcher for ${this.request.path}`),this._isReusingRecursiveWatcher=!0):(this._isReusingRecursiveWatcher=!1,await this.doWatchWithNodeJS(e,o,n))}doWatchWithExistingWatcher(e,n,o){if(e)return!1;let i=S.file(this.request.path),s=this.recursiveWatcher?.subscribe(this.request.path,async(a,l)=>{n.isDisposed||(a?await this.doWatchGeneration(e,o):l&&(typeof l.cId=="number"||typeof this.request.correlationId=="number")&&this.onFileChange({resource:i,type:l.type,cId:this.request.correlationId},!0))});return s?(n.add(s),!0):!1}async doWatchWithNodeJS(e,n,o){let i=await this.realPath.value;if(this.cts.token.isCancellationRequested||n.isDisposed)return;if(gt&&pr(i,"/Volumes/",!0)){this.error(`Refusing to watch ${i} for changes using fs.watch() for possibly being a network share where watching is unreliable and unstable.`);return}let s=new wt(this.cts.token);n.add(ce(()=>s.dispose(!0)));let a=new ie;n.add(a);try{let l=S.file(this.request.path),c=ut(i),u=oG(i);a.add(ce(()=>{u.removeAllListeners(),u.close()})),this.trace(`Started watching: '${i}'`);let p=new Set;if(e)try{for(let f of await be.readdir(i))p.add(f)}catch(f){this.error(f)}if(s.token.isCancellationRequested)return;let m=new Map;a.add(ce(()=>{for(let[,f]of m)f.dispose();m.clear()})),u.on("error",(f,h)=>{s.token.isCancellationRequested||(this.error(`Failed to watch ${i} for changes using fs.watch() (${f}, ${h})`),this.notifyWatchFailed())}),u.on("change",(f,h)=>{if(s.token.isCancellationRequested)return;this.verboseLogging&&this.traceWithCorrelation(`[raw] ["${f}"] ${h}`);let v="";if(h&&(v=h.toString(),gt&&(v=Xm(v))),!(!v||f!=="change"&&f!=="rename"))if(e)if(f==="rename"){let I=xo(v)&&Xl(ut(v),c,!$e),E=m.get(v);if(I&&E)return;E?.dispose();let w=setTimeout(async()=>{if(m.delete(v),I){o.clear();let O=await be.exists(i);if(this.cts.token.isCancellationRequested)return;O?await this.doWatchGeneration(!0,o):this.onWatchedPathDeleted(l);return}if(Xl(v,c,!$e)&&!await be.exists(i)){o.clear(),this.onWatchedPathDeleted(l);return}if(s.token.isCancellationRequested)return;let P=await this.existsChildStrictCase(q(i,v));if(s.token.isCancellationRequested)return;let k;P?p.has(v)?k=0:(k=1,p.add(v)):(p.delete(v),k=2),this.onFileChange({resource:ge(l,v),type:k,cId:this.request.correlationId})},r.FILE_DELETE_HANDLER_DELAY);m.set(v,ce(()=>clearTimeout(w)))}else{let I;p.has(v)?I=0:(I=1,p.add(v)),this.onFileChange({resource:ge(l,v),type:I,cId:this.request.correlationId})}else if(f==="rename"||!Xl(v,c,!$e)){let I=setTimeout(async()=>{let E=await be.exists(i);s.token.isCancellationRequested||(E?(o.clear(),this.onFileChange({resource:l,type:0,cId:this.request.correlationId},!0),await this.doWatchGeneration(!1,o)):(o.clear(),this.onWatchedPathDeleted(l)))},r.FILE_DELETE_HANDLER_DELAY);a.clear(),a.add(ce(()=>clearTimeout(I)))}else this.onFileChange({resource:l,type:0,cId:this.request.correlationId},!0)})}catch(l){if(s.token.isCancellationRequested)return;this.error(`Failed to watch ${i} for changes using fs.watch() (${l.toString()})`),this.notifyWatchFailed()}}onWatchedPathDeleted(e){this.warn("Watcher shutdown because watched path got deleted"),this.onFileChange({resource:e,type:2,cId:this.request.correlationId},!0),this.fileChangesAggregator.flush(),this.notifyWatchFailed()}onFileChange(e,n=!1){this.cts.token.isCancellationRequested||(this.verboseLogging&&this.traceWithCorrelation(`${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`),!n&&this.excludes.some(o=>o(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (excluded) ${e.resource.fsPath}`):!n&&this.includes&&this.includes.length>0&&!this.includes.some(o=>o(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (not included) ${e.resource.fsPath}`):this.fileChangesAggregator.work(e))}handleFileChanges(e){let n=_U(e),o=[];for(let s of n){if(MU(s,this.filter)){this.verboseLogging&&this.traceWithCorrelation(` >> ignored (filtered) ${s.resource.fsPath}`);continue}o.push(s)}if(o.length===0)return;if(this.verboseLogging)for(let s of o)this.traceWithCorrelation(` >> normalized ${s.type===1?"[ADDED]":s.type===2?"[DELETED]":"[CHANGED]"} ${s.resource.fsPath}`);this.throttledFileChangesEmitter.work(o)?this.throttledFileChangesEmitter.pending>0&&this.trace(`started throttling events due to large amount of file change events at once (pending: ${this.throttledFileChangesEmitter.pending}, most recent change: ${o[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`):this.warn(`started ignoring events due to too many file change events at once (incoming: ${o.length}, most recent change: ${o[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`)}async existsChildStrictCase(e){if($e)return be.exists(e);try{let n=ut(e);return(await be.readdir(Nt(e))).some(i=>i===n)}catch(n){return this.trace(n),!1}}setVerboseLogging(e){this.verboseLogging=e}error(e){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"error",message:`[File Watcher (node.js)] ${e}`})}warn(e){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"warn",message:`[File Watcher (node.js)] ${e}`})}trace(e){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.onLogMessage?.({type:"trace",message:`[File Watcher (node.js)] ${e}`})}traceWithCorrelation(e){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.trace(`${e}${typeof this.request.correlationId=="number"?` <${this.request.correlationId}> `:""}`)}dispose(){this.cts.dispose(!0),super.dispose()}}});var tb,$U=y(()=>{de();HI();BU();me();qU();Ne();K();tb=class extends ZI{constructor(e){super();this.recursiveWatcher=e;this.onDidError=V.None;this._watchers=new Map;this.worker=this._register(new $n)}get watchers(){return this._watchers.values()}async doWatch(e){e=this.removeDuplicateRequests(e);let n=[],o=new Set(Array.from(this.watchers));for(let i of e){let s=this._watchers.get(this.requestToWatcherKey(i));s&&bR(s.request.excludes,i.excludes)&&bR(s.request.includes,i.includes)?o.delete(s):n.push(i)}n.length&&this.trace(`Request to start watching: ${n.map(i=>this.requestToString(i)).join(",")}`),o.size&&this.trace(`Request to stop watching: ${Array.from(o).map(i=>this.requestToString(i.request)).join(",")}`),this.worker.clear();for(let i of o)this.stopWatching(i);this.createWatchWorker().work(n)}createWatchWorker(){return this.worker.value=new Ld({maxWorkChunkSize:100,throttleDelay:100,maxBufferedWork:Number.MAX_VALUE},e=>{for(let n of e)this.startWatching(n)}),this.worker.value}requestToWatcherKey(e){return typeof e.correlationId=="number"?e.correlationId:this.pathToWatcherKey(e.path)}pathToWatcherKey(e){return $e?e:e.toLowerCase()}startWatching(e){let n=new eb(e,this.recursiveWatcher,i=>this._onDidChangeFile.fire(i),()=>this._onDidWatchFail.fire(e),i=>this._onDidLogMessage.fire(i),this.verboseLogging),o={request:e,instance:n};this._watchers.set(this.requestToWatcherKey(e),o)}async stop(){await super.stop();for(let e of this.watchers)this.stopWatching(e)}stopWatching(e){this.trace("stopping file watcher",e),this._watchers.delete(this.requestToWatcherKey(e.request)),e.instance.dispose()}removeDuplicateRequests(e){let n=new Map;for(let o of e){let i=n.get(o.correlationId);i||(i=new Map,n.set(o.correlationId,i));let s=this.pathToWatcherKey(o.path);i.has(s)&&this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(o)}`),i.set(s,o)}return Array.from(n.values()).flatMap(o=>Array.from(o.values()))}async setVerboseLogging(e){super.setVerboseLogging(e);for(let n of this.watchers)n.instance.setVerboseLogging(e)}trace(e,n){this.verboseLogging&&this._onDidLogMessage.fire({type:"trace",message:this.toMessage(e,n)})}warn(e){this._onDidLogMessage.fire({type:"warn",message:this.toMessage(e)})}toMessage(e,n){return n?`[File Watcher (node.js)] ${e} (${this.requestToString(n.request)})`:`[File Watcher (node.js)] ${e}`}}});var nb,zU=y(()=>{Rc();$U();nb=class extends VI{constructor(t,e,n){super(t,e,n),this.init()}createWatcher(t){return t.add(new tb(void 0))}}});import{constants as Zg,promises as Lu}from"fs";var ds,ef=y(()=>{Ne();Sn();Ke();de();Ii();K();Me();me();bt();rc();go();re();nt();gR();LU();VU();zU();ds=class r extends zI{constructor(){super(...arguments);this.onDidChangeCapabilities=V.None;this.resourceLocks=new tt(e=>Ma.getComparisonKey(e));this.mapHandleToPos=new Map;this.mapHandleToLock=new Map;this.writeHandles=new Map}static{this.TRACE_LOG_RESOURCE_LOCKS=!1}get capabilities(){return this._capabilities||(this._capabilities=1040414,$e&&(this._capabilities|=1024)),this._capabilities}async stat(e){try{let{stat:n,symbolicLink:o}=await wo.stat(this.toFilePath(e)),i;return(n.mode&128)===0&&(i=2),(n.mode&Zg.S_IXUSR||n.mode&Zg.S_IXGRP||n.mode&Zg.S_IXOTH)&&(i=(i??0)|4),{type:this.toType(n,o),ctime:n.birthtime.getTime(),mtime:n.mtime.getTime(),size:n.size,permissions:i}}catch(n){throw this.toFileSystemProviderError(n)}}async statIgnoreError(e){try{return await this.stat(e)}catch{return}}async realpath(e){let n=this.toFilePath(e);return be.realpath(n)}async readdir(e){try{let n=await be.readdir(this.toFilePath(e),{withFileTypes:!0}),o=[];return await Promise.all(n.map(async i=>{try{let s;i.isSymbolicLink()?s=(await this.stat(ge(e,i.name))).type:s=this.toType(i),o.push([i.name,s])}catch(s){this.logService.trace(s)}})),o}catch(n){throw this.toFileSystemProviderError(n)}}toType(e,n){let o;return n?.dangling?o=0:e.isFile()?o=1:e.isDirectory()?o=2:o=0,n&&(o|=64),o}async createResourceLock(e){let n=this.toFilePath(e);this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (${n})`);let o;for(;o=this.resourceLocks.get(e);)this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - waiting for resource lock to be released (${n})`),await o.wait();let i=new Mr;return this.resourceLocks.set(e,i),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - new resource lock created (${n})`),ce(()=>{this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (${n})`),this.resourceLocks.get(e)===i&&(this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (${n})`),this.resourceLocks.delete(e)),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (${n})`),i.open()})}async readFile(e,n){let o;try{n?.atomic&&(this.traceLock(`[Disk FileSystemProvider]: atomic read operation started (${this.toFilePath(e)})`),o=await this.createResourceLock(e));let i=this.toFilePath(e),s=await this.openFileForRead(i);try{return await be.readFile(s)}finally{await be.close(s)}}catch(i){throw this.toFileSystemProviderError(i)}finally{o?.dispose()}}traceLock(e){r.TRACE_LOG_RESOURCE_LOCKS&&this.logService.trace(e)}readFileStream(e,n,o){let i=La(s=>L.concat(s.map(a=>L.wrap(a))).buffer);return NI(this,e,i,s=>s.buffer,{...n,bufferSize:256*1024},o),i}async writeFile(e,n,o){return o?.atomic!==!1&&o?.atomic?.postfix&&await this.canWriteFileAtomic(e)?this.doWriteFileAtomic(e,ge(jm(e),`${An(e)}${o.atomic.postfix}`),n,o):this.doWriteFile(e,n,o)}async canWriteFileAtomic(e){try{let n=this.toFilePath(e),{symbolicLink:o}=await wo.stat(n);if(o)return!1}catch{}return!0}async doWriteFileAtomic(e,n,o,i){let s=new ie;try{s.add(await this.createResourceLock(e)),s.add(await this.createResourceLock(n)),await this.doWriteFile(n,o,{...i,create:!0,overwrite:!0},!0);try{await this.rename(n,e,{overwrite:!0})}catch(a){try{await this.delete(n,{recursive:!1,useTrash:!1,atomic:!1})}catch{}throw a}}finally{s.dispose()}}async doWriteFile(e,n,o,i){let s;try{let a=this.toFilePath(e);if(!o.create||!o.overwrite){if(await be.exists(a)){if(!o.overwrite)throw hr(d(3652,null),"EntryExists")}else if(!o.create)throw hr(d(3656,null),"EntryNotFound")}s=await this.open(e,{create:!0,append:o.append,unlock:o.unlock},i),await this.write(s,0,n,0,n.byteLength)}catch(a){throw await this.toFileSystemProviderWriteError(e,a)}finally{typeof s=="number"&&await this.close(s)}}static{this.canFlush=!0}static configureFlushOnWrite(e){r.canFlush=e}async openFileForRead(e){let n=await be.open(e,te?"r":Zg.O_RDONLY|Zg.O_NONBLOCK);try{let o=await be.fstat(n);if(o.isDirectory())throw hr(d(3653,null),"EntryIsADirectory");if(!o.isFile())throw hr(d(3657,null),"Unavailable");return n}catch(o){try{await be.close(n)}catch(i){this.logService.trace(i)}throw o}}async open(e,n,o){let i=this.toFilePath(e),s;pc(n)&&!o&&(s=await this.createResourceLock(e));let a;try{if(pc(n)&&n.unlock)try{let{stat:l}=await wo.stat(i);l.mode&128||await Lu.chmod(i,l.mode|128)}catch(l){l.code!=="ENOENT"&&this.logService.trace(l)}if(te&&pc(n)&&!n.append)try{a=await be.open(i,"r+"),await be.ftruncate(a,0)}catch(l){if(l.code!=="ENOENT"&&this.logService.trace(l),typeof a=="number"){try{await be.close(a)}catch(c){this.logService.trace(c)}a=void 0}}typeof a!="number"&&(pc(n)?a=await be.open(i,n.append?"a":"w"):a=await this.openFileForRead(i))}catch(l){throw s?.dispose(),pc(n)?await this.toFileSystemProviderWriteError(e,l):this.toFileSystemProviderError(l)}if(this.mapHandleToPos.set(a,0),pc(n)&&this.writeHandles.set(a,e),s){let l=this.mapHandleToLock.get(a);this.traceLock(`[Disk FileSystemProvider]: open() - storing lock for handle ${a} (${i})`),this.mapHandleToLock.set(a,s),l&&(this.traceLock(`[Disk FileSystemProvider]: open() - disposing a previous lock that was still stored on same handle ${a} (${i})`),l.dispose())}return a}async close(e){let n=this.mapHandleToLock.get(e);try{if(this.mapHandleToPos.delete(e),this.writeHandles.delete(e)&&r.canFlush)try{await be.fdatasync(e)}catch(o){r.configureFlushOnWrite(!1),this.logService.error(o)}return await be.close(e)}catch(o){throw this.toFileSystemProviderError(o)}finally{n&&(this.mapHandleToLock.get(e)===n&&(this.traceLock(`[Disk FileSystemProvider]: close() - resource lock removed from handle-lock map ${e}`),this.mapHandleToLock.delete(e)),this.traceLock(`[Disk FileSystemProvider]: close() - disposing lock for handle ${e}`),n.dispose())}}async read(e,n,o,i,s){let a=this.normalizePos(e,n),l=null;try{l=(await be.read(e,o,i,s,a)).bytesRead}catch(c){throw this.toFileSystemProviderError(c)}finally{this.updatePos(e,a,l)}return l}normalizePos(e,n){return n===this.mapHandleToPos.get(e)?null:n}updatePos(e,n,o){let i=this.mapHandleToPos.get(e);typeof i=="number"&&(typeof n=="number"||(typeof o=="number"?this.mapHandleToPos.set(e,i+o):this.mapHandleToPos.delete(e)))}async write(e,n,o,i,s){return pL(()=>this.doWrite(e,n,o,i,s),100,3)}async doWrite(e,n,o,i,s){let a=this.normalizePos(e,n),l=null;try{l=(await be.write(e,o,i,s,a)).bytesWritten}catch(c){throw await this.toFileSystemProviderWriteError(this.writeHandles.get(e),c)}finally{this.updatePos(e,a,l)}return l}async mkdir(e){try{await Lu.mkdir(this.toFilePath(e))}catch(n){throw this.toFileSystemProviderError(n)}}async delete(e,n){try{let o=this.toFilePath(e);if(n.recursive){let i;n?.atomic!==!1&&n.atomic.postfix&&(i=q(Nt(o),`${ut(o)}${n.atomic.postfix}`)),await be.rm(o,1,i)}else try{await Lu.unlink(o)}catch(i){if(i.code==="EPERM"||i.code==="EISDIR"){let s=!1;try{let{stat:a,symbolicLink:l}=await wo.stat(o);s=a.isDirectory()&&!l}catch{}if(s)await Lu.rmdir(o);else throw i}else throw i}}catch(o){throw this.toFileSystemProviderError(o)}}async rename(e,n,o){let i=this.toFilePath(e),s=this.toFilePath(n);if(i!==s)try{await this.validateMoveCopy(e,n,"move",o.overwrite),await be.rename(i,s)}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(d(3658,null,ut(i),ut(Nt(s)),a.toString()))),this.toFileSystemProviderError(a)}}async copy(e,n,o){let i=this.toFilePath(e),s=this.toFilePath(n);if(i!==s)try{await this.validateMoveCopy(e,n,"copy",o.overwrite),await be.copy(i,s,{preserveSymlinks:!0})}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(d(3650,null,ut(i),ut(Nt(s)),a.toString()))),this.toFileSystemProviderError(a)}}async validateMoveCopy(e,n,o,i){let s=this.toFilePath(e),a=this.toFilePath(n),l=!1;if(this.capabilities&1024||(l=Xl(s,a,!0)),l){if(o==="copy")throw hr(d(3651,null),"EntryExists");if(o==="move")return}let u=await this.statIgnoreError(e);if(!u)throw hr(d(3655,null),"EntryNotFound");let p=await this.statIgnoreError(n);if(p){if(!i)throw hr(d(3654,null),"EntryExists");(u.type&1)!==0&&(p.type&1)!==0||await this.delete(n,{recursive:!0,useTrash:!1,atomic:!1})}}async cloneFile(e,n){return this.doCloneFile(e,n,!1)}async doCloneFile(e,n,o){let i=this.toFilePath(e),s=this.toFilePath(n),a=!!(this.capabilities&1024);if(Xl(i,s,!a))return;let l=new ie;try{l.add(await this.createResourceLock(e)),l.add(await this.createResourceLock(n)),o&&await Lu.mkdir(Nt(s),{recursive:!0}),await Lu.copyFile(i,s)}catch(c){if(c.code==="ENOENT"&&!o)return this.doCloneFile(e,n,!0);throw this.toFileSystemProviderError(c)}finally{l.dispose()}}createUniversalWatcher(e,n,o){return new XI(i=>e(i),i=>n(i),o)}createNonRecursiveWatcher(e,n,o){return new nb(i=>e(i),i=>n(i),o)}toFileSystemProviderError(e){if(e instanceof zd)return e;let n=e,o;switch(e.code){case"ENOENT":o="EntryNotFound";break;case"EISDIR":o="EntryIsADirectory";break;case"ENOTDIR":o="EntryNotADirectory";break;case"EEXIST":o="EntryExists";break;case"EPERM":case"EACCES":o="NoPermissions";break;case"ERR_UNC_HOST_NOT_ALLOWED":n=`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`,o="Unknown";break;default:o="Unknown"}return hr(n,o)}async toFileSystemProviderWriteError(e,n){let o=this.toFileSystemProviderError(n);if(e&&o.code==="NoPermissions")try{let{stat:i}=await wo.stat(this.toFilePath(e));i.mode&128||(o=hr(n,"EntryWriteLocked"))}catch(i){this.logService.trace(i)}return o}}});function GU(r){return r.getFullYear()+"-"+String(r.getMonth()+1).padStart(2,"0")+"-"+String(r.getDate()).padStart(2,"0")+"T"+String(r.getHours()).padStart(2,"0")+":"+String(r.getMinutes()).padStart(2,"0")+":"+String(r.getSeconds()).padStart(2,"0")+"."+(r.getMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}var iG,sG,CR,FCe,HCe,WCe,tf,ob=y(()=>{re();ji();me();iG=60,sG=iG*60,CR=sG*24,FCe=CR*7,HCe=CR*30,WCe=CR*365;tf={DateTimeFormat(r,t){return new Kt(()=>{try{return new Intl.DateTimeFormat(r,t)}catch{return new Intl.DateTimeFormat(void 0,t)}})},Collator(r,t){return new Kt(()=>{try{return new Intl.Collator(r,t)}catch{return new Intl.Collator(void 0,t)}})},Segmenter(r,t){return new Kt(()=>{try{return new Intl.Segmenter(r,t)}catch{return new Intl.Segmenter(void 0,t)}})},Locale(r,t){return new Kt(()=>{try{return new Intl.Locale(r,t)}catch{return new Intl.Locale(Gi,t)}})},NumberFormat(r,t){return new Kt(()=>{try{return new Intl.NumberFormat(r,t)}catch{return new Intl.NumberFormat(void 0,t)}})}}});function aG(r,t){return rb(r["inspect-extensions"],r["inspect-brk-extensions"],5870,t,r.debugId,r.extensionEnvironment)}function rb(r,t,e,n,o,i){let a=Number(t||r)||(n?null:e),l=a?!!t:!1,c;if(i)try{c=JSON.parse(i)}catch{}return{port:a,break:l,debugId:o,env:c}}var KU,vt,jU=y(()=>{ob();GI();Ae();Me();cr();bt();oe();KU=/^([^.]+\..+)[:=](.+)$/,vt=class{constructor(t,e,n){this._args=t;this.paths=e;this.productService=n}get appRoot(){return Nt(Dt.asFileUri("").fsPath)}get userHome(){return S.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return S.file(q(this.userDataPath,"User"))}get tmpDir(){return S.file(this.paths.tmpDir)}get cacheHome(){return S.file(this.userDataPath)}get stateResource(){return ge(this.appSettingsHome,"globalStorage","storage.json")}get userRoamingDataHome(){return this.appSettingsHome.with({scheme:B.vscodeUserData})}get userDataSyncHome(){return ge(this.appSettingsHome,"sync")}get logsHome(){if(!this.args.logsPath){let t=GU(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=q(this.userDataPath,"logs",t)}return S.file(this.args.logsPath)}get sync(){return this.args.sync}get workspaceStorageHome(){return ge(this.appSettingsHome,"workspaceStorage")}get localHistoryHome(){return ge(this.appSettingsHome,"History")}get keyboardLayoutResource(){return ge(this.userRoamingDataHome,"keyboardLayout.json")}get argvResource(){let t=zt.VSCODE_PORTABLE;return t?S.file(q(t,"argv.json")):ge(this.appSettingsHome,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return S.file(q(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let t=this.args["builtin-extensions-dir"];return t?qn(t):Mn(q(Dt.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let t=this.args["extensions-download-dir"];return t?S.file(qn(t)):S.file(q(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let t=this.args["extensions-dir"];if(t)return qn(t);let e=zt.VSCODE_EXTENSIONS;if(e)return e;let n=zt.VSCODE_PORTABLE;return n?q(n,"extensions"):ge(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get appSharedDataHome(){let t=this.args["shared-data-dir"];if(t)return S.file(qn(t));let e=zt.VSCODE_PORTABLE;return e?S.file(q(e,"shared-data")):ge(this.userHome,this.productService.sharedDataFolderName)}get extensionDevelopmentLocationURI(){let t=this.args.extensionDevelopmentPath;if(Array.isArray(t))return t.map(e=>/^[^:/?#]+?:\/\//.test(e)?S.parse(e):S.file(Mn(e)))}get extensionDevelopmentKind(){return this.args.extensionDevelopmentKind?.map(t=>t==="ui"||t==="workspace"||t==="web"?t:"workspace")}get extensionTestsLocationURI(){let t=this.args.extensionTestsPath;if(t)return/^[^:/?#]+?:\/\//.test(t)?S.parse(t):S.file(Mn(t))}get disableExtensions(){if(this.args["disable-extensions"])return!0;let t=this.args["disable-extension"];if(t){if(typeof t=="string")return[t];if(Array.isArray(t)&&t.length>0)return t}return!1}get skipBuiltinExtensions(){let t=zt.VSCODE_SKIP_BUILTIN_EXTENSIONS;return t?t.split(",").map(e=>e.trim()).filter(e=>e):[]}get debugExtensionHost(){return aG(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!zt.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(t=>!KU.test(t))}get extensionLogLevel(){let t=[];for(let e of this.args.log||[]){let n=KU.exec(e);n?.[1]&&n[2]&&t.push([n[1],n[2]])}return t.length?t:void 0}get serviceMachineIdResource(){return ge(S.file(this.userDataPath),"machineid")}get crashReporterId(){return this.args["crash-reporter-id"]}get crashReporterDirectory(){return this.args["crash-reporter-directory"]}get disableTelemetry(){return!!this.args["disable-telemetry"]}get disableExperiments(){return!!this.args["disable-experiments"]}get disableWorkspaceTrust(){return!!this.args["disable-workspace-trust"]}get useInMemorySecretStorage(){return!!this.args["use-inmemory-secretstorage"]}get policyFile(){if(this.args["__enable-file-policy"]){let t=zt.VSCODE_PORTABLE;return t?S.file(q(t,"policy.json")):ge(this.userHome,this.productService.dataFolderName,"policy.json")}}get agentSessionsWorkspace(){return ge(this.appSettingsHome,"agent-sessions.code-workspace")}get editSessionId(){return this.args.editSessionId}get exportPolicyData(){return this.args["export-policy-data"]}get exportDefaultKeybindings(){return this.args["export-default-keybindings"]}get continueOn(){return this.args.continueOn}set continueOn(t){this.args.continueOn=t}get args(){return this._args}};C([ot],vt.prototype,"appRoot",1),C([ot],vt.prototype,"userHome",1),C([ot],vt.prototype,"userDataPath",1),C([ot],vt.prototype,"appSettingsHome",1),C([ot],vt.prototype,"tmpDir",1),C([ot],vt.prototype,"cacheHome",1),C([ot],vt.prototype,"stateResource",1),C([ot],vt.prototype,"userRoamingDataHome",1),C([ot],vt.prototype,"userDataSyncHome",1),C([ot],vt.prototype,"sync",1),C([ot],vt.prototype,"workspaceStorageHome",1),C([ot],vt.prototype,"localHistoryHome",1),C([ot],vt.prototype,"keyboardLayoutResource",1),C([ot],vt.prototype,"argvResource",1),C([ot],vt.prototype,"isExtensionDevelopment",1),C([ot],vt.prototype,"untitledWorkspacesHome",1),C([ot],vt.prototype,"builtinExtensionsPath",1),C([ot],vt.prototype,"extensionsDownloadLocation",1),C([ot],vt.prototype,"extensionsPath",1),C([ot],vt.prototype,"appSharedDataHome",1),C([ot],vt.prototype,"extensionDevelopmentLocationURI",1),C([ot],vt.prototype,"extensionDevelopmentKind",1),C([ot],vt.prototype,"extensionTestsLocationURI",1),C([ot],vt.prototype,"debugExtensionHost",1),C([ot],vt.prototype,"logLevel",1),C([ot],vt.prototype,"extensionLogLevel",1),C([ot],vt.prototype,"serviceMachineIdResource",1),C([ot],vt.prototype,"disableTelemetry",1),C([ot],vt.prototype,"disableExperiments",1),C([ot],vt.prototype,"disableWorkspaceTrust",1),C([ot],vt.prototype,"useInMemorySecretStorage",1),C([ot],vt.prototype,"policyFile",1),C([ot],vt.prototype,"agentSessionsWorkspace",1)});import{homedir as QU}from"os";import{resolve as lG,isAbsolute as cG,join as Ou}from"path";function JU(r,t){let e=uG(r,t),n=[e];return cG(e)||n.unshift(dG),lG(...n)}function uG(r,t){process.env.VSCODE_DEV&&(t="code-oss-dev");let e=process.env.VSCODE_PORTABLE;if(e)return Ou(e,"user-data");let n=process.env.VSCODE_APPDATA;if(n)return Ou(n,t);let o=r["user-data-dir"];return o||pG(t)}function pG(r){let t;switch(process.platform){case"win32":if(t=process.env.APPDATA,!t){let e=process.env.USERPROFILE;if(typeof e!="string")throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable");t=Ou(e,"AppData","Roaming")}break;case"darwin":t=Ou(QU(),"Library","Application Support");break;case"linux":t=process.env.XDG_CONFIG_HOME||Ou(QU(),".config");break;default:throw new Error("Platform not supported")}return Ou(t,r)}var dG,YU=y(()=>{dG=process.env.VSCODE_CWD||process.cwd()});import{homedir as mG,tmpdir as gG}from"os";function XU(r,t){return rb(r["inspect-ptyhost"],r["inspect-brk-ptyhost"],5877,t,r.extensionEnvironment)}function ZU(r,t){return rb(r["inspect-agenthost"],r["inspect-brk-agenthost"],5878,t,r.extensionEnvironment)}var ib,sb=y(()=>{jU();YU();ib=class extends vt{constructor(t,e){let n=mG();super(t,{homeDir:n,tmpDir:gG(),userDataDir:JU(t,e.nameShort)},e)}}});function ll(){return ER||(ER=L.alloc(0)),ER}function eF(r){switch(r){case 0:return"None";case 1:return"Regular";case 2:return"Control";case 3:return"Ack";case 5:return"Disconnect";case 6:return"ReplayRequest";case 7:return"PauseWriting";case 8:return"ResumeWriting";case 9:return"KeepAlive"}}var PR,ER,nf,ai,ab,lb,kc,wR,TR,RR,of,cl=y(()=>{Ke();de();K();Ks();(s=>{s.enableDiagnostics=!1,s.records=[];let e=new WeakMap,n=0;function o(a,l){if(!e.has(a)){let c=String(++n);e.set(a,c)}return e.get(a)}function i(a,l,c,u){}s.traceSocketEvent=i})(PR||={});ER=null;nf=class{get byteLength(){return this._totalLength}constructor(){this._chunks=[],this._totalLength=0}acceptChunk(t){this._chunks.push(t),this._totalLength+=t.byteLength}read(t){return this._read(t,!0)}peek(t){return this._read(t,!1)}_read(t,e){if(t===0)return ll();if(t>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===t){let s=this._chunks[0];return e&&(this._chunks.shift(),this._totalLength-=t),s}if(this._chunks[0].byteLength>t){let s=this._chunks[0].slice(0,t);return e&&(this._chunks[0]=this._chunks[0].slice(t),this._totalLength-=t),s}let n=L.alloc(t),o=0,i=0;for(;t>0;){let s=this._chunks[i];if(s.byteLength>t){let a=s.slice(0,t);n.set(a,o),o+=t,e&&(this._chunks[i]=s.slice(t),this._totalLength-=t),t-=t}else n.set(s,o),o+=s.byteLength,e?(this._chunks.shift(),this._totalLength-=s.byteLength):i++,t-=s.byteLength}return n}};ai=class{constructor(t,e,n,o){this.type=t;this.id=e;this.ack=n;this.data=o;this.writtenTime=0}get size(){return this.data.byteLength}},ab=class extends _{constructor(e){super();this._onMessage=this._register(new T);this.onMessage=this._onMessage.event;this._state={readHead:!0,readLen:13,messageType:0,id:0,ack:0};this._socket=e,this._isDisposed=!1,this._incomingData=new nf,this._register(this._socket.onData(n=>this.acceptChunk(n))),this.lastReadTime=Date.now()}acceptChunk(e){if(!(!e||e.byteLength===0))for(this.lastReadTime=Date.now(),this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;){let n=this._incomingData.read(this._state.readLen);if(this._state.readHead)this._state.readHead=!1,this._state.readLen=n.readUInt32BE(9),this._state.messageType=n.readUInt8(0),this._state.id=n.readUInt32BE(1),this._state.ack=n.readUInt32BE(5),this._socket.traceSocketEvent("protocolHeaderRead",{messageType:eF(this._state.messageType),id:this._state.id,ack:this._state.ack,messageSize:this._state.readLen});else{let o=this._state.messageType,i=this._state.id,s=this._state.ack;if(this._state.readHead=!0,this._state.readLen=13,this._state.messageType=0,this._state.id=0,this._state.ack=0,this._socket.traceSocketEvent("protocolMessageRead",n),this._onMessage.fire(new ai(o,i,s,n)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}},lb=class{constructor(t){this._writeNowTimeout=null;this._isDisposed=!1,this._isPaused=!1,this._socket=t,this._data=[],this._totalLength=0,this.lastWriteTime=0}dispose(){try{this.flush()}catch{}this._isDisposed=!0}drain(){return this.flush(),this._socket.drain()}flush(){this._writeNow()}pause(){this._isPaused=!0}resume(){this._isPaused=!1,this._scheduleWriting()}write(t){if(this._isDisposed)return;t.writtenTime=Date.now(),this.lastWriteTime=Date.now();let e=L.alloc(13);e.writeUInt8(t.type,0),e.writeUInt32BE(t.id,1),e.writeUInt32BE(t.ack,5),e.writeUInt32BE(t.data.byteLength,9),this._socket.traceSocketEvent("protocolHeaderWrite",{messageType:eF(t.type),id:t.id,ack:t.ack,messageSize:t.data.byteLength}),this._socket.traceSocketEvent("protocolMessageWrite",t.data),this._writeSoon(e,t.data)}_bufferAdd(t,e){let n=this._totalLength===0;return this._data.push(t,e),this._totalLength+=t.byteLength+e.byteLength,n}_bufferTake(){let t=L.concat(this._data,this._totalLength);return this._data.length=0,this._totalLength=0,t}_writeSoon(t,e){this._bufferAdd(t,e)&&this._scheduleWriting()}_scheduleWriting(){this._writeNowTimeout||(this._writeNowTimeout=setTimeout(()=>{this._writeNowTimeout=null,this._writeNow()}))}_writeNow(){if(this._totalLength===0||this._isPaused)return;let t=this._bufferTake();this._socket.traceSocketEvent("protocolWrite",{byteLength:t.byteLength}),this._socket.write(t)}},kc=class{constructor(){this._hasListeners=!1;this._isDeliveringMessages=!1;this._bufferedMessages=[];this._emitter=new T({onWillAddFirstListener:()=>{this._hasListeners=!0,queueMicrotask(()=>this._deliverMessages())},onDidRemoveLastListener:()=>{this._hasListeners=!1}}),this.event=this._emitter.event}_deliverMessages(){if(!this._isDeliveringMessages){for(this._isDeliveringMessages=!0;this._hasListeners&&this._bufferedMessages.length>0;)this._emitter.fire(this._bufferedMessages.shift());this._isDeliveringMessages=!1}}fire(t){this._hasListeners?this._bufferedMessages.length>0?this._bufferedMessages.push(t):this._emitter.fire(t):this._bufferedMessages.push(t)}flushBuffer(){this._bufferedMessages=[]}},wR=class{constructor(t){this.data=t,this.next=null}},TR=class{constructor(){this._first=null,this._last=null}length(){let t=0,e=this._first;for(;e;)e=e.next,t++;return t}peek(){return this._first?this._first.data:null}toArray(){let t=[],e=0,n=this._first;for(;n;)t[e++]=n.data,n=n.next;return t}pop(){if(this._first){if(this._first===this._last){this._first=null,this._last=null;return}this._first=this._first.next}}push(t){let e=new wR(t);if(!this._first){this._first=e,this._last=e;return}this._last.next=e,this._last=e}},RR=class r{static{this._HISTORY_LENGTH=10}static{this._INSTANCE=null}static getInstance(){return r._INSTANCE||(r._INSTANCE=new r),r._INSTANCE}constructor(){this.lastRuns=[];let t=Date.now();for(let e=0;e<r._HISTORY_LENGTH;e++)this.lastRuns[e]=t-1e3*e;setInterval(()=>{for(let e=r._HISTORY_LENGTH;e>=1;e--)this.lastRuns[e]=this.lastRuns[e-1];this.lastRuns[0]=Date.now()},1e3)}load(){let t=Date.now(),e=(1+r._HISTORY_LENGTH)*1e3,n=0;for(let o=0;o<r._HISTORY_LENGTH;o++)t-this.lastRuns[o]<=e&&n++;return 1-n/r._HISTORY_LENGTH}hasHighLoad(){return this.load()>=.5}},of=class{constructor(t){this._onControlMessage=new kc;this.onControlMessage=this._onControlMessage.event;this._onMessage=new kc;this.onMessage=this._onMessage.event;this._onDidDispose=new kc;this.onDidDispose=this._onDidDispose.event;this._onSocketClose=new kc;this.onSocketClose=this._onSocketClose.event;this._onSocketTimeout=new kc;this.onSocketTimeout=this._onSocketTimeout.event;this._loadEstimator=t.loadEstimator??RR.getInstance(),this._shouldSendKeepAlive=t.sendKeepAlive??!0,this._isReconnecting=!1,this._outgoingUnackMsg=new TR,this._outgoingMsgId=0,this._outgoingAckId=0,this._outgoingAckTimeout=null,this._incomingMsgId=0,this._incomingAckId=0,this._incomingMsgLastTime=0,this._incomingAckTimeout=null,this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socketDisposables=new ie,this._socket=t.socket,this._socketWriter=this._socketDisposables.add(new lb(this._socket)),this._socketReader=this._socketDisposables.add(new ab(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(e=>this._receiveMessage(e))),this._socketDisposables.add(this._socket.onClose(e=>this._onSocketClose.fire(e))),t.initialChunk&&this._socketReader.acceptChunk(t.initialChunk),this._shouldSendKeepAlive?this._keepAliveInterval=setInterval(()=>{this._sendKeepAlive()},5e3):this._keepAliveInterval=null}get unacknowledgedCount(){return this._outgoingMsgId-this._outgoingAckId}dispose(){this._outgoingAckTimeout&&(clearTimeout(this._outgoingAckTimeout),this._outgoingAckTimeout=null),this._incomingAckTimeout&&(clearTimeout(this._incomingAckTimeout),this._incomingAckTimeout=null),this._keepAliveInterval&&(clearInterval(this._keepAliveInterval),this._keepAliveInterval=null),this._socketDisposables.dispose()}drain(){return this._socketWriter.drain()}sendDisconnect(){if(!this._didSendDisconnect){this._didSendDisconnect=!0;let t=new ai(5,0,0,ll());this._socketWriter.write(t),this._socketWriter.flush()}}sendPause(){let t=new ai(7,0,0,ll());this._socketWriter.write(t)}sendResume(){let t=new ai(8,0,0,ll());this._socketWriter.write(t)}pauseSocketWriting(){this._socketWriter.pause()}getSocket(){return this._socket}getMillisSinceLastIncomingData(){return Date.now()-this._socketReader.lastReadTime}beginAcceptReconnection(t,e){this._isReconnecting=!0,this._socketDisposables.dispose(),this._socketDisposables=new ie,this._onControlMessage.flushBuffer(),this._onSocketClose.flushBuffer(),this._onSocketTimeout.flushBuffer(),this._socket.dispose(),this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socket=t,this._socketWriter=this._socketDisposables.add(new lb(this._socket)),this._socketReader=this._socketDisposables.add(new ab(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(n=>this._receiveMessage(n))),this._socketDisposables.add(this._socket.onClose(n=>this._onSocketClose.fire(n))),this._socketReader.acceptChunk(e)}endAcceptReconnection(){this._isReconnecting=!1,this._incomingAckId=this._incomingMsgId;let t=new ai(3,0,this._incomingAckId,ll());this._socketWriter.write(t);let e=this._outgoingUnackMsg.toArray();for(let n=0,o=e.length;n<o;n++)this._socketWriter.write(e[n]);this._recvAckCheck()}acceptDisconnect(){this._onDidDispose.fire()}_receiveMessage(t){if(t.ack>this._outgoingAckId){this._outgoingAckId=t.ack;do{let e=this._outgoingUnackMsg.peek();if(e&&e.id<=t.ack)this._outgoingUnackMsg.pop();else break}while(!0)}switch(t.type){case 0:break;case 1:{if(t.id>this._incomingMsgId)if(t.id!==this._incomingMsgId+1){let e=Date.now();e-this._lastReplayRequestTime>1e4&&(this._lastReplayRequestTime=e,this._socketWriter.write(new ai(6,0,0,ll())))}else this._incomingMsgId=t.id,this._incomingMsgLastTime=Date.now(),this._sendAckCheck(),this._onMessage.fire(t.data);break}case 2:{this._onControlMessage.fire(t.data);break}case 3:break;case 5:{this._onDidDispose.fire();break}case 6:{let e=this._outgoingUnackMsg.toArray();for(let n=0,o=e.length;n<o;n++)this._socketWriter.write(e[n]);this._recvAckCheck();break}case 7:{this._socketWriter.pause();break}case 8:{this._socketWriter.resume();break}case 9:break}}readEntireBuffer(){return this._socketReader.readEntireBuffer()}flush(){this._socketWriter.flush()}send(t){let e=++this._outgoingMsgId;this._incomingAckId=this._incomingMsgId;let n=new ai(1,e,this._incomingAckId,t);this._outgoingUnackMsg.push(n),this._isReconnecting||(this._socketWriter.write(n),this._recvAckCheck())}sendControl(t){let e=new ai(2,0,0,t);this._socketWriter.write(e)}_sendAckCheck(){if(this._incomingMsgId<=this._incomingAckId||this._incomingAckTimeout)return;let t=Date.now()-this._incomingMsgLastTime;if(t>=2e3){this._sendAck();return}this._incomingAckTimeout=setTimeout(()=>{this._incomingAckTimeout=null,this._sendAckCheck()},2e3-t+5)}_recvAckCheck(){if(this._outgoingMsgId<=this._outgoingAckId||this._outgoingAckTimeout||this._isReconnecting)return;let t=this._outgoingUnackMsg.peek(),e=Date.now()-t.writtenTime,n=Date.now()-this._socketReader.lastReadTime,o=Date.now()-this._lastSocketTimeoutTime;if(e>=2e4&&n>=2e4&&o>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=Date.now(),this._onSocketTimeout.fire({reason:"unacknowledgedMessage",unacknowledgedMsgCount:this._outgoingUnackMsg.length(),timeSinceOldestUnacknowledgedMsg:e,timeSinceLastReceivedSomeData:n});return}let i=Math.max(2e4-e,2e4-n,2e4-o,500);this._outgoingAckTimeout=setTimeout(()=>{this._outgoingAckTimeout=null,this._recvAckCheck()},i)}_keepAliveTimeoutCheck(){if(this._isReconnecting)return;let t=Date.now(),e=t-this._socketReader.lastReadTime,n=t-this._lastSocketTimeoutTime;if(e>=2e4&&n>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=t;let o=this._outgoingUnackMsg.length(),i=this._outgoingUnackMsg.peek();this._onSocketTimeout.fire({reason:"keepAlive",unacknowledgedMsgCount:o,timeSinceOldestUnacknowledgedMsg:i?t-i.writtenTime:void 0,timeSinceLastReceivedSomeData:e})}}_sendAck(){if(this._incomingMsgId<=this._incomingAckId)return;this._incomingAckId=this._incomingMsgId;let t=new ai(3,0,this._incomingAckId,ll());this._socketWriter.write(t)}_sendKeepAlive(){this._incomingAckId=this._incomingMsgId;let t=new ai(9,0,this._incomingAckId,ll());this._socketWriter.write(t),this._keepAliveTimeoutCheck()}}});function cb(r){let t={...r};return typeof t["connection-token"]<"u"&&(t["connection-token"]="<redacted>"),typeof t["agent-host-bridge-connection-token"]<"u"&&(t["agent-host-bridge-connection-token"]="<redacted>"),t}function fG(r,t){if(typeof r!="string"||r.trim().length===0)return console.log(`[reconnection-grace-time] No CLI argument provided, using default: ${t}ms (${Math.floor(t/1e3)}s)`),t;let e=Number(r);if(!isFinite(e)||e<0)return console.log(`[reconnection-grace-time] Invalid value '${r}', using default: ${t}ms (${Math.floor(t/1e3)}s)`),t;let n=Math.floor(e*1e3);return!isFinite(n)||n>Number.MAX_SAFE_INTEGER?(console.log(`[reconnection-grace-time] Value too large '${r}', using default: ${t}ms (${Math.floor(t/1e3)}s)`),t):(console.log(`[reconnection-grace-time] Parsed CLI argument: ${e}s -> ${n}ms`),n)}var DR,_R,dl,us,Dc=y(()=>{re();sb();xg();Z();Tn();GI();oe();bt();Me();cl();DR="VSCODE_AGENT_HOST_BRIDGE_CONNECTION_TOKEN";_R={"disable-update-check":{type:"boolean"},auth:{type:"string"},"disable-file-downloads":{type:"boolean"},"disable-file-uploads":{type:"boolean"},"disable-getting-started-override":{type:"boolean"},locale:{type:"string"},"link-protection-trusted-domains":{type:"string[]"},"app-name":{type:"string"},host:{type:"string",cat:"o",args:"ip-address",description:d(4276,null)},port:{type:"string",cat:"o",args:"port | port range",description:d(4277,null)},"socket-path":{type:"string",cat:"o",args:"path",description:d(4281,null)},"server-base-path":{type:"string",cat:"o",args:"path",description:d(4279,null)},"connection-token":{type:"string",cat:"o",args:"token",deprecates:["connectionToken"],description:d(4271,null)},"connection-token-file":{type:"string",cat:"o",args:"path",deprecates:["connection-secret","connectionTokenFile"],description:d(4272,null)},"without-connection-token":{type:"boolean",cat:"o",description:d(4284,null)},"disable-websocket-compression":{type:"boolean"},"print-startup-performance":{type:"boolean"},"print-ip-address":{type:"boolean"},"accept-server-license-terms":{type:"boolean",cat:"o",description:d(4264,null)},"server-data-dir":{type:"string",cat:"o",description:d(4280,null)},"telemetry-level":{type:"string",cat:"o",args:"level",description:d(4283,null)},"user-data-dir":Vt["user-data-dir"],"enable-smoke-test-driver":Vt["enable-smoke-test-driver"],"disable-telemetry":Vt["disable-telemetry"],"disable-experiments":Vt["disable-experiments"],"disable-workspace-trust":Vt["disable-workspace-trust"],"file-watcher-polling":{type:"string",deprecates:["fileWatcherPolling"]},"enable-remote-storage":{type:"boolean",cat:"o",description:d(4275,null)},log:Vt.log,logsPath:Vt.logsPath,"force-disable-user-env":Vt["force-disable-user-env"],"enable-proposed-api":Vt["enable-proposed-api"],folder:{type:"string",deprecationMessage:"No longer supported. Folder needs to be provided in the browser URL or with `default-folder`."},workspace:{type:"string",deprecationMessage:"No longer supported. Workspace needs to be provided in the browser URL or with `default-workspace`."},"default-folder":{type:"string",description:d(4273,null)},"default-workspace":{type:"string",description:d(4274,null)},"enable-sync":{type:"boolean"},"github-auth":{type:"string"},"use-test-resolver":{type:"boolean"},"extensions-dir":Vt["extensions-dir"],"extensions-download-dir":Vt["extensions-download-dir"],"builtin-extensions-dir":Vt["builtin-extensions-dir"],"install-extension":Vt["install-extension"],"install-builtin-extension":Vt["install-builtin-extension"],"update-extensions":Vt["update-extensions"],"uninstall-extension":Vt["uninstall-extension"],"list-extensions":Vt["list-extensions"],"locate-extension":Vt["locate-extension"],"show-versions":Vt["show-versions"],category:Vt.category,force:Vt.force,"do-not-sync":Vt["do-not-sync"],"do-not-include-pack-dependencies":Vt["do-not-include-pack-dependencies"],"pre-release":Vt["pre-release"],"start-server":{type:"boolean",cat:"e",description:d(4282,null)},"enable-remote-auto-shutdown":{type:"boolean"},"remote-auto-shutdown-without-delay":{type:"boolean"},"inspect-ptyhost":{type:"string",allowEmptyValue:!0},"agent-host-port":{type:"string",cat:"o",args:"port",description:d(4270,null)},"agent-host-path":{type:"string",cat:"o",args:"path",description:d(4269,null)},"agent-host-bridge-port":{type:"string",cat:"o",args:"port",description:d(4268,null)},"agent-host-bridge-path":{type:"string",cat:"o",args:"path",description:d(4267,null)},"agent-host-bridge-host":{type:"string",cat:"o",args:"host",description:d(4266,null)},"agent-host-bridge-connection-token":{type:"string",cat:"o",args:"token",description:d(4265,null)},"use-host-proxy":{type:"boolean"},"without-browser-env-var":{type:"boolean"},"reconnection-grace-time":{type:"string",cat:"o",args:"seconds",description:d(4278,null)},help:Vt.help,version:Vt.version,"locate-shell-integration-path":Vt["locate-shell-integration-path"],compatibility:{type:"string"},_:Vt._},dl=_t,us=class extends ib{get userRoamingDataHome(){return this.appSettingsHome}get machineSettingsResource(){return ge(S.file(q(this.userDataPath,"Machine")),"settings.json")}get mcpResource(){return ge(S.file(q(this.userDataPath,"User")),"mcp.json")}get args(){return super.args}get reconnectionGraceTime(){return fG(this.args["reconnection-grace-time"],108e5)}};C([ot],us.prototype,"userRoamingDataHome",1),C([ot],us.prototype,"machineSettingsResource",1),C([ot],us.prototype,"mcpResource",1),C([ot],us.prototype,"reconnectionGraceTime",1)});var hG,tF,ul,MR=y(()=>{Zt();Ee();Ae();bt();Xa();oe();re();ko();ri();jn();On();hG=r=>d(3553,null,r),tF=d(3566,null,"ms-dotnettools.csharp"),ul=class{constructor(t,e,n,o,i){this.extensionsForceVersionByQuality=t;this.logger=e;this.extensionManagementService=n;this.extensionGalleryService=o;this.productService=i;this.extensionsForceVersionByQuality=this.extensionsForceVersionByQuality.map(s=>s.toLowerCase())}get location(){}async listExtensions(t,e,n){let o=await this.extensionManagementService.getInstalled(1,n),i=Zy.map(a=>a.toLowerCase());if(e&&e!==""){if(i.indexOf(e.toLowerCase())<0){this.logger.info("Invalid category please enter a valid category. To list valid categories run --category without a category specified");return}o=o.filter(a=>a.manifest.categories?a.manifest.categories.map(c=>c.toLowerCase()).indexOf(e.toLowerCase())>-1:!1)}else if(e===""){this.logger.info("Possible Categories: "),i.forEach(a=>{this.logger.info(a)});return}this.location&&this.logger.info(d(3552,null,this.location)),o=o.sort((a,l)=>a.identifier.id.localeCompare(l.identifier.id));let s;for(let a of o)s!==a.identifier.id&&(s=a.identifier.id,this.logger.info(t?`${s}@${a.manifest.version}`:s))}async installExtensions(t,e,n,o){let i=[];try{t.length&&this.logger.info(this.location?d(3551,null,this.location):d(3550,null));let s=[],a=[],l=(u,p,m)=>{this.extensionsForceVersionByQuality?.some(f=>f===u.toLowerCase())&&(p=this.productService.quality!=="stable"?"prerelease":void 0),a.push({id:u,version:p!=="prerelease"?p:void 0,installOptions:{...n,isBuiltin:m,installPreReleaseVersion:p==="prerelease"||n.installPreReleaseVersion}})};for(let u of t)if(u instanceof S)s.push({vsix:u,installOptions:n});else{let[p,m]=Lg(u);l(p,m,!1)}for(let u of e)if(u instanceof S)s.push({vsix:u,installOptions:{...n,isBuiltin:!0,donotIncludePackAndDependencies:!0}});else{let[p,m]=Lg(u);l(p,m,!0)}let c=await this.extensionManagementService.getInstalled(void 0,n.profileLocation);if(s.length&&await Promise.all(s.map(async({vsix:u,installOptions:p})=>{try{await this.installVSIX(u,p,o,c)}catch(m){this.logger.error(m),i.push(u.toString())}})),a.length){let u=await this.installGalleryExtensions(a,c,o);i.push(...u)}}catch(s){throw this.logger.error(d(3540,null,ye(s))),s}if(i.length)throw new Error(d(3545,null,i.join(", ")))}async updateExtensions(t){let e=await this.extensionManagementService.getInstalled(1,t),n=[];for(let a of e)a.identifier.uuid&&n.push({...a.identifier,preRelease:a.preRelease});this.logger.trace(d(3564,null,n.length));let o=await this.extensionGalleryService.getExtensions(n,{compatible:!0},Pe.None),i=[];for(let a of o)for(let l of e)ke(l.identifier,a.identifier)&&ns(a.version,l.manifest.version)&&i.push({extension:a,options:{operation:3,installPreReleaseVersion:l.preRelease,profileLocation:t,isApplicationScoped:l.isApplicationScoped}});if(!i.length){this.logger.info(d(3563,null));return}this.logger.info(d(3562,null,i.map(a=>a.extension.identifier.id).join(", ")));let s=await this.extensionManagementService.installGalleryExtensions(i);for(let a of s)a.error?this.logger.error(d(3542,null,a.identifier.id,ye(a.error))):this.logger.info(d(3559,null,a.identifier.id,a.local?.manifest.version))}async installGalleryExtensions(t,e,n){if(t=t.filter(a=>{let{id:l,version:c,installOptions:u}=a,p=e.find(m=>ke(m.identifier,{id:l}));if(p){let m=this.validateBuiltinExtensionEnabledWithAutoUpdates(p);if(m)return this.logger.info(m),!1;if(!n&&(!c||c==="prerelease"&&p.preRelease))return this.logger.info(d(3536,null,l,p.manifest.version,l)),!1;if(c&&p.manifest.version===c)return this.logger.info(d(3535,null,`${l}@${c}`)),!1;p.preRelease&&c!=="prerelease"&&(u.preRelease=!1)}return!0}),!t.length)return[];let o=[],i=[],s=await this.getGalleryExtensions(t);if(await Promise.all(t.map(async({id:a,version:l,installOptions:c})=>{let u=s.get(a.toLowerCase());if(!u){this.logger.error(`${hG(l?`${a}@${l}`:a)}
${tF}`),o.push(a);return}try{let m=await this.extensionGalleryService.getManifest(u,Pe.None);if(m&&!this.validateExtensionKind(m))return}catch(m){this.logger.error(m.message||m.stack||m),o.push(a);return}let p=e.find(m=>ke(m.identifier,u.identifier));if(p){if(u.version===p.manifest.version){this.logger.info(d(3535,null,l?`${a}@${l}`:a));return}this.logger.info(d(3565,null,a,u.version))}c.isBuiltin?this.logger.info(l?d(3548,null,a,l):d(3547,null,a)):this.logger.info(l?d(3549,null,a,l):d(3546,null,a)),i.push({extension:u,options:{...c,installGivenVersion:!!l,isApplicationScoped:c.isApplicationScoped||p?.isApplicationScoped}})})),i.length){let a=await this.extensionManagementService.installGalleryExtensions(i);for(let l of a)l.error?(this.logger.error(d(3541,null,l.identifier.id,ye(l.error))),o.push(l.identifier.id)):this.logger.info(d(3556,null,l.identifier.id,l.local?.manifest.version))}return o}async installVSIX(t,e,n,o){let i=await this.extensionManagementService.getManifest(t);if(!i)throw new Error("Invalid vsix");if(await this.validateVSIX(i,n,e.profileLocation,o))try{await this.extensionManagementService.install(t,{...e,installGivenVersion:!0}),this.logger.info(d(3560,null,An(t)))}catch(a){if(on(a))this.logger.info(d(3539,null,An(t)));else throw a}}async getGalleryExtensions(t){let e=new Map,n=t.some(s=>s.installOptions.installPreReleaseVersion),o=await this.extensionManagementService.getTargetPlatform(),i=[];for(let s of t)Dg.test(s.id)&&i.push({...s,preRelease:n});if(i.length){let s=await this.extensionGalleryService.getExtensions(i,{targetPlatform:o},Pe.None);for(let a of s)e.set(a.identifier.id.toLowerCase(),a)}return e}validateExtensionKind(t){return!0}async validateVSIX(t,e,n,o){let i={id:Do(t.publisher,t.name)},s=o.find(a=>ke(i,a.identifier));if(s){let a=this.validateBuiltinExtensionEnabledWithAutoUpdates(s);if(a)return this.logger.info(a),!1;if(!e&&ns(s.manifest.version,t.version))return this.logger.info(d(3543,null,s.identifier.id,s.manifest.version,t.version)),!1}return this.validateExtensionKind(t)}async uninstallExtensions(t,e,n){let o=async s=>{if(s instanceof S){let a=await this.extensionManagementService.getManifest(s);return cu(a.publisher,a.name)}return s},i=[];for(let s of t){let a=await o(s),c=(await this.extensionManagementService.getInstalled(void 0,n)).filter(u=>ke(u.identifier,{id:a}));if(!c.length)throw new Error(`${this.notInstalled(a)}
${tF}`);if(c.some(u=>u.type===0)){this.logger.info(d(3537,null,a));return}if(!e&&c.some(u=>u.isBuiltin)){this.logger.info(d(3544,null,a));return}this.logger.info(d(3561,null,a));for(let u of c)await this.extensionManagementService.uninstall(u,{profileLocation:n}),i.push(u);this.location?this.logger.info(d(3558,null,a,this.location)):this.logger.info(d(3557,null,a))}}async locateExtension(t){let e=await this.extensionManagementService.getInstalled();t.forEach(n=>{e.forEach(o=>{if(o.identifier.id===n&&o.location.scheme===B.file){this.logger.info(o.location.fsPath);return}})})}notInstalled(t){return this.location?d(3555,null,t,this.location):d(3554,null,t)}validateBuiltinExtensionEnabledWithAutoUpdates(t){if(t.isBuiltin&&this.productService.builtInExtensionsEnabledWithAutoUpdates.some(e=>e.toLowerCase()===t.identifier.id.toLowerCase())&&!t.forceAutoUpdate)return d(3538,null,t.identifier.id,this.productService.quality)}};ul=C([b(2,au),b(3,ho),b(4,He)],ul)});function vG(r){return r.tags.find(t=>t.startsWith("lp-"))?.split("lp-")[1]}var Uu,Nu,db=y(()=>{Zt();K();me();re();ko();Z();Uu=D("languagePackService"),Nu=class extends _{constructor(e){super();this.extensionGalleryService=e}async getAvailableLanguages(){let e=new wt;setTimeout(()=>e.cancel(),1e3);let n;try{n=await this.extensionGalleryService.query({text:'category:"language packs"',pageSize:20},e.token)}catch{return[]}let i=n.firstPage.filter(s=>s.properties.localizedLanguages?.length&&s.tags.some(a=>a.startsWith("lp-"))).map(s=>{let a=s.properties.localizedLanguages?.[0],l=vG(s);return{...this.createQuickPickItem(l,a,s),extensionId:s.identifier.id,galleryExtension:s}});return i.push(this.createQuickPickItem("en","English")),i}createQuickPickItem(e,n,o){let i=n??e,s;if(i!==e&&(s=`(${e})`),e.toLowerCase()===pn.toLowerCase()&&(s??="",s+=d(3669,null)),o?.installCount){s??="";let a=o.installCount,l;a>1e6?l=`${Math.floor(a/1e5)/10}M`:a>1e3?l=`${Math.floor(a/1e3)}K`:l=String(a),s+=` $(cloud-download) ${l}`}return{id:e,label:i,description:s}}};Nu=C([b(0,ho)],Nu)});import*as nF from"fs";import{createHash as yG}from"crypto";function IG(r){if(typeof r.languageId!="string"||!Array.isArray(r.translations)||r.translations.length===0)return!1;for(let t of r.translations)if(typeof t.id!="string"||typeof t.path!="string")return!1;return!(r.languageName&&typeof r.languageName!="string"||r.localizedLanguageName&&typeof r.localizedLanguageName!="string")}var pl,rf,AR=y(()=>{At();Ne();K();Ae();Me();go();Tn();ko();ri();De();db();oe();pl=class extends Nu{constructor(e,n,o,i){super(o);this.extensionManagementService=e;this.logService=i;this.cache=this._register(new rf(n,i)),this.extensionManagementService.registerParticipant({postInstall:async s=>this.postInstallExtension(s),postUninstall:async s=>this.postUninstallExtension(s)})}async getBuiltInExtensionTranslationsUri(e,n){let i=(await this.cache.getLanguagePacks())[n];if(!i){this.logService.warn(`No language pack found for ${n}`);return}let s=i.translations[e];return s?S.file(s):void 0}async getInstalledLanguages(){let e=await this.cache.getLanguagePacks(),n=Object.keys(e).map(o=>{let i=e[o];return{...this.createQuickPickItem(o,i.label),extensionId:i.extensions[0].extensionIdentifier.id}});return n.push(this.createQuickPickItem("en","English")),n.sort((o,i)=>o.label.localeCompare(i.label)),n}async postInstallExtension(e){e&&e.manifest&&e.manifest.contributes&&e.manifest.contributes.localizations&&e.manifest.contributes.localizations.length&&(this.logService.info("Adding language packs from the extension",e.identifier.id),await this.update())}async postUninstallExtension(e){let n=await this.cache.getLanguagePacks();Object.keys(n).some(o=>n[o]&&n[o].extensions.some(i=>ke(i.extensionIdentifier,e.identifier)))&&(this.logService.info("Removing language packs from the extension",e.identifier.id),await this.update())}async update(){let[e,n]=await Promise.all([this.cache.getLanguagePacks(),this.extensionManagementService.getInstalled()]),o=await this.cache.update(n);return!Gt(Object.keys(e),Object.keys(o))}};pl=C([b(0,au),b(1,wn),b(2,ho),b(3,z)],pl);rf=class extends _{constructor(e,n){super();this.logService=n;this.languagePacks={};this.languagePacksFilePath=q(e.userDataPath,"languagepacks.json"),this.languagePacksFileLimiter=new Ar}getLanguagePacks(){return this.languagePacksFileLimiter.size||!this.initializedCache?this.withLanguagePacks().then(()=>this.languagePacks):Promise.resolve(this.languagePacks)}update(e){return this.withLanguagePacks(n=>{Object.keys(n).forEach(o=>delete n[o]),this.createLanguagePacksFromExtensions(n,...e)}).then(()=>this.languagePacks)}createLanguagePacksFromExtensions(e,...n){for(let o of n)o&&o.manifest&&o.manifest.contributes&&o.manifest.contributes.localizations&&o.manifest.contributes.localizations.length&&this.createLanguagePacksFromExtension(e,o);Object.keys(e).forEach(o=>this.updateHash(e[o]))}createLanguagePacksFromExtension(e,n){let o=n.identifier,i=n.manifest.contributes&&n.manifest.contributes.localizations?n.manifest.contributes.localizations:[];for(let s of i)if(n.location.scheme===B.file&&IG(s)){let a=e[s.languageId];a||(a={hash:"",extensions:[],translations:{},label:s.localizedLanguageName??s.languageName},e[s.languageId]=a);let l=a.extensions.filter(c=>ke(c.extensionIdentifier,o))[0];l?l.version=n.manifest.version:a.extensions.push({extensionIdentifier:o,version:n.manifest.version});for(let c of s.translations)a.translations[c.id]=q(n.location.fsPath,c.path)}}updateHash(e){if(e){let n=yG("md5");for(let o of e.extensions)n.update(o.extensionIdentifier.uuid||o.extensionIdentifier.id).update(o.version);e.hash=n.digest("hex")}}withLanguagePacks(e=()=>null){return this.languagePacksFileLimiter.queue(()=>{let n=null;return nF.promises.readFile(this.languagePacksFilePath,"utf8").then(void 0,o=>o.code==="ENOENT"?Promise.resolve("{}"):Promise.reject(o)).then(o=>{try{return JSON.parse(o)}catch{return{}}}).then(o=>(n=e(o),o)).then(o=>{for(let s of Object.keys(o))o[s]||delete o[s];this.languagePacks=o,this.initializedCache=!0;let i=JSON.stringify(this.languagePacks);return this.logService.debug("Writing language packs",i),be.writeFile(this.languagePacksFilePath,i)}).then(()=>n,o=>this.logService.error(o))})}};rf=C([b(0,wn),b(1,z)],rf)});var Fu,oF=y(()=>{Zt();Ae();nt();Ti();Fu=class{constructor(t,e){this.requestService=t;this.fileService=e}async download(t,e,n,o=Pe.None){if(t.scheme===B.file||t.scheme===B.vscodeRemote){await this.fileService.copy(t,e);return}let i={type:"GET",url:t.toString(!0),callSite:n},s=await this.requestService.request(i,o);if(s.res.statusCode===200)await this.fileService.writeFile(e,s.stream);else{let a=await es(s);throw new Error(`Expected 200, got back ${s.res.statusCode} instead.
${a}`)}}};Fu=C([b(0,oo),b(1,Oe)],Fu)});function li(r,t,e){t instanceof pt||(t=new pt(t,[],!!e)),bG.push([r,t])}var bG,_c=y(()=>{ug();bG=[]});var ub,js,LR=y(()=>{io();oe();_c();nt();bt();de();K();At();ub=class r{constructor(t){this.uri=t;this.time=r._clock++}static{this._clock=0}touch(){return this.time=r._clock++,this}},js=class{constructor(t){this._fileService=t;this._dispooables=new ie;this._limit=2**16;let e=new Map,n=o=>{let i=e.get(o.scheme);return i===void 0&&(i=t.hasProvider(o)&&!this._fileService.hasCapability(o,1024),e.set(o.scheme,i)),i};this._dispooables.add(V.any(t.onDidChangeFileSystemProviderRegistrations,t.onDidChangeFileSystemProviderCapabilities)(o=>{if(e.get(o.scheme)===void 0)return;e.delete(o.scheme);let s=n(S.from({scheme:o.scheme}));if(s!==s)for(let[a,l]of this._canonicalUris.entries())l.uri.scheme===o.scheme&&this._canonicalUris.delete(a)})),this.extUri=new ec(n),this._canonicalUris=new Map}dispose(){this._dispooables.dispose(),this._canonicalUris.clear()}asCanonicalUri(t){this._fileService.hasProvider(t)&&(t=fw(t));let e=this.extUri.getComparisonKey(t,!0),n=this._canonicalUris.get(e);return n?n.touch().uri.with({fragment:t.fragment}):(this._canonicalUris.set(e,new ub(t)),this._checkTrim(),t)}_checkTrim(){if(this._canonicalUris.size<this._limit)return;ub._clock=1;let t=[...this._canonicalUris.values()].map(n=>n.time),e=Bv(Math.floor(t.length/2),t,(n,o)=>n-o);for(let[n,o]of this._canonicalUris.entries())o.time<=e?this._canonicalUris.delete(n):o.time=0}};js=C([b(0,Oe)],js);li(ze,js,1)});import{promises as pb}from"fs";import*as mb from"path";async function af(r,t){if(!je.commit||!await be.exists(rF))return{userLocale:"en",osLocale:"en",resolvedLanguage:"en",defaultMessagesFile:rF,locale:"en",availableLanguages:{}};let e=`${r}||${t}`,n=OR.get(e);return n||(n=eg({userLocale:r,osLocale:r,commit:je.commit,nlsMetadataHash:je.nlsMetadataHash,userDataPath:t,nlsMetadataPath:iF}),OR.set(e,n),n.then(o=>{!r.startsWith("en")&&o.resolvedLanguage.startsWith("en")&&OR.delete(e)})),n}async function aF(r,t){if(r.startsWith("en"))return"";let e=await af(r,t),n=e?.languagePack?.messagesFile,o=e?.resolvedLanguage;if(!n||!o)return"";let i=mb.join(mb.dirname(n),"nls.messages.js");try{return await pb.stat(i),i}catch(l){if(l.code!=="ENOENT")throw l}let a=`globalThis._VSCODE_NLS_MESSAGES=${(await pb.readFile(n)).toString()};
globalThis._VSCODE_NLS_LANGUAGE=${JSON.stringify(o)};`;return await pb.writeFile(i,a,"utf-8"),i}var iF,rF,OR,sF,SG,gb=y(()=>{Ae();Me();Cw();go();xi();iF=q(Dt.asFileUri("").fsPath),rF=q(iF,"nls.messages.json"),OR=new Map;sF=async r=>{try{let t=SG(await pb.readFile(r,"utf8"));return JSON.parse(t).locale}catch(t){return t.code!=="ENOENT"&&console.warn(t),"en"}},SG=r=>{let t=/('(?:[^\\']*(?:\\.)?)*')|('(?:[^\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g;return r.replace(t,(e,n,o,i,s)=>{if(i)return"";if(s){let a=s.length;return a>2&&s[a-1]===`
`?s[a-2]==="\r"?`\r
`:`
`:""}else return e})}});var ml,NR=y(()=>{bt();oe();Tn();Ec();Cu();nt();Z();De();On();io();vo();gb();ml=class extends bu{constructor(e,n,o,i,s,a,l,c){super(S.file(s.builtinExtensionsPath),S.file(s.extensionsPath),ge(s.userHome,".vscode-oss-dev","extensions","control.json"),e.defaultProfile,e,n,o,i,s,a,l,c);this.nativeEnvironmentService=s}async getTranslations(e){let n=await af(e,this.nativeEnvironmentService.userDataPath);if(n.languagePack)try{let o=await this.fileService.readFile(S.file(n.languagePack.translationsConfigFile));return JSON.parse(o.value.toString())}catch{}return Object.create(null)}};ml=C([b(0,Ft),b(1,yr),b(2,Oe),b(3,z),b(4,wn),b(5,He),b(6,ze),b(7,Ln)],ml)});var lF,fb,UR=y(()=>{Z();lF=D("stateReadService"),fb=D("stateService")});var FR,lf,hb,cF=y(()=>{Ne();Ke();K();we();Tn();nt();De();FR=class extends _{constructor(e,n,o,i){super();this.storagePath=e;this.logService=o;this.fileService=i;this.storage=Object.create(null);this.lastSavedStorageContents="";this.initializing=void 0;this.closing=void 0;this.flushDelayer=this._register(new _r(n===0?0:100))}init(){return this.initializing||(this.initializing=this.doInit()),this.initializing}async doInit(){try{this.lastSavedStorageContents=(await this.fileService.readFile(this.storagePath)).value.toString(),this.storage=JSON.parse(this.lastSavedStorageContents)}catch(e){e.fileOperationResult!==1&&this.logService.error(e)}}getItem(e,n){let o=this.storage[e];return qt(o)?n:o}setItem(e,n){this.setItems([{key:e,data:n}])}setItems(e){let n=!1;for(let{key:o,data:i}of e)this.storage[o]!==i&&(qt(i)?Wn(this.storage[o])||(this.storage[o]=void 0,n=!0):(this.storage[o]=i,n=!0));n&&this.save()}removeItem(e){Wn(this.storage[e])||(this.storage[e]=void 0,this.save())}async save(){if(!this.closing)return this.flushDelayer.trigger(()=>this.doSave())}async doSave(){if(!this.initializing)return;await this.initializing;let e=JSON.stringify(this.storage,null,4);if(e!==this.lastSavedStorageContents)try{await this.fileService.writeFile(this.storagePath,L.fromString(e),{atomic:{postfix:".vsctmp"}}),this.lastSavedStorageContents=e}catch(n){this.logService.error(n)}}async close(){return this.closing||(this.closing=this.flushDelayer.trigger(()=>this.doSave(),0)),this.closing}},lf=class extends _{constructor(t,e,n,o){super(),this.fileStorage=this._register(new FR(e.stateResource,t,n,o))}async init(){await this.fileStorage.init()}getItem(t,e){return this.fileStorage.getItem(t,e)}};lf=C([b(1,_t),b(2,z),b(3,Oe)],lf);hb=class extends lf{setItem(t,e){this.fileStorage.setItem(t,e)}setItems(t){this.fileStorage.setItems(t)}removeItem(t){this.fileStorage.removeItem(t)}close(){return this.fileStorage.close()}}});var gl,ci,fl,vb=y(()=>{oe();Tn();nt();De();UR();io();vo();we();cF();gl=class extends uu{constructor(e,n,o,i,s){super(o,i,n,s);this.stateReadonlyService=e;this.nativeEnvironmentService=o}getStoredProfiles(){return this.stateReadonlyService.getItem(gl.PROFILES_KEY,[]).map(n=>({...n,location:j(n.location)?this.uriIdentityService.extUri.joinPath(this.profilesHome,n.location):S.revive(n.location)}))}getStoredProfileAssociations(){return this.stateReadonlyService.getItem(gl.PROFILE_ASSOCIATIONS_KEY,{})}getDefaultProfileExtensionsLocation(){return this.uriIdentityService.extUri.joinPath(S.file(this.nativeEnvironmentService.extensionsPath).with({scheme:this.profilesHome.scheme}),"extensions.json")}};gl=C([b(0,lF),b(1,ze),b(2,wn),b(3,Oe),b(4,z)],gl);ci=class extends gl{constructor(e,n,o,i,s){super(e,n,o,i,s);this.stateService=e}saveStoredProfiles(e){e.length?this.stateService.setItem(ci.PROFILES_KEY,e.map(n=>({...n,location:this.uriIdentityService.extUri.relativePath(this.profilesHome,n.location)}))):this.stateService.removeItem(ci.PROFILES_KEY)}saveStoredProfileAssociations(e){e.emptyWindows||e.workspaces?this.stateService.setItem(ci.PROFILE_ASSOCIATIONS_KEY,e):this.stateService.removeItem(ci.PROFILE_ASSOCIATIONS_KEY)}};ci=C([b(0,fb),b(1,ze),b(2,wn),b(3,Oe),b(4,z)],ci);fl=class extends ci{constructor(t,e,n,o){super(new hb(0,e,o,n),t,e,n,o)}async init(){return await this.stateService.init(),super.init()}};fl=C([b(0,ze),b(1,wn),b(2,Oe),b(3,z)],fl)});var hl,HR=y(()=>{De();vo();io();Ec();nt();Tn();oe();hl=class extends Iu{constructor(t,e,n,o,i){super(S.file(t.extensionsPath),e,n,o,i)}};hl=C([b(0,wn),b(1,Oe),b(2,Ft),b(3,ze),b(4,z)],hl)});var Hu,WR=y(()=>{K();De();Hu=class extends _{constructor(t,e=[]){super(),this.logger=new hy([t,...e]),this._register(t.onDidChangeLogLevel(n=>this.setLevel(n)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(t){this.logger.setLevel(t)}getLevel(){return this.logger.getLevel()}trace(t,...e){this.logger.trace(t,...e)}debug(t,...e){this.logger.debug(t,...e)}info(t,...e){this.logger.info(t,...e)}warn(t,...e){this.logger.warn(t,...e)}error(t,...e){this.logger.error(t,...e)}flush(){this.logger.flush()}}});async function xG(r,t,e,n,o){try{let i=await import("@vscode/spdlog");i.setFlushOn(0);let s=await i.createAsyncRotatingLogger(r,t,e,n);return o?s.clearFormatters():s.setPattern("%Y-%m-%d %H:%M:%S.%e [%l] %v"),s}catch(i){console.error(i)}return null}function dF(r,t,e){switch(t){case 1:r.trace(e);break;case 2:r.debug(e);break;case 3:r.info(e);break;case 4:r.warn(e);break;case 5:r.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${t}`)}}function uF(r,t){switch(t){case 1:r.setLevel(0);break;case 2:r.setLevel(1);break;case 3:r.setLevel(2);break;case 4:r.setLevel(3);break;case 5:r.setLevel(4);break;case 0:r.setLevel(6);break;default:throw new Error(`Invalid log level ${t}`)}}var yb,pF=y(()=>{nt();De();yb=class extends ag{constructor(e,n,o,i,s){super();this.buffer=[];this.setLevel(s),this._loggerCreationPromise=this._createSpdLogLogger(e,n,o,i),this._register(this.onDidChangeLogLevel(a=>{this._logger&&uF(this._logger,a)}))}async _createSpdLogLogger(e,n,o,i){let s=o?6:1,a=30/s*Ei.MB,l=await xG(e,n,a,s,i);if(l){this._logger=l,uF(this._logger,this.getLevel());for(let{level:c,message:u}of this.buffer)dF(this._logger,c,u);this.buffer=[]}}log(e,n){this._logger?dF(this._logger,e,n):this.getLevel()<=e&&this.buffer.push({level:e,message:n})}flush(){this._logger?this.flushLogger():this._loggerCreationPromise.then(()=>this.flushLogger())}dispose(){this._logger?this.disposeLogger():this._loggerCreationPromise.then(()=>this.disposeLogger()),super.dispose()}flushLogger(){this._logger&&this._logger.flush()}disposeLogger(){this._logger&&(this._logger.drop(),this._logger=void 0)}}});var Wu,VR=y(()=>{nn();De();pF();Wu=class extends lg{doCreateLogger(t,e,n){return new yb(Se(),t.fsPath,!n?.donotRotate,!!n?.donotUseFormatters,e)}}});function CG(){return process.uncHostAllowlist}function cf(r){if(process.platform!=="win32")return;let t=CG();if(t)if(typeof r=="string")t.add(r.toLowerCase());else for(let e of EG(r))cf(e)}function EG(r){let t=new Set;if(Array.isArray(r))for(let e of r)typeof e=="string"&&t.add(e);return Array.from(t)}function Ib(){process.platform==="win32"&&(process.restrictUNCAccess=!1)}var BR=y(()=>{});function wG(r){return r.type==="gallery"}function TG(r){return r.type===1||r.type===0}var RG,vl,qR=y(()=>{K();re();ko();jn();On();_i();tn();we();de();RG=/^(?<version>\d+\.\d+\.\d+(-.*)?)(@(?<platform>.+))?$/,vl=class extends _{constructor(e,n){super();this.configurationService=n;this._onDidChangeAllowedExtensions=this._register(new T);this.onDidChangeAllowedExtensionsConfigValue=this._onDidChangeAllowedExtensions.event;this.publisherOrgs=e.extensionPublisherOrgs?.map(o=>o.toLowerCase())??[],this._allowedExtensionsConfigValue=this.getAllowedExtensionsValue(),this._register(this.configurationService.onDidChangeConfiguration(o=>{o.affectsConfiguration(Mg)&&(this._allowedExtensionsConfigValue=this.getAllowedExtensionsValue(),this._onDidChangeAllowedExtensions.fire())}))}get allowedExtensionsConfigValue(){return this._allowedExtensionsConfigValue}getAllowedExtensionsValue(){let e=this.configurationService.getValue(Mg);if(!_e(e)||Array.isArray(e))return;let n=Object.entries(e).map(([o,i])=>[o.toLowerCase(),i]);if(!(n.length===1&&n[0][0]==="*"&&n[0][1]===!0))return Object.fromEntries(n)}isAllowed(e){if(!this._allowedExtensionsConfigValue)return!0;let n,o,i,s,a,l;wG(e)?(n=e.identifier.id.toLowerCase(),o=e.version,s=e.properties.isPreReleaseVersion,a=e.publisher.toLowerCase(),l=e.publisherDisplayName.toLowerCase(),i=e.properties.targetPlatform):TG(e)?(n=e.identifier.id.toLowerCase(),o=e.manifest.version,s=e.preRelease,a=e.manifest.publisher.toLowerCase(),l=e.publisherDisplayName?.toLowerCase(),i=e.targetPlatform):(n=e.id.toLowerCase(),o=e.version??"*",i=e.targetPlatform??"universal",s=e.prerelease??!1,a=e.id.substring(0,e.id.indexOf(".")).toLowerCase(),l=e.publisherDisplayName?.toLowerCase());let c=PI("workbench.action.openSettings",{query:`@id:${Mg}`}).toString(),u=this._allowedExtensionsConfigValue[n],p=new Lt(d(3514,null,c));if(!Wn(u))return Jo(u)?u?!0:p:u==="stable"&&s?new Lt(d(3511,null,c)):o!=="*"&&Array.isArray(u)&&!u.some(h=>{let v=RG.exec(h);if(v&&v.groups){let{platform:I,version:E}=v.groups;return!(E!==o||i!=="universal"&&I&&i!==I)}return!1})?new Lt(d(3515,null,o,c)):!0;let m=l&&this.publisherOrgs.includes(l)?l:a,f=this._allowedExtensionsConfigValue[m];return Wn(f)?this._allowedExtensionsConfigValue["*"]===!0?!0:p:Jo(f)?f?!0:new Lt(d(3513,null,m,c)):f==="stable"&&s?new Lt(d(3512,null,m,c)):!0}};vl=C([b(0,He),b(1,ft)],vl)});var yl,$R=y(()=>{de();K();On();Ic();ko();yl=class extends _{constructor(e){super();this.productService=e;this.onDidChangeExtensionGalleryManifest=V.None;this.onDidChangeExtensionGalleryManifestStatus=V.None}get extensionGalleryManifestStatus(){return this.productService.extensionsGallery?.serviceUrl?"available":"unavailable"}async getExtensionGalleryManifest(){let e=this.productService.extensionsGallery;if(!e?.serviceUrl)return null;let n=[{id:`${e.serviceUrl}/extensionquery`,type:"ExtensionQueryService"},{id:`${e.serviceUrl}/vscode/{publisher}/{name}/latest`,type:"ExtensionLatestVersionUriTemplate"},{id:`${e.serviceUrl}/publishers/{publisher}/extensions/{name}/{version}/stats?statType={statTypeName}`,type:"ExtensionStatisticsUriTemplate"}];e.publisherUrl&&n.push({id:`${e.publisherUrl}/{publisher}`,type:"PublisherViewUriTemplate"}),e.itemUrl&&(n.push({id:`${e.itemUrl}?itemName={publisher}.{name}`,type:"ExtensionDetailsViewUriTemplate"}),n.push({id:`${e.itemUrl}?itemName={publisher}.{name}&ssr=false#review-details`,type:"ExtensionRatingViewUriTemplate"})),e.resourceUrlTemplate&&n.push({id:e.resourceUrlTemplate,type:"ExtensionResourceUriTemplate"});let o=[{name:"Tag",value:1},{name:"ExtensionId",value:4},{name:"Category",value:5},{name:"ExtensionName",value:7},{name:"Target",value:8},{name:"Featured",value:9},{name:"SearchText",value:10},{name:"ExcludeWithFlags",value:12}],i=[{name:"NoneOrRelevance",value:0},{name:"LastUpdatedDate",value:1},{name:"Title",value:2},{name:"PublisherName",value:3},{name:"InstallCount",value:4},{name:"AverageRating",value:6},{name:"PublishedDate",value:10},{name:"WeightedRating",value:12}],s=[{name:"None",value:0},{name:"IncludeVersions",value:1},{name:"IncludeFiles",value:2},{name:"IncludeCategoryAndTags",value:4},{name:"IncludeSharedAccounts",value:8},{name:"IncludeVersionProperties",value:16},{name:"ExcludeNonValidated",value:32},{name:"IncludeInstallationTargets",value:64},{name:"IncludeAssetUri",value:128},{name:"IncludeStatistics",value:256},{name:"IncludeLatestVersionOnly",value:512},{name:"Unpublished",value:4096},{name:"IncludeNameConflictInfo",value:32768},{name:"IncludeLatestPrereleaseAndStableVersionOnly",value:65536}];return{version:"",resources:n,capabilities:{extensionQuery:{filtering:o,sorting:i,flags:s},signing:{allPublicRepositorySigned:!0}}}}};yl=C([b(0,He)],yl)});function mF(r){setTimeout(()=>process.exit(r),0)}async function gF(r,t,e){if(r.help){let o=je.serverApplicationName+(te?".cmd":"");console.log(AO(je.nameLong,o,je.version,e,{noInputFiles:!0,noPipe:!0}));return}if(r.version){console.log(LO(je.version,je.commit));return}let n=new zR(r,t);try{await n.run(),mF(0)}catch{mF(1)}finally{n.dispose()}}var zR,fF=y(()=>{cy();De();ug();sT();tn();Ti();yT();Ur();Rn();ko();zT();dR();DI();pR();xi();K();hR();ef();Ae();nt();On();Dc();MR();db();AR();Ee();oe();Me();cr();oF();EI();io();LR();xg();me();Cu();NR();vo();Ec();Qd();vb();HR();WR();VR();re();BR();qR();Ic();$R();zR=class extends _{constructor(e,n){super();this.args=e;this.remoteDataFolder=n;this.registerListeners()}registerListeners(){process.once("exit",()=>this.dispose())}async run(){let e=await this.initServices();await e.invokeFunction(async n=>{let o=n.get(ft),i=n.get(z),s=n.get(He);te&&(o.getValue("security.restrictUNCAccess")===!1?Ib():cf(o.getValue("security.allowedUNCHosts")));try{await this.doRun(e.createInstance(ul,s.extensionsForceVersionByQuality??[],new fy(i.getLevel(),!1)))}catch(a){throw i.error(a),console.error(ye(a)),a}})}async initServices(){let e=new Aa,n={_serviceBrand:void 0,...je};e.set(He,n);let o=new us(this.args,n);e.set(dl,o);let i=new Wu(dg(o),o.logsHome);e.set(Wo,i);let s=new Hu(this._register(i.createLogger("remoteCLI",{name:d(4263,null)})));e.set(z,s),s.trace(`Remote configuration data at ${this.remoteDataFolder}`),s.trace("process arguments:",cb(this.args));let a=this._register(new ls(s));e.set(Oe,a),a.registerProvider(B.file,this._register(new ds(s)));let l=new js(a);e.set(ze,l);let c=this._register(new fl(l,o,a,s));e.set(Ft,c);let u=this._register(new Yd(c.defaultProfile.settingsResource,a,new ja,s));return e.set(ft,u),await Promise.all([u.initialize(),c.init()]),e.set(oo,new pt(Ya,["remote"])),e.set(hu,new pt(Fu)),e.set(Pt,jO),e.set(ss,new pt(yl)),e.set(ho,new pt(tl)),e.set(yr,new pt(hl)),e.set(zs,new pt(ml)),e.set(Eu,new pt(ol)),e.set(Hr,new pt(vl)),e.set(Kg,new pt(il)),e.set(Uu,new pt(pl)),new Tu(e)}async doRun(e){if(this.args["list-extensions"])return e.listExtensions(!!this.args["show-versions"],this.args.category);if(this.args["install-extension"]||this.args["install-builtin-extension"]){let n={isMachineScoped:!!this.args["do-not-sync"],installPreReleaseVersion:!!this.args["pre-release"],donotIncludePackAndDependencies:!!this.args["do-not-include-pack-dependencies"]};return e.installExtensions(this.asExtensionIdOrVSIX(this.args["install-extension"]||[]),this.asExtensionIdOrVSIX(this.args["install-builtin-extension"]||[]),n,!!this.args.force)}else{if(this.args["uninstall-extension"])return e.uninstallExtensions(this.asExtensionIdOrVSIX(this.args["uninstall-extension"]),!!this.args.force);if(this.args["update-extensions"])return e.updateExtensions();if(this.args["locate-extension"])return e.locateExtension(this.args["locate-extension"])}}asExtensionIdOrVSIX(e){return e.map(n=>/\.vsix$/i.test(n)?S.file(xo(n)?n:q(Pr(),n)):n)}}});import{constants as PG,promises as kG}from"fs";import{createInterface as DG}from"readline";async function bb(r){if(gt||te)return;let t;for(let e of["/etc/os-release","/usr/lib/os-release","/etc/lsb-release"])try{t=await kG.open(e,PG.R_OK);break}catch{}if(!t){r("Unable to retrieve release information from known identifier paths.");return}try{let e=new Set(["ID","DISTRIB_ID","ID_LIKE","VERSION_ID","DISTRIB_RELEASE"]),n={id:"unknown"};for await(let o of DG({input:t.createReadStream(),crlfDelay:1/0})){if(!o.includes("="))continue;let i=o.split("=")[0].toUpperCase().trim();if(e.has(i)){let s=o.split("=")[1].replace(/"/g,"").toLowerCase().trim();i==="ID"||i==="DISTRIB_ID"?n.id=s:i==="ID_LIKE"?n.id_like=s:(i==="VERSION_ID"||i==="DISTRIB_RELEASE")&&(n.version_id=s)}}return n}catch(e){r(e)}finally{await t.close()}}var GR=y(()=>{me()});import*as jR from"net";function vF(r,t,e,n=1){let o=!1;return new Promise(i=>{let s=setTimeout(()=>{if(!o)return o=!0,i(0)},e);KR(r,t,n,a=>{if(!o)return o=!0,clearTimeout(s),i(a)})})}function KR(r,t,e,n){if(t===0)return n(0);let o=new jR.Socket;o.once("connect",()=>(hF(o),KR(r+e,t-1,e,n))),o.once("data",()=>{}),o.once("error",i=>(hF(o),i.code!=="ECONNREFUSED"?KR(r+e,t-1,e,n):n(r))),o.connect(r,"127.0.0.1")}function hF(r){try{r.removeAllListeners("connect"),r.removeAllListeners("error"),r.end(),r.destroy(),r.unref()}catch(t){console.error(t)}}var yF=y(()=>{});function bF(r,t){let e=t.final??!0,n=t.compressed??!1;JR(t.opcode),CF(t.mask),xF((e?xb:0)|(n?Cb:0)|t.opcode,r.byteLength);let o=AG(r.byteLength,t.mask!==void 0),i=L.alloc(o);i.writeUInt8((e?xb:0)|(n?Cb:0)|t.opcode,0);let s=2;return r.byteLength<Vu?i.writeUInt8((t.mask===void 0?0:Sb)|r.byteLength,1):r.byteLength<2**16?(i.writeUInt8((t.mask===void 0?0:Sb)|Vu,1),i.writeUInt8(r.byteLength>>>8,s++),i.writeUInt8(r.byteLength,s++)):(i.writeUInt8((t.mask===void 0?0:Sb)|IF,1),i.writeUInt32BE(0,s),s+=4,i.writeUInt32BE(r.byteLength,s),s+=4),t.mask===void 0?L.concat([i,r]):(i.writeUInt32BE(t.mask,s),L.concat([i,EF(r,t.mask)]))}function SF(r,t){if(CF(t),t===0)return;let e=r.byteLength>>>2;for(let i=0;i<e;i++){let s=i*4;r.writeUInt32BE(r.readUInt32BE(s)^t,s)}let n=e*4,o=r.byteLength-n;o>=1&&r.writeUInt8(r.readUInt8(n)^t>>>24&255,n),o>=2&&r.writeUInt8(r.readUInt8(n+1)^t>>>16&255,n+1),o>=3&&r.writeUInt8(r.readUInt8(n+2)^t>>>8&255,n+2)}function AG(r,t){if(r>Eb)throw new Error("WebSocket payload lengths greater than 2^32 - 1 are not supported.");return r<Vu?2+(t?4:0):r<2**16?4+(t?4:0):10+(t?4:0)}function LG(r,t){if(t<Vu)return t;if(t===Vu)return r.readUInt8(2)*2**8+r.readUInt8(3);if(r.readUInt32BE(2)!==0)throw new Error("WebSocket payload lengths greater than 2^32 - 1 are not supported.");return r.readUInt32BE(6)}function xF(r,t){if((r&_G)!==0)throw new Error("WebSocket frames must not set RSV2 or RSV3.");let e=r&15;if(JR(e),OG(e)){if((r&xb)===0)throw new Error("WebSocket control frames must be final.");if(t>125)throw new Error("WebSocket control frames must not exceed 125 bytes.");if((r&Cb)!==0)throw new Error("WebSocket control frames must not set RSV1.")}}function JR(r){if(r!==0&&r!==1&&r!==2&&r!==8&&r!==9&&r!==10)throw new Error(`WebSocket frame has reserved opcode ${r}.`)}function CF(r){if(r!==void 0&&(!Number.isInteger(r)||r<0||r>Eb))throw new Error("WebSocket masks must be unsigned 32-bit integers.")}function OG(r){return(r&8)!==0}function EF(r,t){let e=L.alloc(r.byteLength);return e.set(r),SF(e,t),e}var xb,Cb,_G,Sb,MG,Vu,IF,Eb,QR,wb,wF=y(()=>{Ke();cl();xb=128,Cb=64,_G=48,Sb=128,MG=127,Vu=126,IF=127,Eb=4294967295,QR=class extends Error{constructor(e,n){super(`WebSocket frame payload length ${e} exceeds the configured limit of ${n}.`);this.payloadLength=e;this.maxPayloadLength=n}},wb=class{constructor(t={}){this._incomingData=new nf;if(this._maxPayloadLength=t.maxPayloadLength??Eb,this._unmaskInPlace=t.unmaskInPlace??!1,!Number.isInteger(this._maxPayloadLength)||this._maxPayloadLength<0||this._maxPayloadLength>Eb)throw new Error("WebSocket frame payload limits must be unsigned 32-bit integers.")}acceptChunk(t){if(t.byteLength===0)return[];this._incomingData.acceptChunk(t);let e=[];for(;this._incomingData.byteLength>=2;){let n=this._incomingData.peek(2),o=n.readUInt8(0),i=n.readUInt8(1),s=i&MG,a=s===Vu?2:s===IF?8:0,l=(i&Sb)!==0,c=2+a+(l?4:0);if(this._incomingData.byteLength<c)break;let u=this._incomingData.peek(c),p=LG(u,s);if(p>this._maxPayloadLength)throw new QR(p,this._maxPayloadLength);xF(o,p);let m=o&15;if(JR(m),this._incomingData.byteLength<c+p)break;this._incomingData.read(c);let f=this._incomingData.read(p),h=l?u.readUInt32BE(c-4):void 0,v=f;h!==void 0&&(this._unmaskInPlace?SF(v,h):v=EF(f,h)),e.push({final:(o&xb)!==0,compressed:(o&Cb)!==0,opcode:m,payload:v,mask:h})}return e}}});import{createHash as FG}from"crypto";import{tmpdir as HG}from"os";import{createDeflateRaw as WG,createInflateRaw as VG}from"zlib";function RF(r,t,{debugLabel:e,skipWebSocketFrames:n=!1,disableWebSocketCompression:o=!1,enableMessageSplitting:i=!0}){if(r.headers.upgrade===void 0||r.headers.upgrade.toLowerCase()!=="websocket"){t.end("HTTP/1.1 400 Bad Request");return}let s=r.headers["sec-websocket-key"],a=FG("sha1");a.update(s+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11");let c=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${a.digest("base64")}`],u=!1;if(!n&&!o&&r.headers["sec-websocket-extensions"]){let p=Array.isArray(r.headers["sec-websocket-extensions"])?r.headers["sec-websocket-extensions"]:[r.headers["sec-websocket-extensions"]];for(let m of p)if(!/\b((server_max_window_bits)|(server_no_context_takeover)|(client_no_context_takeover))\b/.test(m)){if(/\b(permessage-deflate)\b/.test(m)){u=!0,c.push("Sec-WebSocket-Extensions: permessage-deflate");break}if(/\b(x-webkit-deflate-frame)\b/.test(m)){u=!0,c.push("Sec-WebSocket-Extensions: x-webkit-deflate-frame");break}}}return t.write(c.join(`\r
`)+`\r
\r
`),t.setTimeout(0),t.setNoDelay(!0),n?new Qs(t,e):new Js(new Qs(t,e),u,null,!0,i)}function Il(){let r=Se();if(process.platform==="win32")return`\\\\.\\pipe\\vscode-ipc-${r}-sock`;let t=process.platform!=="darwin"&&TF?TF:HG(),e=qG[Yr],n=r;if(typeof e=="number"){let o=Math.max(0,e-1-q(t,"vscode-ipc-.sock").length);o<n.length&&(n=n.slice(0,o))}return q(t,`vscode-ipc-${n}.sock`)}var BG,Qs,Js,YR,XR,ZR,TF,qG,Bu=y(()=>{Ke();Ee();de();K();Me();me();nn();Ks();cl();wF();BG=3e4,Qs=class{constructor(t,e=""){this._canWrite=!0;this.debugLabel=e,this.socket=t,this.traceSocketEvent("created",{type:"NodeSocket"}),this._errorListener=n=>{if(this.traceSocketEvent("error",{code:n?.code,message:n?.message}),n){if(n.code==="EPIPE")return;st(n)}},this.socket.on("error",this._errorListener),this._closeListener=n=>{this.traceSocketEvent("close",{hadError:n}),this._canWrite=!1,this._endTimeoutHandle&&clearTimeout(this._endTimeoutHandle)},this.socket.on("close",this._closeListener),this._endListener=()=>{this.traceSocketEvent("nodeEndReceived"),this._canWrite=!1,this._endTimeoutHandle=setTimeout(()=>t.destroy(),BG)},this.socket.on("end",this._endListener)}traceSocketEvent(t,e){PR.traceSocketEvent(this.socket,this.debugLabel,t,e)}dispose(t=!0){this._endTimeoutHandle&&(clearTimeout(this._endTimeoutHandle),this._endTimeoutHandle=void 0),this.socket.off("error",this._errorListener),this.socket.off("close",this._closeListener),this.socket.off("end",this._endListener),t&&this.socket.destroy()}onData(t){let e=n=>{this.traceSocketEvent("read",n),t(L.wrap(n))};return this.socket.on("data",e),{dispose:()=>this.socket.off("data",e)}}onClose(t){let e=n=>{t({type:0,hadError:n,error:void 0})};return this.socket.on("close",e),{dispose:()=>this.socket.off("close",e)}}onEnd(t){let e=()=>{t()};return this.socket.on("end",e),{dispose:()=>this.socket.off("end",e)}}write(t){if(!(this.socket.destroyed||!this._canWrite))try{this.traceSocketEvent("write",t),this.socket.write(t.buffer,e=>{if(e){if(e.code==="EPIPE")return;st(e)}})}catch(e){if(e.code==="EPIPE")return;st(e)}}end(){this.traceSocketEvent("nodeEndSent"),this.socket.end()}drain(){return this.traceSocketEvent("nodeDrainBegin"),new Promise((t,e)=>{if(this.socket.bufferSize===0){this.traceSocketEvent("nodeDrainEnd"),t();return}let n=()=>{this.socket.off("close",n),this.socket.off("end",n),this.socket.off("error",n),this.socket.off("timeout",n),this.socket.off("drain",n),this.traceSocketEvent("nodeDrainEnd"),t()};this.socket.on("close",n),this.socket.on("end",n),this.socket.on("error",n),this.socket.on("timeout",n),this.socket.on("drain",n)})}},Js=class extends _{constructor(e,n,o,i,s=!0){super();this._frameParser=new wb({unmaskInPlace:!0});this._onData=this._register(new T);this._onClose=this._register(new T);this._isEnded=!1;this._compressedMessage=!1;this.socket=e,this._maxSocketMessageLength=s?262144:1/0,this.traceSocketEvent("created",{type:"WebSocketNodeSocket",permessageDeflate:n,inflateBytesLength:o?.byteLength||0,recordInflateBytes:i}),this._flowManager=this._register(new YR(this,n,o,i,this._onData,(a,l)=>this._write(a,l))),this._register(this._flowManager.onError(a=>{console.error(a),st(a),this._onClose.fire({type:0,hadError:!0,error:a})})),this._register(this.socket.onData(a=>this._acceptChunk(a))),this._register(this.socket.onClose(async a=>{this._flowManager.isProcessingReadQueue()&&await V.toPromise(this._flowManager.onDidFinishProcessingReadQueue),this._onClose.fire(a)}))}get permessageDeflate(){return this._flowManager.permessageDeflate}get recordedInflateBytes(){return this._flowManager.recordedInflateBytes}setRecordInflateBytes(e){this._flowManager.setRecordInflateBytes(e)}traceSocketEvent(e,n){this.socket.traceSocketEvent(e,n)}dispose(){this._flowManager.isProcessingWriteQueue()?this._register(this._flowManager.onDidFinishProcessingWriteQueue(()=>{this.dispose()})):(this.socket.dispose(),super.dispose())}onData(e){return this._onData.event(e)}onClose(e){return this._onClose.event(e)}onEnd(e){return this.socket.onEnd(e)}write(e){let n=0;for(;n<e.byteLength;)this._flowManager.writeMessage(e.slice(n,Math.min(n+this._maxSocketMessageLength,e.byteLength)),{compressed:!0,opcode:2}),n+=this._maxSocketMessageLength}_write(e,{compressed:n,opcode:o}){this._isEnded||(this.traceSocketEvent("webSocketNodeSocketWrite",e),this.socket.write(bF(e,{compressed:n,opcode:o})))}end(){this._isEnded=!0,this.socket.end()}_acceptChunk(e){for(let n of this._frameParser.acceptChunk(e)){let o=n.opcode===0?this._compressedMessage:n.compressed;(n.opcode===1||n.opcode===2)&&(this._compressedMessage=n.compressed),this.traceSocketEvent("webSocketNodeSocketPeekedHeader",{bodySize:n.payload.byteLength,compressed:o,fin:Number(n.final),mask:n.mask,opcode:n.opcode}),this.traceSocketEvent("webSocketNodeSocketReadData",n.payload),n.mask!==void 0&&this.traceSocketEvent("webSocketNodeSocketUnmaskedData",n.payload),n.opcode===0||n.opcode===1||n.opcode===2?(this._flowManager.acceptFrame(n.payload,o,n.final),n.final&&(this._compressedMessage=!1)):n.opcode===9&&this._flowManager.writeMessage(n.payload,{compressed:!1,opcode:10})}}async drain(){this.traceSocketEvent("webSocketNodeSocketDrainBegin"),this._flowManager.isProcessingWriteQueue()&&await V.toPromise(this._flowManager.onDidFinishProcessingWriteQueue),await this.socket.drain(),this.traceSocketEvent("webSocketNodeSocketDrainEnd")}},YR=class extends _{constructor(e,n,o,i,s,a){super();this._tracer=e;this._onData=s;this._writeFn=a;this._onError=this._register(new T);this.onError=this._onError.event;this._writeQueue=[];this._readQueue=[];this._onDidFinishProcessingReadQueue=this._register(new T);this.onDidFinishProcessingReadQueue=this._onDidFinishProcessingReadQueue.event;this._onDidFinishProcessingWriteQueue=this._register(new T);this.onDidFinishProcessingWriteQueue=this._onDidFinishProcessingWriteQueue.event;this._isProcessingWriteQueue=!1;this._isProcessingReadQueue=!1;n?(this._zlibInflateStream=this._register(new XR(this._tracer,i,o,{windowBits:15})),this._zlibDeflateStream=this._register(new ZR(this._tracer,{windowBits:15})),this._register(this._zlibInflateStream.onError(l=>this._onError.fire(l))),this._register(this._zlibDeflateStream.onError(l=>this._onError.fire(l)))):(this._zlibInflateStream=null,this._zlibDeflateStream=null)}get permessageDeflate(){return!!(this._zlibInflateStream&&this._zlibDeflateStream)}get recordedInflateBytes(){return this._zlibInflateStream?this._zlibInflateStream.recordedInflateBytes:L.alloc(0)}setRecordInflateBytes(e){this._zlibInflateStream?.setRecordInflateBytes(e)}writeMessage(e,n){this._writeQueue.push({data:e,options:n}),this._processWriteQueue()}async _processWriteQueue(){if(!this._isProcessingWriteQueue){for(this._isProcessingWriteQueue=!0;this._writeQueue.length>0;){let{data:e,options:n}=this._writeQueue.shift();if(this._zlibDeflateStream&&n.compressed){let o=await this._deflateMessage(this._zlibDeflateStream,e);this._writeFn(o,n)}else this._writeFn(e,{...n,compressed:!1})}this._isProcessingWriteQueue=!1,this._onDidFinishProcessingWriteQueue.fire()}}isProcessingWriteQueue(){return this._isProcessingWriteQueue}_deflateMessage(e,n){return new Promise((o,i)=>{e.write(n),e.flush(s=>o(s))})}acceptFrame(e,n,o){this._readQueue.push({data:e,isCompressed:n,isLastFrameOfMessage:o}),this._processReadQueue()}async _processReadQueue(){if(!this._isProcessingReadQueue){for(this._isProcessingReadQueue=!0;this._readQueue.length>0;){let e=this._readQueue.shift();if(this._zlibInflateStream&&e.isCompressed){let n=await this._inflateFrame(this._zlibInflateStream,e.data,e.isLastFrameOfMessage);this._onData.fire(n)}else this._onData.fire(e.data)}this._isProcessingReadQueue=!1,this._onDidFinishProcessingReadQueue.fire()}}isProcessingReadQueue(){return this._isProcessingReadQueue}_inflateFrame(e,n,o){return new Promise((i,s)=>{e.write(n),o&&e.write(L.fromByteArray([0,0,255,255])),e.flush(a=>i(a))})}},XR=class extends _{constructor(e,n,o,i){super();this._tracer=e;this._onError=this._register(new T);this.onError=this._onError.event;this._recordedInflateBytes=[];this._pendingInflateData=[];this._recordInflateBytes=n,this._zlibInflate=VG(i),this._zlibInflate.on("error",s=>{this._tracer.traceSocketEvent("zlibInflateError",{message:s?.message,code:s?.code}),this._onError.fire(s)}),this._zlibInflate.on("data",s=>{this._tracer.traceSocketEvent("zlibInflateData",s),this._pendingInflateData.push(L.wrap(s))}),o&&(this._tracer.traceSocketEvent("zlibInflateInitialWrite",o.buffer),this._zlibInflate.write(o.buffer),this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateInitialFlushFired"),this._pendingInflateData.length=0}))}get recordedInflateBytes(){return this._recordInflateBytes?L.concat(this._recordedInflateBytes):L.alloc(0)}write(e){this._recordInflateBytes&&this._recordedInflateBytes.push(e.clone()),this._tracer.traceSocketEvent("zlibInflateWrite",e),this._zlibInflate.write(e.buffer)}setRecordInflateBytes(e){this._recordInflateBytes=e,e||(this._recordedInflateBytes.length=0)}flush(e){this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateFlushFired");let n=L.concat(this._pendingInflateData);this._pendingInflateData.length=0,e(n)})}dispose(){this._recordedInflateBytes.length=0,this._pendingInflateData.length=0;try{this._zlibInflate.close()}catch{}super.dispose()}},ZR=class extends _{constructor(e,n){super();this._tracer=e;this._onError=this._register(new T);this.onError=this._onError.event;this._pendingDeflateData=[];this._zlibDeflate=WG({windowBits:15}),this._zlibDeflate.on("error",o=>{this._tracer.traceSocketEvent("zlibDeflateError",{message:o?.message,code:o?.code}),this._onError.fire(o)}),this._zlibDeflate.on("data",o=>{this._tracer.traceSocketEvent("zlibDeflateData",o),this._pendingDeflateData.push(L.wrap(o))})}write(e){this._tracer.traceSocketEvent("zlibDeflateWrite",e.buffer),this._zlibDeflate.write(e.buffer)}flush(e){this._zlibDeflate.flush(2,()=>{this._tracer.traceSocketEvent("zlibDeflateFlushFired");let n=L.concat(this._pendingDeflateData);this._pendingDeflateData.length=0,n=n.slice(0,n.byteLength-4),e(n)})}dispose(){this._pendingDeflateData.length=0;try{this._zlibDeflate.close()}catch{}super.dispose()}},TF=process.env.XDG_RUNTIME_DIR,qG={2:107,1:103}});var PF,qu,Tb=y(()=>{Ee();Z();PF=D("remoteAuthorityResolverService"),qu=class r extends Yn{static isNotAvailable(t){return t instanceof r&&t._code==="NotAvailable"}static isTemporarilyNotAvailable(t){return t instanceof r&&t._code==="TemporarilyNotAvailable"}static isNoResolverFound(t){return t instanceof r&&t._code==="NoResolverFound"}static isInvalidAuthority(t){return t instanceof r&&t._code==="InvalidAuthority"}static isHandled(t){return t instanceof r&&t.isHandled}constructor(t,e="Unknown",n){super(t),this._message=t,this._code=e,this._detail=n,this.isHandled=e==="NotAvailable"&&n===!0,Object.setPrototypeOf(this,r.prototype)}}});function zG(r){switch(r){case 1:return"Management";case 2:return"ExtensionHost";case 3:return"Tunnel"}}function GG(r){let t=new wt;return setTimeout(()=>t.cancel(),r),t.token}async function KG(r,t,e){let{connectTo:n,connectionToken:o}=await r.addressProvider.getAddress();return{commit:r.commit,quality:r.quality,connectTo:n,connectionToken:o,reconnectionToken:t,reconnectionProtocol:e,remoteSocketFactoryService:r.remoteSocketFactoryService,signService:r.signService,logService:r.logService}}function jG(r){return Xo(t=>new Promise((e,n)=>{let o=setTimeout(e,r*1e3);t.onCancellationRequested(()=>{clearTimeout(o),e()})}))}function QG(r){try{r.acceptDisconnect();let t=r.getSocket();r.dispose(),t.dispose()}catch(t){st(t)}}function JG(r,t){return typeof r!="number"||!isFinite(r)||r<0?t:r>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Math.floor(r)}function YG(r,t){for(;r.length<t;)r+=" ";return r}function XG(r,t){return`[remote-connection][${YG(zG(r),13)}][${t.substr(0,5)}\u2026]`}function Rb(r,t,e){return`${XG(r,t)}[${e?"reconnect":"initial"}]`}var $G,eP,tP,nP,Pb,oP,kF,DF=y(()=>{Ne();Ke();Zt();Ee();de();K();Ae();Qr();_s();nn();cl();Tb();$G=30*1e3;eP=class{constructor(t,e){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.type=0}},tP=class{constructor(t,e,n,o){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.durationSeconds=n;this.cancellableTimer=o;this.type=1}skipWait(){this.cancellableTimer.cancel()}},nP=class{constructor(t,e,n){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.attempt=n;this.type=2}},Pb=class{constructor(t,e,n){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.attempt=n;this.type=4}},oP=class{constructor(t,e,n,o){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.attempt=n;this.handled=o;this.type=3}},kF=class r extends _{constructor(e,n,o,i,s){super();this._connectionType=e;this._options=n;this.reconnectionToken=o;this.protocol=i;this._reconnectionFailureIsFatal=s;this._onDidStateChange=this._register(new T);this.onDidStateChange=this._onDidStateChange.event;this._permanentFailure=!1;this._isReconnecting=!1;this._isDisposed=!1;this._reconnectionGraceTime=108e5;this._onDidStateChange.fire(new Pb(this.reconnectionToken,0,0)),this._register(i.onSocketClose(a=>{let l=Rb(this._connectionType,this.reconnectionToken,!0);a?a.type===0?(this._options.logService.info(`${l} received socket close event (hadError: ${a.hadError}).`),a.error&&this._options.logService.error(a.error)):(this._options.logService.info(`${l} received socket close event (wasClean: ${a.wasClean}, code: ${a.code}, reason: ${a.reason}).`),a.event&&this._options.logService.error(a.event)):this._options.logService.info(`${l} received socket close event.`),this._beginReconnecting()})),this._register(i.onSocketTimeout(a=>{let l=Rb(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${l} received socket timeout event (reason: ${a.reason}, unacknowledgedMsgCount: ${a.unacknowledgedMsgCount}, timeSinceOldestUnacknowledgedMsg: ${a.timeSinceOldestUnacknowledgedMsg}, timeSinceLastReceivedSomeData: ${a.timeSinceLastReceivedSomeData}).`),this._beginReconnecting()})),r._instances.push(this),this._register(ce(()=>{let a=r._instances.indexOf(this);a>=0&&r._instances.splice(a,1)})),this._isPermanentFailure&&this._gotoPermanentFailure(r._permanentFailureMillisSinceLastIncomingData,r._permanentFailureAttempt,r._permanentFailureHandled)}static triggerPermanentFailure(e,n,o){this._permanentFailure=!0,this._permanentFailureMillisSinceLastIncomingData=e,this._permanentFailureAttempt=n,this._permanentFailureHandled=o,this._instances.forEach(i=>i._gotoPermanentFailure(this._permanentFailureMillisSinceLastIncomingData,this._permanentFailureAttempt,this._permanentFailureHandled))}static debugTriggerReconnection(){this._instances.forEach(e=>e._beginReconnecting())}static debugPauseSocketWriting(){this._instances.forEach(e=>e._pauseSocketWriting())}static{this._permanentFailure=!1}static{this._permanentFailureMillisSinceLastIncomingData=0}static{this._permanentFailureAttempt=0}static{this._permanentFailureHandled=!1}static{this._instances=[]}get _isPermanentFailure(){return this._permanentFailure||r._permanentFailure}updateGraceTime(e){let n=JG(e,108e5),o=Rb(this._connectionType,this.reconnectionToken,!1);this._options.logService.trace(`${o} Applying reconnection grace time: ${n}ms (${Math.floor(n/1e3)}s)`),this._reconnectionGraceTime=n}dispose(){super.dispose(),this._isDisposed=!0}async _beginReconnecting(){if(!this._isReconnecting)try{this._isReconnecting=!0,await this._runReconnectingLoop()}finally{this._isReconnecting=!1}}async _runReconnectingLoop(){if(this._isPermanentFailure||this._isDisposed)return;let e=Rb(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${e} starting reconnecting loop. You can get more information with the trace log level.`),this._onDidStateChange.fire(new eP(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData()));let n=[0,5,5,10,10,10,10,10,30],o=this._reconnectionGraceTime;if(this._options.logService.info(`${e} starting reconnection with grace time: ${o}ms (${Math.floor(o/1e3)}s)`),o<=0){this._options.logService.error(`${e} reconnection grace time is set to 0ms, will not attempt to reconnect.`),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),0,!1);return}let i=!1,s=new tc(()=>i=!0,o);s.schedule();let a=-1;do{a++;let l=a<n.length?n[a]:n[n.length-1];try{if(l>0){let u=jG(l);this._onDidStateChange.fire(new tP(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),l,u)),this._options.logService.info(`${e} waiting for ${l} seconds before reconnecting...`);try{await u}catch{}}if(this._isPermanentFailure){this._options.logService.error(`${e} permanent failure occurred while running the reconnecting loop.`);break}this._onDidStateChange.fire(new nP(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),a+1)),this._options.logService.info(`${e} resolving connection...`);let c=await KG(this._options,this.reconnectionToken,this.protocol);this._options.logService.info(`${e} connecting to ${c.connectTo}...`),await this._reconnect(c,GG($G)),this._options.logService.info(`${e} reconnected!`),this._onDidStateChange.fire(new Pb(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),a+1));break}catch(c){if(c.code==="VSCODE_CONNECTION_ERROR"){this._options.logService.error(`${e} A permanent error occurred in the reconnecting loop! Will give up now! Error:`),this._options.logService.error(c),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),a+1,!1);break}if(i){let u=Math.round(o/1e3);this._options.logService.error(`${e} An error occurred while reconnecting, but it will be treated as a permanent error because the reconnection grace time (${u}s) has expired! Will give up now! Error:`),this._options.logService.error(c),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),a+1,!1);break}if(qu.isTemporarilyNotAvailable(c)){this._options.logService.info(`${e} A temporarily not available error occurred while trying to reconnect, will try again...`),this._options.logService.trace(c);continue}if((c.code==="ETIMEDOUT"||c.code==="ENETUNREACH"||c.code==="ECONNREFUSED"||c.code==="ECONNRESET")&&c.syscall==="connect"){this._options.logService.info(`${e} A network error occurred while trying to reconnect, will try again...`),this._options.logService.trace(c);continue}if(on(c)){this._options.logService.info(`${e} A promise cancelation error occurred while trying to reconnect, will try again...`),this._options.logService.trace(c);continue}if(c instanceof qu){this._options.logService.error(`${e} A RemoteAuthorityResolverError occurred while trying to reconnect. Will give up now! Error:`),this._options.logService.error(c),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),a+1,qu.isHandled(c));break}this._options.logService.error(`${e} An unknown error occurred while trying to reconnect, since this is an unknown case, it will be treated as a permanent error! Will give up now! Error:`),this._options.logService.error(c),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),a+1,!1);break}}while(!this._isPermanentFailure&&!this._isDisposed);s.dispose()}_onReconnectionPermanentFailure(e,n,o){this._reconnectionFailureIsFatal?r.triggerPermanentFailure(e,n,o):this._gotoPermanentFailure(e,n,o)}_gotoPermanentFailure(e,n,o){this._onDidStateChange.fire(new oP(this.reconnectionToken,e,n,o)),QG(this.protocol)}_pauseSocketWriting(){this.protocol.pauseSocketWriting()}}});var Db,kb,rP=y(()=>{Z();Db=D("extensionHostStatusService"),kb=class{constructor(){this._exitInfo=new Map}setExitInfo(t,e){this._exitInfo.set(t,e)}getExitInfo(t){return this._exitInfo.get(t)||null}}});function ZG(r){delete r[df.ENV_KEY],delete r[uf.ENV_KEY],delete r[iP.ENV_KEY]}function sP(r,t){ZG(t),r.serialize(t)}var df,uf,iP,_F=y(()=>{df=class r{constructor(t){this.pipeName=t;this.type=1}static{this.ENV_KEY="VSCODE_EXTHOST_IPC_HOOK"}serialize(t){t[r.ENV_KEY]=this.pipeName}},uf=class r{constructor(){this.type=2}static{this.ENV_KEY="VSCODE_EXTHOST_WILL_SEND_SOCKET"}serialize(t){t[r.ENV_KEY]="1"}},iP=class r{constructor(){this.type=3}static{this.ENV_KEY="VSCODE_WILL_SEND_MESSAGE_PORT"}serialize(t){t[r.ENV_KEY]="1"}}});import*as MF from"child_process";import*as AF from"net";async function aP(r={},t,e,n,o,i){let s=await af(e,n.userDataPath),a={};if(t)try{a=await Ja(i,o,n.args,process.env)}catch(f){o.error("ExtensionHostConnection#buildUserEnvironment resolving shell environment failed",f)}let c={...process.env,...a,...r,VSCODE_ESM_ENTRYPOINT:"vs/workbench/api/node/extensionHostProcess",VSCODE_HANDLES_UNCAUGHT_ERRORS:"true",VSCODE_NLS_CONFIG:JSON.stringify(s)},u=n.isBuilt?q(n.appRoot,"bin"):q(n.appRoot,"resources","server","bin-dev"),p=q(u,"remote-cli"),m=eK(c,"PATH");return m?m=p+xa+m:m=p,tK(c,"PATH",m),n.args["without-browser-env-var"]||(c.BROWSER=q(u,"helpers",te?"browser.cmd":"browser.sh")),c.VSCODE_RECONNECTION_GRACE_TIME=String(n.reconnectionGraceTime),o.trace(`[reconnection-grace-time] Setting VSCODE_RECONNECTION_GRACE_TIME env var for extension host: ${n.reconnectionGraceTime}ms (${Math.floor(n.reconnectionGraceTime/1e3)}s)`),nK(c),c}function eK(r,t){let e=Object.keys(r).filter(o=>o.toLowerCase()===t.toLowerCase()),n=e.length>0?e[0]:t;return r[n]}function tK(r,t,e){let n=Object.keys(r).filter(i=>i.toLowerCase()===t.toLowerCase()),o=n.length>0?n[0]:t;r[o]=e}function nK(r){for(let t of Object.keys(r))r[t]===null&&delete r[t]}var _b,$u,lP=y(()=>{Ke();de();K();Ae();Me();me();nu();Bu();tn();De();Cg();rP();gb();Dc();_F();_b=class{constructor(t,e){this.socket=t;this.initialDataChunk=e}socketDrain(){return this.socket.drain()}toIExtHostSocketMessage(){let t,e,n;return this.socket instanceof Qs?(t=!0,e=!1,n=L.alloc(0)):(t=!1,e=this.socket.permessageDeflate,n=this.socket.recordedInflateBytes,this.socket.setRecordInflateBytes(!1)),{type:"VSCODE_EXTHOST_IPC_SOCKET",initialDataChunk:this.initialDataChunk.buffer.toString("base64"),skipWebSocketFrames:t,permessageDeflate:e,inflateBytes:n.buffer.toString("base64")}}},$u=class extends _{constructor(e,n,o,i,s,a,l,c){super();this._reconnectionToken=e;this._environmentService=s;this._logService=a;this._extensionHostStatusService=l;this._configurationService=c;this._onClose=this._register(new T);this.onClose=this._onClose.event;this._canSendSocket=!te||!this._environmentService.args["socket-path"],this._disposed=!1,this._remoteAddress=n,this._extensionHostProcess=null,this._connectionData=new _b(o,i),!this._canSendSocket&&o instanceof Js&&o.setRecordInflateBytes(!1),this._log("New connection established.")}dispose(){this._cleanResources(),super.dispose()}get _logPrefix(){return`[${this._remoteAddress}][${this._reconnectionToken.substr(0,8)}][ExtensionHostConnection] `}_log(e){this._logService.info(`${this._logPrefix}${e}`)}_logError(e){this._logService.error(`${this._logPrefix}${e}`)}async _pipeSockets(e,n){let o=new ie;o.add(n.socket),o.add(ce(()=>{!e.destroyed&&!e.writableEnded&&e.end()}));let i=()=>{o.dispose()};o.add(n.socket.onEnd(i)),o.add(n.socket.onClose(i)),o.add(V.fromNodeEventEmitter(e,"end")(i)),o.add(V.fromNodeEventEmitter(e,"close")(i)),o.add(V.fromNodeEventEmitter(e,"error")(i)),o.add(n.socket.onData(s=>e.write(s.buffer))),o.add(V.fromNodeEventEmitter(e,"data")(s=>{n.socket.write(L.wrap(s))})),n.initialDataChunk.byteLength>0&&e.write(n.initialDataChunk.buffer)}async _sendSocketToExtensionHost(e,n){await n.socketDrain();let o=n.toIExtHostSocketMessage(),i;n.socket instanceof Qs?i=n.socket.socket:i=n.socket.socket.socket,e.send(o,i)}shortenReconnectionGraceTimeIfNecessary(){if(!this._extensionHostProcess)return;let e={type:"VSCODE_EXTHOST_IPC_REDUCE_GRACE_TIME"};this._extensionHostProcess.send(e)}acceptReconnection(e,n,o){this._remoteAddress=e,this._log("The client has reconnected."),!this._canSendSocket&&n instanceof Js&&n.setRecordInflateBytes(!1);let i=new _b(n,o);if(!this._extensionHostProcess){this._connectionData=i;return}this._sendSocketToExtensionHost(this._extensionHostProcess,i)}_cleanResources(){this._disposed||(this._disposed=!0,this._connectionData&&(this._connectionData.socket.end(),this._connectionData=null),this._extensionHostProcess&&(this._extensionHostProcess.kill(),this._extensionHostProcess=null),this._onClose.fire(void 0))}async start(e){try{let n=process.execArgv?process.execArgv.filter(m=>!/^--inspect(-brk)?=/.test(m)):[];e.port&&!process.pkg&&(n=[`--inspect${e.break?"-brk":""}=${e.port}`,"--experimental-network-inspection"]),this._log("Starting extension host process...");let o=await aP(e.env,!0,e.language,this._environmentService,this._logService,this._configurationService);tu(o);let i;if(this._canSendSocket)sP(new uf,o),i=null;else{let{namedPipeServer:m,pipeName:f}=await this._listenOnPipe();sP(new df(f),o),i=m}let s={env:o,execArgv:n,silent:!0};s.execArgv.unshift("--dns-result-order=ipv4first");let a=["--type=extensionHost","--transformURIs"],l=this._environmentService.args["use-host-proxy"];a.push(`--useHostProxy=${l?"true":"false"}`),this._configurationService.getValue("extensions.supportNodeGlobalNavigator")&&a.push("--supportGlobalNavigator"),this._extensionHostProcess=MF.fork(Dt.asFileUri("bootstrap-fork").fsPath,a,s);let c=this._extensionHostProcess.pid;this._log(`<${c}> Launched Extension Host Process.`),this._extensionHostProcess.stdout.setEncoding("utf8"),this._extensionHostProcess.stderr.setEncoding("utf8");let u=V.fromNodeEventEmitter(this._extensionHostProcess.stdout,"data"),p=V.fromNodeEventEmitter(this._extensionHostProcess.stderr,"data");if(this._register(u(m=>this._log(`<${c}> ${m}`))),this._register(p(m=>this._log(`<${c}><stderr> ${m}`))),this._extensionHostProcess.on("error",m=>{this._logError(`<${c}> Extension Host Process had an error`),this._logService.error(m),this._cleanResources()}),this._extensionHostProcess.on("exit",(m,f)=>{this._extensionHostStatusService.setExitInfo(this._reconnectionToken,{code:m,signal:f}),this._log(`<${c}> Extension Host Process exited with code: ${m}, signal: ${f}.`),this._cleanResources()}),i)i.on("connection",m=>{i.close(),this._pipeSockets(m,this._connectionData)});else{let m=f=>{f.type==="VSCODE_EXTHOST_IPC_READY"&&(this._extensionHostProcess.removeListener("message",m),this._sendSocketToExtensionHost(this._extensionHostProcess,this._connectionData),this._connectionData=null)};this._extensionHostProcess.on("message",m)}}catch(n){this._logError("Failed to start extension host process"),this._logService.error(n),this._cleanResources()}}_listenOnPipe(){return new Promise((e,n)=>{let o=Il(),i=AF.createServer();i.on("error",n),i.listen(o,()=>{i?.removeListener("error",n),e({pipeName:o,namedPipeServer:i})})})}};$u=C([b(4,dl),b(5,z),b(6,Db),b(7,ft)],$u)});function Mb(r){let t=0,e=0,n=0;r>=1e3&&(n=Math.floor(r/1e3),r-=n*1e3),n>=60&&(e=Math.floor(n/60),n-=e*60),e>=60&&(t=Math.floor(e/60),e-=t*60);let o=t?`${t}h`:"",i=e?`${e}m`:"",s=n?`${n}s`:"",a=r?`${r}ms`:"";return`${o}${i}${s}${a}`}var Ab,LF=y(()=>{cl();de();Ne();Ab=class{constructor(t,e,n,o,i){this._logService=t;this._reconnectionToken=e;this._onClose=new T;this.onClose=this._onClose.event;this._reconnectionGraceTime=i;let s=3e5;this._reconnectionShortGraceTime=i>0?Math.min(s,i):0,this._remoteAddress=n,this.protocol=o,this._disposed=!1,this._disconnectRunner1=new tc(()=>{this._log(`The reconnection grace time of ${Mb(this._reconnectionGraceTime)} has expired, so the connection will be disposed.`),this._cleanResources()},this._reconnectionGraceTime),this._disconnectRunner2=new tc(()=>{this._log(`The reconnection short grace time of ${Mb(this._reconnectionShortGraceTime)} has expired, so the connection will be disposed.`),this._cleanResources()},this._reconnectionShortGraceTime),V.once(this.protocol.onDidDispose)(()=>{this._log("The client has disconnected gracefully, so the connection will be disposed."),this._cleanResources()}),this._socketCloseListener=this.protocol.onSocketClose(()=>{this._log(`The client has disconnected, will wait for reconnection ${Mb(this._reconnectionGraceTime)} before disposing...`),this._disconnectRunner1.schedule()}),this._log("New connection established.")}_log(t){this._logService.info(`[${this._remoteAddress}][${this._reconnectionToken.substr(0,8)}][ManagementConnection] ${t}`)}shortenReconnectionGraceTimeIfNecessary(){this._disconnectRunner2.isScheduled()||this._disconnectRunner1.isScheduled()&&(this._log(`Another client has connected, will shorten the wait for reconnection ${Mb(this._reconnectionShortGraceTime)} before disposing...`),this._disconnectRunner2.schedule())}_cleanResources(){if(this._disposed)return;this._disposed=!0,this._disconnectRunner1.dispose(),this._disconnectRunner2.dispose(),this._socketCloseListener.dispose();let t=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),t.end(),this._onClose.fire(void 0),this._onClose.dispose()}acceptReconnection(t,e,n){this._remoteAddress=t,this._log("The client has reconnected."),this._disconnectRunner1.cancel(),this._disconnectRunner2.cancel(),this.protocol.beginAcceptReconnection(e,n),this.protocol.endAcceptReconnection()}}});import*as OF from"cookie";import*as Lb from"fs";async function oK(r,t){let e=r["without-connection-token"],n=r["connection-token"],o=r["connection-token-file"];if(e)return typeof n<"u"||typeof o<"u"?new Ys("Please do not use the argument '--connection-token' or '--connection-token-file' at the same time as '--without-connection-token'."):new dP;if(typeof o<"u"){if(typeof n<"u")return new Ys("Please do not use the argument '--connection-token' at the same time as '--connection-token-file'.");let i;try{i=Lb.readFileSync(o).toString().replace(/\r?\n$/,"")}catch{return new Ys(`Unable to read the connection token file at '${o}'.`)}return cP.test(i)?new pf(i):new Ys(`The connection token defined in '${o} does not adhere to the characters 0-9, a-z, A-Z, _, or -.`)}return typeof n<"u"?cP.test(n)?new pf(n):new Ys(`The connection token '${n} does not adhere to the characters 0-9, a-z, A-Z or -.`):new pf(await t())}async function NF(r){return oK(r,async()=>{if(!r["user-data-dir"])return Se();let e=q(r["user-data-dir"],"token");try{let i=(await Lb.promises.readFile(e)).toString().replace(/\r?\n$/,"");if(cP.test(i))return i}catch{}let n=Se();try{await be.writeFile(e,n,{mode:384})}catch{}return n})}function UF(r,t,e){let n=e.getAll(Ji);if(r.validate(n.length>1?n:n[0]))return!0;let o=OF.parse(t.headers.cookie||"");return r.validate(o[zm])}var cP,dP,pf,Ys,mf=y(()=>{Me();nn();Ae();go();cP=/^[0-9A-Za-z_-]+$/,dP=class{constructor(){this.type=0}validate(t){return!0}},pf=class{constructor(t){this.value=t;this.type=2}validate(t){return t===this.value}},Ys=class{constructor(t){this.message=t}}});var Gu,rK,zu,Ob=y(()=>{de();K();Z();De();Gu=D("serverLifetimeService"),rK=300*1e3,zu=class extends _{constructor(e,n=process.exit,o){super();this._options=e;this._exit=n;this._logService=o;this._onWillShutdown=this._register(new T);this.onWillShutdown=this._onWillShutdown.event;this._onDidAbortShutdown=this._register(new T);this.onDidAbortShutdown=this._onDidAbortShutdown.event;this._consumers=new Map;this._totalCount=0;this._shutdownGeneration=0;this._options.enableAutoShutdown&&this._scheduleShutdown(!0)}get hasActiveConsumers(){return this._totalCount>0}active(e){this._shutdownGeneration++;let n=this._totalCount===0,o=this._consumers.get(e)??0;this._consumers.set(e,o+1),this._totalCount++,this._logService.debug(`ServerLifetime: consumer '${e}' active (total: ${this._totalCount})`),n&&this._cancelShutdown();let i=!1;return ce(()=>{if(i)return;i=!0;let s=this._consumers.get(e);s!==void 0&&(s<=1?this._consumers.delete(e):this._consumers.set(e,s-1)),this._totalCount--,this._logService.debug(`ServerLifetime: consumer '${e}' inactive (total: ${this._totalCount})`),this._totalCount===0&&this._options.enableAutoShutdown&&this._scheduleShutdown(!1)})}delay(){this._shutdownGeneration++,this._shutdownTimer?(this._logService.debug("ServerLifetime: delay requested, resetting shutdown timer"),this._cancelShutdown(),this._scheduleShutdown(!1)):this._shutdownPromise&&this._logService.debug("ServerLifetime: delay requested during shutdown, aborting pending exit")}_scheduleShutdown(e){this._options.shutdownWithoutDelay&&!e?this._tryShutdown():(this._logService.debug("ServerLifetime: scheduling shutdown timer"),this._shutdownTimer=setTimeout(()=>{this._shutdownTimer=void 0,this._tryShutdown()},rK))}_tryShutdown(){if(this._totalCount>0){this._logService.debug("ServerLifetime: consumer became active, aborting shutdown");return}if(this._shutdownPromise)return;this._logService.info("ServerLifetime: all consumers inactive, shutting down");let e=this._shutdownGeneration,n=[];this._onWillShutdown.fire({join:o=>n.push(o)}),this._shutdownPromise=Promise.all(n.map(o=>o.catch(i=>{this._logService.error("ServerLifetime: shutdown participant failed",i)}))).then(()=>{if(this._shutdownPromise=void 0,this._totalCount>0||e!==this._shutdownGeneration){this._logService.info("ServerLifetime: consumer became active during shutdown, aborting exit"),this._onDidAbortShutdown.fire(),this._totalCount===0&&this._options.enableAutoShutdown&&this._scheduleShutdown(!1);return}this.dispose(),this._exit(0)})}_cancelShutdown(){this._shutdownTimer&&(this._logService.debug("ServerLifetime: cancelling shutdown timer"),clearTimeout(this._shutdownTimer),this._shutdownTimer=void 0)}};zu=C([b(2,z)],zu)});function FF(r,t){let e={"Content-Security-Policy":"default-src 'none'; sandbox","X-Content-Type-Options":"nosniff",Vary:"Origin"};return r&&(r===iK||t(r))&&(e["Access-Control-Allow-Origin"]=r),e}var iK,HF=y(()=>{Ae();iK=`${B.vscodeFileResource}://${Gm}`});import{networkInterfaces as sK}from"os";function lK(r){let t=r.replace(/\-/g,":").toLowerCase();return!aK.has(t)}function WF(){let r=sK();for(let t in r){let e=r[t];if(e){for(let{mac:n}of e)if(lK(n))return n}}throw new Error("Unable to retrieve mac address (unexpected format)")}var aK,VF=y(()=>{aK=new Set(["00:00:00:00:00:00","ff:ff:ff:ff:ff:ff","ac:de:48:00:11:22"])});import{networkInterfaces as cK}from"os";async function BF(r){return uP||(uP=(async()=>await dK(r)||Se())()),uP}async function dK(r){try{let t=await import("crypto"),e=WF();return t.createHash("sha256").update(e,"utf8").digest("hex")}catch(t){r(t);return}}async function qF(r){if(te){let t=await import("@vscode/windows-registry");try{return t.GetStringRegKey("HKEY_LOCAL_MACHINE",uK,"MachineId")||""}catch(e){return r(e),""}}return""}async function $F(r){try{let e=await(await import("@vscode/deviceid")).getDeviceId();return $0(e)}catch(t){return r(t),Se()}}var pP,uP,uK,mP=y(()=>{vg();nn();VF();me();Tt();pP=new class{_isVirtualMachineMacAddress(r){return this._virtualMachineOUIs||(this._virtualMachineOUIs=Ci.forStrings(),this._virtualMachineOUIs.set("00-50-56",!0),this._virtualMachineOUIs.set("00-0C-29",!0),this._virtualMachineOUIs.set("00-05-69",!0),this._virtualMachineOUIs.set("00-03-FF",!0),this._virtualMachineOUIs.set("00-1C-42",!0),this._virtualMachineOUIs.set("00-16-3E",!0),this._virtualMachineOUIs.set("08-00-27",!0),this._virtualMachineOUIs.set("00:50:56",!0),this._virtualMachineOUIs.set("00:0C:29",!0),this._virtualMachineOUIs.set("00:05:69",!0),this._virtualMachineOUIs.set("00:03:FF",!0),this._virtualMachineOUIs.set("00:1C:42",!0),this._virtualMachineOUIs.set("00:16:3E",!0),this._virtualMachineOUIs.set("08:00:27",!0)),!!this._virtualMachineOUIs.findSubstr(r)}value(){if(this._value===void 0){let r=0,t=0,e=cK();for(let n in e){let o=e[n];if(o)for(let{mac:i,internal:s}of o)s||(t+=1,this._isVirtualMachineMacAddress(i.toUpperCase())&&(r+=1))}this._value=t>0?r/t:0}return this._value}};uK="Software\\Microsoft\\SQMClient"});var gf,zF=y(()=>{de();K();gf=class extends _{constructor(){super(...arguments);this._onCloseEmitter=this._register(new T);this._onReloadEmitter=this._register(new T);this._onTerminateEmitter=this._register(new T);this._onAttachEmitter=this._register(new T)}static{this.ChannelName="extensionhostdebugservice"}call(e,n,o){switch(n){case"close":return Promise.resolve(this._onCloseEmitter.fire({sessionId:o[0]}));case"reload":return Promise.resolve(this._onReloadEmitter.fire({sessionId:o[0]}));case"terminate":return Promise.resolve(this._onTerminateEmitter.fire({sessionId:o[0]}));case"attach":return Promise.resolve(this._onAttachEmitter.fire({sessionId:o[0],port:o[1],subId:o[2]}))}throw new Error("Method not implemented.")}listen(e,n,o){switch(n){case"close":return this._onCloseEmitter.event;case"reload":return this._onReloadEmitter.event;case"terminate":return this._onTerminateEmitter.event;case"attach":return this._onAttachEmitter.event}throw new Error("Method not implemented.")}}});var Nb,GF=y(()=>{oe();Nb=class{constructor(t,e){this.channel=t;this.getUriTransformer=e}async download(t,e,n){let o=this.getUriTransformer();o&&(t=o.transformOutgoingURI(t),e=o.transformOutgoingURI(e)),await this.channel.call("download",[t,e])}}});function KF(r){return r.toJSON()}function jF(r,t,e){if(!r||e>200)return null;if(typeof r=="object"){if(r instanceof S)return t.transformOutgoing(r);for(let n in r)if(Object.hasOwnProperty.call(r,n)){let o=jF(r[n],t,e+1);o!==null&&(r[n]=o)}}return null}function Br(r,t){let e=jF(r,t,0);return e===null?r:e}function gP(r,t,e,n){if(!r||n>200)return null;if(typeof r=="object"){if(r.$mid===1)return e?S.revive(t.transformIncoming(r)):t.transformIncoming(r);if(r instanceof L)return null;for(let o in r)if(Object.hasOwnProperty.call(r,o)){let i=gP(r[o],t,e,n+1);i!==null&&(r[o]=i)}}return null}function fP(r,t){let e=gP(r,t,!1,0);return e===null?r:e}function ju(r,t){let e=gP(r,t,!0,0);return e===null?r:e}var Ub,Ku,bl=y(()=>{Ke();Zl();oe();Ub=class{constructor(t){this._uriTransformer=t}transformIncoming(t){let e=this._uriTransformer.transformIncoming(t);return e===t?t:KF(S.from(e))}transformOutgoing(t){let e=this._uriTransformer.transformOutgoing(t);return e===t?t:KF(S.from(e))}transformOutgoingURI(t){let e=this._uriTransformer.transformOutgoing(t);return e===t?t:S.from(e)}transformOutgoingScheme(t){return this._uriTransformer.transformOutgoingScheme(t)}},Ku=new class{transformIncoming(r){return r}transformOutgoing(r){return r}transformOutgoingURI(r){return r}transformOutgoingScheme(r){return r}}});function Mi(r,t){return r?S.revive(t?t.transformIncoming(r):r):void 0}function Qu(r,t){return t?t.transformOutgoingURI(r):r}function ff(r,t){t=t||Ku;let e=r.manifest;return{...ju({...r,manifest:void 0},t),manifest:e}}function hf(r,t){return r?.profileLocation?ju(r,t??Ku):r}function vf(r,t){return t?to(r,e=>e instanceof S?t.transformOutgoingURI(e):void 0):r}var Fb,QF=y(()=>{de();jt();oe();bl();Bg();me();Fb=class{constructor(t,e){this.service=t;this.getUriTransformer=e;this.onInstallExtension=V.buffer(t.onInstallExtension,"onInstallExtension",!0),this.onDidInstallExtensions=V.buffer(t.onDidInstallExtensions,"onDidInstallExtensions",!0),this.onUninstallExtension=V.buffer(t.onUninstallExtension,"onUninstallExtension",!0),this.onDidUninstallExtension=V.buffer(t.onDidUninstallExtension,"onDidUninstallExtension",!0),this.onDidUpdateExtensionMetadata=V.buffer(t.onDidUpdateExtensionMetadata,"onDidUpdateExtensionMetadata",!0)}listen(t,e){let n=this.getUriTransformer(t);switch(e){case"onInstallExtension":return V.map(this.onInstallExtension,o=>({...o,profileLocation:o.profileLocation?Qu(o.profileLocation,n):o.profileLocation}));case"onDidInstallExtensions":return V.map(this.onDidInstallExtensions,o=>o.map(i=>({...i,local:i.local?vf(i.local,n):i.local,profileLocation:i.profileLocation?Qu(i.profileLocation,n):i.profileLocation})));case"onUninstallExtension":return V.map(this.onUninstallExtension,o=>({...o,profileLocation:o.profileLocation?Qu(o.profileLocation,n):o.profileLocation}));case"onDidUninstallExtension":return V.map(this.onDidUninstallExtension,o=>({...o,profileLocation:o.profileLocation?Qu(o.profileLocation,n):o.profileLocation}));case"onDidUpdateExtensionMetadata":return V.map(this.onDidUpdateExtensionMetadata,o=>({local:vf(o.local,n),profileLocation:Qu(o.profileLocation,n)}))}throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"zip":{let i=ff(n[0],o),s=await this.service.zip(i);return Qu(s,o)}case"install":return this.service.install(Mi(n[0],o),hf(n[1],o));case"installFromLocation":return this.service.installFromLocation(Mi(n[0],o),Mi(n[1],o));case"installExtensionsFromProfile":return this.service.installExtensionsFromProfile(n[0],Mi(n[1],o),Mi(n[2],o));case"getManifest":return this.service.getManifest(Mi(n[0],o));case"getTargetPlatform":return this.service.getTargetPlatform();case"installFromGallery":return this.service.installFromGallery(n[0],hf(n[1],o));case"installGalleryExtensions":{let i=n[0];return this.service.installGalleryExtensions(i.map(({extension:s,options:a})=>({extension:s,options:hf(a,o)??{}})))}case"uninstall":return this.service.uninstall(ff(n[0],o),hf(n[1],o));case"uninstallExtensions":{let i=n[0];return this.service.uninstallExtensions(i.map(({extension:s,options:a})=>({extension:ff(s,o),options:hf(a,o)})))}case"getInstalled":return(await this.service.getInstalled(n[0],Mi(n[1],o),n[2],n[3])).map(s=>vf(s,o));case"toggleApplicationScope":{let i=await this.service.toggleApplicationScope(ff(n[0],o),Mi(n[1],o));return vf(i,o)}case"copyExtensions":return this.service.copyExtensions(Mi(n[0],o),Mi(n[1],o));case"updateMetadata":{let i=await this.service.updateMetadata(ff(n[0],o),n[1],Mi(n[2],o));return vf(i,o)}case"resetPinnedStateForAllUserExtensions":return this.service.resetPinnedStateForAllUserExtensions(n[0]);case"getExtensionsControlManifest":return this.service.getExtensionsControlManifest();case"download":return this.service.download(n[0],n[1],n[2]);case"cleanUp":return this.service.cleanUp()}throw new Error("Invalid call")}}});var Hb,JF=y(()=>{Ke();Zt();de();Hb=class{constructor(t){this.service=t}listen(t,e){throw new Error("Invalid listen")}call(t,e,n,o=Pe.None){switch(e){case"request":return this.service.request(n[0],o).then(async({res:i,stream:s})=>{let a=await mr(s);return[{statusCode:i.statusCode,headers:i.headers},a]});case"resolveProxy":return this.service.resolveProxy(n[0]);case"lookupAuthorization":return this.service.lookupAuthorization(n[0]);case"lookupKerberosAuthorization":return this.service.lookupKerberosAuthorization(n[0]);case"loadCertificates":return this.service.loadCertificates()}throw new Error("Invalid call")}}});function hP(r){if(!r||typeof r!="object")return{callstack:void 0,msg:Vd(r)};let t=Array.isArray(r.stack)?r.stack.join(`
`):r.stack,e=r.message?r.message:Vd(r);return{callstack:t,msg:e}}var YF,yf,vP=y(()=>{At();Ee();de();K();jt();nt();(t=>{function r(e,n){return e.callstack<n.callstack?-1:e.callstack>n.callstack?1:0}t.compare=r})(YF||={});yf=class r{constructor(t,e=r.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new ie;this._telemetryService=t,this._flushDelay=e;let n=bd.addListener(o=>this._onErrorEvent(o));this._disposables.add(ce(n)),this.installErrorListeners()}static{this.ERROR_FLUSH_TIMEOUT=5*1e3}dispose(){clearTimeout(this._flushHandle),this._flushBuffer(),this._disposables.dispose()}installErrorListeners(){}_onErrorEvent(t){if(!t||t.code||(t.detail&&t.detail.stack&&(t=t.detail),Yn.isErrorNoTelemetry(t)||t instanceof En||Fv.is(t)||typeof t?.message=="string"&&t.message.includes("Unable to read file")))return;let{callstack:e,msg:n}=hP(t);if(!e)return;let o={msg:n,callstack:e};Td.is(t)&&(o.kind=t.kind,o.listenerCount=t.listenerCount),this._enqueue(o)}_enqueue(t){let e=c0(this._buffer,t,YF.compare);e<0?(t.count=1,this._buffer.splice(~e,0,t)):(this._buffer[e].count||(this._buffer[e].count=0),this._buffer[e].count+=1),this._flushHandle===void 0&&(this._flushHandle=setTimeout(()=>{this._flushBuffer(),this._flushHandle=void 0},this._flushDelay))}_flushBuffer(){for(let t of this._buffer)this._telemetryService.publicLogError2("UnhandledError",t);this._buffer.length=0}}});var If,XF=y(()=>{Ee();vP();If=class extends yf{installErrorListeners(){Hv(e=>console.error(e));let t=[];process.on("unhandledRejection",(e,n)=>{t.push(n),setTimeout(()=>{let o=t.indexOf(n);o>=0&&n.catch(i=>{t.splice(o,1),on(i)||(console.warn(`rejected promise not handled within 1 second: ${i}`),i.stack&&console.warn(`stack trace: ${i.stack}`),e&&st(e))})},1e3)}),process.on("rejectionHandled",e=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)}),process.on("uncaughtException",e=>{Wv(e)||st(e)})}}});var ZF,pK,yP,u_e,e2,Sl=y(()=>{Z();Vo();ZF=D("ptyService"),pK={Backend:"workbench.contributions.terminal.processBackend"},yP=class{constructor(){this._backends=new Map}get backends(){return this._backends}registerTerminalBackend(t){let e=this._sanitizeRemoteAuthority(t.remoteAuthority);if(this._backends.has(e))throw new Error(`A terminal backend with remote authority '${e}' was already registered.`);this._backends.set(e,t)}getTerminalBackend(t){return this._backends.get(this._sanitizeRemoteAuthority(t))}_sanitizeRemoteAuthority(t){return t?.toLowerCase()??""}};ht.add(pK.Backend,new yP);u_e=D("localPtyService"),e2=D("terminalLogService")});var Wb,Ju,Vb=y(()=>{oe();de();De();K();Wb=class{constructor(t,e){this.loggerService=t;this.getUriTransformer=e}listen(t,e){let n=this.getUriTransformer(t);switch(e){case"onDidChangeLoggers":return V.map(this.loggerService.onDidChangeLoggers,o=>({added:[...o.added].map(i=>this.transformLogger(i,n)),removed:[...o.removed].map(i=>this.transformLogger(i,n))}));case"onDidChangeVisibility":return V.map(this.loggerService.onDidChangeVisibility,o=>[n.transformOutgoingURI(o[0]),o[1]]);case"onDidChangeLogLevel":return V.map(this.loggerService.onDidChangeLogLevel,o=>Ow(o)?o:[n.transformOutgoingURI(o[0]),o[1]])}throw new Error(`Event not found: ${e}`)}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"setLogLevel":return Ow(n[0])?this.loggerService.setLogLevel(n[0]):this.loggerService.setLogLevel(S.revive(o.transformIncoming(n[0][0])),n[0][1]);case"getRegisteredLoggers":return Promise.resolve([...this.loggerService.getRegisteredLoggers()].map(i=>this.transformLogger(i,o)))}throw new Error(`Call not found: ${e}`)}transformLogger(t,e){return{...t,resource:e.transformOutgoingURI(t.resource)}}},Ju=class extends _{constructor(t,e){super(),e.call("setLogLevel",[t.getLogLevel()]),this._register(t.onDidChangeLogLevel(n=>e.call("setLogLevel",[n]))),e.call("getRegisteredLoggers").then(n=>{for(let o of n)t.registerLogger({...o,resource:S.revive(o.resource)})}),this._register(e.listen("onDidChangeVisibility")(([n,o])=>t.setVisibility(S.revive(n),o))),this._register(e.listen("onDidChangeLoggers")(({added:n,removed:o})=>{for(let i of n)t.registerLogger({...i,resource:S.revive(i.resource)});for(let i of o)t.deregisterLogger(i.resource)}))}}});var Yu,t2=y(()=>{Ne();Zt();de();K();De();Yu=class extends _{constructor(e,n){super();this._logService=n;this._lastRequestId=0;this._pendingRequests=new Map;this._pendingRequestDisposables=new Map;this._onCreateRequest=this._register(new T);this.onCreateRequest=this._onCreateRequest.event;this._timeout=e===void 0?15e3:e,this._register(ce(()=>{for(let o of this._pendingRequestDisposables.values())gn(o)}))}createRequest(e){return new Promise((n,o)=>{let i=++this._lastRequestId;this._pendingRequests.set(i,n),this._onCreateRequest.fire({requestId:i,...e});let s=new wt;Eo(this._timeout,s.token).then(()=>o(`Request ${i} timed out (${this._timeout}ms)`)),this._pendingRequestDisposables.set(i,[ce(()=>s.cancel())])})}acceptReply(e,n){let o=this._pendingRequests.get(e);o?(this._pendingRequests.delete(e),gn(this._pendingRequestDisposables.get(e)||[]),this._pendingRequestDisposables.delete(e),o(n)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${e}`)}};Yu=C([b(1,z)],Yu)});function n2(r,t){let e=[{name:null,description:d(3865,null)}];return e.push(...r.map(n=>({name:n.profileName,description:mK(n)}))),t&&e.push(...t.map(n=>({name:n.title,description:gK(n)}))),{values:e.map(n=>n.name),markdownDescriptions:e.map(n=>n.description)}}function mK(r){let t=`$(${an.isThemeIcon(r.icon)?r.icon.id:r.icon?r.icon:X.terminal.id}) ${r.profileName}
- path: ${r.path}`;return r.args&&(j(r.args)?t+=`
- args: "${r.args}"`:t+=`
- args: [${r.args.length===0?"":`'${r.args.join("','")}'`}]`),r.overrideName!==void 0&&(t+=`
- overrideName: ${r.overrideName}`),r.color&&(t+=`
- color: ${r.color}`),r.env&&(t+=`
- env: ${JSON.stringify(r.env)}`),t}function gK(r){return`$(${an.isThemeIcon(r.icon)?r.icon.id:r.icon?r.icon:X.terminal.id}) ${r.title}
- extensionIdentifier: ${r.extensionIdentifier}`}var o2=y(()=>{as();oe();re();nl();we()});function bP(r){let t=r===2?"linux":r===1?"osx":"windows";return d(3844,null,Am(r),'```json\n"terminal.integrated.profile.'+t+'": {\n "bash": null\n}\n```',"[","](https://code.visualstudio.com/docs/terminal/profiles)")}function r2(){ht.as(Kn.Configuration).registerConfiguration(vK),yK()}function yK(r,t){let e=ht.as(Kn.Configuration),n;r&&(n=n2(r?.profiles,t));let o=SP;SP={id:"terminal",order:100,title:d(3848,null),type:"object",properties:{"terminal.integrated.defaultProfile.linux":{restricted:!0,markdownDescription:d(3839,null),type:["string","null"],default:null,enum:r?.os===3?n?.values:void 0,markdownEnumDescriptions:r?.os===3?n?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.osx":{restricted:!0,markdownDescription:d(3840,null),type:["string","null"],default:null,enum:r?.os===2?n?.values:void 0,markdownEnumDescriptions:r?.os===2?n?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.windows":{restricted:!0,markdownDescription:d(3841,null),type:["string","null"],default:null,enum:r?.os===1?n?.values:void 0,markdownEnumDescriptions:r?.os===1?n?.markdownDescriptions:void 0}}},e.updateConfigurations({add:[SP],remove:o?[o]:[]})}var fK,hK,Zu,IP,Xu,vK,SP,i2=y(()=>{as();me();re();Or();Vo();Sl();o2();fK={type:["string","null"],enum:["terminal.ansiBlack","terminal.ansiRed","terminal.ansiGreen","terminal.ansiYellow","terminal.ansiBlue","terminal.ansiMagenta","terminal.ansiCyan","terminal.ansiWhite"],default:null},hK={type:"string",enum:Array.from(tR(),r=>r.id),markdownEnumDescriptions:Array.from(tR(),r=>`$(${r.id})`)},Zu={args:{description:d(3849,null),type:"array",items:{type:"string"}},icon:{description:d(3852,null),...hK},color:{description:d(3850,null),...fK},env:{markdownDescription:d(3851,null),type:"object",additionalProperties:{type:["string","null"]},default:{}}},IP={type:"object",required:["path"],properties:{path:{description:d(3860,null),type:["string","array"],items:{type:"string"}},overrideName:{description:d(3859,null),type:"boolean"},...Zu}},Xu={type:"object",required:["path"],properties:{path:{description:d(3847,null),type:["string"],items:{type:"string"}},...Zu}};vK={id:"terminal",order:100,title:d(3848,null),type:"object",properties:{"terminal.integrated.automationProfile.linux":{restricted:!0,markdownDescription:d(3835,null),type:["object","null"],default:null,anyOf:[{type:"null"},Xu],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.osx":{restricted:!0,markdownDescription:d(3836,null),type:["object","null"],default:null,anyOf:[{type:"null"},Xu],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.windows":{restricted:!0,markdownDescription:d(3837,null,"`terminal.integrated.automationShell.windows`"),type:["object","null"],default:null,anyOf:[{type:"null"},Xu],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.linux":{restricted:!0,markdownDescription:d(3832,null,"`#terminal.integrated.profiles.linux#`","`#terminal.integrated.defaultProfile.linux#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},Xu],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.osx":{restricted:!0,markdownDescription:d(3833,null,"`#terminal.integrated.profiles.osx#`","`#terminal.integrated.defaultProfile.osx#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},Xu],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.windows":{restricted:!0,markdownDescription:d(3834,null,"`#terminal.integrated.profiles.windows#`","`#terminal.integrated.defaultProfile.windows#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},Xu],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.profiles.windows":{restricted:!0,markdownDescription:bP(3),type:"object",default:{PowerShell:{source:"PowerShell",icon:X.terminalPowershell.id},"Command Prompt":{path:["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],args:[],icon:X.terminalCmd.id},"Git Bash":{source:"Git Bash",icon:X.terminalGitBash.id}},additionalProperties:{anyOf:[{type:"object",required:["source"],properties:{source:{description:d(3864,null),enum:["PowerShell","Git Bash"]},...Zu}},{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:d(3862,null),type:"string"},id:{description:d(3861,null),type:"string"},title:{description:d(3863,null),type:"string"},...Zu}},{type:"null"},IP]}},"terminal.integrated.profiles.osx":{restricted:!0,markdownDescription:bP(1),type:"object",default:{bash:{path:"bash",args:["-l"],icon:X.terminalBash.id},zsh:{path:"zsh",args:["-l"]},fish:{path:"fish",args:["-l"]},tmux:{path:"tmux",icon:X.terminalTmux.id},pwsh:{path:"pwsh",icon:X.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:d(3857,null),type:"string"},id:{description:d(3856,null),type:"string"},title:{description:d(3858,null),type:"string"},...Zu}},{type:"null"},IP]}},"terminal.integrated.profiles.linux":{restricted:!0,markdownDescription:bP(2),type:"object",default:{bash:{path:"bash",icon:X.terminalBash.id},zsh:{path:"zsh"},fish:{path:"fish"},tmux:{path:"tmux",icon:X.terminalTmux.id},pwsh:{path:"pwsh",icon:X.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:d(3854,null),type:"string"},id:{description:d(3853,null),type:"string"},title:{description:d(3855,null),type:"string"},...Zu}},{type:"null"},IP]}},"terminal.integrated.useWslProfiles":{description:d(3846,null),type:"boolean",default:!0},"terminal.integrated.inheritEnv":{scope:1,description:d(3842,null),type:"boolean",default:!0},"terminal.integrated.persistentSessionScrollback":{scope:1,markdownDescription:d(3843,null),type:"number",default:100},"terminal.integrated.showLinkHover":{scope:1,description:d(3845,null),type:"boolean",default:!0},"terminal.integrated.ignoreProcessNames":{markdownDescription:d(3838,null,"`#terminal.integrated.confirmOnKill#`"),type:"array",items:{type:"string",uniqueItems:!0},default:["starship","oh-my-posh","bash","zsh"]}}}});import*as qb from"os";async function IK(){if(bf)return;if(!te){bf={release:qb.release(),buildNumber:0};return}let r,t;try{let e=await import("@vscode/windows-registry"),n="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",o=e.GetStringRegKey("HKEY_LOCAL_MACHINE",n,"CurrentBuild");o!==void 0&&(r=parseInt(o,10),isNaN(r)&&(r=void 0));let i=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",n,"CurrentMajorVersionNumber"),s=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",n,"CurrentMinorVersionNumber");i!==void 0&&s!==void 0&&o!==void 0&&(t=`${i}.${s}.${o}`)}catch{}finally{bf={release:t||qb.release(),buildNumber:r||bK()}}}async function s2(){return bf||await IK(),bf.buildNumber}function bK(){let r=/(\d+)\.(\d+)\.(\d+)/g.exec(qb.release());return r&&r.length===4?parseInt(r[3],10):0}var bf,a2=y(()=>{me()});import*as d2 from"fs";import*as u2 from"child_process";function p2(r,t,e,n,o=process.env,i,s,a,l){return i=i||{existsFile:wo.existsFile,readFile:d2.promises.readFile},te?SK(e,i,o,s,n.getValue("terminal.integrated.useWslProfiles")!==!1,r&&_e(r)?{...r}:n.getValue("terminal.integrated.profiles.windows"),j(t)?t:n.getValue("terminal.integrated.defaultProfile.windows"),l,a):PK(i,s,e,r&&_e(r)?{...r}:n.getValue($e?"terminal.integrated.profiles.linux":"terminal.integrated.profiles.osx"),j(t)?t:n.getValue($e?"terminal.integrated.defaultProfile.linux":"terminal.integrated.defaultProfile.osx"),l,a,o)}async function SK(r,t,e,n,o,i,s,a,l){let c=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432"),u=`${process.env.windir}\\${c?"Sysnative":"System32"}`,p=await s2()>=19041;await CK(a);let m=new Map;if(r){m.set("PowerShell",{source:"PowerShell",icon:X.terminalPowershell,isAutoDetected:!0}),m.set("Windows PowerShell",{path:`${u}\\WindowsPowerShell\\v1.0\\powershell.exe`,icon:X.terminalPowershell,isAutoDetected:!0}),m.set("Git Bash",{source:"Git Bash",icon:X.terminalGitBash,isAutoDetected:!0}),m.set("Command Prompt",{path:`${u}\\cmd.exe`,icon:X.terminalCmd,isAutoDetected:!0}),m.set("Cygwin",{path:[{path:`${process.env.HOMEDRIVE}\\cygwin64\\bin\\bash.exe`,isUnsafe:!0},{path:`${process.env.HOMEDRIVE}\\cygwin\\bin\\bash.exe`,isUnsafe:!0}],args:["--login"],isAutoDetected:!0}),m.set("bash (MSYS2)",{path:[{path:`${process.env.HOMEDRIVE}\\msys64\\usr\\bin\\bash.exe`,isUnsafe:!0}],args:["--login","-i"],env:{CHERE_INVOKING:"1"},icon:X.terminalBash,isAutoDetected:!0});let h=`${process.env.CMDER_ROOT||`${process.env.HOMEDRIVE}\\cmder`}\\vendor\\bin\\vscode_init.cmd`;m.set("Cmder",{path:`${u}\\cmd.exe`,args:["/K",h],requiresPath:process.env.CMDER_ROOT?h:{path:h,isUnsafe:!0},isAutoDetected:!0})}g2(i,m);let f=await m2(m.entries(),s,t,e,n,l);if(r&&o&&p)try{let h=await TK(`${u}\\wsl.exe`,s);for(let v of h)(!i||!Object.prototype.hasOwnProperty.call(i,v.profileName))&&f.push(v)}catch{l2&&(n?.trace("WSL is not installed, so could not detect WSL profiles"),l2=!1)}return f}async function m2(r,t,e,n=process.env,o,i){let s=[];for(let[a,l]of r)s.push(xK(a,l,t,e,n,o,i));return(await Promise.all(s)).filter(a=>!!a)}async function xK(r,t,e,n,o=process.env,i,s){if(t===null)return;let a,l,c;if(xn(t,{source:!0})){let f=Sf?.get(t.source);if(!f)return;a=f.paths,l=t.args||f.args,t.icon?c=c2(t.icon):f.icon&&(c=f.icon)}else a=Array.isArray(t.path)?t.path:[t.path],l=te||Array.isArray(t.args)?t.args:void 0,c=c2(t.icon);let u;if(s){let f=a.map(v=>j(v)?v:v.path),h=await s(f);u=new Array(a.length);for(let v=0;v<a.length;v++)j(a[v])?u[v]=h[v]:u[v]={path:h[v],isUnsafe:!0}}else u=a.slice();let p;if(t.requiresPath){let f;if(j(t.requiresPath)?f=t.requiresPath:(f=t.requiresPath.path,t.requiresPath.isUnsafe&&(p=f)),!await n.existsFile(f))return}let m=await $b(r,e,u,n,o,l,t.env,t.overrideName,t.isAutoDetected,p);if(!m){i?.debug("Terminal profile not validated",r,a);return}return m.isAutoDetected=t.isAutoDetected,m.icon=c,m.color=t.color,m}function c2(r){return j(r)?{id:r}:r}async function CK(r){if(Sf&&!r)return;let[t,e]=await Promise.all([EK(),r||wK()]);Sf=new Map,Sf.set("Git Bash",{profileName:"Git Bash",paths:t,args:["--login","-i"]}),Sf.set("PowerShell",{profileName:"PowerShell",paths:e,icon:X.terminalPowershell})}async function EK(){let r=new Set,t=await hc("git.exe");if(t){let o=Nt(t);r.add(qn(o,"../.."))}function e(o,i){i&&o.add(i)}e(r,process.env.ProgramW6432),e(r,process.env.ProgramFiles),e(r,process.env["ProgramFiles(X86)"]),e(r,`${process.env.LocalAppData}\\Program`);let n=[];for(let o of r)n.push(`${o}\\Git\\bin\\bash.exe`,`${o}\\Git\\usr\\bin\\bash.exe`,`${o}\\usr\\bin\\bash.exe`);return n.push(`${process.env.UserProfile}\\scoop\\apps\\git\\current\\bin\\bash.exe`),n.push(`${process.env.UserProfile}\\scoop\\apps\\git-with-openssh\\current\\bin\\bash.exe`),n}async function wK(){let r=[];for await(let t of uT())r.push(t.exePath);return r}async function TK(r,t){let e=[],n=await new Promise((i,s)=>{u2.exec("wsl.exe -l -q",{encoding:"utf16le",env:{...process.env,WSL_UTF8:"0"},timeout:1e3},(a,l)=>{if(a)return s("Problem occurred when getting wsl distros");i(l)})});if(!n)return[];let o=n.split(/\r?\n/).filter(i=>i.trim().length>0);for(let i of o){if(i===""||i.startsWith("docker-desktop"))continue;let s=`${i} (WSL)`,a={profileName:s,path:r,args:["-d",`${i}`],isDefault:s===t,icon:RK(i),isAutoDetected:!1};e.push(a)}return e}function RK(r){return r.includes("Ubuntu")?X.terminalUbuntu:r.includes("Debian")?X.terminalDebian:X.terminalLinux}async function PK(r,t,e,n,o,i,s,a){let l=new Map;if(e&&await r.existsFile("/etc/shells")){let c=(await r.readFile("/etc/shells")).toString(),u=(i||c.split(`
`)).map(m=>{let f=m.indexOf("#");return f===-1?m:m.substring(0,f)}).filter(m=>m.trim().length>0),p=new Map;for(let m of u){let f=ut(m),h=p.get(f)||0;h++,h>1&&(f=`${f} (${h})`),p.set(f,h),l.set(f,{path:m,isAutoDetected:!0})}}return g2(n,l),await m2(l.entries(),o,r,a,t,s)}function g2(r,t){if(r)for(let[e,n]of Object.entries(r))n===null||!_e(n)||!xn(n,{path:!0})&&!xn(n,{source:!0})?t.delete(e):(n.icon=n.icon||t.get(e)?.icon,t.set(e,n))}async function $b(r,t,e,n,o,i,s,a,l,c){if(e.length===0)return Promise.resolve(void 0);let u=e.shift();if(u==="")return $b(r,t,e,n,o,i,s,a,l);let p=!j(u)&&u.isUnsafe,m=j(u)?u:u.path,f={profileName:r,path:m,args:i,env:s,overrideName:a,isAutoDetected:l,isDefault:r===t,isUnsafePath:p,requiresUnsafePath:c};if(ut(m)===m){let v=o.PATH?o.PATH.split(xa):void 0,I=await hc(m,void 0,v,void 0,n.existsFile);return I?(f.path=I,f.isFromPath=!0,f):$b(r,t,e,n,o,i)}return await n.existsFile(Mn(m))?f:$b(r,t,e,n,o,i,s,a,l)}var Sf,l2,f2=y(()=>{as();Me();me();Sg();we();go();pT();Sl();a2();l2=!0});var ep,h2=y(()=>{de();K();me();Ks();tn();De();Vb();Cg();t2();Sl();i2();f2();fT();_s();ep=class extends _{constructor(e,n,o,i){super();this._ptyHostStarter=e;this._configurationService=n;this._logService=o;this._loggerService=i;this._wasQuitRequested=!1;this._restartCount=0;this._isResponsive=!0;this._onPtyHostExit=this._register(new T);this.onPtyHostExit=this._onPtyHostExit.event;this._onPtyHostStart=this._register(new T);this.onPtyHostStart=this._onPtyHostStart.event;this._onPtyHostUnresponsive=this._register(new T);this.onPtyHostUnresponsive=this._onPtyHostUnresponsive.event;this._onPtyHostResponsive=this._register(new T);this.onPtyHostResponsive=this._onPtyHostResponsive.event;this._onPtyHostRequestResolveVariables=this._register(new T);this.onPtyHostRequestResolveVariables=this._onPtyHostRequestResolveVariables.event;this._onProcessData=this._register(new T);this.onProcessData=this._onProcessData.event;this._onProcessReady=this._register(new T);this.onProcessReady=this._onProcessReady.event;this._onProcessReplay=this._register(new T);this.onProcessReplay=this._onProcessReplay.event;this._onProcessOrphanQuestion=this._register(new T);this.onProcessOrphanQuestion=this._onProcessOrphanQuestion.event;this._onDidRequestDetach=this._register(new T);this.onDidRequestDetach=this._onDidRequestDetach.event;this._onDidChangeProperty=this._register(new T);this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=this._register(new T);this.onProcessExit=this._onProcessExit.event;this._ptyHostStore=this._register(new ie);r2(),this._register(this._ptyHostStarter),this._register(ce(()=>this._disposePtyHost())),this._resolveVariablesRequestStore=this._register(new Yu(void 0,this._logService)),this._register(this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables)),this._ptyHostStarter.onRequestConnection&&this._register(V.once(this._ptyHostStarter.onRequestConnection)(()=>this._ensurePtyHost())),this._ptyHostStarter.onWillShutdown&&this._register(this._ptyHostStarter.onWillShutdown(()=>this._wasQuitRequested=!0))}get _proxy(){return this._ensurePtyHost(),this.__proxy}get _optionalProxy(){return this.__proxy}_ensurePtyHost(){this.__connection||this._startPtyHost()}get _ignoreProcessNames(){return this._configurationService.getValue("terminal.integrated.ignoreProcessNames")}async _refreshIgnoreProcessNames(){return this._optionalProxy?.refreshIgnoreProcessNames?.(this._ignoreProcessNames)}async _resolveShellEnv(){if(te)return process.env;try{return await Ja(this._configurationService,this._logService,{_:[]},process.env)}catch(e){return this._logService.error("ptyHost was unable to resolve shell environment",e),{}}}_startPtyHost(){let e=this._ptyHostStarter.start(),n=e.client,o=this._ptyHostStore;o.add(e.store),this._logService.getLevel()===1&&this._logService.trace("PtyHostService#_startPtyHost",new Error().stack?.replace(/^Error/,""));let i=Vr.toService(n.getChannel("heartbeat"));o.add(i.onBeat(()=>this._handleHeartbeat())),this._handleHeartbeat(!0),o.add(e.onDidProcessExit(a=>{this._onPtyHostExit.fire(a.code),!this._wasQuitRequested&&!this._store.isDisposed&&(this._restartCount<=5?(this._logService.error(`ptyHost terminated unexpectedly with code ${a.code}`),this._restartCount++,this.restartPtyHost()):this._logService.error(`ptyHost terminated unexpectedly with code ${a.code}, giving up`))}));let s=Vr.toService(n.getChannel("ptyHost"));o.add(s.onProcessData(a=>this._onProcessData.fire(a))),o.add(s.onProcessReady(a=>this._onProcessReady.fire(a))),o.add(s.onProcessExit(a=>this._onProcessExit.fire(a))),o.add(s.onDidChangeProperty(a=>this._onDidChangeProperty.fire(a))),o.add(s.onProcessReplay(a=>this._onProcessReplay.fire(a))),o.add(s.onProcessOrphanQuestion(a=>this._onProcessOrphanQuestion.fire(a))),o.add(s.onDidRequestDetach(a=>this._onDidRequestDetach.fire(a))),o.add(new Ju(this._loggerService,n.getChannel("logger"))),this.__connection=e,this.__proxy=s,this._onPtyHostStart.fire(),o.add(this._configurationService.onDidChangeConfiguration(async a=>{a.affectsConfiguration("terminal.integrated.ignoreProcessNames")&&await this._refreshIgnoreProcessNames()})),this._refreshIgnoreProcessNames()}async createProcess(e,n,o,i,s,a,l,c,u,p,m){let f=setTimeout(()=>this._handleUnresponsiveCreateProcess(),5e3),h=await this._proxy.createProcess(e,n,o,i,s,a,l,c,u,p,m);return clearTimeout(f),h}updateTitle(e,n,o){return this._proxy.updateTitle(e,n,o)}updateIcon(e,n,o,i){return this._proxy.updateIcon(e,n,o,i)}attachToProcess(e){return this._proxy.attachToProcess(e)}detachFromProcess(e,n){return this._proxy.detachFromProcess(e,n)}shutdownAll(){return this._proxy.shutdownAll()}listProcesses(){return this._proxy.listProcesses()}async getPerformanceMarks(){return this._optionalProxy?.getPerformanceMarks()??[]}async reduceConnectionGraceTime(){return this._optionalProxy?.reduceConnectionGraceTime()}start(e){return this._proxy.start(e)}shutdown(e,n){return this._proxy.shutdown(e,n)}input(e,n){return this._proxy.input(e,n)}sendSignal(e,n){return this._proxy.sendSignal(e,n)}processBinary(e,n){return this._proxy.processBinary(e,n)}resize(e,n,o,i,s){return this._proxy.resize(e,n,o,i,s)}clearBuffer(e){return this._proxy.clearBuffer(e)}acknowledgeDataEvent(e,n){return this._proxy.acknowledgeDataEvent(e,n)}setUnicodeVersion(e,n){return this._proxy.setUnicodeVersion(e,n)}setNextCommandId(e,n,o){return this._proxy.setNextCommandId(e,n,o)}getInitialCwd(e){return this._proxy.getInitialCwd(e)}getCwd(e){return this._proxy.getCwd(e)}async getLatency(){let e=new Zn,n=await this._proxy.getLatency();return e.stop(),[{label:"ptyhostservice<->ptyhost",latency:e.elapsed()},...n]}orphanQuestionReply(e){return this._proxy.orphanQuestionReply(e)}installAutoReply(e,n){return this._proxy.installAutoReply(e,n)}uninstallAllAutoReplies(){return this._proxy.uninstallAllAutoReplies()}getDefaultSystemShell(e){return this._optionalProxy?.getDefaultSystemShell(e)??zy(e??lr,process.env)}async getProfiles(e,n,o,i=!1){let s=await this._resolveShellEnv();return p2(n,o,i,this._configurationService,s,void 0,this._logService,this._resolveVariables.bind(this,e))}async getEnvironment(){return this.__proxy?this._proxy.getEnvironment():{...process.env}}getWslPath(e,n){return this._proxy.getWslPath(e,n)}getRevivedPtyNewId(e,n){return this._proxy.getRevivedPtyNewId(e,n)}setTerminalLayoutInfo(e){return this._proxy.setTerminalLayoutInfo(e)}async getTerminalLayoutInfo(e){return this._optionalProxy?.getTerminalLayoutInfo(e)}async requestDetachInstance(e,n){return this._proxy.requestDetachInstance(e,n)}async acceptDetachInstanceReply(e,n){return this._proxy.acceptDetachInstanceReply(e,n)}async freePortKillProcess(e){if(!this._proxy.freePortKillProcess)throw new Error("freePortKillProcess does not exist on the pty proxy");return this._proxy.freePortKillProcess(e)}async serializeTerminalState(e){return this._proxy.serializeTerminalState(e)}async reviveTerminalProcesses(e,n,o){return this._proxy.reviveTerminalProcesses(e,n,o)}async refreshProperty(e,n){return this._proxy.refreshProperty(e,n)}async updateProperty(e,n,o){return this._proxy.updateProperty(e,n,o)}async restartPtyHost(){this._disposePtyHost(),this._isResponsive=!0,this._startPtyHost()}_disposePtyHost(){this._clearHeartbeatTimeouts(),this._optionalProxy?.shutdownAll().catch(()=>{}),this.__connection=void 0,this.__proxy=void 0,this._ptyHostStore.clear()}_handleHeartbeat(e){this._clearHeartbeatTimeouts(),this._heartbeatFirstTimeout=setTimeout(()=>this._handleHeartbeatFirstTimeout(),e?2e4:5e3*1.2),this._isResponsive||(this._isResponsive=!0,this._onPtyHostResponsive.fire())}_handleHeartbeatFirstTimeout(){this._logService.warn(`No ptyHost heartbeat after ${5e3*1.2/1e3} seconds`),this._heartbeatFirstTimeout=void 0,this._heartbeatSecondTimeout=setTimeout(()=>this._handleHeartbeatSecondTimeout(),5e3*1)}_handleHeartbeatSecondTimeout(){this._logService.error(`No ptyHost heartbeat after ${(5e3*1.2+5e3*1.2)/1e3} seconds`),this._heartbeatSecondTimeout=void 0,this._isResponsive&&(this._isResponsive=!1,this._onPtyHostUnresponsive.fire())}_handleUnresponsiveCreateProcess(){this._clearHeartbeatTimeouts(),this._logService.error(`No ptyHost response to createProcess after ${5e3/1e3} seconds`),this._isResponsive&&(this._isResponsive=!1,this._onPtyHostUnresponsive.fire())}_clearHeartbeatTimeouts(){this._heartbeatFirstTimeout&&(clearTimeout(this._heartbeatFirstTimeout),this._heartbeatFirstTimeout=void 0),this._heartbeatSecondTimeout&&(clearTimeout(this._heartbeatSecondTimeout),this._heartbeatSecondTimeout=void 0)}_resolveVariables(e,n){return this._resolveVariablesRequestStore.createRequest({workspaceId:e,originalText:n})}async acceptPtyHostResolvedVariables(e,n){this._resolveVariablesRequestStore.acceptReply(e,n)}};ep=C([b(1,ft),b(2,z),b(3,Wo)],ep)});function kK(r){return{transformIncoming:t=>t.scheme==="vscode-remote"?{scheme:"file",path:t.path,query:t.query,fragment:t.fragment}:t.scheme==="file"?{scheme:"vscode-local",path:t.path,query:t.query,fragment:t.fragment}:t,transformOutgoing:t=>t.scheme==="file"?{scheme:"vscode-remote",authority:r,path:t.path,query:t.query,fragment:t.fragment}:t.scheme==="vscode-local"?{scheme:"file",path:t.path,query:t.query,fragment:t.fragment}:t,transformOutgoingScheme:t=>t==="file"?"vscode-remote":t==="vscode-local"?"file":t}}function Xs(r){return new Ub(kK(r))}var xf=y(()=>{bl()});import{exec as zb}from"child_process";import{totalmem as DK}from"os";function Cf(r){return new Promise((t,e)=>{let n,o=new Map,i=DK();function s(l,c,u,p,m){let f=o.get(c);if(l===r||f){let h={name:a(u),cmd:u,pid:l,ppid:c,load:p,mem:te?m:i*(m/100)};o.set(l,h),l===r&&(n=h),f&&(f.children||(f.children=[]),f.children.push(h),f.children.length>1&&(f.children=f.children.sort((v,I)=>v.pid-I.pid)))}}function a(l){let c=/--utility-sub-type=network/i,u=/--crashes-directory/i,p=/conhost\.exe.+--headless/i,m=/--type=([a-zA-Z-]+)/;if(u.exec(l))return"electron-crash-reporter";if(p.exec(l))return"conpty-agent";let f=m.exec(l);if(f&&f.length===2)return f[1]==="renderer"?"window":f[1]==="utility"?c.exec(l)?"utility-network-service":"utility-process":f[1]==="extensionHost"?"extension-host":f[1];if(l.indexOf("node ")<0&&l.indexOf("node.exe")<0){let h="";do f=_K.exec(l),f&&(h+=f+" ");while(f);if(h)return`electron-nodejs (${h.trim()})`}return l}if(process.platform==="win32"){let l=c=>c.indexOf("\\\\?\\")===0||c.indexOf("\\??\\")===0?c.substring(4):c.indexOf('"\\\\?\\')===0||c.indexOf('"\\??\\')===0?'"'+c.substring(5):c;import("@vscode/windows-process-tree").then(c=>{c.getProcessList(r,u=>{if(!u){e(new Error(`Root process ${r} not found`));return}c.getProcessCpuUsage(u,p=>{let m=new Map;p.forEach(f=>{let h=l(f.commandLine||"");m.set(f.pid,{name:a(h),cmd:h,pid:f.pid,ppid:f.ppid,load:f.cpu||0,mem:f.memory||0})}),n=m.get(r),n?(m.forEach(f=>{let h=m.get(f.ppid);h&&(h.children||(h.children=[]),h.children.push(f))}),m.forEach(f=>{f.children&&(f.children=f.children.sort((h,v)=>h.pid-v.pid))}),t(n)):e(new Error(`Root process ${r} not found`))})},c.ProcessDataFlag.CommandLine|c.ProcessDataFlag.Memory)})}else{let l=function(){let c=[n],u=[];for(;c.length;){let m=c.shift();m&&(u.push(m.pid),m.children&&(c=c.concat(m.children)))}let p=JSON.stringify(Dt.asFileUri("vs/base/node/cpuUsage.sh").fsPath);p+=" "+u.join(" "),zb(p,{},(m,f,h)=>{if(m||h)e(m||new Error(h.toString()));else{let v=f.toString().split(`
`);for(let I=0;I<u.length;I++){let E=o.get(u[I]);E.load=parseFloat(v[I])}if(!n){e(new Error(`Root process ${r} not found`));return}t(n)}})};zb("which ps",{},(c,u,p)=>{if(c||p)if(process.platform!=="linux")e(c||new Error(p.toString()));else{let m=JSON.stringify(Dt.asFileUri("vs/base/node/ps.sh").fsPath);zb(m,{},(f,h,v)=>{f||v?e(f||new Error(v.toString())):(v2(h,s),l())})}else{let m=u.toString().trim();zb(`${m} -ax -o pid=,ppid=,pcpu=,pmem=,command=`,{maxBuffer:1e3*1024,env:{LC_NUMERIC:"en_US.UTF-8"}},(h,v,I)=>{h||I&&!I.includes("screen size is bogus")?e(h||new Error(I.toString())):(v2(v,s),process.platform==="linux"?l():n?t(n):e(new Error(`Root process ${r} not found`)))})}})}})}function v2(r,t){let e=/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+\.[0-9]+)\s+([0-9]+\.[0-9]+)\s+(.+)$/,n=r.toString().split(`
`);for(let o of n){let i=e.exec(o.trim());i&&i.length===6&&t(parseInt(i[1]),parseInt(i[2]),i[5],parseFloat(i[3]),parseFloat(i[4]))}}var _K,xP=y(()=>{Ae();me();_K=/[a-zA-Z-]+\.js\b/g});function CP(r){let t=r;return!!t?.hostName&&!!t?.errorMessage}var MK,uAe,y2=y(()=>{Z();MK="diagnosticsService",uAe=D(MK)});import*as I2 from"fs";import*as Nn from"os";async function Ef(r,t,e){let n=`${r}::${t.join(":")}::${e?.unbounded?"unbounded":"bounded"}`;if(e?.skipCache)EP.delete(n);else{let u=EP.get(n);if(u)return u}let o=[{tag:"grunt.js",filePattern:/^gruntfile\.js$/i},{tag:"gulp.js",filePattern:/^gulpfile\.js$/i},{tag:"tsconfig.json",filePattern:/^tsconfig\.json$/i},{tag:"package.json",filePattern:/^package\.json$/i},{tag:"jsconfig.json",filePattern:/^jsconfig\.json$/i},{tag:"tslint.json",filePattern:/^tslint\.json$/i},{tag:"eslint.json",filePattern:/^eslint\.json$/i},{tag:"tasks.json",filePattern:/^tasks\.json$/i},{tag:"launch.json",filePattern:/^launch\.json$/i},{tag:"mcp.json",filePattern:/^mcp\.json$/i},{tag:"settings.json",filePattern:/^settings\.json$/i},{tag:"webpack.config.js",filePattern:/^webpack\.config\.js$/i},{tag:"project.json",filePattern:/^project\.json$/i},{tag:"makefile",filePattern:/^makefile$/i},{tag:"sln",filePattern:/^.+\.sln$/i},{tag:"csproj",filePattern:/^.+\.csproj$/i},{tag:"cmake",filePattern:/^.+\.cmake$/i},{tag:"github-actions",filePattern:/^.+\.ya?ml$/i,relativePathPattern:/^\.github(?:\/|\\)workflows$/i},{tag:"devcontainer.json",filePattern:/^devcontainer\.json$/i},{tag:"dockerfile",filePattern:/^(dockerfile|docker\-compose\.ya?ml)$/i},{tag:"cursorrules",filePattern:/^\.cursorrules$/i},{tag:"cursorrules-dir",filePattern:/\.mdc$/i,relativePathPattern:/^\.cursor[\/\\]rules$/i},{tag:"github-instructions-dir",filePattern:/\.instructions\.md$/i,relativePathPattern:/^\.github[\/\\]instructions$/i},{tag:"github-prompts-dir",filePattern:/\.prompt\.md$/i,relativePathPattern:/^\.github[\/\\]prompts$/i},{tag:"clinerules",filePattern:/^\.clinerules$/i},{tag:"clinerules-dir",filePattern:/\.md$/i,relativePathPattern:/^\.clinerules$/i},{tag:"agent.md",filePattern:/^agent\.md$/i},{tag:"agents.md",filePattern:/^agents\.md$/i},{tag:"claude.md",filePattern:/^claude\.md$/i},{tag:"claude-settings",filePattern:/^settings\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-settings-local",filePattern:/^settings\.local\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-mcp",filePattern:/^mcp\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-commands-dir",filePattern:/\.md$/i,relativePathPattern:/^\.claude[\/\\]commands$/i},{tag:"claude-skills-dir",filePattern:/^SKILL\.md$/i,relativePathPattern:/^\.claude[\/\\]skills[\/\\]/i},{tag:"claude-rules-dir",filePattern:/\.md$/i,relativePathPattern:/^\.claude[\/\\]rules$/i},{tag:"gemini.md",filePattern:/^gemini\.md$/i},{tag:"copilot-instructions.md",filePattern:/^copilot\-instructions\.md$/i,relativePathPattern:/^\.github$/i}],i=new Map,s=new Map,a=e?.unbounded?Number.POSITIVE_INFINITY:2e4;function l(u,p,m,f){let h=p.substring(u.length+1);return Cn.withAsyncBody(async v=>{if(f.count>=a){f.maxReached=!0,v();return}let I;f.readdirCount++;try{I=await be.readdir(p,{withFileTypes:!0})}catch{v();return}if(f.count>=a){f.maxReached=!0,v();return}let E=I.length;if(E===0){v();return}for(let w of I)if(w.isDirectory()){if(m.includes(w.name)||await l(u,q(p,w.name),m,f),--E===0){v();return}}else{if(f.count>=a){f.maxReached=!0,v();return}f.count++;let P=w.name.lastIndexOf("."),k;P>=0&&(k=w.name.substring(P+1)||void 0),i.set(k??tp,(i.get(k??tp)??0)+1);for(let O of o)O.relativePathPattern?.test(h)!==!1&&O.filePattern.test(w.name)&&s.set(O.tag,(s.get(O.tag)??0)+1);if(--E===0){v();return}}})}let c=Cn.withAsyncBody(async u=>{let p={count:0,maxReached:!1,readdirCount:0},m=new Zn(!0);await l(r,r,t,p);let f=await AK(r);u({configFiles:wP(s),fileTypes:wP(i),fileCount:p.count,maxFilesReached:p.maxReached,launchConfigFiles:f,totalScanTime:m.elapsed(),totalReaddirCount:p.readdirCount})});return EP.set(n,c),c}function wP(r){return Array.from(r.entries(),([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count)}function TP(){let r={os:`${Nn.type()} ${Nn.arch()} ${Nn.release()}`,memory:`${(Nn.totalmem()/Ei.GB).toFixed(2)}GB (${(Nn.freemem()/Ei.GB).toFixed(2)}GB free)`,vmHint:`${Math.round(pP.value()*100)}%`},t=Nn.cpus();return t&&t.length>0&&(r.cpus=`${t[0].model} (${t.length} x ${t[0].speed})`),r}async function AK(r){try{let t=new Map,e=q(r,".vscode","launch.json"),n=await I2.promises.readFile(e),o=[],i=Po(n.toString(),o);if(o.length)return console.log(`Unable to parse ${e}`),[];if($a(i)==="object"&&i.configurations)for(let s of i.configurations){let a=s.type;a&&(t.has(a)?t.set(a,t.get(a)+1):t.set(a,1))}return wP(t)}catch{return[]}}var EP,tp,Gb,b2=y(()=>{Ne();fr();Ae();Me();me();_s();oe();mP();go();xP();y2();nt();On();Rn();EP=new Map,tp="\0no-extension";Gb=class{constructor(t,e){this.telemetryService=t;this.productService=e}formatMachineInfo(t){let e=[];return e.push(`OS Version: ${t.os}`),e.push(`CPUs: ${t.cpus}`),e.push(`Memory (System): ${t.memory}`),e.push(`VM: ${t.vmHint}`),e.join(`
`)}formatEnvironment(t){let e=[];e.push(`Version: ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit||"Commit unknown"}, ${this.productService.date||"Date unknown"})`),e.push(`OS Version: ${Nn.type()} ${Nn.arch()} ${Nn.release()}`);let n=Nn.cpus();return n&&n.length>0&&e.push(`CPUs: ${n[0].model} (${n.length} x ${n[0].speed})`),e.push(`Memory (System): ${(Nn.totalmem()/Ei.GB).toFixed(2)}GB (${(Nn.freemem()/Ei.GB).toFixed(2)}GB free)`),te||e.push(`Load (avg): ${Nn.loadavg().map(o=>Math.round(o)).join(", ")}`),e.push(`VM: ${Math.round(pP.value()*100)}%`),e.push(`Screen Reader: ${t.screenReader?"yes":"no"}`),e.push(`Process Argv: ${t.mainArguments.join(" ")}`),e.push(`GPU Status: ${this.expandGPUFeatures(t.gpuFeatureStatus)}`),t.gpuLogMessages&&t.gpuLogMessages.length>0&&(e.push("GPU Log Messages:"),t.gpuLogMessages.forEach(o=>{e.push(`${o.header}: ${o.message}`)})),e.join(`
`)}async getPerformanceInfo(t,e,n){return Promise.all([Cf(t.mainPID),this.formatWorkspaceMetadata(t,n)]).then(async o=>{let[i,s]=o,a=this.formatProcessList(t,i);return e.forEach(l=>{if(CP(l))a+=`
${l.errorMessage}`,s+=`
${l.errorMessage}`;else if(a+=`
Remote: ${l.hostName}`,l.processes&&(a+=`
${this.formatProcessList(t,l.processes)}`),l.workspaceMetadata){s+=`
| Remote: ${l.hostName}`;for(let c of Object.keys(l.workspaceMetadata)){let u=l.workspaceMetadata[c],p=`${u.fileCount} files`;u.maxFilesReached&&(p=`more than ${p}`),s+=`| Folder (${c}): ${p}`,s+=this.formatWorkspaceStats(u)}}}),{processInfo:a,workspaceInfo:s}})}async getSystemInfo(t,e){let{memory:n,vmHint:o,os:i,cpus:s}=TP(),a={os:i,memory:n,cpus:s,vmHint:o,processArgs:`${t.mainArguments.join(" ")}`,gpuStatus:t.gpuFeatureStatus,screenReader:`${t.screenReader?"yes":"no"}`,remoteData:e};return te||(a.load=`${Nn.loadavg().map(l=>Math.round(l)).join(", ")}`),$e&&(a.linuxEnv={desktopSession:process.env.DESKTOP_SESSION,xdgSessionDesktop:process.env.XDG_SESSION_DESKTOP,xdgCurrentDesktop:process.env.XDG_CURRENT_DESKTOP,xdgSessionType:process.env.XDG_SESSION_TYPE}),Promise.resolve(a)}async getDiagnostics(t,e){let n=[];return Cf(t.mainPID).then(async o=>(n.push(""),n.push(this.formatEnvironment(t)),n.push(""),n.push(this.formatProcessList(t,o)),t.windows.some(i=>i.folderURIs&&i.folderURIs.length>0&&!i.remoteAuthority)&&(n.push(""),n.push("Workspace Stats: "),n.push(await this.formatWorkspaceMetadata(t))),e.forEach(i=>{if(CP(i))n.push(`
${i.errorMessage}`);else if(n.push(`
`),n.push(`Remote: ${i.hostName}`),n.push(this.formatMachineInfo(i.machineInfo)),i.processes&&n.push(this.formatProcessList(t,i.processes)),i.workspaceMetadata)for(let s of Object.keys(i.workspaceMetadata)){let a=i.workspaceMetadata[s],l=`${a.fileCount} files`;a.maxFilesReached&&(l=`more than ${l}`),n.push(`Folder (${s}): ${l}`),n.push(this.formatWorkspaceStats(a))}}),n.push(""),n.push(""),n.join(`
`)))}formatWorkspaceStats(t){let e=[],o=0,i=(m,f)=>{let h=` ${m}(${f})`;o+h.length>60?(e.push(s),s="| ",o=s.length):o+=h.length,s+=h},s="| File types:",a=10,l=t.fileTypes.filter(m=>m.name!==tp),c=t.fileTypes.filter(m=>m.name===tp).reduce((m,f)=>m+f.count,0),u=Math.min(l.length,a);for(let m=0;m<u;m++){let f=l[m];i(f.name,f.count)}let p=c;for(let m=u;m<l.length;m++)p+=l[m].count;if(p>0&&i("other",p),e.push(s),t.configFiles.length>=0&&(s="| Conf files:",o=0,t.configFiles.forEach(m=>{i(m.name,m.count)}),e.push(s)),t.launchConfigFiles.length>0){let m="| Launch Configs:";t.launchConfigFiles.forEach(f=>{let h=f.count>1?` ${f.name}(${f.count})`:` ${f.name}`;m+=h}),e.push(m)}return e.join(`
`)}expandGPUFeatures(t){let e=Math.max(...Object.keys(t).map(n=>n.length));return Object.keys(t).map(n=>`${n}: ${" ".repeat(e-n.length)} ${t[n]}`).join(`
`)}formatWorkspaceMetadata(t,e){let n=[],o=[];return t.windows.forEach(i=>{i.folderURIs.length===0||i.remoteAuthority||(n.push(`| Window (${i.title})`),i.folderURIs.forEach(s=>{let a=S.revive(s);if(a.scheme===B.file){let l=a.fsPath;o.push(Ef(l,["node_modules",".git"],e).then(c=>{let u=`${c.fileCount} files`;c.maxFilesReached&&(u=`more than ${u}`),n.push(`| Folder (${ut(l)}): ${u}`),n.push(this.formatWorkspaceStats(c))}).catch(c=>{n.push(`| Error: Unable to collect workspace stats for folder ${l} (${c.toString()})`)}))}else n.push(`| Folder (${a.toString()}): Workspace stats not available.`)}))}),Promise.all(o).then(i=>n.join(`
`)).catch(i=>`Unable to collect workspace stats: ${i}`)}formatProcessList(t,e){let n=new Map;t.windows.forEach(i=>n.set(i.pid,`window [${i.id}] (${i.title})`)),t.pidToNames.forEach(({pid:i,name:s})=>n.set(i,s));let o=[];return o.push("CPU % Mem MB PID Process"),e&&this.formatProcessItem(t.mainPID,n,o,e,0),o.join(`
`)}formatProcessItem(t,e,n,o,i){let s=i===0,a;s?a=o.pid===t?this.productService.applicationName:"remote-server":e.has(o.pid)?a=e.get(o.pid):a=`${" ".repeat(i)} ${o.name}`;let l=process.platform==="win32"?o.mem:Nn.totalmem()*(o.mem/100);n.push(`${o.load.toFixed(0).padStart(5," ")} ${(l/Ei.MB).toFixed(0).padStart(6," ")} ${o.pid.toFixed(0).padStart(6," ")} ${a}`),Array.isArray(o.children)&&o.children.forEach(c=>this.formatProcessItem(t,e,n,c,i+1))}async getWorkspaceFileExtensions(t){let e=new Set;for(let{uri:n}of t.folders){let o=S.revive(n);if(o.scheme!==B.file)continue;let i=o.fsPath;try{(await Ef(i,["node_modules",".git"])).fileTypes.forEach(a=>{a.name!==tp&&e.add(a.name)})}catch{}}return{extensions:[...e]}}async reportWorkspaceStats(t){for(let{uri:e}of t.folders){let n=S.revive(e);if(n.scheme!==B.file)continue;let o=n.fsPath;try{let i=await Ef(o,["node_modules",".git"]);this.telemetryService.publicLog2("workspace.stats",{"workspace.id":t.telemetryId,rendererSessionId:t.rendererSessionId}),i.fileTypes.forEach(s=>{s.name!==tp&&this.telemetryService.publicLog2("workspace.stats.file",{rendererSessionId:t.rendererSessionId,type:s.name,count:s.count})}),i.launchConfigFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.launchConfigFile",{rendererSessionId:t.rendererSessionId,type:s.name,count:s.count})}),i.configFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.configFiles",{rendererSessionId:t.rendererSessionId,type:s.name,count:s.count})}),this.telemetryService.publicLog2("workspace.stats.metadata",{duration:i.totalScanTime,reachedLimit:i.maxFilesReached,fileCount:i.fileCount,readdirCount:i.totalReaddirCount})}catch{}}}};Gb=C([b(0,Pt),b(1,He)],Gb)});var Kb,S2=y(()=>{me();Qr();oe();xf();bl();xP();b2();Me();mf();bt();Kb=class r{constructor(t,e,n,o,i){this._connectionToken=t;this._environmentService=e;this._userDataProfilesService=n;this._extensionHostStatusService=o;this._logService=i}static{this._namePool=1}async call(t,e,n){switch(e){case"getEnvironmentData":{let o=n,i=Xs(o.remoteAuthority),s=await this._getEnvironmentData(o.profile);return s=Br(s,i),s}case"getExtensionHostExitInfo":{let o=n;return this._extensionHostStatusService.getExitInfo(o.reconnectionToken)}case"getDiagnosticInfo":{let o=n,i={machineInfo:TP()},s=o.includeProcesses?Cf(process.pid):Promise.resolve(),a=[],l={};if(o.folders){let c=Xs("");a=o.folders.map(p=>S.revive(c.transformIncoming(p))).filter(p=>p.scheme==="file").map(p=>Ef(p.fsPath,["node_modules",".git"]).then(m=>{l[ut(p.fsPath)]=m}))}return Promise.all([s,...a]).then(([c,u])=>(i.processes=c||void 0,i.workspaceMetadata=o.folders?l:void 0,i))}}throw new Error(`IPC Command ${e} not found`)}listen(t,e,n){throw new Error("Not supported")}async _getEnvironmentData(t){t&&!this._userDataProfilesService.profiles.some(n=>n.id===t)&&await this._userDataProfilesService.createProfile(t,t);let e=!1;if(process.platform==="linux"){let n=process.glibcVersion;e=(n?parseInt(n.split(".")[1]):28)<=27||!!process.env.VSCODE_SERVER_CUSTOM_GLIBC_LINKER}return this._logService.trace(`[reconnection-grace-time] Server sending grace time to client: ${this._environmentService.reconnectionGraceTime}ms (${Math.floor(this._environmentService.reconnectionGraceTime/1e3)}s)`),{pid:process.pid,connectionToken:this._connectionToken.type!==0?this._connectionToken.value:"",appRoot:S.file(this._environmentService.appRoot),execPath:process.execPath,tmpDir:this._environmentService.tmpDir,settingsPath:this._environmentService.machineSettingsResource,mcpResource:this._environmentService.mcpResource,logsPath:this._environmentService.logsHome,extensionHostLogsPath:ge(this._environmentService.logsHome,`exthost${r._namePool++}`),globalStorageHome:this._userDataProfilesService.defaultProfile.globalStorageHome,workspaceStorageHome:this._environmentService.workspaceStorageHome,localHistoryHome:this._environmentService.localHistoryHome,userHome:this._environmentService.userHome,os:lr,arch:process.arch,marks:_1(),useHostProxy:!!this._environmentService.args["use-host-proxy"],profiles:{home:this._userDataProfilesService.profilesHome,all:[...this._userDataProfilesService.profiles].map(n=>({...n}))},isUnsupportedGlibc:e,reconnectionGraceTime:this._environmentService.reconnectionGraceTime}}}});var jb,Qb,x2=y(()=>{de();ef();K();Ke();rc();Zt();jb=class extends _{constructor(e,n){super();this.provider=e;this.logService=n;this.sessionToWatcher=new Map;this.watchRequests=new Map}call(e,n,o){let i=this.getUriTransformer(e);switch(n){case"stat":return this.stat(i,o[0]);case"realpath":return this.realpath(i,o[0]);case"readdir":return this.readdir(i,o[0]);case"open":return this.open(i,o[0],o[1]);case"close":return this.close(o[0]);case"read":return this.read(o[0],o[1],o[2]);case"readFile":return this.readFile(i,o[0],o[1]);case"write":return this.write(o[0],o[1],o[2],o[3],o[4]);case"writeFile":return this.writeFile(i,o[0],o[1],o[2]);case"rename":return this.rename(i,o[0],o[1],o[2]);case"copy":return this.copy(i,o[0],o[1],o[2]);case"cloneFile":return this.cloneFile(i,o[0],o[1]);case"mkdir":return this.mkdir(i,o[0]);case"delete":return this.delete(i,o[0],o[1]);case"watch":return this.watch(i,o[0],o[1],o[2],o[3]);case"unwatch":return this.unwatch(o[0],o[1])}throw new Error(`IPC Command ${n} not found`)}listen(e,n,o){let i=this.getUriTransformer(e);switch(n){case"fileChange":return this.onFileChange(i,o[0]);case"readFileStream":return this.onReadFileStream(i,o[0],o[1])}throw new Error(`Unknown event ${n}`)}stat(e,n){let o=this.transformIncoming(e,n,!0);return this.provider.stat(o)}realpath(e,n){let o=this.transformIncoming(e,n,!0);return this.provider.realpath(o)}readdir(e,n){let o=this.transformIncoming(e,n);return this.provider.readdir(o)}async readFile(e,n,o){let i=this.transformIncoming(e,n,!0);this.logService.trace(`File action: readFile ${i.path}`);let s=await this.provider.readFile(i,o);return L.wrap(s)}onReadFileStream(e,n,o){let i=this.transformIncoming(e,n,!0),s=new wt,a=new T({onDidRemoveLastListener:()=>{s.cancel()}});this.logService.trace(`File action: readFileStream ${i.path}`);let l=this.provider.readFileStream(i,o,s.token);return Oa(l,{onData:c=>a.fire(L.wrap(c)),onError:c=>a.fire(c),onEnd:()=>{a.fire("end"),a.dispose(),s.dispose()}}),a.event}writeFile(e,n,o,i){let s=this.transformIncoming(e,n);return this.logService.trace(`File action: writeFile ${s.path}`),this.provider.writeFile(s,o.buffer,i)}open(e,n,o){let i=this.transformIncoming(e,n,!0);return this.provider.open(i,o)}close(e){return this.provider.close(e)}async read(e,n,o){let i=L.alloc(o),a=await this.provider.read(e,n,i.buffer,0,o);return[i,a]}write(e,n,o,i,s){return this.provider.write(e,n,o.buffer,i,s)}mkdir(e,n){let o=this.transformIncoming(e,n);return this.provider.mkdir(o)}delete(e,n,o){let i=this.transformIncoming(e,n);return this.provider.delete(i,o)}rename(e,n,o,i){let s=this.transformIncoming(e,n),a=this.transformIncoming(e,o);return this.provider.rename(s,a,i)}copy(e,n,o,i){let s=this.transformIncoming(e,n),a=this.transformIncoming(e,o);return this.provider.copy(s,a,i)}cloneFile(e,n,o){let i=this.transformIncoming(e,n),s=this.transformIncoming(e,o);return this.provider.cloneFile(i,s)}onFileChange(e,n){let o=new T({onWillAddFirstListener:()=>{this.sessionToWatcher.set(n,this.createSessionFileWatcher(e,o))},onDidRemoveLastListener:()=>{gn(this.sessionToWatcher.get(n)),this.sessionToWatcher.delete(n)}});return o.event}async watch(e,n,o,i,s){let a=this.sessionToWatcher.get(n);if(a){let l=this.transformIncoming(e,i),c=a.watch(o,l,s);this.watchRequests.set(n+o,c)}}async unwatch(e,n){let o=e+n,i=this.watchRequests.get(o);i&&(gn(i),this.watchRequests.delete(o))}dispose(){super.dispose();for(let[,e]of this.watchRequests)e.dispose();this.watchRequests.clear();for(let[,e]of this.sessionToWatcher)e.dispose();this.sessionToWatcher.clear()}},Qb=class extends _{constructor(e,n,o,i){super();this.uriTransformer=e;this.environmentService=i;this.watcherRequests=new Map;this.fileWatcher=this._register(new ds(o)),this.registerListeners(n)}registerListeners(e){let n=this._register(new T);this._register(n.event(o=>{e.fire(o.map(i=>({resource:this.uriTransformer.transformOutgoingURI(i.resource),type:i.type,cId:i.cId})))})),this._register(this.fileWatcher.onDidChangeFile(o=>n.fire(o))),this._register(this.fileWatcher.onDidWatchError(o=>e.fire(o)))}getRecursiveWatcherOptions(e){}getExtraExcludes(e){}watch(e,n,o){let i=this.getExtraExcludes(this.environmentService);return Array.isArray(i)&&(o.excludes=[...o.excludes,...i]),this.watcherRequests.set(e,this.fileWatcher.watch(n,o)),ce(()=>{gn(this.watcherRequests.get(e)),this.watcherRequests.delete(e)})}dispose(){for(let[,e]of this.watcherRequests)e.dispose();this.watcherRequests.clear(),super.dispose()}}});var Jb,PP,C2=y(()=>{oe();xf();ef();Me();x2();Jb=class extends jb{constructor(e,n,o){super(new ds(e),e);this.environmentService=n;this.configurationService=o;this.uriTransformerCache=new Map;this._register(this.provider)}getUriTransformer(e){let n=this.uriTransformerCache.get(e.remoteAuthority);return n||(n=Xs(e.remoteAuthority),this.uriTransformerCache.set(e.remoteAuthority,n)),n}transformIncoming(e,n,o=!1){if(o&&n.path==="/vscode-resource"&&n.query){let i=JSON.parse(n.query).requestResourcePath;return S.from({scheme:"file",path:i})}return S.revive(e.transformIncoming(n))}createSessionFileWatcher(e,n){return new PP(e,n,this.logService,this.environmentService,this.configurationService)}},PP=class extends Qb{constructor(t,e,n,o,i){super(t,e,n,o)}getRecursiveWatcherOptions(t){let e=t.args["file-watcher-polling"];if(e){let n=e.split(xa),o=Number(n[0]);if(o>0)return{usePolling:n.length>1?n.slice(1):!0,pollingInterval:o}}}getExtraExcludes(t){if(t.extensionsPath)return[Be.join(t.extensionsPath,"**")]}}});var Yb,E2=y(()=>{K();Rn();Yb=class extends _{constructor(e,n){super();this.telemetryService=e;this.telemetryAppender=n}async call(e,n,o){switch(n){case"updateTelemetryLevel":{let{telemetryLevel:i}=o;return this.telemetryService.updateInjectedTelemetryLevel(i)}case"logTelemetry":{let{eventName:i,data:s}=o;return this.telemetryAppender?this.telemetryAppender.log(i,s):Promise.resolve()}case"flushTelemetry":return this.telemetryAppender?this.telemetryAppender.flush():Promise.resolve();case"ping":return}throw new Error(`IPC Command ${n} not found`)}listen(e,n,o){throw new Error("Not supported")}dispose(){this.telemetryService.updateInjectedTelemetryLevel(0),super.dispose()}}});function LK(){let r=d(3827,null,je.nameLong),t=je.privacyStatementUrl?d(3813,null,"https://aka.ms/vscode-telemetry",je.privacyStatementUrl):d(3814,null,"https://aka.ms/vscode-telemetry"),e=yn?"":d(3819,null),n=d(3812,null),o=d(3817,null),i=d(3828,null),s=d(3826,null),a=`
| | ${n} | ${o} | ${i} |
|:------|:-------------:|:---------------:|:----------:|
| all | \u2713 | \u2713 | \u2713 |
| error | \u2713 | \u2713 | - |
| crash | \u2713 | - | - |
| off | - | - | - |
`,l=d(3822,null);return`
${r} ${t} ${e}
${s}
${a}
${l}
`}var ps,OK,w2=y(()=>{K();jt();me();Pg();Tt();re();tn();Or();xi();On();Vo();Rn();Ur();ps=class{constructor(t,e,n){this._productService=n;this._experimentProperties={};this._pendingEvents=[];this._isExperimentPropertySet=!1;this._disposables=new ie;this._cleanupPatterns=[];this._appenders=t.appenders,this._commonProperties=t.commonProperties??Object.create(null),this.sessionId=this._commonProperties.sessionID,this.machineId=this._commonProperties["common.machineId"],this.sqmId=this._commonProperties["common.sqmId"],this.devDeviceId=this._commonProperties["common.devDeviceId"],this.firstSessionDate=this._commonProperties["common.firstSessionDate"],this._piiPaths=t.piiPaths||[],this._telemetryLevel=3,this._sendErrorTelemetry=!!t.sendErrorTelemetry,this._meteredConnectionService=t.meteredConnectionService,this._cleanupPatterns=[/(vscode-)?file:\/\/.*?\/resources\/app\//gi];for(let o of this._piiPaths)this._cleanupPatterns.push(new RegExp(eo(o),"gi")),o.indexOf("\\")>=0&&this._cleanupPatterns.push(new RegExp(eo(o.replace(/\\/g,"/")),"gi"));if(t.telemetryLevel!==void 0)this._updateTelemetryLevel(t.telemetryLevel);else{if(!e)throw new Error("TelemetryService requires a configuration service or a fixed telemetry level.");this._updateTelemetryLevel(Tg(e)),this._disposables.add(e.onDidChangeConfiguration(o=>{(o.affectsConfiguration(ou)||o.affectsConfiguration(Eg)||o.affectsConfiguration(Ky))&&this._updateTelemetryLevel(Tg(e))}))}t.waitForExperimentProperties?this._flushTimeout=setTimeout(()=>this._flushPendingEvents(),ps.BUFFER_FLUSH_TIMEOUT):this._isExperimentPropertySet=!0}static{this.IDLE_START_EVENT_NAME="UserIdleStart"}static{this.IDLE_STOP_EVENT_NAME="UserIdleStop"}static{this.BUFFER_FLUSH_TIMEOUT=1e4}static{this.MAX_BUFFER_SIZE=1e3}static createWithLevel(t,e){return new ps(t,void 0,e)}setExperimentProperty(t,e){this._experimentProperties[t]=new vr(e),this._isExperimentPropertySet||this._flushPendingEvents()}setCommonProperty(t,e){e===void 0?delete this._commonProperties[t]:this._commonProperties[t]=e}_flushPendingEvents(){if(!this._isExperimentPropertySet){this._isExperimentPropertySet=!0,this._flushTimeout!==void 0&&(clearTimeout(this._flushTimeout),this._flushTimeout=void 0);for(let t of this._pendingEvents)this._doLog(t.eventName,t.eventLevel,t.data);this._pendingEvents=[]}}_updateTelemetryLevel(t){let e=this._productService.enabledTelemetryLevels;if(e){this._sendErrorTelemetry=this.sendErrorTelemetry?e.error:!1;let n=e.usage?3:e.error?2:0;t=Math.min(t,n)}this._telemetryLevel=t}get msftInternal(){return this._commonProperties["common.msftInternal"]}get sendErrorTelemetry(){return this._sendErrorTelemetry}get telemetryLevel(){return this._telemetryLevel}dispose(){this._flushPendingEvents(),this._disposables.dispose()}_log(t,e,n){if(!(this._telemetryLevel<e)&&!this._meteredConnectionService?.isConnectionMetered){if(!this._isExperimentPropertySet){this._pendingEvents.length<ps.MAX_BUFFER_SIZE&&this._pendingEvents.push({eventName:t,eventLevel:e,data:n});return}this._doLog(t,e,n)}}_doLog(t,e,n){n=Us(n,this._experimentProperties),n=Rg(n,this._cleanupPatterns),n=Us(n,this._commonProperties),e===2&&(n={...n,isError:!0}),this._appenders.forEach(o=>o.log(t,n??{}))}publicLog(t,e){this._log(t,3,e)}publicLog2(t,e){this.publicLog(t,e)}publicLogError(t,e){this._sendErrorTelemetry&&this._log(t,2,e)}publicLogError2(t,e){this.publicLogError(t,e)}};ps=C([b(1,ft),b(2,He)],ps);OK=ht.as(Kn.Configuration);OK.registerConfiguration({id:GO,order:1,type:"object",title:d(3829,null),properties:{[ou]:{type:"string",enum:["all","error","crash","off"],enumDescriptions:[d(3821,null),d(3823,null),d(3820,null),d(3824,null)],markdownDescription:LK(),default:"all",restricted:!0,scope:1,tags:["usesOnlineServices","telemetry"],policy:{name:"TelemetryLevel",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.telemetryLevel.policyDescription",value:d(3825,null)},enumDescriptions:[{key:"telemetry.telemetryLevel.default",value:d(3821,null)},{key:"telemetry.telemetryLevel.error",value:d(3823,null)},{key:"telemetry.telemetryLevel.crash",value:d(3820,null)},{key:"telemetry.telemetryLevel.off",value:d(3824,null)}]}}},"telemetry.feedback.enabled":{type:"boolean",default:!0,description:d(3818,null),policy:{name:"EnableFeedback",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.feedback.enabled",value:d(3818,null)}}}},[Eg]:{type:"boolean",markdownDescription:je.privacyStatementUrl?d(3816,null,je.nameLong,je.privacyStatementUrl):d(3815,null,je.nameLong),default:!0,restricted:!0,markdownDeprecationMessage:d(3811,null,`\`#${ou}#\``),scope:1,tags:["usesOnlineServices","telemetry"]}}})});var np,T2,Xb,R2=y(()=>{tn();Z();On();Rn();w2();Ur();np=class extends ps{constructor(t,e,n,o){super(t,n,o),this._injectedTelemetryLevel=e}get telemetryLevel(){return Math.min(super.telemetryLevel,this._injectedTelemetryLevel)}publicLog(t,e){if(!(this._injectedTelemetryLevel<3))return super.publicLog(t,e)}publicLog2(t,e){return this.publicLog(t,e)}publicLogError(t,e){return this._injectedTelemetryLevel<2?Promise.resolve(void 0):super.publicLogError(t,e)}publicLogError2(t,e){return this.publicLogError(t,e)}async updateInjectedTelemetryLevel(t){if(t===void 0)throw this._injectedTelemetryLevel=0,new Error("Telemetry level cannot be undefined. This will cause infinite looping!");this._injectedTelemetryLevel=Math.min(this._injectedTelemetryLevel,t),this._injectedTelemetryLevel===0&&this.dispose()}};np=C([b(2,ft),b(3,He)],np);T2=new class extends wg{async updateInjectedTelemetryLevel(){}},Xb=Pt});function kP(r){let t=yi(r),e=NK[t.toLowerCase()];return Array.isArray(e)?e[0]:e}function DP(r,t){let e=UK.exec(r);return e?`${e[1].toLowerCase()}/${e[2].toLowerCase()}${e[3]??""}`:t?void 0:r}function P2(r){return["application/vnd.code.notebook.stdout","application/vnd.code.notebook.stderr"].includes(r)}var Ir,NK,UK,Mc=y(()=>{Me();Ir=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list",html:"text/html"}),NK={".aac":"audio/x-aac",".avi":"video/x-msvideo",".avif":"image/avif",".bmp":"image/bmp",".flv":"video/x-flv",".gif":"image/gif",".ico":"image/x-icon",".jpe":["image/jpg","image/jpeg"],".jpeg":["image/jpg","image/jpeg"],".jpg":["image/jpg","image/jpeg"],".m1v":"video/mpeg",".m2a":"audio/mpeg",".m2v":"video/mpeg",".m3a":"audio/mpeg",".mid":"audio/midi",".midi":"audio/midi",".mk3d":"video/x-matroska",".mks":"video/x-matroska",".mkv":"video/x-matroska",".mov":"video/quicktime",".movie":"video/x-sgi-movie",".mp2":"audio/mpeg",".mp2a":"audio/mpeg",".mp3":"audio/mpeg",".mp4":"video/mp4",".mp4a":"audio/mp4",".mp4v":"video/mp4",".mpe":"video/mpeg",".mpeg":"video/mpeg",".mpg":"video/mpeg",".mpg4":"video/mp4",".mpga":"audio/mpeg",".oga":"audio/ogg",".ogg":"audio/ogg",".opus":"audio/opus",".ogv":"video/ogg",".png":"image/png",".psd":"image/vnd.adobe.photoshop",".qt":"video/quicktime",".spx":"audio/ogg",".svg":"image/svg+xml",".tga":"image/x-tga",".tif":"image/tiff",".tiff":"image/tiff",".wav":"audio/x-wav",".webm":"video/webm",".webp":"image/webp",".wma":"audio/x-ms-wma",".wmv":"video/x-ms-wmv",".woff":"application/font-woff"};UK=/^(.+)\/(.+?)(;.+)?$/});var k2=y(()=>{At()});function ue(r){return Object.assign(r,{apply:function(...e){if(e.length===0)return Reflect.construct(r,[]);{let n=e.length===1?[]:e[1];return Reflect.construct(r,n,e[0].constructor)}},call:function(...e){if(e.length===0)return Reflect.construct(r,[]);{let[n,...o]=e;return Reflect.construct(r,o,n.constructor)}}})}var br=y(()=>{});var ao,_o,_P=y(()=>{_i();br();_o=class{constructor(t,e=!1){yd(this,ao);Tm(this,ao,new Lt(t,{supportThemeIcons:e}))}static isMarkdownString(t){return t instanceof _o?!0:!t||typeof t!="object"?!1:t.appendCodeblock&&t.appendMarkdown&&t.appendText&&t.value!==void 0}get value(){return un(this,ao).value}set value(t){un(this,ao).value=t}get isTrusted(){return un(this,ao).isTrusted}set isTrusted(t){un(this,ao).isTrusted=t}get supportThemeIcons(){return un(this,ao).supportThemeIcons}set supportThemeIcons(t){un(this,ao).supportThemeIcons=t}get supportHtml(){return un(this,ao).supportHtml}set supportHtml(t){un(this,ao).supportHtml=t}get supportAlertSyntax(){return un(this,ao).supportAlertSyntax}set supportAlertSyntax(t){un(this,ao).supportAlertSyntax=t}get baseUri(){return un(this,ao).baseUri}set baseUri(t){un(this,ao).baseUri=t}appendText(t){return un(this,ao).appendText(t),this}appendMarkdown(t){return un(this,ao).appendMarkdown(t),this}appendCodeblock(t,e){return un(this,ao).appendCodeblock(e??"",t),this}};ao=new WeakMap,_o=C([ue],_o)});var We,op=y(()=>{Ee();br();We=class{static Min(...t){if(t.length===0)throw new TypeError;let e=t[0];for(let n=1;n<t.length;n++){let o=t[n];o.isBefore(e)&&(e=o)}return e}static Max(...t){if(t.length===0)throw new TypeError;let e=t[0];for(let n=1;n<t.length;n++){let o=t[n];o.isAfter(e)&&(e=o)}return e}static isPosition(t){if(!t)return!1;if(t instanceof We)return!0;let{line:e,character:n}=t;return typeof e=="number"&&typeof n=="number"}static of(t){if(t instanceof We)return t;if(this.isPosition(t))return new We(t.line,t.character);throw new Error("Invalid argument, is NOT a position-like object")}get line(){return this._line}get character(){return this._character}constructor(t,e){if(t<0)throw at("line must be non-negative");if(e<0)throw at("character must be non-negative");this._line=t,this._character=e}isBefore(t){return this._line<t._line?!0:t._line<this._line?!1:this._character<t._character}isBeforeOrEqual(t){return this._line<t._line?!0:t._line<this._line?!1:this._character<=t._character}isAfter(t){return!this.isBeforeOrEqual(t)}isAfterOrEqual(t){return!this.isBefore(t)}isEqual(t){return this._line===t._line&&this._character===t._character}compareTo(t){return this._line<t._line?-1:this._line>t.line?1:this._character<t._character?-1:this._character>t._character?1:0}translate(t,e=0){if(t===null||e===null)throw at();let n;return typeof t>"u"?n=0:typeof t=="number"?n=t:(n=typeof t.lineDelta=="number"?t.lineDelta:0,e=typeof t.characterDelta=="number"?t.characterDelta:0),n===0&&e===0?this:new We(this.line+n,this.character+e)}with(t,e=this.character){if(t===null||e===null)throw at();let n;return typeof t>"u"?n=this.line:typeof t=="number"?n=t:(n=typeof t.line=="number"?t.line:this.line,e=typeof t.character=="number"?t.character:this.character),n===this.line&&e===this.character?this:new We(n,e)}toJSON(){return{line:this.line,character:this.character}}[Symbol.for("debug.description")](){return`(${this.line}:${this.character})`}};We=C([ue],We)});function MP(r){return r.isEmpty?`[${r.start.line}:${r.start.character})`:`[${r.start.line}:${r.start.character} -> ${r.end.line}:${r.end.character})`}var Ge,ms=y(()=>{Ee();br();op();Ge=class{static isRange(t){return t instanceof Ge?!0:!t||typeof t!="object"?!1:We.isPosition(t.start)&&We.isPosition(t.end)}static of(t){if(t instanceof Ge)return t;if(this.isRange(t))return new Ge(t.start,t.end);throw new Error("Invalid argument, is NOT a range-like object")}get start(){return this._start}get end(){return this._end}constructor(t,e,n,o){let i,s;if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"?(i=new We(t,e),s=new We(n,o)):We.isPosition(t)&&We.isPosition(e)&&(i=We.of(t),s=We.of(e)),!i||!s)throw new Error("Invalid arguments");i.isBefore(s)?(this._start=i,this._end=s):(this._start=s,this._end=i)}contains(t){return Ge.isRange(t)?this.contains(t.start)&&this.contains(t.end):We.isPosition(t)?!(We.of(t).isBefore(this._start)||this._end.isBefore(t)):!1}isEqual(t){return this._start.isEqual(t._start)&&this._end.isEqual(t._end)}intersection(t){let e=We.Max(t.start,this._start),n=We.Min(t.end,this._end);if(!e.isAfter(n))return new Ge(e,n)}union(t){if(this.contains(t))return this;if(t.contains(this))return t;let e=We.Min(t.start,this._start),n=We.Max(t.end,this.end);return new Ge(e,n)}get isEmpty(){return this._start.isEqual(this._end)}get isSingleLine(){return this._start.line===this._end.line}with(t,e=this.end){if(t===null||e===null)throw at();let n;return t?We.isPosition(t)?n=t:(n=t.start||this.start,e=t.end||this.end):n=this.start,n.isEqual(this._start)&&e.isEqual(this.end)?this:new Ge(n,e)}toJSON(){return[this.start,this.end]}[Symbol.for("debug.description")](){return MP(this)}};Ge=C([ue],Ge)});var Ot,D2=y(()=>{br();Ot=class{constructor(t){this.value=t}append(t){return new Ot(this.value?this.value+Ot.sep+t:t)}intersects(t){return this.contains(t)||t.contains(this)}contains(t){return this.value===t.value||t.value.startsWith(this.value+Ot.sep)}};Ot.sep=".",Ot=C([ue],Ot);Ot.Empty=new Ot("");Ot.QuickFix=Ot.Empty.append("quickfix");Ot.Refactor=Ot.Empty.append("refactor");Ot.RefactorExtract=Ot.Refactor.append("extract");Ot.RefactorInline=Ot.Refactor.append("inline");Ot.RefactorMove=Ot.Refactor.append("move");Ot.RefactorRewrite=Ot.Refactor.append("rewrite");Ot.Source=Ot.Empty.append("source");Ot.SourceOrganizeImports=Ot.Source.append("organizeImports");Ot.SourceFixAll=Ot.Source.append("fixAll");Ot.Notebook=Ot.Empty.append("notebook")});var Zb,xl,Ac,_2=y(()=>{At();oe();br();ms();Zb=(o=>(o[o.Hint=3]="Hint",o[o.Information=2]="Information",o[o.Warning=1]="Warning",o[o.Error=0]="Error",o))(Zb||{}),xl=class{static is(t){return t?typeof t.message=="string"&&t.location&&Ge.isRange(t.location.range)&&S.isUri(t.location.uri):!1}constructor(t,e){this.location=t,this.message=e}static isEqual(t,e){return t===e?!0:!t||!e?!1:t.message===e.message&&t.location.range.isEqual(e.location.range)&&t.location.uri.toString()===e.location.uri.toString()}};xl=C([ue],xl);Ac=class{constructor(t,e,n=0){if(!Ge.isRange(t))throw new TypeError("range must be set");if(!e)throw new TypeError("message must be set");this.range=t,this.message=e,this.severity=n}toJSON(){return{severity:Zb[this.severity],message:this.message,range:this.range,source:this.source,code:this.code}}static isEqual(t,e){return t===e?!0:!t||!e?!1:t.message===e.message&&t.severity===e.severity&&t.code===e.code&&t.severity===e.severity&&t.source===e.source&&t.range.isEqual(e.range)&&Gt(t.tags,e.tags)&&Gt(t.relatedInformation,e.relatedInformation,xl.isEqual)}};Ac=C([ue],Ac)});var Mo,AP=y(()=>{oe();br();op();ms();Mo=class{static isLocation(t){return t instanceof Mo?!0:t?Ge.isRange(t.range)&&S.isUri(t.uri):!1}constructor(t,e){if(this.uri=t,e)if(Ge.isRange(e))this.range=Ge.of(e);else if(We.isPosition(e))this.range=new Ge(e,e);else throw new Error("Illegal argument")}toJSON(){return{uri:this.uri,range:this.range}}};Mo=C([ue],Mo)});var Ai,rp,wf,Sr,Tf,Rf,LP=y(()=>{br();Ee();Mc();nn();Ai=class r{static isNotebookRange(t){return t instanceof r?!0:t?typeof t.start=="number"&&typeof t.end=="number":!1}get start(){return this._start}get end(){return this._end}get isEmpty(){return this._start===this._end}constructor(t,e){if(t<0)throw at("start must be positive");if(e<0)throw at("end must be positive");t<=e?(this._start=t,this._end=e):(this._start=e,this._end=t)}with(t){let e=this._start,n=this._end;return t.start!==void 0&&(e=t.start),t.end!==void 0&&(n=t.end),e===this._start&&n===this._end?this:new r(e,n)}},rp=class r{static validate(t){if(typeof t.kind!="number")throw new Error("NotebookCellData MUST have 'kind' property");if(typeof t.value!="string")throw new Error("NotebookCellData MUST have 'value' property");if(typeof t.languageId!="string")throw new Error("NotebookCellData MUST have 'languageId' property")}static isNotebookCellDataArray(t){return Array.isArray(t)&&t.every(e=>r.isNotebookCellData(e))}static isNotebookCellData(t){return!0}constructor(t,e,n,o,i,s,a){this.kind=t,this.value=e,this.languageId=n,this.mime=o,this.outputs=i??[],this.metadata=s,this.executionSummary=a,r.validate(this)}},wf=class{constructor(t){this.cells=t}},Sr=class{static isNotebookCellEdit(t){return t instanceof Sr?!0:t?Ai.isNotebookRange(t)&&Array.isArray(t.newCells):!1}static replaceCells(t,e){return new Sr(t,e)}static insertCells(t,e){return new Sr(new Ai(t,t),e)}static deleteCells(t){return new Sr(t,[])}static updateCellMetadata(t,e){let n=new Sr(new Ai(t,t),[]);return n.newCellMetadata=e,n}static updateNotebookMetadata(t){let e=new Sr(new Ai(0,0),[]);return e.newNotebookMetadata=t,e}constructor(t,e){this.range=t,this.newCells=e}};Sr=C([ue],Sr);Tf=class r{constructor(t,e){this.data=t;this.mime=e;let n=DP(e,!0);if(!n)throw new Error(`INVALID mime type: ${e}. Must be in the format "type/subtype[;optionalparameter]"`);this.mime=n}static isNotebookCellOutputItem(t){return t instanceof r?!0:t?typeof t.mime=="string"&&t.data instanceof Uint8Array:!1}static error(t){let e={name:t.name,message:t.message,stack:t.stack};return r.json(e,"application/vnd.code.notebook.error")}static stdout(t){return r.text(t,"application/vnd.code.notebook.stdout")}static stderr(t){return r.text(t,"application/vnd.code.notebook.stderr")}static bytes(t,e="application/octet-stream"){return new r(t,e)}static $a=new TextEncoder;static text(t,e=Ir.text){let n=r.$a.encode(String(t));return new r(n,e)}static json(t,e="text/x-json"){let n=JSON.stringify(t,void 0," ");return r.text(n,e)}},Rf=class r{static isNotebookCellOutput(t){return t instanceof r?!0:!t||typeof t!="object"?!1:typeof t.id=="string"&&Array.isArray(t.items)}static ensureUniqueMimeTypes(t,e=!1){let n=new Set,o=new Set;for(let i=0;i<t.length;i++){let s=t[i],a=DP(s.mime);if(!n.has(a)||P2(a)){n.add(a);continue}o.add(i),e&&console.warn(`DUPLICATED mime type '${s.mime}' will be dropped`)}return o.size===0?t:t.filter((i,s)=>!o.has(s))}constructor(t,e,n){this.items=r.ensureUniqueMimeTypes(t,!0),typeof e=="string"?(this.id=e,this.metadata=n):(this.id=Se(),this.metadata=e??n)}}});function FK(r){let t=MP(r);return r.isEmpty||(r.active.isEqual(r.start)?t=`|${t}`:t=`${t}|`),t}var Li,M2=y(()=>{br();op();ms();Li=class extends Ge{static isSelection(t){return t instanceof Li?!0:!t||typeof t!="object"?!1:Ge.isRange(t)&&We.isPosition(t.anchor)&&We.isPosition(t.active)&&typeof t.isReversed=="boolean"}get anchor(){return this._anchor}get active(){return this._active}constructor(t,e,n,o){let i,s;if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"?(i=new We(t,e),s=new We(n,o)):We.isPosition(t)&&We.isPosition(e)&&(i=We.of(t),s=We.of(e)),!i||!s)throw new Error("Invalid arguments");super(i,s),this._anchor=i,this._active=s}get isReversed(){return this._anchor===this._end}toJSON(){return{start:this.start,end:this.end,active:this.active,anchor:this.anchor}}[Symbol.for("debug.description")](){return FK(this)}};Li=C([ue],Li)});var Bo,OP=y(()=>{br();Bo=class{constructor(t){this._tabstop=1;this.value=t||""}static isSnippetString(t){return t instanceof Bo?!0:!t||typeof t!="object"?!1:typeof t.value=="string"}static _escape(t){return t.replace(/\$|}|\\/g,"\\$&")}appendText(t){return this.value+=Bo._escape(t),this}appendTabstop(t=this._tabstop++){return this.value+="$",this.value+=t,this}appendPlaceholder(t,e=this._tabstop++){if(typeof t=="function"){let n=new Bo;n._tabstop=this._tabstop,t(n),this._tabstop=n._tabstop,t=n.value}else t=Bo._escape(t);return this.value+="${",this.value+=e,this.value+=":",this.value+=t,this.value+="}",this}appendChoice(t,e=this._tabstop++){let n=t.map(o=>o.replaceAll(/[|\\,]/g,"\\$&")).join(",");return this.value+="${",this.value+=e,this.value+="|",this.value+=n,this.value+="|}",this}appendVariable(t,e){if(typeof e=="function"){let n=new Bo;n._tabstop=this._tabstop,e(n),this._tabstop=n._tabstop,e=n.value}else typeof e=="string"&&(e=e.replace(/\$|}/g,"\\$&"));return this.value+="${",this.value+=t,e&&(this.value+=":",this.value+=e),this.value+="}",this}};Bo=C([ue],Bo)});var Lc,NP=y(()=>{OP();ms();Lc=class r{static isSnippetTextEdit(t){return t instanceof r?!0:t?Ge.isRange(t.range)&&Bo.isSnippetString(t.snippet):!1}static replace(t,e){return new r(t,e)}static insert(t,e){return r.replace(new Ge(t,t),e)}constructor(t,e){this.range=t,this.snippet=e}}});var eS,Zs,A2=y(()=>{br();AP();ms();eS=(F=>(F[F.File=0]="File",F[F.Module=1]="Module",F[F.Namespace=2]="Namespace",F[F.Package=3]="Package",F[F.Class=4]="Class",F[F.Method=5]="Method",F[F.Property=6]="Property",F[F.Field=7]="Field",F[F.Constructor=8]="Constructor",F[F.Enum=9]="Enum",F[F.Interface=10]="Interface",F[F.Function=11]="Function",F[F.Variable=12]="Variable",F[F.Constant=13]="Constant",F[F.String=14]="String",F[F.Number=15]="Number",F[F.Boolean=16]="Boolean",F[F.Array=17]="Array",F[F.Object=18]="Object",F[F.Key=19]="Key",F[F.Null=20]="Null",F[F.EnumMember=21]="EnumMember",F[F.Struct=22]="Struct",F[F.Event=23]="Event",F[F.Operator=24]="Operator",F[F.TypeParameter=25]="TypeParameter",F))(eS||{}),Zs=class{static validate(t){if(!t.name)throw new Error("name must not be falsy")}constructor(t,e,n,o,i){this.name=t,this.kind=e,this.containerName=i,typeof n=="string"&&(this.containerName=n),o instanceof Mo?this.location=o:n instanceof Ge&&(this.location=new Mo(o,n)),Zs.validate(this)}toJSON(){return{name:this.name,kind:eS[this.kind],location:this.location,containerName:this.containerName}}};Zs=C([ue],Zs)});var Ao,UP=y(()=>{Ee();br();op();ms();Ao=class{static isTextEdit(t){return t instanceof Ao?!0:!t||typeof t!="object"?!1:Ge.isRange(t)&&typeof t.newText=="string"}static replace(t,e){return new Ao(t,e)}static insert(t,e){return Ao.replace(new Ge(t,t),e)}static delete(t){return Ao.replace(t,"")}static setEndOfLine(t){let e=new Ao(new Ge(new We(0,0),new We(0,0)),"");return e.newEol=t,e}get range(){return this._range}set range(t){if(t&&!Ge.isRange(t))throw at("range");this._range=t}get newText(){return this._newText||""}set newText(t){if(t&&typeof t!="string")throw at("newText");this._newText=t}get newEol(){return this._newEol}set newEol(t){if(t&&typeof t!="number")throw at("newEol");this._newEol=t}constructor(t,e){this._range=t,this._newText=e}toJSON(){return{range:this.range,newText:this.newText,newEol:this._newEol}}};Ao=C([ue],Ao)});function tS(r){if(r.scheme!==B.vscodeNotebookCell)return;let t=r.fragment.indexOf("s");if(t<0)return;let e=parseInt(r.fragment.substring(0,t).replace(WK,""),L2),n=gr(r.fragment.substring(t+1)).toString();if(!isNaN(e))return{handle:e,notebook:r.with({scheme:n,fragment:null})}}function O2(r,t){let e=t.toString(L2),o=`${e.length<FP.length?FP[e.length-1]:"z"}${e}s${To(L.fromString(r.scheme),!0,!0)}`;return r.with({scheme:B.vscodeNotebookCell,fragment:o})}function N2(r){if(r.scheme!==B.vscodeNotebookMetadata)return;let t=gr(r.fragment).toString();return r.with({scheme:t,fragment:null})}function U2(r){let t=`${To(L.fromString(r.scheme),!0,!0)}`;return r.with({scheme:B.vscodeNotebookMetadata,fragment:t})}function WP(r){if(r.scheme!==B.vscodeNotebookCellOutput)return;let t=new URLSearchParams(r.query),e=t.get("openIn");if(!e)return;let n=t.get("outputId")??void 0,o=tS(r.with({scheme:B.vscodeNotebookCell,query:null})),i=t.get("outputIndex")?parseInt(t.get("outputIndex")||"",10):void 0,s=o?o.notebook:r.with({scheme:t.get("notebookScheme")||B.file,fragment:null,query:null}),a=t.get("cellIndex")?parseInt(t.get("cellIndex")||"",10):void 0;return{notebook:s,openIn:e,outputId:n,outputIndex:i,cellHandle:o?.handle,cellFragment:r.fragment,cellIndex:a}}var HK,FP,WK,L2,HP,F2=y(()=>{Ke();Sn();Ae();_c();Z();HK=D("notebookDocumentService"),FP=["W","X","Y","Z","a","b","c","d","e","f"],WK=new RegExp(`^[${FP.join("")}]+`),L2=7;HP=class{constructor(){this._documents=new tt}getNotebook(t){if(t.scheme===B.vscodeNotebookCell){let e=tS(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}if(t.scheme===B.vscodeNotebookCellOutput){let e=WP(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}return this._documents.get(t)}addNotebookDocument(t){this._documents.set(t.uri,t)}removeNotebookDocument(t){this._documents.delete(t.uri)}};li(HK,HP,1)});var hLe,vLe,VK,VP,yLe,ILe,H2,bLe,BK,SLe,Pf=y(()=>{Ke();HI();ei();Mc();Ae();me();fo();F2();hLe=["application/json","application/javascript","text/html","image/svg+xml",Ir.latex,Ir.markdown,"image/png","image/jpeg",Ir.text],vLe=[Ir.latex,Ir.markdown,"application/json","text/html","image/svg+xml","image/png","image/jpeg",Ir.text];(n=>{n.scheme=B.vscodeNotebookMetadata;function t(o){return U2(o)}n.generate=t;function e(o){return N2(o)}n.parse=e})(VK||={});(c=>{c.scheme=B.vscodeNotebookCell;function t(u,p){return O2(u,p)}c.generate=t;function e(u){return tS(u)}c.parse=e;function n(u,p){return u.with({scheme:B.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"editor",outputId:p??"",notebookScheme:u.scheme!==B.file?u.scheme:""}).toString()})}c.generateCellOutputUriWithId=n;function o(u,p,m){return u.with({scheme:B.vscodeNotebookCellOutput,fragment:p.fragment,query:new URLSearchParams({openIn:"notebook",outputIndex:String(m)}).toString()})}c.generateCellOutputUriWithIndex=o;function i(u,p,m,f,h){return u.with({scheme:B.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"notebookOutputEditor",notebook:u.toString(),cellIndex:String(m),outputId:f,outputIndex:String(h)}).toString()})}c.generateOutputEditorUri=i;function s(u){return WP(u)}c.parseCellOutputUri=s;function a(u,p,m){return c.generate(u,p).with({scheme:m})}c.generateCellPropertyUri=a;function l(u,p){if(u.scheme===p)return c.parse(u.with({scheme:c.scheme}))}c.parseCellPropertyUri=l})(VP||={});yLe=new x("notebookEditorCursorAtBoundary","none"),ILe=new x("notebookEditorCursorAtLineBoundary","none"),H2=class r{static{this._prefix="notebook/"}static create(t,e){return`${r._prefix}${t}/${e??t}`}static parse(t){if(t.startsWith(r._prefix)){let e=t.substring(r._prefix.length).split("/");if(e.length===2)return{notebookType:e[0],viewType:e[1]}}}},bLe=new TextDecoder,BK="\x1B[A",SLe=BK.split("").map(r=>r.charCodeAt(0))});var Cl,V2=y(()=>{At();Sn();Pf();LP();NP();br();ms();UP();Cl=class{constructor(){this._edits=[]}_allEntries(){return this._edits}renameFile(t,e,n,o){this._edits.push({_type:1,from:t,to:e,options:n,metadata:o})}createFile(t,e,n){this._edits.push({_type:1,from:void 0,to:t,options:e,metadata:n})}deleteFile(t,e,n){this._edits.push({_type:1,from:t,to:void 0,options:e,metadata:n})}replaceNotebookMetadata(t,e,n){this._edits.push({_type:3,metadata:n,uri:t,edit:{editType:5,metadata:e}})}replaceNotebookCells(t,e,n,o){let i=e.start,s=e.end;(i!==s||n.length>0)&&this._edits.push({_type:5,uri:t,index:i,count:s-i,cells:n,metadata:o})}replaceNotebookCellMetadata(t,e,n,o){this._edits.push({_type:3,metadata:o,uri:t,edit:{editType:3,index:e,metadata:n}})}replace(t,e,n,o){this._edits.push({_type:2,uri:t,edit:new Ao(e,n),metadata:o})}insert(t,e,n,o){this.replace(t,new Ge(e,e),n,o)}delete(t,e,n){this.replace(t,e,"",n)}has(t){return this._edits.some(e=>e._type===2&&e.uri.toString()===t.toString())}set(t,e){if(e)for(let n of e){if(!n)continue;let o,i;Array.isArray(n)?(o=n[0],i=n[1]):o=n,Sr.isNotebookCellEdit(o)?o.newCellMetadata?this.replaceNotebookCellMetadata(t,o.range.start,o.newCellMetadata,i):o.newNotebookMetadata?this.replaceNotebookMetadata(t,o.newNotebookMetadata,i):this.replaceNotebookCells(t,o.range,o.newCells,i):Lc.isSnippetTextEdit(o)?this._edits.push({_type:6,uri:t,range:o.range,edit:o.snippet,metadata:i,keepWhitespace:o.keepWhitespace}):this._edits.push({_type:2,uri:t,edit:o,metadata:i})}else{for(let n=0;n<this._edits.length;n++){let o=this._edits[n];switch(o._type){case 2:case 6:case 3:case 5:o.uri.toString()===t.toString()&&(this._edits[n]=void 0);break}}u0(this._edits)}}get(t){let e=[];for(let n of this._edits)n._type===2&&n.uri.toString()===t.toString()&&e.push(n.edit);return e}entries(){let t=new tt;for(let e of this._edits)if(e._type===2){let n=t.get(e.uri);n||(n=[e.uri,[]],t.set(e.uri,n)),n[1].push(e.edit)}return[...t.values()]}get size(){return this.entries().length}toJSON(){return this.entries()}};Cl=C([ue],Cl)});function $2(r){let t="";for(let e=0;e<r.length;e++)t+=r[e].replace(/,/g,",,")+",";return t}function nh(r){if(r){if(r.covered>r.total)throw new Error(`The total number of covered items (${r.covered}) cannot be greater than the total (${r.total})`);if(r.total<0)throw new Error(`The number of covered items (${r.total}) cannot be negative`)}}var Fc,ta,Df,ip,q2,sp,ap,na,nS,lp,Sp,ES,wS,oS,rS,iS,sS,cp,dp,qP,up,aS,lS,cS,$P,zP,pp,Oc,dS,mp,Lo,_f,Mf,BP,Oo,QK,gp,Af,xp,TS,RS,ea,Hc,Lf,fp,uS,Tl,oa,pS,El,JK,Nc,mS,gS,fS,hS,vS,yS,IS,hp,vp,yp,Ip,bp,yo,bS,kf,SS,PS,xS,kS,CS,wl,Uc,Of,DS,_S,MS,AS,Cp,Nf,Uf,LS,Ff,Hf,OS,Wf,Vf,Bf,qf,NS,$f,zf,Gf,Kf,jf,Qf,US,Jf,FS,HS,WS,Yf,Xf,VS,BS,Zf,gs,eh,qS,Wc,$S,zS,Vc,Vn,qo,Ep,fs,B2,th,GS,KS,jS,QS,JS=y(()=>{At();Ke();Ee();Zl();Mc();Tt();we();oe();nn();k2();jn();nt();Tb();br();_P();ms();D2();_2();AP();_P();LP();op();ms();M2();OP();NP();A2();UP();V2();ta=class{constructor(t){yd(this,Fc);Tm(this,Fc,t)}static from(...t){let e=t;return new ta(function(){if(e){for(let n of e)n&&typeof n.dispose=="function"&&n.dispose();e=void 0}})}dispose(){typeof un(this,Fc)=="function"&&(un(this,Fc).call(this),Tm(this,Fc,void 0))}};Fc=new WeakMap,ta=C([ue],ta);Df=class{constructor(t,e){if(!t)throw new Error("Illegal argument, contents must be defined");Array.isArray(t)?this.contents=t:this.contents=[t],this.range=e}};Df=C([ue],Df);ip=class extends Df{constructor(t,e,n,o){super(t,e),this.canIncreaseVerbosity=n,this.canDecreaseVerbosity=o}};ip=C([ue],ip);q2=(n=>(n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write",n))(q2||{}),sp=class{constructor(t,e=0){this.range=t,this.kind=e}toJSON(){return{range:this.range,kind:q2[this.kind]}}};sp=C([ue],sp);ap=class{constructor(t,e){this.uri=t,this.highlights=e}toJSON(){return{uri:this.uri,highlights:this.highlights.map(t=>t.toJSON())}}};ap=C([ue],ap);na=class{static validate(t){if(!t.name)throw new Error("name must not be falsy");if(!t.range.contains(t.selectionRange))throw new Error("selectionRange must be contained in fullRange");t.children?.forEach(na.validate)}constructor(t,e,n,o,i){this.name=t,this.detail=e,this.kind=n,this.range=o,this.selectionRange=i,this.children=[],na.validate(this)}};na=C([ue],na);nS=class{constructor(t,e){this.title=t,this.kind=e}};nS=C([ue],nS);lp=class{constructor(t,e){if(this.range=t,this.parent=e,e&&!e.range.contains(this.range))throw new Error("Invalid argument: parent must contain this range")}};lp=C([ue],lp);Sp=class{constructor(t,e,n,o,i,s){this.kind=t,this.name=e,this.detail=n,this.uri=o,this.range=i,this.selectionRange=s}},ES=class{constructor(t,e){this.fromRanges=e,this.from=t}},wS=class{constructor(t,e){this.fromRanges=e,this.to=t}},oS=class{constructor(t,e){this.range=t,this.command=e}get isResolved(){return!!this.command}};oS=C([ue],oS);rS=class{constructor(t,e){this.label=t,this.documentation=e}};rS=C([ue],rS);iS=class{constructor(t,e){this.label=t,this.documentation=e,this.parameters=[]}};iS=C([ue],iS);sS=class{constructor(){this.activeSignature=0;this.activeParameter=0;this.signatures=[]}};sS=C([ue],sS);cp=class{constructor(t){this.value=t}};cp=C([ue],cp);dp=class{constructor(t,e,n){this.position=t,this.label=e,this.kind=n}};dp=C([ue],dp);qP=(Y=>(Y[Y.Text=0]="Text",Y[Y.Method=1]="Method",Y[Y.Function=2]="Function",Y[Y.Constructor=3]="Constructor",Y[Y.Field=4]="Field",Y[Y.Variable=5]="Variable",Y[Y.Class=6]="Class",Y[Y.Interface=7]="Interface",Y[Y.Module=8]="Module",Y[Y.Property=9]="Property",Y[Y.Unit=10]="Unit",Y[Y.Value=11]="Value",Y[Y.Enum=12]="Enum",Y[Y.Keyword=13]="Keyword",Y[Y.Snippet=14]="Snippet",Y[Y.Color=15]="Color",Y[Y.File=16]="File",Y[Y.Reference=17]="Reference",Y[Y.Folder=18]="Folder",Y[Y.EnumMember=19]="EnumMember",Y[Y.Constant=20]="Constant",Y[Y.Struct=21]="Struct",Y[Y.Event=22]="Event",Y[Y.Operator=23]="Operator",Y[Y.TypeParameter=24]="TypeParameter",Y[Y.User=25]="User",Y[Y.Issue=26]="Issue",Y))(qP||{}),up=class{constructor(t,e){this.label=t,this.kind=e}toJSON(){return{label:this.label,kind:this.kind&&qP[this.kind],detail:this.detail,documentation:this.documentation,sortText:this.sortText,filterText:this.filterText,preselect:this.preselect,insertText:this.insertText,textEdit:this.textEdit}}};up=C([ue],up);aS=class{constructor(t=[],e=!1){this.items=t,this.isIncomplete=e}};aS=C([ue],aS);lS=class{constructor(t,e,n){this.insertText=t,this.range=e,this.command=n}};lS=C([ue],lS);cS=class{constructor(t){this.commands=void 0;this.suppressSuggestions=void 0;this.items=t}};cS=C([ue],cS);$P=(n=>(n[n.Keyboard=1]="Keyboard",n[n.Mouse=2]="Mouse",n[n.Command=3]="Command",n))($P||{});(t=>{function r(e){switch(e){case"keyboard":return 1;case"mouse":return 2;case"api":case"code.jump":case"code.navigation":return 3}}t.fromValue=r})($P||={});zP=(o=>(o[o.Other=0]="Other",o[o.Comment=1]="Comment",o[o.String=2]="String",o[o.RegEx=3]="RegEx",o))(zP||{});(t=>{function r(e){switch(e){case 0:return"other";case 1:return"comment";case 2:return"string";case 3:return"regex"}return"other"}t.toString=r})(zP||={});pp=class{constructor(t,e){if(e&&!S.isUri(e))throw at("target");if(!Ge.isRange(t)||t.isEmpty)throw at("range");this.range=t,this.target=e}};pp=C([ue],pp);Oc=class{constructor(t,e,n,o){this.red=t,this.green=e,this.blue=n,this.alpha=o}};Oc=C([ue],Oc);dS=class{constructor(t,e){if(e&&!(e instanceof Oc))throw at("color");if(!Ge.isRange(t)||t.isEmpty)throw at("range");this.range=t,this.color=e}};dS=C([ue],dS);mp=class{constructor(t){if(!t||typeof t!="string")throw at("label");this.label=t}};mp=C([ue],mp);Lo=class{constructor(t,e){this.label=e;if(typeof t!="string")throw at("name");if(typeof e!="string")throw at("name");this._id=t}static from(t){switch(t){case"clean":return Lo.Clean;case"build":return Lo.Build;case"rebuild":return Lo.Rebuild;case"test":return Lo.Test;default:return}}get id(){return this._id}};Lo.Clean=new Lo("clean","Clean"),Lo.Build=new Lo("build","Build"),Lo.Rebuild=new Lo("rebuild","Rebuild"),Lo.Test=new Lo("test","Test"),Lo=C([ue],Lo);_f=class{constructor(t,e,n){if(typeof t!="string")throw at("process");this._args=[],this._process=t,e!==void 0&&(Array.isArray(e)?(this._args=e,this._options=n):this._options=e)}get process(){return this._process}set process(t){if(typeof t!="string")throw at("process");this._process=t}get args(){return this._args}set args(t){Array.isArray(t)||(t=[]),this._args=t}get options(){return this._options}set options(t){this._options=t}computeId(){let t=[];if(t.push("process"),this._process!==void 0&&t.push(this._process),this._args&&this._args.length>0)for(let e of this._args)t.push(e);return $2(t)}};_f=C([ue],_f);Mf=class{constructor(t,e,n){this._args=[];if(Array.isArray(e)){if(!t)throw at("command can't be undefined or null");if(typeof t!="string"&&typeof t.value!="string")throw at("command");this._command=t,e&&(this._args=e),this._options=n}else{if(typeof t!="string")throw at("commandLine");this._commandLine=t,this._options=e}}get commandLine(){return this._commandLine}set commandLine(t){if(typeof t!="string")throw at("commandLine");this._commandLine=t}get command(){return this._command?this._command:""}set command(t){if(typeof t!="string"&&typeof t.value!="string")throw at("command");this._command=t}get args(){return this._args}set args(t){this._args=t||[]}get options(){return this._options}set options(t){this._options=t}computeId(){let t=[];if(t.push("shell"),this._commandLine!==void 0&&t.push(this._commandLine),this._command!==void 0&&t.push(typeof this._command=="string"?this._command:this._command.value),this._args&&this._args.length>0)for(let e of this._args)t.push(typeof e=="string"?e:e.value);return $2(t)}};Mf=C([ue],Mf);BP=class{constructor(t){this._callback=t}computeId(){return"customExecution"+Se()}set callback(t){this._callback=t}get callback(){return this._callback}},Oo=class{constructor(t,e,n,o,i,s){this.__deprecated=!1;this._definition=this.definition=t;let a;typeof e=="string"?(this._name=this.name=e,this._source=this.source=n,this.execution=o,a=i,this.__deprecated=!0):e===1||e===2?(this.target=e,this._name=this.name=n,this._source=this.source=o,this.execution=i,a=s):(this.target=e,this._name=this.name=n,this._source=this.source=o,this.execution=i,a=s),typeof a=="string"?(this._problemMatchers=[a],this._hasDefinedMatchers=!0):Array.isArray(a)?(this._problemMatchers=a,this._hasDefinedMatchers=!0):(this._problemMatchers=[],this._hasDefinedMatchers=!1),this._isBackground=!1,this._presentationOptions=Object.create(null),this._runOptions=Object.create(null)}get _id(){return this.__id}set _id(t){this.__id=t}get _deprecated(){return this.__deprecated}clear(){this.__id!==void 0&&(this.__id=void 0,this._scope=void 0,this.computeDefinitionBasedOnExecution())}computeDefinitionBasedOnExecution(){this._execution instanceof _f?this._definition={type:Oo.ProcessType,id:this._execution.computeId()}:this._execution instanceof Mf?this._definition={type:Oo.ShellType,id:this._execution.computeId()}:this._execution instanceof BP?this._definition={type:Oo.ExtensionCallbackType,id:this._execution.computeId()}:this._definition={type:Oo.EmptyType,id:Se()}}get definition(){return this._definition}set definition(t){if(t==null)throw at("Kind can't be undefined or null");this.clear(),this._definition=t}get scope(){return this._scope}set target(t){this.clear(),this._scope=t}get name(){return this._name}set name(t){if(typeof t!="string")throw at("name");this.clear(),this._name=t}get execution(){return this._execution}set execution(t){t===null&&(t=void 0),this.clear(),this._execution=t;let e=this._definition.type;(Oo.EmptyType===e||Oo.ProcessType===e||Oo.ShellType===e||Oo.ExtensionCallbackType===e)&&this.computeDefinitionBasedOnExecution()}get problemMatchers(){return this._problemMatchers}set problemMatchers(t){if(Array.isArray(t))this.clear(),this._problemMatchers=t,this._hasDefinedMatchers=!0;else{this.clear(),this._problemMatchers=[],this._hasDefinedMatchers=!1;return}}get hasDefinedMatchers(){return this._hasDefinedMatchers}get isBackground(){return this._isBackground}set isBackground(t){t!==!0&&t!==!1&&(t=!1),this.clear(),this._isBackground=t}get source(){return this._source}set source(t){if(typeof t!="string"||t.length===0)throw at("source must be a string of length > 0");this.clear(),this._source=t}get group(){return this._group}set group(t){t===null&&(t=void 0),this.clear(),this._group=t}get detail(){return this._detail}set detail(t){t===null&&(t=void 0),this._detail=t}get presentationOptions(){return this._presentationOptions}set presentationOptions(t){t==null&&(t=Object.create(null)),this.clear(),this._presentationOptions=t}get runOptions(){return this._runOptions}set runOptions(t){t==null&&(t=Object.create(null)),this.clear(),this._runOptions=t}};Oo.ExtensionCallbackType="customExecution",Oo.ProcessType="process",Oo.ShellType="shell",Oo.EmptyType="$empty",Oo=C([ue],Oo);(t=>{function r(e){let n=e;return po(n.value)?n.tooltip&&!j(n.tooltip)?(console.log("INVALID view badge, invalid tooltip",n.tooltip),!1):!0:(console.log("INVALID view badge, invalid value",n.value),!1)}t.isViewBadge=r})(QK||={});gp=class{constructor(t,e=0){this.collapsibleState=e;S.isUri(t)?this.resourceUri=t:this.label=t}static isTreeItem(t,e){let n=t;if(n.checkboxState!==void 0){let o=po(n.checkboxState)?n.checkboxState:_e(n.checkboxState)&&po(n.checkboxState.state)?n.checkboxState.state:void 0,i=!po(n.checkboxState)&&_e(n.checkboxState)?n.checkboxState.tooltip:void 0;if(o===void 0||o!==1&&o!==0||i!==void 0&&!j(i))return console.log("INVALID tree item, invalid checkboxState",n.checkboxState),!1}if(t instanceof gp)return!0;if(n.label!==void 0&&!j(n.label)&&!n.label?.label)return console.log("INVALID tree item, invalid label",n.label),!1;if(n.id!==void 0&&!j(n.id))return console.log("INVALID tree item, invalid id",n.id),!1;if(n.iconPath!==void 0&&!j(n.iconPath)&&!S.isUri(n.iconPath)&&(!n.iconPath||!j(n.iconPath.id))){let o=n.iconPath;if(!o||!j(o.light)&&!S.isUri(o.light)&&!j(o.dark)&&!S.isUri(o.dark))return console.log("INVALID tree item, invalid iconPath",n.iconPath),!1}return n.description!==void 0&&!j(n.description)&&typeof n.description!="boolean"?(console.log("INVALID tree item, invalid description",n.description),!1):n.resourceUri!==void 0&&!S.isUri(n.resourceUri)?(console.log("INVALID tree item, invalid resourceUri",n.resourceUri),!1):n.tooltip!==void 0&&!j(n.tooltip)&&!(n.tooltip instanceof _o)?(console.log("INVALID tree item, invalid tooltip",n.tooltip),!1):n.command!==void 0&&!n.command.command?(console.log("INVALID tree item, invalid command",n.command),!1):n.collapsibleState!==void 0&&n.collapsibleState<0&&n.collapsibleState>2?(console.log("INVALID tree item, invalid collapsibleState",n.collapsibleState),!1):n.contextValue!==void 0&&!j(n.contextValue)?(console.log("INVALID tree item, invalid contextValue",n.contextValue),!1):n.accessibilityInformation!==void 0&&!n.accessibilityInformation?.label?(console.log("INVALID tree item, invalid accessibilityInformation",n.accessibilityInformation),!1):!0}};gp=C([ue],gp);Af=class{constructor(t){this.value=t}async asString(){return typeof this.value=="string"?this.value:JSON.stringify(this.value)}asFile(){}};Af=C([ue],Af);xp=class extends Af{},TS=class extends xp{$b;constructor(t){super(""),this.$b=t}asFile(){return this.$b}},RS=class{constructor(t,e,n,o){this.name=t,this.uri=e,this._itemId=n,this._getData=o}data(){return this._getData()}},fp=class{constructor(t){yd(this,Hc);yd(this,ea,new Map);for(let[e,n]of t??[]){let o=un(this,ea).get(Rm(this,Hc,Lf).call(this,e));o?o.push(n):un(this,ea).set(Rm(this,Hc,Lf).call(this,e),[n])}}get(t){return un(this,ea).get(Rm(this,Hc,Lf).call(this,t))?.[0]}set(t,e){un(this,ea).set(Rm(this,Hc,Lf).call(this,t),[e])}forEach(t,e){for(let[n,o]of un(this,ea))for(let i of o)t.call(e,i,n,this)}*[Symbol.iterator](){for(let[t,e]of un(this,ea))for(let n of e)yield[t,n]}};ea=new WeakMap,Hc=new WeakSet,Lf=function(t){return t.toLowerCase()},fp=C([ue],fp);uS=class{constructor(t,e,n){this.insertText=t,this.title=e,this.kind=n}};uS=C([ue],uS);Tl=class r{constructor(t){this.value=t}static{this.sep="."}append(...t){return new r((this.value?[this.value,...t]:t).join(r.sep))}intersects(t){return this.contains(t)||t.contains(this)}contains(t){return this.value===t.value||t.value.startsWith(this.value+r.sep)}};Tl.Empty=new Tl("");Tl.Text=new Tl("text");Tl.TextUpdateImports=Tl.Text.append("updateImports");oa=class{constructor(t,e){this.id=t,this.color=e}static isThemeIcon(t){return typeof t.id!="string"?(console.log("INVALID ThemeIcon, invalid id",t.id),!1):!0}};oa=C([ue],oa);oa.File=new oa("file");oa.Folder=new oa("folder");pS=class{constructor(t){this.id=t}};pS=C([ue],pS);El=class{get base(){return this._base}set base(t){this._base=t,this._baseUri=S.file(t)}get baseUri(){return this._baseUri}set baseUri(t){this._baseUri=t,this._base=t.fsPath}constructor(t,e){if(typeof t!="string"&&(!t||!S.isUri(t)&&!S.isUri(t.uri)))throw at("base");if(typeof e!="string")throw at("pattern");typeof t=="string"?this.baseUri=S.file(t):S.isUri(t)?this.baseUri=t:this.baseUri=t.uri,this.pattern=e}toJSON(){return{pattern:this.pattern,base:this.base,baseUri:this.baseUri.toJSON()}}};El=C([ue],El);JK=new WeakMap,Nc=class{constructor(t,e,n,o,i){this.enabled=typeof t=="boolean"?t:!0,typeof e=="string"&&(this.condition=e),typeof n=="string"&&(this.hitCondition=n),typeof o=="string"&&(this.logMessage=o),typeof i=="string"&&(this.mode=i)}get id(){return this._id||(this._id=JK.get(this)??Se()),this._id}};Nc=C([ue],Nc);mS=class extends Nc{constructor(t,e,n,o,i,s){if(super(e,n,o,i,s),t===null)throw at("location");this.location=t}};mS=C([ue],mS);gS=class extends Nc{constructor(t,e,n,o,i,s){super(e,n,o,i,s),this.functionName=t}};gS=C([ue],gS);fS=class extends Nc{constructor(t,e,n,o,i,s,a,l){if(super(o,i,s,a,l),!e)throw at("dataId");this.label=t,this.dataId=e,this.canPersist=n}};fS=C([ue],fS);hS=class{constructor(t,e,n){this.command=t,this.args=e||[],this.options=n}};hS=C([ue],hS);vS=class{constructor(t,e){this.port=t,this.host=e}};vS=C([ue],vS);yS=class{constructor(t){this.path=t}};yS=C([ue],yS);IS=class{constructor(t){this.implementation=t}};IS=C([ue],IS);hp=class{constructor(t,e){this.range=t,this.expression=e}};hp=C([ue],hp);vp=class{constructor(t,e){this.range=t,this.text=e}};vp=C([ue],vp);yp=class{constructor(t,e,n=!0){this.range=t,this.variableName=e,this.caseSensitiveLookup=n}};yp=C([ue],yp);Ip=class{constructor(t,e){this.range=t,this.expression=e}};Ip=C([ue],Ip);bp=class{constructor(t,e){this.frameId=t,this.stoppedLocation=e}};bp=C([ue],bp);yo=class extends Error{static FileExists(t){return new yo(t,"EntryExists",yo.FileExists)}static FileNotFound(t){return new yo(t,"EntryNotFound",yo.FileNotFound)}static FileNotADirectory(t){return new yo(t,"EntryNotADirectory",yo.FileNotADirectory)}static FileIsADirectory(t){return new yo(t,"EntryIsADirectory",yo.FileIsADirectory)}static NoPermissions(t){return new yo(t,"NoPermissions",yo.NoPermissions)}static Unavailable(t){return new yo(t,"Unavailable",yo.Unavailable)}constructor(t,e="Unknown",n){super(S.isUri(t)?t.toString(!0):t),this.code=n?.name??"Unknown",tT(this,e),Object.setPrototypeOf(this,yo.prototype),typeof Error.captureStackTrace=="function"&&typeof n=="function"&&Error.captureStackTrace(this,n)}};yo=C([ue],yo);bS=class{constructor(t,e,n){this.start=t,this.end=e,this.kind=n}};bS=C([ue],bS);kf=class{constructor(){}};kf.Back={iconPath:new oa("arrow-left")},kf=C([ue],kf);SS=class{constructor(t){this.kind=t}};SS=C([ue],SS);PS=class{constructor(t,e=[]){this.uri=t;this.provides=Sd(e)}},xS=class{constructor(t,e){this.label=t;this.timestamp=e}};xS=C([ue],xS);kS=class{constructor(t,e,n){this.controllerId=t;this.profileId=e;this.kind=n}},CS=class{constructor(t=void 0,e=void 0,n=void 0,o=!1,i=!0){this.include=t;this.exclude=e;this.profile=n;this.continuous=o;this.preserveFocus=i}};CS=C([ue],CS);wl=class{constructor(t){this.message=t}static diff(t,e,n){let o=new wl(t);return o.expectedOutput=e,o.actualOutput=n,o}};wl=C([ue],wl);Uc=class{constructor(t){this.id=t}};Uc=C([ue],Uc);Of=class{constructor(t,e){this.covered=t;this.total=e;nh(this)}};DS=class r{constructor(t,e,n,o,i=[]){this.uri=t;this.statementCoverage=e;this.branchCoverage=n;this.declarationCoverage=o;this.includesTests=i}static fromDetails(t,e){let n=new Of(0,0),o=new Of(0,0),i=new Of(0,0);for(let a of e)if("branches"in a){n.total+=1,n.covered+=a.executed?1:0;for(let l of a.branches)o.total+=1,o.covered+=l.executed?1:0}else i.total+=1,i.covered+=a.executed?1:0;let s=new r(t,n,o.total>0?o:void 0,i.total>0?i:void 0);return s.detailedCoverage=e,s}},_S=class{constructor(t,e,n=[]){this.executed=t;this.location=e;this.branches=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},MS=class{constructor(t,e,n){this.executed=t;this.location=e;this.label=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},AS=class{constructor(t,e,n){this.name=t;this.executed=e;this.location=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},Cp=class{constructor(t,e,n,o,i,s){this.kind=t,this.name=e,this.detail=n,this.uri=o,this.range=i,this.selectionRange=s}},Nf=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new _o(t):t}},Uf=class{constructor(t,e){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new _o(t):t,this.vulnerabilities=e}},LS=class{constructor(t,e,n,o){this.title=t,this.message=e,this.data=n,this.buttons=o}},Ff=class{constructor(t,e){this.value=t,this.baseUri=e}},Hf=class{constructor(t,e,n){this.value=t,this.title=e,this.readOnly=n}},OS=class{constructor(t,e,n,o){this.description=t,this.agentName=e,this.prompt=n,this.result=o}},Wf=class{constructor(t,e){this.value=t,this.value2=t,this.title=e}},Vf=class{constructor(t){this.value=t}},Bf=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}},qf=class{constructor(t,e,n,o){this.hookType=t,this.stopReason=e,this.systemMessage=n,this.metadata=o}},NS=class{constructor(t,e){this.id=t,this.value=e}},$f=class{constructor(t){this.resolvedModel=t}},zf=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new _o(t):t}},Gf=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new _o(t):t}},Kf=class{constructor(t){this.value=t}},jf=class{constructor(t,e,n){this.value=t,this.iconPath=e,this.options=n}},Qf=class{constructor(t,e,n){this.value=t,this.isEdit=e,this.undoStopId=n}},US=class{constructor(t,e,n){this.value=t,this.license=e,this.snippet=n}},Jf=class{constructor(t,e){this.uri=t;this.range=e}},FS=class{constructor(t){this.extensions=t}},HS=class{constructor(t,e,n,o,i){this.title=e;this.description=n;this.author=o;this.linkTag=i;_a(t)?(this.uri=t,this.command={title:"Open Pull Request",command:"vscode.open",arguments:[t]}):this.command=t}toJSON(){return{$mid:26,uri:this.uri,title:this.title,description:this.description,author:this.author}}},WS=class{constructor(t,e,n,o){this.id=t,this.type=e,this.title=n,this.message=o?.message,this.options=o?.options,this.defaultValue=o?.defaultValue,this.allowFreeformInput=o?.allowFreeformInput}},Yf=class{constructor(t,e=!0){this.questions=t,this.allowSkip=e}},Xf=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},VS=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},BS=class{constructor(t){this.edits=t}},Zf=class{constructor(t,e,n){this.toolName=t,this.toolCallId=e,this.errorMessage=n}},gs=class r{constructor(t){this.id=t}static{this.Agent=new r("agent")}static{this.Skill=new r("skill")}static{this.Instructions=new r("instructions")}static{this.Prompt=new r("prompt")}static{this.Hook=new r("hook")}static{this.Plugins=new r("plugins")}},eh=class{constructor(t,e,n,o,i){this.mimeType=t,this.data=e,this.reference=n,this.isPasted=o,this.isURL=i}},qS=class{constructor(t){this.diagnostics=t}},Wc=class{constructor(t,e,n){this.callId=t,this.content=e,this.isError=n??!1}},$S=class r{constructor(t,e,n){this._content=[];this.role=t,this.content=e,this.name=n}static User(t,e){return new r(1,t,e)}static Assistant(t,e){return new r(2,t,e)}set content(t){typeof t=="string"?this._content=[new Vn(t)]:this._content=t}get content(){return this._content}},zS=class r{constructor(t,e,n){this._content=[];this.role=t,this.content=e,this.name=n}static User(t,e){return new r(1,t,e)}static Assistant(t,e){return new r(2,t,e)}set content(t){typeof t=="string"?this._content=[new Vn(t)]:this._content=t}get content(){return this._content}set content2(t){t&&(this.content=t.map(e=>typeof e=="string"?new Vn(e):e))}get content2(){return this.content.map(t=>t instanceof Vn?t.value:t)}},Vc=class{constructor(t,e,n){this.callId=t,this.name=e,this.input=n}},Vn=class{constructor(t,e){this.value=t,e=e}toJSON(){return{$mid:21,value:this.value,audience:this.audience}}},qo=class r{constructor(t,e,n){this.mimeType=e,this.data=t,this.audience=n}static image(t,e){return new r(t,e)}static json(t,e="text/x-json"){let n=JSON.stringify(t,void 0," ");return new r(L.fromString(n).buffer,e)}static text(t,e=Ir.text){return new r(L.fromString(t).buffer,e)}toJSON(){return{$mid:24,mimeType:this.mimeType,data:To(L.wrap(this.data)),audience:this.audience}}},Ep=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}toJSON(){return{$mid:22,value:this.value,id:this.id,metadata:this.metadata}}},fs=class{constructor(t){this.value=t}toJSON(){return{$mid:23,value:this.value}}},B2=class r extends Error{static $c="LanguageModelError";static NotFound(t){return new r(t,r.NotFound.name)}static NoPermissions(t){return new r(t,r.NoPermissions.name)}static Blocked(t){return new r(t,r.Blocked.name)}static tryDeserialize(t){if(t.name===r.$c)return new r(t.message,t.code,t.cause)}constructor(t,e,n){super(t,{cause:n}),this.name=r.$c,this.code=e??""}},th=class{constructor(t){this.content=t}toJSON(){return{$mid:20,content:this.content}}},GS=class{constructor(t,e){this.id=t;this.label=e}},KS=class{constructor(t,e,n){this.label=t;this.name=e;this.instructions=n}},jS=class{constructor(t,e,n,o={},i,s){this.label=t;this.command=e;this.args=n;this.env=o;this.version=i;this.metadata=s}},QS=class{constructor(t,e,n={},o,i,s){this.label=t;this.uri=e;this.headers=n;this.version=o;this.metadata=i;this.authentication=s}}});var YS,G2=y(()=>{At();ei();nn();YS=Object.freeze({create:r=>Xn(r.map(t=>t.toString())).join(`\r
`),split:r=>r.split(`\r
`),parse:r=>YS.split(r).filter(t=>!t.startsWith("#"))})});function jP(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function X2(r){qc=r}function qr(r,t){if(t){if(Z2.test(r))return r.replace(YK,K2)}else if(eH.test(r))return r.replace(XK,K2);return r}function Jt(r,t){let e=typeof r=="string"?r:r.source;t=t||"";let n={replace:(o,i)=>{let s=typeof i=="string"?i:i.source;return s=s.replace(ej,"$1"),e=e.replace(o,s),n},getRegex:()=>new RegExp(e,t)};return n}function j2(r){try{r=encodeURI(r).replace(/%25/g,"%")}catch{return null}return r}function Q2(r,t){let e=r.replace(/\|/g,(i,s,a)=>{let l=!1,c=s;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),n=e.split(/ \|/),o=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;o<n.length;o++)n[o]=n[o].trim().replace(/\\\|/g,"|");return n}function oh(r,t,e){let n=r.length;if(n===0)return"";let o=0;for(;o<n;){let i=r.charAt(n-o-1);if(i===t&&!e)o++;else if(i!==t&&e)o++;else break}return r.slice(0,n-o)}function tj(r,t){if(r.indexOf(t[1])===-1)return-1;let e=0;for(let n=0;n<r.length;n++)if(r[n]==="\\")n++;else if(r[n]===t[0])e++;else if(r[n]===t[1]&&(e--,e<0))return n;return-1}function J2(r,t,e,n){let o=t.href,i=t.title?qr(t.title):null,s=r[1].replace(/\\([\[\]])/g,"$1");if(r[0].charAt(0)!=="!"){n.state.inLink=!0;let a={type:"link",raw:e,href:o,title:i,text:s,tokens:n.inlineTokens(s)};return n.state.inLink=!1,a}return{type:"image",raw:e,href:o,title:i,text:qr(s)}}function nj(r,t){let e=r.match(/^(\s+)(?:```)/);if(e===null)return t;let n=e[1];return t.split(`
`).map(o=>{let i=o.match(/^\s+/);if(i===null)return o;let[s]=i;return s.length>=n.length?o.slice(n.length):o}).join(`
`)}function Ht(r,t){return Bc.parse(r,t)}var qc,Z2,YK,eH,XK,ZK,K2,ej,ih,Tp,oj,rj,ij,ah,sj,tH,nH,QP,aj,JP,lj,cj,ex,YP,dj,oH,uj,XP,Y2,pj,mj,rH,gj,iH,fj,lh,hj,vj,yj,Ij,bj,Sj,xj,Cj,Ej,ZS,wj,sH,aH,Tj,ZP,Rj,GP,Pj,XS,rh,ra,Rp,sh,ia,wp,KP,Bc,bOe,SOe,xOe,COe,EOe,wOe,TOe,lH=y(()=>{qc=jP();Z2=/[&<>"']/,YK=new RegExp(Z2.source,"g"),eH=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,XK=new RegExp(eH.source,"g"),ZK={"&":"&","<":"<",">":">",'"':""","'":"'"},K2=r=>ZK[r];ej=/(^|[^\[])\^/g;ih={exec:()=>null};Tp=class{options;rules;lexer;constructor(t){this.options=t||qc}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:oh(n,`
`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],o=nj(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:o}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(/#$/.test(n)){let o=oh(n,"#");(this.options.pedantic||!o||/ $/.test(o))&&(n=o.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:oh(e[0],`
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=oh(e[0],`
`).split(`
`),o="",i="",s=[];for(;n.length>0;){let a=!1,l=[],c;for(c=0;c<n.length;c++)if(/^ {0,3}>/.test(n[c]))l.push(n[c]),a=!0;else if(!a)l.push(n[c]);else break;n=n.slice(c);let u=l.join(`
`),p=u.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
$1`).replace(/^ {0,3}>[ \t]?/gm,"");o=o?`${o}
${u}`:u,i=i?`${i}
${p}`:p;let m=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(p,s,!0),this.lexer.state.top=m,n.length===0)break;let f=s[s.length-1];if(f?.type==="code")break;if(f?.type==="blockquote"){let h=f,v=h.raw+`
`+n.join(`
`),I=this.blockquote(v);s[s.length-1]=I,o=o.substring(0,o.length-h.raw.length)+I.raw,i=i.substring(0,i.length-h.text.length)+I.text;break}else if(f?.type==="list"){let h=f,v=h.raw+`
`+n.join(`
`),I=this.list(v);s[s.length-1]=I,o=o.substring(0,o.length-f.raw.length)+I.raw,i=i.substring(0,i.length-h.raw.length)+I.raw,n=v.substring(s[s.length-1].raw.length).split(`
`);continue}}return{type:"blockquote",raw:o,tokens:s,text:i}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),o=n.length>1,i={type:"list",raw:"",ordered:o,start:o?+n.slice(0,-1):"",loose:!1,items:[]};n=o?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=o?n:"[*+-]");let s=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),a=!1;for(;t;){let l=!1,c="",u="";if(!(e=s.exec(t))||this.rules.block.hr.test(t))break;c=e[0],t=t.substring(c.length);let p=e[2].split(`
`,1)[0].replace(/^\t+/,E=>" ".repeat(3*E.length)),m=t.split(`
`,1)[0],f=!p.trim(),h=0;if(this.options.pedantic?(h=2,u=p.trimStart()):f?h=e[1].length+1:(h=e[2].search(/[^ ]/),h=h>4?1:h,u=p.slice(h),h+=e[1].length),f&&/^ *$/.test(m)&&(c+=m+`
`,t=t.substring(m.length+1),l=!0),!l){let E=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),w=new RegExp(`^ {0,${Math.min(3,h-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),P=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:\`\`\`|~~~)`),k=new RegExp(`^ {0,${Math.min(3,h-1)}}#`);for(;t;){let O=t.split(`
`,1)[0];if(m=O,this.options.pedantic&&(m=m.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),P.test(m)||k.test(m)||E.test(m)||w.test(t))break;if(m.search(/[^ ]/)>=h||!m.trim())u+=`
`+m.slice(h);else{if(f||p.search(/[^ ]/)>=4||P.test(p)||k.test(p)||w.test(p))break;u+=`
`+m}!f&&!m.trim()&&(f=!0),c+=O+`
`,t=t.substring(O.length+1),p=m.slice(h)}}i.loose||(a?i.loose=!0:/\n *\n *$/.test(c)&&(a=!0));let v=null,I;this.options.gfm&&(v=/^\[[ xX]\] /.exec(u),v&&(I=v[0]!=="[ ] ",u=u.replace(/^\[[ xX]\] +/,""))),i.items.push({type:"list_item",raw:c,task:!!v,checked:I,loose:!1,text:u,tokens:[]}),i.raw+=c}i.items[i.items.length-1].raw=i.items[i.items.length-1].raw.trimEnd(),i.items[i.items.length-1].text=i.items[i.items.length-1].text.trimEnd(),i.raw=i.raw.trimEnd();for(let l=0;l<i.items.length;l++)if(this.lexer.state.top=!1,i.items[l].tokens=this.lexer.blockTokens(i.items[l].text,[]),!i.loose){let c=i.items[l].tokens.filter(p=>p.type==="space"),u=c.length>0&&c.some(p=>/\n.*\n/.test(p.raw));i.loose=u}if(i.loose)for(let l=0;l<i.items.length;l++)i.items[l].loose=!0;return i}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=e[1].toLowerCase().replace(/\s+/g," "),o=e[2]?e[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:e[0],href:o,title:i}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;let n=Q2(e[1]),o=e[2].replace(/^\||\| *$/g,"").split("|"),i=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split(`
`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===o.length){for(let a of o)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<n.length;a++)s.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:s.align[a]});for(let a of i)s.rows.push(Q2(a,s.header.length).map((l,c)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[c]})));return s}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:qr(e[1])}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^<a /i.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.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(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;let s=oh(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=tj(e[2],"()");if(s>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let o=e[2],i="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);s&&(o=s[1],i=s[3])}else i=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(this.options.pedantic&&!/>$/.test(n)?o=o.slice(1):o=o.slice(1,-1)),J2(e,{href:o&&o.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let o=(n[2]||n[1]).replace(/\s+/g," "),i=e[o.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return J2(n,i,n[0],this.lexer)}}emStrong(t,e,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!o||o[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(o[1]||o[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let s=[...o[0]].length-1,a,l,c=s,u=0,p=o[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,e=e.slice(-1*t.length+s);(o=p.exec(e))!=null;){if(a=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!a)continue;if(l=[...a].length,o[3]||o[4]){c+=l;continue}else if((o[5]||o[6])&&s%3&&!((s+l)%3)){u+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+u);let m=[...o[0]][0].length,f=t.slice(0,s+o.index+m+l);if(Math.min(s,l)%2){let v=f.slice(1,-1);return{type:"em",raw:f,text:v,tokens:this.lexer.inlineTokens(v)}}let h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(/\n/g," "),o=/[^ ]/.test(n),i=/^ /.test(n)&&/ $/.test(n);return o&&i&&(n=n.substring(1,n.length-1)),n=qr(n,!0),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,o;return e[2]==="@"?(n=qr(e[1]),o="mailto:"+n):(n=qr(e[1]),o=n),{type:"link",raw:e[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,o;if(e[2]==="@")n=qr(e[0]),o="mailto:"+n;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);n=qr(e[0]),e[1]==="www."?o="http://"+e[0]:o=e[0]}return{type:"link",raw:e[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n;return this.lexer.state.inRawBlock?n=e[0]:n=qr(e[0]),{type:"text",raw:e[0],text:n}}}},oj=/^(?: *(?:\n|$))+/,rj=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,ij=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ah=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,sj=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,tH=/(?:[*+-]|\d{1,9}[.)])/,nH=Jt(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,tH).replace(/blockCode/g,/ {4}/).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/).getRegex(),QP=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,aj=/^[^\n]+/,JP=/(?!\s*\])(?:\\.|[^\[\]\\])+/,lj=Jt(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",JP).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),cj=Jt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,tH).getRegex(),ex="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",YP=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,dj=Jt("^ {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",YP).replace("tag",ex).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),oH=Jt(QP).replace("hr",ah).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[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ex).getRegex(),uj=Jt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",oH).getRegex(),XP={blockquote:uj,code:rj,def:lj,fences:ij,heading:sj,hr:ah,html:dj,lheading:nH,list:cj,newline:oj,paragraph:oH,table:ih,text:aj},Y2=Jt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ah).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ex).getRegex(),pj={...XP,table:Y2,paragraph:Jt(QP).replace("hr",ah).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Y2).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ex).getRegex()},mj={...XP,html:Jt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",YP).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:ih,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Jt(QP).replace("hr",ah).replace("heading",` *#{1,6} *[^
]`).replace("lheading",nH).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},rH=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,gj=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,iH=/^( {2,}|\\)\n(?!\s*$)/,fj=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,lh="\\p{P}\\p{S}",hj=Jt(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,lh).getRegex(),vj=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,yj=Jt(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,lh).getRegex(),Ij=Jt("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,lh).getRegex(),bj=Jt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,lh).getRegex(),Sj=Jt(/\\([punct])/,"gu").replace(/punct/g,lh).getRegex(),xj=Jt(/^<(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(),Cj=Jt(YP).replace("(?:-->|$)","-->").getRegex(),Ej=Jt("^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",Cj).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ZS=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,wj=Jt(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ZS).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),sH=Jt(/^!?\[(label)\]\[(ref)\]/).replace("label",ZS).replace("ref",JP).getRegex(),aH=Jt(/^!?\[(ref)\](?:\[\])?/).replace("ref",JP).getRegex(),Tj=Jt("reflink|nolink(?!\\()","g").replace("reflink",sH).replace("nolink",aH).getRegex(),ZP={_backpedal:ih,anyPunctuation:Sj,autolink:xj,blockSkip:vj,br:iH,code:gj,del:ih,emStrongLDelim:yj,emStrongRDelimAst:Ij,emStrongRDelimUnd:bj,escape:rH,link:wj,nolink:aH,punctuation:hj,reflink:sH,reflinkSearch:Tj,tag:Ej,text:fj,url:ih},Rj={...ZP,link:Jt(/^!?\[(label)\]\((.*?)\)/).replace("label",ZS).getRegex(),reflink:Jt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ZS).getRegex()},GP={...ZP,escape:Jt(rH).replace("])","~|])").getRegex(),url:Jt(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").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~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},Pj={...GP,br:Jt(iH).replace("{2,}","*").getRegex(),text:Jt(GP.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},XS={normal:XP,gfm:pj,pedantic:mj},rh={normal:ZP,gfm:GP,breaks:Pj,pedantic:Rj},ra=class r{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||qc,this.options.tokenizer=this.options.tokenizer||new Tp,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 e={block:XS.normal,inline:rh.normal};this.options.pedantic?(e.block=XS.pedantic,e.inline=rh.pedantic):this.options.gfm&&(e.block=XS.gfm,this.options.breaks?e.inline=rh.breaks:e.inline=rh.gfm),this.tokenizer.rules=e}static get rules(){return{block:XS,inline:rh}}static lex(t,e){return new r(e).lex(t)}static lexInline(t,e){return new r(e).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,`
`),this.blockTokens(t,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let n=this.inlineQueue[e];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],n=!1){this.options.pedantic?t=t.replace(/\t/g," ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(a,l,c)=>l+" ".repeat(c.length));let o,i,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(o=a.call({lexer:this},t,e))?(t=t.substring(o.raw.length),e.push(o),!0):!1))){if(o=this.tokenizer.space(t)){t=t.substring(o.raw.length),o.raw.length===1&&e.length>0?e[e.length-1].raw+=`
`:e.push(o);continue}if(o=this.tokenizer.code(t)){t=t.substring(o.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=`
`+o.raw,i.text+=`
`+o.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(o);continue}if(o=this.tokenizer.fences(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.heading(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.hr(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.blockquote(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.list(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.html(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.def(t)){t=t.substring(o.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=`
`+o.raw,i.text+=`
`+o.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title});continue}if(o=this.tokenizer.table(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.lheading(t)){t=t.substring(o.raw.length),e.push(o);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,l=t.slice(1),c;this.options.extensions.startBlock.forEach(u=>{c=u.call({lexer:this},l),typeof c=="number"&&c>=0&&(a=Math.min(a,c))}),a<1/0&&a>=0&&(s=t.substring(0,a+1))}if(this.state.top&&(o=this.tokenizer.paragraph(s))){i=e[e.length-1],n&&i?.type==="paragraph"?(i.raw+=`
`+o.raw,i.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(o),n=s.length!==t.length,t=t.substring(o.raw.length);continue}if(o=this.tokenizer.text(t)){t=t.substring(o.raw.length),i=e[e.length-1],i&&i.type==="text"?(i.raw+=`
`+o.raw,i.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(o);continue}if(t){let a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let n,o,i,s=t,a,l,c;if(this.tokens.links){let u=Object.keys(this.tokens.links);if(u.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)u.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(l||(c=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(u=>(n=u.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.escape(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.tag(t)){t=t.substring(n.raw.length),o=e[e.length-1],o&&n.type==="text"&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(n=this.tokenizer.link(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(n.raw.length),o=e[e.length-1],o&&n.type==="text"&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(n=this.tokenizer.emStrong(t,s,c)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.codespan(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.br(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.del(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.autolink(t)){t=t.substring(n.raw.length),e.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(t))){t=t.substring(n.raw.length),e.push(n);continue}if(i=t,this.options.extensions&&this.options.extensions.startInline){let u=1/0,p=t.slice(1),m;this.options.extensions.startInline.forEach(f=>{m=f.call({lexer:this},p),typeof m=="number"&&m>=0&&(u=Math.min(u,m))}),u<1/0&&u>=0&&(i=t.substring(0,u+1))}if(n=this.tokenizer.inlineText(i)){t=t.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(c=n.raw.slice(-1)),l=!0,o=e[e.length-1],o&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(t){let u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return e}},Rp=class{options;parser;constructor(t){this.options=t||qc}space(t){return""}code({text:t,lang:e,escaped:n}){let o=(e||"").match(/^\S*/)?.[0],i=t.replace(/\n$/,"")+`
`;return o?'<pre><code class="language-'+qr(o)+'">'+(n?i:qr(i,!0))+`</code></pre>
`:"<pre><code>"+(n?i:qr(i,!0))+`</code></pre>
`}blockquote({tokens:t}){return`<blockquote>
${this.parser.parse(t)}</blockquote>
`}html({text:t}){return t}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}>
`}hr(t){return`<hr>
`}list(t){let e=t.ordered,n=t.start,o="";for(let a=0;a<t.items.length;a++){let l=t.items[a];o+=this.listitem(l)}let i=e?"ol":"ul",s=e&&n!==1?' start="'+n+'"':"";return"<"+i+s+`>
`+o+"</"+i+`>
`}listitem(t){let e="";if(t.task){let n=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&t.tokens[0].type==="paragraph"?(t.tokens[0].text=n+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=n+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):e+=n+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li>
`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>
`}table(t){let e="",n="";for(let i=0;i<t.header.length;i++)n+=this.tablecell(t.header[i]);e+=this.tablerow({text:n});let o="";for(let i=0;i<t.rows.length;i++){let s=t.rows[i];n="";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);o+=this.tablerow({text:n})}return o&&(o=`<tbody>${o}</tbody>`),`<table>
<thead>
`+e+`</thead>
`+o+`</table>
`}tablerow({text:t}){return`<tr>
${t}</tr>
`}tablecell(t){let e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${t}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:n}){let o=this.parser.parseInline(n),i=j2(t);if(i===null)return o;t=i;let s='<a href="'+t+'"';return e&&(s+=' title="'+e+'"'),s+=">"+o+"</a>",s}image({href:t,title:e,text:n}){let o=j2(t);if(o===null)return n;t=o;let i=`<img src="${t}" alt="${n}"`;return e&&(i+=` title="${e}"`),i+=">",i}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):t.text}},sh=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}},ia=class r{options;renderer;textRenderer;constructor(t){this.options=t||qc,this.options.renderer=this.options.renderer||new Rp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new sh}static parse(t,e){return new r(e).parse(t)}static parseInline(t,e){return new r(e).parseInline(t)}parse(t,e=!0){let n="";for(let o=0;o<t.length;o++){let i=t[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){let a=i,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){n+=l||"";continue}}let s=i;switch(s.type){case"space":{n+=this.renderer.space(s);continue}case"hr":{n+=this.renderer.hr(s);continue}case"heading":{n+=this.renderer.heading(s);continue}case"code":{n+=this.renderer.code(s);continue}case"table":{n+=this.renderer.table(s);continue}case"blockquote":{n+=this.renderer.blockquote(s);continue}case"list":{n+=this.renderer.list(s);continue}case"html":{n+=this.renderer.html(s);continue}case"paragraph":{n+=this.renderer.paragraph(s);continue}case"text":{let a=s,l=this.renderer.text(a);for(;o+1<t.length&&t[o+1].type==="text";)a=t[++o],l+=`
`+this.renderer.text(a);e?n+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l}]}):n+=l;continue}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}parseInline(t,e){e=e||this.renderer;let n="";for(let o=0;o<t.length;o++){let i=t[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=a||"";continue}}let s=i;switch(s.type){case"escape":{n+=e.text(s);break}case"html":{n+=e.html(s);break}case"link":{n+=e.link(s);break}case"image":{n+=e.image(s);break}case"strong":{n+=e.strong(s);break}case"em":{n+=e.em(s);break}case"codespan":{n+=e.codespan(s);break}case"br":{n+=e.br(s);break}case"del":{n+=e.del(s);break}case"text":{n+=e.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}},wp=class{options;constructor(t){this.options=t||qc}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}},KP=class{defaults=jP();options=this.setOptions;parse=this.parseMarkdown(ra.lex,ia.parse);parseInline=this.parseMarkdown(ra.lexInline,ia.parseInline);Parser=ia;Renderer=Rp;TextRenderer=sh;Lexer=ra;Tokenizer=Tp;Hooks=wp;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let o of t)switch(n=n.concat(e.call(this,o)),o.type){case"table":{let i=o;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,e));for(let s of i.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,e));break}case"list":{let i=o;n=n.concat(this.walkTokens(i.items,e));break}default:{let i=o;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,e))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let o={...n};if(o.async=this.defaults.async||o.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let s=e.renderers[i.name];s?e.renderers[i.name]=function(...a){let l=i.renderer.apply(this,a);return l===!1&&(l=s.apply(this,a)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[i.level];s?s.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),o.extensions=e),n.renderer){let i=this.defaults.renderer||new Rp(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let a=s,l=n.renderer[a],c=i[a];i[a]=(...u)=>{let p=l.apply(i,u);return p===!1&&(p=c.apply(i,u)),p||""}}o.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new Tp(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,l=n.tokenizer[a],c=i[a];i[a]=(...u)=>{let p=l.apply(i,u);return p===!1&&(p=c.apply(i,u)),p}}o.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new wp;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,l=n.hooks[a],c=i[a];wp.passThroughHooks.has(s)?i[a]=u=>{if(this.defaults.async)return Promise.resolve(l.call(i,u)).then(m=>c.call(i,m));let p=l.call(i,u);return c.call(i,p)}:i[a]=(...u)=>{let p=l.apply(i,u);return p===!1&&(p=c.apply(i,u)),p}}o.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;o.walkTokens=function(a){let l=[];return l.push(s.call(this,a)),i&&(l=l.concat(i.call(this,a))),l}}this.defaults={...this.defaults,...o}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return ra.lex(t,e??this.defaults)}parser(t,e){return ia.parse(t,e??this.defaults)}parseMarkdown(t,e){return(o,i)=>{let s={...i},a={...this.defaults,...s},l=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&s.async===!1)return l(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 o>"u"||o===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof o!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(o)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(o):o).then(c=>t(c,a)).then(c=>a.hooks?a.hooks.processAllTokens(c):c).then(c=>a.walkTokens?Promise.all(this.walkTokens(c,a.walkTokens)).then(()=>c):c).then(c=>e(c,a)).then(c=>a.hooks?a.hooks.postprocess(c):c).catch(l);try{a.hooks&&(o=a.hooks.preprocess(o));let c=t(o,a);a.hooks&&(c=a.hooks.processAllTokens(c)),a.walkTokens&&this.walkTokens(c,a.walkTokens);let u=e(c,a);return a.hooks&&(u=a.hooks.postprocess(u)),u}catch(c){return l(c)}}}onError(t,e){return n=>{if(n.message+=`
Please report this to https://github.com/markedjs/marked.`,t){let o="<p>An error occurred:</p><pre>"+qr(n.message+"",!0)+"</pre>";return e?Promise.resolve(o):o}if(e)return Promise.reject(n);throw n}}},Bc=new KP;Ht.options=Ht.setOptions=function(r){return Bc.setOptions(r),Ht.defaults=Bc.defaults,X2(Ht.defaults),Ht};Ht.getDefaults=jP;Ht.defaults=qc;Ht.use=function(...r){return Bc.use(...r),Ht.defaults=Bc.defaults,X2(Ht.defaults),Ht};Ht.walkTokens=function(r,t){return Bc.walkTokens(r,t)};Ht.parseInline=Bc.parseInline;Ht.Parser=ia;Ht.parser=ia.parse;Ht.Renderer=Rp;Ht.TextRenderer=sh;Ht.Lexer=ra;Ht.lexer=ra.lex;Ht.Tokenizer=Tp;Ht.Hooks=wp;Ht.parse=Ht;bOe=Ht.options,SOe=Ht.setOptions,xOe=Ht.use,COe=Ht.walkTokens,EOe=Ht.parseInline,wOe=ia.parse,TOe=ra.lex});function*cH(r){let t=[r];for(;t.length>0;){let e=t.pop();if(yield e,e.children)for(let n of e.children.values())t.push(n)}}var $o,tx,ch,dH=y(()=>{ei();$o=Symbol("unset"),tx=class{constructor(){this.root=new ch;this._size=0}get size(){return this._size}get nodes(){return this.root.children?.values()||Xt.empty()}get entries(){return this.root.children?.entries()||Xt.empty()}insert(t,e,n){this.opNode(t,o=>o._value=e,n)}mutate(t,e){this.opNode(t,n=>n._value=e(n._value===$o?void 0:n._value))}mutatePath(t,e){this.opNode(t,()=>{},n=>e(n))}delete(t){let e=this.getPathToKey(t);if(!e)return;let n=e.length-1,o=e[n].node._value;if(o!==$o){for(this._size--,e[n].node._value=$o;n>0;n--){let{node:i,part:s}=e[n];if(i.children?.size||i._value!==$o)break;e[n-1].node.children.delete(s)}return o}}*deleteRecursive(t){let e=this.getPathToKey(t);if(!e)return;let n=e[e.length-1].node;for(let o=e.length-1;o>0;o--){let i=e[o-1];if(i.node.children.delete(e[o].part),i.node.children.size>0||i.node._value!==$o)break}for(let o of cH(n))o._value!==$o&&(this._size--,yield o._value);n===this.root&&(this.root._value=$o,this.root.children=void 0)}find(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return;e=o}return e._value===$o?void 0:e._value}hasKeyOrParent(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;if(o._value!==$o)return!0;e=o}return!1}hasKeyOrChildren(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;e=o}return!0}hasKey(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;e=o}return e._value!==$o}getPathToKey(t){let e=[{part:"",node:this.root}],n=0;for(let o of t){let i=e[n].node.children?.get(o);if(!i)return;e.push({part:o,node:i}),n++}return e}opNode(t,e,n){let o=this.root;for(let a of t){if(o.children)if(o.children.has(a))o=o.children.get(a);else{let l=new ch;o.children.set(a,l),o=l}else{let l=new ch;o.children=new Map([[a,l]]),o=l}n?.(o)}let i=o._value===$o?0:1;e(o);let s=o._value===$o?0:1;this._size+=s-i}*values(){for(let{_value:t}of cH(this.root))t!==$o&&(yield t)}};ch=class{constructor(){this._value=$o}get value(){return this._value===$o?void 0:this._value}set value(t){this._value=t===void 0?$o:t}}});var uH=y(()=>{de();K()});var pH,mH=y(()=>{de();pH=new class{constructor(){this._zoomLevel=0;this._onDidChangeZoomLevel=new T;this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(r){r=Math.min(Math.max(-5,r),20),this._zoomLevel!==r&&(this._zoomLevel=r,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}});var Dj,ek,tk,_j,nx,nk,ok,Mj,Aj,Lj,Oi,gH=y(()=>{me();mH();Dj=gt?1.5:1.35,ek=8,tk=class r{constructor(t){this._bareFontInfoBrand=void 0;this.pixelRatio=t.pixelRatio,this.fontFamily=String(t.fontFamily),this.fontWeight=String(t.fontWeight),this.fontSize=t.fontSize,this.fontFeatureSettings=t.fontFeatureSettings,this.fontVariationSettings=t.fontVariationSettings,this.lineHeight=t.lineHeight|0,this.letterSpacing=t.letterSpacing}static _create(t,e,n,o,i,s,a,l,c){s===0?s=Dj*n:s<ek&&(s=s*n),s=Math.round(s),s<ek&&(s=ek);let u=1+(c?0:pH.getZoomLevel()*.1);return n*=u,s*=u,i===ok&&(e==="normal"||e==="bold"?i=nk:(i=`'wght' ${parseInt(e,10)}`,e="normal")),new r({pixelRatio:l,fontFamily:t,fontWeight:e,fontSize:n,fontFeatureSettings:o,fontVariationSettings:i,lineHeight:s,letterSpacing:a})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Oi.fontFamily,e=r._wrapInQuotes(this.fontFamily);return t&&this.fontFamily!==t?`${e}, ${t}`:e}static _wrapInQuotes(t){return/[,"']/.test(t)?t:/[+ ]/.test(t)?`"${t}"`:t}},_j=2,nx=class extends tk{constructor(e,n){super(e);this._editorStylingBrand=void 0;this.version=_j;this.isTrusted=n,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.fontVariationSettings===e.fontVariationSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},nk="normal",ok="translate",Mj="Consolas, 'Courier New', monospace",Aj="Menlo, Monaco, 'Courier New', monospace",Lj="'Droid Sans Mono', monospace",Oi={fontFamily:gt?Aj:te?Mj:Lj,fontWeight:"normal",fontSize:gt?12:14,lineHeight:0,letterSpacing:0}});var rk,fH=y(()=>{rk={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}});function Oj(r=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(let e of ik)r.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}var ik,$Oe,Nj,hH=y(()=>{ei();K();jv();ik="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";$Oe=Oj(),Nj=new Ra;Nj.unshift({maxLen:1e3,windowSize:15,timeBudget:150})});var jOe,QOe,vH=y(()=>{fo();Z();jOe=D("accessibilityService"),QOe=new x("accessibilityModeEnabled",!1)});function ox(r,t){if(typeof r!="object"||typeof t!="object"||!r||!t)return new Pp(t,r!==t);if(Array.isArray(r)||Array.isArray(t)){let n=Array.isArray(r)&&Array.isArray(t)&&Gt(r,t);return new Pp(t,!n)}let e=!1;for(let n in t)if(t.hasOwnProperty(n)){let o=ox(r[n],t[n]);o.didChange&&(r[n]=o.newValue,e=!0)}return new Pp(r,e)}function se(r,t){return typeof r>"u"?t:r==="false"?!1:!!r}function Fj(r,t,e,n){if(typeof r=="string"&&(r=parseInt(r,10)),typeof r!="number"||isNaN(r))return t;let o=r;return o=Math.max(e,o),o=Math.min(n,o),o|0}function xt(r,t,e,n){return typeof r!="string"?t:n&&r in n?n[r]:e.indexOf(r)===-1?t:r}function Hj(r){switch(r){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}function Wj(r){switch(r){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}function yH(r){switch(r){case"line":return 1;case"block":return 2;case"underline":return 3;case"line-thin":return 4;case"block-outline":return 5;case"underline-thin":return 6}}function Vj(r){return r==="ctrlCmd"?gt?"metaKey":"ctrlKey":"altKey"}function IH(r,t){if(typeof r!="string")return t;switch(r){case"hidden":return 2;case"visible":return 3;default:return 1}}function kp(r,t,e){let n=e.indexOf(r);return n===-1?t:e[n]}function M(r){return Bj[r.id]=r,r}var Uj,sk,Ct,Pp,Ui,Rl,Ie,Ye,xr,Io,yt,zc,ak,lk,ck,dk,uk,pk,mk,gk,fk,hk,vk,yk,Ik,bk,Sk,xk,Ck,Ek,wk,Tk,Rk,Pk,kk,Dk,_k,Mk,Ak,Lk,Ok,Nk,Uk,Fk,Hk,Ni,$c,Wk,Vk,Bk,qk,$k,zk,Gk,Kk,jk,Qk,Jk,Bj,iNe,bH=y(()=>{At();jt();me();uH();ow();gH();fH();hH();re();vH();Uj=8,sk=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},Ct=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return ox(t,e)}compute(t,e,n){return n}},Pp=class{constructor(t,e){this.newValue=t;this.didChange=e}};Ui=class{constructor(t,e){this.schema=void 0;this.id=t,this.name="_never_",this.defaultValue=e}applyUpdate(t,e){return ox(t,e)}validate(t){return this.defaultValue}},Rl=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return ox(t,e)}compute(t,e,n){return n}};Ie=class extends Rl{constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="boolean",o.default=n),super(t,e,n,o)}validate(t){return se(t,this.defaultValue)}};Ye=class r extends Rl{static clampedInt(t,e,n,o){return Fj(t,e,n,o)}constructor(t,e,n,o,i,s=void 0){typeof s<"u"&&(s.type="integer",s.default=n,s.minimum=o,s.maximum=i),super(t,e,n,s),this.minimum=o,this.maximum=i}validate(t){return r.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}},xr=class r extends Rl{static clamp(t,e,n){return t<e?e:t>n?n:t}static float(t,e){return typeof t=="string"&&(t=parseFloat(t)),typeof t!="number"||isNaN(t)?e:t}constructor(t,e,n,o,i,s,a){typeof i<"u"&&(i.type="number",i.default=n,i.minimum=s,i.maximum=a),super(t,e,n,i),this.validationFn=o,this.minimum=s,this.maximum=a}validate(t){return this.validationFn(r.float(t,this.defaultValue))}},Io=class r extends Rl{static string(t,e){return typeof t!="string"?e:t}constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="string",o.default=n),super(t,e,n,o)}validate(t){return r.string(t,this.defaultValue)}};yt=class extends Rl{constructor(t,e,n,o,i=void 0){typeof i<"u"&&(i.type="string",i.enum=o.slice(0),i.default=n),super(t,e,n,i),this._allowedValues=o}validate(t){return xt(t,this.defaultValue,this._allowedValues)}},zc=class extends Ct{constructor(t,e,n,o,i,s,a=void 0){typeof a<"u"&&(a.type="string",a.enum=i,a.default=o),super(t,e,n,a),this._allowedValues=i,this._convert=s}validate(t){return typeof t!="string"?this.defaultValue:this._allowedValues.indexOf(t)===-1?this.defaultValue:this._convert(t)}};ak=class extends Ct{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[d(315,null),d(317,null),d(316,null)],default:"auto",tags:["accessibility"],description:d(314,null)})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,e,n){return n===0?t.accessibilitySupport:n}},lk=class extends Ct{constructor(){let t={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:d(345,null)},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:d(344,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertSpace:se(e.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:se(e.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};ck=class extends Ui{constructor(){super(164,"")}compute(t,e,n){let o=["monaco-editor"];return e.get(48)&&o.push(e.get(48)),t.extraEditorClassName&&o.push(t.extraEditorClassName),e.get(82)==="default"?o.push("mouse-default"):e.get(82)==="copy"&&o.push("mouse-copy"),e.get(128)&&o.push("showUnused"),e.get(158)&&o.push("showDeprecated"),o.join(" ")}},dk=class extends Ie{constructor(){super(45,"emptySelectionClipboard",!0,{description:d(468,null)})}compute(t,e,n){return n&&t.emptySelectionClipboard}},uk=class extends Ct{constructor(){let t={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:"workspace",replaceHistory:"workspace"};super(50,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:d(481,null)},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[d(404,null),d(403,null),d(405,null)],description:d(487,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[d(398,null),d(396,null),d(397,null)],description:d(479,null)},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:d(483,null),included:gt},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:d(478,null)},"editor.find.loop":{type:"boolean",default:t.loop,description:d(485,null)},"editor.find.closeOnResult":{type:"boolean",default:t.closeOnResult,description:d(480,null)},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[d(399,null),d(400,null)],description:d(484,null)},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[d(401,null),d(402,null)],description:d(486,null)},"editor.find.findOnType":{type:"boolean",default:t.findOnType,description:d(482,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{cursorMoveOnType:se(e.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:se(e.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":xt(e.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":xt(e.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:se(e.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:se(e.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:se(e.loop,this.defaultValue.loop),closeOnResult:se(e.closeOnResult,this.defaultValue.closeOnResult),history:xt(e.history,this.defaultValue.history,["never","workspace"]),replaceHistory:xt(e.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}},pk=class r extends Ct{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(60,"fontLigatures",r.OFF,{anyOf:[{type:"boolean",description:d(497,null)},{type:"string",description:d(496,null)}],description:d(498,null),default:!1})}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t==="false"||t.length===0?r.OFF:t==="true"?r.ON:t:t?r.ON:r.OFF}},mk=class r extends Ct{static{this.OFF=nk}static{this.TRANSLATE=ok}constructor(){super(63,"fontVariations",r.OFF,{anyOf:[{type:"boolean",description:d(500,null)},{type:"string",description:d(501,null)}],description:d(502,null),default:!1})}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t==="false"?r.OFF:t==="true"?r.TRANSLATE:t:t?r.TRANSLATE:r.OFF}compute(t,e,n){return t.fontInfo.fontVariationSettings}},gk=class extends Ui{constructor(){super(59,new nx({pixelRatio:0,fontFamily:"",fontWeight:"",fontSize:0,fontFeatureSettings:"",fontVariationSettings:"",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(t,e,n){return t.fontInfo}},fk=class extends Ui{constructor(){super(163,1)}compute(t,e,n){return t.inputMode==="overtype"?e.get(92):e.get(34)}},hk=class extends Ui{constructor(){super(172,!1)}compute(t,e){return t.editContextSupported&&e.get(44)}},vk=class extends Ui{constructor(){super(174,!1)}compute(t,e){return t.accessibilitySupport===2?e.get(7):e.get(6)}},yk=class extends Ui{constructor(){super(177,"font")}compute(t,e){return e.get(176)==="twoCells"&&t.fontInfo.isMonospace?"twoCells":"font"}},Ik=class extends Rl{constructor(){super(61,"fontSize",Oi.fontSize,{type:"number",minimum:6,maximum:100,default:Oi.fontSize,description:d(499,null)})}validate(t){let e=xr.float(t,this.defaultValue);return e===0?Oi.fontSize:xr.clamp(e,6,100)}compute(t,e,n){return t.fontInfo.fontSize}},bk=class r extends Ct{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,"fontWeight",Oi.fontWeight,{anyOf:[{type:"number",minimum:r.MINIMUM_VALUE,maximum:r.MAXIMUM_VALUE,errorMessage:d(504,null)},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:r.SUGGESTION_VALUES}],default:Oi.fontWeight,description:d(503,null)})}validate(t){return t==="normal"||t==="bold"?t:String(Ye.clampedInt(t,Oi.fontWeight,r.MINIMUM_VALUE,r.MAXIMUM_VALUE))}},Sk=class extends Ct{constructor(){let t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},e={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[d(409,null),d(408,null),d(407,null)]},n=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:d(406,null)},"editor.gotoLocation.multipleDefinitions":{description:d(392,null),...e},"editor.gotoLocation.multipleTypeDefinitions":{description:d(395,null),...e},"editor.gotoLocation.multipleDeclarations":{description:d(391,null),...e},"editor.gotoLocation.multipleImplementations":{description:d(393,null),...e},"editor.gotoLocation.multipleReferences":{description:d(394,null),...e},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:n,description:d(322,null)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:n,description:d(325,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:n,description:d(321,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:n,description:d(323,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:n,description:d(324,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{multiple:xt(e.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:xt(e.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:xt(e.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:xt(e.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:xt(e.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:xt(e.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:xt(e.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:Io.string(e.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:Io.string(e.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:Io.string(e.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:Io.string(e.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:Io.string(e.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:Io.string(e.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},xk=class extends Ct{constructor(){let t={enabled:"on",delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,"hover",t,{"editor.hover.enabled":{type:"string",enum:["on","off","onKeyboardModifier"],default:t.enabled,markdownEnumDescriptions:[d(516,null),d(515,null),d(517,null,gt?"Command":"Control")],description:d(514,null),keywords:["hint","info","tooltip"]},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:d(513,null)},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:d(520,null)},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,markdownDescription:d(518,null)},"editor.hover.above":{type:"boolean",default:t.above,description:d(512,null)},"editor.hover.showLongLineWarning":{type:"boolean",default:t.showLongLineWarning,description:d(519,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:xt(e.enabled,this.defaultValue.enabled,["on","off","onKeyboardModifier"]),delay:Ye.clampedInt(e.delay,this.defaultValue.delay,0,1e4),sticky:se(e.sticky,this.defaultValue.sticky),hidingDelay:Ye.clampedInt(e.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:se(e.above,this.defaultValue.above),showLongLineWarning:se(e.showLongLineWarning,this.defaultValue.showLongLineWarning)}}},Ck=class r extends Ui{constructor(){super(167,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,e,n){return r.computeLayout(e,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){let e=t.height/t.lineHeight,n=Math.floor(t.paddingTop/t.lineHeight),o=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(o=Math.max(o,e-1));let i=(n+t.viewLineCount+o)/(t.pixelRatio*t.height),s=Math.floor(t.viewLineCount/i);return{typicalViewportLineCount:e,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:o,desiredRatio:i,minimapLineCount:s}}static _computeMinimapLayout(t,e){let n=t.outerWidth,o=t.outerHeight,i=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(i*o),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:o};let s=e.stableMinimapLayoutInput,a=s&&t.outerHeight===s.outerHeight&&t.lineHeight===s.lineHeight&&t.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&t.pixelRatio===s.pixelRatio&&t.scrollBeyondLastLine===s.scrollBeyondLastLine&&t.paddingTop===s.paddingTop&&t.paddingBottom===s.paddingBottom&&t.minimap.enabled===s.minimap.enabled&&t.minimap.side===s.minimap.side&&t.minimap.size===s.minimap.size&&t.minimap.showSlider===s.minimap.showSlider&&t.minimap.renderCharacters===s.minimap.renderCharacters&&t.minimap.maxColumn===s.minimap.maxColumn&&t.minimap.scale===s.minimap.scale&&t.verticalScrollbarWidth===s.verticalScrollbarWidth&&t.isViewportWrapping===s.isViewportWrapping,l=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,p=t.minimap.renderCharacters,m=i>=2?Math.round(t.minimap.scale*2):t.minimap.scale,f=t.minimap.maxColumn,h=t.minimap.size,v=t.minimap.side,I=t.verticalScrollbarWidth,E=t.viewLineCount,w=t.remainingWidth,P=t.isViewportWrapping,k=p?2:3,O=Math.floor(i*o),fe=O/i,H=!1,le=!1,Q=k*m,F=m/i,Y=1;if(h==="fill"||h==="fit"){let{typicalViewportLineCount:N,extraLinesBeforeFirstLine:G,extraLinesBeyondLastLine:ne,desiredRatio:he,minimapLineCount:Xe}=r.computeContainedMinimapLineCount({viewLineCount:E,scrollBeyondLastLine:u,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:o,lineHeight:l,pixelRatio:i});if(E/Xe>1)H=!0,le=!0,m=1,Q=1,F=m/i;else{let St=!1,rt=m+1;if(h==="fit"){let Mt=Math.ceil((G+E+ne)*Q);P&&a&&w<=e.stableFitRemainingWidth?(St=!0,rt=e.stableFitMaxMinimapScale):St=Mt>O}if(h==="fill"||St){H=!0;let Mt=m;Q=Math.min(l*i,Math.max(1,Math.floor(1/he))),P&&a&&w<=e.stableFitRemainingWidth&&(rt=e.stableFitMaxMinimapScale),m=Math.min(rt,Math.max(1,Math.floor(Q/k))),m>Mt&&(Y=Math.min(2,m/Mt)),F=m/i/Y,O=Math.ceil(Math.max(N,G+E+ne)*Q),P?(e.stableMinimapLayoutInput=t,e.stableFitRemainingWidth=w,e.stableFitMaxMinimapScale=m):(e.stableMinimapLayoutInput=null,e.stableFitRemainingWidth=0)}}}let xe=Math.floor(f*F),vn=Math.min(xe,Math.max(0,Math.floor((w-I-2)*F/(c+F)))+Uj),Bt=Math.floor(i*vn),ee=Bt/i;Bt=Math.floor(Bt*Y);let J=p?1:2,ae=v==="left"?0:n-vn-I;return{renderMinimap:J,minimapLeft:ae,minimapWidth:vn,minimapHeightIsEditorHeight:H,minimapIsSampling:le,minimapScale:m,minimapLineHeight:Q,minimapCanvasInnerWidth:Bt,minimapCanvasInnerHeight:O,minimapCanvasOuterWidth:ee,minimapCanvasOuterHeight:fe}}static computeLayout(t,e){let n=e.outerWidth|0,o=e.outerHeight|0,i=e.lineHeight|0,s=e.lineNumbersDigitCount|0,a=e.typicalHalfwidthCharacterWidth,l=e.maxDigitWidth,c=e.pixelRatio,u=e.viewLineCount,p=t.get(155),m=p==="inherit"?t.get(154):p,f=m==="inherit"?t.get(150):m,h=t.get(153),v=t.get(162),I=e.isDominatedByLongLines,E=t.get(66),w=t.get(76).renderType!==0,P=t.get(77),k=t.get(119),O=t.get(96),fe=t.get(81),H=t.get(117),le=H.verticalScrollbarSize,Q=H.verticalHasArrows,F=H.arrowSize,Y=H.horizontalScrollbarSize,xe=t.get(52),vn=t.get(127)!=="never",Bt=t.get(74);xe&&vn&&(Bt+=16);let ee=0;if(w){let qi=Math.max(s,P);ee=Math.round(qi*l)}let J=0;E&&(J=i*e.glyphMarginDecorationLaneCount);let ae=0,N=ae+J,G=N+ee,ne=G+Bt,he=n-J-ee-Bt,Xe=!1,Qe=!1,St=-1;t.get(2)===2&&m==="inherit"&&I?(Xe=!0,Qe=!0):f==="on"||f==="bounded"?Qe=!0:f==="wordWrapColumn"&&(St=h);let rt=r._computeMinimapLayout({outerWidth:n,outerHeight:o,lineHeight:i,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:k,paddingTop:O.top,paddingBottom:O.bottom,minimap:fe,verticalScrollbarWidth:le,viewLineCount:u,remainingWidth:he,isViewportWrapping:Qe},e.memory||new sk);rt.renderMinimap!==0&&rt.minimapLeft===0&&(ae+=rt.minimapWidth,N+=rt.minimapWidth,G+=rt.minimapWidth,ne+=rt.minimapWidth);let Mt=he-rt.minimapWidth,Fn=Math.max(1,Math.floor((Mt-le-2)/a)),No=Q?F:0;return Qe&&(St=Math.max(1,Fn-(v?1:0)),f==="bounded"&&(St=Math.min(St,h))),{width:n,height:o,glyphMarginLeft:ae,glyphMarginWidth:J,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount,lineNumbersLeft:N,lineNumbersWidth:ee,decorationsLeft:G,decorationsWidth:Bt,contentLeft:ne,contentWidth:Mt,minimap:rt,viewportColumn:Fn,isWordWrapMinified:Xe,isViewportWrapping:Qe,wrappingColumn:St,verticalScrollbarWidth:le,horizontalScrollbarHeight:Y,overviewRuler:{top:No,width:le,height:o-2*No,right:0}}}},Ek=class extends Ct{constructor(){super(157,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[d(738,null),d(737,null)],type:"string",enum:["simple","advanced"],default:"simple",description:d(736,null)}})}validate(t){return xt(t,"simple",["simple","advanced"])}compute(t,e,n){return e.get(2)===2?"advanced":n}},wk=class extends Ct{constructor(){let t={enabled:"onCode"};super(73,"lightbulb",t,{"editor.lightbulb.enabled":{type:"string",enum:["off","onCode","on"],default:t.enabled,enumDescriptions:[d(430,null),d(432,null),d(431,null)],description:d(469,null)}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{enabled:xt(t.enabled,this.defaultValue.enabled,["off","onCode","on"])}}},Tk=class extends Ct{constructor(){let t={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(132,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:d(434,null)},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:20,description:d(435,null)},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:d(433,null)},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:d(436,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:se(e.enabled,this.defaultValue.enabled),maxLineCount:Ye.clampedInt(e.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:xt(e.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:se(e.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},Rk=class extends Ct{constructor(){let t={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(160,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:d(522,null),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[d(426,null),d(427,null,gt?"Ctrl+Option":"Ctrl+Alt"),d(425,null,gt?"Ctrl+Option":"Ctrl+Alt"),d(424,null)]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:d(524,null,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:d(523,null,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:d(526,null)},"editor.inlayHints.maximumLength":{type:"number",default:t.maximumLength,markdownDescription:d(525,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return typeof e.enabled=="boolean"&&(e.enabled=e.enabled?"on":"off"),{enabled:xt(e.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:Ye.clampedInt(e.fontSize,this.defaultValue.fontSize,0,100),fontFamily:Io.string(e.fontFamily,this.defaultValue.fontFamily),padding:se(e.padding,this.defaultValue.padding),maximumLength:Ye.clampedInt(e.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}},Pk=class extends Ct{constructor(){super(74,"lineDecorationsWidth",10)}validate(t){return typeof t=="string"&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):Ye.clampedInt(t,this.defaultValue,0,1e3)}compute(t,e,n){return n<0?Ye.clampedInt(-n*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},kk=class extends xr{constructor(){super(75,"lineHeight",Oi.lineHeight,t=>xr.clamp(t,0,150),{markdownDescription:d(549,null)},0,150)}compute(t,e,n){return t.fontInfo.lineHeight}},Dk=class extends Ct{constructor(){let t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:d(562,null)},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[d(560,null),d(559,null),d(561,null)],default:t.autohide,description:d(558,null)},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[d(576,null),d(574,null),d(575,null)],default:t.size,description:d(573,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:d(572,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:d(571,null)},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:d(566,null)},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:d(565,null)},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:d(564,null)},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:t.showRegionSectionHeaders,description:d(570,null)},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:t.showMarkSectionHeaders,description:d(569,null)},"editor.minimap.markSectionHeaderRegex":{type:"string",default:t.markSectionHeaderRegex,description:d(563,null)},"editor.minimap.sectionHeaderFontSize":{type:"number",default:t.sectionHeaderFontSize,description:d(567,null)},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:t.sectionHeaderLetterSpacing,description:d(568,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t,n=this.defaultValue.markSectionHeaderRegex,o=e.markSectionHeaderRegex;if(typeof o=="string")try{new RegExp(o,"d"),n=o}catch{}return{enabled:se(e.enabled,this.defaultValue.enabled),autohide:xt(e.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:xt(e.size,this.defaultValue.size,["proportional","fill","fit"]),side:xt(e.side,this.defaultValue.side,["right","left"]),showSlider:xt(e.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:se(e.renderCharacters,this.defaultValue.renderCharacters),scale:Ye.clampedInt(e.scale,1,1,3),maxColumn:Ye.clampedInt(e.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:se(e.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:se(e.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:n,sectionHeaderFontSize:xr.clamp(xr.float(e.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:xr.clamp(xr.float(e.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}};_k=class extends Ct{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:d(601,null)},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:d(600,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{top:Ye.clampedInt(e.top,0,0,1e3),bottom:Ye.clampedInt(e.bottom,0,0,1e3)}}},Mk=class extends Ct{constructor(){let t={enabled:!0,cycle:!0};super(98,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:d(603,null)},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:d(602,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:se(e.enabled,this.defaultValue.enabled),cycle:se(e.cycle,this.defaultValue.cycle)}}},Ak=class extends Ui{constructor(){super(165,1)}compute(t,e,n){return t.pixelRatio}},Lk=class extends Ct{constructor(){super(100,"placeholder",void 0)}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t:this.defaultValue}},Ok=class extends Ct{constructor(){let t={other:"offWhenInlineCompletions",comments:"off",strings:"off"},e=[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[d(596,null),d(527,null),d(594,null),d(595,null)]}];super(102,"quickSuggestions",t,{anyOf:[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[d(618,null),d(615,null),d(616,null),d(617,null)]},{type:"object",additionalProperties:!1,properties:{strings:{anyOf:e,default:t.strings,description:d(614,null)},comments:{anyOf:e,default:t.comments,description:d(612,null)},other:{anyOf:e,default:t.other,description:d(613,null)}}}],default:t,markdownDescription:d(611,null,"`#editor.suggestOnTriggerCharacters#`"),experiment:{mode:"auto"}}),this.defaultValue=t}validate(t){if(typeof t=="boolean"){let c=t?"on":"off";return{comments:c,strings:c,other:c}}if(typeof t=="string"){let c=["on","inline","off","offWhenInlineCompletions"],u=xt(t,this.defaultValue.other,c);return{comments:u,strings:u,other:u}}if(!t||typeof t!="object")return this.defaultValue;let{other:e,comments:n,strings:o}=t,i=["on","inline","off","offWhenInlineCompletions"],s,a,l;return typeof e=="boolean"?s=e?"on":"off":s=xt(e,this.defaultValue.other,i),typeof n=="boolean"?a=n?"on":"off":a=xt(n,this.defaultValue.comments,i),typeof o=="boolean"?l=o?"on":"off":l=xt(o,this.defaultValue.strings,i),{other:s,comments:a,strings:l}}},Nk=class extends Ct{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[d(552,null),d(553,null),d(554,null),d(551,null)],default:"on",description:d(550,null)})}validate(t){let e=this.defaultValue.renderType,n=this.defaultValue.renderFn;return typeof t<"u"&&(typeof t=="function"?(e=4,n=t):t==="interval"?e=3:t==="relative"?e=2:t==="on"?e=1:e=0),{renderType:e,renderFn:n}}},Uk=class extends Ct{constructor(){let t=[],e={type:"number",description:d(635,null)};super(116,"rulers",t,{type:"array",items:{anyOf:[e,{type:["object"],properties:{column:e,color:{type:"string",description:d(634,null),format:"color-hex"}}}]},default:t,description:d(633,null)})}validate(t){if(Array.isArray(t)){let e=[];for(let n of t)if(typeof n=="number")e.push({column:Ye.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n=="object"){let o=n;e.push({column:Ye.clampedInt(o.column,0,0,1e4),color:o.color})}return e.sort((n,o)=>n.column-o.column),e}return this.defaultValue}},Fk=class extends Ct{constructor(){super(105,"readOnlyMessage",void 0)}validate(t){return!t||typeof t!="object"?this.defaultValue:t}};Hk=class extends Ct{constructor(){let t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[d(645,null),d(647,null),d(646,null)],default:"auto",description:d(644,null)},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[d(638,null),d(640,null),d(639,null)],default:"auto",description:d(637,null)},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:d(648,null)},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:d(641,null)},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:d(643,null)},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:d(642,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t,n=Ye.clampedInt(e.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),o=Ye.clampedInt(e.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:Ye.clampedInt(e.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:IH(e.vertical,this.defaultValue.vertical),horizontal:IH(e.horizontal,this.defaultValue.horizontal),useShadows:se(e.useShadows,this.defaultValue.useShadows),verticalHasArrows:se(e.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:se(e.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:se(e.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:se(e.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:Ye.clampedInt(e.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:o,verticalSliderSize:Ye.clampedInt(e.verticalSliderSize,o,0,1e3),scrollByPage:se(e.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:se(e.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}},Ni="inUntrustedWorkspace",$c={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"},Wk=class extends Ct{constructor(){let t={nonBasicASCII:Ni,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ni,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(143,"unicodeHighlight",t,{[$c.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ni],default:t.nonBasicASCII,description:d(712,null)},[$c.invisibleCharacters]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:d(711,null)},[$c.ambiguousCharacters]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:d(708,null)},[$c.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ni],default:t.includeComments,description:d(709,null)},[$c.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ni],default:t.includeStrings,description:d(710,null)},[$c.allowedCharacters]:{restricted:!0,type:"object",default:t.allowedCharacters,description:d(706,null),additionalProperties:{type:"boolean"}},[$c.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:d(707,null)}})}applyUpdate(t,e){let n=!1;e.allowedCharacters&&t&&(ct(t.allowedCharacters,e.allowedCharacters)||(t={...t,allowedCharacters:e.allowedCharacters},n=!0)),e.allowedLocales&&t&&(ct(t.allowedLocales,e.allowedLocales)||(t={...t,allowedLocales:e.allowedLocales},n=!0));let o=super.applyUpdate(t,e);return n?new Pp(o.newValue,!0):o}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{nonBasicASCII:kp(e.nonBasicASCII,Ni,[!0,!1,Ni]),invisibleCharacters:se(e.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:se(e.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:kp(e.includeComments,Ni,[!0,!1,Ni]),includeStrings:kp(e.includeStrings,Ni,[!0,!1,Ni]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,e){if(typeof t!="object"||!t)return e;let n={};for(let[o,i]of Object.entries(t))i===!0&&(n[o]=!0);return n}},Vk=class extends Ct{constructor(){let t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!0,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:"auto",allowCodeShifting:"always",showLongDistanceHint:!0,longDistanceHintContextLineCount:0},triggerCommandOnProviderChange:!1,experimental:{suppressInlineSuggestions:"",showOnSuggestConflict:"never",emptyResponseInformation:!0}};super(71,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:d(535,null)},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[d(540,null),d(542,null),d(541,null)],description:d(539,null)},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:t.syntaxHighlightingEnabled,description:d(546,null)},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:d(545,null)},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:t.suppressInSnippetMode,description:d(544,null)},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:d(537,null)},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:t.experimental.suppressInlineSuggestions,tags:["experimental"],description:d(543,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:t.experimental.emptyResponseInformation,tags:["experimental"],description:d(534,null),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:t.triggerCommandOnProviderChange,tags:["experimental"],description:d(547,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:t.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:d(538,null),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:t.fontFamily,description:d(536,null)},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:t.edits.allowCodeShifting,description:d(529,null),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showLongDistanceHint":{type:"boolean",default:t.edits.showLongDistanceHint,description:d(533,null),tags:["nextEditSuggestions","experimental"]},"editor.inlineSuggest.edits.longDistanceHintContextLineCount":{type:"number",default:t.edits.longDistanceHintContextLineCount,minimum:0,maximum:10,description:d(530,null),tags:["nextEditSuggestions","experimental"],experiment:{mode:"auto"}},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:t.edits.renderSideBySide,description:d(531,null),enum:["auto","never"],enumDescriptions:[d(428,null),d(429,null)],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:t.edits.showCollapsed,description:d(532,null),tags:["nextEditSuggestions"]}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:se(e.enabled,this.defaultValue.enabled),mode:xt(e.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:xt(e.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:se(e.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:se(e.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:Io.string(e.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:se(e.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:Ye.clampedInt(e.minShowDelay,0,0,1e4),suppressInSnippetMode:se(e.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(e.edits),triggerCommandOnProviderChange:se(e.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:this._validateExperimental(e.experimental)}}_validateEdits(t){if(!t||typeof t!="object")return this.defaultValue.edits;let e=t;return{enabled:se(e.enabled,this.defaultValue.edits.enabled),showCollapsed:se(e.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:xt(e.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),showLongDistanceHint:se(e.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),longDistanceHintContextLineCount:Ye.clampedInt(e.longDistanceHintContextLineCount,this.defaultValue.edits.longDistanceHintContextLineCount,0,10),renderSideBySide:xt(e.renderSideBySide,this.defaultValue.edits.renderSideBySide,["never","auto"])}}_validateExperimental(t){if(!t||typeof t!="object")return this.defaultValue.experimental;let e=t;return{suppressInlineSuggestions:Io.string(e.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:xt(e.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:se(e.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}},Bk=class extends Ct{constructor(){let t={enabled:rk.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:rk.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:d(335,null,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:d(336,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:se(e.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:se(e.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},qk=class extends Ct{constructor(){let t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[d(413,null),d(411,null),d(412,null)],default:t.bracketPairs,description:d(410,null)},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[d(417,null),d(415,null),d(416,null)],default:t.bracketPairsHorizontal,description:d(414,null)},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:d(418,null)},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:d(423,null)},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[d(422,null),d(420,null),d(421,null)],default:t.highlightActiveIndentation,description:d(419,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{bracketPairs:kp(e.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:kp(e.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:se(e.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:se(e.indentation,this.defaultValue.indentation),highlightActiveIndentation:kp(e.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}};$k=class extends Ct{constructor(){let t={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,fitWidthToDetails:!1,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(135,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[d(679,null),d(681,null)],default:t.insertMode,description:d(677,null)},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:d(676,null)},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:d(684,null)},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:d(687,null)},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[d(678,null),d(680,null),d(683,null),d(682,null)],default:t.selectionMode,markdownDescription:d(686,null,"`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:d(691,null)},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:d(688,null)},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:d(690,null)},"editor.suggest.preview":{type:"boolean",default:t.preview,description:d(685,null)},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:d(689,null)},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:d(361,null)},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:d(454,null)},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:d(450,null)},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:d(441,null)},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:d(443,null)},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:d(437,null)},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:d(447,null)},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:d(466,null)},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:d(438,null)},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:d(460,null)},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:d(451,null)},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:d(455,null)},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:d(457,null)},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:d(446,null)},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:d(456,null)},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:d(463,null)},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:d(465,null)},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:d(440,null)},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:d(445,null)},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:d(444,null)},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:d(453,null)},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:d(461,null)},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:d(439,null)},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:d(448,null)},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:d(458,null)},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:d(442,null)},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:d(449,null)},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:d(462,null)},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:d(459,null)},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:d(464,null)},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:d(452,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertMode:xt(e.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:se(e.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:se(e.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:se(e.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:se(e.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:xt(e.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:se(e.showIcons,this.defaultValue.showIcons),showStatusBar:se(e.showStatusBar,this.defaultValue.showStatusBar),preview:se(e.preview,this.defaultValue.preview),previewMode:xt(e.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:se(e.showInlineDetails,this.defaultValue.showInlineDetails),fitWidthToDetails:se(e.fitWidthToDetails,this.defaultValue.fitWidthToDetails),showMethods:se(e.showMethods,this.defaultValue.showMethods),showFunctions:se(e.showFunctions,this.defaultValue.showFunctions),showConstructors:se(e.showConstructors,this.defaultValue.showConstructors),showDeprecated:se(e.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:se(e.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:se(e.showFields,this.defaultValue.showFields),showVariables:se(e.showVariables,this.defaultValue.showVariables),showClasses:se(e.showClasses,this.defaultValue.showClasses),showStructs:se(e.showStructs,this.defaultValue.showStructs),showInterfaces:se(e.showInterfaces,this.defaultValue.showInterfaces),showModules:se(e.showModules,this.defaultValue.showModules),showProperties:se(e.showProperties,this.defaultValue.showProperties),showEvents:se(e.showEvents,this.defaultValue.showEvents),showOperators:se(e.showOperators,this.defaultValue.showOperators),showUnits:se(e.showUnits,this.defaultValue.showUnits),showValues:se(e.showValues,this.defaultValue.showValues),showConstants:se(e.showConstants,this.defaultValue.showConstants),showEnums:se(e.showEnums,this.defaultValue.showEnums),showEnumMembers:se(e.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:se(e.showKeywords,this.defaultValue.showKeywords),showWords:se(e.showWords,this.defaultValue.showWords),showColors:se(e.showColors,this.defaultValue.showColors),showFiles:se(e.showFiles,this.defaultValue.showFiles),showReferences:se(e.showReferences,this.defaultValue.showReferences),showFolders:se(e.showFolders,this.defaultValue.showFolders),showTypeParameters:se(e.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:se(e.showSnippets,this.defaultValue.showSnippets),showUsers:se(e.showUsers,this.defaultValue.showUsers),showIssues:se(e.showIssues,this.defaultValue.showIssues)}}},zk=class extends Ct{constructor(){super(130,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:d(661,null),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:d(662,null),default:!0,type:"boolean"}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:se(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:se(t.selectSubwords,this.defaultValue.selectSubwords)}}},Gk=class extends Ct{constructor(){let t=[];super(148,"wordSegmenterLocales",t,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:d(721,null),type:"array",items:{type:"string"},default:t})}validate(t){if(typeof t=="string"&&(t=[t]),Array.isArray(t)){let e=[];for(let n of t)if(typeof n=="string")try{Intl.Segmenter.supportedLocalesOf(n).length>0&&e.push(n)}catch{}return e}return this.defaultValue}},Kk=class extends Ct{constructor(){super(156,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[d(734,null),d(735,null),d(733,null),d(732,null)],description:d(731,null),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,e,n){return e.get(2)===2?0:n}},jk=class extends Ui{constructor(){super(168,{isDominatedByLongLines:!1,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1})}compute(t,e,n){let o=e.get(167);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:o.isWordWrapMinified,isViewportWrapping:o.isViewportWrapping,wrappingColumn:o.wrappingColumn}}},Qk=class extends Ct{constructor(){let t={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:d(364,null)},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:d(365,null),enum:["afterDrop","never"],enumDescriptions:[d(366,null),d(367,null)],default:"afterDrop"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:se(e.enabled,this.defaultValue.enabled),showDropSelector:xt(e.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}},Jk=class extends Ct{constructor(){let t={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:d(604,null)},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:d(605,null),enum:["afterPaste","never"],enumDescriptions:[d(606,null),d(607,null)],default:"afterPaste"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:se(e.enabled,this.defaultValue.enabled),showPasteSelector:xt(e.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}},Bj=[];iNe={acceptSuggestionOnCommitCharacter:M(new Ie(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:d(310,null)})),acceptSuggestionOnEnter:M(new yt(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",d(312,null),""],markdownDescription:d(311,null)})),accessibilitySupport:M(new ak),accessibilityPageSize:M(new Ye(3,"accessibilityPageSize",500,1,1073741824,{description:d(313,null),tags:["accessibility"]})),allowOverflow:M(new Ie(4,"allowOverflow",!0)),allowVariableLineHeights:M(new Ie(5,"allowVariableLineHeights",!0,{description:d(320,null)})),allowVariableFonts:M(new Ie(6,"allowVariableFonts",!0,{description:d(318,null)})),allowVariableFontsInAccessibilityMode:M(new Ie(7,"allowVariableFontsInAccessibilityMode",!1,{description:d(319,null),tags:["accessibility"]})),ariaLabel:M(new Io(8,"ariaLabel",d(467,null))),ariaRequired:M(new Ie(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:M(new Ie(12,"screenReaderAnnounceInlineSuggestion",!0,{description:d(636,null),tags:["accessibility"]})),autoClosingBrackets:M(new yt(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",d(370,null),d(369,null),""],description:d(326,null)})),autoClosingComments:M(new yt(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",d(372,null),d(371,null),""],description:d(327,null)})),autoClosingDelete:M(new yt(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",d(373,null),""],description:d(328,null)})),autoClosingOvertype:M(new yt(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",d(374,null),""],description:d(329,null)})),autoClosingQuotes:M(new yt(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",d(376,null),d(375,null),""],description:d(330,null)})),autoIndent:M(new zc(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],Hj,{enumDescriptions:[d(381,null),d(380,null),d(378,null),d(377,null),d(379,null)],description:d(331,null)})),autoIndentOnPaste:M(new Ie(17,"autoIndentOnPaste",!1,{description:d(332,null)})),autoIndentOnPasteWithinString:M(new Ie(18,"autoIndentOnPasteWithinString",!0,{description:d(333,null)})),automaticLayout:M(new Ie(19,"automaticLayout",!1)),autoSurround:M(new yt(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[d(383,null),d(384,null),d(382,null),""],description:d(334,null)})),bracketPairColorization:M(new Bk),bracketPairGuides:M(new qk),stickyTabStops:M(new Ie(133,"stickyTabStops",!1,{description:d(675,null)})),codeLens:M(new Ie(23,"codeLens",!0,{description:d(337,null)})),codeLensFontFamily:M(new Io(24,"codeLensFontFamily","",{description:d(338,null)})),codeLensFontSize:M(new Ye(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:d(339,null)})),colorDecorators:M(new Ie(26,"colorDecorators",!0,{description:d(341,null)})),colorDecoratorActivatedOn:M(new yt(170,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[d(386,null),d(387,null),d(385,null)],description:d(340,null)})),colorDecoratorsLimit:M(new Ye(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:d(342,null)})),columnSelection:M(new Ie(28,"columnSelection",!1,{description:d(343,null)})),comments:M(new lk),contextmenu:M(new Ie(30,"contextmenu",!0)),copyWithSyntaxHighlighting:M(new Ie(31,"copyWithSyntaxHighlighting",!0,{description:d(346,null)})),cursorBlinking:M(new zc(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],Wj,{description:d(347,null)})),cursorSmoothCaretAnimation:M(new yt(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[d(351,null),d(350,null),d(352,null)],description:d(349,null)})),cursorStyle:M(new zc(34,"cursorStyle",1,"line",["line","block","underline","line-thin","block-outline","underline-thin"],yH,{description:d(353,null)})),overtypeCursorStyle:M(new zc(92,"overtypeCursorStyle",2,"block",["line","block","underline","line-thin","block-outline","underline-thin"],yH,{description:d(597,null)})),cursorSurroundingLines:M(new Ye(35,"cursorSurroundingLines",0,0,1073741824,{description:d(354,null)})),cursorSurroundingLinesStyle:M(new yt(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[d(357,null),d(356,null)],markdownDescription:d(355,null)})),cursorWidth:M(new Ye(37,"cursorWidth",0,0,1073741824,{markdownDescription:d(358,null)})),cursorHeight:M(new Ye(38,"cursorHeight",0,0,1073741824,{markdownDescription:d(348,null)})),disableLayerHinting:M(new Ie(39,"disableLayerHinting",!1)),disableMonospaceOptimizations:M(new Ie(40,"disableMonospaceOptimizations",!1)),domReadOnly:M(new Ie(41,"domReadOnly",!1)),doubleClickSelectsBlock:M(new Ie(175,"doubleClickSelectsBlock",!0,{description:d(362,null)})),dragAndDrop:M(new Ie(42,"dragAndDrop",!0,{description:d(363,null)})),emptySelectionClipboard:M(new dk),dropIntoEditor:M(new Qk),editContext:M(new Ie(44,"editContext",!0,{description:d(368,null),included:Om||Mv||Lm})),renderRichScreenReaderContent:M(new Ie(107,"renderRichScreenReaderContent",!1,{markdownDescription:d(627,null)})),stickyScroll:M(new Tk),experimentalGpuAcceleration:M(new yt(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[d(471,null),d(472,null)],description:d(470,null)})),experimentalWhitespaceRendering:M(new yt(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[d(476,null),d(474,null),d(475,null)],description:d(473,null)})),extraEditorClassName:M(new Io(48,"extraEditorClassName","")),fastScrollSensitivity:M(new xr(49,"fastScrollSensitivity",5,r=>r<=0?5:r,{markdownDescription:d(477,null)})),find:M(new uk),fixedOverflowWidgets:M(new Ie(51,"fixedOverflowWidgets",!1)),folding:M(new Ie(52,"folding",!0,{description:d(488,null)})),foldingStrategy:M(new yt(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[d(493,null),d(494,null)],description:d(492,null)})),foldingHighlight:M(new Ie(54,"foldingHighlight",!0,{description:d(489,null)})),foldingImportsByDefault:M(new Ie(55,"foldingImportsByDefault",!1,{description:d(490,null)})),foldingMaximumRegions:M(new Ye(56,"foldingMaximumRegions",5e3,10,65e3,{description:d(491,null)})),unfoldOnClickAfterEndOfLine:M(new Ie(57,"unfoldOnClickAfterEndOfLine",!1,{description:d(705,null)})),fontFamily:M(new Io(58,"fontFamily",Oi.fontFamily,{description:d(495,null)})),fontInfo:M(new gk),fontLigatures2:M(new pk),fontSize:M(new Ik),fontWeight:M(new bk),fontVariations:M(new mk),formatOnPaste:M(new Ie(64,"formatOnPaste",!1,{description:d(505,null)})),formatOnType:M(new Ie(65,"formatOnType",!1,{description:d(506,null)})),fullwidthCharacterWidth:M(new yt(176,"fullwidthCharacterWidth","font",["font","twoCells"],{enumDescriptions:[d(508,null),d(509,null)],description:d(507,null)})),glyphMargin:M(new Ie(66,"glyphMargin",!0,{description:d(510,null)})),gotoLocation:M(new Sk),hideCursorInOverviewRuler:M(new Ie(68,"hideCursorInOverviewRuler",!1,{description:d(511,null)})),hover:M(new xk),inDiffEditor:M(new Ie(70,"inDiffEditor",!1)),inertialScroll:M(new Ie(159,"inertialScroll",!1,{description:d(521,null)})),letterSpacing:M(new xr(72,"letterSpacing",Oi.letterSpacing,r=>xr.clamp(r,-5,20),{description:d(548,null)})),lightbulb:M(new wk),lineDecorationsWidth:M(new Pk),lineHeight:M(new kk),lineNumbers:M(new Nk),lineNumbersMinChars:M(new Ye(77,"lineNumbersMinChars",5,1,300)),linkedEditing:M(new Ie(78,"linkedEditing",!1,{description:d(555,null)})),links:M(new Ie(79,"links",!0,{description:d(556,null)})),matchBrackets:M(new yt(80,"matchBrackets","always",["always","near","never"],{description:d(557,null)})),minimap:M(new Dk),mouseStyle:M(new yt(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:M(new xr(83,"mouseWheelScrollSensitivity",1,r=>r===0?1:r,{markdownDescription:d(578,null)})),mouseWheelZoom:M(new Ie(84,"mouseWheelZoom",!1,{markdownDescription:gt?d(580,null):d(579,null)})),multiCursorMergeOverlapping:M(new Ie(85,"multiCursorMergeOverlapping",!0,{description:d(582,null)})),multiCursorModifier:M(new zc(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],Vj,{markdownEnumDescriptions:[d(585,null),d(584,null)],markdownDescription:d(583,null)})),mouseMiddleClickAction:M(new yt(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:d(577,null)})),multiCursorPaste:M(new yt(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[d(588,null),d(587,null)],markdownDescription:d(586,null)})),multiCursorLimit:M(new Ye(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:d(581,null)})),occurrencesHighlight:M(new yt(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[d(591,null),d(592,null),d(590,null)],markdownDescription:d(589,null)})),occurrencesHighlightDelay:M(new Ye(91,"occurrencesHighlightDelay",0,0,2e3,{description:d(593,null),tags:["preview"]})),overtypeOnPaste:M(new Ie(93,"overtypeOnPaste",!0,{description:d(598,null)})),overviewRulerBorder:M(new Ie(94,"overviewRulerBorder",!0,{description:d(599,null)})),overviewRulerLanes:M(new Ye(95,"overviewRulerLanes",3,0,3)),padding:M(new _k),pasteAs:M(new Jk),parameterHints:M(new Mk),peekWidgetDefaultFocus:M(new yt(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[d(610,null),d(609,null)],description:d(608,null)})),placeholder:M(new Lk),definitionLinkOpensInPeek:M(new Ie(101,"definitionLinkOpensInPeek",!1,{description:d(360,null)})),quickSuggestions:M(new Ok),quickSuggestionsDelay:M(new Ye(103,"quickSuggestionsDelay",10,0,1073741824,{description:d(619,null),experiment:{mode:"auto"}})),readOnly:M(new Ie(104,"readOnly",!1)),readOnlyMessage:M(new Fk),renameOnType:M(new Ie(106,"renameOnType",!1,{description:d(620,null),markdownDeprecationMessage:d(621,null)})),renderControlCharacters:M(new Ie(108,"renderControlCharacters",!0,{description:d(622,null),restricted:!0})),renderFinalNewline:M(new yt(109,"renderFinalNewline",$e?"dimmed":"on",["off","on","dimmed"],{description:d(623,null)})),renderLineHighlight:M(new yt(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",d(625,null)],description:d(624,null)})),renderLineHighlightOnlyWhenFocus:M(new Ie(111,"renderLineHighlightOnlyWhenFocus",!1,{description:d(626,null)})),renderValidationDecorations:M(new yt(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:M(new yt(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",d(629,null),d(630,null),d(631,null),""],description:d(628,null)})),revealHorizontalRightPadding:M(new Ye(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:M(new Ie(115,"roundedSelection",!0,{description:d(632,null)})),rulers:M(new Uk),scrollbar:M(new Hk),scrollBeyondLastColumn:M(new Ye(118,"scrollBeyondLastColumn",4,0,1073741824,{description:d(649,null)})),scrollBeyondLastLine:M(new Ie(119,"scrollBeyondLastLine",!0,{description:d(650,null)})),scrollOnMiddleClick:M(new Ie(173,"scrollOnMiddleClick",!1,{description:d(651,null)})),scrollPredominantAxis:M(new Ie(120,"scrollPredominantAxis",!0,{description:d(652,null)})),selectionClipboard:M(new Ie(121,"selectionClipboard",!0,{description:d(657,null),included:$e})),selectionHighlight:M(new Ie(122,"selectionHighlight",!0,{description:d(658,null)})),selectionHighlightMaxLength:M(new Ye(123,"selectionHighlightMaxLength",200,0,1073741824,{description:d(659,null)})),selectionHighlightMultiline:M(new Ie(124,"selectionHighlightMultiline",!1,{description:d(660,null)})),selectedTextMatchMode:M(new yt(125,"selectedTextMatchMode","findOptions",["findOptions","caseSensitive","caseInsensitive"],{enumDescriptions:[d(656,null),d(655,null),d(654,null)],markdownDescription:d(653,null)})),selectOnLineNumbers:M(new Ie(126,"selectOnLineNumbers",!0)),showFoldingControls:M(new yt(127,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[d(665,null),d(667,null),d(666,null)],description:d(664,null)})),showUnused:M(new Ie(128,"showUnused",!0,{description:d(668,null)})),showDeprecated:M(new Ie(158,"showDeprecated",!0,{description:d(663,null)})),inlayHints:M(new Rk),snippetSuggestions:M(new yt(129,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[d(674,null),d(671,null),d(672,null),d(673,null)],description:d(670,null)})),smartSelect:M(new zk),smoothScrolling:M(new Ie(131,"smoothScrolling",!1,{description:d(669,null)})),stopRenderingLineAfter:M(new Ye(134,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:M(new $k),inlineSuggest:M(new Vk),inlineCompletionsAccessibilityVerbose:M(new Ie(171,"inlineCompletionsAccessibilityVerbose",!1,{description:d(528,null)})),suggestFontSize:M(new Ye(136,"suggestFontSize",0,0,1e3,{markdownDescription:d(692,null,"`0`","`#editor.fontSize#`")})),suggestLineHeight:M(new Ye(137,"suggestLineHeight",0,0,1e3,{markdownDescription:d(693,null,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:M(new Ie(138,"suggestOnTriggerCharacters",!0,{description:d(694,null)})),suggestSelection:M(new yt(139,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[d(696,null),d(697,null),d(698,null)],description:d(695,null)})),tabCompletion:M(new yt(140,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[d(701,null),d(700,null),d(702,null)],description:d(699,null)})),tabIndex:M(new Ye(141,"tabIndex",0,-1,1073741824)),trimWhitespaceOnDelete:M(new Ie(142,"trimWhitespaceOnDelete",!1,{description:d(704,null)})),unicodeHighlight:M(new Wk),unusualLineTerminators:M(new yt(144,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[d(714,null),d(715,null),d(716,null)],description:d(713,null)})),useShadowDOM:M(new Ie(145,"useShadowDOM",!0)),useTabStops:M(new Ie(146,"useTabStops",!0,{description:d(717,null)})),wordBreak:M(new yt(147,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[d(720,null),d(719,null)],description:d(718,null)})),wordSegmenterLocales:M(new Gk),wordSeparators:M(new Io(149,"wordSeparators",ik,{description:d(722,null)})),wordWrap:M(new yt(150,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[d(725,null),d(726,null),d(727,null),d(724,null)],description:d(723,null)})),wordWrapIndicator:M(new Ie(162,"wordWrapIndicator",!1,{markdownDescription:d(729,null)})),wordWrapBreakAfterCharacters:M(new Io(151,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:M(new Io(152,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:M(new Ye(153,"wordWrapColumn",80,1,1073741824,{markdownDescription:d(728,null)})),wordWrapOverride1:M(new yt(154,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:M(new yt(155,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:M(new Ie(161,"wrapOnEscapedLineFeeds",!1,{markdownDescription:d(730,null)})),effectiveCursorStyle:M(new fk),editorClassName:M(new ck),defaultColorDecorators:M(new yt(169,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[d(389,null),d(388,null),d(390,null)],description:d(359,null)})),pixelRatio:M(new Ak),tabFocusMode:M(new Ie(166,"tabFocusMode",!1,{markdownDescription:d(703,null)})),layoutInfo:M(new Ck),wrappingInfo:M(new jk),wrappingIndent:M(new Kk),wrappingStrategy:M(new Ek),effectiveEditContextEnabled:M(new hk),effectiveAllowVariableFonts:M(new vk),effectiveFullwidthCharacterWidth:M(new yk)}});var Fi,rx=y(()=>{Fi=class r{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new r(t,e)}delta(t=0,e=0){return this.with(Math.max(1,this.lineNumber+t),Math.max(1,this.column+e))}equals(t){return r.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return r.isBefore(this,t)}static isBefore(t,e){return t.lineNumber<e.lineNumber?!0:e.lineNumber<t.lineNumber?!1:t.column<e.column}isBeforeOrEqual(t){return r.isBeforeOrEqual(this,t)}static isBeforeOrEqual(t,e){return t.lineNumber<e.lineNumber?!0:e.lineNumber<t.lineNumber?!1:t.column<=e.column}static compare(t,e){let n=t.lineNumber|0,o=e.lineNumber|0;if(n===o){let i=t.column|0,s=e.column|0;return i-s}return n-o}clone(){return new r(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(t){return new r(t.lineNumber,t.column)}static isIPosition(t){return!!t&&typeof t.lineNumber=="number"&&typeof t.column=="number"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}});var Pn,sa=y(()=>{rx();Pn=class r{constructor(t,e,n,o){t>n||t===n&&e>o?(this.startLineNumber=n,this.startColumn=o,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=n,this.endColumn=o)}isEmpty(){return r.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return r.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumber<t.startLineNumber||e.lineNumber>t.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<t.startColumn||e.lineNumber===t.endLineNumber&&e.column>t.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumber<t.startLineNumber||e.lineNumber>t.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return r.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumber<t.startLineNumber||e.endLineNumber<t.startLineNumber||e.startLineNumber>t.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>t.endColumn)}strictContainsRange(t){return r.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumber<t.startLineNumber||e.endLineNumber<t.startLineNumber||e.startLineNumber>t.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return r.plusRange(this,t)}static plusRange(t,e){let n,o,i,s;return e.startLineNumber<t.startLineNumber?(n=e.startLineNumber,o=e.startColumn):e.startLineNumber===t.startLineNumber?(n=e.startLineNumber,o=Math.min(e.startColumn,t.startColumn)):(n=t.startLineNumber,o=t.startColumn),e.endLineNumber>t.endLineNumber?(i=e.endLineNumber,s=e.endColumn):e.endLineNumber===t.endLineNumber?(i=e.endLineNumber,s=Math.max(e.endColumn,t.endColumn)):(i=t.endLineNumber,s=t.endColumn),new r(n,o,i,s)}intersectRanges(t){return r.intersectRanges(this,t)}static intersectRanges(t,e){let n=t.startLineNumber,o=t.startColumn,i=t.endLineNumber,s=t.endColumn,a=e.startLineNumber,l=e.startColumn,c=e.endLineNumber,u=e.endColumn;return n<a?(n=a,o=l):n===a&&(o=Math.max(o,l)),i>c?(i=c,s=u):i===c&&(s=Math.min(s,u)),n>i||n===i&&o>s?null:new r(n,o,i,s)}equalsRange(t){return r.equalsRange(this,t)}static equalsRange(t,e){return!t&&!e?!0:!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return r.getEndPosition(this)}static getEndPosition(t){return new Fi(t.endLineNumber,t.endColumn)}getStartPosition(){return r.getStartPosition(this)}static getStartPosition(t){return new Fi(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new r(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new r(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return r.collapseToStart(this)}static collapseToStart(t){return new r(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return r.collapseToEnd(this)}static collapseToEnd(t){return new r(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new r(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(t,e=t){return new r(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new r(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return!!t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn||e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)}static areIntersecting(t,e){return!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn||e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)}static areOnlyIntersecting(t,e){return!(t.endLineNumber<e.startLineNumber-1||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn-1||e.endLineNumber<t.startLineNumber-1||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn-1)}static compareRangesUsingStarts(t,e){if(t&&e){let i=t.startLineNumber|0,s=e.startLineNumber|0;if(i===s){let a=t.startColumn|0,l=e.startColumn|0;if(a===l){let c=t.endLineNumber|0,u=e.endLineNumber|0;if(c===u){let p=t.endColumn|0,m=e.endColumn|0;return p-m}return c-u}return a-l}return i-s}return(t?1:0)-(e?1:0)}static compareRangesUsingEnds(t,e){return t.endLineNumber===e.endLineNumber?t.endColumn===e.endColumn?t.startLineNumber===e.startLineNumber?t.startColumn-e.startColumn:t.startLineNumber-e.startLineNumber:t.endColumn-e.endColumn:t.endLineNumber-e.endLineNumber}static spansMultipleLines(t){return t.endLineNumber>t.startLineNumber}toJSON(){return this}}});var Yk=y(()=>{});var xH=y(()=>{sa()});var ix,Xk,CH=y(()=>{de();K();Yk();ix=class{constructor(){this._tokenizationSupports=new Map;this._factories=new Map;this._onDidChange=new T;this.onDidChange=this._onDidChange.event;this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,e){return this._tokenizationSupports.set(t,e),this.handleChange([t]),ce(()=>{this._tokenizationSupports.get(t)===e&&(this._tokenizationSupports.delete(t),this.handleChange([t]))})}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,e){this._factories.get(t)?.dispose();let n=new Xk(this,t,e);return this._factories.set(t,n),ce(()=>{let o=this._factories.get(t);!o||o!==n||(this._factories.delete(t),o.dispose())})}async getOrCreate(t){let e=this.get(t);if(e)return e;let n=this._factories.get(t);return!n||n.isResolved?null:(await n.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;let n=this._factories.get(t);return!!(!n||n.isResolved)}setColorMap(t){this._colorMap=t,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}},Xk=class extends _{constructor(e,n,o){super();this._registry=e;this._languageId=n;this._factory=o;this._isDisposed=!1;this._resolvePromise=null;this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){let e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}});function Zk(r){return!!r&&S.isUri(r.uri)&&Pn.isIRange(r.range)}var $j,DNe,zj,aa,eD,_Ne,sx=y(()=>{as();oe();xH();sa();CH();re();(i=>{let r=new Map;r.set(0,X.symbolMethod),r.set(1,X.symbolFunction),r.set(2,X.symbolConstructor),r.set(3,X.symbolField),r.set(4,X.symbolVariable),r.set(5,X.symbolClass),r.set(6,X.symbolStruct),r.set(7,X.symbolInterface),r.set(8,X.symbolModule),r.set(9,X.symbolProperty),r.set(10,X.symbolEvent),r.set(11,X.symbolOperator),r.set(12,X.symbolUnit),r.set(13,X.symbolValue),r.set(15,X.symbolEnum),r.set(14,X.symbolConstant),r.set(16,X.symbolEnumMember),r.set(17,X.symbolKeyword),r.set(28,X.symbolSnippet),r.set(18,X.symbolText),r.set(19,X.symbolColor),r.set(20,X.symbolFile),r.set(21,X.symbolReference),r.set(22,X.symbolCustomColor),r.set(23,X.symbolFolder),r.set(24,X.symbolTypeParameter),r.set(25,X.account),r.set(26,X.issues),r.set(27,X.tools);function t(s){let a=r.get(s);return a||(console.info("No codicon found for CompletionItemKind "+s),a=X.symbolProperty),a}i.toIcon=t;function e(s){switch(s){case 0:return d(904,null);case 1:return d(900,null);case 2:return d(892,null);case 3:return d(897,null);case 4:return d(917,null);case 5:return d(889,null);case 6:return d(910,null);case 7:return d(901,null);case 8:return d(905,null);case 9:return d(907,null);case 10:return d(896,null);case 11:return d(906,null);case 12:return d(914,null);case 13:return d(916,null);case 14:return d(891,null);case 15:return d(894,null);case 16:return d(895,null);case 17:return d(903,null);case 18:return d(911,null);case 19:return d(890,null);case 20:return d(898,null);case 21:return d(908,null);case 22:return d(893,null);case 23:return d(899,null);case 24:return d(913,null);case 25:return d(915,null);case 26:return d(902,null);case 27:return d(912,null);case 28:return d(909,null);default:return""}}i.toLabel=e;let n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",28),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),n.set("tool",27);function o(s,a){let l=n.get(s);return typeof l>"u"&&!a&&(l=9),l}i.fromString=o})($j||={});DNe={17:d(865,null),16:d(866,null),4:d(867,null),13:d(868,null),8:d(869,null),9:d(870,null),21:d(871,null),23:d(872,null),7:d(873,null),0:d(874,null),11:d(875,null),10:d(876,null),19:d(877,null),5:d(878,null),1:d(879,null),2:d(880,null),20:d(881,null),15:d(882,null),18:d(883,null),24:d(884,null),3:d(885,null),6:d(886,null),14:d(887,null),22:d(888,null),25:d(919,null),12:d(920,null)};(o=>{let r=new Map;r.set(0,X.symbolFile),r.set(1,X.symbolModule),r.set(2,X.symbolNamespace),r.set(3,X.symbolPackage),r.set(4,X.symbolClass),r.set(5,X.symbolMethod),r.set(6,X.symbolProperty),r.set(7,X.symbolField),r.set(8,X.symbolConstructor),r.set(9,X.symbolEnum),r.set(10,X.symbolInterface),r.set(11,X.symbolFunction),r.set(12,X.symbolVariable),r.set(13,X.symbolConstant),r.set(14,X.symbolString),r.set(15,X.symbolNumber),r.set(16,X.symbolBoolean),r.set(17,X.symbolArray),r.set(18,X.symbolObject),r.set(19,X.symbolKey),r.set(20,X.symbolNull),r.set(21,X.symbolEnumMember),r.set(22,X.symbolStruct),r.set(23,X.symbolEvent),r.set(24,X.symbolOperator),r.set(25,X.symbolTypeParameter);function t(i){let s=r.get(i);return s||(console.info("No codicon found for SymbolKind "+i),s=X.symbolProperty),s}o.toIcon=t;let e=new Map;e.set(0,20),e.set(1,8),e.set(2,8),e.set(3,8),e.set(4,5),e.set(5,0),e.set(6,9),e.set(7,3),e.set(8,2),e.set(9,15),e.set(10,7),e.set(11,1),e.set(12,4),e.set(13,14),e.set(14,18),e.set(15,13),e.set(16,13),e.set(17,13),e.set(18,13),e.set(19,17),e.set(20,13),e.set(21,16),e.set(22,6),e.set(23,10),e.set(24,11),e.set(25,24);function n(i){let s=e.get(i);return s===void 0&&(console.info("No completion kind found for SymbolKind "+i),s=20),s}o.toCompletionKind=n})(zj||={});aa=class r{constructor(t){this.value=t}static{this.Comment=new r("comment")}static{this.Imports=new r("imports")}static{this.Region=new r("region")}static fromValue(t){switch(t){case"comment":return r.Comment;case"imports":return r.Imports;case"region":return r.Region}return new r(t)}};(t=>{function r(e){return!e||typeof e!="object"?!1:typeof e.id=="string"&&typeof e.title=="string"}t.is=r})(eD||={});_Ne=new ix});var EH=y(()=>{jt()});var dh,Kj,UNe,wH=y(()=>{os();re();Z();dh=(o=>(o[o.Hint=1]="Hint",o[o.Info=2]="Info",o[o.Warning=4]="Warning",o[o.Error=8]="Error",o))(dh||{});(a=>{function r(l,c){return c-l}a.compare=r;let t=Object.create(null);t[8]=d(3706,null),t[4]=d(3710,null),t[2]=d(3708,null);function e(l){return t[l]||""}a.toString=e;let n=Object.create(null);n[8]=d(3707,null),n[4]=d(3711,null),n[2]=d(3709,null);function o(l){return n[l]||""}a.toStringPlural=o;function i(l){switch(l){case qe.Error:return 8;case qe.Warning:return 4;case qe.Info:return 2;case qe.Ignore:return 1}}a.fromSeverity=i;function s(l){switch(l){case 8:return qe.Error;case 4:return qe.Warning;case 2:return qe.Info;case 1:return qe.Ignore}}a.toSeverity=s})(dh||={});(n=>{function t(o){return e(o,!0)}n.makeKey=t;function e(o,i){let s=[""];return o.source?s.push(o.source.replace("\xA6","\\\xA6")):s.push(""),o.code?typeof o.code=="string"?s.push(o.code.replace("\xA6","\\\xA6")):s.push(o.code.value.replace("\xA6","\\\xA6")):s.push(""),o.severity!==void 0&&o.severity!==null?s.push(dh.toString(o.severity)):s.push(""),o.message&&i?s.push(o.message.replace("\xA6","\\\xA6")):s.push(""),o.startLineNumber!==void 0&&o.startLineNumber!==null?s.push(o.startLineNumber.toString()):s.push(""),o.startColumn!==void 0&&o.startColumn!==null?s.push(o.startColumn.toString()):s.push(""),o.endLineNumber!==void 0&&o.endLineNumber!==null?s.push(o.endLineNumber.toString()):s.push(""),o.endColumn!==void 0&&o.endColumn!==null?s.push(o.endColumn.toString()):s.push(""),s.push(""),s.join("\xA6")}n.makeKeyOptionalMessage=e})(Kj||={});UNe=D("markerService")});var jj,$Ne,TH,ax,zNe,RH=y(()=>{Ne();Zt();K();Z();jj=D("progressService"),$Ne=Object.freeze({total(){},worked(){},done(){}}),TH=class{constructor(t){this.callback=t}static{this.None=Object.freeze({report(){}})}get value(){return this._value}report(t){this._value=t,this.callback(this._value)}},ax=class extends _{constructor(e,n){super();this.deferred=new zn;n.withProgress(e,o=>(this.reporter=o,this.lastStep&&o.report(this.lastStep),this.deferred.p)),this._register(ce(()=>this.deferred.complete()))}report(e){this.reporter?this.reporter.report(e):this.lastStep=e}};ax=C([b(1,jj)],ax);zNe=D("editorProgressService")});var tD,PH,lx,kH,nD=y(()=>{de();K();re();tD=class extends _{constructor(e,n="",o="",i=!0,s){super();this._onDidChange=this._register(new T);this._enabled=!0;this._id=e,this._label=n,this._cssClass=o,this._enabled=i,this._actionCallback=s}get onDidChange(){return this._onDidChange.event}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,n){this._actionCallback&&await this._actionCallback(e)}},PH=class r{constructor(){this.id=r.ID;this.label="";this.tooltip="";this.class="separator";this.enabled=!1;this.checked=void 0}static join(...t){let e=[];for(let n of t)n.length&&(e.length?e=[...e,new r,...n]:e=n);return e}static clean(t){for(;t.length>0&&t[0].id===r.ID;)t.shift();for(;t.length>0&&t[t.length-1].id===r.ID;)t.pop();for(let e=t.length-2;e>=0;e--)t[e].id===r.ID&&t[e+1].id===r.ID&&t.splice(e+1,1);return t}static{this.ID="vs.actions.separator"}async run(){}},lx=class{constructor(t,e,n,o){this.tooltip="";this.enabled=!0;this.checked=void 0;this.id=t,this.label=e,this.class=o,this._actions=n}get actions(){return this._actions}async run(){}},kH=class r extends tD{static{this.ID="vs.actions.empty"}constructor(){super(r.ID,d(46,null),void 0,!1)}}});function dx(r){if(la(r))return!1;let t=r;return t?.original!==void 0&&t.modified!==void 0}function DH(r){if(la(r))return!1;let t=r;return!t||t.resources&&!Array.isArray(t.resources)?!1:!!t.resources||!!t.multiDiffSource}function oD(r){if(la(r)||dx(r))return!1;let t=r;return t?.primary!==void 0&&t.secondary!==void 0}function cx(r){if(la(r))return!1;let t=r;return S.isUri(t?.base?.resource)&&S.isUri(t?.input1?.resource)&&S.isUri(t?.input2?.resource)&&S.isUri(t?.result?.resource)}function la(r){return r instanceof iD}function Jj(r){let t=r;return S.isUri(t?.preferredResource)}function Yj(r){let t=r;return la(t?.primary)&&la(t?.secondary)}function _H(r){let t=r;return la(t?.modified)&&la(t?.original)}var Qj,lD,rD,xUe,iD,sD,uh,aD,ph=y(()=>{re();we();oe();K();Z();Vo();nt();Ae();oc();nD();os();Qj={EditorPane:"workbench.contributions.editors",EditorFactory:"workbench.contributions.editor.inputFactories"},lD={id:"default",displayName:d(6131,null),providerDisplayName:d(6128,null)};rD=class{constructor(){this.mapIdToSaveSource=new Map}registerSource(t,e){let n=this.mapIdToSaveSource.get(t);return n||(n={source:t,label:e},this.mapIdToSaveSource.set(t,n)),n.source}getSourceLabel(t){return this.mapIdToSaveSource.get(t)?.label??t}},xUe=new rD,iD=class extends _{};sD=class{getOriginalUri(t,e){if(!t)return;if(cx(t))return uh.getOriginalUri(t.result,e);if(e?.supportSideBySide){let{primary:o,secondary:i}=this.getSideEditors(t);if(o&&i){if(e?.supportSideBySide===3)return{primary:this.getOriginalUri(o,{filterByScheme:e.filterByScheme}),secondary:this.getOriginalUri(i,{filterByScheme:e.filterByScheme})};if(e?.supportSideBySide===4)return this.getOriginalUri(o,{filterByScheme:e.filterByScheme})??this.getOriginalUri(i,{filterByScheme:e.filterByScheme});t=e.supportSideBySide===1?o:i}}if(dx(t)||DH(t)||oD(t)||cx(t))return;let n=Jj(t)?t.preferredResource:t.resource;return!n||!e?.filterByScheme?n:this.filterUri(n,e.filterByScheme)}getSideEditors(t){return Yj(t)||oD(t)?{primary:t.primary,secondary:t.secondary}:_H(t)||dx(t)?{primary:t.modified,secondary:t.original}:{primary:void 0,secondary:void 0}}getCanonicalUri(t,e){if(!t)return;if(cx(t))return uh.getCanonicalUri(t.result,e);if(e?.supportSideBySide){let{primary:o,secondary:i}=this.getSideEditors(t);if(o&&i){if(e?.supportSideBySide===3)return{primary:this.getCanonicalUri(o,{filterByScheme:e.filterByScheme}),secondary:this.getCanonicalUri(i,{filterByScheme:e.filterByScheme})};if(e?.supportSideBySide===4)return this.getCanonicalUri(o,{filterByScheme:e.filterByScheme})??this.getCanonicalUri(i,{filterByScheme:e.filterByScheme});t=e.supportSideBySide===1?o:i}}if(dx(t)||DH(t)||oD(t)||cx(t))return;let n=t.resource;return!n||!e?.filterByScheme?n:this.filterUri(n,e.filterByScheme)}filterUri(t,e){if(Array.isArray(e)){if(e.some(n=>t.scheme===n))return t}else if(e===t.scheme)return t}},uh=new sD,aD=class{constructor(){this.editorSerializerConstructors=new Map;this.editorSerializerInstances=new Map}start(t){let e=this.instantiationService=t.get(Ln);for(let[n,o]of this.editorSerializerConstructors)this.createEditorSerializer(n,o,e);this.editorSerializerConstructors.clear()}createEditorSerializer(t,e,n){let o=n.createInstance(e);this.editorSerializerInstances.set(t,o)}registerFileEditorFactory(t){if(this.fileEditorFactory)throw new Error("Can only register one file editor factory.");this.fileEditorFactory=t}getFileEditorFactory(){return Hm(this.fileEditorFactory)}registerEditorSerializer(t,e){if(this.editorSerializerConstructors.has(t)||this.editorSerializerInstances.has(t))throw new Error(`A editor serializer with type ID '${t}' was already registered.`);return this.instantiationService?this.createEditorSerializer(t,e,this.instantiationService):this.editorSerializerConstructors.set(t,e),ce(()=>{this.editorSerializerConstructors.delete(t),this.editorSerializerInstances.delete(t)})}getEditorSerializer(t){return this.editorSerializerInstances.get(typeof t=="string"?t:t.typeId)}};ht.add(Qj.EditorFactory,new aD)});var MH=y(()=>{});var TUe,AH=y(()=>{Z();TUe=D("agentHostConnectionsService")});var cD,dD,ux,Xj,Zj,px=y(()=>{oe();MH();Z();Vo();AH();cD=class{constructor(){this._contributions=new Set}register(t){return this._contributions.add(t),{dispose:()=>this._contributions.delete(t)}}getActivators(t){return Array.from(this._contributions).filter(e=>e.matchSessionType(t))}};ht.add("workbench.contrib.chatSessions.asyncActivation",new cD);(l=>(l.CopilotCLI="copilotcli",l.CopilotCloud="copilot-cloud-agent",l.Local="local",l.Codex="openai-codex",l.Growth="copilot-growth",l.AgentHostCopilot="agent-host-copilotcli",l.AgentHostClaude="agent-host-claude",l.AgentHostCodex="agent-host-codex"))(dD||={});ux=dD.Local;(o=>{function r(i){return new Map(Object.entries(i))}o.fromRecord=r;function t(i){let s=Object.create(null),a=n(i);for(let[l,c]of a)s[l]=c;return s}o.toRecord=t;function e(i){if(!i)return;let s=n(i);return Array.from(s,([a,l])=>({optionId:a,value:typeof l=="string"?l:l.id}))}o.toStrValueArray=e;function n(i){return i instanceof Map?i:Object.entries(i)}})(Xj||={});Zj=D("chatSessionsService")});function mx(r){let t=Pl.parseLocalSessionId(r);return t||r.toString()}var Pl,mh=y(()=>{Ke();Ae();bt();oe();nn();px();(s=>{s.scheme=B.vscodeLocalChatSession;function t(a){let l=To(L.wrap(new TextEncoder().encode(a)),!1,!0);return S.from({scheme:s.scheme,authority:ux,path:"/"+l})}s.forSession=t;function e(){let a=Math.floor(Math.random()*1e9);return t(`chat-${a}`)}s.getNewSessionUri=e;function n(a){let l=i(a);return l?.chatSessionType===ux?l.sessionId:void 0}s.parseLocalSessionId=n;function o(a){return!!n(a)}s.isLocalSession=o;function i(a){if(a.scheme!==s.scheme||!a.authority)return;let l=a.path.split("/");if(l.length!==2)return;let c=a.authority,u=gr(l[1]);return{chatSessionType:c,sessionId:new TextDecoder().decode(u.buffer)}}})(Pl||={})});function eQ(r){if(!r||typeof r!="object")return!1;if(an.isThemeIcon(r)||S.isUri(r))return!0;let t=r;return S.isUri(t.light)&&S.isUri(t.dark)}function LH(r){return typeof r=="object"&&r!==null&&r.$mid==="agentHostChatReference"}function OH(r,t,e,n,o){let i;try{i=S.parse(r.chatResource)}catch{return}return{kind:"chatReference",id:t,name:e,value:i,endTurn:r.endTurn,range:n,_meta:o}}function NH(r){return r.kind==="implicit"}function UH(r){return r.kind==="string"}function pD(r){return r.kind==="image"}function gx(r){return r.kind==="element"}function FH(r){return r.kind==="promptFile"}function HH(r){return r.kind==="promptText"}function WH(r){let t=r;return typeof t=="object"&&t!==null&&(typeof t.value=="string"||typeof t.value>"u")&&(typeof t.name=="string"||typeof t.name>"u")&&(t.resourceUri===void 0||S.isUri(t.resourceUri))&&(typeof t.name=="string"||S.isUri(t.resourceUri))&&(t.iconPath===void 0||eQ(t.iconPath))&&S.isUri(t.uri)&&typeof t.handle=="number"}var uD,Dp,gh=y(()=>{as();bt();nl();oe();nn();sx();re();Ke();(i=>{i.icon=X.error;function t(s){return{filterUri:s.resource,owner:s.owner,problemMessage:s.message,filterRange:{startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,startColumn:s.startColumn,endColumn:s.endColumn}}}i.fromMarker=t;function e(s){return{id:n(s),name:o(s),icon:i.icon,value:s,kind:"diagnostic",...s}}i.toEntry=e;function n(s){return[s.filterUri,s.owner,s.filterSeverity,s.filterRange?.startLineNumber,s.filterRange?.startColumn].join(":")}i.id=n;function o(s){let a;if((p=>(p[p.MaxChars=30]="MaxChars",p[p.MaxSpaceLookback=10]="MaxSpaceLookback"))(a||={}),s.problemMessage){if(s.problemMessage.length<30)return s.problemMessage;let c=s.problemMessage.lastIndexOf(" ",30);return c===-1||c+10<30?s.problemMessage.substring(0,30)+"\u2026":s.problemMessage.substring(0,c)+"\u2026"}let l=d(12497,null);return s.filterUri&&(l=d(12498,null,An(s.filterUri))),l}i.label=o})(uD||={});(n=>{function r(o){return S.isUri(o.value)?o.value:Zk(o.value)?o.value.uri:void 0}n.toUri=r;function t(o){if(o.value instanceof Uint8Array){let i={...o};return i.value={$base64:To(L.wrap(o.value))},i}return gx(o)&&o.imageData instanceof Uint8Array?{...o,imageData:{$base64:To(L.wrap(o.imageData))}}:o}n.toExport=t;function e(o){if(o&&"values"in o&&Array.isArray(o.values))return{kind:"generic",id:o.id??"",name:o.name,value:o.values[0]?.value,range:o.range,modelDescription:o.modelDescription,references:o.references};if(o.value&&typeof o.value=="object"&&"$base64"in o.value&&typeof o.value.$base64=="string"){let i={...o};return i.value=gr(o.value.$base64).buffer,i}return gx(o)&&o.imageData&&typeof o.imageData=="object"&&"$base64"in o.imageData&&typeof o.imageData.$base64=="string"?{...o,imageData:gr(o.imageData.$base64).buffer}:o}n.fromExport=e})(Dp||={})});function $H(r,t){let e=mD.get(r);if(e)return e;let n=tQ(r,t);if(n){let o=VH.get(n)??0;o++,VH.set(n,o);let i=o===1?n:`${n}#${o}`;return mD.set(r,i),i}}function tQ(r,t){let e=mD.get(r);if(e)return e;let n=t.owner?oQ(t.owner)+".":"",o,i=t.debugNameSource;if(i!==void 0)if(typeof i=="function"){if(o=i(),o!==void 0)return n+o}else return n+i;let s=t.referenceFn;if(s!==void 0&&(o=fh(s),o!==void 0))return n+o;if(t.owner!==void 0){let a=nQ(t.owner,r);if(a!==void 0)return n+a}}function nQ(r,t){for(let e in r)if(r[e]===t)return e}function oQ(r){let t=qH.get(r);if(t)return t;let e=gD(r)??"Object",n=BH.get(e)??0;n++,BH.set(e,n);let o=n===1?e:`${e}#${n}`;return qH.set(r,o),o}function gD(r){let t=r.constructor;if(t)return t.name==="Object"?void 0:t.name}function fh(r){let t=r.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t);return(n?n[1]:void 0)?.trim()}var Un,VH,mD,BH,qH,$r=y(()=>{Un=class{constructor(t,e,n){this.owner=t;this.debugNameSource=e;this.referenceFn=n}getDebugName(t){return $H(t,this)}},VH=new Map,mD=new WeakMap;BH=new Map,qH=new WeakMap});function zo(r,t){return r===t}function rQ(){return(r,t)=>r===t}function fD(r,t,e){return Gt(r,t,e??zo)}function iQ(r){return(t,e)=>Gt(t,e,r??zo)}function _p(r,t){if(r===t)return!0;if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(!_p(r[e],t[e]))return!1;return!0}if(r&&typeof r=="object"&&t&&typeof t=="object"&&Object.getPrototypeOf(r)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let e=r,n=t,o=Object.keys(e),i=Object.keys(n),s=new Set(i);if(o.length!==i.length)return!1;for(let a of o)if(!s.has(a)||!_p(e[a],n[a]))return!1;return!0}return!1}function sQ(){return(r,t)=>_p(r,t)}function aQ(r,t){return JSON.stringify(r)===JSON.stringify(t)}function lQ(){return(r,t)=>JSON.stringify(r)===JSON.stringify(t)}function cQ(){return(r,t)=>r.equals(t)}function dQ(r,t,e){return r==null||t===void 0||t===null?t===r:e(r,t)}function uQ(r){return(t,e)=>t==null||e===void 0||e===null?e===t:r(t,e)}var pQ,hh=y(()=>{At();(p=>(p.strict=zo,p.strictC=rQ,p.array=fD,p.arrayC=iQ,p.structural=_p,p.structuralC=sQ,p.jsonStringify=aQ,p.jsonStringifyC=lQ,p.thisC=cQ,p.ifDefined=dQ,p.ifDefinedC=uQ))(pQ||={})});var Zo=y(()=>{Xr();hh();Ee();de();K()});function hD(r){let t=new Error("BugIndicatingErrorRecovery: "+r);st(t),console.error("recovered from an error that indicates a bug",t)}var zH=y(()=>{Zo()});function vh(r){Gc?Gc instanceof fx?Gc.loggers.push(r):Gc=new fx([Gc,r]):Gc=r}function Yt(){return Gc}function GH(r){vD=r}function KH(r){vD&&vD(r)}var Gc,vD,fx,hs=y(()=>{fx=class{constructor(t){this.loggers=t}handleObservableCreated(t,e){for(let n of this.loggers)n.handleObservableCreated(t,e)}handleOnListenerCountChanged(t,e){for(let n of this.loggers)n.handleOnListenerCountChanged(t,e)}handleObservableUpdated(t,e){for(let n of this.loggers)n.handleObservableUpdated(t,e)}handleAutorunCreated(t,e){for(let n of this.loggers)n.handleAutorunCreated(t,e)}handleAutorunDisposed(t){for(let e of this.loggers)e.handleAutorunDisposed(t)}handleAutorunDependencyChanged(t,e,n){for(let o of this.loggers)o.handleAutorunDependencyChanged(t,e,n)}handleAutorunStarted(t){for(let e of this.loggers)e.handleAutorunStarted(t)}handleAutorunFinished(t){for(let e of this.loggers)e.handleAutorunFinished(t)}handleDerivedDependencyChanged(t,e,n){for(let o of this.loggers)o.handleDerivedDependencyChanged(t,e,n)}handleDerivedCleared(t){for(let e of this.loggers)e.handleDerivedCleared(t)}handleBeginTransaction(t){for(let e of this.loggers)e.handleBeginTransaction(t)}handleEndTransaction(t){for(let e of this.loggers)e.handleEndTransaction(t)}}});function ca(r,t){let e=new kl(r,t);try{r(e)}finally{e.finish()}}function yD(r,t,e){r?t(r):ca(t,e)}var kl,da=y(()=>{zH();$r();hs();kl=class{constructor(t,e){this._fn=t;this._getDebugName=e;this._updatingObservers=[];Yt()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():fh(this._fn)}updateObserver(t,e){if(!this._updatingObservers){hD("Transaction already finished!"),ca(n=>{n.updateObserver(t,e)});return}this._updatingObservers.push({observer:t,observable:e}),t.beginUpdate(e)}finish(){let t=this._updatingObservers;if(!t){hD("transaction.finish() has already been called!");return}for(let e=0;e<t.length;e++){let{observer:n,observable:o}=t[e];n.endUpdate(o)}this._updatingObservers=null,Yt()?.handleEndTransaction(this)}debugGetUpdatingObservers(){return this._updatingObservers}}});function mQ(r){let t=r.match(/\((.*):(\d+):(\d+)\)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:r};let e=r.match(/at ([^\(\)]*):(\d+):(\d+)/);if(e)return{fileName:e[1],line:parseInt(e[2]),column:parseInt(e[3]),id:r}}var hn,ID,zr=y(()=>{(n=>{let r=!1;function t(){r=!0}n.enable=t;function e(){if(!r)return;let o=Error,i=o.stackTraceLimit;o.stackTraceLimit=3;let s=new Error().stack;return o.stackTraceLimit=i,ID.fromStack(s,2)}n.ofCaller=e})(hn||={});ID=class r{constructor(t,e,n,o){this.fileName=t;this.line=e;this.column=n;this.id=o}static fromStack(t,e){let n=t.split(`
`),o=mQ(n[e+1]);if(o)return new r(o.fileName,o.line,o.column,o.id)}}});function jH(r){bD=r}function JH(r){QH=r}function XH(r){YH=r}function ZH(r){SD=r}var bD,QH,YH,SD,yh,xD,Cr,Hi=y(()=>{zr();$r();hs();yh=class{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,e,n=hn.ofCaller()){let o=e===void 0?void 0:t,i=e===void 0?t:e;return bD({owner:o,debugName:()=>{let s=fh(i);if(s!==void 0)return s;let l=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());if(l)return`${this.debugName}.${l[2]}`;if(!o)return`${this.debugName} (mapped)`},debugReferenceFn:i},s=>i(this.read(s),s),n)}flatten(){return bD({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},t=>this.read(t).read(t))}recomputeInitiallyAndOnChange(t,e){return t.add(QH(this,e)),this}keepObserved(t){return t.add(YH(this)),this}get debugValue(){return this.get()}get debug(){return new xD(this)}},xD=class{constructor(t){this.observable=t}getDependencyGraph(){return SD(this.observable,{type:"dependencies"})}getObserverGraph(){return SD(this.observable,{type:"observers"})}},Cr=class extends yh{constructor(e){super();this._observers=new Set;Yt()?.handleObservableCreated(this,e)}addObserver(e){let n=this._observers.size;this._observers.add(e),n===0&&this.onFirstObserverAdded(),n!==this._observers.size&&Yt()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){let n=this._observers.delete(e);n&&this._observers.size===0&&this.onLastObserverRemoved(),n&&Yt()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}log(){let e=!!Yt();return KH(this),e||Yt()?.handleObservableCreated(this,hn.ofCaller()),this}debugGetObservers(){return this._observers}}});function Bn(r,t,e=hn.ofCaller()){let n;return typeof r=="string"?n=new Un(void 0,r,void 0):n=new Un(r,void 0,void 0),new vs(n,t,zo,e)}var vs,ua=y(()=>{da();Hi();Zo();$r();hs();zr();vs=class extends Cr{constructor(e,n,o,i){super(i);this._debugNameData=e;this._equalityComparator=o;this._value=n,Yt()?.handleObservableUpdated(this,{hadValue:!1,newValue:n,change:void 0,didChange:!0,oldValue:void 0})}get debugName(){return this._debugNameData.getDebugName(this)??"ObservableValue"}get(){return this._value}set(e,n,o){if(o===void 0&&this._equalityComparator(this._value,e))return;let i;n||(n=i=new kl(()=>{},()=>`Setting ${this.debugName}`));try{let s=this._value;this._setValue(e),Yt()?.handleObservableUpdated(this,{oldValue:s,newValue:e,change:o,didChange:!0,hadValue:!0});for(let a of this._observers)n.updateObserver(a,this),a.handleChange(this,o)}finally{i&&i.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}}});var hx,eW=y(()=>{da();hs();Hi();hx=class extends Cr{constructor(e,n,o,i){super(i);this._debugNameData=e;this._equalityComparator=o;this._isUpToDate=!0;this._deltas=[];this._updateCounter=0;this._value=n}get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(let e of this._deltas){Yt()?.handleObservableUpdated(this,{change:e,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(let n of this._observers)n.handleChange(this,e)}this._deltas.length=0}else{Yt()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(let e of this._observers)e.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(let e of this._observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();let e=[...this._observers];for(let n of e)n.endUpdate(this)}}addObserver(e){let n=!this._observers.has(e)&&this._updateCounter>0;super.addObserver(e),n&&e.beginUpdate(this)}removeObserver(e){let n=this._observers.has(e)&&this._updateCounter>0;super.removeObserver(e),n&&e.endUpdate(this)}set(e,n,o){if(o===void 0&&this._equalityComparator(this._value,e))return;let i;n||(n=i=new kl(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),o!==void 0&&this._deltas.push(o),n.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(s,a)=>{},handlePossibleChange:s=>{}},this),this._updateCounter>1)for(let s of this._observers)s.handlePossibleChange(this)}finally{i&&i.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}});function Ih(r,t,e=hn.ofCaller()){return r.lazy?new hx(new Un(r.owner,r.debugName,void 0),t,r.equalsFn??zo,e):new vs(new Un(r.owner,r.debugName,void 0),t,r.equalsFn??zo,e)}var vx=y(()=>{$r();Zo();ua();eW();zr()});function gQ(r){switch(r){case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var pa,yx=y(()=>{Zo();hs();pa=class{constructor(t,e,n,o){this._debugNameData=t;this._runFn=e;this._changeTracker=n;this._state=2;this._updateCount=0;this._disposed=!1;this._dependencies=new Set;this._dependenciesToBeRemoved=new Set;this._isRunning=!1;this._iteration=0;this._store=void 0;this._delayedStore=void 0;this._changeSummary=this._changeTracker?.createChangeSummary(void 0),Yt()?.handleAutorunCreated(this,o),this._run(),wa(this)}get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}dispose(){if(!this._disposed){this._disposed=!0;for(let t of this._dependencies)t.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&this._store.dispose(),this._delayedStore!==void 0&&this._delayedStore.dispose(),Yt()?.handleAutorunDisposed(this),Ta(this)}}_run(){let t=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=t,this._state=3;try{if(!this._disposed){Yt()?.handleAutorunStarted(this);let e=this._changeSummary,n=this._delayedStore;n!==void 0&&(this._delayedStore=void 0);try{this._isRunning=!0,this._changeTracker&&(this._changeTracker.beforeUpdate?.(this,e),this._changeSummary=this._changeTracker.createChangeSummary(e)),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._runFn(this,e)}catch(o){Ca(o)}finally{this._isRunning=!1,n!==void 0&&n.dispose()}}}finally{this._disposed||Yt()?.handleAutorunFinished(this);for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(t){this._state===3&&(this._checkIterations(),this._state=1),this._updateCount++}endUpdate(t){try{if(this._updateCount===1){this._iteration=1;do{if(this._checkIterations())return;if(this._state===1){this._state=3;for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._iteration++,this._state!==3&&this._run()}while(this._state!==3)}}finally{this._updateCount--}Fm(()=>this._updateCount>=0)}handlePossibleChange(t){this._state===3&&this._isDependency(t)&&(this._checkIterations(),this._state=1)}handleChange(t,e){if(this._isDependency(t)){Yt()?.handleAutorunDependencyChanged(this,t,e);try{(!this._changeTracker||this._changeTracker.handleChange({changedObservable:t,change:e,didChange:o=>o===t},this._changeSummary))&&(this._checkIterations(),this._state=2)}catch(n){Ca(n)}}}_isDependency(t){return this._dependencies.has(t)&&!this._dependenciesToBeRemoved.has(t)}_ensureNoRunning(){if(!this._isRunning)throw new It("The reader object cannot be used outside its compute function!")}readObservable(t){if(this._ensureNoRunning(),this._disposed)return t.get();t.addObserver(this);let e=t.get();return this._dependencies.add(t),this._dependenciesToBeRemoved.delete(t),e}get store(){if(this._ensureNoRunning(),this._disposed)throw new It("Cannot access store after dispose");return this._store===void 0&&(this._store=new ie),this._store}get delayedStore(){if(this._ensureNoRunning(),this._disposed)throw new It("Cannot access store after dispose");return this._delayedStore===void 0&&(this._delayedStore=new ie),this._delayedStore}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:gQ(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}_checkIterations(){return this._iteration>100?(Ca(new It(`Autorun '${this.debugName}' is stuck in an infinite update loop.`)),!0):!1}}});function Er(r,t=hn.ofCaller()){return new pa(new Un(void 0,void 0,r),r,void 0,t)}function CD(r,t,e=hn.ofCaller()){let n,o=!1;n=Er(i=>{t({delayedStore:i.delayedStore,store:i.store,readObservable:i.readObservable.bind(i),dispose:()=>{n?r.delete(n):o=!0}})},e),o?n.dispose():r.add(n)}var Kc=y(()=>{Zo();$r();yx();zr();ua();da()});function fQ(r){switch(r){case 0:return"initial";case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var Qn,Mp=y(()=>{Hi();Zo();hs();Qn=class extends Cr{constructor(e,n,o,i=void 0,s,a){super(a);this._debugNameData=e;this._computeFn=n;this._changeTracker=o;this._handleLastObserverRemoved=i;this._equalityComparator=s;this._state=0;this._value=void 0;this._updateCount=0;this._dependencies=new Set;this._dependenciesToBeRemoved=new Set;this._changeSummary=void 0;this._isUpdating=!1;this._isComputing=!1;this._didReportChange=!1;this._isInBeforeUpdate=!1;this._isReaderValid=!1;this._store=void 0;this._delayedStore=void 0;this._removedObserverToCallEndUpdateOn=null;this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}onLastObserverRemoved(){this._state=0,this._value=void 0,Yt()?.handleDerivedCleared(this);for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._delayedStore!==void 0&&(this._delayedStore.dispose(),this._delayedStore=void 0),this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let n;try{this._isReaderValid=!0;let o;this._changeTracker&&(o=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,o)),n=this._computeFn(this,o)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),n}else{do{if(this._state===1){for(let n of this._dependencies)if(n.reportChanges(),this._state===2)break}this._state===1&&(this._state=3),this._state!==3&&this._recompute()}while(this._state!==3);return this._value}}_recompute(){let e=!1;this._isComputing=!0,this._didReportChange=!1;let n=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=n;try{let o=this._changeSummary;this._isReaderValid=!0,this._changeTracker&&(this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,o),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(o));let i=this._state!==0,s=this._value;this._state=3;let a=this._delayedStore;a!==void 0&&(this._delayedStore=void 0);try{this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._value=this._computeFn(this,o)}finally{this._isReaderValid=!1;for(let l of this._dependenciesToBeRemoved)l.removeObserver(this);this._dependenciesToBeRemoved.clear(),a!==void 0&&a.dispose()}e=this._didReportChange||i&&!this._equalityComparator(s,this._value),Yt()?.handleObservableUpdated(this,{oldValue:s,newValue:this._value,change:void 0,didChange:e,hadValue:i})}catch(o){Ca(o)}if(this._isComputing=!1,!this._didReportChange&&e)for(let o of this._observers)o.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){if(this._isUpdating)throw new It("Cyclic deriveds are not supported yet!");this._updateCount++,this._isUpdating=!0;try{let n=this._updateCount===1;if(this._state===3&&(this._state=1,!n))for(let o of this._observers)o.handlePossibleChange(this);if(n)for(let o of this._observers)o.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(e){if(this._updateCount--,this._updateCount===0){let n=[...this._observers];for(let o of n)o.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){let o=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(let i of o)i.endUpdate(this)}}Fm(()=>this._updateCount>=0)}handlePossibleChange(e){if(this._state===3&&this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)){this._state=1;for(let n of this._observers)n.handlePossibleChange(this)}}handleChange(e,n){if(this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)||this._isInBeforeUpdate){Yt()?.handleDerivedDependencyChanged(this,e,n);let o=!1;try{o=this._changeTracker?this._changeTracker.handleChange({changedObservable:e,change:n,didChange:s=>s===e},this._changeSummary):!0}catch(s){Ca(s)}let i=this._state===3;if(o&&(this._state===1||i)&&(this._state=2,i))for(let s of this._observers)s.handlePossibleChange(this)}}_ensureReaderValid(){if(!this._isReaderValid)throw new It("The reader object cannot be used outside its compute function!")}readObservable(e){this._ensureReaderValid(),e.addObserver(this);let n=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),n}reportChange(e){this._ensureReaderValid(),this._didReportChange=!0;for(let n of this._observers)n.handleChange(this,e)}get store(){return this._ensureReaderValid(),this._store===void 0&&(this._store=new ie),this._store}get delayedStore(){return this._ensureReaderValid(),this._delayedStore===void 0&&(this._delayedStore=new ie),this._delayedStore}addObserver(e){let n=!this._observers.has(e)&&this._updateCount>0;super.addObserver(e),n&&(this._removedObserverToCallEndUpdateOn?.delete(e)||e.beginUpdate(this))}removeObserver(e){this._observers.has(e)&&this._updateCount>0&&(this._removedObserverToCallEndUpdateOn||(this._removedObserverToCallEndUpdateOn=new Set),this._removedObserverToCallEndUpdateOn.add(e)),super.removeObserver(e)}debugGetState(){return{state:this._state,stateStr:fQ(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(e){this._value=e}debugRecompute(){this.beginUpdate(this);try{this._isComputing?this._state=2:this._recompute()}finally{this.endUpdate(this)}}setValue(e,n,o){this._value=e;let i=this._observers;n.updateObserver(this,this);for(let s of i)s.handleChange(this,o)}}});function Ap(r,t,e=hn.ofCaller()){return t!==void 0?new Qn(new Un(r,void 0,t),t,void 0,void 0,zo,e):new Qn(new Un(void 0,void 0,r),r,void 0,void 0,zo,e)}function Lp(r,t,e=hn.ofCaller()){return new Qn(new Un(r.owner,r.debugName,r.debugReferenceFn),t,void 0,r.onLastObserverRemoved,r.equalsFn??zo,e)}var Ix=y(()=>{Zo();zr();$r();Hi();Mp();jH(Lp)});var tW=y(()=>{Kc();da();Ix();ua()});var ED=y(()=>{Ee();Zt()});var nW=y(()=>{$r();ED();Zo();Kc();Mp();zr()});function ui(...r){let t,e,n,o;return r.length===2?[e,n]=r:[t,e,n,o]=r,new di(new Un(t,void 0,n),e,n,()=>di.globalTransaction,zo,o??hn.ofCaller())}var di,Dl=y(()=>{da();Zo();$r();hs();Hi();zr();di=class extends Cr{constructor(e,n,o,i,s,a){super(a);this._debugNameData=e;this.event=n;this._getValue=o;this._getTransaction=i;this._equalityComparator=s;this._hasValue=!1;this.handleEvent=e=>{let n=this._getValue(e),o=this._value,i=this._hasValue,s=!i||!this._equalityComparator(o,n),a=!1;s&&(this._value=n,this._hasValue=!0,i&&(a=!0,yD(this._getTransaction(),l=>{Yt()?.handleObservableUpdated(this,{oldValue:o,newValue:n,change:void 0,didChange:s,hadValue:i});for(let c of this._observers)l.updateObserver(c,this),c.handleChange(this,void 0)},()=>{let l=this.getDebugName();return"Event fired"+(l?`: ${l}`:"")}))),a||Yt()?.handleObservableUpdated(this,{oldValue:o,newValue:n,change:void 0,didChange:s,hadValue:i})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){let e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){return this._subscription?(this._hasValue||this.handleEvent(void 0),this._value):this._getValue(void 0)}debugSetValue(e){this._value=e}debugGetState(){return{value:this._value,hasValue:this._hasValue}}};(e=>{e.Observer=di;function t(n,o){let i=!1;di.globalTransaction===void 0&&(di.globalTransaction=n,i=!0);try{o()}finally{i&&(di.globalTransaction=void 0)}}e.batchEventsGlobally=t})(ui||={})});function Sx(r,t=hn.ofCaller()){return typeof r=="string"?new bx(r,void 0,t):new bx(void 0,r,t)}var bx,wD=y(()=>{da();$r();Hi();zr();bx=class extends Cr{constructor(e,n,o){super(o);this._debugName=e;this._owner=n}get debugName(){return new Un(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}trigger(e,n){if(!e){ca(o=>{this.trigger(o,n)},()=>`Trigger signal ${this.debugName}`);return}for(let o of this._observers)e.updateObserver(o,this),o.handleChange(this,n)}get(){}}});function oW(r){let t=new xx(!1,void 0);return r.addObserver(t),ce(()=>{r.removeObserver(t)})}function rW(r,t){let e=new xx(!0,t);r.addObserver(e);try{e.beginUpdate(r)}finally{e.endUpdate(r)}return ce(()=>{r.removeObserver(e)})}var xx,TD=y(()=>{Kc();ua();Zo();Ix();Dl();wD();Hi();zr();XH(oW);JH(rW);xx=class{constructor(t,e){this._forceRecompute=t;this._handleValue=e;this._counter=0}beginUpdate(t){this._counter++}endUpdate(t){this._counter===1&&this._forceRecompute&&(this._handleValue?this._handleValue(t.get()):t.reportChanges()),this._counter--}handlePossibleChange(t){}handleChange(t,e){}}});var iW=y(()=>{Zo()});function bh(r){return new RD(r)}var RD,sW=y(()=>{Hi();RD=class extends yh{constructor(e){super();this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}log(){return this}toString(){return`Const: ${this.value}`}}});function kD(r,t,e=hn.ofCaller()){return new PD(typeof r=="string"?r:new Un(r,void 0,void 0),t,e)}var PD,aW=y(()=>{da();$r();Hi();zr();PD=class extends Cr{constructor(e,n,o){super(o);this.event=n;this.handleEvent=()=>{ca(e=>{for(let n of this._observers)e.updateObserver(n,this),n.handleChange(this,void 0)},()=>this.debugName)};this.debugName=typeof e=="string"?e:e.getDebugName(this)??"Observable Signal From Event"}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}});var lW=y(()=>{Zo();Dl()});var cW=y(()=>{ED();Zo();Kc()});var dW=y(()=>{Zo();$r();Dl();Kc();TD()});var uW=y(()=>{vx()});var pW=y(()=>{vx()});function mW(r){Cx||(Cx=new Sh,vh(Cx)),Cx.addFilteredObj(r)}function bQ(r){let t=new Array,e=[],n="";function o(s){if("length"in s)for(let a of s)a&&o(a);else"text"in s?(n+=`%c${s.text}`,t.push(s.style),s.data&&e.push(...s.data)):"data"in s&&e.push(...s.data)}o(r);let i=[n,...t];return i.push(...e),i}function Op(r){return pi(r,{color:"black"})}function Np(r){return pi(EQ(`${r}: `,10),{color:"black",bold:!0})}function pi(r,t={color:"black"}){function e(o){return Object.entries(o).reduce((i,[s,a])=>`${i}${s}:${a};`,"")}let n={color:t.color};return t.strikeThrough&&(n["text-decoration"]="line-through"),t.bold&&(n["font-weight"]="bold"),{text:r,style:e(n)}}function Gr(r,t){switch(typeof r){case"number":return""+r;case"string":return r.length+2<=t?`"${r}"`:`"${r.substr(0,t-7)}"+...`;case"boolean":return r?"true":"false";case"undefined":return"undefined";case"object":return r===null?"null":Array.isArray(r)?SQ(r,t):xQ(r,t);case"symbol":return r.toString();case"function":return`[[Function${r.name?" "+r.name:""}]]`;default:return""+r}}function SQ(r,t){let e="[ ",n=!0;for(let o of r){if(n||(e+=", "),e.length-5>t){e+="...";break}n=!1,e+=`${Gr(o,t-e.length)}`}return e+=" ]",e}function xQ(r,t){if(typeof r.toString=="function"&&r.toString!==Object.prototype.toString){let i=r.toString();return i.length<=t?i:i.substring(0,t-3)+"..."}let e=gD(r),n=e?e+"(":"{ ",o=!0;for(let[i,s]of Object.entries(r)){if(o||(n+=", "),n.length-5>t){n+="...";break}o=!1,n+=`${i}: ${Gr(s,t-n.length)}`}return n+=e?")":" }",n}function CQ(r,t){let e="";for(let n=1;n<=t;n++)e+=r;return e}function EQ(r,t){for(;r.length<t;)r+=" ";return r}var Cx,Sh,Ex=y(()=>{hs();$r();Mp();Sh=class{constructor(){this.indentation=0;this.changedObservablesSets=new WeakMap}addFilteredObj(t){this._filteredObjects||(this._filteredObjects=new Set),this._filteredObjects.add(t)}_isIncluded(t){return this._filteredObjects?.has(t)??!0}textToConsoleArgs(t){return bQ([Op(CQ("| ",this.indentation)),t])}formatInfo(t){return t.hadValue?t.didChange?[Op(" "),pi(Gr(t.oldValue,70),{color:"red",strikeThrough:!0}),Op(" "),pi(Gr(t.newValue,60),{color:"green"})]:[Op(" (unchanged)")]:[Op(" "),pi(Gr(t.newValue,60),{color:"green"}),Op(" (initial)")]}handleObservableCreated(t){if(t instanceof Qn){let e=t;if(this.changedObservablesSets.set(e,new Set),!1){let o=[];e.__debugUpdating=o;let i=e.beginUpdate;e.beginUpdate=a=>(o.push(a),i.apply(e,[a]));let s=e.endUpdate;e.endUpdate=a=>{let l=o.indexOf(a);return l===-1&&console.error("endUpdate called without beginUpdate",e.debugName,a.debugName),o.splice(l,1),s.apply(e,[a])}}}}handleOnListenerCountChanged(t,e){}handleObservableUpdated(t,e){if(this._isIncluded(t)){if(t instanceof Qn){this._handleDerivedRecomputed(t,e);return}console.log(...this.textToConsoleArgs([Np("observable value changed"),pi(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e)]))}}formatChanges(t){if(t.size!==0)return pi(" (changed deps: "+[...t].map(e=>e.debugName).join(", ")+")",{color:"gray"})}handleDerivedDependencyChanged(t,e,n){this._isIncluded(t)&&this.changedObservablesSets.get(t)?.add(e)}_handleDerivedRecomputed(t,e){if(!this._isIncluded(t))return;let n=this.changedObservablesSets.get(t);n&&(console.log(...this.textToConsoleArgs([Np("derived recomputed"),pi(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e),this.formatChanges(n),{data:[{fn:t._debugNameData.referenceFn??t._computeFn}]}])),n.clear())}handleDerivedCleared(t){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([Np("derived cleared"),pi(t.debugName,{color:"BlueViolet"})]))}handleFromEventObservableTriggered(t,e){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([Np("observable from event triggered"),pi(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e),{data:[{fn:t._getValue}]}]))}handleAutorunCreated(t){this._isIncluded(t)&&this.changedObservablesSets.set(t,new Set)}handleAutorunDisposed(t){}handleAutorunDependencyChanged(t,e,n){this._isIncluded(t)&&this.changedObservablesSets.get(t).add(e)}handleAutorunStarted(t){let e=this.changedObservablesSets.get(t);e&&(this._isIncluded(t)&&console.log(...this.textToConsoleArgs([Np("autorun"),pi(t.debugName,{color:"BlueViolet"}),this.formatChanges(e),{data:[{fn:t._debugNameData.referenceFn??t._runFn}]}])),e.clear(),this.indentation++)}handleAutorunFinished(t){this.indentation--}handleBeginTransaction(t){let e=t.getDebugName();e===void 0&&(e=""),this._isIncluded(t)&&console.log(...this.textToConsoleArgs([Np("transaction"),pi(e,{color:"BlueViolet"}),{data:[{fn:t._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}}});var wx,gW=y(()=>{wx=class r{constructor(t,e){this._channelFactory=t;this._getHandler=e;this._channel=this._channelFactory({handleNotification:i=>{let s=i,a=this._getHandler().notifications[s[0]];if(!a)throw new Error(`Unknown notification "${s[0]}"!`);a(...s[1])},handleRequest:i=>{let s=i;try{return{type:"result",value:this._getHandler().requests[s[0]](...s[1])}}catch(a){return{type:"error",value:a}}}});let n=new Proxy({},{get:(i,s)=>{if(s!=="then")return async(...a)=>{let l=await this._channel.sendRequest([s,a]);if(l.type==="error")throw l.value;return l.value}}}),o=new Proxy({},{get:(i,s)=>{if(s!=="then")return(...a)=>{this._channel.sendNotification([s,a])}}});this.api={notifications:o,requests:n}}static createHost(t,e){return new r(t,e)}static createClient(t,e){return new r(t,e)}}});function fW(r,t){let e=globalThis,n=[],o,{channel:i,handler:s}=wQ({sendNotification:l=>{o?o.sendNotification(l):n.push(l)}}),a;return(e.$$debugValueEditor_debugChannels??(e.$$debugValueEditor_debugChannels={}))[r]=l=>{a=t(),o=l;for(let c of n)l.sendNotification(c);return n=[],s},wx.createClient(i,()=>{if(!a)throw new Error("Not supported");return a})}function wQ(r){let t;return{channel:n=>(t=n,{sendNotification:o=>{r.sendNotification(o)},sendRequest:o=>{throw new Error("not supported")}}),handler:{handleRequest:n=>n.type==="notification"?t?.handleNotification(n.data):t?.handleRequest(n.data)}}}var hW=y(()=>{gW()});function DD(r,t){for(let e in t)r[e]&&typeof r[e]=="object"&&t[e]&&typeof t[e]=="object"?DD(r[e],t[e]):r[e]=t[e]}function _D(r,t){for(let e in t)t[e]===null?delete r[e]:r[e]&&typeof r[e]=="object"&&t[e]&&typeof t[e]=="object"?_D(r[e],t[e]):r[e]=t[e]}var Tx,vW=y(()=>{Tx=class{constructor(){this._timeout=void 0}throttle(t,e){this._timeout===void 0&&(this._timeout=setTimeout(()=>{this._timeout=void 0,t()},e))}dispose(){this._timeout!==void 0&&clearTimeout(this._timeout)}}});var Rx,yW=y(()=>{yx();Ex();hW();vW();we();Dl();Ee();Mp();ua();zr();Rx=class r{constructor(){this._declarationId=0;this._instanceId=0;this._declarations=new Map;this._instanceInfos=new WeakMap;this._aliveInstances=new Map;this._activeTransactions=new Set;this._channel=fW("observableDevTools",()=>({notifications:{setDeclarationIdFilter:t=>{},logObservableValue:t=>{console.log("logObservableValue",t)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{let t={};for(let e of this._declarations.values())t[e.id]=e;return{decls:t}},getSummarizedInstances:()=>null,getObservableValueInfo:t=>({observers:[...this._aliveInstances.get(t).debugGetObservers()].map(n=>this._formatObserver(n)).filter(Zr)}),getDerivedInfo:t=>{let e=this._aliveInstances.get(t);return{dependencies:[...e.debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(Zr),observers:[...e.debugGetObservers()].map(n=>this._formatObserver(n)).filter(Zr)}},getAutorunInfo:t=>({dependencies:[...this._aliveInstances.get(t).debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(Zr)}),getTransactionState:()=>this.getTransactionState(),setValue:(t,e)=>{let n=this._aliveInstances.get(t);if(n instanceof Qn)n.debugSetValue(e);else if(n instanceof vs)n.debugSetValue(e);else if(n instanceof di)n.debugSetValue(e);else throw new It("Observable is not supported");let o=[...n.debugGetObservers()];for(let i of o)i.beginUpdate(n);for(let i of o)i.handleChange(n,void 0);for(let i of o)i.endUpdate(n)},getValue:t=>{let e=this._aliveInstances.get(t);if(e instanceof Qn)return Gr(e.debugGetState().value,200);if(e instanceof vs)return Gr(e.debugGetState().value,200)},logValue:t=>{let e=this._aliveInstances.get(t);if(e&&"get"in e)console.log("Logged Value:",e.get());else throw new It("Observable is not supported")},rerun:t=>{let e=this._aliveInstances.get(t);if(e instanceof Qn)e.debugRecompute();else if(e instanceof pa)e.debugRerun();else throw new It("Observable is not supported")}}}));this._pendingChanges=null;this._changeThrottler=new Tx;this._fullState={};this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)};hn.enable()}static{this._instance=void 0}static getInstance(){return r._instance===void 0&&(r._instance=new r),r._instance}getTransactionState(){let t=[],e=[...this._activeTransactions];if(e.length===0)return;let n=e.flatMap(i=>i.debugGetUpdatingObservers()??[]).map(i=>i.observer),o=new Set;for(;n.length>0;){let i=n.shift();if(o.has(i))continue;o.add(i);let s=this._getInfo(i,a=>{o.has(a)||n.push(a)});s&&t.push(s)}return{names:e.map(i=>i.getDebugName()??"tx"),affected:t}}_getObservableInfo(t){let e=this._instanceInfos.get(t);if(!e){st(new It("No info found"));return}return e}_getAutorunInfo(t){let e=this._instanceInfos.get(t);if(!e){st(new It("No info found"));return}return e}_getInfo(t,e){if(t instanceof Qn){let n=[...t.debugGetObservers()];for(let l of n)e(l);let o=this._getObservableInfo(t);if(!o)return;let i=t.debugGetState(),s={name:t.debugName,instanceId:o.instanceId,updateCount:i.updateCount},a=[...o.changedObservables].map(l=>this._instanceInfos.get(l)?.instanceId).filter(Zr);if(i.isComputing)return{...s,type:"observable/derived",state:"updating",changedDependencies:a,initialComputation:!1};switch(i.state){case 0:return{...s,type:"observable/derived",state:"noValue"};case 3:return{...s,type:"observable/derived",state:"upToDate"};case 2:return{...s,type:"observable/derived",state:"stale",changedDependencies:a};case 1:return{...s,type:"observable/derived",state:"possiblyStale"}}}else if(t instanceof pa){let n=this._getAutorunInfo(t);if(!n)return;let o={name:t.debugName,instanceId:n.instanceId,updateCount:n.updateCount},i=[...n.changedObservables].map(s=>this._instanceInfos.get(s).instanceId);if(t.debugGetState().isRunning)return{...o,type:"autorun",state:"updating",changedDependencies:i};switch(t.debugGetState().state){case 3:return{...o,type:"autorun",state:"upToDate"};case 2:return{...o,type:"autorun",state:"stale",changedDependencies:i};case 1:return{...o,type:"autorun",state:"possiblyStale"}}}}_formatObservable(t){let e=this._getObservableInfo(t);if(e)return{name:t.debugName,instanceId:e.instanceId}}_formatObserver(t){if(t instanceof Qn)return{name:t.toString(),instanceId:this._getObservableInfo(t)?.instanceId};let e=this._getAutorunInfo(t);if(e)return{name:t.toString(),instanceId:e.instanceId}}_handleChange(t){_D(this._fullState,t),this._pendingChanges===null?this._pendingChanges=t:DD(this._pendingChanges,t),this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId(t,e){if(!e)return-1;let n=this._declarations.get(e.id);return n===void 0&&(n={id:this._declarationId++,type:t,url:e.fileName,line:e.line,column:e.column},this._declarations.set(e.id,n),this._handleChange({decls:{[n.id]:n}})),n.id}handleObservableCreated(t,e){let o={declarationId:this._getDeclarationId("observable/value",e),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set(t,o)}handleOnListenerCountChanged(t,e){let n=this._getObservableInfo(t);if(n){if(n.listenerCount===0&&e>0){let o=t instanceof Qn?"observable/derived":"observable/value";this._aliveInstances.set(n.instanceId,t),this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,formattedValue:n.lastValue,type:o,name:t.debugName}}})}else n.listenerCount>0&&e===0&&(this._handleChange({instances:{[n.instanceId]:null}}),this._aliveInstances.delete(n.instanceId));n.listenerCount=e}}handleObservableUpdated(t,e){if(t instanceof Qn){this._handleDerivedRecomputed(t,e);return}let n=this._getObservableInfo(t);n&&e.didChange&&(n.lastValue=Gr(e.newValue,30),n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:n.lastValue}}}))}handleAutorunCreated(t,e){let o={declarationId:this._getDeclarationId("autorun",e),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};this._instanceInfos.set(t,o),this._aliveInstances.set(o.instanceId,t),o&&this._handleChange({instances:{[o.instanceId]:{instanceId:o.instanceId,declarationId:o.declarationId,runCount:0,type:"autorun",name:t.debugName}}})}handleAutorunDisposed(t){let e=this._getAutorunInfo(t);e&&(this._handleChange({instances:{[e.instanceId]:null}}),this._instanceInfos.delete(t),this._aliveInstances.delete(e.instanceId))}handleAutorunDependencyChanged(t,e,n){let o=this._getAutorunInfo(t);o&&o.changedObservables.add(e)}handleAutorunStarted(t){}handleAutorunFinished(t){let e=this._getAutorunInfo(t);e&&(e.changedObservables.clear(),e.updateCount++,this._handleChange({instances:{[e.instanceId]:{runCount:e.updateCount}}}))}handleDerivedDependencyChanged(t,e,n){let o=this._getObservableInfo(t);o&&o.changedObservables.add(e)}_handleDerivedRecomputed(t,e){let n=this._getObservableInfo(t);if(!n)return;let o=Gr(e.newValue,30);n.updateCount++,n.changedObservables.clear(),n.lastValue=o,n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:o,recomputationCount:n.updateCount}}})}handleDerivedCleared(t){let e=this._getObservableInfo(t);e&&(e.lastValue=void 0,e.changedObservables.clear(),e.listenerCount>0&&this._handleChange({instances:{[e.instanceId]:{formattedValue:void 0}}}))}handleBeginTransaction(t){this._activeTransactions.add(t)}handleEndTransaction(t){this._activeTransactions.delete(t)}}});function IW(r,t){let e=t?.debugNamePostProcessor??(i=>i),n=jc.from(r,e);if(!n)return"";let o=new Set;return t.type==="observers"?SW(n,0,o,t).trim():bW(n,0,o,t).trim()}function bW(r,t,e,n){let o=" ".repeat(t),i=[];if(e.has(r.sourceObj))return i.push(`${o}* ${r.type} ${r.name} (already listed)`),i.join(`
`);if(e.add(r.sourceObj),i.push(`${o}* ${r.type} ${r.name}:`),i.push(`${o} value: ${Gr(r.value,50)}`),i.push(`${o} state: ${r.state}`),r.dependencies.length>0){i.push(`${o} dependencies:`);for(let a of r.dependencies){let l=jc.from(a,n.debugNamePostProcessor??(c=>c))??jc.unknown(a);i.push(bW(l,t+1,e,n))}}return i.join(`
`)}function SW(r,t,e,n){let o=" ".repeat(t),i=[];if(e.has(r.sourceObj))return i.push(`${o}* ${r.type} ${r.name} (already listed)`),i.join(`
`);if(e.add(r.sourceObj),i.push(`${o}* ${r.type} ${r.name}:`),i.push(`${o} value: ${Gr(r.value,50)}`),i.push(`${o} state: ${r.state}`),r.observers.length>0){i.push(`${o} observers:`);for(let a of r.observers){let l=jc.from(a,n.debugNamePostProcessor??(c=>c))??jc.unknown(a);i.push(SW(l,t+1,e,n))}}return i.join(`
`)}var jc,xW=y(()=>{Mp();Dl();ua();yx();Ex();jc=class r{constructor(t,e,n,o,i,s,a){this.sourceObj=t;this.name=e;this.type=n;this.value=o;this.state=i;this.dependencies=s;this.observers=a}static from(t,e){if(t instanceof pa){let n=t.debugGetState();return new r(t,e(t.debugName),"autorun",void 0,n.stateStr,Array.from(n.dependencies),[])}else if(t instanceof Qn){let n=t.debugGetState();return new r(t,e(t.debugName),"derived",n.value,n.stateStr,Array.from(n.dependencies),Array.from(t.debugGetObservers()))}else if(t instanceof vs){let n=t.debugGetState();return new r(t,e(t.debugName),"observableValue",n.value,"upToDate",[],Array.from(t.debugGetObservers()))}else if(t instanceof di){let n=t.debugGetState();return new r(t,e(t.debugName),"fromEvent",n.value,n.hasValue?"upToDate":"initial",[],Array.from(t.debugGetObservers()))}}static unknown(t){return new r(t,"(unknown)","unknown",void 0,"unknown",[],[])}}});var PQ,EW=y(()=>{vx();Kc();ua();Ix();tW();nW();TD();iW();sW();wD();Dl();aW();da();lW();cW();dW();Dl();ua();uW();pW();zr();hs();Ex();yW();cr();Hi();xW();ZH(IW);GH(mW);PQ=!1;PQ&&vh(new Sh);zt&&zt.VSCODE_DEV_DEBUG_OBSERVABLES&&vh(Rx.getInstance())});var ma=y(()=>{EW()});function kQ(r){return!!r&&typeof r=="object"&&"uri"in r&&r.uri instanceof S&&"version"in r&&typeof r.version=="number"&&"ranges"in r&&Array.isArray(r.ranges)&&r.ranges.every(Pn.isIRange)}function wW(r){return!!r&&typeof r=="object"&&"documents"in r&&Array.isArray(r.documents)&&r.documents.every(kQ)}function TW(r){return!!r&&typeof r=="object"&&"command"in r&&"language"in r}var XVe,Re,DQ,RW,Up=y(()=>{re();ob();K();ma();me();we();oe();sa();Z();XVe=tf.NumberFormat(pn,{maximumFractionDigits:1});(f=>{let r;(O=>(O[O.Streaming=0]="Streaming",O[O.WaitingForConfirmation=1]="WaitingForConfirmation",O[O.Executing=2]="Executing",O[O.WaitingForPostApproval=3]="WaitingForPostApproval",O[O.Completed=4]="Completed",O[O.Cancelled=5]="Cancelled",O[O.WaitingForAuthentication=6]="WaitingForAuthentication"))(r=f.StateKind||={});function t(h,v){if(h.kind==="toolInvocationSerialized")return h.isConfirmed===void 0||typeof h.isConfirmed=="boolean"?{type:h.isConfirmed?4:0}:h.isConfirmed;let I=h.state.read(v);if(!(I.type===0||I.type===1))return I.type===5?{type:I.reason,...I.source!==void 0?{source:I.source}:{}}:I.confirmed}f.executionConfirmedOrDenied=t;function e(h,v){let I=t(h);if(I)return Promise.resolve(I);let E=new ie;return new Promise(w=>{v&&E.add(v.onCancellationRequested(()=>{w({type:0})})),E.add(Er(P=>{let k=t(h,P);k&&(E.dispose(),w(k))}))}).finally(()=>{E.dispose()})}f.awaitConfirmation=e;function n(h,v){let I=h.state.read(v);if(I.type===4)return I.postConfirmed||{type:1};if(I.type===5)return{type:I.reason,...I.source!==void 0?{source:I.source}:{}}}function o(h,v){let I=h?.state.get();return I?.type===1||I?.type===3?(I.confirm(v),!0):!1}f.confirmWith=o;function i(h,v){let I=n(h);if(I)return Promise.resolve(I);let E=new ie;return new Promise(w=>{v&&E.add(v.onCancellationRequested(()=>{w({type:0})})),E.add(Er(P=>{let k=n(h,P);k&&(E.dispose(),w(k))}))}).finally(()=>{E.dispose()})}f.awaitPostConfirmation=i;function s(h,v){if(h.kind==="toolInvocationSerialized")return h.resultDetails;let I=h.state.read(v);if(I.type===4||I.type===3)return I.resultDetails}f.resultDetails=s;function a(h,v){if(h.kind==="toolInvocationSerialized")return h.resultError;let I=h.state.read(v);return I.type===4||I.type===3?I.resultError:void 0}f.resultError=a;function l(h,v){if(h.kind==="toolInvocationSerialized")return!0;let I=h.state.read(v);return I.type===4||I.type===5}f.isComplete=l;function c(h,v){return!!(h.presentation==="hidden"||h.presentation==="hiddenAfterComplete"&&l(h,v))}f.isEffectivelyHidden=c;function u(h,v){return h.kind==="toolInvocationSerialized"?!1:h.state.read(v).type===0}f.isStreaming=u;function p(h,v){if(h.kind==="toolInvocationSerialized")return;let I=h.state.read(v);if(I.type!==0)return I.parameters}f.getParameters=p;function m(h,v){if(h.kind==="toolInvocationSerialized")return;let I=h.state.read(v);if(I.type!==0)return I.confirmationMessages}f.getConfirmationMessages=m})(Re||={});(o=>{function r(i){return i.kind==="sent"}o.isSent=r;function t(i){return i.kind==="rejected"}o.isRejected=t;function e(i){return i.kind==="queued"}o.isQueued=e;function n(i){if(i.kind!=="sent")throw new Error(`Expected ChatSendResult to be 'sent', but was '${i.kind}'`)}o.assertSent=n})(DQ||={});RW=D("IChatService")});var o4e,r4e,i4e,s4e,PW,MD,a4e,l4e,c4e,d4e,_Q,u4e,AD=y(()=>{me();re();fo();o4e=new x("isMac",gt,d(3397,null)),r4e=new x("isLinux",$e,d(3396,null)),i4e=new x("isWindows",te,d(3401,null)),s4e=new x("isChromeOS",_v,d(3394,null)),PW=new x("isWeb",yn,d(3400,null)),MD=new x("isMacNative",gt&&!yn,d(3398,null)),a4e=new x("isIOS",G1,d(3395,null)),l4e=new x("isMobile",K1,d(3399,null)),c4e=new x("isDevelopment",!1,!0),d4e=new x("productQualityType","",d(3402,null)),_Q="inputFocus",u4e=new x(_Q,!1,d(3393,null))});var LD,kW=y(()=>{Z();LD=D("languageService")});var OD,DW=y(()=>{Z();OD=D("modelService")});var _W=y(()=>{Ae();me();oe()});var F4e,H4e,W4e,V4e,B4e,q4e,MW,$4e,z4e,AW,G4e,K4e,j4e,Q4e,J4e,Y4e,X4e,Z4e,e5e,LW,MQ,t5e,n5e,o5e,r5e,i5e,s5e,a5e,l5e,c5e,d5e,u5e,p5e,m5e,g5e,f5e,h5e,v5e,y5e,I5e,b5e,S5e,x5e,C5e,E5e,w5e,AQ,T5e,R5e,P5e,k5e,D5e,_5e,M5e,A5e,L5e,O5e,N5e,U5e,F5e,H5e,W5e,V5e,B5e,q5e,$5e,z5e,G5e,K5e,j5e,Q5e,J5e,Y5e,X5e,Z5e,eBe,tBe,nBe,oBe,rBe,iBe,sBe,aBe,lBe,cBe,dBe,uBe,pBe,mBe,er,Px,ND=y(()=>{K();re();fo();AD();bt();kW();nt();DW();Ae();_W();ph();F4e=new x("workbenchState",void 0,{type:"string",description:d(6126,null)}),H4e=new x("workspaceFolderCount",0,d(6127,null)),W4e=new x("openFolderWorkspaceSupport",!0,!0),V4e=new x("enterMultiRootWorkspaceSupport",!0,!0),B4e=new x("emptyWorkspaceSupport",!0,!0),q4e=new x("dirtyWorkingCopies",!1,d(6066,null)),MW=new x("remoteName","",d(6103,null)),$4e=new x("virtualWorkspace","",d(6125,null)),z4e=new x("temporaryWorkspace",!1,d(6119,null)),AW=new x("isSessionsWindow",!1,d(6089,null)),G4e=new x("hasWebFileSystemAccess",!1,!0),K4e=new x("embedderIdentifier",void 0,d(6078,null)),j4e=new x("inAutomation",!1,d(6081,null)),Q4e=new x("isEnabledFileDownloads",!0,!0),J4e=new x("isEnabledFileUploads",!0,!0),Y4e=new x("isEnabledCoderGettingStarted",!0,!0),X4e=new x("isFullscreen",!1,d(6087,null)),Z4e=new x("isAuxiliaryWindowFocusedContext",!1,d(6084,null)),e5e=new x("isWindowAlwaysOnTop",!1,d(6091,null)),LW=new x("isAuxiliaryWindow",!1,d(6083,null)),MQ=Je.or(MD,Je.and(Je.notEquals("config.window.menuBarVisibility","hidden"),Je.notEquals("config.window.menuBarVisibility","toggle"),Je.notEquals("config.window.menuBarVisibility","compact"))),t5e=Je.and(MD.negate(),MQ),n5e=new x("activeEditorIsDirty",!1,d(6054,null)),o5e=new x("activeEditorIsNotPreview",!1,d(6057,null)),r5e=new x("activeEditorIsFirstInGroup",!1,d(6055,null)),i5e=new x("activeEditorIsLastInGroup",!1,d(6056,null)),s5e=new x("activeEditorIsPinned",!1,d(6058,null)),a5e=new x("activeEditorIsReadonly",!1,d(6059,null)),l5e=new x("activeCompareEditorCanSwap",!1,d(6042,null)),c5e=new x("activeEditorCanToggleReadonly",!0,d(6049,null)),d5e=new x("activeEditorCanRevert",!1,d(6048,null)),u5e=new x("activeEditorCanSplitInGroup",!0),p5e=new x("activeEditorCannotClose",!1,d(6047,null)),m5e=new x("activeEditor",null,{type:"string",description:d(6045,null)}),g5e=new x("activeEditorAvailableEditorIds","",d(6046,null)),f5e=new x("textCompareEditorVisible",!1,d(6121,null)),h5e=new x("textCompareEditorActive",!1,d(6120,null)),v5e=new x("sideBySideEditorActive",!1,d(6116,null)),y5e=new x("activeCustomEditorDiffCanToggleLayout",!1,d(6043,null)),I5e=new x("activeCustomEditorTextDiff",!1,d(6044,null)),b5e=new x("groupEditorsCount",0,d(6080,null)),S5e=new x("isTopRightEditorGroup",!1,d(6090,null)),x5e=new x("activeEditorGroupEmpty",!1,d(6050,null)),C5e=new x("activeEditorGroupIndex",0,d(6051,null)),E5e=new x("activeEditorGroupLast",!1,d(6052,null)),w5e=new x("activeEditorGroupLocked",!1,d(6053,null)),AQ=new x("multipleEditorGroups",!1,d(6093,null)),T5e=AQ.toNegated(),R5e=new x("multipleEditorsSelectedInGroup",!1,d(6094,null)),P5e=new x("twoEditorsSelectedInGroup",!1,d(6124,null)),k5e=new x("SelectedEditorsInGroupFileOrUntitledResourceContextKey",!0,d(6113,null)),D5e=new x("editorPartMultipleEditorGroups",!1,d(6076,null)),_5e=new x("editorPartMaximizedEditorGroup",!1,d(6069,null)),M5e=new x("editorPartModal",!1,d(6070,null)),A5e=new x("editorPartModalVisible",!1,d(6075,null)),L5e=new x("editorPartModalMaximized",!1,d(6071,null)),O5e=new x("editorPartModalNavigation",!1,d(6072,null)),N5e=new x("editorPartModalSidebar",!1,d(6073,null)),U5e=new x("editorPartModalSidebarVisible",!1,d(6074,null)),F5e=new x("editorIsOpen",!1,d(6068,null)),H5e=new x("editorAreaFocus",!1,d(6067,null)),W5e=new x("inZenMode",!1,d(6082,null)),V5e=new x("isCenteredLayout",!1,d(6088,null)),B5e=new x("splitEditorsVertically",!1,d(6117,null)),q5e=new x("mainEditorAreaVisible",!0,d(6092,null)),$5e=new x("editorTabsVisible",!0,d(6077,null)),z5e=new x("sideBarVisible",!1,d(6115,null)),G5e=new x("sideBarFocus",!1,d(6114,null)),K5e=new x("activeViewlet","",d(6061,null)),j5e=new x("statusBarFocused",!1,d(6118,null)),Q5e=new x("titleBarStyle","custom",d(6122,null)),J5e=new x("titleBarVisible",!1,d(6123,null)),Y5e=new x("isCompactTitleBar",!1,d(6085,null)),X5e=new x("bannerFocused",!1,d(6065,null)),Z5e=new x("notificationFocus",!0,d(6096,null)),eBe=new x("notificationCenterVisible",!1,d(6095,null)),tBe=new x("notificationToastsVisible",!1,d(6097,null)),nBe=new x("activeAuxiliary","",d(6041,null)),oBe=new x("auxiliaryBarFocus",!1,d(6062,null)),rBe=new x("auxiliaryBarVisible",!1,d(6064,null)),iBe=new x("secondarySideBarVisible",!1,d(6112,null)),sBe=new x("auxiliaryBarMaximized",!1,d(6063,null)),aBe=new x("activePanel","",d(6060,null)),lBe=new x("panelFocus",!1,d(6099,null)),cBe=new x("panelPosition","bottom",d(6101,null)),dBe=new x("panelAlignment","center",d(6098,null)),uBe=new x("panelVisible",!1,d(6102,null)),pBe=new x("panelMaximized",!1,d(6100,null)),mBe=new x("focusedView","",d(6079,null)),er=class{constructor(t,e,n,o){this._contextKeyService=t;this._fileService=e;this._languageService=n;this._modelService=o;this._schemeKey=er.Scheme.bindTo(this._contextKeyService),this._filenameKey=er.Filename.bindTo(this._contextKeyService),this._dirnameKey=er.Dirname.bindTo(this._contextKeyService),this._pathKey=er.Path.bindTo(this._contextKeyService),this._langIdKey=er.LangId.bindTo(this._contextKeyService),this._resourceKey=er.Resource.bindTo(this._contextKeyService),this._extensionKey=er.Extension.bindTo(this._contextKeyService),this._hasResource=er.HasResource.bindTo(this._contextKeyService),this._isFileSystemResource=er.IsFileSystemResource.bindTo(this._contextKeyService)}static{this.Scheme=new x("resourceScheme",void 0,{type:"string",description:d(6110,null)})}static{this.Filename=new x("resourceFilename",void 0,{type:"string",description:d(6107,null)})}static{this.Dirname=new x("resourceDirname",void 0,{type:"string",description:d(6105,null)})}static{this.Path=new x("resourcePath",void 0,{type:"string",description:d(6109,null)})}static{this.LangId=new x("resourceLangId",void 0,{type:"string",description:d(6108,null)})}static{this.Resource=new x("resource",void 0,{type:"URI",description:d(6104,null)})}static{this.Extension=new x("resourceExtname",void 0,{type:"string",description:d(6106,null)})}static{this.HasResource=new x("resourceSet",void 0,{type:"boolean",description:d(6111,null)})}static{this.IsFileSystemResource=new x("isFileSystemResource",void 0,{type:"boolean",description:d(6086,null)})}_setLangId(){let t=this.get();if(!t){this._langIdKey.set(null);return}let e=this._modelService.getModel(t)?.getLanguageId()??this._languageService.guessLanguageIdByFilepathOrFirstLine(t);this._langIdKey.set(e)}set(t){t=t??void 0,!mo(this._value,t)&&(this._value=t,this._contextKeyService.bufferChangeEvents(()=>{this._resourceKey.set(t?t.toString():null),this._schemeKey.set(t?t.scheme:null),this._filenameKey.set(t?An(t):null),this._dirnameKey.set(t?this.uriToPath(jm(t)):null),this._pathKey.set(t?this.uriToPath(t):null),this._setLangId(),this._extensionKey.set(t?Km(t):null),this._hasResource.set(!!t),this._isFileSystemResource.set(t?this._fileService.hasProvider(t):!1)}))}uriToPath(t){return t.scheme===B.file?t.fsPath:t.path}reset(){this._value=void 0,this._contextKeyService.bufferChangeEvents(()=>{this._resourceKey.reset(),this._schemeKey.reset(),this._filenameKey.reset(),this._dirnameKey.reset(),this._pathKey.reset(),this._langIdKey.reset(),this._extensionKey.reset(),this._hasResource.reset(),this._isFileSystemResource.reset()})}get(){return this._value}};er=C([b(0,Yi),b(1,Oe),b(2,LD),b(3,OD)],er);Px=class extends er{constructor(e,n,o,i){super(e,n,o,i);this._disposables=new ie;this._disposables.add(n.onDidChangeFileSystemProviderRegistrations(()=>{let s=this.get();this._isFileSystemResource.set(!!(s&&n.hasProvider(s)))})),this._disposables.add(i.onModelAdded(s=>{mo(s.uri,this.get())&&this._setLangId()})),this._disposables.add(i.onModelLanguageChanged(s=>{mo(s.model.uri,this.get())&&this._setLangId()}))}dispose(){this._disposables.dispose()}};Px=C([b(0,Yi),b(1,Oe),b(2,LD),b(3,OD)],Px)});var kx,LQ,OW,Dx=y(()=>{kx="chat.disableAIFeatures",LQ={"**/.mcp.json":!1,"**/.npmrc":!1,"**/.vscode/*.json":!1,"**/.github/agents/**":!1,"**/.github/hooks/**":!1,"**/.claude/agents/**":!1,"**/.claude/settings.json":!1,"**/.claude/settings.local.json":!1,"**/.codex/agents/**":!1,"**/.codex/config.toml":!1,"**/.codex/hooks.json":!1},OW={"**/*":!0,"**/.git/**":!1,"**/{package.json,server.xml,build.rs,web.config,.gitattributes,.env,Cargo.toml}":!1,"**/{.npmrc,.yarnrc,.yarnrc.yml,.pnpmfile.js,.pnpmfile.cjs,.pnpmfile.mjs,pnpm-workspace.yaml}":!1,"**/*.{code-workspace,csproj,fsproj,vbproj,vcxproj,proj,targets,props,gradle,gradle.kts}":!1,"**/gradle.properties":!1,"**/ruby_lsp/*/addon":!1,"**/*.lock":!1,"**/*-lock.{yaml,json}":!1,...LQ}});var NW,SBe,UW=y(()=>{bt();os();re();Z();NW=D("dialogService"),SBe=D("fileDialogService")});var FW,RBe,HW=y(()=>{jt();Tt();Z();FW=D("IAuthenticationService"),RBe=D("IAuthenticationExtensionsService")});var _x,UD=y(()=>{Z();_x=D("openerService")});var Fp,Mx=y(()=>{Z();Tn();Fp=_t});var WW,VW=y(()=>{Z();WW=D("lifecycleService")});function BW(r){return r.state==="pending"||r.state==="blocked"}var FD=y(()=>{});var Ax,HD=y(()=>{Z();FD();Ax=D("defaultAccountService")});function OQ(r){let t=r?.includes("Visual-Studio-Code"),e=r?.includes("github"),n=r?.includes("microsoft")||r?.includes("ms-copilot")||r?.includes("MicrosoftCopilot");return t?"vscode":e?"github":n?"microsoft":void 0}function qW(r,t){return r===!0||OQ(t)!==void 0}var BBe,$W=y(()=>{me();BBe=3600*1e3});function UQ(r){return r===10||r===6||r===7||r===11||r===8||r===9}function WD(r,t,e){return!(r.getValue(zW)!==!0||t!==1||e.hidden||e.disabledInWorkspace)}function GW(r,t,e){e.publicLog2("chatEntitlements",{chatHidden:!!r.hidden,chatDisabled:!!r.disabled,chatEntitlement:r.entitlement,chatRegistered:!!r.registered,chatAnonymous:WD(t,r.entitlement,r)})}function xh(r,t){let e={...r,...t};for(let n of Object.keys(t))t[n]===void 0&&r?.[n]!==void 0&&(e[n]=r[n]);return e}function FQ(r){let t={resetDate:r.quota_reset_date_utc??r.quota_reset_date??r.limited_user_reset_date,resetDateHasTime:typeof r.quota_reset_date_utc=="string",usageBasedBilling:r.token_based_billing,canUpgradePlan:r.can_upgrade_plan};if(r.monthly_quotas?.chat&&typeof r.limited_user_quotas?.chat=="number"&&(t.chat={percentRemaining:Math.min(100,Math.max(0,r.limited_user_quotas.chat/r.monthly_quotas.chat*100)),unlimited:!1}),r.monthly_quotas?.completions&&typeof r.limited_user_quotas?.completions=="number"&&(t.completions={percentRemaining:Math.min(100,Math.max(0,r.limited_user_quotas.completions/r.monthly_quotas.completions*100)),unlimited:!1}),r.quota_snapshots){for(let n of["chat","completions","premium_interactions"]){let o=r.quota_snapshots[n];if(!o)continue;let i=o.entitlement!==void 0?Number(o.entitlement):void 0,s=o.credits_used!==void 0?Number(o.credits_used):void 0;if(!o.unlimited&&i===0)continue;let a=o.quota_remaining!==void 0?Number(o.quota_remaining):void 0,l={percentRemaining:Math.min(100,Math.max(0,o.percent_remaining)),unlimited:o.unlimited,hasQuota:o.has_quota,usageBasedBilling:r.token_based_billing,resetAt:o.quota_reset_at||void 0,entitlement:i!==void 0&&Number.isFinite(i)&&i>=0?i:void 0,quotaRemaining:a!==void 0&&Number.isFinite(a)&&a>=0?a:void 0,creditsUsed:s!==void 0&&Number.isFinite(s)&&s>=0?s:void 0};switch(n){case"chat":t.chat=l;break;case"completions":t.completions=l;break;case"premium_interactions":t.premiumChat=l;break}}let e=r.quota_snapshots.premium_interactions;t.additionalUsageEnabled=e?.overage_permitted??!1,t.additionalUsageCount=e?.overage_count??0,t.additionalUsageEntitlement=e?.overage_entitlement??0}return t}var pe,NQ,Lx,zW,ga,Ch,Wi,VD=y(()=>{xi();Ne();Zt();de();ji();K();re();tn();Dx();fo();UW();Z();De();On();Ti();Ri();Rn();HW();UD();oe();os();Mx();me();VW();_c();ma();HD();$W();(a=>(a.Setup={hidden:new x("chatSetupHidden",!1,!0),installed:new x("chatSetupInstalled",!1,!0),disabled:new x("chatSetupDisabled",!1,!0),disabledInWorkspace:new x("chatSetupDisabledInWorkspace",!1,!0),untrusted:new x("chatSetupUntrusted",!1,!0),later:new x("chatSetupLater",!1,!0),registered:new x("chatSetupRegistered",!1,!0),completed:new x("chatSetupCompleted",!1,!0)},a.Entitlement={signedOut:new x("chatEntitlementSignedOut",!1,!0),canSignUp:new x("chatPlanCanSignUp",!1,!0),planFree:new x("chatPlanFree",!1,!0),planPro:new x("chatPlanPro",!1,!0),planEdu:new x("chatPlanEdu",!1,!0),planProPlus:new x("chatPlanProPlus",!1,!0),planMax:new x("chatPlanMax",!1,!0),planBusiness:new x("chatPlanBusiness",!1,!0),planEnterprise:new x("chatPlanEnterprise",!1,!0),organisations:new x("chatEntitlementOrganisations",void 0,!0),internal:new x("chatEntitlementInternal",!1,!0),sku:new x("chatEntitlementSku",void 0,!0)},a.chatQuotaExceeded=new x("chatQuotaExceeded",!1,!0),a.completionsQuotaExceeded=new x("completionsQuotaExceeded",!1,!0),a.chatAnonymous=new x("chatAnonymous",!1,!0),a.clientByokEnabled=new x("github.copilot.clientByokEnabled",!0,!0),a.hasByokModels=new x("github.copilot.hasByokModels",!1,!0)))(pe||={});NQ=D("chatEntitlementService");Lx={upgradePlanUrl:je.defaultChatAgent?.upgradePlanUrl??"",providerUriSetting:je.defaultChatAgent?.providerUriSetting??"",entitlementSignupLimitedUrl:je.defaultChatAgent?.entitlementSignupLimitedUrl??"",chatQuotaExceededContext:je.defaultChatAgent?.chatQuotaExceededContext??"",completionsQuotaExceededContext:je.defaultChatAgent?.completionsQuotaExceededContext??""},zW="chat.allowAnonymousAccess";ga=class extends _{constructor(e,n,o,i,s,a,l,c){super();this.contextKeyService=i;this.configurationService=s;this.telemetryService=a;this.logService=l;this.storageService=c;this._onDidChangeQuotaExceeded=this._register(new T);this.onDidChangeQuotaExceeded=this._onDidChangeQuotaExceeded.event;this._onDidChangeQuotaRemaining=this._register(new T);this.onDidChangeQuotaRemaining=this._onDidChangeQuotaRemaining.event;this._onDidChangeUsageBasedBilling=this._register(new T);this.onDidChangeUsageBasedBilling=this._onDidChangeUsageBasedBilling.event;this.ExtensionQuotaContextKeys={chatQuotaExceeded:Lx.chatQuotaExceededContext,completionsQuotaExceeded:Lx.completionsQuotaExceededContext};this._onDidChangeAnonymous=this._register(new T);this.onDidChangeAnonymous=this._onDidChangeAnonymous.event;this.anonymousObs=ui(this.onDidChangeAnonymous,()=>this.anonymous);let u=this.storageService.getBoolean(ga.CACHED_UBB_STORAGE_KEY,0);if(this._quotas=u!==void 0?{usageBasedBilling:u}:{},this.chatQuotaExceededContextKey=pe.chatQuotaExceeded.bindTo(this.contextKeyService),this.completionsQuotaExceededContextKey=pe.completionsQuotaExceeded.bindTo(this.contextKeyService),this.anonymousContextKey=pe.chatAnonymous.bindTo(this.contextKeyService),this.anonymousContextKey.set(this.anonymous),this.contextKeyService.getContextKeyValue(pe.clientByokEnabled.key)===void 0&&pe.clientByokEnabled.bindTo(this.contextKeyService),this.onDidChangeEntitlement=V.map(V.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([pe.Entitlement.planEdu.key,pe.Entitlement.planPro.key,pe.Entitlement.planBusiness.key,pe.Entitlement.planEnterprise.key,pe.Entitlement.planProPlus.key,pe.Entitlement.planMax.key,pe.Entitlement.planFree.key,pe.Entitlement.canSignUp.key,pe.Entitlement.signedOut.key,pe.Entitlement.organisations.key,pe.Entitlement.internal.key,pe.Entitlement.sku.key])),this._store),()=>{},this._store),this.entitlementObs=ui(this.onDidChangeEntitlement,()=>this.entitlement),this.onDidChangeSentiment=V.map(V.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([pe.Setup.completed.key,pe.Setup.hidden.key,pe.Setup.disabled.key,pe.Setup.untrusted.key,pe.Setup.installed.key,pe.Setup.later.key,pe.Setup.registered.key])),this._store),()=>{},this._store),this.sentimentObs=ui(this.onDidChangeSentiment,()=>this.sentiment),yn&&!o.remoteAuthority&&!o.isSessionsWindow){pe.Setup.hidden.bindTo(this.contextKeyService).set(!0);return}if(!n.defaultChatAgent)return;let p=this.context=new Kt(()=>this._register(e.createInstance(Wi)));this.requests=new Kt(()=>this._register(e.createInstance(Ch,p.value,{clearQuotas:()=>this.clearQuotas(),acceptQuotas:m=>this.acceptQuotas(m)}))),this.registerListeners()}static{this.CACHED_UBB_STORAGE_KEY="chat.usageBasedBilling"}get entitlement(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.planEdu.key)===!0?10:this.contextKeyService.getContextKeyValue(pe.Entitlement.planPro.key)===!0?6:this.contextKeyService.getContextKeyValue(pe.Entitlement.planBusiness.key)===!0?8:this.contextKeyService.getContextKeyValue(pe.Entitlement.planEnterprise.key)===!0?9:this.contextKeyService.getContextKeyValue(pe.Entitlement.planProPlus.key)===!0?7:this.contextKeyService.getContextKeyValue(pe.Entitlement.planMax.key)===!0?11:this.contextKeyService.getContextKeyValue(pe.Entitlement.planFree.key)===!0?5:this.contextKeyService.getContextKeyValue(pe.Entitlement.canSignUp.key)===!0?3:this.contextKeyService.getContextKeyValue(pe.Entitlement.signedOut.key)===!0?1:2}get isInternal(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.internal.key)===!0}get organisations(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.organisations.key)}get sku(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.sku.key)}get copilotTrackingId(){return this.context?.value.state.copilotTrackingId}get clientByokEnabled(){return this.contextKeyService.getContextKeyValue("github.copilot.clientByokEnabled")===!0}get hasByokModels(){return this.contextKeyService.getContextKeyValue("github.copilot.hasByokModels")===!0}get quotas(){return this._quotas}registerListeners(){let e=new Set([this.ExtensionQuotaContextKeys.chatQuotaExceeded,this.ExtensionQuotaContextKeys.completionsQuotaExceeded]),n=this._register(new $n);this._register(this.contextKeyService.onDidChangeContext(s=>{s.affectsSome(e)&&(n.value&&n.value.cancel(),n.value=new wt,this.update(n.value.token))}));let o=this.anonymous,i=()=>{let s=this.anonymous;s!==o&&(o=s,this.anonymousContextKey.set(s),this.context?.hasValue&&GW(this.context.value.state,this.configurationService,this.telemetryService),this._onDidChangeAnonymous.fire())};this._register(this.configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration(zW)&&i()})),this._register(this.onDidChangeEntitlement(()=>i())),this._register(this.onDidChangeSentiment(()=>i()))}acceptQuotas(e){let n=this._quotas,o=this.quotaCopilotTrackingId===this.copilotTrackingId?n:{},i={...e,chat:e.chat?xh(o.chat,e.chat):void 0,completions:e.completions?xh(o.completions,e.completions):void 0,premiumChat:e.premiumChat?xh(o.premiumChat,e.premiumChat):void 0,sessionRateLimit:e.sessionRateLimit?xh(o.sessionRateLimit,e.sessionRateLimit):void 0,weeklyRateLimit:e.weeklyRateLimit?xh(o.weeklyRateLimit,e.weeklyRateLimit):void 0};this.quotaCopilotTrackingId=this.copilotTrackingId,this._quotas=i,this.updateContextKeys(),n.usageBasedBilling!==i.usageBasedBilling&&(i.usageBasedBilling!==void 0?this.storageService.store(ga.CACHED_UBB_STORAGE_KEY,i.usageBasedBilling,0,1):this.storageService.remove(ga.CACHED_UBB_STORAGE_KEY,0)),this.logService.getLevel()===1&&this.logService.trace(`[chat entitlement]: acceptQuotas: ${JSON.stringify(i)}`);let{changed:s}=this.compareQuotas(n.chat,i.chat),{changed:a}=this.compareQuotas(n.completions,i.completions),{changed:l}=this.compareQuotas(n.premiumChat,i.premiumChat);(s.exceeded||a.exceeded||l.exceeded)&&this._onDidChangeQuotaExceeded.fire();let c=n.sessionRateLimit?.percentRemaining!==i.sessionRateLimit?.percentRemaining,u=n.weeklyRateLimit?.percentRemaining!==i.weeklyRateLimit?.percentRemaining;(s.remaining||a.remaining||l.remaining||c||u||n.usageBasedBilling!==i.usageBasedBilling)&&this._onDidChangeQuotaRemaining.fire(),n.usageBasedBilling!==i.usageBasedBilling&&this._onDidChangeUsageBasedBilling.fire(),n.additionalUsageEnabled!==void 0&&i.additionalUsageEnabled!==void 0&&n.additionalUsageEnabled!==i.additionalUsageEnabled&&this.telemetryService.publicLog2("chatAdditionalSpendConfiguration",{enabled:i.additionalUsageEnabled??!1,entitlement:this.entitlement}),i.additionalUsageEnabled&&i.premiumChat?.percentRemaining===0&&n.premiumChat?.percentRemaining!==void 0&&n.premiumChat.percentRemaining>0&&this.telemetryService.publicLog2("chatAdditionalSpendActive",{entitlement:this.entitlement,additionalUsageCount:i.additionalUsageCount??0})}compareQuotas(e,n){return{changed:{exceeded:e?.percentRemaining===0!=(n?.percentRemaining===0),remaining:e?.percentRemaining!==n?.percentRemaining||e?.usageBasedBilling!==n?.usageBasedBilling||e?.creditsUsed!==n?.creditsUsed}}}clearQuotas(){this.acceptQuotas({})}updateContextKeys(){let e=this._quotas.chat?.percentRemaining===0,n=this._quotas.premiumChat?.unlimited?this._quotas.premiumChat.hasQuota===!1:this._quotas.premiumChat?.percentRemaining===0,o=this._quotas.additionalUsageEnabled??!1,i=this.entitlement===8||this.entitlement===9;this.chatQuotaExceededContextKey.set(e||n&&(i||!o)),this.completionsQuotaExceededContextKey.set(this._quotas.completions?.percentRemaining===0)}get sentiment(){return{completed:this.contextKeyService.getContextKeyValue(pe.Setup.completed.key)===!0,installed:this.contextKeyService.getContextKeyValue(pe.Setup.installed.key)===!0,hidden:this.contextKeyService.getContextKeyValue(pe.Setup.hidden.key)===!0,disabledInWorkspace:this.contextKeyService.getContextKeyValue(pe.Setup.disabledInWorkspace.key)===!0,disabled:this.contextKeyService.getContextKeyValue(pe.Setup.disabled.key)===!0,untrusted:this.contextKeyService.getContextKeyValue(pe.Setup.untrusted.key)===!0,later:this.contextKeyService.getContextKeyValue(pe.Setup.later.key)===!0,registered:this.contextKeyService.getContextKeyValue(pe.Setup.registered.key)===!0}}get anonymous(){return WD(this.configurationService,this.entitlement,this.sentiment)}markAnonymousRateLimited(){this.anonymous&&(this.chatQuotaExceededContextKey.set(!0),this._onDidChangeQuotaExceeded.fire())}markSetupCompleted(){this.context?.value.update({completed:!0})}setForceHidden(e){this.context?this.context.value.setForceHidden(e):pe.Setup.hidden.bindTo(this.contextKeyService).set(e)}async update(e){await this.requests?.value.forceResolveEntitlement(e)}};ga=C([b(0,Ln),b(1,He),b(2,Fp),b(3,Yi),b(4,ft),b(5,Pt),b(6,z),b(7,si)],ga);Ch=class extends _{constructor(e,n,o,i,s,a,l,c,u,p){super();this.context=e;this.chatQuotasAccessor=n;this.telemetryService=o;this.logService=i;this.requestService=s;this.dialogService=a;this.openerService=l;this.lifecycleService=c;this.defaultAccountService=u;this.authenticationService=p;this.pendingResolveCts=new wt;this.state={entitlement:this.context.state.entitlement},this.registerListeners(),this.resolve()}registerListeners(){this._register(this.defaultAccountService.onDidChangeDefaultAccount(()=>this.resolve())),this._register(this.context.onDidChange(()=>{(this.context.state.disabled||this.context.state.entitlement===1)&&(this.state={entitlement:this.state.entitlement,quotas:void 0},this.chatQuotasAccessor.clearQuotas())}))}async resolve(){this.pendingResolveCts.dispose(!0);let e=this.pendingResolveCts=new wt,n=await this.defaultAccountService.getDefaultAccount();if(e.token.isCancellationRequested)return;let o;n?this.state.entitlement===1&&(o={entitlement:2}):o={entitlement:1},o&&this.update(o),n&&await this.resolveEntitlement(n,e.token)}async resolveEntitlement(e,n){let o=await this.doResolveEntitlement(e,n);return typeof o?.entitlement=="number"&&!n.isCancellationRequested&&this.update(o),o}async doResolveEntitlement(e,n){if(n.isCancellationRequested)return;let o=e.entitlementsData;if(!o)return this.logService.trace("[chat entitlement]: no entitlements data available on default account"),{entitlement:o===null?1:2};let i;o.access_type_sku==="free_limited_copilot"?i=5:o.access_type_sku==="free_educational_quota"?i=10:o.can_signup_for_limited?i=3:o.copilot_plan==="individual_edu"?i=10:o.copilot_plan==="individual"?i=6:o.copilot_plan==="individual_pro"?i=7:o.copilot_plan==="individual_max"?i=11:o.copilot_plan==="business"?i=8:o.copilot_plan==="enterprise"?i=9:i=4;let s={entitlement:i,organisations:o.organization_login_list,isStaff:o.is_staff,quotas:this.toQuotas(o),sku:o.access_type_sku,copilotTrackingId:o.analytics_tracking_id};return this.logService.trace(`[chat entitlement]: resolved to ${s.entitlement}, quotas: ${JSON.stringify(s.quotas)}`),this.telemetryService.publicLog2("chatInstallEntitlement",{entitlement:s.entitlement,tid:o.analytics_tracking_id,sku:s.sku,quotaChatUnlimited:s.quotas?.chat?.unlimited,quotaChatHasQuota:s.quotas?.chat?.hasQuota,quotaChatEntitlement:s.quotas?.chat?.entitlement,quotaPremiumChat:s.quotas?.premiumChat?.percentRemaining,quotaPremiumChatUnlimited:s.quotas?.premiumChat?.unlimited,quotaPremiumChatHasQuota:s.quotas?.premiumChat?.hasQuota,quotaPremiumChatEntitlement:s.quotas?.premiumChat?.entitlement,quotaCompletions:s.quotas?.completions?.percentRemaining,quotaCompletionsUnlimited:s.quotas?.completions?.unlimited,quotaCompletionsHasQuota:s.quotas?.completions?.hasQuota,quotaCompletionsEntitlement:s.quotas?.completions?.entitlement,quotaResetDate:s.quotas?.resetDate,usageBasedBilling:s.quotas?.usageBasedBilling,additionalUsageEnabled:s.quotas?.additionalUsageEnabled,additionalUsageCount:s.quotas?.additionalUsageCount,canUpgradePlan:s.quotas?.canUpgradePlan}),s}toQuotas(e){return FQ(e)}async request(e,n,o,i,s,a){let l;for(let c of i){if(s.isCancellationRequested)return l;try{let u=await this.requestService.request({type:n,url:e,data:n==="POST"?JSON.stringify(o):void 0,disableCache:!0,headers:{Authorization:`Bearer ${c.accessToken}`},callSite:a},s),p=u.res.statusCode;if(p&&p!==200){l=u;continue}return u}catch(u){s.isCancellationRequested||this.logService.error(`[chat entitlement] request: error ${u}`)}}return l}update(e){this.state=e,this.context.update({entitlement:this.state.entitlement,organisations:this.state.organisations,isStaff:this.state.isStaff,sku:this.state.sku,copilotTrackingId:this.state.copilotTrackingId}),e.quotas&&this.chatQuotasAccessor.acceptQuotas(e.quotas)}async forceResolveEntitlement(e=Pe.None){let n=await this.defaultAccountService.refresh({refreshEntitlements:!0});if(n)return this.resolveEntitlement(n,e)}async signUpFree(){let e=await this.getSessions();if(e.length!==0)return this.doSignUpFree(e)}async doSignUpFree(e){let n={restricted_telemetry:this.telemetryService.telemetryLevel===0?"disabled":"enabled",public_code_suggestions:"enabled"},o=await this.request(Lx.entitlementSignupLimitedUrl,"POST",n,e,Pe.None,"chatEntitlementService.signUpFree");if(!o)return await this.onUnknownSignUpError(d(21965,null),"[chat entitlement] sign-up: no response")?this.doSignUpFree(e):{errorCode:1};if(o.res.statusCode&&o.res.statusCode!==200){if(o.res.statusCode===422)try{let l=await Zd(o);if(l){let c=JSON.parse(l);if(typeof c.message=="string"&&c.message)return this.onUnprocessableSignUpError(`[chat entitlement] sign-up: unprocessable entity (${c.message})`,c.message),{errorCode:o.res.statusCode}}}catch{}return await this.onUnknownSignUpError(d(21966,null,o.res.statusCode),`[chat entitlement] sign-up: unexpected status code ${o.res.statusCode}`)?this.doSignUpFree(e):{errorCode:o.res.statusCode}}let i=null;try{i=await Zd(o)}catch{}if(!i)return await this.onUnknownSignUpError(d(21964,null),"[chat entitlement] sign-up: response has no content")?this.doSignUpFree(e):{errorCode:2};let s;try{s=JSON.parse(i),this.logService.trace(`[chat entitlement] sign-up: response is ${i}`)}catch(a){return await this.onUnknownSignUpError(d(21963,null),`[chat entitlement] sign-up: error parsing response (${a})`)?this.doSignUpFree(e):{errorCode:3}}return this.update({entitlement:5}),!!s?.subscribed}async getSessions(){let e=await this.defaultAccountService.getDefaultAccount();if(e){let o=(await this.authenticationService.getSessions(e.authenticationProvider.id)).filter(i=>i.id===e.sessionId);if(o.length)return o}return[...await this.authenticationService.getSessions(this.defaultAccountService.getDefaultAccountAuthenticationProvider().id)]}async onUnknownSignUpError(e,n){if(this.logService.error(n),!this.lifecycleService.willShutdown){let{confirmed:o}=await this.dialogService.confirm({type:qe.Error,message:d(21967,null),detail:e,primaryButton:d(21962,null)});return o}return!1}onUnprocessableSignUpError(e,n){this.logService.error(e),this.lifecycleService.willShutdown||this.dialogService.prompt({type:qe.Error,message:d(21968,null),detail:n,buttons:[{label:d(21954,null),run:()=>{}},{label:d(21953,null),run:()=>this.openerService.open(S.parse(Lx.upgradePlanUrl))}]})}async signIn(e){let n=await this.defaultAccountService.signIn({additionalScopes:e?.additionalScopes,extraAuthorizeParameters:{get_started_with:"copilot-vscode"},provider:e?.useSocialProvider});if(!n)return{};let o=await this.doResolveEntitlement(n,Pe.None);return{defaultAccount:n,entitlements:o}}dispose(){this.pendingResolveCts.dispose(!0),super.dispose()}};Ch=C([b(2,Pt),b(3,z),b(4,oo),b(5,NW),b(6,_x),b(7,WW),b(8,Ax),b(9,FW)],Ch);Wi=class extends _{constructor(e,n,o,i,s){super();this.storageService=n;this.logService=o;this.configurationService=i;this.telemetryService=s;this.suspendedState=void 0;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this.updateBarrier=void 0;this._forceHidden=!1;this.canSignUpContextKey=pe.Entitlement.canSignUp.bindTo(e),this.signedOutContextKey=pe.Entitlement.signedOut.bindTo(e),this.freeContextKey=pe.Entitlement.planFree.bindTo(e),this.eduContextKey=pe.Entitlement.planEdu.bindTo(e),this.proContextKey=pe.Entitlement.planPro.bindTo(e),this.proPlusContextKey=pe.Entitlement.planProPlus.bindTo(e),this.maxContextKey=pe.Entitlement.planMax.bindTo(e),this.businessContextKey=pe.Entitlement.planBusiness.bindTo(e),this.enterpriseContextKey=pe.Entitlement.planEnterprise.bindTo(e),this.organisationsContextKey=pe.Entitlement.organisations.bindTo(e),this.isInternalContextKey=pe.Entitlement.internal.bindTo(e),this.skuContextKey=pe.Entitlement.sku.bindTo(e),this.completedContext=pe.Setup.completed.bindTo(e),this.hiddenContext=pe.Setup.hidden.bindTo(e),this.disabledInWorkspaceContext=pe.Setup.disabledInWorkspace.bindTo(e),this.laterContext=pe.Setup.later.bindTo(e),this.installedContext=pe.Setup.installed.bindTo(e),this.disabledContext=pe.Setup.disabled.bindTo(e),this.untrustedContext=pe.Setup.untrusted.bindTo(e),this.registeredContext=pe.Setup.registered.bindTo(e),this._state=this.storageService.getObject(Wi.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,0)??{entitlement:1,organisations:void 0,isStaff:void 0,sku:void 0,copilotTrackingId:void 0},this.storageService.getBoolean(Wi.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,0)===!0||(this.storageService.store(Wi.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,!0,0,1),this._state.installed&&!this._state.completed&&(this._state.completed=!0,this.storageService.store(Wi.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,this._state,0,1))),this.updateContextSync(),this.registerListeners()}static{this.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY="chat.setupContext"}static{this.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY="chat.setupContext.migrated.v1"}get state(){return this.withConfiguration(this.suspendedState??this._state)}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(kx)&&this.updateContext()}))}withConfiguration(e){return this._forceHidden||this.configurationService.getValue(kx)===!0?{...e,hidden:!0}:e}setForceHidden(e){this._forceHidden!==e&&(this._forceHidden=e,this.updateContext())}async update(e){this.logService.trace(`[chat entitlement context] update(): ${JSON.stringify(e)}`);let n=JSON.stringify(this._state);if(typeof e.installed=="boolean"&&typeof e.disabled=="boolean"&&typeof e.untrusted=="boolean"&&(this._state.installed=e.installed,this._state.disabled=e.disabled,this._state.untrusted=e.untrusted,this._state.disabledInWorkspace=e.disabledInWorkspace,e.installed&&!e.disabled&&(e.hidden=!1)),typeof e.hidden=="boolean"&&(this._state.hidden=e.hidden),typeof e.later=="boolean"&&(this._state.later=e.later),typeof e.completed=="boolean"&&(this._state.completed=e.completed),typeof e.entitlement=="number"&&(this._state.entitlement=e.entitlement,this._state.organisations=e.organisations,this._state.isStaff=e.isStaff,this._state.sku=e.sku,this._state.copilotTrackingId=e.copilotTrackingId,this._state.entitlement===5||UQ(this._state.entitlement)?this._state.registered=!0:this._state.entitlement===3&&(this._state.registered=!1)),WD(this.configurationService,this._state.entitlement,this._state)&&(this._state.sku="no_auth_limited_copilot"),n!==JSON.stringify(this._state))return this.storageService.store(Wi.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,{...this._state,later:void 0},0,1),this.updateContext()}async updateContext(){await this.updateBarrier?.wait(),this.updateContextSync()}updateContextSync(){let e=this.withConfiguration(this._state);this.signedOutContextKey.set(e.entitlement===1),this.canSignUpContextKey.set(e.entitlement===3),this.freeContextKey.set(e.entitlement===5),this.eduContextKey.set(e.entitlement===10),this.proContextKey.set(e.entitlement===6),this.proPlusContextKey.set(e.entitlement===7),this.maxContextKey.set(e.entitlement===11),this.businessContextKey.set(e.entitlement===8),this.enterpriseContextKey.set(e.entitlement===9),this.organisationsContextKey.set(e.organisations),this.isInternalContextKey.set(qW(e.isStaff,e.organisations)),this.skuContextKey.set(e.sku),this.completedContext.set(!!e.completed),this.hiddenContext.set(!!e.hidden),this.disabledInWorkspaceContext.set(!!e.disabledInWorkspace),this.laterContext.set(!!e.later),this.installedContext.set(!!e.installed),this.disabledContext.set(!!e.disabled),this.untrustedContext.set(!!e.untrusted),this.registeredContext.set(!!e.registered),this.logService.trace(`[chat entitlement context] updateContext(): ${JSON.stringify(e)}`),GW(e,this.configurationService,this.telemetryService),this._onDidChange.fire()}suspend(){this.suspendedState={...this._state},this.updateBarrier=new Mr}resume(){this.suspendedState=void 0,this.updateBarrier?.open(),this.updateBarrier=void 0}};Wi=C([b(0,Yi),b(1,si),b(2,z),b(3,ft),b(4,Pt)],Wi);li(NQ,ga,0)});var KW=y(()=>{});function JW(r){return r!==void 0&&Object.keys(r).length>0}function zQ(r){return r===jW||r.startsWith(`${jW}.`)}function _l(r){let t=QW.get(r);return t||(t=e=>e.managedSettings?.[r],QW.set(r,t)),t}function GQ(r){return r.managedSettingsActive===!0?!1:void 0}function JD(r){return r.chat_preview_features_enabled===!1?!1:GQ(r)}function sV(r){let t={};for(let e in r){let n=r[e].managedSettings;if(n)for(let o in n)t[o]=n[o]}return t}function aV(r){for(let t in r){let e=r[t].managedSettings;if(e&&!Ea(e))return!0}return!1}function lV(r,t,e){let n={};for(let o in t){let i=r[o];i!==void 0&&(typeof i===t[o].type?n[o]=i:e?.(`Ignoring managed setting "${o}": expected ${t[o].type}, got ${typeof i}`))}return n}function cV(r,t,e){let n={nativeMdm:r,server:t,file:e},o=new Map,i=new Map,s;for(let c of Ox){let u=n[c];if(u)for(let p of Object.keys(u)){let m=u[p];if(m===void 0)continue;let f=o.get(p);if(zQ(p)&&(s??=c,c!==s&&!f)){let h=i.get(p)??[];h.push({channel:c,value:m}),i.set(p,h);continue}f?(f.contributions.push({channel:c,value:m}),((p===YW||p===XW||p===ZW)&&m===!0&&f.value!==!0||(p===nV||p===oV||p===rV||p===iV||p===eV||p===tV)&&m===!1&&f.value!==!1)&&(f.value=m,f.source=c)):o.set(p,{value:m,source:c,contributions:[{channel:c,value:m}]})}}let a=new Set,l=[];for(let[c,u]of o)l.push([c,u.value]),a.add(u.source);return{values:Object.fromEntries(l),suppressedTelemetry:i,resolutions:o,activeSources:Ox.filter(c=>a.has(c))}}var HQ,YW,XW,ZW,eV,tV,nV,oV,rV,WQ,VQ,BQ,qQ,iV,$Q,_7e,BD,qD,Eh,Qc,$D,zD,GD,KD,jD,QD,jW,QW,M7e,A7e,Ox,L7e,Nx=y(()=>{de();KW();we();Z();HQ="forceRemoteSettingsRefresh",YW="sandbox.enabled",XW="sandbox.sandboxMcpServers",ZW="sandbox.sandboxLspServers",eV="sandbox.auth.git",tV="sandbox.auth.gh",nV="sandbox.allowBypass",oV="sandbox.userPolicy.network.allowOutbound",rV="sandbox.userPolicy.network.allowLocalNetwork",WQ="sandbox.userPolicy.network.allowedHosts",VQ="sandbox.userPolicy.filesystem.readwritePaths",BQ="sandbox.userPolicy.filesystem.readonlyPaths",qQ="sandbox.userPolicy.filesystem.deniedPaths",iV="sandbox.allowDevToolAccess",$Q="autoTier",_7e={[HQ]:{type:"boolean"},[YW]:{type:"boolean"},[XW]:{type:"boolean"},[ZW]:{type:"boolean"},[eV]:{type:"boolean"},[tV]:{type:"boolean"},[nV]:{type:"boolean"},[oV]:{type:"boolean"},[rV]:{type:"boolean"},[WQ]:{type:"string"},[VQ]:{type:"string"},[BQ]:{type:"string"},[qQ]:{type:"string"},[iV]:{type:"boolean"},[$Q]:{type:"string"},"telemetry.capture.prompts":{type:"boolean"},"telemetry.capture.responses":{type:"boolean"},"telemetry.capture.toolArguments":{type:"boolean"},"telemetry.capture.toolOutput":{type:"boolean"},"telemetry.capture.policyDetail":{type:"boolean"}},BD="chat.mcp.allowManagedServersOnly",qD="telemetry.enabled",Eh="telemetry.endpoint",Qc="telemetry.protocol",$D="telemetry.captureContent",zD="telemetry.capture.identity",GD="telemetry.lockCaptureContent",KD="telemetry.serviceName",jD="telemetry.resourceAttributes",QD="telemetry.headers",jW="telemetry";QW=new Map;M7e=D("managedSettingsService");A7e=D("nativeManagedSettingsService");Ox=["nativeMdm","server","file"];L7e=D("fileManagedSettingsService")});function uV(r){switch(r){case"nativeMdm":return"nativeMdm";case"server":return"serverManagedSettings";case"file":return"fileManagedSettings"}}function KQ(r){let t=r;if(typeof t=="string")try{t=JSON.parse(t)}catch{}return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):[]}var dV,pV,o9e,Ux,mV=y(()=>{de();jt();re();fo();Z();De();Nx();FD();Qd();HD();dV="ChatApprovedAccountOrganizations",pV=new x("chatAccountPolicyGateActive",!1,{type:"boolean",description:d(22465,null)}),o9e=D("accountPolicyGateService"),Ux=class extends Wy{constructor(e,n,o,i,s){super();this.logService=e;this.defaultAccountService=n;this._gateInfo={state:"inactive"};this._onDidChangeGateInfo=this._register(new T);this.onDidChangeGateInfo=this._onDidChangeGateInfo.event;this._managedSettings={};this._onDidChangeManagedSettings=this._register(new T);this.onDidChangeManagedSettings=this._onDidChangeManagedSettings.event;this.managedPolicyReader=o,this.nativeManagedSettingsService=i,this.fileManagedSettingsService=s,this._updatePolicyDefinitions(this.policyDefinitions),this._register(this.defaultAccountService.onDidChangePolicyData(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this._register(this.defaultAccountService.onDidChangeDefaultAccount(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this._register(this.defaultAccountService.onDidChangeManagedSettingsFreshness(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.managedPolicyReader&&this._register(this.managedPolicyReader.onDidChange(a=>{a.includes(dV)&&this._updatePolicyDefinitions(this.policyDefinitions)})),this.nativeManagedSettingsService&&this._register(this.nativeManagedSettingsService.onDidChangeManagedSettings(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.fileManagedSettingsService&&this._register(this.fileManagedSettingsService.onDidChangeRawManagedSettings(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.initialization=this.initialize(),this.initialization.catch(a=>this.logService.error("AccountPolicyService: Failed to initialize account policy",a))}get gateInfo(){return this._gateInfo}getManagedSettingValue(e){return this._managedSettings[e]}whenInitialized(){return this.initialization}async initialize(){await this.defaultAccountService.getDefaultAccount(),await this._updatePolicyDefinitions(this.policyDefinitions)}async _updatePolicyDefinitions(e){this.logService.trace(`AccountPolicyService#_updatePolicyDefinitions: Got ${Object.keys(e).length} policy definitions`);let n=await this.updateCopilotManagedSettingDefinitions(e),o=[],i=this.getPolicyData(n),s=this._gateInfo;this._gateInfo=this.computeGateInfo();let a=!ct(s,this._gateInfo),l=this._gateInfo.state==="restricted"&&this._gateInfo.reason!=="policyNotResolved";for(let c in e){let u=this.resolvePolicyValue(e[c],i,l);this.updatePolicyValue(c,u?.value,u?.source)&&o.push(c)}o.length&&this._onDidChange.fire(o),a&&this._onDidChangeGateInfo.fire(this._gateInfo)}resolvePolicyValue(e,n,o){if(o&&(e.value!==void 0||e.restrictedValue!==void 0))return{value:pO(e),source:"accountGate"};let i=e.value;if(!n||!i)return;let{policyData:s,managedSettingResolutions:a,activeManagedSettingsSources:l}=n,c=i(s);if(c===void 0)return;let u="account";if(e.managedSettings){let p=s.managedSettings??{},m=Object.keys(e.managedSettings).filter(f=>Object.hasOwn(p,f));if(m.length>0){let f=v=>({...s,managedSettings:Object.fromEntries(Object.entries(p).filter(([I])=>!v.has(I)))}),h=new Set(m);if(i(f(h))!==c){let v=new Set;for(let w of m){let P=a.get(w)?.source;P&&v.add(P)}let I=new Set;for(let w of v){let P=new Set(m.filter(k=>a.get(k)?.source===w));i(f(P))!==c&&I.add(w)}let E=I.size>0?I:v;u=E.size===1?uV(Array.from(E)[0]):"mixedManagedSettings"}}}return u==="account"&&s.managedSettingsActive===!0&&i({...s,managedSettingsActive:!1})!==c&&l.length>0&&(u=l.length===1?uV(l[0]):"mixedManagedSettings"),{value:c,source:u}}async updateCopilotManagedSettingDefinitions(e){return!this.nativeManagedSettingsService||!aV(e)?this.nativeManagedSettingsService?.managedSettings:this.nativeManagedSettingsService.updatePolicyDefinitions(e)}getPolicyData(e){let n=this.defaultAccountService.policyData??void 0,o=e??this.nativeManagedSettingsService?.managedSettings,i=this.fileManagedSettingsService?.managedSettings,s=cV(o,n?.managedSettings,i),a=new Set(s.activeSources);n?.managedSettingsActive===!0&&a.add("server"),JW(this.fileManagedSettingsService?.rawManagedSettings)&&a.add("file");let l=Ox.filter(p=>a.has(p));if(ct(this._managedSettings,s.values)||(this._managedSettings=s.values,this._onDidChangeManagedSettings.fire()),!n&&l.length===0)return;let c=sV(this.policyDefinitions),u=lV(s.values,c,p=>this.logService.warn(`[AccountPolicy] ${p}`));return{policyData:{...n,managedSettings:u,managedSettingsActive:l.length>0},managedSettingResolutions:s.resolutions,activeManagedSettingsSources:l}}computeGateInfo(){let e=this.defaultAccountService.managedSettingsFreshness;if(BW(e))return{state:"restricted",reason:"managedSettingsRefresh",managedSettingsFreshness:e};if(!this.managedPolicyReader)return{state:"inactive"};let n=this.managedPolicyReader.getPolicyValue(dV),o=KQ(n);if(o.length===0)return{state:"inactive"};let i=this.defaultAccountService.currentDefaultAccount;if(!i)return{state:"restricted",reason:"noAccount",approvedOrganizations:o};let s=this.defaultAccountService.getDefaultAccountAuthenticationProvider();return i.authenticationProvider.id!==s.id?{state:"restricted",reason:"wrongProvider",approvedOrganizations:o}:!o.includes("*")&&!(i.entitlementsData?.organization_login_list??[]).map(c=>c.toLowerCase()).some(c=>o.includes(c))?{state:"restricted",reason:"orgNotApproved",approvedOrganizations:o}:this.defaultAccountService.policyData===null?{state:"restricted",reason:"policyNotResolved",approvedOrganizations:o}:{state:"satisfied",approvedOrganizations:o}}};Ux=C([b(0,z),b(1,Ax)],Ux)});var gV=y(()=>{Ae()});var fV=y(()=>{Ri()});var v9e,jQ,y9e,QQ,JQ,hV=y(()=>{Pg();re();Or();fo();Z();Vo();v9e=new x("agentHostEnabled",!1,{type:"boolean",description:d(1899,null)}),jQ="chat.editor.agentHost.existingSessionHarnessPicker.enabled",y9e=new x("agentHostExistingSessionHarnessPickerEnabled",!1,{type:"boolean",description:d(1900,null)}),QQ=D("agentHostEnablementService"),JQ=ht.as(Kn.Configuration);JQ.registerConfiguration({id:"chatAgentHost",title:d(1906,null),type:"object",properties:{"chat.editor.preferCopilotHarness":{type:"boolean",description:d(1904,null),default:!1,tags:["experimental"],experiment:{mode:"startup"},policy:{name:"ChatEditorPreferCopilotHarness",category:"InteractiveSession",minimumVersion:"1.134",localization:{description:{key:"chat.editor.preferCopilotHarness.policy",value:d(1905,null)}}}},"chat.defaultToCopilotHarness":{type:"boolean",description:d(1901,null),default:!1,tags:["experimental"],experiment:{mode:"startup"}},"chat.editor.localAgent.enabled":{type:"boolean",description:d(1903,null),default:!0,tags:["experimental"],experiment:{mode:"startup"}},[jQ]:{type:"boolean",description:d(1902,null),default:!1,included:!1,tags:["experimental"]}}})});var YD,H9e,Hp,W9e,V9e,B9e,q9e,$9e,wh=y(()=>{Ae();px();tn();Ri();$s();gV();fo();VD();ND();mh();fV();hV();Dx();YD=(o=>(o.Default="default",o.Assisted="assisted",o.AutoApprove="autoApprove",o.Autopilot="autopilot",o))(YD||{}),H9e=new Set(Object.values(YD)),Hp=(o=>(o.Chat="panel",o.Terminal="terminal",o.Notebook="notebook",o.EditorInline="editor",o))(Hp||{});(t=>{function r(e){switch(e){case"panel":return"panel";case"terminal":return"terminal";case"notebook":return"notebook";case"editor":return"editor"}return"panel"}t.fromRaw=r})(Hp||={});W9e=new Set([B.vscodeChatEditor,B.vscodeChatResponseResource,B.walkThrough,B.vscodeLocalChatSession,B.vscodeSettings,B.webviewPanel,B.vscodeUserData,B.extension,"ccreq","openai-codex"]),V9e=[B.vscodeChatInput,B.sessionsChatInput],B9e=Je.and(pe.Setup.hidden.negate(),pe.Setup.disabledInWorkspace.negate(),AW.negate(),Je.has("config.chat.agent.enabled"),LW.negate()),q9e=new x("inModelsEditor",!1),$9e=new x("inModelsSearch",!1)});var Kr,YQ,XD=y(()=>{re();fo();AD();ND();VD();mV();wh();($=>{$.responseVote=new x("chatSessionResponseVote","",{type:"string",description:d(12491,null)}),$.responseDetectedAgentCommand=new x("chatSessionResponseDetectedAgentOrCommand",!1,{type:"boolean",description:d(12459,null)}),$.responseSupportsIssueReporting=new x("chatResponseSupportsIssueReporting",!1,{type:"boolean",description:d(12450,null)}),$.responseIsFiltered=new x("chatSessionResponseFiltered",!1,{type:"boolean",description:d(12448,null)}),$.responseHasError=new x("chatSessionResponseError",!1,{type:"boolean",description:d(12446,null)}),$.responseHasFeedbackSurvey=new x("chatSessionResponseHasFeedbackSurvey",!1,{type:"boolean",description:d(12449,null)}),$.responseFeedbackSurveyOpen=new x("chatSessionResponseFeedbackSurveyOpen",!1,{type:"boolean",description:d(12447,null)}),$.requestInProgress=new x("chatSessionRequestInProgress",!1,{type:"boolean",description:d(12490,null)}),$.transcriptProgressActive=new x("chatTranscriptProgressActive",!1,{type:"boolean",description:d(12469,null)}),$.hasActiveRequest=new x("chatSessionHasActiveRequest",!1,{type:"boolean",description:d(12451,null)}),$.currentlyEditing=new x("chatSessionCurrentlyEditing",!1,{type:"boolean",description:d(12488,null)}),$.currentlyEditingInput=new x("chatSessionCurrentlyEditingInput",!1,{type:"boolean",description:d(12489,null)});let m;(TE=>(TE.Sent="s",TE.Queue="q",TE.Steer="st"))(m=$.EditingRequestType||={}),$.editingRequestType=new x("chatEditingSentRequest",void 0,{type:"string",description:d(12410,null)}),$.isResponse=new x("chatResponse",!1,{type:"boolean",description:d(12445,null)}),$.isRequest=new x("chatRequest",!1,{type:"boolean",description:d(12443,null)}),$.contextMenuIsBackground=new x("chatContextMenuIsBackground",!1,{type:"boolean",description:d(12402,null)}),$.contextMenuHasLink=new x("chatContextMenuHasLink",!1,{type:"boolean",description:d(12401,null)}),$.contextMenuHasAvailableEditors=new x("chatContextMenuHasAvailableEditors",!1,{type:"boolean",description:d(12400,null)}),$.isFirstRequest=new x("chatFirstRequest",!1,{type:"boolean",description:d(12416,null)}),$.isPendingRequest=new x("chatRequestIsPending",!1,{type:"boolean",description:d(12444,null)}),$.itemId=new x("chatItemId","",{type:"string",description:d(12430,null)}),$.lastItemId=new x("chatLastItemId",[],{type:"string",description:d(12431,null)}),$.editApplied=new x("chatEditApplied",!1,{type:"boolean",description:d(12404,null)}),$.inputHasText=new x("chatInputHasText",!1,{type:"boolean",description:d(12487,null)}),$.inputHasSendableContent=new x("chatInputHasSendableContent",!1,{type:"boolean",description:d(12486,null)}),$.inputHasFocus=new x("chatInputHasFocus",!1,{type:"boolean",description:d(12485,null)}),$.inChatInput=new x("inChatInput",!1,{type:"boolean",description:d(12483,null)}),$.inChatSession=new x("inChat",!1,{type:"boolean",description:d(12475,null)}),$.inChatQuestionCarousel=new x("inChatQuestionCarousel",!1,{type:"boolean",description:d(12479,null)}),$.chatQuestionCarouselHasTerminal=new x("chatQuestionCarouselHasTerminal",!1,{type:"boolean",description:d(12441,null)}),$.inChatEditor=new x("inChatEditor",!1,{type:"boolean",description:d(12478,null)}),$.findSupported=new x("chatFindSupported",!1,{type:"boolean",description:d(12413,null)}),$.findWidgetVisible=new x("chatFindWidgetVisible",!1,{type:"boolean",description:d(12415,null)}),$.findInputFocused=new x("chatFindInputFocused",!1,{type:"boolean",description:d(12412,null)}),$.findWidgetFocused=new x("chatFindWidgetFocused",!1,{type:"boolean",description:d(12414,null)}),$.inChatTodoList=new x("inChatTodoList",!1,{type:"boolean",description:d(12482,null)}),$.inChatTip=new x("inChatTip",!1,{type:"boolean",description:d(12481,null)}),$.inChatComposer=new x("inChatComposer",!1,{type:"boolean",description:d(12477,null)}),$.multipleChatTips=new x("multipleChatTips",!1,{type:"boolean",description:d(12494,null)}),$.inChatTerminalToolOutput=new x("inChatTerminalToolOutput",!1,{type:"boolean",description:d(12480,null)}),$.inChatBackgroundShellOutput=new x("inChatBackgroundShellOutput",!1,{type:"boolean",description:d(12476,null)}),$.chatModeKind=new x("chatAgentKind","ask",{type:"string",description:d(12381,null)}),$.chatPermissionLevel=new x("chatPermissionLevel","default",{type:"string",description:d(12440,null)}),$.chatModeName=new x("chatModeName","",{type:"string",description:d(12434,null)}),$.chatModelId=new x("chatModelId","",{type:"string",description:d(12432,null)}),$.speechToTextRecording=new x("chatSpeechToTextRecording",!1,{type:"boolean",description:d(12467,null)}),$.speechToTextConfigured=new x("chatSpeechToTextConfigured",!1,{type:"boolean",description:d(12465,null)}),$.speechToTextPreparing=new x("chatSpeechToTextPreparing",!1,{type:"boolean",description:d(12466,null)}),$.speechToTextUsesMai=new x("chatSpeechToTextUsesMai",!1,{type:"boolean",description:d(12468,null)}),$.supported=Je.or(PW.negate(),MW.notEqualsTo(""),Je.has("config.chat.experimental.serverlessWebEnabled")),$.enabled=new x("chatIsEnabled",!1,{type:"boolean",description:d(12427,null)}),$.accountPolicyGateActive=pV,$.lockedToCodingAgent=new x("lockedToCodingAgent",!1,{type:"boolean",description:d(12493,null)}),$.lockedCodingAgentId=new x("lockedCodingAgentId","",{type:"string",description:d(12492,null)}),$.inputBlocked=new x("chatInputBlocked",!1,{type:"boolean",description:d(12425,null)}),$.readOnly=new x("chatIsReadonly",!1,{type:"boolean",description:d(12429,null)}),$.chatIsAgentHostSession=new x("chatIsAgentHostSession",!1,{type:"boolean",description:d(12426,null)}),$.chatAgentHostProviderId=new x("chatAgentHostProviderId","",{type:"string",description:d(12398,null)}),$.chatAgentHostHasImmutablePrimaryWorkingDirectory=new x("chatAgentHostHasImmutablePrimaryWorkingDirectory",!1,{type:"boolean",description:d(12397,null)}),$.chatAgentHostFolderPickerVisible=new x("chatAgentHostFolderPickerVisible",!1,{type:"boolean",description:d(12396,null)}),$.chatSessionHasCustomAgentTarget=new x("chatSessionHasCustomAgentTarget",!1,{type:"boolean",description:d(12452,null)}),$.chatSessionHasTargetedModels=new x("chatSessionHasTargetedModels",!1,{type:"boolean",description:d(12456,null)}),$.agentSupportsAttachments=new x("agentSupportsAttachments",!1,{type:"boolean",description:d(12395,null)}),$.withinEditSessionDiff=new x("withinEditSessionDiff",!1,{type:"boolean",description:d(12496,null)}),$.filePartOfEditSession=new x("filePartOfEditSession",!1,{type:"boolean",description:d(12471,null)}),$.extensionParticipantRegistered=new x("chatPanelExtensionParticipantRegistered",!1,{type:"boolean",description:d(12437,null)}),$.panelParticipantRegistered=new x("chatPanelParticipantRegistered",!1,{type:"boolean",description:d(12439,null)}),$.chatEditingCanUndo=new x("chatEditingCanUndo",!1,{type:"boolean",description:d(12406,null)}),$.chatEditingCanRedo=new x("chatEditingCanRedo",!1,{type:"boolean",description:d(12405,null)}),$.languageModelsAreUserSelectable=new x("chatModelsAreUserSelectable",!1,{type:"boolean",description:d(12433,null)}),$.nonCopilotLanguageModelsAreUserSelectable=new x("chatNonCopilotModelsAreUserSelectable",!1,{type:"boolean",description:d(12436,null)}),$.chatSessionHasModels=new x("chatSessionHasModels",!1,{type:"boolean",description:d(12455,null)}),$.chatSessionOptionsValid=new x("chatSessionOptionsValid",!0,{type:"boolean",description:d(12458,null)}),$.extensionInvalid=new x("chatExtensionInvalid",!1,{type:"boolean",description:d(12411,null)}),$.inputCursorAtTop=new x("chatCursorAtTop",!1),$.inputHasAgent=new x("chatInputHasAgent",!1),$.location=new x("chatLocation",void 0),$.inQuickChat=new x("quickChatHasFocus",!1,{type:"boolean",description:d(12484,null)}),$.inAgentSessionsWelcome=new x("inAgentSessionsWelcome",!1,{type:"boolean",description:d(12473,null)}),$.inAutomationsDialog=new x("inAutomationsDialog",!1,{type:"boolean",description:d(12474,null)}),$.chatSessionType=new x("chatSessionType","",{type:"string",description:d(12463,null)}),$.hasFileAttachments=new x("chatHasFileAttachments",!1,{type:"boolean",description:d(12421,null)}),$.chatSessionIsEmpty=new x("chatSessionIsEmpty",!0,{type:"boolean",description:d(12457,null)}),$.hasPendingRequests=new x("chatHasPendingRequests",!1,{type:"boolean",description:d(12423,null)}),$.chatSessionHasDebugData=new x("chatSessionHasDebugData",!1,{type:"boolean",description:d(12453,null)}),$.chatSessionHasDebugTools=new x("chatSessionHasDebugTools",!1,{type:"boolean",description:d(12454,null)}),$.remoteJobCreating=new x("chatRemoteJobCreating",!1,{type:"boolean",description:d(12442,null)}),$.hasRemoteCodingAgent=new x("hasRemoteCodingAgent",!1,d(12472,null)),$.hasCanDelegateProviders=new x("chatHasCanDelegateProviders",!1,{type:"boolean",description:d(12419,null)}),$.enableRemoteCodingAgentPromptFileOverlay=new x("enableRemoteCodingAgentPromptFileOverlay",!1,d(12470,null)),$.skipChatRequestInProgressMessage=new x("chatSkipRequestInProgressMessage",!1,{type:"boolean",description:d(12464,null)}),$.Setup=pe.Setup,$.Entitlement=pe.Entitlement,$.chatQuotaExceeded=pe.chatQuotaExceeded,$.completionsQuotaExceeded=pe.completionsQuotaExceeded,$.Editing={hasToolConfirmation:new x("chatHasToolConfirmation",!1,{type:"boolean",description:d(12409,null)}),hasElicitationRequest:new x("chatHasElicitationRequest",!1,{type:"boolean",description:d(12407,null)}),hasQuestionCarousel:new x("chatHasQuestionCarousel",!1,{type:"boolean",description:d(12408,null)})},$.Tools={toolsCount:new x("toolsCount",0,{type:"number",description:d(12495,null)})},$.foregroundSessionCount=new x("chatForegroundSessionCount",0,{type:"number",description:d(12417,null)}),$.Modes={hasCustomChatModes:new x("chatHasCustomAgents",!1,{type:"boolean",description:d(12418,null)}),agentModeDisabledByPolicy:new x("chatAgentModeDisabledByPolicy",!1,{type:"boolean",description:d(12399,null)})},$.panelLocation=new x("chatPanelLocation",void 0,{type:"number",description:d(12438,null)}),$.agentSessionsViewerFocused=new x("agentSessionsViewerFocused",!0,{type:"boolean",description:d(12390,null)}),$.agentSessionsViewerOrientation=new x("agentSessionsViewerOrientation",void 0,{type:"number",description:d(12391,null)}),$.agentSessionsViewerPosition=new x("agentSessionsViewerPosition",void 0,{type:"number",description:d(12392,null)}),$.agentSessionsViewerVisible=new x("agentSessionsViewerVisible",void 0,{type:"boolean",description:d(12393,null)}),$.hasCreatedSessionInAgentsWindow=new x("chatHasCreatedSessionInAgentsWindow",!1,{type:"boolean",description:d(12420,null)}),$.agentSessionType=new x("chatSessionType","",{type:"string",description:d(12394,null)}),$.isAgentSessionChild=new x("agentSessionIsChild",!1,{type:"boolean",description:d(12385,null)}),$.agentSessionPullRequest=new x("chatSessionPullRequest","",{type:"string",description:d(12388,null)}),$.chatSessionSupportsDelegation=new x("chatSessionSupportsDelegation",!0,{type:"boolean",description:d(12460,null)}),$.hasPendingDelegationTarget=new x("chatHasPendingDelegationTarget",!1,{type:"boolean",description:d(12422,null)}),$.chatSessionSupportsFork=new x("chatSessionSupportsFork",!1,{type:"boolean",description:d(12461,null)}),$.chatSessionSupportsRename=new x("chatSessionSupportsRename",!1,{type:"boolean",description:d(12462,null)}),$.agentSessionSection=new x("agentSessionSection","",{type:"string",description:d(12389,null)}),$.isArchivedAgentSession=new x("agentSessionIsArchived",!1,{type:"boolean",description:d(12384,null)}),$.isPinnedAgentSession=new x("agentSessionIsPinned",!1,{type:"boolean",description:d(12386,null)}),$.isReadAgentSession=new x("agentSessionIsRead",!1,{type:"boolean",description:d(12387,null)}),$.hasMultipleAgentSessionsSelected=new x("agentSessionHasMultipleSelected",!1,{type:"boolean",description:d(12383,null)}),$.hasAgentSessionChanges=new x("agentSessionHasChanges",!1,{type:"boolean",description:d(12382,null)}),$.isKatexMathElement=new x("chatIsKatexMathElement",!1,{type:"boolean",description:d(12428,null)}),$.hasUsedCreateSlashCommands=new x("chatHasUsedCreateSlashCommands",!1,{type:"boolean",description:d(12424,null)}),$.contextUsageHasBeenOpened=new x("chatContextUsageHasBeenOpened",!1,{type:"boolean",description:d(12403,null)}),$.newChatButtonExperimentIcon=new x("chatNewChatButtonExperimentIcon","",{type:"string",description:d(12435,null)})})(Kr||={});(n=>(n.inEditingMode=Je.or(Kr.chatModeKind.isEqualTo("edit"),Kr.chatModeKind.isEqualTo("agent")),n.isAgentHostSession=Kr.chatIsAgentHostSession.isEqualTo(!0),n.isAgentHostSessionItem=Je.or(Je.regex(Kr.agentSessionType.key,/^agent-host-/),Je.regex(Kr.agentSessionType.key,/^remote-/))))(YQ||={})});var yV,IV=y(()=>{re();de();os();Z();yV=D("notificationService")});var ZD,cqe,bV,SV=y(()=>{Z();Ae();ZD=class{constructor(t){this.options=t}getItemLabel(t){return t.label}getItemDescription(t){if(!this.options?.skipDescription)return t.description}getItemPath(t){if(!this.options?.skipPath)return t.resource?.scheme===B.file?t.resource.fsPath:t.resource?.path}},cqe=new ZD,bV=D("quickInputService")});var xV,pqe,CV=y(()=>{Z();xV=D("encryptionService"),pqe=D("encryptionMainService")});function Hx(r){return`${Th}${r}`}async function XQ(r,t,e,n){let o=Hx(r);n?.trace("[secrets] getting secret for key:",o);let i=t(o);if(!i){n?.trace("[secrets] no secret found for key:",o);return}n?.trace("[secrets] decrypting secret for key:",o);let s=await e(i);return n?.trace("[secrets] decrypted secret for key:",o),s}async function ZQ(r,t,e,n,o){o?.trace("[secrets] encrypting secret for key:",r);let i=await n(t),s=Hx(r);o?.trace("[secrets] storing encrypted secret for key:",s),e(s,i),o?.trace("[secrets] stored encrypted secret for key:",s)}var Th,eJ,EV,Fx,wV=y(()=>{Ne();CV();Z();Ri();de();De();K();ji();me();Th="secret://";eJ=['{"extensionId":"vscode.github-authentication","key":"github.auth"}'],EV=D("secretStorageService"),Fx=class extends _{constructor(e,n,o,i){super();this._useInMemoryStorage=e;this._storageService=n;this._encryptionService=o;this._logService=i;this.onDidChangeSecretEmitter=this._register(new T);this.onDidChangeSecret=this.onDidChangeSecretEmitter.event;this._sequencer=new Md;this._type="unknown";this._onDidChangeValueDisposable=this._register(new ie);this._lazyStorageService=new Kt(()=>this.initialize())}useSharedStorage(e){return te&&eJ.includes(e)}get type(){return this._type}get resolvedStorageService(){return this._lazyStorageService.value}get(e){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService;try{return await XQ(e,o=>this.getValueFromStorage(e,o,n),async o=>this._type==="in-memory"||!await this._encryptionService.isEncryptionAvailable()?o:this._encryptionService.decrypt(o),this._logService)}catch(o){this._logService.error(o);let i=Hx(e);this._logService.trace("[secrets] deleting invalid secret for key:",i),this.removeValueFromStorage(e,i,n),this._logService.trace("[secrets] deleted invalid secret for key:",i);return}})}set(e,n){return this._sequencer.queue(e,async()=>{let o=await this.resolvedStorageService;try{await ZQ(e,n,(i,s)=>this.setValueInStorage(e,i,s,o),async i=>this._type==="in-memory"||!await this._encryptionService.isEncryptionAvailable()?i:this._encryptionService.encrypt(i),this._logService)}catch(i){throw this._logService.error(i),i}})}delete(e){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService,o=Hx(e);this._logService.trace("[secrets] deleting secret for key:",o),this.removeValueFromStorage(e,o,n),this._logService.trace("[secrets] deleted secret for key:",o)})}keys(){return this._sequencer.queue("__keys__",async()=>{let e=await this.resolvedStorageService;this._logService.trace("[secrets] fetching keys of all secrets");let n=e.keys(-1,1);return this._logService.trace("[secrets] fetched keys of all secrets"),n.filter(o=>o.startsWith(Th)).map(o=>o.slice(Th.length))})}getValueFromStorage(e,n,o){return this.useSharedStorage(e)?(this._logService.trace(`[SecretStorageService] Fetching value for cross-app shared secret: ${n}`),o.get(n,-2)):o.get(n,-1)}removeValueFromStorage(e,n,o){let i=this.useSharedStorage(e)?-2:-1;o.remove(n,i)}setValueInStorage(e,n,o,i){if(this.useSharedStorage(e)){this._logService.trace(`[SecretStorageService] Setting value for cross-app shared secret: ${n}`),i.store(n,o,-2,1);return}i.store(n,o,-1,1)}async initialize(){let e;if(!this._useInMemoryStorage)this._logService.trace("[SecretStorageService] Using persisted storage"),this._type="persisted",e=this._storageService;else{if(this._type==="in-memory")return this._storageService;this._logService.trace("[SecretStorageService] Falling back to in-memory storage"),this._type="in-memory",e=this._register(new hI)}return this._onDidChangeValueDisposable.clear(),this._onDidChangeValueDisposable.add(V.any(e.onDidChangeValue(-1,void 0,this._onDidChangeValueDisposable),e.onDidChangeValue(-2,void 0,this._onDidChangeValueDisposable))(n=>{this.onDidChangeValue(n.key)})),e}reinitialize(){this._lazyStorageService=new Kt(()=>this.initialize())}onDidChangeValue(e){if(!e.startsWith(Th))return;let n=e.slice(Th.length);this._logService.trace(`[SecretStorageService] Notifying change in value for secret: ${n}`),this.onDidChangeSecretEmitter.fire(n)}};Fx=C([b(1,si),b(2,xV),b(3,z)],Fx)});var e_,t_,n_=y(()=>{Ee();jn();e_=class{constructor(){this._generators=new Map;this._cache=new WeakMap}register(t,e){this._generators.set(t,e)}readActivationEvents(t){return this._cache.has(t)||this._cache.set(t,this._readActivationEvents(t)),this._cache.get(t)}createActivationEventsMap(t){let e=Object.create(null);for(let n of t){let o=this.readActivationEvents(n);o.length>0&&(e[sn.toKey(n.identifier)]=o)}return e}_readActivationEvents(t){if(typeof t.main>"u"&&typeof t.browser>"u")return[];let e=Array.isArray(t.activationEvents)?t.activationEvents.slice(0):[];for(let n=0;n<e.length;n++)e[n]==="onUri"&&(e[n]=`onUri:${sn.toKey(t.identifier)}`);if(!t.contributes)return e;for(let n in t.contributes){let o=this._generators.get(n);if(!o)continue;let i=t.contributes[n],s=Array.isArray(i)?i:[i];try{e.push(...o(s))}catch(a){st(a)}}return e}},t_=new e_});function Wx(r,t){return!0}function o_(r,t){if(!Wx(r,t))throw new Error(`Extension '${r.identifier.value}' CANNOT use API proposal: ${t}.
Its package.json#enabledApiProposals-property declares: ${r.enabledApiProposals?.join(", ")??"[]"} but NOT ${t}.
The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ${r.identifier.value}`)}var Hqe,TV,r_=y(()=>{de();oe();ri();n_();jn();Z();Hqe=Object.freeze({identifier:new sn("nullExtensionDescription"),name:"Null Extension Description",version:"0.0.0",publisher:"vscode",engines:{vscode:""},extensionLocation:S.parse("void:location"),isBuiltin:!1,targetPlatform:"undefined",isUserBuiltin:!1,isUnderDevelopment:!1,preRelease:!1}),TV=D("extensionService")});var tJ,Rh,RV=y(()=>{tJ={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentEditorComments:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentEditorComments.d.ts"},agentSessionsWorkspace:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts"},agentsWindowActivation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentsWindowActivation.d.ts"},agentsWindowConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentsWindowConfiguration.d.ts"},aiRelatedInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts"},aiSettingsSearch:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts"},aiTextSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts"},authIssuers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authIssuers.d.ts"},authLearnMore:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authLearnMore.d.ts"},authProviderSpecific:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authProviderSpecific.d.ts"},authSession:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts"},authSessionAccountIcon:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionAccountIcon.d.ts"},authSessionAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionAudience.d.ts"},authSessionExpiration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionExpiration.d.ts"},authenticationChallenges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authenticationChallenges.d.ts"},browser:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.browser.d.ts"},canonicalUriProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts"},chatContextProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatContextProvider.d.ts"},chatDebug:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatDebug.d.ts"},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts"},chatInputNotification:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatInputNotification.d.ts"},chatOutputRenderer:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts"},chatParticipantAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts"},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts"},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts"},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts"},chatReferenceBinaryData:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts"},chatReferenceDiagnostic:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceDiagnostic.d.ts"},chatSessionCustomizationProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts"},chatSessionsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts"},chatStatusItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatStatusItem.d.ts"},chatTab:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts"},codeActionAI:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts"},codeActionRanges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts"},codiconDecoration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codiconDecoration.d.ts"},commentReactor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReactor.d.ts"},commentReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts"},commentThreadApplicability:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts"},commentingRangeHint:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts"},commentsDraftState:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts"},contribAccessibilityHelpContent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts"},contribChatEditorInlineGutterMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts"},contribCommentEditorActionsMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts"},contribCommentPeekContext:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts"},contribCommentThreadAdditionalMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts"},contribCommentsViewThreadMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts"},contribDebugCreateConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts"},contribDiffEditorGutterToolBarMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts"},contribEditSessions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts"},contribEditorContentMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts"},contribLabelFormatterWorkspaceTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts"},contribLanguageModelToolSets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLanguageModelToolSets.d.ts"},contribMenuBarHome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts"},contribMergeEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts"},contribMultiDiffEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts"},contribNotebookStaticPreloads:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts"},contribRemoteHelp:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts"},contribShareMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribShareMenu.d.ts"},contribSourceControlArtifactGroupMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactGroupMenu.d.ts"},contribSourceControlArtifactMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactMenu.d.ts"},contribSourceControlHistoryItemMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts"},contribSourceControlHistoryTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts"},contribSourceControlInputBoxMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts"},contribSourceControlTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts"},contribStatusBarItems:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts"},contribViewContainerTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts"},contribViewsRemote:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsRemote.d.ts"},contribViewsWelcome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts"},css:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.css.d.ts"},customEditorDiffs:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorDiffs.d.ts"},customEditorMove:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorMove.d.ts"},dataChannels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.dataChannels.d.ts"},debugVisualization:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.debugVisualization.d.ts"},defaultChatParticipant:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts"},devDeviceId:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.devDeviceId.d.ts"},diffCommand:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffCommand.d.ts"},diffContentOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts"},documentDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentDiff.d.ts"},documentFiltersExclusive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts"},documentSyntaxHighlighting:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentSyntaxHighlighting.d.ts"},editSessionIdentityProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts"},editorHoverVerbosityLevel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts"},editorInsets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts"},embeddings:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.embeddings.d.ts"},envIsConnectionMetered:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.envIsConnectionMetered.d.ts"},environmentPower:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.environmentPower.d.ts"},extensionAffinity:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionAffinity.d.ts"},extensionRuntime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts"},extensionsAny:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts"},externalUriOpener:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.externalUriOpener.d.ts"},fileSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts"},fileSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider2.d.ts"},findFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts"},findTextInFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts"},findTextInFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles2.d.ts"},fsChunks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts"},inlineCompletionsAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts"},interactive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts"},interactiveWindow:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts"},ipc:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts"},languageModelCapabilities:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts"},languageModelPricing:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelPricing.d.ts"},languageModelProxy:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelProxy.d.ts"},languageModelSystem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelSystem.d.ts"},languageModelThinkingPart:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelThinkingPart.d.ts"},languageModelToolResultAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts"},languageModelToolSupportsModel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts"},languageStatusText:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts"},linkPresentation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.linkPresentation.d.ts"},mappedEditsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts"},markdownAlertSyntax:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.markdownAlertSyntax.d.ts"},mcpServerDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts"},mcpToolDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpToolDefinitions.d.ts"},multiDocumentHighlightProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts"},nativeWindowHandle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.nativeWindowHandle.d.ts"},newSymbolNamesProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts"},notebookCellExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecution.d.ts"},notebookControllerAffinityHidden:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts"},notebookDeprecated:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts"},notebookExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookExecution.d.ts"},notebookKernelSource:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts"},notebookLiveShare:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts"},notebookMessaging:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts"},notebookMime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts"},notebookReplDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookReplDocument.d.ts"},notebookVariableProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts"},portsAttributes:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts"},profileContentHandlers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts"},quickDiffProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts"},quickPickItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts"},quickPickSortByLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts"},remoteCodingAgents:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts"},resolvers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts"},scmActionButton:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts"},scmArtifactProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmArtifactProvider.d.ts"},scmHistoryProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts"},scmMultiDiffEditor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts"},scmProviderOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmProviderOptions.d.ts"},scmSelectedProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts"},scmTextDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmTextDocument.d.ts"},scmValidation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmValidation.d.ts"},shareProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.shareProvider.d.ts"},speech:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.speech.d.ts"},statusBarItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.statusBarItemTooltip.d.ts"},tabInputMultiDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts"},tabInputTextMerge:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts"},taskExecutionTerminal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts"},taskPresentationGroup:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts"},taskProblemMatcherStatus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskProblemMatcherStatus.d.ts"},taskRunOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskRunOptions.d.ts"},telemetry:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.telemetry.d.ts"},terminalCompletionProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts"},terminalDataWriteEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts"},terminalDimensions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDimensions.d.ts"},terminalExecuteCommandEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts"},terminalQuickFixProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts"},terminalRemoteResolver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalRemoteResolver.d.ts"},terminalSelection:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts"},terminalShellEnv:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts"},terminalTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalTitle.d.ts"},testObserver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts"},testRelatedCode:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testRelatedCode.d.ts"},textDocumentChangeReason:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts"},textEditorDiffInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts"},textSearchComplete2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchComplete2.d.ts"},textSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts"},textSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider2.d.ts"},timeline:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts"},tokenInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts"},toolInvocationApproveCombination:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts"},toolProgress:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolProgress.d.ts"},treeItemMarkdownLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeItemMarkdownLabel.d.ts"},treeViewActiveItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts"},treeViewMarkdownMessage:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts"},treeViewReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts"},tunnelFactory:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts"},tunnels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts"},valueSelectionInQuickPick:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.valueSelectionInQuickPick.d.ts"},workspaceTrust:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts"}},Rh=Object.freeze(tJ)});var c_,i_,s_,nJ,PV,a_,l_,kV,DV,_V=y(()=>{re();Ee();os();ko();Ey();Vo();jn();On();n_();RV();c_=ht.as(dc.JSONContribution),i_=class r{constructor(t,e){this.added=t;this.removed=e}static _toSet(t){let e=new kg;for(let n=0,o=t.length;n<o;n++)e.add(t[n].description.identifier);return e}static compute(t,e){if(!t||!t.length)return new r(e,[]);if(!e||!e.length)return new r([],t);let n=this._toSet(t),o=this._toSet(e),i=e.filter(a=>!n.has(a.description.identifier)),s=t.filter(a=>!o.has(a.description.identifier));return new r(i,s)}},s_=class{constructor(t,e,n){this.name=t,this.defaultExtensionKind=e,this.canHandleResolver=n,this._handler=null,this._users=null,this._delta=null}setHandler(t){if(this._handler!==null)throw new Error("Handler already set!");return this._handler=t,this._handle(),{dispose:()=>{this._handler=null}}}acceptUsers(t){this._delta=i_.compute(this._users,t),this._users=t,this._handle()}_handle(){if(!(this._handler===null||this._users===null||this._delta===null))try{this._handler(this._users,this._delta)}catch(t){st(t)}}},nJ={type:"string",enum:["ui","workspace"],enumDescriptions:[d(22250,null),d(22332,null)]},PV="vscode://schemas/vscode-extensions",a_={properties:{engines:{type:"object",description:d(22316,null),properties:{vscode:{type:"string",description:d(22317,null),default:"^1.105.0"}}},publisher:{description:d(22328,null),type:"string"},displayName:{description:d(22313,null),type:"string"},categories:{description:d(22307,null),type:"array",uniqueItems:!0,items:{oneOf:[{type:"string",enum:Zy},{type:"string",const:"Languages",deprecationMessage:d(22308,null)}]}},galleryBanner:{type:"object",description:d(22320,null),properties:{color:{description:d(22321,null),type:"string"},theme:{description:d(22322,null),type:"string",enum:["dark","light"]}}},contributes:{description:d(22309,null),type:"object",properties:{},default:{}},preview:{type:"boolean",description:d(22326,null)},enableProposedApi:{type:"boolean",deprecationMessage:d(22315,null)},enabledApiProposals:{markdownDescription:d(22314,null),type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(Rh).map(r=>r),markdownEnumDescriptions:Object.values(Rh).map(r=>r.proposal)}},api:{markdownDescription:d(22285,null),type:"string",enum:["none"],enumDescriptions:[d(22286,null)]},activationEvents:{description:d(22251,null),type:"array",items:{type:"string",defaultSnippets:[{label:"onWebviewPanel",description:d(22282,null),body:"onWebviewPanel:viewType"},{label:"onLanguage",description:d(22265,null),body:"onLanguage:${1:languageId}"},{label:"onCommand",description:d(22255,null),body:"onCommand:${2:commandId}"},{label:"onDebug",description:d(22257,null),body:"onDebug"},{label:"onDebugInitialConfigurations",description:d(22260,null),body:"onDebugInitialConfigurations"},{label:"onDebugDynamicConfigurations",description:d(22259,null),body:"onDebugDynamicConfigurations"},{label:"onDebugResolve",description:d(22261,null),body:"onDebugResolve:${6:type}"},{label:"onDebugAdapterProtocolTracker",description:d(22258,null),body:"onDebugAdapterProtocolTracker:${6:type}"},{label:"workspaceContains",description:d(22284,null),body:"workspaceContains:${4:filePattern}"},{label:"onStartupFinished",description:d(22273,null),body:"onStartupFinished"},{label:"onTaskType",description:d(22274,null),body:"onTaskType:${1:taskType}"},{label:"onFileSystem",description:d(22263,null),body:"onFileSystem:${1:scheme}"},{label:"onEditSession",description:d(22262,null),body:"onEditSession:${1:scheme}"},{label:"onSearch",description:d(22272,null),body:"onSearch:${7:scheme}"},{label:"onView",body:"onView:${5:viewId}",description:d(22280,null)},{label:"onUri",body:"onUri",description:d(22279,null)},{label:"onOpenExternalUri",body:"onOpenExternalUri",description:d(22270,null)},{label:"onCustomEditor",body:"onCustomEditor:${9:viewType}",description:d(22256,null)},{label:"onNotebook",body:"onNotebook:${1:type}",description:d(22269,null)},{label:"onAuthenticationRequest",body:"onAuthenticationRequest:${11:authenticationProviderId}",description:d(22252,null)},{label:"onRenderer",description:d(22271,null),body:"onRenderer:${11:rendererId}"},{label:"onTerminalProfile",body:"onTerminalProfile:${1:terminalId}",description:d(22276,null)},{label:"onTerminalQuickFixRequest",body:"onTerminalQuickFixRequest:${1:quickFixId}",description:d(22277,null)},{label:"onWalkthrough",body:"onWalkthrough:${1:walkthroughID}",description:d(22281,null)},{label:"onIssueReporterOpened",body:"onIssueReporterOpened",description:d(22264,null)},{label:"onChatParticipant",body:"onChatParticipant:${1:participantId}",description:d(22254,null)},{label:"onChatContextProvider",body:"onChatContextProvider:${1:contextProviderId}",description:d(22253,null)},{label:"onLanguageModelChatProvider",body:"onLanguageModelChatProvider:${1:vendor}",description:d(22266,null)},{label:"onLanguageModelTool",body:"onLanguageModelTool:${1:toolId}",description:d(22267,null)},{label:"onTerminal",body:"onTerminal:{1:shellType}",description:d(22275,null)},{label:"onTerminalShellIntegration",body:"onTerminalShellIntegration:${1:shellType}",description:d(22278,null)},{label:"onMcpCollection",description:d(22268,null),body:"onMcpCollection:${2:collectionId}"},{label:"*",description:d(22283,null),body:"*"}]}},badges:{type:"array",description:d(22287,null),items:{type:"object",required:["url","href","description"],properties:{url:{type:"string",description:d(22290,null)},href:{type:"string",description:d(22289,null)},description:{type:"string",description:d(22288,null)}}}},markdown:{type:"string",description:d(22325,null),enum:["github","standard"],default:"github"},qna:{default:"marketplace",description:d(22329,null),anyOf:[{type:["string","boolean"],enum:["marketplace",!1]},{type:"string"}]},extensionDependencies:{description:d(22319,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:iu}},extensionAffinity:{description:d(22318,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:iu}},extensionPack:{description:d(22310,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:iu}},extensionKind:{description:d(22243,null),type:"array",items:nJ,default:["workspace"],defaultSnippets:[{body:["ui"],description:d(22245,null)},{body:["workspace"],description:d(22247,null)},{body:["ui","workspace"],description:d(22246,null)},{body:["workspace","ui"],description:d(22248,null)},{body:[],description:d(22244,null)}]},capabilities:{description:d(22291,null),type:"object",properties:{virtualWorkspaces:{description:d(22301,null),type:["boolean","object"],defaultSnippets:[{label:"limited",body:{supported:"${1:limited}",description:"${2}"}},{label:"false",body:{supported:!1,description:"${2}"}}],default:(!0).valueOf,properties:{supported:{markdownDescription:d(22303,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[d(22305,null),d(22306,null),d(22304,null)]},description:{type:"string",markdownDescription:d(22302,null)}}},untrustedWorkspaces:{description:d(22294,null),type:"object",required:["supported"],defaultSnippets:[{body:{supported:"${1:limited}",description:"${2}"}}],properties:{supported:{markdownDescription:d(22297,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[d(22299,null),d(22300,null),d(22298,null)]},restrictedConfigurations:{description:d(22296,null),type:"array",items:{type:"string"}},description:{type:"string",markdownDescription:d(22295,null)}}},agentsWindow:{description:d(22292,null),type:"object",required:["supported"],defaultSnippets:[{body:{supported:!0}}],properties:{supported:{markdownDescription:d(22293,null),type:"boolean"}}}}},sponsor:{description:d(22311,null),type:"object",defaultSnippets:[{body:{url:"${1:https:}"}}],properties:{url:{description:d(22312,null),type:"string"}}},scripts:{type:"object",properties:{"vscode:prepublish":{description:d(22330,null),type:"string"},"vscode:uninstall":{description:d(22331,null),type:"string"}}},icon:{type:"string",description:d(22323,null)},l10n:{type:"string",description:d(22324,null)},pricing:{type:"string",markdownDescription:d(22327,null),enum:["Free","Trial"],default:"Free"}}},l_=class{constructor(){this._extensionPoints=new Map}registerExtensionPoint(t){if(this._extensionPoints.has(t.extensionPoint))throw new Error("Duplicate extension point: "+t.extensionPoint);let e=new s_(t.extensionPoint,t.defaultExtensionKind,t.canHandleResolver);return this._extensionPoints.set(t.extensionPoint,e),t.activationEventsGenerator&&t_.register(t.extensionPoint,t.activationEventsGenerator),a_.properties.contributes.properties[t.extensionPoint]=t.jsonSchema,c_.registerSchema(PV,a_),e}getExtensionPoints(){return Array.from(this._extensionPoints.values())}},kV={ExtensionsRegistry:"ExtensionsRegistry"};ht.add(kV.ExtensionsRegistry,new l_);DV=ht.as(kV.ExtensionsRegistry);c_.registerSchema(PV,a_);c_.registerSchema(xN,{properties:{extensionEnabledApiProposals:{description:d(22249,null),type:"object",properties:{},additionalProperties:{anyOf:[{type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(Rh),markdownEnumDescriptions:Object.values(Rh).map(r=>r.proposal)}}]}}}})});var MV,AV=y(()=>{Z();MV=D("ILanguageModelsConfigurationService")});function sJ(r,t){if(!(!r||r===Vp))return oJ.has(r)&&t&&iJ.some(e=>sn.equals(t,e))?r:rJ}function aJ(r,t){let e=S.parse(r);return e.scheme===B.vscode&&t?e.with({scheme:t}):e}function uJ(r,t){let e=r.metadata.modelGroup?.id??r.metadata.vendor;return dJ.has(e)?!1:e!==t.getVendors().find(n=>n.isDefault)?.vendor}function pJ(r,t){return r&&!uJ(r,t)?new vr(r.identifier):"unknown"}function d_(r,t){return r===Wp?!1:t?t.vendor===Vp&&t.id===cJ?!1:m_.getAgentHostByokManageModelsIdentifier(t)===void 0:!0}function mJ(r,t,e){if(!r?.properties)return[];let n=[];for(let[o,i]of Object.entries(r.properties)){if(!i.enum||!Array.isArray(i.enum)||i.enum.length<1)continue;let s=t[o]??i.default,a=(typeof i.title=="string"?i.title:void 0)??o.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^./,m=>m.toUpperCase()),l=i.default,c=i.enumItemLabels,u=i.enumDescriptions,p=i.enum.map((m,f)=>{let h=c?.[f]??String(m),v=m===l?d(12619,null,h):h,I=u?.[f]??"";return{id:`configureModel.${o}.${m}`,label:v,class:void 0,enabled:!0,tooltip:I,checked:s===m,run:()=>e(o,m)}});n.push(new lx(`configureModel.${o}`,a,p))}return n}var Vp,oJ,rJ,iJ,m_,FV,LV,lJ,OV,NV,UV,Wp,cJ,dJ,u_,p_,Jc,g_=y(()=>{Ne();Zt();Ee();de();Ua();ei();K();ma();jt();os();Tt();nD();we();Ae();oe();nn();re();fo();jn();Z();De();IV();UD();On();Ti();SV();wV();Ri();Rn();Ur();r_();_V();XD();AV();Vp="copilot",oJ=new Set(["openai","anthropic","gemini","ollama","openrouter","azure","xai","customoai","customendpoint"]),rJ="3p-extension",iJ=["github.copilot-chat","github.copilot"];(u=>{function r(p){return(typeof p.capabilities?.agentMode>"u"||p.capabilities.agentMode)&&!!p.capabilities?.toolCalling}u.suitableForAgentMode=r;function t(p){return`${p.name} (${p.vendor})`}u.asQualifiedName=t;function e(p,m){return m.vendor===Vp&&p===m.name?!0:p===t(m)}u.matchesQualifiedName=e;function n(p){return!!p.promo&&p.promo.discountPercent>0}u.hasPromoDiscount=n;function o(p){return!!p.promo&&p.promo.discountPercent>=0&&!!p.promo.message}u.hasPromoMessage=o;function i(p){return o(p)&&p.promo.showBanner!==!1}u.hasPromoBanner=i;function s(p){if(!p)return;let m=new Date(p);if(isNaN(m.getTime()))return;let f=m.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"});return d(12612,null,f)}u.getPromoEndsAtLabel=s,u.autoModelSelectionDocsUrl="https://docs.github.com/en/copilot/concepts/models/auto-model-selection";function l(p){let m=d(12606,null),f=d(12608,null,u.autoModelSelectionDocsUrl);if(typeof p=="number"&&p>0){let h=d(12607,null,p);return`${m} ${h} ${f}`}return`${m} ${f}`}u.getAutoModelDescription=l;function c(p){return p.byokModelIdentifier}u.getAgentHostByokManageModelsIdentifier=c})(m_||={});FV=D("ILanguageModelsService"),LV={type:"object",required:["vendor","displayName"],properties:{vendor:{type:"string",description:d(12632,null)},displayName:{type:"string",description:d(12628,null)},configuration:{type:"object",description:d(12624,null),anyOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{properties:{properties:{type:"object",additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:d(12625,null)}}}},additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:d(12625,null)}}}}}]},managementCommand:{type:"string",description:d(12630,null),deprecated:!0,deprecationMessage:d(12631,null)},deprecation:{type:"object",description:d(12626,null),properties:{link:{type:"string",description:d(12627,null)}}},when:{type:"string",description:d(12634,null)}}};lJ=DV.registerExtensionPoint({extensionPoint:"languageModelChatProviders",jsonSchema:{description:d(12623,null),oneOf:[LV,{type:"array",items:LV}]},activationEventsGenerator:function*(r){for(let t of r)yield`onLanguageModelChatProvider:${t.vendor}`}}),OV="chatModelRecentlyUsed",NV="chatModelPinned",UV="chatModelVisibility",Wp="copilot/auto",cJ="auto",dJ=new Set([Vp,"copilotcli"]);u_="chat.participantNameRegistry",p_="chat.modelsControl";Jc=class{constructor(t,e,n,o,i,s,a,l,c,u,p,m){this._extensionService=t;this._logService=e;this._storageService=n;this._contextKeyService=o;this._languageModelsConfigurationService=i;this._quickInputService=s;this._secretStorageService=a;this._productService=l;this._requestService=c;this._notificationService=u;this._openerService=p;this._telemetryService=m;this._store=new ie;this._providers=new Map;this._vendors=new Map;this._deprecationNoticeShownVendors=new Set;this._onDidChangeLanguageModelVendors=this._store.add(new T);this.onDidChangeLanguageModelVendors=this._onDidChangeLanguageModelVendors.event;this._modelsGroups=new Map;this._modelCache=new Map;this._resolveLMSequencer=new Md;this._modelConfigurations=new Map;this._onLanguageModelChange=this._store.add(new T);this.onDidChangeLanguageModels=this._onLanguageModelChange.event;this._recentlyUsedModelIds=[];this._pinnedModelIds=[];this._hiddenModelIds=new Set;this._onDidChangeModelsControlManifest=this._store.add(new T);this.onDidChangeModelsControlManifest=this._onDidChangeModelsControlManifest.event;this._onDidChangePinnedModels=this._store.add(new T);this.onDidChangePinnedModels=this._onDidChangePinnedModels.event;this._onDidChangeModelVisibility=this._store.add(new T);this.onDidChangeModelVisibility=this._onDidChangeModelVisibility.event;this._modelsControlManifest={free:{},paid:{}};this._chatControlDisposed=!1;this._restrictedChatParticipants=Bn(this,Object.create(null));this.restrictedChatParticipants=this._restrictedChatParticipants;this._hasUserSelectableModels=Kr.languageModelsAreUserSelectable.bindTo(o),this._hasNonCopilotUserSelectableModels=Kr.nonCopilotLanguageModelsAreUserSelectable.bindTo(o),this._recentlyUsedModelIds=this._readRecentlyUsedModels(),this._pinnedModelIds=this._readPinnedModels(),this._readVisibility(),this._initChatControlData(),this._store.add(this.onDidChangeLanguageModels(()=>{let f=!1,h=!1;for(let v of this._modelCache.values())if(v.isUserSelectable!==!1&&(f=!0,v.vendor!==Vp)){h=!0;break}this._hasUserSelectableModels.set(f),this._hasNonCopilotUserSelectableModels.set(h),this._refreshModelsControlManifest()})),this._store.add(this._languageModelsConfigurationService.onDidChangeLanguageModelGroups(f=>this._onDidChangeLanguageModelGroups(f))),this._store.add(lJ.setHandler((f,{added:h,removed:v})=>{let I=[],E=[];for(let w of h)for(let P of Xt.wrap(w.value)){if(this._vendors.has(P.vendor)){w.collector.error(d(12633,null,P.vendor));continue}if(Vm(P.vendor)){w.collector.error(d(12629,null));continue}if(P.vendor.trim()!==P.vendor){w.collector.error(d(12635,null));continue}I.push(P)}for(let w of v)for(let P of Xt.wrap(w.value))E.push(P);this.deltaLanguageModelChatProviderDescriptors(I,E)}))}static{this.SECRET_KEY_PREFIX="chat.lm.secret."}static{this.SECRET_INPUT="${input:{0}}"}deltaLanguageModelChatProviderDescriptors(t,e){let n=[],o=[];for(let i of t){if(this._vendors.has(i.vendor)){this._logService.error(`The vendor '${i.vendor}' is already registered and cannot be registered twice`);continue}if(Vm(i.vendor)){this._logService.error("The vendor field cannot be empty.");continue}if(i.vendor.trim()!==i.vendor){this._logService.error("The vendor field cannot start or end with whitespace.");continue}let s={vendor:i.vendor,displayName:i.displayName,configuration:i.configuration,managementCommand:i.managementCommand,deprecation:i.deprecation,when:i.when,isDefault:i.vendor===Vp};this._vendors.set(i.vendor,s),n.push(i.vendor)}for(let i of e)this._vendors.delete(i.vendor),this._providers.delete(i.vendor),this._clearModelCache(i.vendor),this._modelsGroups.delete(i.vendor),o.push(i.vendor);for(let[i,s]of this._providers)this._vendors.has(i)||this._providers.delete(i);if((n.length>0||o.length>0)&&(this._onDidChangeLanguageModelVendors.fire([...n,...o]),o.length>0))for(let i of o)this._onLanguageModelChange.fire(i)}async _onDidChangeLanguageModelGroups(t){let e=new Set(t.map(n=>n.vendor));await Promise.all(Array.from(e).map(n=>this._resolveAllLanguageModels(n,!0)))}getVendors(){return Array.from(this._vendors.values()).filter(t=>{if(!t.when)return!0;let e=Je.deserialize(t.when);return e?this._contextKeyService.contextMatchesRules(e):!1})}getLanguageModelIds(){return Array.from(this._modelCache.keys())}lookupLanguageModel(t){return this._modelCache.get(t)}lookupLanguageModelByQualifiedName(t){for(let[e,n]of this._modelCache.entries())if(m_.matchesQualifiedName(t,n))return{metadata:n,identifier:e}}async _resolveAllLanguageModels(t,e){let n=this._vendors.get(t);if(!n)return;let o=this._providers.get(t);if(o||(await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${t}`),o=this._providers.get(t)),!o){this._logService.warn(`[LM] No provider registered for vendor ${t}`);return}return this._resolveLMSequencer.queue(t,async()=>{let i=[],s=[];try{let f=await o.provideLanguageModelChatInfo({silent:e},Pe.None);if(f.length){i.push(...f);let h=[];for(let v of f)n.isDefault?v.metadata.isUserSelectable!==!1?h.push(v.identifier):this._logService.trace(`[LM] Skipping model ${v.identifier} from model picker as it is not user selectable.`):h.push(v.identifier);s.push({modelIdentifiers:h})}}catch(f){s.push({modelIdentifiers:[],status:{message:ye(f),severity:qe.Error}})}let a=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),l=new Map;for(let f of a){if(f.vendor!==t)continue;if(!n.configuration&&i.length>0){if(f.settings)for(let v of i){let I=f.settings[v.metadata.id];I&&l.set(v.identifier,{...I})}s.push({group:f,modelIdentifiers:[]});continue}let h=await this._resolveConfiguration(f,n.configuration);try{let v=await o.provideLanguageModelChatInfo({group:f.name,silent:e,configuration:h},Pe.None);if(v.length){for(let I=0;I<v.length;I++)v[I].metadata.detail||(v[I]={...v[I],metadata:{...v[I].metadata,detail:f.name}});i.push(...v),s.push({group:f,modelIdentifiers:v.map(I=>I.identifier)})}if(f.settings)for(let I of v){let E=f.settings[I.metadata.id];E&&l.set(I.identifier,{...E})}}catch(v){s.push({group:f,modelIdentifiers:[],status:{message:ye(v),severity:qe.Error}})}}let c=this._modelsGroups.has(t),u=this._modelsGroups.get(t)??[];this._modelsGroups.set(t,s);let p=this._clearModelCache(t),m=!c;for(let f of i){if(this._modelCache.has(f.identifier)){this._logService.warn(`[LM] Model ${f.identifier} is already registered. Skipping.`);continue}this._modelCache.set(f.identifier,f.metadata),m=m||!ct(p.get(f.identifier),f.metadata),p.delete(f.identifier)}this._logService.trace(`[LM] Resolved language models for vendor ${t}`,i),m=m||p.size>0,m||(m=this._hasGroupStructureChanged(u,s)),this._clearModelConfigurations(t);for(let[f,h]of l)this._modelCache.has(f)&&this._modelConfigurations.set(f,h);m?this._onLanguageModelChange.fire(t):this._logService.trace(`[LM] No changes in language models for vendor ${t}`)})}_hasGroupStructureChanged(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;n++){let o=t[n],i=e[n];if(o.group?.name!==i.group?.name||o.group?.vendor!==i.group?.vendor||o.status?.message!==i.status?.message||o.status?.severity!==i.status?.severity||o.modelIdentifiers.length!==i.modelIdentifiers.length)return!0}return!1}getLanguageModelGroups(t){return this._modelsGroups.get(t)??[]}hasResolvedVendor(t){return this._modelsGroups.has(t)}async selectLanguageModels(t){if(t.vendor)await this._resolveAllLanguageModels(t.vendor,!0);else{let n=Array.from(this._vendors.keys());await Promise.all(n.map(o=>this._resolveAllLanguageModels(o,!0)))}let e=[];for(let[n,o]of this._modelCache)(t.vendor===void 0||o.vendor===t.vendor)&&(t.family===void 0||o.family===t.family)&&(t.version===void 0||o.version===t.version)&&(t.id===void 0||o.id===t.id)&&e.push(n);return this._logService.trace("[LM] selected language models",t,e),e}registerLanguageModelProvider(t,e){if(this._logService.trace("[LM] registering language model provider",t,e),!this._vendors.has(t))throw new Error(`Chat model provider uses UNKNOWN vendor ${t}.`);if(this._providers.has(t))throw new Error(`Chat model provider for vendor ${t} is already registered.`);this._providers.set(t,e);let n=e.onDidChange(()=>{this._resolveAllLanguageModels(t,!0)});return ce(()=>{this._logService.trace("[LM] UNregistered language model provider",t),this._clearModelCache(t),this._modelsGroups.delete(t),this._providers.delete(t),n.dispose()})}async sendChatRequest(t,e,n,o,i){let s=this._modelCache.get(t),a=this._providers.get(s?.vendor||"");if(!a)throw new Error(`Chat provider for model ${t} is not registered.`);s&&(this._logProviderUsageTelemetry(s),this._maybeShowProviderDeprecationNotice(s));let l=this.getModelConfiguration(t),c=l?{...o,configuration:{...l,...o.configuration}}:o;return a.sendChatRequest(t,n,e,c,i)}_maybeShowProviderDeprecationNotice(t){let e=this._vendors.get(t.vendor),n=e?.deprecation?.link;if(!n||this._deprecationNoticeShownVendors.has(t.vendor))return;this._deprecationNoticeShownVendors.add(t.vendor);let o=(e.displayName||t.vendor).replace(/\s*\(deprecated\)\s*$/i,"");this._notificationService.prompt(qe.Info,d(12614,null,o),[{label:d(12613,null),run:()=>{this._openerService.open(aJ(n,this._productService.urlProtocol))}}],{neverShowAgain:{id:`chat.providerDeprecation.${t.vendor}`,scope:2}})}_logProviderUsageTelemetry(t){let e=sJ(t?.vendor,t?.extension);e&&this._telemetryService.publicLog2("chat.languageModelRequest",{provider:e,isBYOK:!!t?.isBYOK})}_resolveModelConfigurationWithDefaults(t,e){let n=this._modelConfigurations.get(t),o=e?.configurationSchema;if(!o?.properties&&!n)return;let i={};if(o?.properties)for(let[s,a]of Object.entries(o.properties))a.default!==void 0&&(i[s]=a.default);if(!(!n&&Object.keys(i).length===0))return{...i,...n}}computeTokenLength(t,e,n){let o=this._modelCache.get(t);if(!o)throw new Error(`Chat model ${t} could not be found.`);let i=this._providers.get(o.vendor);if(!i)throw new Error(`Chat provider for model ${t} is not registered.`);return i.provideTokenCount(t,e,n)}getModelConfiguration(t,e=!0){if(!e){let o=this._modelConfigurations.get(t);return o?{...o}:void 0}let n=this._modelCache.get(t);return this._resolveModelConfigurationWithDefaults(t,n)}async setModelConfiguration(t,e){let n=this._modelCache.get(t);if(!n)return;let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),i;if(i=o.find(c=>c.vendor===n.vendor&&c.settings?.[n.id]!==void 0),!i){let u=this._modelsGroups.get(n.vendor)?.find(p=>p.modelIdentifiers.includes(t)&&p.group)?.group;u&&(i=o.find(p=>p.vendor===u.vendor&&p.name===u.name)??u)}i||(i=o.find(c=>c.vendor===n.vendor));let a={...this._modelConfigurations.get(t)??{},...e},l=n.configurationSchema;if(l?.properties)for(let[c,u]of Object.entries(a)){let p=l.properties[c];p?.default!==void 0&&p.default===u&&delete a[c]}if(i){let c=i.settings??{},u;Object.keys(a).length===0?(u={...c},delete u[n.id]):u={...c,[n.id]:a};let p={...i,settings:Object.keys(u).length>0?u:void 0};!p.settings&&Object.keys(p).filter(m=>m!=="name"&&m!=="vendor"&&m!=="range"&&m!=="modelsRange"&&m!=="settings").length===0?await this._languageModelsConfigurationService.removeLanguageModelsProviderGroup(i):await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(i,p)}else if(Object.keys(a).length>0){let c=this._vendors.get(n.vendor);if(!c)return;let u={name:c.displayName,vendor:n.vendor,settings:{[n.id]:a}};await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(u)}Object.keys(a).length>0?this._modelConfigurations.set(t,a):this._modelConfigurations.delete(t),this._onLanguageModelChange.fire(n.vendor)}getModelConfigurationActions(t){let e=this._modelCache.get(t),n=this._modelConfigurations.get(t)??{};return mJ(e?.configurationSchema,n,(o,i)=>this.setModelConfiguration(t,{[o]:i}))}async configureLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:l})=>l===t);if(!n)throw new Error(`Vendor ${t} not found.`);if(n.managementCommand){await this._resolveAllLanguageModels(n.vendor,!1);return}let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),i=o.find(l=>l.vendor===t&&l.name===e),s=await this.promptForName(o,n,i);if(!s)return;let a=i?await this._resolveConfiguration(i,n.configuration):void 0;try{let l=n.configuration?await this.promptForConfiguration(s,n.configuration,a):void 0;if(n.configuration&&!l)return;let c=await this._resolveLanguageModelProviderGroup(s,t,l,n.configuration),u=i?await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(i,c):await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(c);if(n.configuration&&this.requireConfiguring(n.configuration)){let p=this.getSnippetForFirstUnconfiguredProperty(l??{},n.configuration);await this._languageModelsConfigurationService.configureLanguageModels({group:u,snippet:p})}}catch(l){if(on(l))return;throw l}}async renameLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:a})=>a===t);if(!n)throw new Error(`Vendor ${t} not found.`);let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),i=o.find(a=>a.vendor===t&&a.name===e);if(!i)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);let s=await this.promptForName(o,n,i);!s||s===i.name||await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(i,{...i,name:s})}async updateLanguageModelsProviderGroupApiKey(t,e){let n=this.getVendors().find(({vendor:a})=>a===t),o=n?.configuration,i=o?.properties?.apiKey;if(!n||!o||!i)return;let s=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(a=>a.vendor===t&&a.name===e);if(!s)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);try{let a=await this._resolveConfiguration(s,o),l=await this.promptForValue(s.name,"apiKey",i,!!o.required?.includes("apiKey"),a);if(l===void 0||l===a.apiKey)return;let c={...a,apiKey:l},u={...await this._resolveLanguageModelProviderGroup(s.name,t,c,o),settings:s.settings};await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(s,u),await this._deleteSecretsInConfiguration(s,o)}catch(a){if(on(a))return;throw a}}async addLanguageModelsProviderGroupModel(t,e){let n=this.getVendors().find(({vendor:c})=>c===t),i=n?.configuration?.properties?.models;if(!n||!i)return;let s=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(c=>c.vendor===t&&c.name===e);if(!s)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);let a=Array.isArray(s.models),l=a?this.getSnippetForArrayItem(i):this.getSnippetForProperty("models",i);l&&await this._languageModelsConfigurationService.configureLanguageModels({group:s,snippet:l,snippetTarget:a?"models":"group"})}async openLanguageModelsProviderGroupSettings(t,e){let n=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(o=>o.vendor===t&&o.name===e);if(!n)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);await this._languageModelsConfigurationService.configureLanguageModels({group:n})}async configureModel(t){let e=this._modelCache.get(t);if(!e||!e.configurationSchema)return;let n=this._modelsGroups.get(e.vendor),o;if(n){for(let s of n)if(s.modelIdentifiers.includes(t)&&s.group){o=s.group;break}}if(!o){let s=this.getVendors().find(c=>c.vendor===e.vendor);if(!s)return;let l={name:s.displayName,vendor:e.vendor,settings:{[e.id]:{}}};o=await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(l),await this._resolveAllLanguageModels(e.vendor,!0)}let i=this._getModelConfigurationSnippet(e.id,e.configurationSchema);await this._languageModelsConfigurationService.configureLanguageModels({group:o,snippet:i})}_getModelConfigurationSnippet(t,e){let n=[];if(e.properties)for(let[i,s]of Object.entries(e.properties))if(s.defaultSnippets?.[0]){let a=s.defaultSnippets[0],l=a.bodyText??JSON.stringify(a.body,null," ");l=l.replace(/"(\^[^"]*)"/g,(c,u)=>u.substring(1)),n.push(` "${i}": ${l}`)}else s.default!==void 0?n.push(` "${i}": ${JSON.stringify(s.default)}`):n.push(` "${i}": \${${i}}`);let o=n.length>0?`{
${n.join(`,
`)}
}`:`{
$0
}`;return`"settings": {
"${t}": ${o}
}`}async addLanguageModelsProviderGroup(t,e,n){let o=this.getVendors().find(({vendor:s})=>s===e);if(!o)throw new Error(`Vendor ${e} not found.`);let i=await this._resolveLanguageModelProviderGroup(t,e,n,o.configuration);await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(i)}async removeLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:s})=>s===t);if(!n)throw new Error(`Vendor ${t} not found.`);let i=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(s=>s.vendor===t&&s.name===e);if(!i)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);await this._deleteSecretsInConfiguration(i,n.configuration),await this._languageModelsConfigurationService.removeLanguageModelsProviderGroup(i)}requireConfiguring(t){if(t.additionalProperties)return!0;if(!t.properties)return!1;for(let e of Object.keys(t.properties))if(!this.canPromptForProperty(t.properties[e]))return!0;return!1}getSnippetForFirstUnconfiguredProperty(t,e){if(e.properties){for(let n of Object.keys(e.properties))if(t[n]===void 0){let o=e.properties[n],i=this.getSnippetForProperty(n,o);if(i)return i}}}getSnippetForProperty(t,e){let n=this.getDefaultSnippetBodyText(e);return n?`"${t}": ${n}`:void 0}getSnippetForArrayItem(t){return this.getDefaultSnippetBodyText(t,!0)}getDefaultSnippetBodyText(t,e=!1){let n=t.defaultSnippets?.[0];if(!n)return;let o=e?Array.isArray(n.body)&&n.body.length>0?JSON.stringify(n.body[0],null," "):void 0:n.bodyText??JSON.stringify(n.body,null," ");if(o)return o.replace(/"(\^[^"]*)"/g,(i,s)=>s.substring(1))}async promptForName(t,e,n){let o=n?.name;if(!o){o=e.displayName;let a=1;for(;t.some(l=>l.vendor===e.vendor&&l.name===o);)a++,o=`${e.displayName} ${a}`}let i,s=new ie;try{await new Promise(a=>{let l=s.add(this._quickInputService.createInputBox());l.title=d(12615,null),l.placeholder=d(12618,null),l.value=o,l.ignoreFocusOut=!0,s.add(l.onDidChangeValue(c=>{if(!c){l.validationMessage=d(12616,null),l.severity=qe.Error;return}if(t.some(u=>u!==n&&u.vendor===e.vendor&&u.name===c)){l.validationMessage=d(12620,null),l.severity=qe.Error;return}l.validationMessage=void 0,l.severity=qe.Ignore})),s.add(l.onDidAccept(async()=>{i=l.value,l.hide()})),s.add(l.onDidHide(()=>a())),l.show()})}finally{s.dispose()}return i}async promptForConfiguration(t,e,n){if(!e.properties)return;let o=n?{...n}:{};for(let i of Object.keys(e.properties)){let s=e.properties[i],a=!!e.required?.includes(i),l=await this.promptForValue(t,i,s,a,n);l!==void 0&&(o[i]=l)}return o}async promptForValue(t,e,n,o,i){if(!n||!this.canPromptForProperty(n))return;if(n.type==="array"&&n.items&&!Array.isArray(n.items)&&n.items.enum){let a=await this.promptForArray(t,e,n);return a===void 0?void 0:a}if(n.type==="string"&&Array.isArray(n.enum)&&n.enum.length>0)return this.promptForEnum(t,e,n,i);let s=await this.promptForInput(t,e,n,o,i);if(s!==void 0)return s}canPromptForProperty(t){return!t||typeof t=="boolean"?!1:!!(t.type==="array"&&t.items&&!Array.isArray(t.items)&&t.items.enum||t.type==="string"||t.type==="number"||t.type==="integer"||t.type==="boolean")}getDescriptionPlaintext(t){if(t.description)return t.description;let e=t.markdownDescription;if(e)return e.replace(/`([^`]+)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1")}async promptForArray(t,e,n){if(!n.items||Array.isArray(n.items)||!n.items.enum)return;let o=n.items.enum,i=new ie;try{return await new Promise(s=>{let a=i.add(this._quickInputService.createQuickPick());a.title=`${t}: ${n.title??e}`,a.items=o.map(l=>({label:l})),a.placeholder=this.getDescriptionPlaintext(n)??d(12621,null,e),a.canSelectMany=!0,a.ignoreFocusOut=!0,i.add(a.onDidAccept(()=>{s(a.selectedItems.map(l=>l.label)),a.hide()})),i.add(a.onDidHide(()=>{s(void 0)})),a.show()})}finally{i.dispose()}}async promptForEnum(t,e,n,o){let i=n.enum;if(!Array.isArray(i)||i.length===0)return;let s=n.enumDescriptions,a=Array.isArray(n.enumItemLabels)?n.enumItemLabels:void 0,l=o?.[e]!==void 0?String(o[e]):n.default!==void 0?String(n.default):void 0,c=i.map((p,m)=>({label:a?.[m]??String(p),description:s?.[m],id:String(p)})),u=new ie;try{return await new Promise(p=>{let m=u.add(this._quickInputService.createQuickPick());if(m.title=`${t}: ${n.title??e}`,m.items=c,m.placeholder=this.getDescriptionPlaintext(n)??d(12621,null,e),m.ignoreFocusOut=!0,l!==void 0){let f=c.find(h=>h.id===l);f&&(m.activeItems=[f])}u.add(m.onDidAccept(()=>{let f=m.selectedItems[0];p(f?.id),m.hide()})),u.add(m.onDidHide(()=>{p(void 0)})),m.show()})}finally{u.dispose()}}async promptForInput(t,e,n,o,i){let s=new ie;try{let a=c=>{if(!c&&o)return d(12622,null)},l=await new Promise((c,u)=>{let p=s.add(this._quickInputService.createInputBox());p.title=`${t}: ${n.title??e}`,p.placeholder=d(12617,null,e),p.password=!!n.secret,p.ignoreFocusOut=!0,i?.[e]?p.value=String(i?.[e]):n.default&&(p.value=String(n.default));let m=this.getDescriptionPlaintext(n);m&&(p.prompt=m),s.add(p.onDidChangeValue(f=>{let h=a(f);h?(p.validationMessage=h,p.severity=qe.Error):(p.validationMessage=void 0,p.severity=qe.Ignore)})),s.add(p.onDidAccept(()=>{let f=a(p.value);if(f){p.validationMessage=f,p.severity=qe.Error;return}c(p.value),p.hide()})),s.add(p.onDidHide(f=>{f.reason===2?u(new et):c(void 0)})),p.show()});return l?n.type==="number"||n.type==="integer"?Number(l):n.type==="boolean"?l==="true":l:void 0}finally{s.dispose()}}encodeSecretKey(t){return F0(Jc.SECRET_INPUT,t)}decodeSecretKey(t){if(j(t))return t.substring(t.indexOf(":")+1,t.length-1)}_clearModelCache(t){let e=new Map;for(let[n,o]of this._modelCache.entries())o.vendor===t&&(e.set(n,o),this._modelCache.delete(n));return e}_clearModelConfigurations(t){for(let[e]of this._modelConfigurations)(this._modelCache.get(e)?.vendor===t||e.startsWith(`${t}/`))&&this._modelConfigurations.delete(e)}async _resolveConfiguration(t,e){if(!e)return{};let n={};for(let o in t){if(o==="vendor"||o==="name"||o==="range"||o==="modelsRange"||o==="settings")continue;let i=t[o];if(e.properties?.[o]?.secret){let s=this.decodeSecretKey(i);i=s?await this._secretStorageService.get(s):void 0}n[o]=i}return n}async _resolveLanguageModelProviderGroup(t,e,n,o){if(!o)return{name:t,vendor:e};let i={};for(let s in n){let a=n[s];if(o.properties?.[s]?.secret&&j(a)){let l=`${Jc.SECRET_KEY_PREFIX}${Lr(Se()).toString(16)}`;await this._secretStorageService.set(l,s==="apiKey"?a.trim():a),a=this.encodeSecretKey(l)}i[s]=a}return{name:t,vendor:e,...i}}async _deleteSecretsInConfiguration(t,e){if(!e)return;let{vendor:n,name:o,range:i,modelsRange:s,...a}=t;for(let l in a){let c=t[l];if(e.properties?.[l]?.secret){let u=this.decodeSecretKey(c);u&&await this._secretStorageService.delete(u)}}}async migrateLanguageModelsProviderGroup(t){let{vendor:e,name:n,...o}=t;if(!this._vendors.get(e))throw new Error(`Vendor ${e} not found.`);await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${e}`);let i=this._providers.get(e);if(!i)throw new Error(`Chat model provider for vendor ${e} is not registered.`);await i.provideLanguageModelChatInfo({group:n,silent:!1,configuration:o},Pe.None),await this.addLanguageModelsProviderGroup(n,e,o)}_readRecentlyUsedModels(){return this._storageService.getObject(OV,0,[])}_saveRecentlyUsedModels(){this._storageService.store(OV,this._recentlyUsedModelIds,0,0)}getRecentlyUsedModelIds(){return this._recentlyUsedModelIds.filter(t=>this._modelCache.has(t)&&t!==Wp).slice(0,4)}addToRecentlyUsedList(t){if(t===Wp)return;let e=this._recentlyUsedModelIds.indexOf(t);e!==-1&&this._recentlyUsedModelIds.splice(e,1),this._recentlyUsedModelIds.unshift(t),this._recentlyUsedModelIds.length>20&&(this._recentlyUsedModelIds.length=20),this._saveRecentlyUsedModels()}clearRecentlyUsedList(){this._recentlyUsedModelIds=[],this._saveRecentlyUsedModels()}_readPinnedModels(){return this._storageService.getObject(NV,0,[])}_savePinnedModels(){this._storageService.store(NV,this._pinnedModelIds,0,0)}getPinnedModelIds(){return this._pinnedModelIds.filter(t=>t!==Wp&&this._modelCache.has(t))}pinModel(t,e){t===Wp||this._pinnedModelIds.includes(t)||(this._pinnedModelIds.push(t),this._savePinnedModels(),this._logPinChange(t,!0,e),this._onDidChangePinnedModels.fire())}unpinModel(t,e){let n=this._pinnedModelIds.indexOf(t);n!==-1&&(this._pinnedModelIds.splice(n,1),this._savePinnedModels(),this._logPinChange(t,!1,e),this._onDidChangePinnedModels.fire())}_logPinChange(t,e,n){let o=this.lookupLanguageModel(t);this._telemetryService.publicLog2("chat.modelPinChange",{model:pJ(o&&{identifier:t,metadata:o},this),pinned:e,pickerSessionId:n?.pickerSessionId})}isModelPinned(t){return t!==Wp&&this._pinnedModelIds.includes(t)}_getGroupNameForVendor(t){return this._vendors.get(t)?.displayName??t}_getModelIdsInGroup(t,e){let n=this._modelsGroups.get(t);if(!n)return[];let o=[],i=this._getGroupNameForVendor(t);for(let s of n)if((s.group?.name??i)===e)for(let l of s.modelIdentifiers)d_(l,this._modelCache.get(l))&&o.push(l);return o}_readVisibility(){let t=this._storageService.getObject(UV,0,{});this._hiddenModelIds=new Set(Array.isArray(t?.hiddenModels)?t.hiddenModels:[])}_saveVisibility(){this._storageService.store(UV,{hiddenModels:Array.from(this._hiddenModelIds)},0,0)}isGroupHidden(t,e){let n=this._getModelIdsInGroup(t,e);return n.length>0&&n.every(o=>this._hiddenModelIds.has(o))}isModelHidden(t){return this._hiddenModelIds.has(t)?d_(t,this._modelCache.get(t)):!1}setGroupHidden(t,e,n){this.setModelsHidden(this._getModelIdsInGroup(t,e),n)}setModelHidden(t,e){this.setModelsHidden([t],e)}setModelsHidden(t,e){let n=!1;for(let o of t)if(e){if(!d_(o,this._modelCache.get(o)))continue;this._hiddenModelIds.has(o)||(this._hiddenModelIds.add(o),n=!0)}else this._hiddenModelIds.delete(o)&&(n=!0);n&&(this._saveVisibility(),this._onDidChangeModelVisibility.fire())}getHiddenModelIds(){return Array.from(this._hiddenModelIds)}getModelsControlManifest(){return this._modelsControlManifest}_setModelsControlManifest(t){this._modelsControlRawResponse=t,this._refreshModelsControlManifest()}_refreshModelsControlManifest(){let t=this._modelsControlRawResponse,e={},n={};if(t?.free){let o=Array.isArray(t.free)?t.free:Object.values(t.free);for(let i of o)!i||!_e(i)||(e[i.id]={label:i.label,featured:i.featured,demoted:i.demoted,exists:this._modelCache.has(`copilot/${i.id}`)})}if(t?.paid){let o=Array.isArray(t.paid)?t.paid:Object.values(t.paid);for(let i of o)!i||!_e(i)||(n[i.id]={label:i.label,featured:i.featured,demoted:i.demoted,minVSCodeVersion:i.minVSCodeVersion,exists:this._modelCache.has(`copilot/${i.id}`)})}this._modelsControlManifest={free:e,paid:n},this._onDidChangeModelsControlManifest.fire(this._modelsControlManifest)}_initChatControlData(){if(this._chatControlUrl=this._productService.chatParticipantRegistry,!this._chatControlUrl)return;let t=this._storageService.get(u_,-1);try{this._restrictedChatParticipants.set(JSON.parse(t??"{}"),void 0)}catch{this._storageService.remove(u_,-1)}let e=this._storageService.get(p_,-1);try{let n=JSON.parse(e??"{}");_e(n)&&this._setModelsControlManifest(n)}catch{this._storageService.remove(p_,-1)}this._refreshChatControlData()}_refreshChatControlData(){this._chatControlDisposed||this._fetchChatControlData().catch(t=>this._logService.warn("Failed to fetch chat control data",t)).then(()=>Eo(300*1e3)).then(()=>this._refreshChatControlData())}async _fetchChatControlData(){this._logService.trace("[LM] Fetching chat control data from",this._chatControlUrl);let t;try{t=await this._requestService.request({type:"GET",url:this._chatControlUrl,callSite:"languageModels.fetchChatControlData"},Pe.None)}catch(o){this._logService.warn("[LM] Failed to request chat control data",ye(o));return}if(t.res.statusCode!==200){this._logService.warn(`[LM] Chat control data request failed with status ${t.res.statusCode}`);return}let e;try{e=await ts(t)}catch(o){this._logService.warn("[LM] Failed to parse chat control response",ye(o));return}if(this._logService.trace("[LM] Received chat control response",e?Object.keys(e):"null"),!e||e.version!==1){this._logService.warn("[LM] Unexpected chat control response version",e?.version);return}let n=e.restrictedChatParticipants;this._restrictedChatParticipants.set(n,void 0),this._storageService.store(u_,JSON.stringify(n),-1,1),e.models&&(this._logService.trace("[LM] Updating models control manifest",{freeCount:Object.keys(e.models.free??{}).length,paidCount:Object.keys(e.models.paid??{}).length}),this._setModelsControlManifest(e.models),this._storageService.store(p_,JSON.stringify(e.models),-1,1))}dispose(){this._chatControlDisposed=!0,this._store.dispose(),this._providers.clear()}};Jc=C([b(0,TV),b(1,z),b(2,si),b(3,Yi),b(4,MV),b(5,bV),b(6,EV),b(7,He),b(8,oo),b(9,yV),b(10,_x),b(11,Pt)],Jc)});function kh(r,t){let e=mx(r),n=`${fJ}${e}/${t}`,o=HV.get(e);o||(o=new Set,HV.set(e,o)),o.add(n),Wt(n)}var fJ,HV,Ph,f_=y(()=>{Qr();mh();fJ="code/chat/",HV=new Map,Ph={RequestStart:"request/start",RequestUiUpdated:"request/uiUpdated",WillCollectInstructions:"request/willCollectInstructions",DidCollectInstructions:"request/didCollectInstructions",FirstToken:"request/firstToken",RequestComplete:"request/complete",AgentWillInvoke:"agent/willInvoke",AgentDidInvoke:"agent/didInvoke"}});function h_(r){return`${r.extensionId.value}.${r.id}`}function hJ(r){return r.name!==void 0}function qx(r){let t=hJ(r)?r:{...r,name:r.id};return t.extensionPublisherId||(t.extensionPublisherId=r.extensionPublisher??""),t.extensionDisplayName||(t.extensionDisplayName=""),t.extensionId||(t.extensionId=new sn("")),Qt(t)}var WV,Vx,Bp,VV,Bx,$x=y(()=>{zE();de();ei();K();rs();Tt();tn();fo();jn();Z();XD();wh();g_();f_();WV=D("chatAgentService"),Vx=class extends _{constructor(e,n){super();this.contextKeyService=e;this.configurationService=n;this._agents=new Map;this._onDidChangeAgents=this._register(new T);this.onDidChangeAgents=this._onDidChangeAgents.event;this._onWillInvokeAgent=this._register(new T);this.onWillInvokeAgent=this._onWillInvokeAgent.event;this._agentsContextKeys=new Set;this._hasToolsAgent=!1;this._chatParticipantDetectionProviders=new Map;this._agentCompletionProviders=new Map;this._hasDefaultAgent=Kr.enabled.bindTo(this.contextKeyService),this._extensionAgentRegistered=Kr.extensionParticipantRegistered.bindTo(this.contextKeyService),this._defaultAgentRegistered=Kr.panelParticipantRegistered.bindTo(this.contextKeyService),this._register(e.onDidChangeContext(o=>{o.affectsSome(this._agentsContextKeys)&&this._updateContextKeys()}))}static{this.AGENT_LEADER="@"}registerAgent(e,n){if(this.getAgent(e))throw new Error(`Agent already registered: ${JSON.stringify(e)}`);let i=this,s=n.slashCommands;n={...n,get slashCommands(){return s.filter(l=>!l.when||i.contextKeyService.contextMatchesRules(Je.deserialize(l.when)))}};let a={data:n};return this._agents.set(e,a),this._updateAgentsContextKeys(),this._updateContextKeys(),this._onDidChangeAgents.fire(void 0),ce(()=>{this._agents.delete(e),this._updateAgentsContextKeys(),this._updateContextKeys(),this._onDidChangeAgents.fire(void 0)})}_updateAgentsContextKeys(){this._agentsContextKeys.clear();for(let e of this._agents.values())if(e.data.when){let n=Je.deserialize(e.data.when);for(let o of n?.keys()||[])this._agentsContextKeys.add(o)}}_updateContextKeys(){let e=!1,n=!1,o=!1;for(let i of this.getAgents())i.isDefault&&(i.isCore||(e=!0),i.id==="chat.setup"||i.id==="github.copilot.editsAgent"?o=!0:n=!0);this._defaultAgentRegistered.set(n),this._extensionAgentRegistered.set(e),o!==this._hasToolsAgent&&(this._hasToolsAgent=o,this._onDidChangeAgents.fire(this.getDefaultAgent("panel","agent")))}registerAgentImplementation(e,n){let o=this._agents.get(e);if(!o)throw new Error(`Unknown agent: ${JSON.stringify(e)}`);if(o.impl)throw new Error(`Agent already has implementation: ${JSON.stringify(e)}`);return o.data.isDefault&&this._hasDefaultAgent.set(!0),o.impl=n,this._onDidChangeAgents.fire(new Bp(o.data,n)),ce(()=>{o.impl=void 0,this._onDidChangeAgents.fire(void 0),o.data.isDefault&&this._hasDefaultAgent.set(Xt.some(this._agents.values(),i=>i.data.isDefault&&!!i.impl))})}registerDynamicAgent(e,n){e.isDynamic=!0;let o={data:e,impl:n};return this._agents.set(e.id,o),this._onDidChangeAgents.fire(new Bp(e,n)),ce(()=>{this._agents.delete(e.id),this._onDidChangeAgents.fire(void 0)})}registerAgentCompletionProvider(e,n){return this._agentCompletionProviders.set(e,n),{dispose:()=>{this._agentCompletionProviders.delete(e)}}}async getAgentCompletionItems(e,n,o){return await this._agentCompletionProviders.get(e)?.(n,o)??[]}updateAgent(e,n){let o=this._agents.get(e);if(!o?.impl)throw new Error(`No activated agent with id ${JSON.stringify(e)} registered`);o.data.metadata={...o.data.metadata,...n},this._onDidChangeAgents.fire(new Bp(o.data,o.impl))}getDefaultAgent(e,n="ask"){return this._preferExtensionAgent(this.getActivatedAgents().filter(o=>n&&!o.modes.includes(n)?!1:!!o.isDefault&&o.locations.includes(e)))}get hasToolsAgent(){return!!this.configurationService.getValue("chat.agent.enabled")}getContributedDefaultAgent(e){return this._preferExtensionAgent(this.getAgents().filter(n=>!!n.isDefault&&n.locations.includes(e)))}_preferExtensionAgent(e){return s0(e,n=>!n.isCore)??e.at(-1)}getAgent(e,n=!1){if(!(!this._agentIsEnabled(e)&&!n))return this._agents.get(e)?.data}_agentIsEnabled(e){let n=typeof e=="string"?this._agents.get(e):e;return!n?.data.when||this.contextKeyService.contextMatchesRules(Je.deserialize(n.data.when))}getAgentByFullyQualifiedId(e){let n=Xt.find(this._agents.values(),o=>h_(o.data)===e)?.data;if(!(n&&!this._agentIsEnabled(n.id)))return n}getAgents(){return Array.from(this._agents.values()).map(e=>e.data).filter(e=>this._agentIsEnabled(e.id))}getActivatedAgents(){return Array.from(this._agents.values()).filter(e=>!!e.impl).filter(e=>this._agentIsEnabled(e.data.id)).map(e=>new Bp(e.data,e.impl))}getAgentsByName(e){return this._preferExtensionAgents(this.getAgents().filter(n=>n.name===e))}_preferExtensionAgents(e){let n=e.filter(o=>!o.isCore);return n.length>0?n:e}agentHasDupeName(e){let n=this.getAgent(e);return n?this.getAgentsByName(n.name).filter(o=>o.extensionId.value!==n.extensionId.value).length>0:!1}async invokeAgent(e,n,o,i,s){kh(n.sessionResource,Ph.AgentWillInvoke);let a=this._agents.get(e);if(!a?.impl)throw new Error(`No activated agent with id "${e}"`);this._onWillInvokeAgent.fire({agentId:e,request:n});let l=await a.impl.invoke(n,o,i,s);return kh(n.sessionResource,Ph.AgentDidInvoke),l}setRequestTools(e,n,o){let i=this._agents.get(e);i?.impl&&i.impl.setRequestTools?.(n,o)}setYieldRequested(e,n,o){let i=this._agents.get(e);i?.impl&&i.impl.setYieldRequested?.(n,o)}async getFollowups(e,n,o,i,s){let a=this._agents.get(e);return a?.impl?.provideFollowups?a.impl.provideFollowups(n,o,i,s):[]}async getChatTitle(e,n,o){let i=this._agents.get(e);if(i?.impl?.provideChatTitle)return i.impl.provideChatTitle(n,o)}async getChatSummary(e,n,o){let i=this._agents.get(e);if(i?.impl?.provideChatSummary)return i.impl.provideChatSummary(n,o)}registerChatParticipantDetectionProvider(e,n){return this._chatParticipantDetectionProviders.set(e,n),ce(()=>{this._chatParticipantDetectionProviders.delete(e)})}hasChatParticipantDetectionProviders(){return this._chatParticipantDetectionProviders.size>0}async detectAgentOrCommand(e,n,o,i){let s=Xt.first(this._chatParticipantDetectionProviders.values());if(!s)return;let a=this.getAgents().reduce((p,m)=>{if(m.locations.includes(o.location)){p.push({participant:m.id,disambiguation:m.disambiguation??[]});for(let f of m.slashCommands)p.push({participant:m.id,command:f.name,disambiguation:f.disambiguation??[]})}return p},[]),l=await s.provideParticipantDetection(e,n,{...o,participants:a},i);if(!l)return;let c=this.getAgent(l.participant);if(!c)return;if(!l.command)return{agent:c};let u=c?.slashCommands.find(p=>p.name===l.command);if(u)return{agent:c,command:u}}};Vx=C([b(0,Yi),b(1,ft)],Vx);Bp=class{constructor(t,e){this.data=t;this.impl=e}get id(){return this.data.id}get name(){return this.data.name??""}get fullName(){return this.data.fullName??""}get description(){return this.data.description??""}get extensionId(){return this.data.extensionId}get extensionVersion(){return this.data.extensionVersion}get extensionPublisherId(){return this.data.extensionPublisherId}get extensionPublisherDisplayName(){return this.data.publisherDisplayName}get extensionDisplayName(){return this.data.extensionDisplayName}get isDefault(){return this.data.isDefault}get isCore(){return this.data.isCore}get metadata(){return this.data.metadata}get slashCommands(){return this.data.slashCommands}get locations(){return this.data.locations}get modes(){return this.data.modes}get disambiguation(){return this.data.disambiguation}async invoke(t,e,n,o){return this.impl.invoke(t,e,n,o)}setRequestTools(t,e){this.impl.setRequestTools?.(t,e)}setYieldRequested(t,e){this.impl.setYieldRequested?.(t,e)}async provideFollowups(t,e,n,o){return this.impl.provideFollowups?this.impl.provideFollowups(t,e,n,o):[]}toJSON(){return this.data}},VV=D("chatAgentNameService"),Bx=class{constructor(t){this.languageModelsService=t}getAgentNameRestriction(t){if(t.isCore)return!0;let e=this.checkAgentNameRestriction(t.name,t).get(),n=!t.fullName||this.checkAgentNameRestriction(t.fullName.replace(/\s/g,""),t).get();return e&&n}checkAgentNameRestriction(t,e){return this.languageModelsService.restrictedChatParticipants.map(o=>o[t.toLowerCase()]).map(o=>o?o.some(i=>Co(i,i.includes(".")?e.extensionId.value:e.extensionPublisherId)):!0)}};Bx=C([b(0,FV)],Bx)});var vJ,yJ,IJ,bJ,v_,SJ,qp,BV=y(()=>{De();vJ=250,yJ=500,IJ=250,bJ=1e3,v_=10,SJ=2,qp=class{constructor(t){this.logService=t;let e=Date.now();this._data={totalTime:0,lastUpdateTime:e,impliedWordLoadRate:0,lastWordCount:0,firstMarkdownTime:void 0,bootstrapActive:!0,wordCountAtBootstrapExit:void 0,updatesWithNewWords:0},this._publicData={impliedWordLoadRate:0,lastWordCount:0}}get data(){return this._publicData}get internalData(){return this._data}update(t){let{totalWordCount:e}=t;if(e===this._data.lastWordCount){this.trace("Update- no new words");return}let n=Date.now(),o=e-this._data.lastWordCount,i=this._data.lastWordCount===0,s=this._data.firstMarkdownTime,a=this._data.wordCountAtBootstrapExit;typeof s!="number"&&e>0&&(s=n);let l=this._data.updatesWithNewWords+1;i&&(this._data.lastUpdateTime=n);let c=o>v_?bJ:IJ,u=Math.min(n-this._data.lastUpdateTime,c),p=this._data.totalTime+u,m=i&&e>v_?yJ:vJ,f=this._data.bootstrapActive;if(f){let P=s;typeof P=="number"&&l>=SJ&&e>=v_?(f=!1,p=Math.max(n-P,u),a=this._data.lastWordCount,this.trace("Has stable data")):p=Math.max(p,m)}let h=typeof a=="number"?Math.max(e-a,0):e,v=p,I=f?e:h,E=v>0?I/(v/1e3):0;this._data={totalTime:p,lastUpdateTime:n,impliedWordLoadRate:E,lastWordCount:e,firstMarkdownTime:s,bootstrapActive:f,wordCountAtBootstrapExit:a,updatesWithNewWords:l},this._publicData={impliedWordLoadRate:E,lastWordCount:e};let w=f?e:h;return this.trace(`Update- got ${w} words over last ${p}ms = ${E} words/s`),this._data}trace(t){this.logService.trace(`ChatStreamStatsTracker#update: ${t}`)}};qp=C([b(0,z)],qp)});var y_,xJ,CJ,EJ,wJ,qV=y(()=>{Tt();y_=/(?<![a-zA-Z0-9])(?<dollars>\${1,2})(?!\.|\(["'])((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\k<dollars>(?![a-zA-Z0-9])/,xJ="vscode-katex-container",CJ="data-latex",EJ=new RegExp("^"+y_.source);(i=>{let r=/^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;function t(s,a={}){return{extensions:[n(a,e(s,a,!1)),o(a,e(s,a,!0))]}}i.extension=t;function e(s,a,l){return c=>{let u;try{let p=s.renderToString(c.text,{...a,throwOnError:!0,displayMode:c.displayMode});u=`<span class="${xJ}" ${CJ}="${Yv(c.text)}">${p}</span>`}catch{u=c.raw}return u+(l?`
`:"")}}function n(s,a){let l=EJ;return{name:"inlineKatex",level:"inline",start(c){let u,p=c;for(;p;){if(u=p.indexOf("$"),u===-1)return;if(p.substring(u).match(l))return u;p=p.substring(u+1).replace(/^\$+/,"")}},tokenizer(c,u){let p=c.match(l);if(p)return{type:"inlineKatex",raw:p[0],text:p[2].trim(),displayMode:p[1].length===2}},renderer:a}}function o(s,a){return{name:"blockKatex",level:"block",start(l){return l.match(new RegExp(r.source,"m"))?.index},tokenizer(l,c){let u=l.match(r);if(u)return{type:"blockKatex",raw:u[0],text:u[2].trim(),displayMode:u[1].length===2}},renderer:a}}})(wJ||={})});function PJ(r,t){let n=new RegExp("(?:"+RJ+")|(?:"+y_.source+Go`)|\p{sc=Han}|=+|\++|-+|[^\s\|\p{sc=Han}|=|\+|\-|${"`"}]+`,"gu"),o=Array.from(r.matchAll(n)),i=o.slice(0,t),s=t>=o.length?r.length:i.length?i.at(-1).index+i.at(-1)[0].length:0,a=r.substring(0,s);return{value:a,returnedWordCount:i.length===0?a.length?1:0:i.length,isFullString:s>=r.length,totalWordCount:o.length}}function $V(r){return PJ(r,Number.MAX_SAFE_INTEGER).returnedWordCount}var Go,RJ,zV=y(()=>{qV();Go=String.raw,RJ=Go`(?<!\\)`+Go`(!?\[`+Go`(?:`+Go`[^\[\]\\]|`+Go`\\.|`+Go`\[[^\[\]]*\]`+Go`)*`+Go`\])`+Go`(\(\s*)`+Go`(`+Go`[^\s\(\)<](?:[^\s\(\)]|\([^\s\(\)]*?\))*|`+Go`<(?:\\[<>]|[^<>])+>`+Go`)`+Go`\s*(?:"[^"]*"|'[^']*'|\([^\(\)]*\))?\s*`+Go`\)`});function Gx(r){return!!r&&typeof r=="object"&&"message"in r}function DJ(r){return!!r&&typeof r.setVote<"u"}var zx,$p,Dh,GV=y(()=>{as();de();K();Ee();Ne();Z();Up();$x();BV();zV();zx=class extends _{constructor(e,n,o){super();this._model=e;this._options=n;this.instantiationService=o;this._onDidDisposeModel=this._register(new T);this.onDidDisposeModel=this._onDidDisposeModel.event;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this._onDidChangeEditing=this._register(new T);this.onDidChangeEditing=this._onDidChangeEditing.event;this._items=[];this._responseDisposables=this._register(new Fo);this._inputPlaceholder=void 0;this._editing=void 0;e.getRequests().forEach((i,s)=>{let a=this.instantiationService.createInstance($p,i);this._items.push(a),i.response&&this.onAddResponse(i.response)}),this._register(e.onDidDispose(()=>this._onDidDisposeModel.fire())),this._register(e.onDidChangePendingRequests(()=>this._onDidChange.fire(null))),this._register(e.onDidChange(i=>{if(i.kind==="addRequest"){i.replacedRequest&&this.removeRequest(i.replacedRequest.id,i.replacedRequest.response?.id);let a=i.index===void 0?void 0:e.getRequests()[i.index+1],l=a?this._items.findIndex(u=>Gx(u)&&u.id===a.id):this._items.length;if(l<0)throw new It("Chat request insertion anchor is missing from the view");let c=this.instantiationService.createInstance($p,i.request);this._items.splice(l,0,c),i.request.response&&this.onAddResponse(i.request.response,l+1)}else i.kind==="addResponse"?this.onAddResponse(i.response):i.kind==="removeRequest"&&this.removeRequest(i.requestId,i.responseId);let s=i.kind==="addRequest"?{kind:"addRequest"}:i.kind==="initialize"?{kind:"initialize"}:i.kind==="setHidden"?{kind:"setHidden"}:null;this._onDidChange.fire(s)}))}get inputPlaceholder(){return this._inputPlaceholder}get model(){return this._model}setInputPlaceholder(e){this._inputPlaceholder=e,this._onDidChange.fire({kind:"changePlaceholder"})}resetInputPlaceholder(){this._inputPlaceholder=void 0,this._onDidChange.fire({kind:"changePlaceholder"})}get sessionResource(){return this._model.sessionResource}removeRequest(e,n){let o=this._items.findIndex(i=>Gx(i)&&i.id===e);if(o>=0&&this._items.splice(o,1),n!==void 0){let i=this._items.findIndex(s=>DJ(s)&&s.id===n);i>=0&&(this._items.splice(i,1),this._responseDisposables.deleteAndDispose(n))}}onAddResponse(e,n=this._items.length){let o=new ie;this._responseDisposables.set(e.id,o);let i=o.add(this.instantiationService.createInstance(Dh,e,this));o.add(i.onDidChange(()=>this._onDidChange.fire(null))),this._items.splice(n,0,i)}getItems(){let e=this._items.filter(o=>!(o.isHiddenFromTranscript||Gx(o)&&o.isRequestHiddenFromTranscript||o.shouldBeRemovedOnSend&&!o.shouldBeRemovedOnSend.afterUndoStop));this._options?.maxVisibleItems!==void 0&&e.length>this._options.maxVisibleItems&&(e=e.slice(-this._options.maxVisibleItems));let n=this._model.getPendingRequests().filter(o=>!o.request.isRequestHiddenFromTranscript);if(n.length>0){let o=n.filter(s=>s.kind==="steering"),i=n.filter(s=>s.kind==="queued");if(o.length>0){let s=o.every(a=>a.request.isSystemInitiated);e.push({kind:"pendingDivider",id:"pending-divider-steering",sessionResource:this._model.sessionResource,isComplete:!0,dividerKind:"steering",isSystemInitiated:s,currentRenderedHeight:void 0});for(let a of o){let l=this.instantiationService.createInstance($p,a.request,a.kind);e.push(l)}}if(i.length>0){e.push({kind:"pendingDivider",id:"pending-divider-queued",sessionResource:this._model.sessionResource,isComplete:!0,dividerKind:"queued",currentRenderedHeight:void 0});for(let s of i){let a=this.instantiationService.createInstance($p,s.request,s.kind);e.push(a)}}}return e}get editing(){return this._editing}setEditing(e){this._editing?.id!==e?.id&&(this._editing=e,this._onDidChangeEditing.fire())}dispose(){super.dispose(),this._items.length=0}};zx=C([b(2,Ln)],zx);$p=class{constructor(t,e){this._model=t;this._pendingKind=e}get id(){return this._model.id}get dataId(){return`${this.id}_${this._model.response?.id}_${this._model.version+(this._model.response?.isComplete?1:0)}`}get sessionResource(){return this._model.session.sessionResource}get username(){return"User"}get avatarIcon(){return X.account}get message(){return this._model.message}get messageText(){return this.message.text}get attempt(){return this._model.attempt}get variables(){return this._model.variableData.variables}get contentReferences(){return this._model.response?.contentReferences}get confirmation(){return this._model.confirmation}get isComplete(){return this._model.response?.isComplete??!1}get isCompleteAddedRequest(){return this._model.isCompleteAddedRequest}get isTerminalCommand(){return this._model.isTerminalCommand}get shouldBeRemovedOnSend(){return this._model.shouldBeRemovedOnSend}get isHiddenFromTranscript(){return this._model.isHiddenFromTranscript}get isRequestHiddenFromTranscript(){return this._model.isRequestHiddenFromTranscript}get shouldBeBlocked(){return this._model.shouldBeBlocked}get slashCommand(){return this._model.response?.slashCommand}get agentOrSlashCommandDetected(){return this._model.response?.agentOrSlashCommandDetected??!1}get attachedContext(){return this._model.attachedContext}get modelId(){return this._model.modelId}get modelConfiguration(){return this._model.modelConfiguration}get resolvedModelId(){let t=this._model.response?.result?.metadata?.resolvedModel;return typeof t=="string"?t:void 0}get timestamp(){return this._model.timestamp}get requestTimestamp(){return this._model.requestTimestamp}get origin(){return this._model.origin}get pendingKind(){return this._pendingKind}get isSystemInitiated(){return this._model.isSystemInitiated}get requestSource(){return this._model.requestSource}get systemInitiatedLabel(){return this._model.systemInitiatedLabel}},Dh=class extends _{constructor(e,n,o,i){super();this._model=e;this.session=n;this.instantiationService=o;this.chatAgentNameService=i;this._modelChangeCount=0;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this.renderData=void 0;this._vulnerabilitiesListExpanded=!1;e.isComplete||(this.liveUpdateTracker=this.instantiationService.createInstance(qp));let s=this.liveUpdateTracker?this._register(new Yo(()=>{let a=$V(e.entireResponse.getMarkdown());this.liveUpdateTracker.update({totalWordCount:a})},0)):void 0;this._register(e.onDidChange(()=>{s?.schedule(),this._modelChangeCount++,this._onDidChange.fire()}))}get model(){return this._model}get id(){return this._model.id}get dataId(){return this._model.id+`_${this._modelChangeCount}`+(this.isLast?"_last":"")}get sessionResource(){return this._model.session.sessionResource}get username(){return this.agent?this.chatAgentNameService.getAgentNameRestriction(this.agent)?this.agent.fullName||this.agent.name:h_(this.agent):this._model.username}get agent(){return this._model.agent}get slashCommand(){return this._model.slashCommand}get agentOrSlashCommandDetected(){return this._model.agentOrSlashCommandDetected}get response(){return this._model.response}get usedContext(){return this._model.usedContext}get contentReferences(){return this._model.contentReferences}get codeCitations(){return this._model.codeCitations}get progressMessages(){return this._model.progressMessages}get isComplete(){return this._model.isComplete}get isCanceled(){return this._model.isCanceled}get shouldBeBlocked(){return this._model.shouldBeBlocked}get shouldBeRemovedOnSend(){return this._model.shouldBeRemovedOnSend}get isHiddenFromTranscript(){return this._model.isHiddenFromTranscript}get isCompleteAddedRequest(){return this._model.isCompleteAddedRequest}get isTerminalCommand(){return this._model.request?.isTerminalCommand??!1}get replyFollowups(){return this._model.followups?.filter(e=>e.kind==="reply")}get result(){return this._model.result}get errorDetails(){return this.result?.errorDetails}get vote(){return this._model.vote}get requestId(){return this._model.requestId}get isStale(){return this._model.isStale}get isLast(){return this.session.getItems().at(-1)===this}get usedReferencesExpanded(){if(typeof this._usedReferencesExpanded=="boolean")return this._usedReferencesExpanded}set usedReferencesExpanded(e){this._usedReferencesExpanded=e}get vulnerabilitiesListExpanded(){return this._vulnerabilitiesListExpanded}set vulnerabilitiesListExpanded(e){this._vulnerabilitiesListExpanded=e}get contentUpdateTimings(){return this.liveUpdateTracker?.data}get confirmationAdjustedTimestamp(){return this._model.confirmationAdjustedTimestamp}get usageObs(){return this._model.usageObs}get completionTokenCountObs(){return this._model.completionTokenCountObs}setVote(e){this._modelChangeCount++,this._model.setVote(e)}setEditApplied(e,n){this._modelChangeCount++,this._model.setEditApplied(e,n)}};Dh=C([b(2,Ln),b(3,VV)],Dh)});var tr,I_=y(()=>{Ee();tr=class r{constructor(t,e){this.start=t;this.endExclusive=e;if(t>e)throw new It(`Invalid range: ${this.toString()}`)}static fromTo(t,e){return new r(t,e)}static equals(t,e){return t.start===e.start&&t.endExclusive===e.endExclusive}static addRange(t,e){let n=0;for(;n<e.length&&e[n].endExclusive<t.start;)n++;let o=n;for(;o<e.length&&e[o].start<=t.endExclusive;)o++;if(n===o)e.splice(n,0,t);else{let i=Math.min(t.start,e[n].start),s=Math.max(t.endExclusive,e[o-1].endExclusive);e.splice(n,o-n,new r(i,s))}}static tryCreate(t,e){if(!(t>e))return new r(t,e)}static ofLength(t){return new r(0,t)}static ofStartAndLength(t,e){return new r(t,t+e)}static emptyAt(t){return new r(t,t)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new r(this.start+t,this.endExclusive+t)}deltaStart(t){return new r(this.start+t,this.endExclusive)}deltaEnd(t){return new r(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(t){return this.start===t.start&&this.endExclusive===t.endExclusive}containsRange(t){return this.start<=t.start&&t.endExclusive<=this.endExclusive}contains(t){return this.start<=t&&t<this.endExclusive}join(t){return new r(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);if(e<=n)return new r(e,n)}intersectionLength(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return Math.max(0,n-e)}intersects(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return e<n}intersectsOrTouches(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return e<=n}isBefore(t){return this.endExclusive<=t.start}isAfter(t){return this.start>=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}substring(t){return t.substring(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new It(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new It(`Invalid clipping range: ${this.toString()}`);return t<this.start?this.endExclusive-(this.start-t)%this.length:t>=this.endExclusive?this.start+(t-this.start)%this.length:t}map(t){let e=[];for(let n=this.start;n<this.endExclusive;n++)e.push(t(n));return e}forEach(t){for(let e=this.start;e<this.endExclusive;e++)t(e)}joinRightTouching(t){if(this.endExclusive!==t.start)throw new It(`Invalid join: ${this.toString()} and ${t.toString()}`);return new r(this.start,t.endExclusive)}withMargin(t,e){return e===void 0&&(e=t),new r(this.start-t,this.endExclusive+e)}}});function XV(r){return r===x_?"":r.startsWith(Kx)?r.slice(Kx.length):r}function _J(r){return r.split(`
`).map(XV).join(`
`)}function MJ(r){return r.split(`
`).some(t=>t.startsWith(Kx)||t===x_)}function e4(r){let t=r.indexOf(b_);if(t===-1)return;let e=r.lastIndexOf(KV);if(e<t+b_.length)return;let n=r.slice(t+b_.length,e).trim().split(`
`),o=n.find(a=>a.startsWith(jV));if(o===void 0)return;let i=OJ(n),s=AJ.exec(i.get("Head:")?.trim()??"")?.groups;return{actions:NJ(o.slice(jV.length)),pullRequestUrl:i.get("Pull request:")?.trim()??"",title:i.get("Title:")?.trim()??"",headRef:s?.ref??"",headSha:s?.sha??"",baseRef:i.get("Base:")?.trim()??"",reviewThreads:FJ(i.get("Unresolved authorized review threads:")),reviewSummaries:YV(i.get("Changes-requested reviews:")),newComments:YV(i.get("New authorized comments:")),failedChecks:UJ(i.get("Failed required checks:")),behind:i.get("Behind base:")?.trim()==="yes",conflicting:i.get("Conflicting:")?.trim()==="yes",agentMessage:r.slice(e+KV.length).trim()}}function OJ(r){let t=new Map,e=r.length;for(let i=S_.length-1;i>=0;i--){let s=S_[i];for(let a=e-1;a>=0;a--)if(r[a].startsWith(s)){t.set(s,a),e=a;break}}let n=S_.filter(i=>t.has(i)),o=new Map;for(let i=0;i<n.length;i++){let s=n[i],a=t.get(s),l=i+1<n.length?t.get(n[i+1]):r.length,c=[r[a].slice(s.length),...r.slice(a+1,l)].join(`
`);o.set(s,c.replace(/^[^\S\n]+/,"").replace(/^\n+/,""))}return o}function NJ(r){let t=new Set(r.split(",").map(n=>n.trim()).filter(Boolean));return Object.keys(JV).filter(n=>t.has(JV[n]))}function UJ(r){let t=r?.trim();return!t||t==="none"?[]:MJ(t)?t.split(`
`).map(XV).map(e=>e.trim()).filter(Boolean):t.split(",").map(e=>e.trim()).filter(Boolean)}function FJ(r){let t=r?.trim();return!t||t==="none"?[]:n4(t,e=>e.startsWith("Thread ")).map(HJ).filter(e=>!!e)}function HJ(r){let t=r.split(`
`);if(!t[0]?.startsWith("Thread "))return;let e=t[0].slice(7).trim(),n=1,o,i;if(t[n]?.startsWith("File: ")){let a=LJ.exec(t[n].slice(6).trim());o=a?.groups?.path||void 0;let l=Number(a?.groups?.line);i=Number.isSafeInteger(l)?l:void 0,n++}t[n]==="Feedback:"&&n++;let s=t.slice(n).join(`
`).trim();return{id:e,...o!==void 0?{path:o}:{},...i!==void 0?{line:i}:{},comments:s?[t4(s)]:[]}}function YV(r){let t=r?.trim();return!t||t==="none"?[]:n4(t,n=>{let o=n.split(`
`)[0]??"";return o.startsWith(Kx)||o===x_||ZV.test(o)}).map(t4)}function t4(r){let t=_J(r).trim(),e=ZV.exec(t);return e?.groups?{author:e.groups.author,body:e.groups.body.trim()}:{body:t}}function n4(r,t){let e=[];for(let n of r.split(`
${QV}
`))e.length===0||t(n)?e.push(n):e[e.length-1]+=`
${QV}
${n}`;return e.map(n=>n.trim()).filter(Boolean)}var b_,KV,jV,QV,Kx,x_,JV,S_,ZV,AJ,LJ,o4=y(()=>{b_="<agent_merge_state>",KV="</agent_merge_state>",jV="Authorized actions this run: ",QV="---",Kx="> ",x_=">";JV={addressReviews:"address review feedback",fixCI:"fix failed required CI checks",resolveConflicts:"resolve conflicts or update the behind branch"},S_=["Pull request:","Title:","Head:","Base:","Unresolved authorized review threads:","Changes-requested reviews:","New authorized comments:","Failed required checks:","Behind base:","Conflicting:"],ZV=/^(?<author>[A-Za-z0-9-_.]+(?:\[bot\])?): (?<body>[\s\S]*)$/,AJ=/^(?<ref>.*?) \((?<sha>[^()]*)\)$/,LJ=/^(?<path>.*?)(?::(?<line>\d+))?$/});var r4,m6e,g6e,f6e,h6e,v6e,y6e,I6e,b6e,C_=y(()=>{Ke();Ee();ma();we();oe();re();fo();Z();r4=D("chatEditingService"),m6e=new x("chatEditingWidgetFileState",void 0,d(12604,null)),g6e=new x("chatEditingAgentSupportsReadonlyReferences",void 0,d(12603,null)),f6e=new x("decidedChatEditingResource",[]),h6e=new x("chatEditingResource",void 0),v6e=new x("inChatEditingSession",void 0),y6e=new x("hasUndecidedChatEditingResource",!1),I6e=new x("hasAppliedChatEdits",!1),b6e=new x("applyingChatEditsFailed",!1)});function E_(r){return TW(r)&&(r={kind:"terminal",commandLine:{original:r.command,toolEdited:void 0,userEdited:void 0},language:r.language}),r}var i4=y(()=>{Sn();C_();Up()});function s4(r,t){return typeof r=="string"&&r?d(12592,null,r):t!==void 0&&t!==0?d(12591,null,t):r?d(12590,null):void 0}var _6e,M6e,A6e,a4=y(()=>{re();ob();me();_6e=1440*60*1e3,M6e=tf.DateTimeFormat(pn,{hour:"numeric",minute:"2-digit"}),A6e=tf.DateTimeFormat(pn,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"2-digit"})});function l4(r){return{kind:r.kind,sourceSessionResource:r.sourceSessionResource.toJSON(),...r.delegationScope?{delegationScope:r.delegationScope}:{}}}function c4(r){if(r?.kind!=="delegation")return;let t=S.revive(r.sourceSessionResource);return t?{kind:r.kind,sourceSessionResource:t,...r.delegationScope?{delegationScope:r.delegationScope}:{}}:void 0}var W6e,d4=y(()=>{K();oe();Z();W6e=D("chatRequestOriginService")});var u4=y(()=>{});function w_(r){return typeof r=="object"&&typeof r?.input=="string"&&(typeof r?.output=="string"||Array.isArray(r?.output))}function T_(r){return typeof r=="object"&&typeof r?.output=="object"&&typeof r?.output?.mimeType=="string"&&r?.output?.type==="data"}var _h,rze,WJ,VJ,Mh=y(()=>{ei();K();Ae();ma();oe();re();nt();Z();u4();(i=>{i.Internal={type:"internal",label:"Built-In"},i.External={type:"external",label:"External"};function e(s){switch(s.type){case"extension":return`extension:${s.extensionId.value}`;case"mcp":return`mcp:${s.collectionId}:${s.definitionId}`;case"user":return`user:${s.file.toString()}`;case"internal":return"internal";case"external":return"external"}}i.toKey=e;function n(s,a){return e(s)===e(a)}i.equals=n;function o(s){return s.type==="internal"?{ordinal:1,label:d(13118,null)}:s.type==="mcp"?{ordinal:2,label:s.serverLabel||s.label}:s.type==="user"?{ordinal:0,label:d(13120,null)}:{ordinal:3,label:s.label}}i.classify=o})(_h||={});rze=D("ILanguageModelToolsService");(a=>(a.execute="execute",a.edit="edit",a.search="search",a.agent="agent",a.read="read",a.web="web",a.todo="todo"))(WJ||={});(e=>(e.runSubagent="runSubagent",e.vscode="vscode"))(VJ||={})});var Ah,p4=y(()=>{Ke();ma();nl();re();Up();Mh();Ah=class r{constructor(t,e,n,o,i,s={},a){this.toolCallId=n;this.kind="toolInvocation";this.isAttachedToThinking=!1;this._toolSpecificDataKind=Bn(this,void 0);this.toolSpecificDataKind=this._toolSpecificDataKind;this._progress=Bn(this,{progress:0});this._partialInput=Bn(this,void 0);this._streamingMessage=Bn(this,void 0);let l="";s.startInStreaming?l=e.displayName:s.startInCancelled&&(l=s.cancelReasonMessage??d(12649,null,e.displayName)),this.invocationMessage=t?.invocationMessage??l,this.pastTenseMessage=t?.pastTenseMessage,this.originMessage=t?.originMessage,this.confirmationMessages=t?.confirmationMessages,this.presentation=t?.presentation,this.toolSpecificData=t?.toolSpecificData,this.toolId=e.id,this.icon=t?.icon??(e.icon&&an.isThemeIcon(e.icon)?e.icon:void 0),this.source=e.source,this.subAgentInvocationId=o,this.parameters=i,this.chatRequestId=a,s.startInCancelled?this._state=Bn(this,{type:Re.StateKind.Cancelled,reason:s.cancelReason?.type??0,...s.cancelReason?.source!==void 0?{source:s.cancelReason.source}:{},reasonMessage:s.cancelReasonMessage,parameters:this.parameters,confirmationMessages:this.confirmationMessages}):s.startInStreaming?this._state=Bn(this,{type:Re.StateKind.Streaming,partialInput:this._partialInput,streamingMessage:this._streamingMessage}):this.confirmationMessages?.title?this._state=Bn(this,{type:Re.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:c=>this._confirm(c)}):this._state=Bn(this,{type:Re.StateKind.Executing,confirmed:{type:1,reason:this.confirmationMessages?.confirmationNotNeededReason},progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages})}get toolSpecificData(){return this._toolSpecificData}set toolSpecificData(t){this._toolSpecificData=t,this._toolSpecificDataKind.set(t?.kind,void 0)}get state(){return this._state}static createStreaming(t){return new r(void 0,t.toolData,t.toolCallId,t.subagentInvocationId,void 0,{startInStreaming:!0},t.chatRequestId)}static createCancelled(t,e,n,o){return new r(void 0,t.toolData,t.toolCallId,t.subagentInvocationId,e,{startInCancelled:!0,cancelReason:n,cancelReasonMessage:o},t.chatRequestId)}_confirm(t){t.type===0||t.type===5?this._state.set({type:Re.StateKind.Cancelled,reason:t.type,...t.source!==void 0?{source:t.source}:{},parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0):this._state.set({type:Re.StateKind.Executing,confirmed:t,progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}updatePartialInput(t){this._state.get().type===Re.StateKind.Streaming&&this._partialInput.set(t,void 0)}updateStreamingMessage(t){this._state.get().type===Re.StateKind.Streaming&&this._streamingMessage.set(t,void 0)}notifyToolSpecificDataChanged(){let t=this._state.get();this._state.set({...t},void 0)}updateConfirmationMessages(t){let e=this._state.get();e.type===Re.StateKind.WaitingForConfirmation&&(this.confirmationMessages=t,this._state.set({...e,confirmationMessages:t},void 0))}cancelFromStreaming(t,e){return this._state.get().type!==Re.StateKind.Streaming?!1:(this._state.set({type:Re.StateKind.Cancelled,reason:t.type,...t.source!==void 0?{source:t.source}:{},reasonMessage:e,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0),!0)}transitionFromStreaming(t,e,n){if(this._state.get().type!==Re.StateKind.Streaming)return;let i=this._streamingMessage.get();i&&!t?.invocationMessage&&(this.invocationMessage=i),this._updatePreparedInvocation(t,e),n?this._confirm(n):this.confirmationMessages?.title?this._state.set({type:Re.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:s=>this._confirm(s)},void 0):this._state.set({type:Re.StateKind.Executing,confirmed:{type:1,reason:this.confirmationMessages?.confirmationNotNeededReason},progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}updatePreparedInvocation(t,e){let n=this._state.get();return n.type===Re.StateKind.Streaming||n.type===Re.StateKind.Completed||n.type===Re.StateKind.Cancelled?!1:(this._updatePreparedInvocation(t,e),this._state.set({...n,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0),!0)}_updatePreparedInvocation(t,e){this.parameters=e,t&&(t.invocationMessage&&(this.invocationMessage=t.invocationMessage),this.originMessage=t.originMessage??this.originMessage,this.pastTenseMessage=t.pastTenseMessage,this.confirmationMessages=t.confirmationMessages,this.presentation=t.presentation,this.toolSpecificData=t.toolSpecificData)}requestConfirmation(t){let e=this._state.get().type;if(e===Re.StateKind.Streaming){this.transitionFromStreaming(t,this.parameters,void 0);return}e===Re.StateKind.Completed||e===Re.StateKind.Cancelled||e===Re.StateKind.WaitingForConfirmation||(t.invocationMessage&&(this.invocationMessage=t.invocationMessage),this.originMessage=t.originMessage??this.originMessage,this.pastTenseMessage=t.pastTenseMessage,this.confirmationMessages=t.confirmationMessages,this.presentation=t.presentation,this.toolSpecificData=t.toolSpecificData,this.confirmationMessages?.title&&this._state.set({type:Re.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:n=>this._confirm(n)},void 0))}_setCompleted(t,e){if(e&&(e.type===0||e.type===5)){this._state.set({type:Re.StateKind.Cancelled,reason:e.type,...e.source!==void 0?{source:e.source}:{},parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0);return}this._state.set({type:Re.StateKind.Completed,confirmed:Re.executionConfirmedOrDenied(this)||{type:1},resultDetails:t?.toolResultDetails,resultError:t?.toolResultError,postConfirmed:e,contentForModel:t?.content||[],parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}async didExecuteTool(t,e,n){let o=this._state.get();if(o.type===Re.StateKind.Completed||o.type===Re.StateKind.Cancelled)return o;if(t?.toolSpecificData&&(this.toolSpecificData=t.toolSpecificData),t?.toolResultMessage?this.pastTenseMessage=t.toolResultMessage:this._progress.get().message&&(this.pastTenseMessage=this._progress.get().message),this.confirmationMessages?.confirmResults&&!t?.toolResultError&&t?.confirmResults!==!1&&!e){let i=await n?.();i?this._setCompleted(t,i):this._state.set({type:Re.StateKind.WaitingForPostApproval,confirmed:Re.executionConfirmedOrDenied(this)||{type:1},resultDetails:t?.toolResultDetails,contentForModel:t?.content||[],confirm:s=>this._setCompleted(t,s),parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}else this._setCompleted(t);return this._state.get()}setAuthenticationRequired(t,e=()=>{}){let n=this._state.get();n.type!==Re.StateKind.Executing&&n.type!==Re.StateKind.WaitingForAuthentication||this._state.set({type:Re.StateKind.WaitingForAuthentication,server:t,cancel:n.type===Re.StateKind.WaitingForAuthentication?n.cancel:e,confirmed:n.confirmed,parameters:n.parameters,confirmationMessages:n.confirmationMessages},void 0)}setAuthenticationResolved(){let t=this._state.get();t.type===Re.StateKind.WaitingForAuthentication&&this._state.set({type:Re.StateKind.Executing,confirmed:t.confirmed,progress:this._progress,parameters:t.parameters,confirmationMessages:t.confirmationMessages},void 0)}acceptProgress(t){let e=this._progress.get();this._progress.set({progress:t.progress||e.progress||0,message:t.message},void 0)}toJSON(){let t=this.state.get().type===Re.StateKind.WaitingForPostApproval,e=t?void 0:Re.resultDetails(this);return{kind:"toolInvocationSerialized",presentation:this.presentation,invocationMessage:this.invocationMessage,pastTenseMessage:this.pastTenseMessage,originMessage:this.originMessage,isConfirmed:t?{type:5}:Re.executionConfirmedOrDenied(this),isComplete:!0,source:this.source,...this.icon?{icon:this.icon}:{},resultError:Re.resultError(this),resultDetails:T_(e)?{output:{type:"data",mimeType:e.output.mimeType,base64Data:To(e.output.value)}}:e,toolSpecificData:this.toolSpecificData?.kind==="automationConfiguration"?void 0:this.toolSpecificData,toolCallId:this.toolCallId,toolId:this.toolId,subAgentInvocationId:this.subAgentInvocationId,generatedTitle:this.generatedTitle}}}});var jx,m4=y(()=>{Ne();de();jx=class{constructor(t,e,n,o,i,s,a,l,c,u){this.title=t;this.content=e;this.actions=n;this.canProvideFeedback=o;this.planUri=i;this.resolveId=s;this.data=a;this.isUsed=l;this.source=c;this.isOutdated=u;this.kind="planReview";this.completion=new zn;this._onDidDismiss=new T;this.onDidDismiss=this._onDidDismiss.event}dismiss(){this.isUsed||(this.isUsed=!0,this.draftFeedback=void 0,this.draftCollapsed=void 0,this.completion.complete(void 0),this._onDidDismiss.fire())}toJSON(){return{kind:this.kind,title:this.title,content:this.content,actions:this.actions,canProvideFeedback:this.canProvideFeedback,planUri:this.planUri,resolveId:this.resolveId,data:this.data,isUsed:this.isUsed,isOutdated:this.isOutdated,source:this.source}}}});var Qx,g4=y(()=>{Ne();Qx=class{constructor(t,e,n,o,i,s,a,l,c){this.questions=t;this.allowSkip=e;this.resolveId=n;this.data=o;this.isUsed=i;this.message=s;this.source=a;this.terminalId=l;this.answerPresentation=c;this.kind="questionCarousel";this.completion=new zn}dismiss(t){this.isUsed||(this.data=t??{},this.isUsed=!0,this.draftAnswers=void 0,this.draftCurrentIndex=void 0,this.draftCollapsed=void 0,this.completion.complete({answers:t}))}toJSON(){return{kind:this.kind,questions:this.questions,allowSkip:this.allowSkip,resolveId:this.resolveId,data:this.data,isUsed:this.isUsed,answeredExternally:this.answeredExternally,autoReply:this.autoReply,message:this.message,source:this.source,terminalId:this.terminalId,answerPresentation:this.answerPresentation}}}});function f4(r){return{text:r.text,parts:r.parts.map(t=>{if(t.kind===zp.Kind)return new zp(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.text);if(t.kind===Jx.Kind)return new Jx(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.variableName,t.variableArg,t.variableId||"");if(t.kind===Yx.Kind)return new Yx(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.toolName,t.toolId,t.displayName,t.icon);if(t.kind===Xx.Kind)return new Xx(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.id,t.name,t.icon,t.tools??[]);if(t.kind===Zx.Kind){let e=t.agent;return e=qx(e),new Zx(new tr(t.range.start,t.range.endExclusive),t.editorRange,e)}else{if(t.kind===eC.Kind)return new eC(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.command);if(t.kind===tC.Kind)return new tC(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.slashCommand);if(t.kind===nC.Kind)return new nC(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.name,t.displayText);if(t.kind===oC.Kind)return new oC(new tr(t.range.start,t.range.endExclusive),t.editorRange,t.text,t.id,t.modelDescription,Qt(t.data),t.fullName,t.icon,t.isFile,t.isDirectory,t._meta,t.isAttachmentReference,t.promptTextOverride);throw new Error(`Unknown chat request part: ${t.kind}`)}})}}var qJ,zp,rC,$J,Lh,Jx,Yx,Xx,Zx,eC,tC,nC,oC,h4=y(()=>{rs();nl();I_();sa();$x();gh();hh();(t=>{function r(e,n){return e.text===n.text&&fD(e.parts,n.parts,(o,i)=>o.kind===i.kind&&tr.equals(o.range,i.range)&&Pn.equalsRange(o.editorRange,i.editorRange)&&o.text===i.text)}t.equals=r})(qJ||={});zp=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.text=n;this.kind=r.Kind}static{this.Kind="text"}get promptText(){return this.text}},rC="#",$J="@",Lh="/",Jx=class r{constructor(t,e,n,o,i){this.range=t;this.editorRange=e;this.variableName=n;this.variableArg=o;this.variableId=i;this.kind=r.Kind}static{this.Kind="var"}get text(){let t=this.variableArg?`:${this.variableArg}`:"";return`${rC}${this.variableName}${t}`}get promptText(){return this.text}},Yx=class r{constructor(t,e,n,o,i,s){this.range=t;this.editorRange=e;this.toolName=n;this.toolId=o;this.displayName=i;this.icon=s;this.kind=r.Kind}static{this.Kind="tool"}get text(){return`${rC}${this.toolName}`}get promptText(){return this.text}toVariableEntry(){return{kind:"tool",id:this.toolId,name:this.toolName,range:this.range,value:void 0,icon:an.isThemeIcon(this.icon)?this.icon:void 0,fullName:this.displayName}}},Xx=class r{constructor(t,e,n,o,i,s){this.range=t;this.editorRange=e;this.id=n;this.name=o;this.icon=i;this.tools=s;this.kind=r.Kind}static{this.Kind="toolset"}get text(){return`${rC}${this.name}`}get promptText(){return this.text}toVariableEntry(){return{kind:"toolset",id:this.id,name:this.name,range:this.range,icon:this.icon,value:this.tools}}},Zx=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.agent=n;this.kind=r.Kind}static{this.Kind="agent"}get text(){return`${$J}${this.agent.name}`}get promptText(){return""}},eC=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.command=n;this.kind=r.Kind}static{this.Kind="subcommand"}get text(){return`${Lh}${this.command.name}`}get promptText(){return""}},tC=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.slashCommand=n;this.kind=r.Kind}static{this.Kind="slash"}get text(){return`${Lh}${this.slashCommand.command}`}get promptText(){return`${Lh}${this.slashCommand.command}`}},nC=class r{constructor(t,e,n,o){this.range=t;this.editorRange=e;this.name=n;this.kind=r.Kind;o!==void 0&&(this.displayText=o)}static{this.Kind="prompt"}get text(){return this.displayText??`${Lh}${this.name}`}get promptText(){return this.displayText??`${Lh}${this.name}`}},oC=class r{constructor(t,e,n,o,i,s,a,l,c,u,p,m,f){this.range=t;this.editorRange=e;this.text=n;this.id=o;this.modelDescription=i;this.data=s;this.fullName=a;this.icon=l;this.isFile=c;this.isDirectory=u;this._meta=p;this.isAttachmentReference=m;this.promptTextOverride=f;this.kind=r.Kind}static{this.Kind="dynamic"}get referenceText(){return this.text.replace(rC,"")}get promptText(){return this.promptTextOverride??this.text}toVariableEntry(){if(this.id==="vscode.problems")return uD.toEntry(this.data.filter);if(LH(this.data)){let t=OH(this.data,this.id,this.fullName??this.referenceText,this.range,this._meta);if(t)return t}return{kind:this.isDirectory?"directory":this.isFile?"file":"generic",id:this.id,name:this.referenceText,range:this.range,value:this.data,fullName:this.fullName,icon:this.icon,_meta:this._meta}}}});function zJ(r,t){if(r.requestSource!==void 0)return r.requestSource;if(r.isSystemInitiated&&r.systemInitiatedLabel===void 0&&e4(t))return"agentMerge"}function R_(r){return r.kind==="toolInvocation"||r.kind==="confirmation"||r.kind==="questionCarousel"||r.kind==="planReview"||r.kind==="elicitation2"}function GJ(r){return r?.reduce((t,e)=>t+e.outputTokens,0)}function KJ(r){return{attachments:(r.attachments??[]).map(Dp.fromExport),mode:r.mode,selectedModel:r.selectedModel&&{identifier:r.selectedModel.identifier,metadata:r.selectedModel.metadata},modelConfiguration:r.selectedModel?r.selectedModel.modelConfiguration??r.modelConfiguration:void 0,contrib:r.contrib,inputText:r.inputText,selections:r.selections,permissionLevel:r.permissionLevel}}function b4(r){return!!r&&Array.isArray(r.requests)&&typeof r.responderUsername=="string"}function jJ(r){let t=r;return b4(r)&&typeof t.creationDate=="number"&&typeof t.sessionId=="string"&&r.requests.every(e=>!e.usedContext||wW(e.usedContext))}function v4(r,t){if(r.baseUri&&t.baseUri){if(!(r.baseUri.scheme===t.baseUri.scheme&&r.baseUri.authority===t.baseUri.authority&&r.baseUri.path===t.baseUri.path&&r.baseUri.query===t.baseUri.query&&r.baseUri.fragment===t.baseUri.fragment))return!1}else if(r.baseUri||t.baseUri)return!1;return ct(r.isTrusted,t.isTrusted)&&r.supportHtml===t.supportHtml&&r.supportThemeIcons===t.supportThemeIcons}function P_(r){return"subAgentInvocationId"in r&&!!r.subAgentInvocationId}function y4(r,t){let e=typeof t=="string"?t:t.value;return{value:r.value+e,isTrusted:r.isTrusted,supportThemeIcons:r.supportThemeIcons,supportHtml:r.supportHtml,baseUri:r.baseUri}}function QJ(r){if(r.length===0)return"";let t=r.reduce((n,o)=>n.add(o.license),new Set);return t.size===1?d(12640,null,t.size):d(12641,null,t.size)}function JJ(r,t,e,n){if(!Nw(e.getLevel(),2)||r?.selectedModel?.identifier===t?.selectedModel?.identifier)return;let o=new Error().stack,i=`[ChatModelChanged] ChatModel Input State model changed: ${r?.selectedModel?.identifier} (was: ${t?.selectedModel?.identifier}) in session ${n} ${o}`;e.debug(i)}var I4,mi,iC,sC,k_,D_,Gp,__,Kp,S4,x4=y(()=>{At();Xr();Ke();Ee();de();_i();K();Sn();rs();Zl();Ae();jt();ma();bt();we();oe();nn();I_();re();o4();De();Pf();gh();i4();a4();d4();f_();Up();wh();p4();m4();g4();Mh();C_();$x();h4();mh();(t=>{function r(e){return{variables:e.variables.map(Dp.toExport)}}t.toExport=r})(I4||={});mi={reason:"other"},iC=class{constructor(t){this._shouldBeBlocked=Bn(this,!1);this._version=0;this._agentHostMetadata=t.agentHostMetadata,this._session=t.session,this.message=t.message,this._variableData=t.variableData,this.requestTimestamp=t.timestamp,this.timestamp=t.timestamp??t.fallbackTimestamp??Date.now(),this._attempt=t.attempt??0,this.modeInfo=t.modeInfo,this._confirmation=t.confirmation,this._locationData=t.locationData,this._attachedContext=t.attachedContext,this.isCompleteAddedRequest=t.isCompleteAddedRequest??!1,this.modelId=t.modelId,this.modelConfiguration=t.modelConfiguration,this.id=t.restoredId??"request_"+Se(),this._editedFileEvents=t.editedFileEvents,this.userSelectedTools=t.userSelectedTools,this.isSystemInitiated=t.isSystemInitiated,this.requestSource=t.requestSource,this.isHiddenFromTranscript=t.isHiddenFromTranscript??!1,this.isRequestHiddenFromTranscript=this.isHiddenFromTranscript||t.isRequestHiddenFromTranscript===!0,this.systemInitiatedLabel=t.systemInitiatedLabel,this.terminalExecutionId=t.terminalExecutionId,this.isTerminalCommand=t.isTerminalCommand??!1,this.origin=t.origin}get shouldBeBlocked(){return this._shouldBeBlocked}setShouldBeBlocked(t){this._shouldBeBlocked.set(t,void 0)}get session(){return this._session}get attempt(){return this._attempt}get variableData(){return this._variableData}set variableData(t){this._version++,this._variableData=t}get agentHostMetadata(){return this._agentHostMetadata}set agentHostMetadata(t){this._version++,this._agentHostMetadata=t}get confirmation(){return this._confirmation}get locationData(){return this._locationData}get attachedContext(){return this._attachedContext}get editedFileEvents(){return this._editedFileEvents}get version(){return this._version}adoptTo(t){this._session=t}},sC=class{get value(){return this._responseParts}constructor(t){this._responseParts=t}toString(){return this._responseRepr===void 0&&(this._responseRepr=this.computeRepr()),this._responseRepr}getMarkdown(){return this._markdownContent===void 0&&(this._markdownContent=this.computeMarkdownContent()),this._markdownContent}getFinalResponse(){let t=this._responseParts,e=t.length-1;for(;e>=0;){let s=t[e];if(s.kind==="markdownContent"||s.kind==="markdownVuln"){if(s.content.value.length>0)break}else if(s.kind==="inlineReference")break;e--}if(e<0)return"";let n=e;for(;e>=0;){let s=t[e];if(s.kind==="markdownContent"||s.kind==="markdownVuln"||s.kind==="inlineReference")e--;else break}let o=e+1,i=[];for(let s=o;s<=n;s++){let a=t[s];a.kind==="inlineReference"?i.push(this.inlineRefToRepr(a)):(a.kind==="markdownContent"||a.kind==="markdownVuln")&&a.content.value.length>0&&i.push(a.content.value)}return i.join("")}_invalidateRepr(){this._responseRepr=void 0,this._markdownContent=void 0}computeMarkdownContent(){let t=[];for(let e of this._responseParts)e.kind==="inlineReference"?t.push(this.inlineRefToRepr(e)):(e.kind==="markdownContent"||e.kind==="markdownVuln")&&e.content.value.length>0&&t.push(e.content.value);return t.join("")}computeRepr(){return this.partsToRepr(this._responseParts)}partsToRepr(t){let e=[],n=[],o=!1;for(let i of t){let s;switch(i.kind){case"clearToPreviousToolInvocation":n=[],e.length=0,o=!1;continue;case"treeData":case"progressMessage":case"codeblockUri":case"extensions":case"pullRequest":case"undoStop":case"workspaceEdit":case"externalEdit":case"elicitation2":case"elicitationSerialized":case"thinking":case"hook":case"voiceProgress":case"multiDiffData":case"mcpServersStarting":case"mcpAuthenticationRequired":case"mcpServersStartingSlow":case"questionCarousel":case"planReview":case"disabledClaudeHooks":case"autoModeResolution":continue;case"systemNotification":s={text:i.content.value,isBlock:!0};break;case"toolInvocation":case"toolInvocationSerialized":s=this.getToolInvocationText(i);break;case"inlineReference":s={text:this.inlineRefToRepr(i)};break;case"command":s={text:i.command.title,isBlock:!0};break;case"textEditGroup":case"notebookEditGroup":o=!0;continue;case"confirmation":if(i.message instanceof Lt){s={text:`${i.title}
${i.message.value}`,isBlock:!0};break}s={text:`${i.title}
${i.message}`,isBlock:!0};break;case"markdownContent":case"markdownVuln":case"progressTask":case"progressTaskSerialized":case"warning":case"info":s={text:i.content.value};break;default:continue}s.isBlock?(n.length&&(e.push(n.join("")),n=[]),e.push(s.text)):n.push(s.text)}return n.length&&e.push(n.join("")),o&&e.push(d(12643,null)),e.join(`
`)}inlineRefToRepr(t){return"uri"in t.inlineReference?this.uriToRepr(t.inlineReference.uri,t.inlineReference.range):"name"in t.inlineReference?Wg(t.inlineReference.name):this.uriToRepr(t.inlineReference)}getToolInvocationText(t){let e=c=>c.presentationOverrides?.commandLine??c.commandLine.forDisplay??c.commandLine.userEdited??c.commandLine.toolEdited??c.commandLine.original,n="",o="",i;if(t.pastTenseMessage?n=typeof t.pastTenseMessage=="string"?t.pastTenseMessage:t.pastTenseMessage.value:n=typeof t.invocationMessage=="string"?t.invocationMessage:t.invocationMessage.value,t.toolSpecificData&&t.toolSpecificData.kind==="terminal"){n="Ran terminal command";let c=E_(t.toolSpecificData);o=e(c),i=c.terminalCommandState?.exitCode}let s=n;o&&(s+=`: ${o}`);let a=Re.resultDetails(t);if((t.kind==="toolInvocationSerialized"||t.kind==="toolInvocation"&&Re.isComplete(t))&&a&&"input"in a){let c=t.kind==="toolInvocationSerialized"||Re.isComplete(t)?"Completed":"Errored",u=t.toolSpecificData?.kind==="terminal"?e(E_(t.toolSpecificData)):a.input;s+=`
${c} with input: ${u}`}let l=s4(Re.resultError(t)||w_(a)&&a.isError,i);return l&&(s+=`
`+l),{text:s,isBlock:!0}}uriToRepr(t,e){if(t.scheme===B.http||t.scheme===B.https)return t.toString(!1);let n=e?e.startLineNumber===e.endLineNumber?`:${e.startLineNumber}`:`:${e.startLineNumber}-${e.endLineNumber}`:"";return Wg(An(t)+n)}},k_=class extends sC{constructor(e,n){let o=e.value.findIndex(i=>i.kind==="undoStop"&&i.id===n);e.value[o+1]?.kind==="codeblockUri"&&e.value[o-1]?.kind==="markdownContent"&&o--;super(o===-1?e.value.slice():e.value.slice(0,o));this.undoStop=n}};D_=class extends sC{constructor(e){super(Sd(e).map(n=>"kind"in n?n:Di(n)?{content:n,kind:"markdownContent"}:{kind:"treeData",treeData:n}));this._store=new ie;this._toolInvocationDisposables=this._store.add(new ie);this._pendingConfirmationCandidates=new Set;this._onDidChangeValue=this._store.add(new T);this._citations=[];for(let n of this._responseParts)R_(n)&&this._pendingConfirmationCandidates.add(n)}get onDidChangeValue(){return this._onDidChangeValue.event}dispose(){this._store.dispose()}getPendingConfirmations(e){let n=[];for(let o of this._pendingConfirmationCandidates)if(o.kind==="toolInvocation"){let i=o.state.read(e);i.type===Re.StateKind.Completed||i.type===Re.StateKind.Cancelled?this._pendingConfirmationCandidates.delete(o):(i.type===Re.StateKind.WaitingForConfirmation||i.type===Re.StateKind.WaitingForPostApproval||i.type===Re.StateKind.WaitingForAuthentication)&&n.push(o)}else o.kind==="elicitation2"?o.state.read(e)==="pending"?n.push(o):this._pendingConfirmationCandidates.delete(o):o.isUsed?this._pendingConfirmationCandidates.delete(o):n.push(o);return n}clear(){this.finalizeReasoningDuration(),this._toolInvocationDisposables.clear(),this._pendingConfirmationCandidates.clear(),this._responseParts=[],this._contentChanged(!0)}clearToPreviousToolInvocation(e){this.finalizeReasoningDuration();let n=-1;for(let o=this._responseParts.length-1;o>=0;o--){let i=this._responseParts[o];if(i.kind==="toolInvocation"||i.kind==="toolInvocationSerialized"){n=o;break}}for(let o=n+1;o<this._responseParts.length;o++){let i=this._responseParts[o];R_(i)&&this._pendingConfirmationCandidates.delete(i)}n!==-1?this._responseParts=this._responseParts.slice(0,n+1):this._responseParts=[],e&&this._responseParts.push({kind:"warning",content:new Lt(e)}),this._contentChanged(!0)}updateContent(e,n){if(e.kind!=="thinking"&&!P_(e)&&this.finalizeReasoningDuration(),e.kind==="clearToPreviousToolInvocation"){e.reason===2?this.clearToPreviousToolInvocation(d(12642,null)):e.reason===1?this.clearToPreviousToolInvocation(d(12644,null)):this.clearToPreviousToolInvocation();return}else if(e.kind==="markdownContent"){let o=this._responseParts.filter(i=>i.kind!=="textEditGroup"&&!P_(i)).at(-1);if(!o||o.kind!=="markdownContent"||!v4(o.content,e.content))this._responseParts.push(e);else{let i=this._responseParts.indexOf(o);this._responseParts[i]={...o,content:y4(o.content,e.content)}}this._contentChanged(n)}else if(e.kind==="systemNotification"){let o=this._responseParts.at(-1);o?.kind==="toolInvocation"&&Re.isStreaming(o)&&!Re.isEffectivelyHidden(o)?this._responseParts.splice(this._responseParts.length-1,0,e):this._responseParts.push(e),this._contentChanged(n)}else if(e.kind==="thinking"){let o=this._responseParts.filter(l=>l.kind!=="textEditGroup"&&!P_(l)).at(-1),i=o&&o.kind==="thinking"?Array.isArray(o.value)?o.value.join(""):o.value||"":"",s=Array.isArray(e.value)?e.value.join(""):e.value||"",a=l=>l.length===0;if(a(s)?this.finalizeReasoningDuration():this._activeReasoning||(this._activeReasoning={part:e,startedAt:Date.now()}),!o||o.kind!=="thinking"||a(s)||a(i)||!v4(new Lt(i),new Lt(s)))this._responseParts.push(e);else{let l=this._responseParts.indexOf(o),c={...o,value:y4(new Lt(i),new Lt(s)).value};this._responseParts[l]=c,this._activeReasoning?.part===o&&(this._activeReasoning.part=c)}this._contentChanged(n)}else if(e.kind==="textEdit"||e.kind==="notebookEdit"){let o=VP.parse(e.uri)?.notebook,i=o??e.uri,s=e.isExternalEdit,a=e.autoTier!==void 0?{autoTier:e.autoTier}:void 0;if(e.kind==="textEdit"&&!o)this._mergeOrPushTextEditGroup(i,e.edits,e.done,s,a);else if(e.kind==="textEdit"){let l=e.edits.map(c=>({uri:e.uri,edit:c}));this._mergeOrPushNotebookEditGroup(i,l,e.done,s,a)}else this._mergeOrPushNotebookEditGroup(i,e.edits,e.done,s,a);this._contentChanged(n)}else if(e.kind==="progressTask"){let o=this._responseParts.push(e)-1;this._contentChanged(n);let i=e.onDidAddProgress(()=>{this._contentChanged(!1)});e.task?.().then(s=>{i.dispose(),typeof s=="string"&&(this._responseParts[o].content=new Lt(s)),this._contentChanged(!1)})}else if(e.kind==="toolInvocation")this._toolInvocationDisposables.add(Er(o=>{Re.isComplete(e)||e.state.read(o),e.toolSpecificDataKind.read(o),this._contentChanged(!1)})),this._responseParts.push(e),this._pendingConfirmationCandidates.add(e),this._contentChanged(n);else if(e.kind==="mcpAuthenticationRequired"){this._responseParts.push(e);let o=!0;CD(this._store,i=>{e.servers.read(i),this._contentChanged(o?n:!1),o=!1,e.isUsed&&i.dispose()})}else if(e.kind==="externalToolInvocationUpdate")this._handleExternalToolInvocationUpdate(e),this._contentChanged(n);else if(e.kind==="progressMessage"&&e.id!==void 0){let o=this._responseParts.findIndex(i=>i.kind==="progressMessage"&&i.id===e.id);o===-1?this._responseParts.push(e):this._responseParts[o]=e,this._contentChanged(n)}else if(e.kind==="autoModeResolution"){let o=this._responseParts.findIndex(i=>i.kind==="autoModeResolution"&&!i.resolved);o===-1?this._responseParts.push(e):this._responseParts[o]=e,this._contentChanged(n)}else this._responseParts.push(e),R_(e)&&this._pendingConfirmationCandidates.add(e),this._contentChanged(n)}finalizeReasoningDuration(){this._activeReasoning&&(this._activeReasoning.part.reasoningDurationMs=Math.max(0,Date.now()-this._activeReasoning.startedAt),this._activeReasoning=void 0)}addCitation(e){this._citations.push(e),this._contentChanged()}resolveInlineReference(e,n){for(let o=0;o<this._responseParts.length;o++){let i=this._responseParts[o];if(!(i.kind!=="inlineReference"||i.resolveId!==e))return this._responseParts[o]={...i,inlineReference:n.inlineReference,name:n.name??i.name},this._contentChanged(),!0}return!1}_mergeOrPushTextEditGroup(e,n,o,i,s){for(let a of this._responseParts)if(a.kind==="textEditGroup"&&!a.done&&mo(a.uri,e)){s&&(a.editMetadata??=a.edits.map(()=>({}))),a.editMetadata?.push(s??{}),a.edits.push(n),a.done=o;return}this._responseParts.push({kind:"textEditGroup",uri:e,edits:[n],done:o,isExternalEdit:i,...s?{editMetadata:[s]}:{}})}_mergeOrPushNotebookEditGroup(e,n,o,i,s){for(let a of this._responseParts)if(a.kind==="notebookEditGroup"&&!a.done&&mo(a.uri,e)){s&&(a.editMetadata??=a.edits.map(()=>({}))),a.editMetadata?.push(s??{}),a.edits.push(n),a.done=o;return}this._responseParts.push({kind:"notebookEditGroup",uri:e,edits:[n],done:o,isExternalEdit:i,...s?{editMetadata:[s]}:{}})}_handleExternalToolInvocationUpdate(e){let n=this._responseParts.findLast(s=>s.kind==="toolInvocation"&&s.toolCallId===e.toolCallId);if(n){e.toolSpecificData!==void 0&&(n.toolSpecificData=e.toolSpecificData),e.isComplete&&n.didExecuteTool({content:[],toolResultMessage:e.pastTenseMessage,toolResultError:e.errorMessage,toolResultDetails:e.resultDetails});return}let o={id:e.toolName,source:_h.External,displayName:e.toolName,modelDescription:e.toolName},i=new Ah({invocationMessage:e.invocationMessage,pastTenseMessage:e.pastTenseMessage,toolSpecificData:e.toolSpecificData},o,e.toolCallId,e.subagentInvocationId,void 0,{},void 0);e.isComplete&&(e.toolSpecificData!==void 0&&(i.toolSpecificData=e.toolSpecificData),i.didExecuteTool({content:[],toolResultMessage:e.pastTenseMessage,toolResultError:e.errorMessage,toolResultDetails:e.resultDetails})),this._responseParts.push(i),this._pendingConfirmationCandidates.add(i)}computeRepr(){let e=super.computeRepr();return this._citations.length&&(e+=`
`+QJ(this._citations)),e}_contentChanged(e){this._invalidateRepr(),e||this._onDidChangeValue.fire()}};Gp=class extends _{constructor(e){super();this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this._modelState=Bn(this,{value:0});this._usageObs=Bn(this,void 0);this._subagentCopilotCredits=new Map;this._completionTokenCountObs=Bn(this,void 0);this._shouldBeBlocked=Bn(this,!1);this._timingChanged=Sx(this);this._contentReferences=[];this._codeCitations=[];this._progressMessages=[];this._isStale=!1;this._session=e.session,this._agent=e.agent,this._slashCommand=e.slashCommand,this.requestId=e.requestId,this._timestamp=e.timestamp||Date.now(),e.modelState&&this._modelState.set(e.modelState,void 0),this._completionTimestamp=e.completionTimestamp===null?void 0:e.completionTimestamp??(e.modelState&&"completedAt"in e.modelState?e.modelState.completedAt:void 0),this._timeSpentWaitingAccumulator=e.timeSpentWaiting||0,this._elapsedMs=e.elapsedMs,this._vote=e.vote,this._result=e.result,this._followups=e.followups?[...e.followups]:void 0,this.isCompleteAddedRequest=e.isCompleteAddedRequest??!1,this._shouldBeRemovedOnSend=e.shouldBeRemovedOnSend,this._shouldBeBlocked.set(e.shouldBeBlocked??!1,void 0),this._isStale=Array.isArray(e.responseContent)&&(e.responseContent.length!==0||Di(e.responseContent)&&e.responseContent.value.length!==0),this._response=this._register(new D_(e.responseContent)),this._codeBlockInfos=e.codeBlockInfos?[...e.codeBlockInfos]:void 0;let n=kD(this,this.onDidChange),o=Lp({owner:this,equalsFn:Gt},c=>(n.read(c),this._response.getPendingConfirmations(c))),i=new WeakMap;this.pendingToolInvocations=Lp({owner:this,equalsFn:Gt},c=>{n.read(c);let u=o.read(c),p=this.response,m;return p!==this._response&&u.length&&(m=i.get(p),m||(m=new Set(p.value),i.set(p,m))),u.filter(f=>f.kind==="toolInvocation"&&(!m||m.has(f)))});let s=n.map((c,u)=>{let p=o.read(u).at(0);switch(p?.kind){case"toolInvocation":{let m=p.state.read(u);if(m.type===Re.StateKind.WaitingForConfirmation){let f=m.confirmationMessages?.title;return f?Di(f)?f.value:f:void 0}return m.type===Re.StateKind.WaitingForPostApproval?d(12646,null):m.type===Re.StateKind.WaitingForAuthentication?d(12647,null,m.server.name):void 0}case"confirmation":return p.title;case"questionCarousel":return d(12645,null);case"planReview":return d(12648,null);case"elicitation2":{let m=p.title;return Di(m)?m.value:m}}}),a=s.map(c=>!!c).map(c=>c?Date.now():void 0);this.isPendingConfirmation=a.map((c,u)=>c?{startedWaitingAt:c,detail:s.read(u)}:void 0),this.isInProgress=n.map((c,u)=>(n.read(u),!s.read(u)&&!this.shouldBeRemovedOnSend&&(this._modelState.read(u).value===0||this._modelState.read(u).value===4))),this.isIncomplete=this._modelState.map(c=>c.value===0||c.value===4),this._register(this._response.onDidChangeValue(()=>this._onDidChange.fire(mi))),this.id=e.restoredId??"response_"+Se();let l;this.confirmationAdjustedTimestamp=Ap(c=>{this._timingChanged.read(c);let u=this.isPendingConfirmation.read(c);return u?(this._modelState.set({value:4},void 0),l||(l=u.startedWaitingAt)):l&&(this._modelState.read(c).value===4&&this._modelState.set({value:0},void 0),this._timeSpentWaitingAccumulator+=Date.now()-l,l=void 0),this._timestamp+this._timeSpentWaitingAccumulator}).recomputeInitiallyAndOnChange(this._store)}get shouldBeBlocked(){return this._shouldBeBlocked}get request(){return this.session.getRequests().find(e=>e.id===this.requestId)}get session(){return this._session}get shouldBeRemovedOnSend(){return this._shouldBeRemovedOnSend}get isHiddenFromTranscript(){return this.request?.isHiddenFromTranscript??!1}get isComplete(){return this._modelState.get().value!==0&&this._modelState.get().value!==4}get timestamp(){return this._timestamp}set shouldBeRemovedOnSend(e){this._shouldBeRemovedOnSend!==e&&(this._shouldBeRemovedOnSend=e,this._onDidChange.fire(mi))}get isCanceled(){return this._modelState.get().value===2}get completedAt(){let e=this._modelState.get();if(e.value===1||e.value===2||e.value===3)return e.completedAt}get completionTimestamp(){return this._completionTimestamp}get state(){let e=this._modelState.get().value;return e===1&&this._result?.errorDetails&&this.result?.errorDetails?.code!=="canceled"?3:e}get stateT(){return this._modelState.get()}get vote(){return this._vote}get followups(){return this._followups}get entireResponse(){return this._finalizedResponse||this._response}get result(){return this._result}get usage(){return this._usageObs.get()}get usageObs(){return this._usageObs}get completionTokenCount(){return this._completionTokenCountObs.get()}get completionTokenCountObs(){return this._completionTokenCountObs}get elapsedMs(){return this._elapsedMs}get username(){return this.session.responderUsername}get agent(){return this._agent}get slashCommand(){return this._slashCommand}get agentOrSlashCommandDetected(){return this._agentOrSlashCommandDetected??!1}get usedContext(){return this._usedContext}get contentReferences(){return Array.from(this._contentReferences)}get codeCitations(){return this._codeCitations}get progressMessages(){return this._progressMessages}get isStale(){return this._isStale}get response(){let e=this._shouldBeRemovedOnSend?.afterUndoStop;return e?(this._responseView?.undoStop!==e&&(this._responseView=new k_(this._response,e)),this._responseView):this._finalizedResponse||this._response}get codeBlockInfos(){return this._codeBlockInfos}initializeCodeBlockInfos(e){if(this._codeBlockInfos)throw new It("Code block infos have already been initialized");this._codeBlockInfos=[...e]}setBlockedState(e){this._shouldBeBlocked.set(e,void 0)}updateContent(e,n){this._response.updateContent(e,n)}resolveInlineReference(e,n){return this._response.resolveInlineReference(e,n)}addUndoStop(e){this._onDidChange.fire({reason:"undoStop",id:e.id}),this._response.updateContent(e,!0)}applyReference(e){e.kind==="usedContext"?this._usedContext=e:e.kind==="reference"&&(this._contentReferences.push(e),this._onDidChange.fire(mi))}applyCodeCitation(e){this._codeCitations.push(e),this._response.addCitation(e),this._onDidChange.fire(mi)}setAgent(e,n){this._agent=e,this._slashCommand=n,this._agentOrSlashCommandDetected=!e.isDefault||!!n,this._onDidChange.fire(mi)}setResult(e){if(this.isCanceled&&e.errorDetails){let{errorDetails:n,...o}=e;this._result=o}else this._result=e;this._onDidChange.fire(mi)}setUsage(e){this._parentUsage=e,this._setUsage(this._withSubagentCopilotCredits(e),!0)}setSubagentCopilotCredits(e,n){let o=this._subagentCopilotCredits.get(e);if(!Number.isFinite(n)||n<0||o!==void 0&&n<=o)return;this._subagentCopilotCredits.set(e,n);let i=this._parentUsage??{kind:"usage",promptTokens:0,completionTokens:0};this._setUsage(this._withSubagentCopilotCredits(i),!1)}_withSubagentCopilotCredits(e){let n=0;for(let o of this._subagentCopilotCredits.values())n+=o;return n===0?e:{...e,copilotCredits:(e.copilotCredits??0)+n}}_setUsage(e,n){let o=this._usageObs.get();if(o&&this.isSameUsage(o,e))return;let i=!o||o.promptTokens!==e.promptTokens||o.completionTokens!==e.completionTokens||o.outputBuffer!==e.outputBuffer;this._usageObs.set(e,void 0);let s=GJ(e.modelTotals);if(s!==void 0)this._completionTokenCountObs.set(s,void 0);else if(n&&i){let a=this._completionTokenCountObs.get()??0;this._completionTokenCountObs.set(a+e.completionTokens,void 0)}this._onDidChange.fire(mi)}setElapsedMs(e){this._elapsedMs=Math.max(0,e)}isSameUsage(e,n){return e.promptTokens===n.promptTokens&&e.completionTokens===n.completionTokens&&e.outputBuffer===n.outputBuffer&&e.copilotCredits===n.copilotCredits&&e.sessionCopilotCredits===n.sessionCopilotCredits&&ct(e.promptTokenDetails,n.promptTokenDetails)&&ct(e.contextUsage,n.contextUsage)&&ct(e.latestModelCall,n.latestModelCall)&&ct(e.modelTotals,n.modelTotals)}complete(e=Date.now()){this._complete(e,e)}completeWithoutTimestamp(){this._complete(Date.now(),void 0)}reopen(){if(this.isComplete){if(this._response.clear(),this._result?.errorDetails){let{errorDetails:e,...n}=this._result;this._result=n}this.completedAt!==void 0&&(this._timeSpentWaitingAccumulator+=Math.max(0,Date.now()-this.completedAt),this._timingChanged.trigger(void 0)),this._completionTimestamp=void 0,this._elapsedMs=void 0,this._modelState.set({value:0},void 0),this._onDidChange.fire(mi)}}_complete(e,n){if(this.isComplete)return;this._result?.errorDetails?.responseIsRedacted&&this._response.clear(),this._response.finalizeReasoningDuration(),this._elapsedMs??=Math.max(0,e-this.confirmationAdjustedTimestamp.get());let o=this._result?.errorDetails&&this._result.errorDetails.code!=="canceled"?3:1;this._completionTimestamp=n,this._modelState.set({value:o,completedAt:e},void 0),this._onDidChange.fire({reason:"completedRequest"})}cancel(){this._response.finalizeReasoningDuration();for(let n of this._response.value)n.kind==="toolInvocation"&&n instanceof Ah?n.cancelFromStreaming({type:5}):n instanceof jx?n.dismiss():n instanceof Qx&&n.dismiss(void 0);let e=Date.now();this._elapsedMs??=Math.max(0,e-this.confirmationAdjustedTimestamp.get()),this._completionTimestamp=e,this._modelState.set({value:2,completedAt:e},void 0),this._onDidChange.fire({reason:"completedRequest"})}setFollowups(e){this._followups=e,this._onDidChange.fire(mi)}setVote(e){this._vote=e,this._onDidChange.fire(mi)}setEditApplied(e,n){return!this.response.value.includes(e)||!e.state?!1:(e.state.applied=n,this._onDidChange.fire(mi),!0)}adoptTo(e){this._session=e,this._onDidChange.fire(mi)}finalizeUndoState(){this._finalizedResponse=this.response,this._responseView=void 0,this._shouldBeRemovedOnSend=void 0}dispose(){super.dispose(),this._response.clear(),this._codeBlockInfos&&(this._codeBlockInfos.length=0)}toJSON(){let e=this._modelState.get(),n=this.isPendingConfirmation.get();return{responseId:this.id,result:this.result,responseMarkdownInfo:this.codeBlockInfos?.map(o=>({suggestionId:o.suggestionId})),followups:this.followups,modelState:e.value===0||e.value===4?{value:2,completedAt:Date.now()}:e,vote:this.vote,slashCommand:this.slashCommand,usedContext:this.usedContext,contentReferences:this.contentReferences,codeCitations:this.codeCitations,responseTimestamp:this._timestamp,timeSpentWaiting:(n?Date.now()-n.startedWaitingAt:0)+this._timeSpentWaitingAccumulator,promptTokens:this.usage?.promptTokens,completionTokens:this.completionTokenCount,outputBuffer:this.usage?.outputBuffer,promptTokenDetails:this.usage?.promptTokenDetails,...this.usage?.latestModelCall?{latestModelCall:this.usage.latestModelCall}:{},...this.usage?.contextUsage?{contextUsage:this.usage.contextUsage}:{},copilotCredits:this.usage?.copilotCredits,modelTotals:this.usage?.modelTotals,sessionCopilotCredits:this.usage?.sessionCopilotCredits,elapsedMs:this.elapsedMs??(this.completedAt?Math.max(0,this.completedAt-this.confirmationAdjustedTimestamp.get()):void 0)}}};__=class{constructor(t,e,n){this.logger=e;this.sessionId=n;this._state=Ih({debugName:"inputModelState",equalsFn:ct},t),this.state=this._state}get intendedModel(){return this._intendedModel}setIntendedModel(t){this._intendedModel=t}setState(t){let e=this._state.get();JJ(t,e,this.logger,this.sessionId),this._state.set({attachments:[],mode:{id:"agent",kind:"agent"},selectedModel:void 0,inputText:"",selections:[],...e,...t,contrib:{...e?.contrib,...t.contrib},origin:t.origin},void 0)}clearState(){this._state.set(void 0,void 0)}toJSON(){let t=this.state.get();if(!t)return;let e=t.attachments.filter(n=>!(UH(n)||NH(n)&&WH(n.value)));return{contrib:t.contrib,attachments:e.map(Dp.toExport),mode:t.mode,selectedModel:t.selectedModel?{identifier:t.selectedModel.identifier,metadata:t.selectedModel.metadata,modelConfiguration:t.modelConfiguration}:void 0,inputText:t.inputText,selections:t.selections,permissionLevel:t.permissionLevel}}},Kp=class extends _{constructor(e,n,o,i,s,a){super();this.logService=o;this.chatAgentService=i;this.chatEditingService=s;this.chatService=a;this._onDidDispose=this._register(new T);this.onDidDispose=this._onDidDispose.event;this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this._pendingRequests=[];this._onDidChangePendingRequests=this._register(new T);this.onDidChangePendingRequests=this._onDidChangePendingRequests.event;this._isImported=!1;this._isDeleted=!1;this._canUseTools=!0;this.currentEditedFileEvents=new tt;this._checkpoint=void 0;let l=e?.value,c=b4(l),u=c&&jJ(l);l&&!c&&this.logService.warn(`ChatModel#constructor: Loaded malformed session data: ${JSON.stringify(l)}`),this._isImported=!!l&&c&&!u,n.resource?(this._sessionId=mx(n.resource),this._sessionResource=n.resource):u?(this._sessionId=l.sessionId,this._sessionResource=Pl.forSession(l.sessionId)):(this._sessionId=Se(),this._sessionResource=Pl.forSession(this._sessionId)),this._disableBackgroundKeepAlive=n.disableBackgroundKeepAlive??!1,this._timestamp=u&&l.creationDate||Date.now(),this._requests=l?this._deserialize(l):[],this._customTitle=u?l.customTitle:void 0;let p=n.inputState||(u&&l.inputState?l.inputState:void 0);if(this.inputModel=new __(p&&KJ(p),this.logService,this._sessionId),this.dataSerializer=e?.serializer,this._initialResponderUsername=l?.responderUsername,this._repoData=u&&l.repoData?l.repoData:void 0,this._workingDirectory=u&&l.workingDirectory?S.parse(l.workingDirectory):void 0,u&&l.pendingRequests&&(this._pendingRequests=this._deserializePendingRequests(l.pendingRequests)),this._initialLocation=l?.initialLocation??n.initialLocation,this.sessionTypeSelectionReason=n.sessionTypeSelectionReason,this._canUseTools=n.canUseTools,this.isReadOnly=n.isReadOnly??bh(!1),this.isInputBlocked=n.isInputBlocked??bh(!1),this.lastRequestObs=ui(this,this.onDidChange,()=>this._requests.at(-1)),this._register(Er(m=>{let f=this.lastRequestObs.read(m);f?.response&&m.store.add(f.response.onDidChange(async h=>{!this._editingSession||h.reason!=="completedRequest"||this._onDidChange.fire({kind:"completedRequest",request:f})}))})),this.requestInProgress=this.lastRequestObs.map((m,f)=>m?.response?.isInProgress.read(f)??!1),this.hasActiveRequest=this.lastRequestObs.map((m,f)=>m?.response?.isIncomplete.read(f)??!1),this.requestNeedsInput=this.lastRequestObs.map((m,f)=>{let h=m?.response?.isPendingConfirmation.read(f);if(h)return{title:this.title,detail:h.detail}}),this.initialLocation==="panel"&&!n.disableBackgroundKeepAlive){let m=this._register(new $n);this._register(Er(f=>{let h=this.requestInProgress.read(f),v=this.requestNeedsInput.read(f),I=h||!!v;I&&!m.value?m.value=a.acquireExistingSession(this._sessionResource,"ChatModel#requestInProgressKeepAlive"):!I&&m.value&&m.clear()}))}}static getDefaultTitle(e){let n=e.at(0)?.message??"";return(typeof n=="string"?n:n.text).split(`
`)[0].substring(0,200)}get repoData(){return this._repoData}setRepoData(e){this._repoData=e}get workingDirectory(){return this._workingDirectory}setWorkingDirectory(e){this._workingDirectory=e}getPendingRequests(){return this._pendingRequests}setPendingRequests(e){let n=new Map(this._pendingRequests.map(i=>[i.request.id,i])),o=[];for(let{requestId:i,kind:s}of e){let a=n.get(i);a&&o.push(a.kind===s?a:{request:a.request,kind:s,sendOptions:a.sendOptions})}this._pendingRequests.length=0,this._pendingRequests.push(...o),this._onDidChangePendingRequests.fire()}replacePendingRequests(e){this._pendingRequests.length===e.length&&e.every((n,o)=>this._pendingRequests[o]===n)||(this._pendingRequests.length=0,this._pendingRequests.push(...e),this._onDidChangePendingRequests.fire())}addPendingRequest(e,n,o){let i={request:e,kind:n,sendOptions:o};if(n==="steering"){let s=0;for(let a=0;a<this._pendingRequests.length&&this._pendingRequests[a].kind==="steering";a++)s=a+1;this._pendingRequests.splice(s,0,i)}else this._pendingRequests.push(i);return this._onDidChangePendingRequests.fire(),i}removePendingRequest(e){let n=this._pendingRequests.findIndex(o=>o.request.id===e);n!==-1&&(this._pendingRequests.splice(n,1),this._onDidChangePendingRequests.fire())}dequeuePendingRequest(){let e=this._pendingRequests.shift();return e&&this._onDidChangePendingRequests.fire(),e}dequeueAllSteeringRequests(){let e=[];for(;this._pendingRequests.at(0)?.kind==="steering";)e.push(this._pendingRequests.shift());return e.length>0&&this._onDidChangePendingRequests.fire(),e}clearPendingRequests(){this._pendingRequests.length>0&&(this._pendingRequests.length=0,this._onDidChangePendingRequests.fire())}get sessionId(){return this._sessionId}get sessionResource(){return this._sessionResource}get hasRequests(){return this._requests.length>0}get lastRequest(){return this._requests.at(-1)}get sessionCost(){let e=0,n=0;for(let o of this._requests){let i=o.response?.usage;typeof i?.copilotCredits=="number"&&(e+=i.copilotCredits),typeof i?.sessionCopilotCredits=="number"&&(n=Math.max(n,i.sessionCopilotCredits))}return Math.max(e,n)}get timestamp(){return this._timestamp}get timing(){let e=this._requests.at(-1),n=e?.response,o=e?.timestamp,i=n?.completedAt??n?.timestamp;return{created:this._timestamp,lastRequestStarted:o,lastRequestEnded:i}}get lastMessageDate(){return this._requests.at(-1)?.timestamp??this._timestamp}get _defaultAgent(){return this.chatAgentService.getDefaultAgent("panel","ask")}get responderUsername(){return this._defaultAgent?.fullName??this._initialResponderUsername??""}get isImported(){return this._isImported}get isDeleted(){return this._isDeleted}markDeleted(){this._isDeleted=!0}get customTitle(){return this._customTitle}get title(){return this._customTitle||Kp.getDefaultTitle(this._requests)}get hasCustomTitle(){return this._customTitle!==void 0}get editingSession(){return this._editingSession}get initialLocation(){return this._initialLocation}get canUseTools(){return this._canUseTools}get willKeepAlive(){return!this._disableBackgroundKeepAlive}startEditingSession(e,n){let o=this._editingSession??=this._register(n?this.chatEditingService.transferEditingSession(this,n):e?this.chatEditingService.startOrContinueGlobalEditingSession(this):this.chatEditingService.createEditingSession(this));if(!this._disableBackgroundKeepAlive){let i=this._register(new $n);this._register(Er(s=>{let a=o.entries.read(s).some(l=>l.state.read(s)===0);a&&!i.value?i.value=this.chatService.acquireExistingSession(this._sessionResource,"ChatModel#modifiedEditsKeepAlive"):!a&&i.value&&i.clear()}))}this._register(Er(i=>{this._setDisabledRequests(o.requestDisablement.read(i))}))}notifyEditingAction(e){let n=e.outcome==="accepted"?1:e.outcome==="rejected"?2:e.outcome==="userModified"?3:null;n!==null&&(!this.currentEditedFileEvents.has(e.uri)||this.currentEditedFileEvents.get(e.uri)?.eventKind===1)&&this.currentEditedFileEvents.set(e.uri,{eventKind:n,uri:e.uri})}_deserialize(e){let n=xn(e,{serializer:!0})?e.value.requests:e.requests;if(!Array.isArray(n))return this.logService.error(`Ignoring malformed session data: ${JSON.stringify(e)}`),[];try{return n.map(o=>this._deserializeRequest(o))}catch(o){return this.logService.error("Failed to parse chat data",o),[]}}_deserializeRequest(e){let n=typeof e.message=="string"?this.getParsedRequestFromString(e.message):f4(e.message),o=this.reviveVariableData(e.variableData),i=typeof e.timestamp=="number"&&e.timestamp>0?e.timestamp:void 0,s=new iC({session:this,message:n,variableData:o,timestamp:i,fallbackTimestamp:this._timestamp,restoredId:e.requestId,agentHostMetadata:e.agentHostMetadata,confirmation:e.confirmation,editedFileEvents:e.editedFileEvents,modelId:e.modelId,modelConfiguration:e.modelConfiguration,modeInfo:e.modeInfo,isSystemInitiated:e.isSystemInitiated,requestSource:zJ(e,n.text),isHiddenFromTranscript:e.hiddenFromTranscript,isRequestHiddenFromTranscript:e.requestHiddenFromTranscript,systemInitiatedLabel:e.systemInitiatedLabel,terminalExecutionId:e.terminalExecutionId,origin:c4(e.origin)});if(s.shouldBeRemovedOnSend=e.isHidden?{requestId:e.requestId}:e.shouldBeRemovedOnSend,e.response||e.result||e.responseErrorDetails){let a=e.agent&&"metadata"in e.agent?qx(e.agent):void 0,l="responseErrorDetails"in e?{errorDetails:e.responseErrorDetails}:e.result,c=e.modelState||{value:e.isCanceled?2:1,completedAt:Date.now()};if((c.value===0||c.value===4)&&(c={value:2,completedAt:Date.now()}),e.response)for(let u of e.response)xn(u,{kind:!0})&&(u.kind==="questionCarousel"||u.kind==="planReview")&&(u.isUsed=!0);s.response=new Gp({responseContent:e.response??[new Lt(e.response)],session:this,agent:a,slashCommand:e.slashCommand,requestId:s.id,modelState:c,completionTimestamp:e.modelState&&"completedAt"in e.modelState&&Number.isFinite(e.modelState.completedAt)&&e.modelState.completedAt>0?e.modelState.completedAt:null,vote:e.vote,timestamp:typeof e.responseTimestamp=="number"&&e.responseTimestamp>0?e.responseTimestamp:i,result:l,followups:e.followups,restoredId:e.responseId,timeSpentWaiting:e.timeSpentWaiting,elapsedMs:e.elapsedMs,shouldBeBlocked:s.shouldBeBlocked.get(),codeBlockInfos:e.responseMarkdownInfo?.map(u=>({suggestionId:u.suggestionId}))}),s.response.shouldBeRemovedOnSend=e.isHidden?{requestId:e.requestId}:e.shouldBeRemovedOnSend,(typeof e.completionTokens=="number"||typeof e.promptTokens=="number"||typeof e.copilotCredits=="number"||typeof e.sessionCopilotCredits=="number")&&s.response.setUsage({kind:"usage",promptTokens:e.promptTokens??0,completionTokens:e.completionTokens??0,outputBuffer:e.outputBuffer,promptTokenDetails:e.promptTokenDetails,latestModelCall:e.latestModelCall,contextUsage:e.contextUsage,copilotCredits:e.copilotCredits,modelTotals:e.modelTotals,sessionCopilotCredits:e.sessionCopilotCredits}),e.usedContext&&s.response.applyReference(Qt(e.usedContext)),e.contentReferences?.forEach(u=>s.response.applyReference(Qt(u))),e.codeCitations?.forEach(u=>s.response.applyCodeCitation(Qt(u)))}return s}reviveVariableData(e){let n=e&&Array.isArray(e.variables)?e:{variables:[]};return n.variables=n.variables.map(Dp.fromExport),n}getParsedRequestFromString(e){let n=[new zp(new tr(0,e.length),{startColumn:1,startLineNumber:1,endColumn:1,endLineNumber:1},e)];return{text:e,parts:n}}_deserializePendingRequests(e){try{return e.map(n=>({id:n.id,request:this._deserializeRequest(n.request),kind:n.kind,sendOptions:{...n.sendOptions,userSelectedTools:n.sendOptions.userSelectedTools?bh(n.sendOptions.userSelectedTools):void 0}}))}catch(n){return this.logService.error("Failed to parse pending chat requests",n),[]}}getRequests(){return this._requests}resetCheckpoint(){for(let e of this._requests)e.setShouldBeBlocked(!1),e.response&&e.response.setBlockedState(!1)}setCheckpoint(e){let n,o=-1;if(!(e!==void 0&&(this._requests.forEach((i,s)=>{i.id===e&&(o=s,n=i,i.setShouldBeBlocked(!0))}),!n))){for(let i=this._requests.length-1;i>=0;i-=1){let s=this._requests[i];this._checkpoint&&!n?(s.setShouldBeBlocked(!1),s.response&&s.response.setBlockedState(!1)):n&&i>=o?(s.setShouldBeBlocked(!0),s.response&&s.response.setBlockedState(!0)):n&&i<o&&(s.setShouldBeBlocked(!1),s.response&&s.response.setBlockedState(!1))}this._checkpoint=n}}get checkpoint(){return this._checkpoint}_setDisabledRequests(e){this._requests.forEach(n=>{let o=e.find(i=>i.requestId===n.id);n.shouldBeRemovedOnSend=o,n.response&&(n.response.shouldBeRemovedOnSend=o)}),this._onDidChange.fire({kind:"setHidden"})}addRequest(e,n,o,i,s,a,l,c,u,p,m,f,h,v,I,E,w,P,k,O,fe,H,le,Q,F){let Y=F?.index??this._requests.length;if(!Number.isInteger(Y)||Y<0||Y>this._requests.length||F?.replace&&Y===this._requests.length)throw new It("Invalid chat request insertion index");let xe=F?.replace?this._requests[Y]:void 0,vn=[...this.currentEditedFileEvents.values()];this.currentEditedFileEvents.clear();let Bt=P===void 0?Date.now():typeof P=="number"&&Number.isFinite(P)&&P>0?P:void 0,ee=new iC({restoredId:h,session:this,message:e,variableData:n,timestamp:Bt,fallbackTimestamp:this._timestamp,attempt:o,modeInfo:i,confirmation:l,locationData:c,attachedContext:u,isCompleteAddedRequest:p,modelId:m,modelConfiguration:le,agentHostMetadata:Q,editedFileEvents:vn.length?vn:void 0,userSelectedTools:f,isSystemInitiated:v,requestSource:H,isHiddenFromTranscript:k,isRequestHiddenFromTranscript:fe,systemInitiatedLabel:I,terminalExecutionId:E,isTerminalCommand:w,origin:O});return ee.response=new Gp({responseContent:[],session:this,agent:s,slashCommand:a,requestId:ee.id,isCompleteAddedRequest:p,codeBlockInfos:void 0}),this._requests.splice(Y,xe?1:0,ee),kh(this.sessionResource,Ph.RequestUiUpdated),this._onDidChange.fire({kind:"addRequest",request:ee,...F?{index:Y,replacedRequest:xe}:{}}),xe?.response?.dispose(),ee}setCustomTitle(e){this._customTitle=e,this._onDidChange.fire({kind:"setCustomTitle",title:e})}updateRequest(e,n,o){e.variableData=n,o!==void 0&&(e.agentHostMetadata=o),this._onDidChange.fire({kind:"changedRequest",request:e})}adoptRequest(e){let n=e.session,o=n._requests.findIndex(i=>i.id===e.id);o!==-1&&(n._requests.splice(o,1),e.adoptTo(this),e.response?.adoptTo(this),this._requests.push(e),n._onDidChange.fire({kind:"removeRequest",requestId:e.id,responseId:e.response?.id,reason:2}),this._onDidChange.fire({kind:"addRequest",request:e}))}acceptResponseProgress(e,n,o){if(e.response||(e.response=new Gp({responseContent:[],session:this,requestId:e.id,codeBlockInfos:void 0})),e.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");n.kind==="usage"?e.response.setUsage(n):n.kind==="usedContext"||n.kind==="reference"?e.response.applyReference(n):n.kind==="codeCitation"?e.response.applyCodeCitation(n):n.kind==="move"?this._onDidChange.fire({kind:"move",target:n.uri,range:n.range}):n.kind==="codeblockUri"&&n.isEdit?(e.response.addUndoStop({id:n.undoStopId??Se(),kind:"undoStop"}),e.response.updateContent(n,o)):n.kind==="progressTaskResult"?this.logService.error(`Couldn't handle progress: ${JSON.stringify(n)}`):e.response.updateContent(n,o)}removeRequest(e,n=0){let o=this._requests.findIndex(s=>s.id===e),i=this._requests[o];o!==-1&&(this._requests.splice(o,1),this._onDidChange.fire({kind:"removeRequest",requestId:i.id,responseId:i.response?.id,reason:n}),i.response?.dispose())}cancelRequest(e){e.response&&e.response.cancel()}setResponse(e,n){e.response||(e.response=new Gp({responseContent:[],session:this,requestId:e.id,codeBlockInfos:void 0})),e.response.setResult(n)}setFollowups(e,n){e.response&&e.response.setFollowups(n)}setResponseModel(e,n){e.response=n,this._onDidChange.fire({kind:"addResponse",response:n})}toExport(){return{responderUsername:this.responderUsername,initialLocation:this.initialLocation,requests:this._requests.map(e=>{let n={...e.message,parts:e.message.parts.map(s=>s&&"toJSON"in s?s.toJSON():s)},o=e.response?.agent,i=o&&"toJSON"in o?o.toJSON():o?{...o}:void 0;return{requestId:e.id,message:n,variableData:I4.toExport(e.variableData),response:e.response?e.response.entireResponse.value.filter(s=>s.kind!=="voiceProgress").map(s=>s.kind==="treeData"?s.treeData:s.kind==="markdownContent"?s.content:s):void 0,shouldBeRemovedOnSend:e.shouldBeRemovedOnSend,agent:i,timestamp:e.requestTimestamp,confirmation:e.confirmation,editedFileEvents:e.editedFileEvents,modelId:e.modelId,modelConfiguration:e.modelConfiguration,...e.agentHostMetadata?{agentHostMetadata:e.agentHostMetadata}:{},modeInfo:e.modeInfo,isSystemInitiated:e.isSystemInitiated||void 0,...e.requestSource!==void 0?{requestSource:e.requestSource}:{},hiddenFromTranscript:e.isHiddenFromTranscript||void 0,...e.isRequestHiddenFromTranscript&&!e.isHiddenFromTranscript?{requestHiddenFromTranscript:!0}:{},systemInitiatedLabel:e.systemInitiatedLabel,terminalExecutionId:e.terminalExecutionId,origin:e.origin?l4(e.origin):void 0,...e.response?.toJSON()}})}}toJSON(){return{version:3,...this.toExport(),sessionId:this.sessionId,creationDate:this._timestamp,customTitle:this._customTitle,inputState:this.inputModel.toJSON(),workingDirectory:this._workingDirectory?.toString()}}dispose(){this._requests.forEach(e=>e.response?.dispose()),this._onDidDispose.fire(),super.dispose(),this._requests.length=0,this.dataSerializer=void 0,this._editingSession=void 0}};Kp=C([b(2,z),b(3,WV),b(4,r4),b(5,RW)],Kp);(i=>{i.scheme=B.vscodeChatResponseResource;function t(s,a,l,c){return e(s,`/tool/${a}/${l}`+(c?`/${c}`:""))}i.createUri=t;function e(s,a,l){return S.from({scheme:i.scheme,authority:Na(L.fromString(s.toString())),path:a,query:l})}function n(s){if(s.scheme!==i.scheme)return;let a=s.path.split("/");if(a.length<4)return;let[,l,c,u]=a;if(l==="tool")return{sessionResource:o(s),toolCallId:c,index:Number(u)}}i.parseUri=n;function o(s){try{return S.parse(og(s.authority).toString())}catch(a){if(a instanceof SyntaxError)return Pl.forSession(s.authority);throw a}}})(S4||={})});function C4(r){if(r instanceof Uint8Array)return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(!r||typeof r!="object"||Array.isArray(r))return;let t=r,e=Object.keys(t).sort((o,i)=>Number(o)-Number(i));if(e.length===0)return;let n=new Uint8Array(e.length);for(let o=0;o<e.length;o++){let i=t[e[o]];if(e[o]!==String(o)||typeof i!="number"||!Number.isInteger(i)||i<0||i>255)return;n[o]=i}return n}var E4=y(()=>{Ke();Mc();oe();re();sx();GV();x4();Up();Mh();gh()});function jp(r,t=te){return Zv(r,t)?r.charAt(0).toUpperCase()+r.slice(1):r}var M_=y(()=>{Ii();Me();me();bt();Tt()});var w4=y(()=>{re()});var fa=y(()=>{});var T4=y(()=>{});var R4=y(()=>{});var P4=y(()=>{});var k4=y(()=>{});var D4=y(()=>{});var _4=y(()=>{});var M4=y(()=>{});var A4=y(()=>{});var L4=y(()=>{});var A_=y(()=>{});var O4=y(()=>{});var N4=y(()=>{});var Ml=y(()=>{T4();R4();P4();k4();D4();_4();M4();A4();L4();A_();O4();N4()});var U4=y(()=>{});var F4=y(()=>{oe()});var H4=y(()=>{F4()});var L_=y(()=>{Ua();bt();oe()});var W4=y(()=>{});var V4=y(()=>{W4()});var aC=y(()=>{});var B4=y(()=>{me()});var q4=y(()=>{B4()});var XJ,Nje,O_=y(()=>{aC();q4();XJ=["running","succeeded","failed","cancelled"],Nje=new Set(XJ)});var lC=y(()=>{we();aC()});var Bje,N_=y(()=>{fr();Bje=4*1024});var z4=y(()=>{});var iQe,G4=y(()=>{Ii();_i();Ae();bt();we();oe();re();N_();Ml();z4();iQe={search:{kind:"search",subjectKeys:["pattern","query"],running:d(2434,null),completed:d(2432,null),failed:d(2433,null)},view:{kind:"read",subjectKeys:["file_path","path"],running:d(2374,null),completed:d(2372,null),failed:d(2373,null)},show_file:{subjectKeys:["file_path","path"],running:d(2446,null),completed:d(2444,null),failed:d(2445,null)},edit:{subjectKeys:["file_path","path"],running:d(2304,null),completed:d(2302,null),failed:d(2303,null)},write_file:{subjectKeys:["file_path","path"],running:d(2486,null),completed:d(2484,null),failed:d(2485,null)},apply_patch:{running:d(2355,null),completed:d(2353,null),failed:d(2354,null)},bash:{kind:"terminal",subjectKeys:["description","command"],running:d(2443,null),completed:d(2441,null),failed:d(2442,null)},read_bash:{running:d(2380,null),completed:d(2378,null),failed:d(2379,null)},write_bash:{running:d(2492,null),completed:d(2490,null),failed:d(2491,null)},stop_bash:{running:d(2455,null),completed:d(2453,null),failed:d(2454,null)},list_bash:{running:d(2334,null),completed:d(2332,null),failed:d(2333,null)},task:{subjectKeys:["description","agent_type"],running:d(2461,null),completed:d(2459,null),failed:d(2460,null)},read_agent:{subjectKeys:["agent_id","agentId"],running:d(2377,null),completed:d(2375,null),failed:d(2376,null)},write_agent:{running:d(2489,null),completed:d(2487,null),failed:d(2488,null)},task_complete:{running:d(2464,null),completed:d(2462,null),failed:d(2463,null)},ask_user:{subjectKeys:["question"],running:d(2274,null),completed:d(2272,null),failed:d(2273,null)},exit_plan_mode:{running:d(2359,null),completed:d(2357,null),failed:d(2358,null)},respond_to_session_plan:{running:d(2407,null),completed:d(2405,null),failed:d(2406,null)},skill:{subjectKeys:["skill","name"],running:d(2449,null),completed:d(2447,null),failed:d(2448,null)},web_search:{subjectKeys:["query"],running:d(2480,null),completed:d(2478,null),failed:d(2479,null)},web_fetch:{subjectKeys:["url"],running:d(2477,null),completed:d(2475,null),failed:d(2476,null)},sql:{subjectKeys:["description"],running:d(2452,null),completed:d(2450,null),failed:d(2451,null)},tool_search_tool_regex:{subjectKeys:["regex","pattern"],running:d(2471,null),completed:d(2469,null),failed:d(2470,null)},update_todo:{running:d(2467,null),completed:d(2465,null),failed:d(2466,null)},update_profile:{running:d(2371,null),completed:d(2369,null),failed:d(2370,null)},store_memory:{subjectKeys:["fact"],running:d(2343,null),completed:d(2341,null),failed:d(2342,null)},create_pull_request:{subjectKeys:["title"],running:d(2292,null),completed:d(2290,null),failed:d(2291,null)},create_issue:{subjectKeys:["title"],running:d(2289,null),completed:d(2287,null),failed:d(2288,null)},create_session:{subjectKeys:["name"],running:d(2295,null),completed:d(2293,null),failed:d(2294,null)},get_changes_overview:{running:d(2283,null),completed:d(2281,null),failed:d(2282,null)},send_session_message:{running:d(2437,null),completed:d(2435,null),failed:d(2436,null)},annotate_diff_line:{subjectKeys:["path"],running:d(2265,null),completed:d(2263,null),failed:d(2264,null)},add_pr_review_comment:{running:d(2362,null),completed:d(2360,null),failed:d(2361,null)},edit_pr_review_comment:{running:d(2307,null),completed:d(2305,null),failed:d(2306,null)},remove_pr_review_comment:{running:d(2383,null),completed:d(2381,null),failed:d(2382,null)},reply_and_resolve_review_thread:{running:d(2404,null),completed:d(2402,null),failed:d(2403,null)},navigate_to:{running:d(2346,null),completed:d(2344,null),failed:d(2345,null)},navigate_to_github_item:{running:d(2319,null),completed:d(2317,null),failed:d(2318,null)},open_pr_session:{running:d(2352,null),completed:d(2350,null),failed:d(2351,null)},open_issue_session:{running:d(2349,null),completed:d(2347,null),failed:d(2348,null)},list_agents:{running:d(2322,null),completed:d(2320,null),failed:d(2321,null)},list_sessions_and_chats:{running:d(2331,null),completed:d(2329,null),failed:d(2330,null)},list_items:{running:d(2325,null),completed:d(2323,null),failed:d(2324,null)},list_projects:{running:d(2328,null),completed:d(2326,null),failed:d(2327,null)},get_session:{running:d(2316,null),completed:d(2314,null),failed:d(2315,null)},get_sessions_status:{running:d(2440,null),completed:d(2438,null),failed:d(2439,null)},get_main_session_transcript:{running:d(2474,null),completed:d(2472,null),failed:d(2473,null)},rename_session:{subjectKeys:["title"],running:d(2389,null),completed:d(2387,null),failed:d(2388,null)},rename_workspace:{subjectKeys:["title"],running:d(2392,null),completed:d(2390,null),failed:d(2391,null)},rename_branch:{subjectKeys:["name"],running:d(2386,null),completed:d(2384,null),failed:d(2385,null)},delete_item:{running:d(2298,null),completed:d(2296,null),failed:d(2297,null)},archive_session:{running:d(2268,null),completed:d(2266,null),failed:d(2267,null)},suggest_items:{running:d(2458,null),completed:d(2456,null),failed:d(2457,null)},get_session_automation:{running:d(2310,null),completed:d(2308,null),failed:d(2309,null)},save_session_automation:{running:d(2422,null),completed:d(2420,null),failed:d(2421,null)},list_workflows:{running:d(2337,null),completed:d(2335,null),failed:d(2336,null)},save_workflow:{subjectKeys:["name"],running:d(2428,null),completed:d(2426,null),failed:d(2427,null)},run_workflow:{running:d(2416,null),completed:d(2414,null),failed:d(2415,null)},run_dynamic_workflow:{running:d(2410,null),completed:d(2408,null),failed:d(2409,null)},dynamic_workflows_manage:{running:d(2340,null),completed:d(2338,null),failed:d(2339,null)},open_canvas:{subjectKeys:["title","name","url"],running:d(2277,null),completed:d(2275,null),failed:d(2276,null)},send_canvas_command:{subjectKeys:["name","command"],running:d(2280,null),completed:d(2278,null),failed:d(2279,null)},clear_widget:{running:d(2286,null),completed:d(2284,null),failed:d(2285,null)},discover_widgets:{running:d(2483,null),completed:d(2481,null),failed:d(2482,null)},render_widget:{running:d(2398,null),completed:d(2396,null),failed:d(2397,null)},render_widget_inbox:{running:d(2395,null),completed:d(2393,null),failed:d(2394,null)},list_priorities:{running:d(2365,null),completed:d(2363,null),failed:d(2364,null)},get_priority:{running:d(2368,null),completed:d(2366,null),failed:d(2367,null)},save_priority:{subjectKeys:["title"],running:d(2419,null),completed:d(2417,null),failed:d(2418,null)},reorder_priorities:{running:d(2401,null),completed:d(2399,null),failed:d(2400,null)},archive_priority:{running:d(2271,null),completed:d(2269,null),failed:d(2270,null)},list_scheduled_tasks:{running:d(2431,null),completed:d(2429,null),failed:d(2430,null)},get_scheduled_task:{running:d(2313,null),completed:d(2311,null),failed:d(2312,null)},save_scheduled_task:{subjectKeys:["title"],running:d(2425,null),completed:d(2423,null),failed:d(2424,null)},delete_scheduled_task:{running:d(2301,null),completed:d(2299,null),failed:d(2300,null)},run_scheduled_task:{running:d(2413,null),completed:d(2411,null),failed:d(2412,null)}}});var K4=y(()=>{we();Ml();O_();lC();G4();O_()});var j4=y(()=>{});var F_=y(()=>{aC();j4();lC()});var Q4=y(()=>{});var H_=y(()=>{lC();Q4()});var J4=y(()=>{});var Y4=y(()=>{});var X4=y(()=>{});var Z4=y(()=>{});var e5=y(()=>{});var t5=y(()=>{});var n5=y(()=>{});var o5=y(()=>{});var r5=y(()=>{});var i5=y(()=>{});var s5=y(()=>{});var a5=y(()=>{J4();Y4();X4();Z4();e5();t5();n5();o5();r5();i5();s5()});var d5=y(()=>{we();a5();Ml()});var u5=y(()=>{});var p5=y(()=>{});var m5=y(()=>{});var g5=y(()=>{});var f5=y(()=>{});var h5=y(()=>{});var v5=y(()=>{});var y5=y(()=>{});var W_=y(()=>{u5();p5();m5();g5();f5();h5();v5();y5()});function b5(r,t){return t?`${r.replace(/#/g,"%23")}#range=${t.start.line}:${t.start.character}-${t.end.line}:${t.end.character}`:r}function x5(r,t){let e=typeof r=="string"?r:r.toString(),n=To(L.fromString(e),!1,!0);return`${S5}://${V_}/${n}/${encodeURIComponent(t)}`}function gY(r){let t;try{t=typeof r=="string"?S.parse(r):r}catch{return}if(t.scheme!==S5||!t.authority)return;let e=t.path.replace(/^\//,"");if(e)try{if(t.authority===V_){let[n,...o]=e.split("/"),i=o.join("/");return!n||!i?void 0:{session:gr(n).toString(),chatId:`${V_}/${decodeURIComponent(i)}`}}return{session:gr(e).toString(),chatId:t.authority}}catch{return}}function fY(r){return gY(r)?.session}function C5(r){let t=fY(r);if(t===void 0)throw new Error(`Malformed AHP chat URI: ${typeof r=="string"?r:r.toString()}`);return t}var pY,ZJe,mY,eYe,S5,V_,B_=y(()=>{At();Ke();we();oe();H4();L_();V4();K4();F_();H_();F_();N_();H_();d5();Ml();Ml();W_();Ml();pY="ahp-automations",ZJe=`${pY}://`;mY="subagent",eYe=`/${mY}/`,S5="ahp-chat",V_="subagent"});var E5=y(()=>{fr();bt()});function vY(r,t){let e=b5(r.toString());return t?`${e.replace(/#/g,"%23")}#${t}`:e}function yY(r){return{type:"hook",id:vY(r),uri:r.toString(),name:An(r)}}function Oh(r){if(!r||typeof r!="object")return;let t=r,e=typeof t.type=="string"?t.type:void 0,n=t.transport==="sse"||t.transport==="http"?t.transport:void 0,o=typeof t.command=="string"?t.command:void 0,i=typeof t.url=="string"?t.url:void 0,s=Array.isArray(t.args)?t.args.filter(v=>typeof v=="string"):void 0,a=t.env&&typeof t.env=="object"?Object.fromEntries(Object.entries(t.env).filter(([,v])=>typeof v=="string"||typeof v=="number"||v===null).map(([v,I])=>[v,I])):void 0,l=typeof t.envFile=="string"?t.envFile:void 0,c=typeof t.cwd=="string"?t.cwd:void 0,u=t.headers&&typeof t.headers=="object"?Object.fromEntries(Object.entries(t.headers).filter(([,v])=>typeof v=="string").map(([v,I])=>[v,I])):void 0,p=t.oauth&&typeof t.oauth=="object"?t.oauth:void 0,m=(typeof p?.clientId=="string"?p.clientId:void 0)??(typeof t.oauthClientId=="string"?t.oauthClientId:void 0),f=m?{clientId:m}:void 0,h=t.dev&&typeof t.dev=="object"?t.dev:void 0;if(e!=="ws"){if(e==="stdio"||!e&&o)return o?{type:"stdio",command:o,args:s,env:a,envFile:l,cwd:c,dev:h}:void 0;if(e==="http"||e==="streamable-http"||e==="sse"||!e&&i)return i?{type:"http",...e==="sse"||n==="sse"?{transport:"sse"}:{},url:i,headers:u,...f?{oauth:f}:{},dev:h}:void 0}}function SY(r,t,e,n="posix"){if(!r.includes(e))return r;if((n==="powershell"?bY:IY).test(t))return r.replaceAll(e,t);let i=eo(e),s=new RegExp(`(["']?)`+i+"([\\w./\\\\~:-]*)\\1","g");return r.replace(s,(a,l,c)=>{let u=t+c;return n==="powershell"?`'${u.replace(/'/g,"''")}'`:`'${u.replace(/'/g,"'\\''")}'`})}function xY(r,t,e){let n=t.fsPath,o=to(r,i=>typeof i=="string"?i.replaceAll(e.token,n):void 0);for(let i of["command","windows","linux","osx","bash","powershell"])if(typeof r[i]=="string"){let s=i==="windows"||i==="powershell"||i==="command"&&te?"powershell":"posix";o[i]=SY(r[i],n,e.token,s)}return o.env={...o.env&&typeof o.env=="object"&&!Array.isArray(o.env)?o.env:{},[e.envVar]:n},o}function EY(r){if(r.type!==void 0&&r.type!=="command")return;let t=typeof r.command=="string"&&r.command.length>0,e=typeof r.bash=="string"&&r.bash.length>0,n=typeof r.powershell=="string"&&r.powershell.length>0,o=typeof r.windows=="string"&&r.windows.length>0,i=typeof r.linux=="string"&&r.linux.length>0,s=typeof r.osx=="string"&&r.osx.length>0;if(!t&&!e&&!n&&!o&&!i&&!s)return;let a=o?r.windows:n?r.powershell:void 0,l=i?r.linux:e?r.bash:void 0,c=s?r.osx:e?r.bash:void 0,u=typeof r.timeout=="number"?r.timeout:typeof r.timeoutSec=="number"?r.timeoutSec:void 0;return{...t&&{command:r.command},...a&&{windows:a},...l&&{linux:l},...c&&{osx:c},...typeof r.env=="object"&&r.env!==null&&{env:r.env},...u!==void 0&&{timeout:u}}}function w5(r,t,e){let n=EY(r);if(!n)return;let o,i=typeof r.cwd=="string"?r.cwd:void 0;return i?i.startsWith("~/")?o=S.joinPath(e,i.substring(2)):xo(i)?o=S.file(i):t&&(o=ge(t,i)):o=t,{...n,cwd:o}}function wY(r,t,e){if(!r||typeof r!="object")return[];let n=r,o=[],i=n.hooks;if(i!==void 0&&Array.isArray(i))for(let s of i){if(!s||typeof s!="object")continue;let a=w5(s,t,e);a&&o.push(a)}else{let s=w5(n,t,e);s&&o.push(s)}return o}function TY(r,t,e,n){if(!t||typeof t!="object")return[];let o=t;if(o.disableAllHooks===!0)return[];let i=o.hooks,s=i&&typeof i=="object"&&!Array.isArray(i)?i:o,a=[],l=yY(r);for(let c of Object.keys(s)){let u=CY[c];if(!u)continue;let p=s[c];if(!Array.isArray(p))continue;let m=[];for(let f of p)m.push(...wY(f,e,n));m.length>0&&a.push({type:u,commands:m,uri:r,originalId:c,customization:l})}return a}function RY(r,t,e,n,o,i){let s=t,a=c=>{Object.assign(c,xY(c,e,i))};for(let c of Object.values(s.hooks??{}))if(Array.isArray(c))for(let u of c){if(!u||typeof u!="object")continue;let p=u;if(Array.isArray(p.hooks))for(let m of p.hooks)a(m);else a(p)}return TY(r,to(t,c=>typeof c=="string"?c.replaceAll(i.token,e.fsPath):void 0),n,o)}var $_,q_,hY,T5,AYe,LYe,Qp,OYe,IY,bY,CY,cC=y(()=>{fr();jt();Me();me();bt();Tt();we();oe();w4();fa();Ml();U4();B_();E5();(t=>{function r(e,n){return e===n?!0:!e||!n?!1:e.command===n.command&&e.windows===n.windows&&e.linux===n.linux&&e.osx===n.osx&&mo(e.cwd,n.cwd)&&ct(e.env,n.env)&&e.timeout===n.timeout&&mo(e.sourceUri,n.sourceUri)}t.isEquals=r})($_||={});q_={token:"${PLUGIN_ROOT}",envVar:"PLUGIN_ROOT"},hY={token:"${CLAUDE_PLUGIN_ROOT}",envVar:"CLAUDE_PLUGIN_ROOT"},T5=[q_,hY],AYe=T5.map(r=>r.token),LYe=T5.map(r=>r.envVar),Qp="com.github.copilot",OYe={format:3,manifestPath:"plugin.json",hookConfigPath:`${Qp}/hooks/hooks.json`,componentPaths:{commands:`${Qp}/commands`,skills:"skills",agents:`${Qp}/agents`,rules:`${Qp}/rules`,hooks:`${Qp}/hooks/hooks.json`,mcpServers:"mcp.json",automations:"automations"},manifestExtensionNamespace:Qp,requiresManifest:!0,pluginRootTokens:[],pluginRootEnvVars:[],hookPluginRoot:q_,parseHooks(r,t,e,n,o){return RY(r,t,e,n,o,q_)}};IY=/^[a-zA-Z0-9_./:-]+$/,bY=/^[a-zA-Z0-9_./\\:-]+$/;CY={SessionStart:"SessionStart",SessionEnd:"SessionEnd",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop",ErrorOccurred:"ErrorOccurred",sessionStart:"SessionStart",sessionEnd:"SessionEnd",userPromptSubmitted:"UserPromptSubmit",preToolUse:"PreToolUse",postToolUse:"PostToolUse",agentStop:"Stop",subagentStop:"SubagentStop",errorOccurred:"ErrorOccurred"}});var z_=y(()=>{re()});var dC,R5,P5,k5=y(()=>{re();z_();dC=(u=>(u.SessionStart="SessionStart",u.SessionEnd="SessionEnd",u.UserPromptSubmit="UserPromptSubmit",u.PreToolUse="PreToolUse",u.PostToolUse="PostToolUse",u.PreCompact="PreCompact",u.SubagentStart="SubagentStart",u.SubagentStop="SubagentStop",u.Stop="Stop",u.ErrorOccurred="ErrorOccurred",u))(dC||{}),R5={vscode:{SessionStart:"SessionStart",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop"},"github-copilot":{sessionStart:"SessionStart",sessionEnd:"SessionEnd",userPromptSubmitted:"UserPromptSubmit",preToolUse:"PreToolUse",postToolUse:"PostToolUse",agentStop:"Stop",subagentStop:"SubagentStop",errorOccurred:"ErrorOccurred"},claude:{SessionStart:"SessionStart",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop"},undefined:Object.fromEntries(Object.values(dC).map(r=>[r,r]))},P5={SessionStart:{label:d(12731,null),description:d(12730,null)},UserPromptSubmit:{label:d(12739,null),description:d(12738,null)},PreToolUse:{label:d(12727,null),description:d(12726,null)},PostToolUse:{label:d(12723,null),description:d(12722,null)},PreCompact:{label:d(12725,null),description:d(12724,null)},SubagentStart:{label:d(12735,null),description:d(12734,null)},SubagentStop:{label:d(12737,null),description:d(12736,null)},Stop:{label:d(12733,null),description:d(12732,null)},SessionEnd:{label:d(12729,null),description:d(12728,null)},ErrorOccurred:{label:d(12721,null),description:d(12720,null)}}});function D5(r,t){return Object.fromEntries(Object.entries(R5[r]).map(([e,n])=>[e,{...t,description:P5[n]?.description}]))}function _5(r,t){return t===1&&r.windows?r.windows:t===2&&r.osx?r.osx:t===3&&r.linux?r.linux:r.command}var kY,wr,DY,_Y,MY,AY,LY,OY,XYe,M5=y(()=>{re();oe();bt();Me();M_();me();cC();k5();z_();(t=>{function r(e,n){if(e===n)return!0;if(!e||!n)return!1;for(let o of Object.values(dC)){let i=e[o],s=n[o];if(i?.length!==s?.length)return!1;if(i&&s){for(let a=0;a<i.length;a++)if(!$_.isEquals(i[a],s[a]))return!1}}return!0}t.isEquals=r})(kY||={});wr={type:d(12713,null),command:d(12704,null),windows:d(12714,null),linux:d(12708,null),osx:d(12709,null),bash:d(12702,null),powershell:d(12710,null),cwd:d(12706,null),env:d(12707,null),timeout:d(12711,null),timeoutSec:d(12712,null)},DY={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["command"]},{required:["windows"]},{required:["linux"]},{required:["osx"]},{required:["bash"]},{required:["powershell"]}],errorMessage:d(12705,null),properties:{type:{type:"string",enum:["command"],description:wr.type},command:{type:"string",description:wr.command},windows:{type:"string",description:wr.windows},linux:{type:"string",description:wr.linux},osx:{type:"string",description:wr.osx},cwd:{type:"string",description:wr.cwd},env:{type:"object",additionalProperties:{type:"string"},description:wr.env},timeout:{type:"number",default:30,description:wr.timeout}}},_Y={type:"array",items:DY};MY=D5("vscode",_Y),AY={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["bash"]},{required:["powershell"]}],errorMessage:d(12703,null),properties:{type:{type:"string",enum:["command"],description:wr.type},bash:{type:"string",description:wr.bash},powershell:{type:"string",description:wr.powershell},cwd:{type:"string",description:wr.cwd},env:{type:"object",additionalProperties:{type:"string"},description:wr.env},timeoutSec:{type:"number",default:10,description:wr.timeoutSec}}},LY={type:"array",items:AY},OY=D5("github-copilot",LY),XYe={$schema:"http://json-schema.org/draft-07/schema#",type:"object",description:d(12715,null),additionalProperties:!0,required:["hooks"],properties:{hooks:{type:"object",description:d(12716,null),additionalProperties:!0}},if:{required:["version"],properties:{version:{type:"number"}}},then:{properties:{version:{type:"number",description:d(12719,null)},hooks:{properties:OY}}},else:{properties:{hooks:{properties:MY}}},defaultSnippets:[{label:d(12717,null),description:d(12718,null),body:{hooks:{SessionStart:[{type:"command",command:'${1:echo "Session started" >> session.log}'}],PreToolUse:[{type:"command",command:"${2:./scripts/validate.sh}",timeout:15}]}}}]}});var iXe,sXe,aXe,NY,lXe,cXe,dXe,uXe,pXe,mXe,gXe,fXe,hXe,vXe,yXe,IXe,bXe,SXe,xXe,CXe,EXe,wXe,TXe,RXe,PXe,kXe,DXe,_Xe,MXe,AXe,LXe,OXe,NXe,UXe,FXe,HXe,WXe,VXe,BXe,qXe,$Xe,zXe,GXe,KXe,jXe,QXe,JXe,YXe,XXe,ZXe,eZe,tZe,nZe,oZe,rZe,iZe,sZe,aZe,lZe,cZe,dZe,uZe,pZe,mZe,gZe,fZe,UY,FY,A5=y(()=>{oe();re();fo();Z();iXe=new x("debugType",void 0,{type:"string",description:d(14275,null)}),sXe=new x("debugConfigurationType",void 0,{type:"string",description:d(14266,null)}),aXe=new x("debugState","inactive",{type:"string",description:d(14274,null)}),NY="debugUx",lXe=new x(NY,"default",{type:"string",description:d(14276,null)}),cXe=new x("hasDebugged",!1,{type:"boolean",description:d(14284,null)}),dXe=new x("inDebugMode",!1,{type:"boolean",description:d(14286,null)}),uXe=new x("inDebugRepl",!1,{type:"boolean",description:d(14287,null)}),pXe=new x("breakpointWidgetVisible",!1,{type:"boolean",description:d(14256,null)}),mXe=new x("inBreakpointWidget",!1,{type:"boolean",description:d(14285,null)}),gXe=new x("breakpointsFocused",!0,{type:"boolean",description:d(14254,null)}),fXe=new x("watchExpressionsFocused",!0,{type:"boolean",description:d(14312,null)}),hXe=new x("watchExpressionsExist",!1,{type:"boolean",description:d(14311,null)}),vXe=new x("variablesFocused",!0,{type:"boolean",description:d(14308,null)}),yXe=new x("expressionSelected",!1,{type:"boolean",description:d(14280,null)}),IXe=new x("breakpointInputFocused",!1,{type:"boolean",description:d(14250,null)}),bXe=new x("callStackItemType",void 0,{type:"string",description:d(14262,null)}),SXe=new x("callStackSessionIsAttach",!1,{type:"boolean",description:d(14264,null)}),xXe=new x("callStackItemStopped",!1,{type:"boolean",description:d(14261,null)}),CXe=new x("callStackSessionHasOneThread",!1,{type:"boolean",description:d(14263,null)}),EXe=new x("callStackFocused",!0,{type:"boolean",description:d(14260,null)}),wXe=new x("watchItemType",void 0,{type:"string",description:d(14313,null)}),TXe=new x("canViewMemory",void 0,{type:"boolean",description:d(14265,null)}),RXe=new x("breakpointItemType",void 0,{type:"string",description:d(14252,null)}),PXe=new x("breakpointItemBytes",void 0,{type:"boolean",description:d(14251,null)}),kXe=new x("breakpointHasModes",!1,{type:"boolean",description:d(14249,null)}),DXe=new x("breakpointSupportsCondition",!1,{type:"boolean",description:d(14255,null)}),_Xe=new x("loadedScriptsSupported",!1,{type:"boolean",description:d(14292,null)}),MXe=new x("loadedScriptsItemType",void 0,{type:"string",description:d(14291,null)}),AXe=new x("focusedSessionIsAttach",!1,{type:"boolean",description:d(14281,null)}),LXe=new x("focusedSessionIsNoDebug",!1,{type:"boolean",description:d(14282,null)}),OXe=new x("stepBackSupported",!1,{type:"boolean",description:d(14297,null)}),NXe=new x("restartFrameSupported",!1,{type:"boolean",description:d(14295,null)}),UXe=new x("stackFrameSupportsRestart",!1,{type:"boolean",description:d(14296,null)}),FXe=new x("jumpToCursorSupported",!1,{type:"boolean",description:d(14289,null)}),HXe=new x("stepIntoTargetsSupported",!1,{type:"boolean",description:d(14298,null)}),WXe=new x("breakpointsExist",!1,{type:"boolean",description:d(14253,null)}),VXe=new x("debuggersAvailable",!1,{type:"boolean",description:d(14269,null)}),BXe=new x("debugExtensionAvailable",!0,{type:"boolean",description:d(14267,null)}),qXe=new x("debugProtocolVariableMenuContext",void 0,{type:"string",description:d(14270,null)}),$Xe=new x("debugSetVariableSupported",!1,{type:"boolean",description:d(14273,null)}),zXe=new x("debugSetDataBreakpointAddressSupported",!1,{type:"boolean",description:d(14271,null)}),GXe=new x("debugSetExpressionSupported",!1,{type:"boolean",description:d(14272,null)}),KXe=new x("breakWhenValueChangesSupported",!1,{type:"boolean",description:d(14257,null)}),jXe=new x("breakWhenValueIsAccessedSupported",!1,{type:"boolean",description:d(14258,null)}),QXe=new x("breakWhenValueIsReadSupported",!1,{type:"boolean",description:d(14259,null)}),JXe=new x("terminateDebuggeeSupported",!1,{type:"boolean",description:d(14300,null)}),YXe=new x("suspendDebuggeeSupported",!1,{type:"boolean",description:d(14299,null)}),XXe=new x("terminateThreadsSupported",!1,{type:"boolean",description:d(14301,null)}),ZXe=new x("variableEvaluateNamePresent",!1,{type:"boolean",description:d(14302,null)}),eZe=new x("variableIsReadonly",!1,{type:"boolean",description:d(14305,null)}),tZe=new x("variableValue",!1,{type:"string",description:d(14310,null)}),nZe=new x("variableType",!1,{type:"string",description:d(14309,null)}),oZe=new x("variableInterfaces",!1,{type:"array",description:d(14304,null)}),rZe=new x("variableName",!1,{type:"string",description:d(14307,null)}),iZe=new x("variableLanguage",!1,{type:"string",description:d(14306,null)}),sZe=new x("variableExtensionId",!1,{type:"string",description:d(14303,null)}),aZe=new x("exceptionWidgetVisible",!1,{type:"boolean",description:d(14279,null)}),lZe=new x("multiSessionRepl",!1,{type:"boolean",description:d(14294,null)}),cZe=new x("multiSessionDebug",!1,{type:"boolean",description:d(14293,null)}),dZe=new x("disassembleRequestSupported",!1,{type:"boolean",description:d(14277,null)}),uZe=new x("disassemblyViewFocus",!1,{type:"boolean",description:d(14278,null)}),pZe=new x("languageSupportsDisassembleRequest",!1,{type:"boolean",description:d(14290,null)}),mZe=new x("focusedStackFrameHasInstructionReference",!1,{type:"boolean",description:d(14283,null)}),gZe={enum:["neverOpen","openOnSessionStart","openOnFirstSessionStart"],default:"openOnFirstSessionStart",description:d(14288,null)},fZe=D("debugService");(e=>(e.deserialize=n=>n,e.serialize=n=>n))(UY||={});(e=>(e.deserialize=n=>({id:n.id,name:n.name,iconPath:n.iconPath&&{light:S.revive(n.iconPath.light),dark:S.revive(n.iconPath.dark)},iconClass:n.iconClass,visualization:n.visualization}),e.serialize=n=>n))(FY||={})});function Al(r,t){let[e,n]=t.split("/");for(let o of r.resources){let[i,s]=o.type.split("/");if(i===e){if(!n||s===n)return o.id;break}}}var uC,Nh=y(()=>{Z();uC=D("IMcpGalleryManifestService")});function Xc(r,t={}){let e=Object.keys(t);if(!e.length)return r;let n=new RegExp(e.map(o=>eo(`{${o}}`)).join("|"),"g");return r.replace(n,o=>{let i=o.slice(1,-1);return t[i].value??`\${input:${i}}`})}var ha,Uh,nr,pC,mC,gC,Ll=y(()=>{Tt();Z();ha=D("IMcpGalleryService"),Uh=D("IMcpManagementService"),nr=D("IAllowedMcpServersService"),pC="chat.mcp.access",mC="chat.mcp.allowedServers",gC="chat.mcp.deniedServers"});function Fh(r,t,e,n){return Jp.registerIcon(r,t,e,n)}function $Y(){let r=tU();for(let t in r){let e="\\"+r[t].toString(16);Jp.registerIcon(t,{fontCharacter:e})}}var HY,WY,VY,BY,qY,G_,Jp,O5,N5,L5,OZe,NZe,UZe,FZe,HZe,U5=y(()=>{Ne();as();RI();nl();de();we();oe();re();Ey();Vo();K();HY={IconContribution:"base.contributions.icons"};(t=>{function r(e,n){let o=e.defaults;for(;an.isThemeIcon(o);){let i=Jp.getIcon(o.id);if(!i)return;o=i.defaults}return o}t.getDefinition=r})(WY||={});(e=>{function r(n){return{weight:n.weight,style:n.style,src:n.src.map(o=>({format:o.format,location:o.location.toString()}))}}e.toJSONObject=r;function t(n){let o=i=>j(i)?i:void 0;if(n&&Array.isArray(n.src)&&n.src.every(i=>j(i.format)&&j(i.location)))return{weight:o(n.weight),style:o(n.style),src:n.src.map(i=>({format:i.format,location:S.parse(i.location)}))}}e.fromJSONObject=t})(VY||={});BY=/^([\w_-]+)$/,qY=d(4131,null),G_=class extends _{constructor(){super();this._onDidChange=this._register(new T);this.onDidChange=this._onDidChange.event;this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:d(4128,null),pattern:BY.source,patternErrorMessage:qY},fontCharacter:{type:"string",description:d(4127,null)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}};this.iconReferenceSchema={type:"string",pattern:`^${an.iconNameExpression}$`,enum:[],enumDescriptions:[]};this.iconsById={},this.iconFontsById={}}registerIcon(e,n,o,i){let s=this.iconsById[e];if(s){if(o&&!s.description){s.description=o,this.iconSchema.properties[e].markdownDescription=`${o} $(${e})`;let c=this.iconReferenceSchema.enum.indexOf(e);c!==-1&&(this.iconReferenceSchema.enumDescriptions[c]=o),this._onDidChange.fire()}return s}let a={id:e,description:o,defaults:n,deprecationMessage:i};this.iconsById[e]=a;let l={$ref:"#/definitions/icons"};return i&&(l.deprecationMessage=i),o&&(l.markdownDescription=`${o}: $(${e})`),this.iconSchema.properties[e]=l,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(o||""),this._onDidChange.fire(),{id:e}}deregisterIcon(e){delete this.iconsById[e],delete this.iconSchema.properties[e];let n=this.iconReferenceSchema.enum.indexOf(e);n!==-1&&(this.iconReferenceSchema.enum.splice(n,1),this.iconReferenceSchema.enumDescriptions.splice(n,1)),this._onDidChange.fire()}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}getIconReferenceSchema(){return this.iconReferenceSchema}registerIconFont(e,n){let o=this.iconFontsById[e];return o||(this.iconFontsById[e]=n,this._onDidChange.fire(),n)}deregisterIconFont(e){delete this.iconFontsById[e]}getIconFont(e){return this.iconFontsById[e]}toString(){let e=(s,a)=>s.id.localeCompare(a.id),n=s=>{for(;an.isThemeIcon(s.defaults);)s=this.iconsById[s.defaults.id];return`codicon codicon-${s?s.id:""}`},o=[];o.push("| preview | identifier | default codicon ID | description"),o.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");let i=Object.keys(this.iconsById).map(s=>this.iconsById[s]);for(let s of i.filter(a=>!!a.description).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|${an.isThemeIcon(s.defaults)?s.defaults.id:s.id}|${s.description||""}|`);o.push("| preview | identifier "),o.push("| ----------- | --------------------------------- |");for(let s of i.filter(a=>!an.isThemeIcon(a.defaults)).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|`);return o.join(`
`)}},Jp=new G_;ht.add(HY.IconContribution,Jp);$Y();O5="vscode://schemas/icons",N5=ht.as(dc.JSONContribution);N5.registerSchema(O5,Jp.getIconSchema());L5=new Yo(()=>N5.notifySchemaChanged(O5),200);Jp.onDidChange(()=>{L5.isScheduled()||L5.schedule()});OZe=Fh("widget-close",X.close,d(4132,null)),NZe=Fh("goto-previous-location",X.arrowUp,d(4130,null)),UZe=Fh("goto-next-location",X.arrowDown,d(4129,null)),FZe=an.modify(X.sync,"spin"),HZe=an.modify(X.loading,"spin")});var fC,jZe,QZe,JZe,zY,YZe,GY,XZe,ZZe,eet,K_=y(()=>{we();re();Z();fo();oe();U5();as();fC=D("IUserDataProfileService"),jZe=D("IUserDataProfileManagementService"),QZe=D("IUserDataProfileImportExportService"),JZe=Fh("defaultProfile-icon",X.settings,d(22862,null)),zY=km(22864,"Profiles"),YZe={...zY},GY="code-profile",XZe=[{name:d(22863,null),extensions:[GY]}],ZZe=new x("currentProfile",""),eet=new x("hasProfiles",!1)});function F5(r,t=r.type==="stdio"?r.cwd:void 0){return r.type==="stdio"?{type:"local",command:r.command,args:r.args?[...r.args]:[],tools:["*"],...r.env&&{env:KY(r.env)},...t?{cwd:t}:{}}:{type:r.transport==="sse"?"sse":"http",url:r.url,tools:["*"],...r.headers&&{headers:{...r.headers}},...r.oauth?.clientId&&{oauthClientId:r.oauth.clientId}}}function H5(r){return r&&typeof r=="object"&&r.type==="local"?Oh({...r,type:"stdio"}):Oh(r)}function KY(r){return Object.fromEntries(Object.entries(r).filter(([,t])=>t!==null).map(([t,e])=>[t,String(e)]))}var j_=y(()=>{cC();fa()});function W5({config:r,inputs:t}){if(t!==void 0&&(!Array.isArray(t)||t.length>0))return d(3720,null);if(!Zc(r)||r.type!=="stdio"&&r.type!=="http")return d(3718,null);let e=r.type==="stdio"?jY:QY;for(let[o,i]of Object.entries(r))if(i!==void 0&&!e.has(o))return d(3722,null,o);if(!(r.type==="stdio"?typeof r.command=="string"&&!!r.command.trim()&&(r.args===void 0||Array.isArray(r.args)&&r.args.every(o=>typeof o=="string"))&&(r.cwd===void 0||typeof r.cwd=="string")&&(r.env===void 0||Zc(r.env)&&Object.values(r.env).every(o=>o===null||typeof o=="string"||typeof o=="number"&&Number.isFinite(o))):typeof r.url=="string"&&!!r.url.trim()&&(r.transport===void 0||r.transport==="http"||r.transport==="sse")&&(r.headers===void 0||Zc(r.headers)&&Object.values(r.headers).every(o=>typeof o=="string"))&&(r.oauth===void 0||Zc(r.oauth)&&Object.entries(r.oauth).every(([o,i])=>o==="clientId"&&typeof i=="string"))))return d(3718,null);if(JSON.stringify(r).includes("${input:"))return d(3721,null)}function V5(r){let t;try{t=JSON.parse(r)}catch(o){throw new Error(d(3717,null,o instanceof Error?o.message:String(o)))}let e=Zc(t)?t.mcpServers:void 0;if(!Zc(t)||e!==void 0&&!Zc(e))throw new Error(d(3719,null));let n=[];for(let[o,i]of Object.entries(e??{})){let s=H5(i);s&&n.push([o,s])}return Object.fromEntries(n)}function Zc(r){return!!r&&typeof r=="object"&&!Array.isArray(r)}var jY,QY,B5=y(()=>{oe();re();j_();fa();jY=new Set(["type","command","args","env","cwd"]),QY=new Set(["type","url","headers","transport","oauth"])});function hC(r){let t=i=>d(3741,null,i);if(r.inputs!==void 0&&(!Array.isArray(r.inputs)||r.inputs.length>0))return t("inputs");let e=r.config;if(!ed(e))return t("configuration");let n=e.type??(typeof e.command=="string"?"stdio":"http");if(n!=="stdio"&&n!=="http")return t("type");let o=n==="stdio"?new Set(["type","command","args","env"]):new Set(["type","url","headers","transport"]);for(let i of Object.keys(e))if(!o.has(i)&&e[i]!==void 0)return t(i);if(n==="stdio"){if(typeof e.command!="string"||!e.command.trim())return t("command");if(e.args!==void 0&&(!Array.isArray(e.args)||e.args.some(i=>typeof i!="string")))return t("args");if(e.env!==void 0&&(!ed(e.env)||Object.values(e.env).some(i=>typeof i!="string"&&(typeof i!="number"||!Number.isFinite(i)))))return t("env")}else{if(typeof e.url!="string"||!e.url.trim())return t("url");if(e.transport!==void 0&&e.transport!=="http")return t("transport");if(e.headers!==void 0&&(!ed(e.headers)||Object.values(e.headers).some(i=>typeof i!="string")))return t("headers")}if(Q_(e))return t("${...}")}function Q_(r){return typeof r=="string"?r.includes("${"):Array.isArray(r)?r.some(Q_):ed(r)&&Object.values(r).some(Q_)}function ed(r){return!!r&&typeof r=="object"&&!Array.isArray(r)}function q5(r){let t=[],e=Po(r,t,{allowTrailingComma:!0,allowEmptyContent:!1});if(t.length||!ed(e))throw new Error(d(3739,null));let n=Object.hasOwn(e,"mcpServers"),o=n?e.mcpServers:e;if(!ed(o))throw new Error(d(3740,null));let i=[];for(let[s,a]of Object.entries(o)){let l=ed(a)?Oh(a):void 0;l&&i.push([s,l])}return{wrapped:n,servers:Object.fromEntries(i)}}var td,J_,Hh=y(()=>{fr();re();cC();fa();td=".mcp.json",J_="workspace-dot-mcp."});var ys,nd,Wh=y(()=>{Xr();Ne();Ke();fr();sR();Bw();K();Sn();re();tn();nt();_c();Z();io();j_();B5();fa();Hh();ys=D("IMcpResourceScannerService"),nd=class extends _{constructor(e,n){super();this.fileService=e;this.uriIdentityService=n;this.resourcesAccessQueueMap=new tt}async scanMcpServers(e,n,o="vscode"){return o==="workspaceRoot"?this.withWorkspaceRootMcpServers(e):o==="copilotGlobal"?this.withCopilotGlobalMcpServers(e):this.withProfileMcpServers(e,n)}async addMcpServers(e,n,o,i="vscode"){if(i==="workspaceRoot"){for(let s of e){let a=hC(s);if(a)throw new Error(a)}await this.withWorkspaceRootMcpServers(n,(s,a)=>{for(let{name:l,config:c}of e){if(!a&&l==="mcpServers")throw new Error(d(3735,null));s=this.editWorkspaceRootMcpServer(s,a,l,c)}return s});return}if(i==="copilotGlobal"){let s=e.map(a=>{let l=W5(a);if(l)throw new Error(d(3734,null,a.name,l));return{name:a.name,config:F5(a.config)}});await this.withCopilotGlobalMcpServers(n,a=>{for(let{name:l,config:c}of s)a=this.editJsonProperty(a,["mcpServers",l],c);return a});return}await this.withProfileMcpServers(n,o,s=>{let a=s.inputs??[],l=s.servers??{};for(let{name:c,config:u,inputs:p}of e)if(l[c]=u,p){let m=new Set(a.map(h=>h.id)),f=p.filter(h=>!m.has(h.id));a=[...a,...f]}return{servers:l,inputs:a,sandbox:s.sandbox}})}async updateSandboxConfig(e,n,o,i="vscode"){if(i==="workspaceRoot")throw new Error(d(3737,null));if(i==="copilotGlobal")throw new Error(d(3736,null));await this.withProfileMcpServers(n,o,e)}async removeMcpServers(e,n,o,i="vscode"){if(i==="copilotGlobal"){await this.withCopilotGlobalMcpServers(n,s=>{for(let a of e)s=this.editJsonProperty(s,["mcpServers",a],void 0);return s});return}if(i==="workspaceRoot"){await this.withWorkspaceRootMcpServers(n,(s,a)=>{for(let l of e)s=this.editWorkspaceRootMcpServer(s,a,l,void 0);return s});return}await this.withProfileMcpServers(n,o,s=>{for(let a of e)s.servers?.[a]&&delete s.servers[a];return s})}withWorkspaceRootMcpServers(e,n){return this.withSharedMcpServersFile(e,q5,d(3738,null),n&&((o,{wrapped:i})=>n(o,i)))}withCopilotGlobalMcpServers(e,n){return this.withSharedMcpServersFile(e,o=>({servers:V5(o)}),d(3733,null),n)}withSharedMcpServersFile(e,n,o,i){return this.getResourceAccessQueue(this.uriIdentityService.asCanonicalUri(e)).queue(async()=>{let s;try{s=await this.fileService.readFile(e)}catch(u){if(Rt(u)!==1)throw u}let a=s?.value.toString()??`{
"mcpServers": {}
}
`,l=n(a),c=i?.(a,l)??a;if(c!==a)if(l=n(c),s){let u=await this.fileService.readFile(e);if(u.value.toString()!==a)throw new En(o,3);await this.fileService.writeFile(e,L.fromString(c),{etag:u.etag,mtime:u.mtime})}else await this.fileService.createFile(e,L.fromString(c),{overwrite:!1});return{servers:l.servers}})}editWorkspaceRootMcpServer(e,n,o,i){return this.editJsonProperty(e,n?["mcpServers",o]:[o],i)}editJsonProperty(e,n,o){let i=/^(?<indentation>[ \t]+)"/m.exec(e)?.groups?.indentation,s=i!==void 0&&!i.includes(" ");return Sy(e,by(e,n,o,{insertSpaces:s,tabSize:s?i.length:1,eol:e.includes(`\r
`)?`\r
`:`
`}))}async withProfileMcpServers(e,n,o){return this.getResourceAccessQueue(e).queue(async()=>{n=n??2;let i={};try{let s=await this.fileService.readFile(e),a=[],l=Po(s.value.toString(),a,{allowTrailingComma:!0,allowEmptyContent:!0})||{};if(a.length>0)throw new Error("Failed to parse scanned MCP servers: "+a.map(c=>`[${c.offset}, ${c.length}] ${wc(c.error)}`).join(", "));if(n===2)i=this.fromUserMcpServers(l);else if(n===6)i=this.fromWorkspaceFolderMcpServers(l);else if(n===5){let c=l;c.settings?.mcp&&(i=this.fromWorkspaceFolderMcpServers(c.settings?.mcp))}}catch(s){if(Rt(s)!==1)throw s}return o&&(i=o(i??{}),n===2?await this.writeScannedMcpServers(e,i):n===6?await this.writeScannedMcpServersToWorkspaceFolder(e,i):n===5?await this.writeScannedMcpServersToWorkspace(e,i):Gl(n,`Invalid Target: ${QL(n)}`)),i})}async writeScannedMcpServers(e,n){n.servers&&Object.keys(n.servers).length>0||n.inputs&&n.inputs.length>0||n.sandbox!==void 0?await this.fileService.writeFile(e,L.fromString(JSON.stringify(n,null," "))):await this.fileService.del(e)}async writeScannedMcpServersToWorkspaceFolder(e,n){await this.fileService.writeFile(e,L.fromString(JSON.stringify(n,null," ")))}async writeScannedMcpServersToWorkspace(e,n){let o;try{let i=await this.fileService.readFile(e),s=[];if(o=Po(i.value.toString(),s,{allowTrailingComma:!0,allowEmptyContent:!0}),s.length>0)throw new Error("Failed to parse scanned MCP servers: "+s.map(a=>`[${a.offset}, ${a.length}] ${wc(a.error)}`).join(", "))}catch(i){if(Rt(i)!==1)throw i;o={settings:{}}}o.settings||(o.settings={}),o.settings.mcp=n,await this.fileService.writeFile(e,L.fromString(JSON.stringify(o,null," ")))}fromUserMcpServers(e){let n={inputs:e.inputs,sandbox:e.sandbox},o=Object.entries(e.servers??{});if(o.length>0){n.servers={};for(let[i,s]of o)n.servers[i]=this.sanitizeServer(s)}return n}fromWorkspaceFolderMcpServers(e){let n={inputs:e.inputs,sandbox:e.sandbox},o=Object.entries(e.servers??{});if(o.length>0){n.servers={};for(let[i,s]of o){let a=this.sanitizeServer(s);n.servers[i]=a}}return n}sanitizeServer(e){let n;if(e.config){let o=e;n={...o.config,version:o.version,gallery:o.gallery}}else n=e;return(n.type===void 0||n.type!=="http"&&n.type!=="stdio")&&(n.type=n.command?"stdio":"http"),n}getResourceAccessQueue(e){let n=this.resourcesAccessQueueMap.get(e);return n||(n=new Ar,this.resourcesAccessQueueMap.set(e,n)),n}};nd=C([b(0,Oe),b(1,ze)],nd);li(ys,nd,1)});var yC,JY,Yet,Xet,Zet,YY,ett,ttt,ntt,ott,vC,z5,Vi,Is,G5,K5,Y_=y(()=>{Or();tn();Z();yC=".vscode",JY="settings",Yet=`${yC}/${JY}.json`,Xet=[1,3],Zet=[2,4,5,6,7],YY=[4,5,6],ett=[1,...YY],ttt=[2,3,4,5,6,7],ntt=[4,5,6,7],ott=[5,6,7],vC="tasks",z5="launch",Vi="mcp",Is=Object.create(null);Is[vC]=`${yC}/${vC}.json`;Is[z5]=`${yC}/${z5}.json`;Is[Vi]=`${yC}/${Vi}.json`;G5=Object.create(null);G5[vC]=`${vC}.json`;G5[Vi]=`${Vi}.json`;K5=ft});var IC,att,X_=y(()=>{Z();Ne();IC=D("remoteAgentService"),att=new class{constructor(){this.maxSampleCount=5;this.sampleDelay=2e3;this.initial=[];this.maxInitialCount=3;this.average=[];this.maxAverageCount=100;this.highLatencyMultiple=2;this.highLatencyMinThreshold=500;this.highLatencyMaxThreshold=1500;this.lastMeasurement=void 0}get latency(){return this.lastMeasurement}async measure(r){let t=1/0;for(let n=0;n<this.maxSampleCount;n++){let o=await r.getRoundTripTime();if(o===void 0)return;t=Math.min(t,o/2),await Eo(this.sampleDelay)}this.average.push(t),this.average.length>this.maxAverageCount&&this.average.shift();let e;return this.initial.length<this.maxInitialCount?this.initial.push(t):e=this.initial.reduce((n,o)=>n+o,0)/this.initial.length,this.lastMeasurement={initial:e,current:t,average:this.average.reduce((n,o)=>n+o,0)/this.average.length,high:typeof e>"u"?!1:t>this.highLatencyMaxThreshold||t>this.highLatencyMinThreshold&&t>e*this.highLatencyMultiple},this.lastMeasurement}}});var Yp,od,rd,bs,Xp,bC=y(()=>{Ne();Ke();Zt();de();_i();K();Sn();jt();we();oe();re();tn();Tn();nt();Z();De();io();vo();Ll();fa();Wh();Hh();Yp=class extends _{constructor(e){super();this.logService=e}getMcpServerConfigurationFromManifest(e,n){if(n==="remote"&&e.remotes?.length){let c=e.remotes[0],u=c.variables?this.getVariables(c.variables):[],p=Xc(c.url,c.variables),m=c.headers??[],f=this.processKeyValueInputs(p.startsWith("https://api.githubcopilot.com/mcp")?m.filter(v=>v.name.toLowerCase()!=="authorization"):m),h=[...u];return this.appendVariables(h,f.variables),{mcpServerConfiguration:{config:{type:"http",url:p,headers:Object.keys(f.inputs).length?f.inputs:void 0},inputs:h.length?h:void 0},notices:f.notices}}let o=e.packages?.find(c=>c.registryType===n)??e.packages?.[0];if(!o)throw new Error("No server package found");let i=[],s=[],a={},l=[];if(o.registryType==="oci"&&(i.push("run"),i.push("-i"),i.push("--rm")),o.runtimeArguments?.length){let c=this.processArguments(o.runtimeArguments??[]);i.push(...c.args),s.push(...c.variables),l.push(...c.notices)}if(o.environmentVariables?.length){let{inputs:c,variables:u,notices:p}=this.processKeyValueInputs(o.environmentVariables??[]);s.push(...u),l.push(...p);for(let[m,f]of Object.entries(c))a[m]=f,o.registryType==="oci"&&(i.push("-e"),i.push(m))}switch(o.registryType){case"npm":o.registryBaseUrl&&i.push("--registry",o.registryBaseUrl),i.push(o.version?`${o.identifier}@${o.version}`:o.identifier);break;case"pypi":o.registryBaseUrl&&i.push("--index-url",o.registryBaseUrl),i.push(o.version?`${o.identifier}@${o.version}`:o.identifier);break;case"oci":{let c=o.registryBaseUrl?`${o.registryBaseUrl}/${o.identifier}`:o.identifier;i.push(o.version?`${c}:${o.version}`:c);break}case"nuget":i.push(o.version?`${o.identifier}@${o.version}`:o.identifier),i.push("--yes"),o.registryBaseUrl&&i.push("--source",o.registryBaseUrl),o.packageArguments?.length&&i.push("--");break}if(o.packageArguments?.length){let c=this.processArguments(o.packageArguments);i.push(...c.args),s.push(...c.variables),l.push(...c.notices)}return{notices:l,mcpServerConfiguration:{config:{type:"stdio",command:this.getCommandName(o.registryType),args:i.length?i:void 0,env:Object.keys(a).length?a:void 0},inputs:s.length?s:void 0}}}getCommandName(e){switch(e){case"npm":return"npx";case"oci":return"docker";case"pypi":return"uvx";case"nuget":return"dnx";default:throw new Error(`Unsupported MCP server package registry type: ${e}`)}}getVariables(e){let n=[];for(let[o,i]of Object.entries(e))i.value===void 0&&n.push({id:o,type:i.choices?"pickString":"promptString",description:i.description??"",password:!!i.isSecret,default:i.default,options:i.choices});return n}appendVariables(e,n){for(let o of n){let i=e.find(s=>s.id===o.id);if(!i)e.push(o);else if(!ct(i,o))throw new Error(d(3731,null,o.id))}}processKeyValueInputs(e){let n=[],o={},i=[];for(let s of e){let a=s.value||"";s.variables&&Object.keys(s.variables).length?(a=Xc(a,s.variables),i.push(...this.getVariables(s.variables))):!a&&(s.description||s.choices||s.default!==void 0)&&(i.push({id:s.name,type:s.choices?"pickString":"promptString",description:s.description??"",password:!!s.isSecret,default:s.default,options:s.choices}),a=`\${input:${s.name}}`),o[s.name]=a}return{inputs:o,variables:i,notices:n}}processArguments(e){let n=[],o=[],i=[];for(let s of e){let a=s.variables?this.getVariables(s.variables):[];if(s.type==="positional"){let l=s.value;l?(l=Xc(l,s.variables),n.push(l),a.length&&o.push(...a)):s.valueHint&&(s.description||s.default!==void 0)?(o.push({id:s.valueHint,type:"promptString",description:s.description??"",password:!1,default:s.default}),n.push(`\${input:${s.valueHint}}`)):n.push(s.valueHint??"")}else if(s.type==="named"){if(!s.name){i.push(`Named argument is missing a name. ${JSON.stringify(s)}`);continue}if(n.push(s.name),s.value){let l=Xc(s.value,s.variables);n.push(l),a.length&&o.push(...a)}else if(s.description||s.default!==void 0){let l=s.name.replace(/^--?/,"");o.push({id:l,type:"promptString",description:s.description??"",password:!1,default:s.default}),n.push(`\${input:${l}}`)}}}return{args:n,variables:o,notices:i}}};Yp=C([b(0,z)],Yp);od=class extends Yp{constructor(e,n,o,i,s,a,l,c,u){super(l);this.mcpResource=e;this.target=n;this.format=o;this.mcpGalleryService=i;this.fileService=s;this.uriIdentityService=a;this.mcpResourceScannerService=c;this.allowedMcpServersService=u;this.local=new Map;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this._onDidUpdateMcpServers=this._register(new T);this._onUninstallMcpServer=this._register(new T);this._onDidUninstallMcpServer=this._register(new T);this.reloadConfigurationScheduler=this._register(new Yo(()=>this.updateLocal(),50))}get onDidInstallMcpServers(){return this._onDidInstallMcpServers.event}get onDidUpdateMcpServers(){return this._onDidUpdateMcpServers.event}get onUninstallMcpServer(){return this._onUninstallMcpServer.event}get onDidUninstallMcpServer(){return this._onDidUninstallMcpServer.event}ensureServerAllowed(e){let n=this.allowedMcpServersService.isAllowed(e);if(n!==!0)throw new Error(n.value)}initialize(){return this.initializePromise||(this.initializePromise=(async()=>{try{this.local=await this.populateLocalServers()}finally{this.startWatching()}})()),this.initializePromise}async populateLocalServers(){this.logService.trace("AbstractMcpResourceManagementService#populateLocalServers",this.mcpResource.toString());let e=new Map;try{let n=await this.mcpResourceScannerService.scanMcpServers(this.mcpResource,this.target,this.format);n.servers&&await Promise.allSettled(Object.entries(n.servers).map(async([o,i])=>{let s=await this.scanLocalServer(o,i,n.sandbox);e.set(o,s)}))}catch(n){throw this.logService.debug("Could not read user MCP servers:",n),n}return e}startWatching(){this._register(this.fileService.watch(this.mcpResource)),this._register(this.fileService.onDidFilesChange(e=>{e.affects(this.mcpResource)&&this.reloadConfigurationScheduler.schedule()}))}async updateLocal(e){try{let n=await this.populateLocalServers(),o=[],i=[],s=[...this.local.keys()].filter(a=>!n.has(a));for(let a of s)this.local.delete(a);for(let[a,l]of n){let c=this.local.get(a);c?ct(c,l)||(i.push(l),this.local.set(a,l)):(o.push(l),this.local.set(a,l))}for(let a of s)this.local.delete(a),this._onDidUninstallMcpServer.fire({name:a,mcpResource:this.mcpResource});i.length&&this._onDidUpdateMcpServers.fire(i.map(a=>({name:a.name,local:a,source:e?.name===a.name?e:void 0,mcpResource:this.mcpResource}))),o.length&&this._onDidInstallMcpServers.fire(o.map(a=>({name:a.name,local:a,source:e?.name===a.name?e:void 0,mcpResource:this.mcpResource})))}catch(n){this.logService.error("Failed to load installed MCP servers:",n)}}async getInstalled(){return await this.initialize(),Array.from(this.local.values())}async scanLocalServer(e,n,o){let i=await this.getLocalServerInfo(e,n);return i||(i={name:e,version:n.version,galleryUrl:j(n.gallery)?n.gallery:void 0}),{name:e,config:n,rootSandbox:o,mcpResource:this.mcpResource,version:i.version,location:i.location,displayName:i.displayName,description:i.description,publisher:i.publisher,publisherDisplayName:i.publisherDisplayName,galleryUrl:i.galleryUrl,galleryId:i.galleryId,repositoryUrl:i.repositoryUrl,readmeUrl:i.readmeUrl,icon:i.icon,codicon:i.codicon,manifest:i.manifest,source:n.gallery?"gallery":"local"}}async install(e,n){if(this.logService.trace("MCP Management Service: install",e.name),this.format==="workspaceRoot"){let o=hC(e);if(o)throw new Error(o)}this.ensureServerAllowed(e),this._onInstallMcpServer.fire({name:e.name,mcpResource:this.mcpResource});try{await this.mcpResourceScannerService.addMcpServers([e],this.mcpResource,this.target,this.format),await this.updateLocal();let o=this.local.get(e.name);if(!o)throw new Error(`Failed to install MCP server: ${e.name}`);return o}catch(o){throw this._onDidInstallMcpServers.fire([{name:e.name,error:o,mcpResource:this.mcpResource}]),o}}async uninstall(e,n){this.logService.trace("MCP Management Service: uninstall",e.name),this._onUninstallMcpServer.fire({name:e.name,mcpResource:this.mcpResource});try{if(!(await this.mcpResourceScannerService.scanMcpServers(this.mcpResource,this.target,this.format)).servers)return;await this.mcpResourceScannerService.removeMcpServers([e.name],this.mcpResource,this.target,this.format),e.location&&await this.fileService.del(S.revive(e.location),{recursive:!0}),await this.updateLocal()}catch(o){throw this._onDidUninstallMcpServer.fire({name:e.name,error:o,mcpResource:this.mcpResource}),o}}};od=C([b(3,ha),b(4,Oe),b(5,ze),b(6,z),b(7,ys),b(8,nr)],od);rd=class extends od{constructor(t,e,n,o,i,s,a,l){super(t,2,"vscode",e,n,o,i,s,a),this.mcpLocation=o.extUri.joinPath(l.userRoamingDataHome,"mcp")}async installFromGallery(t,e){throw new Error("Not supported")}async uninstall(t,e){if(t.location&&!this.uriIdentityService.extUri.isEqual(S.revive(t.location),this.getLocation(t.name,t.version)))throw new Error(`Invalid MCP server location for ${t.name}`);await super.uninstall(t,e)}async updateMetadata(t,e){await this.updateMetadataFromGallery(e),await this.updateLocal(e);let n=(await this.getInstalled()).find(o=>o.name===t.name);if(!n)throw new Error(`Failed to find MCP server: ${t.name}`);return n}async updateMetadataFromGallery(t){let e=t.configuration,n=this.getLocation(t.name,t.version),o=this.uriIdentityService.extUri.joinPath(n,"manifest.json"),i={galleryUrl:t.galleryUrl,galleryId:t.id,name:t.name,displayName:t.displayName,description:t.description,version:t.version,publisher:t.publisher,publisherDisplayName:t.publisherDisplayName,repositoryUrl:t.repositoryUrl,licenseUrl:t.license,icon:t.icon,codicon:t.codicon,manifest:e};if(await this.fileService.writeFile(o,L.fromString(JSON.stringify(i))),t.readmeUrl||t.readme){let s=t.readme?t.readme:await this.mcpGalleryService.getReadme(t,Pe.None);await this.fileService.writeFile(this.uriIdentityService.extUri.joinPath(n,"README.md"),L.fromString(s))}return e}async getLocalServerInfo(t,e){let n,o,i;if(e.gallery){o=this.getLocation(t,e.version);let s=this.uriIdentityService.extUri.joinPath(o,"manifest.json");try{let a=await this.fileService.readFile(s);n=JSON.parse(a.value.toString()),n.galleryUrl?.includes("/v0/")&&(n.galleryUrl=n.galleryUrl.substring(0,n.galleryUrl.indexOf("/v0/")),await this.fileService.writeFile(s,L.fromString(JSON.stringify(n)))),n.location=o,i=this.uriIdentityService.extUri.joinPath(o,"README.md"),await this.fileService.exists(i)||(i=void 0),n.readmeUrl=i}catch(a){Rt(a)===1?this.logService.trace("MCP Management Service: manifest not found",s.toString()):this.logService.error("MCP Management Service: failed to read manifest",o.toString(),a)}}return n}getLocation(t,e){let n=e?`${t.replace("/",".")}-${e}`:t.replace("/","."),o=this.uriIdentityService.extUri.joinPath(this.mcpLocation,n);if(this.uriIdentityService.extUri.basename(o)!==n||this.uriIdentityService.extUri.isEqual(o,this.mcpLocation)||!this.uriIdentityService.extUri.isEqualOrParent(o,this.mcpLocation))throw new Error(`Invalid MCP server location for ${t}`);return o}installFromUri(t,e){throw new Error("Method not supported.")}canInstall(){throw new Error("Not supported")}};rd=C([b(1,ha),b(2,Oe),b(3,ze),b(4,z),b(5,ys),b(6,nr),b(7,_t)],rd);bs=class extends Yp{constructor(e,n){super(n);this.allowedMcpServersService=e}canInstall(e){let n=this.allowedMcpServersService.isAllowed(e);return n!==!0?new Lt(d(3732,null,n.value)):!0}};bs=C([b(0,nr),b(1,z)],bs);Xp=class extends bs{constructor(e,n,o,i){super(e,n);this.userDataProfilesService=o;this.instantiationService=i;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new T);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new T);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new T);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this.mcpResourceManagementServices=new tt}getMcpResourceManagementService(e){let n=this.mcpResourceManagementServices.get(e);if(!n){let o=new ie,i=o.add(this.createMcpResourceManagementService(e));o.add(i.onInstallMcpServer(s=>this._onInstallMcpServer.fire(s))),o.add(i.onDidInstallMcpServers(s=>this._onDidInstallMcpServers.fire(s))),o.add(i.onDidUpdateMcpServers(s=>this._onDidUpdateMcpServers.fire(s))),o.add(i.onUninstallMcpServer(s=>this._onUninstallMcpServer.fire(s))),o.add(i.onDidUninstallMcpServer(s=>this._onDidUninstallMcpServer.fire(s))),this.mcpResourceManagementServices.set(e,n={service:i,dispose:()=>o.dispose()})}return n.service}async getInstalled(e){let n=e||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(n).getInstalled()}async install(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).install(e,n)}async uninstall(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).uninstall(e,n)}async installFromGallery(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).installFromGallery(e,n)}async updateMetadata(e,n,o){return this.getMcpResourceManagementService(o||this.userDataProfilesService.defaultProfile.mcpResource).updateMetadata(e,n)}dispose(){this.mcpResourceManagementServices.forEach(e=>e.dispose()),this.mcpResourceManagementServices.clear(),super.dispose()}createMcpResourceManagementService(e){return this.instantiationService.createInstance(rd,e)}};Xp=C([b(0,nr),b(1,z),b(2,Ft),b(3,Ln)],Xp)});function id(r,t){return r?S.revive(t?t.transformIncoming(r):r):void 0}function Ol(r,t){t=t||Ku;let e=r.manifest;return{...ju({...r,manifest:void 0},t),manifest:e}}function eM(r,t){return r?.mcpResource?ju(r,t??Ku):r}function tM(r,t){return t?to(r,e=>e instanceof S?t.transformOutgoingURI(e):void 0):r}function Vh(r,t){return t?t.transformOutgoingURI(r):r}var SC,Zp,nM=y(()=>{de();jt();oe();bl();De();Ll();bC();SC=class{constructor(t,e){this.service=t;this.getUriTransformer=e;this.onInstallMcpServer=V.buffer(t.onInstallMcpServer,"onInstallMcpServer",!0),this.onDidInstallMcpServers=V.buffer(t.onDidInstallMcpServers,"onDidInstallMcpServers",!0),this.onDidUpdateMcpServers=V.buffer(t.onDidUpdateMcpServers,"onDidUpdateMcpServers",!0),this.onUninstallMcpServer=V.buffer(t.onUninstallMcpServer,"onUninstallMcpServer",!0),this.onDidUninstallMcpServer=V.buffer(t.onDidUninstallMcpServer,"onDidUninstallMcpServer",!0)}listen(t,e){let n=this.getUriTransformer(t);switch(e){case"onInstallMcpServer":return V.map(this.onInstallMcpServer,o=>({...o,mcpResource:Vh(o.mcpResource,n)}));case"onDidInstallMcpServers":return V.map(this.onDidInstallMcpServers,o=>o.map(i=>({...i,local:i.local?tM(i.local,n):i.local,mcpResource:Vh(i.mcpResource,n)})));case"onDidUpdateMcpServers":return V.map(this.onDidUpdateMcpServers,o=>o.map(i=>({...i,local:i.local?tM(i.local,n):i.local,mcpResource:Vh(i.mcpResource,n)})));case"onUninstallMcpServer":return V.map(this.onUninstallMcpServer,o=>({...o,mcpResource:Vh(o.mcpResource,n)}));case"onDidUninstallMcpServer":return V.map(this.onDidUninstallMcpServer,o=>({...o,mcpResource:Vh(o.mcpResource,n)}))}throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer(t),i=Array.isArray(n)?n:[];switch(e){case"getInstalled":return(await this.service.getInstalled(id(i[0],o))).map(a=>tM(a,o));case"install":return this.service.install(i[0],eM(i[1],o));case"installFromGallery":return this.service.installFromGallery(i[0],eM(i[1],o));case"uninstall":return this.service.uninstall(Ol(i[0],o),eM(i[1],o));case"updateMetadata":return this.service.updateMetadata(Ol(i[0],o),i[1],id(i[2],o))}throw new Error("Invalid call")}},Zp=class extends bs{constructor(e,n,o){super(n,o);this.channel=e;this._onInstallMcpServer=this._register(new T);this._onDidInstallMcpServers=this._register(new T);this._onUninstallMcpServer=this._register(new T);this._onDidUninstallMcpServer=this._register(new T);this._onDidUpdateMcpServers=this._register(new T);this._register(this.channel.listen("onInstallMcpServer")(i=>this._onInstallMcpServer.fire({...i,mcpResource:id(i.mcpResource,null)}))),this._register(this.channel.listen("onDidInstallMcpServers")(i=>this._onDidInstallMcpServers.fire(i.map(s=>({...s,local:s.local?Ol(s.local,null):s.local,mcpResource:id(s.mcpResource,null)}))))),this._register(this.channel.listen("onDidUpdateMcpServers")(i=>this._onDidUpdateMcpServers.fire(i.map(s=>({...s,local:s.local?Ol(s.local,null):s.local,mcpResource:id(s.mcpResource,null)}))))),this._register(this.channel.listen("onUninstallMcpServer")(i=>this._onUninstallMcpServer.fire({...i,mcpResource:id(i.mcpResource,null)}))),this._register(this.channel.listen("onDidUninstallMcpServer")(i=>this._onDidUninstallMcpServer.fire({...i,mcpResource:id(i.mcpResource,null)})))}get onInstallMcpServer(){return this._onInstallMcpServer.event}get onDidInstallMcpServers(){return this._onDidInstallMcpServers.event}get onUninstallMcpServer(){return this._onUninstallMcpServer.event}get onDidUninstallMcpServer(){return this._onDidUninstallMcpServer.event}get onDidUpdateMcpServers(){return this._onDidUpdateMcpServers.event}install(e,n){return Promise.resolve(this.channel.call("install",[e,n])).then(o=>Ol(o,null))}installFromGallery(e,n){return Promise.resolve(this.channel.call("installFromGallery",[e,n])).then(o=>Ol(o,null))}uninstall(e,n){return Promise.resolve(this.channel.call("uninstall",[e,n]))}getInstalled(e){return Promise.resolve(this.channel.call("getInstalled",[e])).then(n=>n.map(o=>Ol(o,null)))}updateMetadata(e,n,o){return Promise.resolve(this.channel.call("updateMetadata",[e,n,o])).then(i=>Ol(i,null))}};Zp=C([b(1,nr),b(2,z)],Zp)});var xC,CC,oM=y(()=>{de();vo();bl();K();xC=class{constructor(t,e){this.service=t;this.getUriTransformer=e}listen(t,e){let n=this.getUriTransformer(t);if(e==="onDidChangeProfiles")return V.map(this.service.onDidChangeProfiles,o=>({all:o.all.map(i=>Br({...i},n)),added:o.added.map(i=>Br({...i},n)),removed:o.removed.map(i=>Br({...i},n)),updated:o.updated.map(i=>Br({...i},n))}));throw new Error(`Invalid listen ${e}`)}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"createProfile":{let i=await this.service.createProfile(n[0],n[1],n[2]);return Br({...i},o)}case"updateProfile":{let i=ii(fP(n[0],o),this.service.profilesHome.scheme);return i=await this.service.updateProfile(i,n[1]),Br({...i},o)}case"removeProfile":{let i=ii(fP(n[0],o),this.service.profilesHome.scheme);return this.service.removeProfile(i)}}throw new Error(`Invalid call ${e}`)}},CC=class extends _{constructor(e,n,o){super();this.profilesHome=n;this.channel=o;this._profiles=[];this._onDidChangeProfiles=this._register(new T);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._profiles=e.map(i=>ii(i,this.profilesHome.scheme)),this._register(this.channel.listen("onDidChangeProfiles")(i=>{let s=i.added.map(c=>ii(c,this.profilesHome.scheme)),a=i.removed.map(c=>ii(c,this.profilesHome.scheme)),l=i.updated.map(c=>ii(c,this.profilesHome.scheme));this._profiles=i.all.map(c=>ii(c,this.profilesHome.scheme)),this._onDidChangeProfiles.fire({added:s,removed:a,updated:l,all:this.profiles})})),this.onDidResetWorkspaces=this.channel.listen("onDidResetWorkspaces")}get defaultProfile(){return this.profiles[0]}get profiles(){return this._profiles}async createNamedProfile(e,n,o){let i=await this.channel.call("createNamedProfile",[e,n,o]);return ii(i,this.profilesHome.scheme)}async createProfile(e,n,o,i){let s=await this.channel.call("createProfile",[e,n,o,i]);return ii(s,this.profilesHome.scheme)}async createTransientProfile(e){let n=await this.channel.call("createTransientProfile",[e]);return ii(n,this.profilesHome.scheme)}async setProfileForWorkspace(e,n){await this.channel.call("setProfileForWorkspace",[e,n])}removeProfile(e){return this.channel.call("removeProfile",[e])}async updateProfile(e,n){let o=await this.channel.call("updateProfile",[e,n]);return ii(o,this.profilesHome.scheme)}resetWorkspaces(){return this.channel.call("resetWorkspaces")}cleanUp(){return this.channel.call("cleanUp")}cleanUpTransientProfiles(){return this.channel.call("cleanUpTransientProfiles")}}});var rM,iM,Bh,j5=y(()=>{K();_c();Z();vo();X_();Ri();De();K_();At();Mx();oM();Ee();rM="associatedRemoteProfiles",iM=D("IRemoteUserDataProfilesService"),Bh=class extends _{constructor(e,n,o,i,s,a){super();this.environmentService=e;this.remoteAgentService=n;this.userDataProfilesService=o;this.userDataProfileService=i;this.storageService=s;this.logService=a;this.initPromise=this.init()}async init(){let e=this.remoteAgentService.getConnection();if(!e)return;let n=await this.remoteAgentService.getEnvironment();if(!n)return;this.remoteUserDataProfilesService=new CC(n.profiles.all,n.profiles.home,e.getChannel("userDataProfiles")),this._register(this.userDataProfilesService.onDidChangeProfiles(i=>this.onDidChangeLocalProfiles(i)));let o=await this.getAssociatedRemoteProfile(this.userDataProfileService.currentProfile,this.remoteUserDataProfilesService);o.isDefault||this.setAssociatedRemoteProfiles([...this.getAssociatedRemoteProfiles(),o.id]),this.cleanUp()}async onDidChangeLocalProfiles(e){for(let n of e.removed){let o=this.remoteUserDataProfilesService?.profiles.find(i=>i.id===n.id);o&&await this.remoteUserDataProfilesService?.removeProfile(o)}}async getRemoteProfiles(){if(await this.initPromise,!this.remoteUserDataProfilesService)throw new Yn("Remote profiles service not available in the current window");return this.remoteUserDataProfilesService.profiles}async getRemoteProfile(e){if(await this.initPromise,!this.remoteUserDataProfilesService)throw new Yn("Remote profiles service not available in the current window");return this.getAssociatedRemoteProfile(e,this.remoteUserDataProfilesService)}async getAssociatedRemoteProfile(e,n){if(e.isDefault)return n.defaultProfile;let o=n.profiles.find(i=>i.id===e.id);return o||(o=await n.createProfile(e.id,e.name,{transient:e.isTransient,useDefaultFlags:e.useDefaultFlags}),this.setAssociatedRemoteProfiles([...this.getAssociatedRemoteProfiles(),this.userDataProfileService.currentProfile.id])),o}getAssociatedRemoteProfiles(){return this.environmentService.remoteAuthority?this.parseAssociatedRemoteProfiles()[this.environmentService.remoteAuthority]??[]:[]}setAssociatedRemoteProfiles(e){if(this.environmentService.remoteAuthority){let n=this.parseAssociatedRemoteProfiles();e=Xn(e),e.length?n[this.environmentService.remoteAuthority]=e:delete n[this.environmentService.remoteAuthority],Object.keys(n).length?this.storageService.store(rM,JSON.stringify(n),-1,1):this.storageService.remove(rM,-1)}}parseAssociatedRemoteProfiles(){if(this.environmentService.remoteAuthority){let e=this.storageService.get(rM,-1);try{return e?JSON.parse(e):{}}catch(n){this.logService.error(n)}}return{}}async cleanUp(){let e=[];for(let n of this.getAssociatedRemoteProfiles()){let o=this.remoteUserDataProfilesService?.profiles.find(s=>s.id===n);if(!o)continue;let i=this.userDataProfilesService.profiles.find(s=>s.id===n);if(i){i.name!==o.name&&await this.remoteUserDataProfilesService?.updateProfile(o,{name:i.name}),e.push(n);continue}o&&await this.remoteUserDataProfilesService?.removeProfile(o)}this.setAssociatedRemoteProfiles(e)}};Bh=C([b(0,Fp),b(1,IC),b(2,Ft),b(3,fC),b(4,si),b(5,z)],Bh);li(iM,Bh,1)});var sM,qh,Q5=y(()=>{tn();_c();Z();$s();sM=D("mcpWorkspaceInstallTargetService"),qh=class{constructor(t){this.workspaceService=t}getTargets(){let t=this.workspaceService.getWorkbenchState();if(t===1)return[];let e=this.workspaceService.getWorkspace();return t===3&&e.configuration?[...e.folders,5]:e.folders}};qh=C([b(0,Za)],qh);li(sM,qh,1)});var XY,ZY,eX,aM,Vot,EC,$h,zh,J5=y(()=>{K();Ll();Z();K_();de();Wh();$s();io();Y_();De();X_();tn();nM();vo();j5();bC();nt();Sn();Hh();re();Q5();XY="usrlocal",ZY="usrremote",eX="workspace",aM="ws",Vot=Uh,EC=class extends bs{constructor(e,n,o,i,s,a,l,c,u,p,m){super(n,o);this.mcpManagementService=e;this.userDataProfileService=i;this.uriIdentityService=s;this.workspaceContextService=a;this.userDataProfilesService=c;this.remoteUserDataProfilesService=u;this.workspaceInstallTargetService=m;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new T);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new T);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new T);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this._onInstallMcpServerInCurrentProfile=this._register(new T);this.onInstallMcpServerInCurrentProfile=this._onInstallMcpServerInCurrentProfile.event;this._onDidInstallMcpServersInCurrentProfile=this._register(new T);this.onDidInstallMcpServersInCurrentProfile=this._onDidInstallMcpServersInCurrentProfile.event;this._onDidUpdateMcpServersInCurrentProfile=this._register(new T);this.onDidUpdateMcpServersInCurrentProfile=this._onDidUpdateMcpServersInCurrentProfile.event;this._onUninstallMcpServerInCurrentProfile=this._register(new T);this.onUninstallMcpServerInCurrentProfile=this._onUninstallMcpServerInCurrentProfile.event;this._onDidUninstallMcpServerInCurrentProfile=this._register(new T);this.onDidUninstallMcpServerInCurrentProfile=this._onDidUninstallMcpServerInCurrentProfile.event;this._onDidChangeProfile=this._register(new T);this.onDidChangeProfile=this._onDidChangeProfile.event;this.workspaceMcpManagementService=this._register(p.createInstance(zh));let f=l.getConnection();f&&(this.remoteMcpManagementService=this._register(p.createInstance(Zp,f.getChannel("mcpManagement")))),this._register(this.mcpManagementService.onInstallMcpServer(h=>{this._onInstallMcpServer.fire(h),s.extUri.isEqual(h.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onInstallMcpServerInCurrentProfile.fire({...h,scope:"user"})})),this._register(this.mcpManagementService.onDidInstallMcpServers(h=>{let{mcpServerInstallResult:v,mcpServerInstallResultInCurrentProfile:I}=this.createInstallMcpServerResultsFromEvent(h,"user");this._onDidInstallMcpServers.fire(v),I.length&&this._onDidInstallMcpServersInCurrentProfile.fire(I)})),this._register(this.mcpManagementService.onDidUpdateMcpServers(h=>{let{mcpServerInstallResult:v,mcpServerInstallResultInCurrentProfile:I}=this.createInstallMcpServerResultsFromEvent(h,"user");this._onDidUpdateMcpServers.fire(v),I.length&&this._onDidUpdateMcpServersInCurrentProfile.fire(I)})),this._register(this.mcpManagementService.onUninstallMcpServer(h=>{this._onUninstallMcpServer.fire(h),s.extUri.isEqual(h.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onUninstallMcpServerInCurrentProfile.fire({...h,scope:"user"})})),this._register(this.mcpManagementService.onDidUninstallMcpServer(h=>{this._onDidUninstallMcpServer.fire(h),s.extUri.isEqual(h.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onDidUninstallMcpServerInCurrentProfile.fire({...h,scope:"user"})})),this._register(this.workspaceMcpManagementService.onInstallMcpServer(async h=>{this._onInstallMcpServer.fire(h),this._onInstallMcpServerInCurrentProfile.fire({...h,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidInstallMcpServers(async h=>{let{mcpServerInstallResult:v}=this.createInstallMcpServerResultsFromEvent(h,"workspace");this._onDidInstallMcpServers.fire(v),this._onDidInstallMcpServersInCurrentProfile.fire(v)})),this._register(this.workspaceMcpManagementService.onUninstallMcpServer(async h=>{this._onUninstallMcpServer.fire(h),this._onUninstallMcpServerInCurrentProfile.fire({...h,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidUninstallMcpServer(async h=>{this._onDidUninstallMcpServer.fire(h),this._onDidUninstallMcpServerInCurrentProfile.fire({...h,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidUpdateMcpServers(h=>{let{mcpServerInstallResult:v}=this.createInstallMcpServerResultsFromEvent(h,"workspace");this._onDidUpdateMcpServers.fire(v),this._onDidUpdateMcpServersInCurrentProfile.fire(v)})),this.remoteMcpManagementService&&(this._register(this.remoteMcpManagementService.onInstallMcpServer(async h=>{this._onInstallMcpServer.fire(h);let v=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(v?s.extUri.isEqual(h.mcpResource,v):this.userDataProfileService.currentProfile.isDefault)&&this._onInstallMcpServerInCurrentProfile.fire({...h,scope:"remoteUser"})})),this._register(this.remoteMcpManagementService.onDidInstallMcpServers(h=>this.handleRemoteInstallMcpServerResultsFromEvent(h,this._onDidInstallMcpServers,this._onDidInstallMcpServersInCurrentProfile))),this._register(this.remoteMcpManagementService.onDidUpdateMcpServers(h=>this.handleRemoteInstallMcpServerResultsFromEvent(h,this._onDidInstallMcpServers,this._onDidInstallMcpServersInCurrentProfile))),this._register(this.remoteMcpManagementService.onUninstallMcpServer(async h=>{this._onUninstallMcpServer.fire(h);let v=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(v?s.extUri.isEqual(h.mcpResource,v):this.userDataProfileService.currentProfile.isDefault)&&this._onUninstallMcpServerInCurrentProfile.fire({...h,scope:"remoteUser"})})),this._register(this.remoteMcpManagementService.onDidUninstallMcpServer(async h=>{this._onDidUninstallMcpServer.fire(h);let v=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(v?s.extUri.isEqual(h.mcpResource,v):this.userDataProfileService.currentProfile.isDefault)&&this._onDidUninstallMcpServerInCurrentProfile.fire({...h,scope:"remoteUser"})}))),this._register(i.onDidChangeCurrentProfile(h=>{this.uriIdentityService.extUri.isEqual(h.previous.mcpResource,h.profile.mcpResource)||this._onDidChangeProfile.fire()}))}createInstallMcpServerResultsFromEvent(e,n){let o=[],i=[];for(let s of e){let a={...s,local:s.local?this.toWorkspaceMcpServer(s.local,n):void 0};o.push(a),this.uriIdentityService.extUri.isEqual(s.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&i.push(a)}return{mcpServerInstallResult:o,mcpServerInstallResultInCurrentProfile:i}}async handleRemoteInstallMcpServerResultsFromEvent(e,n,o){let i=[],s=[],a=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);for(let l of e){let c={...l,local:l.local?this.toWorkspaceMcpServer(l.local,"remoteUser"):void 0};i.push(c),(a?this.uriIdentityService.extUri.isEqual(l.mcpResource,a):this.userDataProfileService.currentProfile.isDefault)&&s.push(c)}n.fire(i),s.length&&o.fire(s)}async getInstalled(){let e=[],[n,o,i]=await Promise.all([this.mcpManagementService.getInstalled(this.userDataProfileService.currentProfile.mcpResource),this.remoteMcpManagementService?.getInstalled(await this.getRemoteMcpResource())??Promise.resolve([]),this.workspaceMcpManagementService?.getInstalled()??Promise.resolve([])]);for(let s of n)e.push(this.toWorkspaceMcpServer(s,"user"));for(let s of o)e.push(this.toWorkspaceMcpServer(s,"remoteUser"));for(let s of i)e.push(this.toWorkspaceMcpServer(s,"workspace"));return e}toWorkspaceMcpServer(e,n){let o=n==="workspace"?this.workspaceContextService.getWorkspace().folders.find(i=>this.uriIdentityService.extUri.isEqual(i.toResource(td),e.mcpResource)):void 0;return{...e,id:o?`${J_}${o.index}.${e.name}`:`mcp.config.${this.getConfigId(e,n)}.${e.name}`,scope:n,format:o?"workspaceRoot":"vscode"}}getConfigId(e,n){if(n==="user")return XY;if(n==="remoteUser")return ZY;if(n==="workspace"){let o=this.workspaceContextService.getWorkspace();if(o.configuration&&this.uriIdentityService.extUri.isEqual(o.configuration,e.mcpResource))return eX;let i=o.folders;for(let s=0;s<i.length;s++){let a=i[s];if(this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.joinPath(a.uri,Is[Vi]),e.mcpResource))return`${aM}${s}`}}return"unknown"}async install(e,n){if(n=n??{},this.validateWorkspaceConfigOptions(n),n.target===5||du(n.target)){let i=n.target===5?this.workspaceContextService.getWorkspace().configuration:n.target.toResource(n.workspaceConfig==="root"?td:Is[Vi]);if(!i)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=i;let s=await this.workspaceMcpManagementService.install(e,n);return this.toWorkspaceMcpServer(s,"workspace")}if(n.target===4){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=await this.getRemoteMcpResource(n.mcpResource);let i=await this.remoteMcpManagementService.install(e,n);return this.toWorkspaceMcpServer(i,"remoteUser")}if(n.target&&n.target!==2&&n.target!==3)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=this.userDataProfileService.currentProfile.mcpResource;let o=await this.mcpManagementService.install(e,n);return this.toWorkspaceMcpServer(o,"user")}async installFromGallery(e,n){if(n=n??{},this.validateWorkspaceConfigOptions(n),n.workspaceConfig==="root"||n.mcpResource&&this.isWorkspaceRootResource(n.mcpResource))throw new Error(d(22435,null));if(n.target===5||du(n.target)){let i=n.target===5?this.workspaceContextService.getWorkspace().configuration:n.target.toResource(Is[Vi]);if(!i)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=i;let s=await this.workspaceMcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(s,"workspace")}if(n.target===4){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=await this.getRemoteMcpResource(n.mcpResource);let i=await this.remoteMcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(i,"remoteUser")}if(n.target&&n.target!==2&&n.target!==3)throw new Error(`Illegal target: ${n.target}`);n.mcpResource||(n.mcpResource=this.userDataProfileService.currentProfile.mcpResource);let o=await this.mcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(o,"user")}validateWorkspaceConfigOptions(e){let n=this.workspaceInstallTargetService.getTargets(),o=this.workspaceContextService.getWorkspace().configuration;if((e.target===5||e.mcpResource&&o&&this.uriIdentityService.extUri.isEqual(e.mcpResource,o))&&!n.includes(5))throw new Error(d(22437,null));let i=e.target;if(du(i)&&!n.some(s=>du(s)&&this.uriIdentityService.extUri.isEqual(s.uri,i.uri)))throw new Error(d(22436,null));if(e.workspaceConfig!==void 0&&!du(e.target))throw new Error(d(22438,null))}isWorkspaceRootResource(e){return this.workspaceContextService.getWorkspace().folders.some(n=>this.uriIdentityService.extUri.isEqual(n.toResource(td),e))}async updateMetadata(e,n,o){if(e.scope==="workspace"){let s=await this.workspaceMcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(s,"workspace")}if(e.scope==="remoteUser"){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${e.scope}`);let s=await this.remoteMcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(s,"remoteUser")}let i=await this.mcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(i,"user")}async uninstall(e){if(e.scope==="workspace")return this.workspaceMcpManagementService.uninstall(e);if(e.scope==="remoteUser"){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${e.scope}`);return this.remoteMcpManagementService.uninstall(e)}return this.mcpManagementService.uninstall(e,{mcpResource:this.userDataProfileService.currentProfile.mcpResource})}async getRemoteMcpResource(e){if(!e&&this.userDataProfileService.currentProfile.isDefault)return;e=e??this.userDataProfileService.currentProfile.mcpResource;let n=this.userDataProfilesService.profiles.find(o=>this.uriIdentityService.extUri.isEqual(o.mcpResource,e));return n?n=await this.remoteUserDataProfilesService.getRemoteProfile(n):n=(await this.remoteUserDataProfilesService.getRemoteProfiles()).find(o=>this.uriIdentityService.extUri.isEqual(o.mcpResource,e)),n?.mcpResource}};EC=C([b(1,nr),b(2,z),b(3,fC),b(4,ze),b(5,Za),b(6,IC),b(7,Ft),b(8,iM),b(9,Ln),b(10,sM)],EC);$h=class extends od{constructor(t,e,n,o,i,s,a,l,c){super(t,e,n,o,i,s,a,l,c)}async installFromGallery(t,e){if(this.format==="workspaceRoot")throw new Error(d(22435,null));this.logService.trace("MCP Management Service: installGallery",t.name,t.galleryUrl),this._onInstallMcpServer.fire({name:t.name,mcpResource:this.mcpResource});try{let n=e?.packageType??t.configuration.packages?.[0]?.registryType??"remote",{mcpServerConfiguration:o,notices:i}=this.getMcpServerConfigurationFromManifest(t.configuration,n);i.length>0&&this.logService.warn(`MCP Management Service: Warnings while installing ${t.name}`,i);let s={name:t.name,config:{...o.config,gallery:t.galleryUrl??!0,version:t.version},inputs:o.inputs};this.ensureServerAllowed(s),await this.mcpResourceScannerService.addMcpServers([s],this.mcpResource,this.target,this.format),await this.updateLocal(t);let a=(await this.getInstalled()).find(l=>l.name===t.name);if(!a)throw new Error(`Failed to install MCP server: ${t.name}`);return a}catch(n){throw this._onDidInstallMcpServers.fire([{name:t.name,source:t,error:n,mcpResource:this.mcpResource}]),n}}updateMetadata(){throw new Error("Not supported")}installFromUri(){throw new Error("Not supported")}async getLocalServerInfo(t,e){if(!e.gallery)return;let[n]=await this.mcpGalleryService.getMcpServersFromGallery([{name:t}]);if(n)return{name:n.name,version:e.version,displayName:n.displayName,description:n.description,galleryUrl:n.galleryUrl,manifest:n.configuration,publisher:n.publisher,publisherDisplayName:n.publisherDisplayName,repositoryUrl:n.repositoryUrl,icon:n.icon}}canInstall(t){throw new Error("Not supported")}};$h=C([b(3,ha),b(4,Oe),b(5,ze),b(6,z),b(7,ys),b(8,nr)],$h);zh=class extends bs{constructor(e,n,o,i,s){super(e,o);this.uriIdentityService=n;this.workspaceContextService=i;this.instantiationService=s;this._onInstallMcpServer=this._register(new T);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new T);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new T);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new T);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new T);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this.allMcpServers=[];this.workspaceMcpManagementServices=new tt(a=>this.uriIdentityService.extUri.getComparisonKey(a)),this.workspaceUpdatePromise=this.initialize(),this._register(this.workspaceContextService.onDidChangeWorkspaceFolders(a=>{this.workspaceUpdatePromise=this.workspaceUpdatePromise.then(()=>this.onDidChangeWorkspaceFolders(a))})),this._register(this.workspaceContextService.onDidChangeWorkbenchState(()=>{this.workspaceUpdatePromise=this.workspaceUpdatePromise.then(()=>this.onDidChangeWorkbenchState())}))}async initialize(){try{await this.onDidChangeWorkbenchState(),await this.onDidChangeWorkspaceFolders({added:this.workspaceContextService.getWorkspace().folders,removed:[],changed:[]})}catch(e){this.logService.error("Failed to initialize workspace folders",e)}}async onDidChangeWorkbenchState(){this.workspaceConfiguration&&await this.removeWorkspaceService(this.workspaceConfiguration),this.workspaceConfiguration=this.workspaceContextService.getWorkspace().configuration,this.workspaceConfiguration&&await this.addWorkspaceService(this.workspaceConfiguration,5)}async onDidChangeWorkspaceFolders(e){try{await Promise.allSettled(e.removed.flatMap(n=>[this.removeWorkspaceService(n.toResource(Is[Vi])),this.removeWorkspaceService(n.toResource(td))]))}catch(n){this.logService.error(n)}try{await Promise.allSettled(e.added.flatMap(o=>[this.addWorkspaceService(o.toResource(Is[Vi]),6),this.addWorkspaceService(o.toResource(td),6,"workspaceRoot")]));let n=this.allMcpServers.filter(o=>e.changed.some(i=>this.uriIdentityService.extUri.isEqual(o.mcpResource,i.toResource(Is[Vi]))||this.uriIdentityService.extUri.isEqual(o.mcpResource,i.toResource(td))));n.length&&this._onDidUpdateMcpServers.fire(n.map(o=>({name:o.name,local:o,mcpResource:o.mcpResource})))}catch(n){this.logService.error(n)}}async addWorkspaceService(e,n,o="vscode"){if(this.workspaceMcpManagementServices.has(e))return;let i=new ie,s=i.add(this.instantiationService.createInstance($h,e,n,o));this.workspaceMcpManagementServices.set(e,{service:s,dispose:()=>i.dispose()});try{let a=await s.getInstalled();if(this._store.isDisposed)return;if(this.allMcpServers.push(...a),a.length>0){let l=a.map(c=>({name:c.name,local:c,mcpResource:c.mcpResource}));this._onDidInstallMcpServers.fire(l)}}catch(a){this.logService.warn("Failed to get installed servers from",e.toString(),a)}this._store.isDisposed||(i.add(s.onInstallMcpServer(a=>this._onInstallMcpServer.fire(a))),i.add(s.onDidInstallMcpServers(a=>{for(let{local:l}of a)l&&this.allMcpServers.push(l);this._onDidInstallMcpServers.fire(a)})),i.add(s.onDidUpdateMcpServers(a=>{for(let{local:l,mcpResource:c}of a)if(l){let u=this.allMcpServers.findIndex(p=>this.uriIdentityService.extUri.isEqual(p.mcpResource,c)&&p.name===l.name);u!==-1&&this.allMcpServers.splice(u,1,l)}this._onDidUpdateMcpServers.fire(a)})),i.add(s.onUninstallMcpServer(a=>this._onUninstallMcpServer.fire(a))),i.add(s.onDidUninstallMcpServer(a=>{let l=this.allMcpServers.findIndex(c=>this.uriIdentityService.extUri.isEqual(c.mcpResource,a.mcpResource)&&c.name===a.name);l!==-1&&(this.allMcpServers.splice(l,1),this._onDidUninstallMcpServer.fire(a))})))}async removeWorkspaceService(e){let n=this.workspaceMcpManagementServices.get(e);if(n){try{let o=await n.service.getInstalled();this.allMcpServers=this.allMcpServers.filter(i=>!o.some(s=>this.uriIdentityService.extUri.isEqual(s.mcpResource,i.mcpResource)));for(let i of o)this._onDidUninstallMcpServer.fire({name:i.name,mcpResource:i.mcpResource})}catch(o){this.logService.warn("Failed to get installed servers from",e.toString(),o)}this.workspaceMcpManagementServices.delete(e),n.dispose()}}async getInstalled(){return await this.workspaceUpdatePromise,this.allMcpServers}async install(e,n){if(await this.workspaceUpdatePromise,!n?.mcpResource)throw new Error("MCP resource is required");let o=this.workspaceMcpManagementServices.get(n?.mcpResource);if(!o)throw new Error(`No MCP management service found for resource: ${n?.mcpResource.toString()}`);return o.service.install(e,n)}async uninstall(e,n){await this.workspaceUpdatePromise;let o=e.mcpResource,i=this.workspaceMcpManagementServices.get(o);if(!i)throw new Error(`No MCP management service found for resource: ${o.toString()}`);return i.service.uninstall(e,n)}async installFromGallery(e,n){if(await this.workspaceUpdatePromise,!n?.mcpResource)throw new Error("MCP resource is required");let o=this.workspaceMcpManagementServices.get(n?.mcpResource);if(!o)throw new Error(`No MCP management service found for resource: ${n?.mcpResource.toString()}`);return o.service.installFromGallery(e,n)}updateMetadata(){throw new Error("Not supported")}dispose(){this.workspaceMcpManagementServices.forEach(e=>e.dispose()),this.workspaceMcpManagementServices.clear(),super.dispose()}};zh=C([b(0,nr),b(1,ze),b(2,z),b(3,Za),b(4,Ln)],zh)});var lM,Y5=y(()=>{(l=>(l.LATEST_PROTOCOL_VERSION="2025-11-25",l.JSONRPC_VERSION="2.0",l.PARSE_ERROR=-32700,l.INVALID_REQUEST=-32600,l.METHOD_NOT_FOUND=-32601,l.INVALID_PARAMS=-32602,l.INTERNAL_ERROR=-32603,l.URL_ELICITATION_REQUIRED=-32042))(lM||={})});var X5=y(()=>{Y5()});function Gh(r,t){if(r===t)return!0;if(S.isUri(r)||S.isUri(t))return S.isUri(r)&&S.isUri(t)&&mo(r,t);if(r==null||t===null||t===void 0||typeof r!=typeof t||typeof r!="object"||Array.isArray(r)!==Array.isArray(t))return!1;if(Array.isArray(r)&&Array.isArray(t))return Gt(r,t,Gh);let e=[];for(let o in r)e.push(o);e.sort();let n=[];for(let o in t)n.push(o);if(n.sort(),!Gt(e,n))return!1;for(let o of e)if(!Gh(Reflect.get(r,o),Reflect.get(t,o)))return!1;return!0}var tX,nX,oX,tB,rX,Irt,iX,Kh,sX,Z5,aX,wC,brt,Srt,lX,xrt,Crt,nB=y(()=>{At();Xr();Ke();K();jt();ma();bt();oe();re();tn();fo();jn();Z();Nh();fa();J5();X5();Hh();tX="mcp.config.";(n=>{function r(o,i){return o.id===i.id&&o.remoteAuthority===i.remoteAuthority&&o.label===i.label&&o.provenance===i.provenance&&o.discoverySource===i.discoverySource&&o.trustBehavior===i.trustBehavior&&ct(o.sandbox,i.sandbox)}n.equals=r;function t(o){return o.configTarget===5||o.configTarget===6}n.isWorkspaceDiscovered=t;function e(o){return o.id.startsWith(`${tX}${aM}`)}n.isVscodeMcpJson=e})(nX||={});(n=>{function r(o){return o}n.toSerialized=r;function t(o){return{id:o.id,label:o.label,cacheNonce:o.cacheNonce,staticMetadata:o.staticMetadata,launch:Kh.fromSerialized(o.launch),defaultCwd:o.defaultCwd?S.revive(o.defaultCwd):void 0,sandboxEnabled:o.sandboxEnabled,version:o.version,gallery:o.gallery,variableReplacement:o.variableReplacement?tB.fromSerialized(o.variableReplacement):void 0}}n.fromSerialized=t;function e(o,i){return o.id===i.id&&o.label===i.label&&o.cacheNonce===i.cacheNonce&&mo(o.defaultCwd,i.defaultCwd)&&Gt(o.roots,i.roots,(s,a)=>s.toString()===a.toString())&&Gh(o.launch,i.launch)&&Gh(o.presentation,i.presentation)&&Gh(o.variableReplacement,i.variableReplacement)&&ct(o.devMode,i.devMode)&&o.version===i.version&&o.gallery===i.gallery&&o.sandboxEnabled===i.sandboxEnabled}n.equals=e})(oX||={});(e=>{function r(n){return n}e.toSerialized=r;function t(n){return{section:n.section,folder:n.folder?{...n.folder,uri:S.revive(n.folder.uri)}:void 0,target:n.target}}e.fromSerialized=t})(tB||={});(t=>t.Empty={working:!1,starting:[],serversRequiringInteraction:[]})(rX||={});Irt=D("IMcpService");(t=>{let r;(s=>(s[s.Trusted=0]="Trusted",s[s.TrustedOnNonce=1]="TrustedOnNonce",s[s.Untrusted=2]="Untrusted",s[s.Unknown=3]="Unknown"))(r=t.Kind||={})})(iX||={});(o=>{function r(i){return i}o.toSerialized=r;function t(i){switch(i.type){case 2:return{type:i.type,transport:i.transport,uri:S.revive(i.uri),headers:i.headers,oauth:i.oauth,authentication:i.authentication};case 1:return{type:i.type,cwd:i.cwd,command:i.command,args:i.args,env:i.env,envFile:i.envFile,sandbox:i.sandbox}}}o.fromSerialized=t;function e(i,s){if(i.type==="stdio")return{type:1,command:i.command,args:i.args?[...i.args]:[],env:i.env?{...i.env}:{},envFile:i.envFile,cwd:i.cwd,sandbox:s};try{return{type:2,...i.transport==="sse"?{transport:"sse"}:{},uri:S.parse(i.url),headers:Object.entries(i.headers??{}),oauth:i.oauth}}catch{return}}o.fromServerConfiguration=e;async function n(i){let s=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(JSON.stringify(i)));return Na(L.wrap(new Uint8Array(s)))}o.hash=n})(Kh||={});(i=>{let r;(u=>(u[u.Stopped=0]="Stopped",u[u.Starting=1]="Starting",u[u.Running=2]="Running",u[u.Error=3]="Error"))(r=i.Kind||={}),i.toString=s=>{switch(s.state){case 0:return d(16568,null);case 1:return d(16567,null);case 2:return d(16566,null);case 3:return d(16565,null,s.message);default:Gl(s)}},i.toKindString=s=>{switch(s){case 0:return"stopped";case 1:return"starting";case 2:return"running";case 3:return"error";default:Gl(s)}},i.canBeStarted=s=>s===3||s===0,i.isRunning=s=>!(0,i.canBeStarted)(s.state)})(sX||={});Z5=class r extends Error{constructor(e){super(`${r.prefix}${e}`);this.reason=e}static{this.prefix="User interaction required: "}static is(e){return e.message.startsWith(this.prefix)}},aX=D("IMcpWorkbenchService"),wC=class extends _{constructor(e,n){super();this.containers=e;this._register(n.onChange(this.update,this))}set mcpServer(e){this.containers.forEach(n=>n.mcpServer=e)}update(e){for(let n of this.containers)e&&n.mcpServer?e.id===n.mcpServer.id&&(n.mcpServer=e):n.update()}};wC=C([b(1,aX)],wC);brt=new x("mcpServersGalleryStatus","unavailable"),Srt=new x("hasInstalledMcpServers",!0);(o=>{o.scheme="mcp-resource";let t="dylo78gyp";function e(i,s){return typeof s=="string"&&(s=S.parse(s)),s.with({scheme:o.scheme,authority:Na(L.fromString(i.id)),path:["",s.scheme,s.authority||t].join("/")+s.path})}o.fromServer=e;function n(i){if(typeof i=="string"&&(i=S.parse(i)),i.scheme!==o.scheme)throw new Error(`Invalid MCP resource URI: ${i.toString()}`);let s=i.path.split("/");if(s.length<3)throw new Error(`Invalid MCP resource URI: ${i.toString()}`);let[,a,l,...c]=s,u=new URL(`${a}://${l.toLowerCase()===t?"":l}`);return u.pathname=c.length?"/"+c.join("/"):"",u.search=i.query,u.hash=i.fragment,{definitionId:og(i.authority).toString(),resourceURL:u}}o.toServer=n})(lX||={});xrt=D("IMcpServerSampling"),Crt=D("IMcpElicitationService")});var Prt,krt,oB=y(()=>{Z();Prt=D("scm"),krt=D("scmView")});var Bi,jh=y(()=>{Bi=class r{constructor(t,e=t.length){this.path=t;this.viewEnd=e;if(t.length===0||e<1)throw new Error("cannot create test with empty path")}static fromExtHostTestItem(t,e,n=t.parent){if(t._isRoot)return new r([e]);let o=[t.id];for(let i=n;i&&i.id!==e;i=i.parent)o.push(i.id);return o.push(e),new r(o.reverse())}static isRoot(t){return!t.includes("\0")}static root(t){let e=t.indexOf("\0");return e===-1?t:t.slice(0,e)}static fromString(t){return new r(t.split("\0"))}static join(t,e){return new r([...t.path,e])}static split(t){return t.split("\0")}static joinToString(t,e){return t.toString()+"\0"+e}static parentId(t){let e=t.lastIndexOf("\0");return e===-1?void 0:t.slice(0,e)}static localId(t){let e=t.lastIndexOf("\0");return e===-1?t:t.slice(e+1)}static isChild(t,e){return e[t.length]==="\0"&&e.startsWith(t)}static compare(t,e){return t===e?0:r.isChild(t,e)?2:r.isChild(e,t)?3:1}static getLengthOfCommonPrefix(t,e){if(t===0)return 0;let n=0;for(;n<t-1;){for(let o=1;o<t;o++){let i=e(o-1),s=e(o);if(i.path[n]!==s.path[n])return n}n++}return n}get rootId(){return new r(this.path,1)}get parentId(){return this.viewEnd>1?new r(this.path,this.viewEnd-1):void 0}get localId(){return this.path[this.viewEnd-1]}get controllerId(){return this.path[0]}get isRoot(){return this.viewEnd===1}*idsFromRoot(){for(let t=1;t<=this.viewEnd;t++)yield new r(this.path,t)}*idsToRoot(){for(let t=this.viewEnd;t>0;t--)yield new r(this.path,t)}compare(t){if(typeof t=="string")return r.compare(this.toString(),t);for(let e=0;e<t.viewEnd&&e<this.viewEnd;e++)if(t.path[e]!==this.path[e])return 1;return t.viewEnd>this.viewEnd?2:t.viewEnd<this.viewEnd?3:0}toJSON(){return this.toString()}toString(){if(!this.stringifed){this.stringifed=this.path[0];for(let t=1;t<this.viewEnd;t++)this.stringifed+="\0",this.stringifed+=this.path[t]}return this.stringifed}}});function bM(r){return{...r,location:r.location?.toJSON()}}function SM(r){return r.location=r.location?Fi.isIPosition(r.location)?Fi.lift(r.location):Pn.lift(r.location):void 0,r}var Wrt,Qh,cM,dM,uM,pM,TC,rB,yM,IM,mM,em,gM,cX,iB,dX,uX,fM,hM,vM,pX,RC=y(()=>{oe();rx();sa();re();jh();Wrt={2:d(20741,null),4:d(20740,null),8:d(20739,null)};(e=>(e.serialize=n=>({range:n.range.toJSON(),uri:n.uri.toJSON()}),e.deserialize=(n,o)=>({range:Pn.lift(o.range),uri:n.asCanonicalUri(S.revive(o.uri))})))(Qh||={});(e=>(e.serialize=n=>({label:n.label,uri:n.uri?.toJSON(),position:n.position?.toJSON()}),e.deserialize=(n,o)=>({label:o.label,uri:o.uri?n.asCanonicalUri(S.revive(o.uri)):void 0,position:o.position?Fi.lift(o.position):void 0})))(cM||={});(e=>(e.serialize=n=>({message:n.message,type:0,expected:n.expected,actual:n.actual,contextValue:n.contextValue,location:n.location&&Qh.serialize(n.location),stackTrace:n.stackTrace?.map(cM.serialize)}),e.deserialize=(n,o)=>({message:o.message,type:0,expected:o.expected,actual:o.actual,contextValue:o.contextValue,location:o.location&&Qh.deserialize(n,o.location),stackTrace:o.stackTrace&&o.stackTrace.map(i=>cM.deserialize(n,i))})))(dM||={});(e=>(e.serialize=n=>({message:n.message,type:1,offset:n.offset,length:n.length,location:n.location&&Qh.serialize(n.location)}),e.deserialize=(n,o)=>({message:o.message,type:1,offset:o.offset,length:o.length,location:o.location&&Qh.deserialize(n,o.location)})))(uM||={});(n=>(n.serialize=o=>o.type===0?dM.serialize(o):uM.serialize(o),n.deserialize=(o,i)=>i.type===0?dM.deserialize(o,i):uM.deserialize(o,i),n.isDiffable=o=>o.type===0&&o.actual!==void 0&&o.expected!==void 0))(pM||={});(n=>(n.serializeWithoutMessages=o=>({state:o.state,duration:o.duration,messages:[]}),n.serialize=o=>({state:o.state,duration:o.duration,messages:o.messages.map(pM.serialize)}),n.deserialize=(o,i)=>({state:i.state,duration:i.duration,messages:i.messages.map(s=>pM.deserialize(o,s))})))(TC||={});rB="\0",yM=(r,t)=>r+rB+t,IM=r=>{let t=r.indexOf(rB);return{ctrlId:r.slice(0,t),tagId:r.slice(t+1)}};(e=>(e.serialize=n=>({extId:n.extId,label:n.label,tags:n.tags,busy:n.busy,children:void 0,uri:n.uri?.toJSON(),range:n.range?.toJSON()||null,description:n.description,error:n.error,sortText:n.sortText}),e.deserialize=(n,o)=>({extId:o.extId,label:o.label,tags:o.tags,busy:o.busy,children:void 0,uri:o.uri?n.asCanonicalUri(S.revive(o.uri)):void 0,range:o.range?Pn.lift(o.range):null,description:o.description,error:o.error,sortText:o.sortText})))(mM||={});(e=>(e.serialize=n=>({expand:n.expand,item:mM.serialize(n.item)}),e.deserialize=(n,o)=>({controllerId:Bi.root(o.item.extId),expand:o.expand,item:mM.deserialize(n,o.item)})))(em||={});(e=>(e.serialize=n=>{let o;return n.item&&(o={},n.item.label!==void 0&&(o.label=n.item.label),n.item.tags!==void 0&&(o.tags=n.item.tags),n.item.busy!==void 0&&(o.busy=n.item.busy),n.item.uri!==void 0&&(o.uri=n.item.uri?.toJSON()),n.item.range!==void 0&&(o.range=n.item.range?.toJSON()),n.item.description!==void 0&&(o.description=n.item.description),n.item.error!==void 0&&(o.error=n.item.error),n.item.sortText!==void 0&&(o.sortText=n.item.sortText)),{extId:n.extId,expand:n.expand,item:o}},e.deserialize=n=>{let o;return n.item&&(o={},n.item.label!==void 0&&(o.label=n.item.label),n.item.tags!==void 0&&(o.tags=n.item.tags),n.item.busy!==void 0&&(o.busy=n.item.busy),n.item.range!==void 0&&(o.range=n.item.range?Pn.lift(n.item.range):null),n.item.description!==void 0&&(o.description=n.item.description),n.item.error!==void 0&&(o.error=n.item.error),n.item.sortText!==void 0&&(o.sortText=n.item.sortText)),{extId:n.extId,expand:n.expand,item:o}}))(gM||={});(n=>(n.serializeWithoutMessages=o=>({...em.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(TC.serializeWithoutMessages)}),n.serialize=o=>({...em.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(TC.serialize)}),n.deserialize=(o,i)=>({...em.deserialize(o,i),ownComputedState:i.ownComputedState,computedState:i.computedState,tasks:i.tasks.map(s=>TC.deserialize(o,s)),retired:!0})))(cX||={});(e=>(e.empty=()=>({covered:0,total:0}),e.sum=(n,o)=>{n.covered+=o.covered,n.total+=o.total}))(iB||={});(n=>(n.serialize=o=>({id:o.id,statement:o.statement,branch:o.branch,declaration:o.declaration,testIds:o.testIds,uri:o.uri.toJSON()}),n.deserialize=(o,i)=>({id:i.id,statement:i.statement,branch:i.branch,declaration:i.declaration,testIds:i.testIds,uri:o.asCanonicalUri(S.revive(i.uri))}),n.empty=(o,i)=>({id:o,uri:i,statement:iB.empty()})))(dX||={});(e=>(e.serialize=n=>n.type===0?hM.serialize(n):vM.serialize(n),e.deserialize=n=>n.type===0?hM.deserialize(n):vM.deserialize(n)))(uX||={});(e=>(e.serialize=bM,e.deserialize=SM))(fM||={});(e=>(e.serialize=bM,e.deserialize=SM))(hM||={});(e=>(e.serialize=n=>({...bM(n),branches:n.branches?.map(fM.serialize)}),e.deserialize=n=>({...SM(n),branches:n.branches?.map(fM.deserialize)})))(vM||={});(e=>(e.deserialize=(n,o)=>o.op===0?{op:o.op,item:em.deserialize(n,o.item)}:o.op===1?{op:o.op,item:gM.deserialize(o.item)}:o.op===2?{op:o.op,uri:n.asCanonicalUri(S.revive(o.uri)),docv:o.docv}:o,e.serialize=n=>n.op===0?{op:n.op,item:em.serialize(n.item)}:n.op===1?{op:n.op,item:gM.serialize(n.item)}:n))(pX||={})});var qrt,sB=y(()=>{Z();qrt=D("IAiSettingsSearchService")});var cit,aB=y(()=>{Z();ph();cit=D("editorGroupsService")});var lB,cB,dB,xM=y(()=>{Z();aB();lB=D("editorService"),cB=-1,dB=-2});function A(r){let t=new CM(r);return mX[t.nid]=t,t}var CM,mX,tm,PC=y(()=>{CM=class r{constructor(t){this._proxyIdentifierBrand=void 0;this.sid=t,this.nid=++r.count}static{this.count=0}},mX=[];tm=class{constructor(t){this.value=t}}});var Jh,gX,Mit,EM,nm,wM,uB,TM=y(()=>{Ne();de();K();Xr();RC();jh();Jh=(r,t)=>r===t,gX={range:(r,t)=>r===t?!0:!r||!t?!1:r.equalsRange(t),busy:Jh,label:Jh,description:Jh,error:Jh,sortText:Jh,tags:(r,t)=>!(r.length!==t.length||r.some(e=>!t.includes(e)))},Mit=Object.entries(gX),EM=class extends Error{constructor(t){super(`Attempted to insert a duplicate test item ID ${t}`)}},nm=class extends Error{constructor(t){super(`TestItem with ID "${t}" is invalid. Make sure to create it from the createTestItem method.`)}},wM=class extends Error{constructor(t,e,n){super(`TestItem with ID "${t}" is from controller "${e}" and cannot be added as a child of an item from controller "${n}".`)}},uB=(r,t,e)=>{let n=new Map;return{get size(){return n.size},forEach(o,i){for(let s of n.values())o.call(i,s,this)},[Symbol.iterator](){return n.entries()},replace(o){let i=new Map,s=new Set(n.keys()),a={op:5,ops:[]};for(let l of o){if(!(l instanceof e))throw new nm(l.id);let c=t(l).controllerId;if(c!==r.controllerId)throw new wM(l.id,c,r.controllerId);if(i.has(l.id))throw new EM(l.id);i.set(l.id,l),s.delete(l.id),a.ops.push({op:0,item:l})}for(let l of s.keys())a.ops.push({op:3,id:l});r.listener?.(a),n=i},add(o){if(!(o instanceof e))throw new nm(o.id);n.set(o.id,o),r.listener?.({op:0,item:o})},delete(o){n.delete(o)&&r.listener?.({op:3,id:o})},get(o){return n.get(o)},toJSON(){return Array.from(n.values())}}}});var pB,mB,kC,RM=y(()=>{TM();pB=new WeakMap,mB=(r,t)=>{let e={controllerId:t};return pB.set(r,e),e},kC=r=>{let t=pB.get(r);if(!t)throw new nm(r?.id||"<unknown>");return t}});function jM(r){return typeof r>"u"?r:typeof r=="string"?S.file(r):r}function EB(r){switch(typeof r.mimeType=="string"?r.mimeType.toLowerCase():""){case"image/png":case"image/jpeg":case"image/jpg":case"image/gif":case"image/webp":case"image/bmp":return!0;default:return!1}}var KM,ve,va,fX,ya,gB,hX,PM,vX,kM,_C,yX,mt,Yh,DM,fB,IX,xs,bX,Ia,sd,_M,SX,ev,xX,CX,Nl,EX,wX,TX,RX,PX,MM,kX,hB,DX,vB,_X,yB,MX,AM,LM,AX,LX,IB,bB,OX,NX,UX,FX,HX,WX,OM,VX,BX,NM,qX,Ss,$X,QM,UM,FM,zX,Xh,HM,WM,GX,KX,jX,QX,JX,SB,Ul,JM,xB,tv,YX,XX,ZX,YM,eZ,DC,tZ,CB,Zh,nZ,oZ,VM,wB,TB,RB,PB,BM,kB,qM,DB,_B,MB,AB,LB,OB,NB,UB,FB,HB,WB,rZ,iZ,$M,VB,BB,qB,$B,zM,zB,sZ,aZ,GB,lZ,KB,MC,XM,jB,cZ,QB,dZ,uZ,GM,pZ,JB,mZ,YB,gZ,fZ,hZ,vZ,yZ,XB,IZ,bZ,SZ,ZB,e7,xZ,ZM=y(()=>{At();Ke();G2();Um();_i();Sn();lH();rs();Zl();Mc();jt();me();dH();bt();nl();we();oe();nn();bH();sa();Yk();sx();EH();wH();RH();ph();mh();gh();E4();px();wh();M5();Mh();g_();A5();nB();Pf();Pf();oB();jh();RC();sB();xM();r_();PC();RM();JS();JS();(e=>{function r(n){let{selectionStartLineNumber:o,selectionStartColumn:i,positionLineNumber:s,positionColumn:a}=n,l=new We(o-1,i-1),c=new We(s-1,a-1);return new Li(l,c)}e.to=r;function t(n){let{anchor:o,active:i}=n;return{selectionStartLineNumber:o.line+1,selectionStartColumn:o.character+1,positionLineNumber:i.line+1,positionColumn:i.character+1}}e.from=t})(KM||={});(e=>{function r(n){if(!n)return;let{start:o,end:i}=n;return{startLineNumber:o.line+1,startColumn:o.character+1,endLineNumber:i.line+1,endColumn:i.character+1}}e.from=r;function t(n){if(!n)return;let{startLineNumber:o,startColumn:i,endLineNumber:s,endColumn:a}=n;return new Ge(o-1,i-1,s-1,a-1)}e.to=t})(ve||={});(e=>{function r(n){return{uri:n.uri,range:ve.from(n.range)}}e.from=r;function t(n){return new Mo(S.revive(n.uri),ve.to(n.range))}e.to=t})(va||={});(t=>{function r(e){switch(e){case 1:return 1;case 0:return 0;case 3:return 3;case 2:return 2}}t.to=r})(fX||={});(e=>{function r(n){return new We(n.lineNumber-1,n.column-1)}e.to=r;function t(n){return{lineNumber:n.line+1,column:n.character+1}}e.from=t})(ya||={});(n=>{function r(o,i,s){return Qo(Sd(o).map(a=>t(a,i,s)))}n.from=r;function t(o,i,s){if(typeof o=="string")return{$serialized:!0,language:o,isBuiltin:s?.isBuiltin};if(o)return{$serialized:!0,language:o.language,scheme:e(o.scheme,i),pattern:Ss.from(o.pattern)??void 0,exclusive:o.exclusive,notebookType:o.notebookType,isBuiltin:s?.isBuiltin}}function e(o,i){return i&&typeof o=="string"?i.transformOutgoingScheme(o):o}})(gB||={});(e=>{function r(n){return n.viewType!==void 0}function t(n,o,i){return r(n)?{viewType:n.viewType}:{uri:gB.from(n.uri,o,i)}}e.from=t})(hX||={});(e=>{function r(n){switch(n){case 1:return 1;case 2:return 2}}e.from=r;function t(n){switch(n){case 1:return 1;case 2:return 2;default:return}}e.to=t})(PM||={});(e=>{function r(n){let o;return n.code&&(j(n.code)||po(n.code)?o=String(n.code):o={value:String(n.code.value),target:n.code.target}),{...ve.from(n.range),message:n.message,source:n.source,code:o,severity:_C.from(n.severity),relatedInformation:n.relatedInformation&&n.relatedInformation.map(kM.from),tags:Array.isArray(n.tags)?Qo(n.tags.map(PM.from)):void 0}}e.from=r;function t(n){let o=new Ac(ve.to(n),n.message,_C.to(n.severity));return o.source=n.source,o.code=j(n.code)?n.code:n.code?.value,o.relatedInformation=n.relatedInformation&&n.relatedInformation.map(kM.to),o.tags=n.tags&&Qo(n.tags.map(PM.to)),o}e.to=t})(vX||={});(e=>{function r(n){return{...ve.from(n.location.range),message:n.message,resource:n.location.uri}}e.from=r;function t(n){return new xl(new Mo(n.resource,ve.to(n)),n.message)}e.to=t})(kM||={});(e=>{function r(n){switch(n){case 0:return 8;case 1:return 4;case 2:return 2;case 3:return 1}return 8}e.from=r;function t(n){switch(n){case 2:return 2;case 4:return 1;case 8:return 0;case 1:return 3;default:return 0}}e.to=t})(_C||={});(e=>{function r(n){return typeof n=="number"&&n>=1?n-1:n===-2?dB:cB}e.from=r;function t(n){if(typeof n=="number"&&n>=0)return n+1;throw new Error("invalid 'EditorGroupColumn'")}e.to=t})(yX||={});(s=>{function r(a){return a.map(s.from)}s.fromMany=r;function t(a){return a&&typeof a=="object"&&typeof a.language=="string"&&typeof a.value=="string"}function e(a){let l;if(t(a)){let{language:p,value:m}=a;l={value:"```"+p+`
`+m+"\n```\n"}}else _o.isMarkdownString(a)?l={value:a.value,isTrusted:a.isTrusted,supportThemeIcons:a.supportThemeIcons,supportHtml:a.supportHtml,supportAlertSyntax:a.supportAlertSyntax,baseUri:a.baseUri}:typeof a=="string"?l={value:a}:l={value:""};let c=Object.create(null);l.uris=c;let u=({href:p})=>{try{let m=S.parse(p,!0);m=m.with({query:n(m.query,c)}),c[p]=m}catch{}return""};return Ht.walkTokens(Ht.lexer(l.value),p=>{p.type==="link"?u({href:p.href}):p.type==="image"&&typeof p.href=="string"&&u(aU(p.href))}),l}s.from=e;function n(a,l){if(!a)return a;let c;try{c=cI(a)}catch{}if(!c)return a;let u=!1;return c=to(c,p=>{if(S.isUri(p)){let m=`__uri_${Math.random().toString(16).slice(2,8)}`;return l[m]=p,u=!0,m}else return}),u?JSON.stringify(c):a}function o(a){let l=new _o(a.value,a.supportThemeIcons);return l.isTrusted=a.isTrusted,l.supportHtml=a.supportHtml,l.supportAlertSyntax=a.supportAlertSyntax,l.baseUri=a.baseUri?S.from(a.baseUri):void 0,l}s.to=o;function i(a){if(a)return typeof a=="string"?a:s.from(a)}s.fromStrict=i})(mt||={});(t=>{function r(e){return typeof e>"u"?e:{contentText:e.contentText,contentIconPath:e.contentIconPath?jM(e.contentIconPath):void 0,border:e.border,borderColor:e.borderColor,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,color:e.color,backgroundColor:e.backgroundColor,margin:e.margin,width:e.width,height:e.height}}t.from=r})(Yh||={});(t=>{function r(e){return typeof e>"u"?e:{backgroundColor:e.backgroundColor,outline:e.outline,outlineColor:e.outlineColor,outlineStyle:e.outlineStyle,outlineWidth:e.outlineWidth,border:e.border,borderColor:e.borderColor,borderRadius:e.borderRadius,borderSpacing:e.borderSpacing,borderStyle:e.borderStyle,borderWidth:e.borderWidth,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,cursor:e.cursor,color:e.color,opacity:e.opacity,letterSpacing:e.letterSpacing,gutterIconPath:e.gutterIconPath?jM(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?Yh.from(e.before):void 0,after:e.after?Yh.from(e.after):void 0}}t.from=r})(DM||={});(t=>{function r(e){if(typeof e>"u")return e;switch(e){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3}}t.from=r})(fB||={});(t=>{function r(e){return{isWholeLine:e.isWholeLine,rangeBehavior:e.rangeBehavior?fB.from(e.rangeBehavior):void 0,overviewRulerLane:e.overviewRulerLane,light:e.light?DM.from(e.light):void 0,dark:e.dark?DM.from(e.dark):void 0,backgroundColor:e.backgroundColor,outline:e.outline,outlineColor:e.outlineColor,outlineStyle:e.outlineStyle,outlineWidth:e.outlineWidth,border:e.border,borderColor:e.borderColor,borderRadius:e.borderRadius,borderSpacing:e.borderSpacing,borderStyle:e.borderStyle,borderWidth:e.borderWidth,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,cursor:e.cursor,color:e.color,opacity:e.opacity,letterSpacing:e.letterSpacing,gutterIconPath:e.gutterIconPath?jM(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?Yh.from(e.before):void 0,after:e.after?Yh.from(e.after):void 0}}t.from=r})(IX||={});(e=>{function r(n){return{text:n.newText,eol:n.newEol&&OM.from(n.newEol),range:ve.from(n.range)}}e.from=r;function t(n){let o=new Ao(ve.to(n.range),n.text);return o.newEol=typeof n.eol>"u"?void 0:OM.to(n.eol),o}e.to=t})(xs||={});(e=>{function r(n,o){let i={edits:[]};if(n instanceof Cl){let s=new Ds;for(let a of n._allEntries())a._type===1&&S.isUri(a.to)&&a.from===void 0&&s.add(a.to);for(let a of n._allEntries())if(a._type===1){let l;a.options?.contents&&(ArrayBuffer.isView(a.options.contents)?l={type:"base64",value:To(L.wrap(a.options.contents))}:l={type:"dataTransferItem",id:a.options.contents._itemId}),i.edits.push({oldResource:a.from,newResource:a.to,options:{...a.options,contents:l},metadata:a.metadata})}else a._type===2?i.edits.push({resource:a.uri,textEdit:xs.from(a.edit),versionId:s.has(a.uri)?void 0:o?.getTextDocumentVersion(a.uri),metadata:a.metadata}):a._type===6?i.edits.push({resource:a.uri,textEdit:{range:ve.from(a.range),text:a.edit.value,insertAsSnippet:!0,keepWhitespace:a.keepWhitespace},versionId:s.has(a.uri)?void 0:o?.getTextDocumentVersion(a.uri),metadata:a.metadata}):a._type===3?i.edits.push({metadata:a.metadata,resource:a.uri,cellEdit:a.edit,notebookVersionId:o?.getNotebookDocumentVersion(a.uri)}):a._type===5&&i.edits.push({metadata:a.metadata,resource:a.uri,notebookVersionId:o?.getNotebookDocumentVersion(a.uri),cellEdit:{editType:1,index:a.index,count:a.count,cells:a.cells.map(Xh.from)}})}return i}e.from=r;function t(n){let o=new Cl,i=new tt;for(let s of n.edits)if(s.textEdit){let a=s,l=S.revive(a.resource),c=ve.to(a.textEdit.range),u=a.textEdit.text,p=a.textEdit.insertAsSnippet,m;p?(m=Lc.replace(c,new Bo(u)),m.keepWhitespace=a.textEdit.keepWhitespace):m=Ao.replace(c,u);let f=i.get(l);f?f.push(m):i.set(l,[m])}else o.renameFile(S.revive(s.oldResource),S.revive(s.newResource),s.options);for(let[s,a]of i)o.set(s,a);return o}e.to=t})(bX||={});(n=>{let r=Object.create(null);r[0]=0,r[1]=1,r[2]=2,r[3]=3,r[4]=4,r[5]=5,r[6]=6,r[7]=7,r[8]=8,r[9]=9,r[10]=10,r[11]=11,r[12]=12,r[13]=13,r[14]=14,r[15]=15,r[16]=16,r[17]=17,r[18]=18,r[19]=19,r[20]=20,r[21]=21,r[22]=22,r[23]=23,r[24]=24,r[25]=25;function t(o){return typeof r[o]=="number"?r[o]:6}n.from=t;function e(o){for(let i in r)if(r[i]===o)return Number(i);return 6}n.to=e})(Ia||={});(e=>{function r(n){if(n===1)return 1}e.from=r;function t(n){if(n===1)return 1}e.to=t})(sd||={});(e=>{function r(n){return{name:n.name,kind:Ia.from(n.kind),tags:n.tags&&n.tags.map(sd.from),containerName:n.containerName,location:Nl.from(n.location)}}e.from=r;function t(n){let o=new Zs(n.name,Ia.to(n.kind),n.containerName,Nl.to(n.location));return o.tags=n.tags&&n.tags.map(sd.to),o}e.to=t})(_M||={});(e=>{function r(n){let o={name:n.name||"!!MISSING: name!!",detail:n.detail,range:ve.from(n.range),selectionRange:ve.from(n.selectionRange),kind:Ia.from(n.kind),tags:n.tags?.map(sd.from)??[]};return n.children&&(o.children=n.children.map(r)),o}e.from=r;function t(n){let o=new na(n.name,n.detail,Ia.to(n.kind),ve.to(n.range),ve.to(n.selectionRange));return zl(n.tags)&&(o.tags=n.tags.map(sd.to)),n.children&&(o.children=n.children.map(t)),o}e.to=t})(SX||={});(e=>{function r(n){let o=new Sp(Ia.to(n.kind),n.name,n.detail||"",S.revive(n.uri),ve.to(n.range),ve.to(n.selectionRange));return o._sessionId=n._sessionId,o._itemId=n._itemId,o}e.to=r;function t(n,o,i){if(o=o??n._sessionId,i=i??n._itemId,o===void 0||i===void 0)throw new Error("invalid item");return{_sessionId:o,_itemId:i,name:n.name,detail:n.detail,kind:Ia.from(n.kind),uri:n.uri,range:ve.from(n.range),selectionRange:ve.from(n.selectionRange),tags:n.tags?.map(sd.from)}}e.from=t})(ev||={});(t=>{function r(e){return new ES(ev.to(e.from),e.fromRanges.map(n=>ve.to(n)))}t.to=r})(xX||={});(t=>{function r(e){return new wS(ev.to(e.to),e.fromRanges.map(n=>ve.to(n)))}t.to=r})(CX||={});(e=>{function r(n){return{range:n.range&&ve.from(n.range),uri:n.uri}}e.from=r;function t(n){return new Mo(S.revive(n.uri),ve.to(n.range))}e.to=t})(Nl||={});(e=>{function r(n){let o=n,i=n;return{originSelectionRange:o.originSelectionRange?ve.from(o.originSelectionRange):void 0,uri:o.targetUri?o.targetUri:i.uri,range:ve.from(o.targetRange?o.targetRange:i.range),targetSelectionRange:o.targetSelectionRange?ve.from(o.targetSelectionRange):void 0}}e.from=r;function t(n){return{targetUri:S.revive(n.uri),targetRange:ve.to(n.range),targetSelectionRange:n.targetSelectionRange?ve.to(n.targetSelectionRange):void 0,originSelectionRange:n.originSelectionRange?ve.to(n.originSelectionRange):void 0}}e.to=t})(EX||={});(e=>{function r(n){return{range:ve.from(n.range),contents:mt.fromMany(n.contents),canIncreaseVerbosity:n.canIncreaseVerbosity,canDecreaseVerbosity:n.canDecreaseVerbosity}}e.from=r;function t(n){let o=n.contents.map(mt.to),i=ve.to(n.range),s=n.canIncreaseVerbosity,a=n.canDecreaseVerbosity;return new ip(o,i,s,a)}e.to=t})(wX||={});(e=>{function r(n){return{range:ve.from(n.range),expression:n.expression}}e.from=r;function t(n){return new hp(ve.to(n.range),n.expression)}e.to=t})(TX||={});(e=>{function r(n){if(n instanceof vp)return{type:"text",range:ve.from(n.range),text:n.text};if(n instanceof yp)return{type:"variable",range:ve.from(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};if(n instanceof Ip)return{type:"expression",range:ve.from(n.range),expression:n.expression};throw new Error("Unknown 'InlineValue' type")}e.from=r;function t(n){switch(n.type){case"text":return{range:ve.to(n.range),text:n.text};case"variable":return{range:ve.to(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};case"expression":return{range:ve.to(n.range),expression:n.expression}}}e.to=t})(RX||={});(e=>{function r(n){return{frameId:n.frameId,stoppedLocation:ve.from(n.stoppedLocation)}}e.from=r;function t(n){return new bp(n.frameId,ve.to(n.stoppedLocation))}e.to=t})(PX||={});(e=>{function r(n){return{range:ve.from(n.range),kind:n.kind}}e.from=r;function t(n){return new sp(ve.to(n.range),n.kind)}e.to=t})(MM||={});(e=>{function r(n){return{uri:n.uri,highlights:n.highlights.map(MM.from)}}e.from=r;function t(n){return new ap(S.revive(n.uri),n.highlights.map(MM.to))}e.to=t})(kX||={});(t=>{function r(e){switch(e){case 1:return 1;case 2:return 2;case 0:default:return 0}}t.to=r})(hB||={});(t=>{function r(e){return{triggerKind:hB.to(e.triggerKind),triggerCharacter:e.triggerCharacter}}t.to=r})(DX||={});(e=>{function r(n){if(n===1)return 1}e.from=r;function t(n){if(n===1)return 1}e.to=t})(vB||={});(t=>{function r(e,n,o){return"icon"in e&&"command"in e?{command:n.toInternal(e.command,o),icon:XB.fromThemeIcon(e.icon)}:{command:n.toInternal(e,o)}}t.from=r})(_X||={});(o=>{let r=new Map([[1,0],[2,1],[3,2],[4,3],[5,4],[6,5],[7,7],[21,6],[8,8],[9,9],[10,12],[11,13],[20,14],[12,15],[19,16],[13,17],[14,28],[0,18],[15,19],[16,20],[17,21],[18,23],[22,10],[23,11],[24,24],[26,26],[25,25]]);function t(i){return r.get(i)??9}o.from=t;let e=new Map([[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[7,7],[6,21],[8,8],[9,9],[12,10],[13,11],[14,20],[15,12],[16,19],[17,13],[28,14],[18,0],[19,15],[20,16],[21,17],[23,18],[10,22],[11,23],[24,24],[25,25],[26,26]]);function n(i){return e.get(i)??9}o.to=n})(yB||={});(t=>{function r(e,n){let o=new up(e.label);return o.insertText=e.insertText,o.kind=yB.to(e.kind),o.tags=e.tags?.map(vB.to),o.detail=e.detail,o.documentation=Di(e.documentation)?mt.to(e.documentation):e.documentation,o.sortText=e.sortText,o.filterText=e.filterText,o.preselect=e.preselect,o.commitCharacters=e.commitCharacters,Pn.isIRange(e.range)?o.range=ve.to(e.range):typeof e.range=="object"&&(o.range={inserting:ve.to(e.range.insert),replacing:ve.to(e.range.replace)}),o.keepWhitespace=typeof e.insertTextRules>"u"?!1:!!(e.insertTextRules&1),typeof e.insertTextRules<"u"&&e.insertTextRules&4?o.insertText=new Bo(e.insertText):(o.insertText=e.insertText,o.textEdit=o.range instanceof Ge?new Ao(o.range,o.insertText):void 0),e.additionalTextEdits&&e.additionalTextEdits.length>0&&(o.additionalTextEdits=e.additionalTextEdits.map(i=>xs.to(i))),o.command=n&&e.command?n.fromInternal(e.command):void 0,o}t.to=r})(MX||={});(e=>{function r(n){if(typeof n.label!="string"&&!Array.isArray(n.label))throw new TypeError("Invalid label");return{label:n.label,documentation:mt.fromStrict(n.documentation)}}e.from=r;function t(n){return{label:n.label,documentation:Di(n.documentation)?mt.to(n.documentation):n.documentation}}e.to=t})(AM||={});(e=>{function r(n){return{label:n.label,documentation:mt.fromStrict(n.documentation),parameters:Array.isArray(n.parameters)?n.parameters.map(AM.from):[],activeParameter:n.activeParameter}}e.from=r;function t(n){return{label:n.label,documentation:Di(n.documentation)?mt.to(n.documentation):n.documentation,parameters:Array.isArray(n.parameters)?n.parameters.map(AM.to):[],activeParameter:n.activeParameter}}e.to=t})(LM||={});(e=>{function r(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(LM.from):[]}}e.from=r;function t(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(LM.to):[]}}e.to=t})(AX||={});(t=>{function r(e,n){let o=new dp(ya.to(n.position),typeof n.label=="string"?n.label:n.label.map(IB.to.bind(void 0,e)),n.kind&&bB.to(n.kind));return o.textEdits=n.textEdits&&n.textEdits.map(xs.to),o.tooltip=Di(n.tooltip)?mt.to(n.tooltip):n.tooltip,o.paddingLeft=n.paddingLeft,o.paddingRight=n.paddingRight,o}t.to=r})(LX||={});(t=>{function r(e,n){let o=new cp(n.label);return o.tooltip=Di(n.tooltip)?mt.to(n.tooltip):n.tooltip,eD.is(n.command)&&(o.command=e.fromInternal(n.command)),n.location&&(o.location=Nl.to(n.location)),o}t.to=r})(IB||={});(e=>{function r(n){return n}e.from=r;function t(n){return n}e.to=t})(bB||={});(e=>{function r(n){return{range:ve.from(n.range),url:n.target,tooltip:n.tooltip}}e.from=r;function t(n){let o;if(n.url)try{o=typeof n.url=="string"?S.parse(n.url,!0):S.revive(n.url)}catch{}let i=new pp(ve.to(n.range),o);return i.tooltip=n.tooltip,i}e.to=t})(OX||={});(e=>{function r(n){let o=new mp(n.label);return n.textEdit&&(o.textEdit=xs.to(n.textEdit)),n.additionalTextEdits&&(o.additionalTextEdits=n.additionalTextEdits.map(i=>xs.to(i))),o}e.to=r;function t(n){return{label:n.label,textEdit:n.textEdit?xs.from(n.textEdit):void 0,additionalTextEdits:n.additionalTextEdits?n.additionalTextEdits.map(o=>xs.from(o)):void 0}}e.from=t})(NX||={});(e=>{function r(n){return new Oc(n[0],n[1],n[2],n[3])}e.to=r;function t(n){return[n.red,n.green,n.blue,n.alpha]}e.from=t})(UX||={});(e=>{function r(n){return{range:ve.from(n.range)}}e.from=r;function t(n){return new lp(ve.to(n.range))}e.to=t})(FX||={});(t=>{function r(e){switch(e){case 2:return 2;case 1:return 1;case 3:case 4:return 3}}t.to=r})(HX||={});(e=>{function r(n){switch(n){case 0:return 0;case 2:return 2;case 3:return 3;case 1:default:return 1}}e.from=r;function t(n){switch(n){case 0:return 0;case 2:return 2;case 3:return 3;case 1:default:return 1}}e.to=t})(WX||={});(e=>{function r(n){if(n===2)return 1;if(n===1)return 0}e.from=r;function t(n){if(n===1)return 2;if(n===0)return 1}e.to=t})(OM||={});(t=>{function r(e){if(typeof e=="object")return e.viewId;switch(e){case 1:return 3;case 10:return 10;case 15:return 15}throw new Error("Unknown 'ProgressLocation'")}t.from=r})(VX||={});(e=>{function r(n){let o={start:n.start+1,end:n.end+1};return n.kind&&(o.kind=NM.from(n.kind)),o}e.from=r;function t(n){let o={start:n.start-1,end:n.end-1};return n.kind&&(o.kind=NM.to(n.kind)),o}e.to=t})(BX||={});(e=>{function r(n){if(n)switch(n){case 1:return aa.Comment;case 2:return aa.Imports;case 3:return aa.Region}}e.from=r;function t(n){if(n)switch(n.value){case aa.Comment.value:return 1;case aa.Imports.value:return 2;case aa.Region.value:return 3}}e.to=t})(NM||={});(t=>{function r(e){if(e)return{pinned:typeof e.preview=="boolean"?!e.preview:void 0,inactive:e.background,preserveFocus:e.preserveFocus,selection:typeof e.selection=="object"?ve.from(e.selection):void 0,override:typeof e.override=="boolean"?lD.id:void 0}}t.from=r})(qX||={});(o=>{function r(i){return i instanceof El?i.toJSON():typeof i=="string"?i:t(i)||e(i)?new El(i.baseUri??i.base,i.pattern).toJSON():i}o.from=r;function t(i){let s=i;return s?S.isUri(s.baseUri)&&typeof s.pattern=="string":!1}function e(i){let s=i;return s?typeof s.base=="string"&&typeof s.pattern=="string":!1}function n(i){return typeof i=="string"?i:new El(S.revive(i.baseUri),i.pattern)}o.to=n})(Ss||={});(t=>{function r(e){if(e){if(Array.isArray(e))return e.map(r);if(typeof e=="string")return e;{let n=e;return{language:n.language,scheme:n.scheme,pattern:Ss.from(n.pattern)??void 0,exclusive:n.exclusive,notebookType:n.notebookType}}}else return}t.from=r})($X||={});(e=>{function r(n){return{start:n.start,end:n.end}}e.from=r;function t(n){return new Ai(n.start,n.end)}e.to=t})(QM||={});(e=>{function r(n){return{timing:typeof n.runStartTime=="number"&&typeof n.runEndTime=="number"?{startTime:n.runStartTime,endTime:n.runEndTime}:void 0,executionOrder:n.executionOrder,success:n.lastRunSuccess}}e.to=r;function t(n){return{lastRunSuccess:n.success,runStartTime:n.timing?.startTime,runEndTime:n.timing?.endTime,executionOrder:n.executionOrder}}e.from=t})(UM||={});(e=>{function r(n){switch(n){case 1:return 1;case 2:default:return 2}}e.from=r;function t(n){switch(n){case 1:return 1;case 2:default:return 2}}e.to=t})(FM||={});(e=>{function r(n){let o={metadata:n.metadata??Object.create(null),cells:[]};for(let i of n.cells)rp.validate(i),o.cells.push(Xh.from(i));return o}e.from=r;function t(n){let o=new wf(n.cells.map(Xh.to));return Ea(n.metadata)||(o.metadata=n.metadata),o}e.to=t})(zX||={});(e=>{function r(n){return{cellKind:FM.from(n.kind),language:n.languageId,mime:n.mime,source:n.value,metadata:n.metadata,internalMetadata:UM.from(n.executionSummary??{}),outputs:n.outputs?n.outputs.map(WM.from):[]}}e.from=r;function t(n){return new rp(FM.to(n.cellKind),n.source,n.language,n.mime,n.outputs?n.outputs.map(WM.to):void 0,n.metadata,n.internalMetadata?UM.to(n.internalMetadata):void 0)}e.to=t})(Xh||={});(e=>{function r(n){return{mime:n.mime,valueBytes:L.wrap(n.data)}}e.from=r;function t(n){return new Tf(n.valueBytes.buffer,n.mime)}e.to=t})(HM||={});(e=>{function r(n){return{outputId:n.id,items:n.items.map(HM.from),metadata:n.metadata}}e.from=r;function t(n){let o=n.items.map(HM.to);return new Rf(o,n.outputId,n.metadata)}e.to=t})(WM||={});(n=>{function r(o){return e(o)?{include:Ss.from(o.include)??void 0,exclude:Ss.from(o.exclude)??void 0}:Ss.from(o)??void 0}n.from=r;function t(o){return e(o)?{include:Ss.to(o.include),exclude:Ss.to(o.exclude)}:Ss.to(o)}n.to=t;function e(o){let i=o;return i?!qt(i.include)&&!qt(i.exclude):!1}})(GX||={});(t=>{function r(e,n,o){let i=typeof e.command=="string"?{title:"",command:e.command}:e.command;return{alignment:e.alignment===1?1:2,command:n.toInternal(i,o),text:e.text,tooltip:e.tooltip,accessibilityInformation:e.accessibilityInformation,priority:e.priority}}t.from=r})(KX||={});(t=>{function r(e,n,o){let i=typeof e.command=="string"?{title:"",command:e.command}:e.command;return{command:n.toInternal(i,o),label:e.label,description:e.description,detail:e.detail,documentation:e.documentation}}t.from=r})(jX||={});(t=>{function r(e){return{transientOutputs:e?.transientOutputs??!1,transientCellMetadata:e?.transientCellMetadata??{},transientDocumentMetadata:e?.transientDocumentMetadata??{},cellContentMetadata:e?.cellContentMetadata??{}}}t.from=r})(QX||={});(e=>{function r(n){return{uri:n.uri,provides:n.provides}}e.from=r;function t(n){return new PS(S.revive(n.uri),n.provides)}e.to=t})(JX||={});(e=>{function r(n){return{message:mt.fromStrict(n.message)||"",type:0,expected:n.expectedOutput,actual:n.actualOutput,contextValue:n.contextValue,location:n.location&&{range:ve.from(n.location.range),uri:n.location.uri},stackTrace:n.stackTrace?.map(o=>({label:o.label,position:o.position&&ya.from(o.position),uri:o.uri&&S.revive(o.uri).toJSON()}))}}e.from=r;function t(n){let o=new wl(typeof n.message=="string"?n.message:mt.to(n.message));return o.actualOutput=n.actual,o.expectedOutput=n.expected,o.contextValue=n.contextValue,o.location=n.location?Nl.to(n.location):void 0,o}e.to=t})(SB||={});(e=>(e.namespace=yM,e.denamespace=IM))(Ul||={});(t=>{function r(e){return{controllerId:e.controllerId,profileId:e.profileId,group:xB.from(e.kind)}}t.from=r})(JM||={});(e=>{let r={3:8,2:4,1:2};function t(n){return r.hasOwnProperty(n)?r[n]:2}e.from=t})(xB||={});(e=>{function r(n){let o=kC(n).controllerId;return{extId:Bi.fromExtHostTestItem(n,o).toString(),label:n.label,uri:S.revive(n.uri),busy:n.busy,tags:n.tags.map(i=>Ul.namespace(o,i.id)),range:Pn.lift(ve.from(n.range)),description:n.description||null,sortText:n.sortText||null,error:n.error&&mt.fromStrict(n.error)||null}}e.from=r;function t(n){return{parent:void 0,error:void 0,id:Bi.fromString(n.extId).localId,label:n.label,uri:S.revive(n.uri),tags:(n.tags||[]).map(o=>{let{tagId:i}=Ul.denamespace(o);return new Uc(i)}),children:{add:()=>{},delete:()=>{},forEach:()=>{},*[Symbol.iterator](){},get:()=>{},replace:()=>{},size:0},range:ve.to(n.range||void 0),canResolveChildren:!1,busy:n.busy,description:n.description||void 0,sortText:n.sortText||void 0}}e.toPlain=t})(tv||={});(e=>{function r(n){return{id:n.id}}e.from=r;function t(n){return new Uc(n.id)}e.to=t})(Ul||={});(e=>{let r=(n,o)=>{let i=n.value;if(!i)return;let s={...tv.toPlain(i.item),parent:o,taskStates:i.tasks.map(a=>({state:a.state,duration:a.duration,messages:a.messages.filter(l=>l.type===0).map(SB.to)})),children:[]};if(n.children)for(let a of n.children.values()){let l=r(a,s);l&&s.children.push(l)}return s};function t(n){let o=new tx;for(let a of n.items)o.insert(Bi.fromString(a.item.extId).path,a);let i=[o.nodes],s=[];for(;i.length;)for(let a of i.pop())a.value?s.push(a):a.children&&i.push(a.children.values());return{completedAt:n.completedAt,results:s.map(a=>r(a)).filter(Zr)}}e.to=t})(YX||={});(s=>{function r(a){return{covered:a.covered,total:a.total}}function t(a){return"line"in a?ya.from(a):ve.from(a)}function e(a){if(a)return"endLineNumber"in a?ve.to(a):ya.to(a)}function n(a){if(a.type===1){let l=[];if(a.branches)for(let c of a.branches)l.push({executed:c.count,location:e(c.location),label:c.label});return new _S(a.count,e(a.location),a.branches?.map(c=>new MS(c.count,e(c.location),c.label)))}else return new AS(a.name,a.count,e(a.location))}s.to=n;function o(a){if(typeof a.executed=="number"&&a.executed<0)throw new Error(`Invalid coverage count ${a.executed}`);return"branches"in a?{count:a.executed,location:t(a.location),type:1,branches:a.branches.length?a.branches.map(l=>({count:l.executed,location:l.location&&t(l.location),label:l.label})):void 0}:{type:0,name:a.name,count:a.executed,location:t(a.location)}}s.fromDetails=o;function i(a,l,c){return nh(c.statementCoverage),nh(c.branchCoverage),nh(c.declarationCoverage),{id:l,uri:c.uri,statement:r(c.statementCoverage),branch:c.branchCoverage&&r(c.branchCoverage),declaration:c.declarationCoverage&&r(c.declarationCoverage),testIds:c instanceof DS&&c.includesTests.length?c.includesTests.map(u=>Bi.fromExtHostTestItem(u,a).toString()):void 0}}s.fromFile=i})(XX||={});(t=>{function r(e){switch(e){case 1:return 1;case 2:return 2}}t.to=r})(ZX||={});(e=>{function r(n){let o=new Cp(Ia.to(n.kind),n.name,n.detail||"",S.revive(n.uri),ve.to(n.range),ve.to(n.selectionRange));return o._sessionId=n._sessionId,o._itemId=n._itemId,o}e.to=r;function t(n,o,i){if(o=o??n._sessionId,i=i??n._itemId,o===void 0||i===void 0)throw new Error("invalid item");return{_sessionId:o,_itemId:i,kind:Ia.from(n.kind),name:n.name,detail:n.detail??"",uri:n.uri,range:ve.from(n.range),selectionRange:ve.from(n.selectionRange),tags:n.tags?.map(sd.from)}}e.from=t})(YM||={});(t=>{function r(e){if(e)return{value:e.value,tooltip:e.tooltip}}t.from=r})(eZ||={});(o=>{function r(i,s,a){let l=s.fileData;return l?new TS(new RS(l.name,S.revive(l.uri),l.id,$l(()=>a(l.id)))):i===Ir.uriList&&s.uriListData?new xp(n(s.uriListData)):new xp(s.asString)}o.to=r;async function t(i,s,a=Se()){let l=await s.asString();if(i===Ir.uriList)return{id:a,asString:l,fileData:void 0,uriListData:e(l)};let c=s.asFile();return{id:a,asString:l,fileData:c?{name:c.name,uri:c.uri,id:c._itemId??c.id}:void 0}}o.from=t;function e(i){return YS.split(i).map(s=>{if(s.startsWith("#"))return s;try{return S.parse(s)}catch{}return s})}function n(i){return YS.create(i.map(s=>typeof s=="string"?s:S.revive(s)))}})(DC||={});(n=>{function r(o,i){let s=o.items.map(([a,l])=>[a,DC.to(a,l,i)]);return new fp(s)}n.toDataTransfer=r;async function t(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await DC.from(s,a)]))}}n.from=t;async function e(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await DC.from(s,a,a.id)]))}}n.fromList=e})(tZ||={});(e=>{function r(n,o){return{kind:"reply",agentId:n.participant??o?.agentId??"",subCommand:n.command??o?.command,message:n.prompt,title:n.label}}e.from=r;function t(n){return{prompt:n.message,label:n.title,participant:n.agentId,command:n.subCommand}}e.to=t})(CB||={});(e=>{function r(n){switch(n){case 0:return 3;case 1:return 1;case 2:return 2}}e.to=r;function t(n){switch(n){case 3:return 0;case 1:return 1;case 2:return 2}return 1}e.from=t})(Zh||={});(e=>{function r(n){let o=n.content.map(a=>{if(a.type==="text")return new Vn(a.value,a.audience);if(a.type==="tool_result"){let l=Qo(a.value.map(c=>c.type==="text"?new Vn(c.value,c.audience):c.type==="data"?new qo(c.data.buffer,c.mimeType):c.type==="prompt_tsx"?new fs(c.value):void 0));return new Wc(a.toolCallId,l,a.isError)}else{if(a.type==="image_url")return new qo(a.value.data.buffer,a.value.mimeType);if(a.type==="data")return new qo(a.data.buffer,a.mimeType);if(a.type==="tool_use")return new Vc(a.toolCallId,a.name,a.parameters)}}).filter(a=>a!==void 0),i=Zh.to(n.role);return new $S(i,o,n.name)}e.to=r;function t(n){let o=Zh.from(n.role),i=n.name,s=n.content;typeof s=="string"&&(s=[new Vn(s)]);let a=s.map(l=>{if(l instanceof Wc)return{type:"tool_result",toolCallId:l.callId,value:Qo(l.content.map(c=>c instanceof Vn?{type:"text",value:c.value,audience:c.audience}:c instanceof fs?{type:"prompt_tsx",value:c.value}:c instanceof qo?{type:"data",mimeType:c.mimeType,data:L.wrap(c.data),audience:c.audience}:void 0)),isError:l.isError};if(l instanceof qo)return EB(l)?{type:"image_url",value:{mimeType:l.mimeType,data:L.wrap(l.data)}}:{type:"data",mimeType:l.mimeType,data:L.wrap(l.data),audience:l.audience};if(l instanceof Vc)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof Vn)return{type:"text",value:l.value};if(typeof l!="string")throw new Error("Unexpected chat message content type");return{type:"text",value:l}});return{role:o,name:i,content:a}}e.from=t})(nZ||={});(e=>{function r(n){let o=n.content.map(a=>{if(a.type==="text")return new Vn(a.value,a.audience);if(a.type==="tool_result"){let l=a.value.map(c=>c.type==="text"?new Vn(c.value,c.audience):c.type==="data"?new qo(c.data.buffer,c.mimeType):new fs(c.value));return new Wc(a.toolCallId,l,a.isError)}else return a.type==="image_url"?new qo(a.value.data.buffer,a.value.mimeType):a.type==="data"?new qo(a.data.buffer,a.mimeType):a.type==="thinking"?new Ep(a.value,a.id,a.metadata):new Vc(a.toolCallId,a.name,a.parameters)}),i=Zh.to(n.role);return new zS(i,o,n.name)}e.to=r;function t(n){let o=Zh.from(n.role),i=n.name,s=n.content;typeof s=="string"&&(s=[new Vn(s)]);let a=s.map(l=>{if(l instanceof Wc)return{type:"tool_result",toolCallId:l.callId,value:Qo(l.content.map(c=>c instanceof Vn?{type:"text",value:c.value,audience:c.audience}:c instanceof fs?{type:"prompt_tsx",value:c.value}:c instanceof qo?{type:"data",mimeType:c.mimeType,data:L.wrap(c.data),audience:c.audience}:void 0)),isError:l.isError};if(l instanceof qo)return EB(l)?{type:"image_url",value:{mimeType:l.mimeType,data:L.wrap(l.data)}}:{type:"data",mimeType:l.mimeType,data:L.wrap(l.data),audience:l.audience};if(l instanceof Vc)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof Vn)return{type:"text",value:l.value};if(l instanceof Ep)return{type:"thinking",value:l.value,id:l.id,metadata:l.metadata};if(typeof l!="string")throw new Error("Unexpected chat message content type llm 2");return{type:"text",value:l}});return{role:o,name:i,content:a}}e.from=t})(oZ||={});(e=>{function r(n){return{kind:"markdownContent",content:mt.from(n.value)}}e.from=r;function t(n){return new Nf(mt.to(n.content))}e.to=t})(VM||={});(e=>{function r(n){return{kind:"codeblockUri",uri:n.value,isEdit:n.isEdit,undoStopId:n.undoStopId}}e.from=r;function t(n){return new Qf(S.revive(n.uri),n.isEdit,n.undoStopId)}e.to=t})(wB||={});(e=>{function r(n){return{kind:"markdownVuln",content:mt.from(n.value),vulnerabilities:n.vulnerabilities}}e.from=r;function t(n){return new Uf(mt.to(n.content),n.vulnerabilities)}e.to=t})(TB||={});(t=>{function r(e){return{kind:"confirmation",title:e.title,message:mt.from(e.message),data:e.data,buttons:e.buttons}}t.from=r})(RB||={});(o=>{function r(i){switch(i){case 1:return"text";case 2:return"singleSelect";case 3:return"multiSelect";default:return"text"}}function t(i){switch(i){case"text":return 1;case"singleSelect":return 2;case"multiSelect":return 3;default:return 1}}function e(i){return{kind:"questionCarousel",questions:i.questions.map(s=>({id:s.id,type:r(s.type),title:s.title,message:s.message?mt.from(s.message):void 0,options:s.options?.map(a=>({id:a.id,label:a.label,value:String(a.value)})),defaultValue:s.defaultValue,allowFreeformInput:s.allowFreeformInput})),allowSkip:i.allowSkip}}o.from=e;function n(i){let s=i.questions.map(a=>new WS(a.id,t(a.type),a.title,{message:a.message?typeof a.message=="string"?new _o(a.message):mt.to(a.message):void 0,options:a.options?.map(l=>({id:l.id,label:l.label,value:l.value})),defaultValue:a.defaultValue,allowFreeformInput:a.allowFreeformInput}));return new Yf(s,i.allowSkip)}o.to=n})(PB||={});(e=>{function r(n){let{value:o,baseUri:i}=n;function s(a,l){return a.map(c=>{let u=S.joinPath(l,c.name);return{label:c.name,uri:u,children:c.children&&s(c.children,u)}})}return{kind:"treeData",treeData:{label:An(i),uri:i,children:s(o,i)}}}e.from=r;function t(n){let o=Qt(n.treeData);function i(l){return l.map(c=>({name:c.label,children:c.children&&i(c.children)}))}let s=o.uri,a=o.children?i(o.children):[];return new Ff(a,s)}e.to=t})(BM||={});(e=>{function r(n){return{kind:"multiDiffData",multiDiffData:{title:n.title,resources:n.value.map(o=>({originalUri:o.originalUri,modifiedUri:o.modifiedUri,goToFileUri:o.goToFileUri,added:o.added,removed:o.removed}))},readOnly:n.readOnly}}e.from=r;function t(n){let o=n.multiDiffData.resources.map(i=>({originalUri:i.originalUri?S.revive(i.originalUri):void 0,modifiedUri:i.modifiedUri?S.revive(i.modifiedUri):void 0,goToFileUri:i.goToFileUri?S.revive(i.goToFileUri):void 0,added:i.added,removed:i.removed}));return new Hf(o,n.multiDiffData.title,n.readOnly)}e.to=t})(kB||={});(e=>{function r(n){let o=s=>S.isUri(s),i=s=>"name"in s;return{kind:"inlineReference",name:n.title,inlineReference:o(n.value)?n.value:i(n.value)?_M.from(n.value):va.from(n.value)}}e.from=r;function t(n){let o=Qt(n);return new Wf(S.isUri(o.inlineReference)?o.inlineReference:"location"in o.inlineReference?_M.to(o.inlineReference):va.to(o.inlineReference),n.name)}e.to=t})(qM||={});(e=>{function r(n){return{kind:"progressMessage",content:mt.from(n.value)}}e.from=r;function t(n){return new Vf(n.content.value)}e.to=t})(DB||={});(e=>{function r(n){return{kind:"thinking",value:n.value,id:n.id,metadata:n.metadata}}e.from=r;function t(n){return new Bf(n.value??"",n.id,n.metadata)}e.to=t})(_B||={});(e=>{function r(n){return{kind:"hook",hookType:n.hookType,stopReason:n.stopReason,systemMessage:n.systemMessage,metadata:n.metadata}}e.from=r;function t(n){return new qf(n.hookType,n.stopReason,n.systemMessage,n.metadata)}e.to=t})(MB||={});(t=>{function r(e){return{kind:"voiceProgress",id:e.id,value:e.value}}t.from=r})(AB||={});(e=>{function r(n){return{kind:"autoModeResolution",resolved:n.resolvedModel}}e.from=r;function t(n){return new $f(n.resolved)}e.to=t})(LB||={});(e=>{function r(n){return{kind:"warning",content:mt.from(n.value)}}e.from=r;function t(n){return new zf(n.content.value)}e.to=t})(OB||={});(e=>{function r(n){return{kind:"info",content:mt.from(n.value)}}e.from=r;function t(n){return new Gf(n.content.value)}e.to=t})(NB||={});(t=>{function r(e){return{kind:"extensions",extensions:e.extensions}}t.from=r})(UB||={});(t=>{function r(e,n,o){let i;if(e.command)i=n.toInternal(e.command,o);else{if(!e.uri)throw new Error("Pull request part must have a command if URI is provided");i={title:"Open Pull Request",id:"vscode.open",arguments:[e.uri]}}return{kind:"pullRequest",author:e.author,title:e.title,description:e.description,uri:e.uri,linkTag:e.linkTag,command:i}}t.from=r})(FB||={});(e=>{function r(n){return{kind:"move",uri:n.uri,range:ve.from(n.range)}}e.from=r;function t(n){return new Jf(S.revive(n.uri),ve.to(n.range))}e.to=t})(HB||={});(l=>{function r(c){let u,p;c.toolSpecificData&&t(c.toolSpecificData)?(u=e(c.toolSpecificData,c.isError),p=void 0):p=c.toolSpecificData?n(c.toolSpecificData):void 0;let m=c.presentation==="hidden"?"hidden":c.presentation==="hiddenAfterComplete"?"hiddenAfterComplete":void 0;return c.enablePartialUpdate?{kind:"externalToolInvocationUpdate",toolCallId:c.toolCallId,toolName:c.toolName,isComplete:!!c.isComplete,invocationMessage:c.invocationMessage?mt.from(c.invocationMessage):void 0,pastTenseMessage:c.pastTenseMessage?mt.from(c.pastTenseMessage):void 0,toolSpecificData:p,subagentInvocationId:c.subAgentInvocationId,resultDetails:u}:{kind:"toolInvocationSerialized",toolCallId:c.toolCallId,toolId:c.toolName,invocationMessage:c.invocationMessage?mt.from(c.invocationMessage):c.toolName,originMessage:c.originMessage?mt.from(c.originMessage):void 0,pastTenseMessage:c.pastTenseMessage?mt.from(c.pastTenseMessage):void 0,isConfirmed:c.isConfirmed,isComplete:!0,source:_h.External,toolSpecificData:p,resultDetails:u,presentation:m,subAgentInvocationId:c.subAgentInvocationId}}l.from=r;function t(c){return c!==null&&typeof c=="object"&&"input"in c&&typeof c.input=="string"&&"output"in c&&Array.isArray(c.output)}function e(c,u){return{input:c.input,output:c.output.map(p=>{let m=p.mimeType.startsWith("text/");return{type:"embed",mimeType:p.mimeType,value:m?L.wrap(p.data).toString():To(L.wrap(p.data)),isText:m}}),isError:u??!1}}function n(c){return"command"in c&&"language"in c?{kind:"terminal",command:c.command,language:c.language}:"commandLine"in c&&"language"in c?{kind:"terminal",presentationOverrides:c.presentationOverrides&&typeof c.presentationOverrides.commandLine=="string"?{commandLine:c.presentationOverrides.commandLine,language:c.presentationOverrides.language}:void 0,commandLine:c.commandLine,language:c.language,terminalCommandOutput:typeof c.output?.text=="string"?{text:c.output.text}:void 0,terminalCommandState:c.state?{exitCode:c.state.exitCode,duration:c.state.duration}:void 0}:"todoList"in c&&Array.isArray(c.todoList)?{kind:"todoList",todoList:c.todoList.map(u=>({id:String(u.id),title:u.title,status:o(u.status)}))}:"input"in c&&"output"in c&&!Array.isArray(c.output)?{kind:"simpleToolInvocation",input:typeof c.input=="string"?c.input:"",output:typeof c.output=="string"?c.output:""}:c&&"values"in c&&Array.isArray(c.values)?{kind:"resources",values:c.values.map(u=>u instanceof Mo?va.from(u):S.revive(u))}:c instanceof OS?{kind:"subagent",description:c.description,agentName:c.agentName,prompt:c.prompt,result:c.result,modelName:c.modelName}:c}function o(c){switch(c){case 1:return"not-started";case 2:return"in-progress";case 3:return"completed";default:return"not-started"}}function i(c){switch(c){case"not-started":return 1;case"in-progress":return 2;case"completed":return 3;default:return 1}}function s(c){let u=new Zf(c.toolId||c.toolName,c.toolCallId,c.errorMessage);return c.invocationMessage&&(u.invocationMessage=c.invocationMessage),c.originMessage&&(u.originMessage=c.originMessage),c.pastTenseMessage&&(u.pastTenseMessage=c.pastTenseMessage),c.isConfirmed!==void 0&&(u.isConfirmed=c.isConfirmed),c.isComplete!==void 0&&(u.isComplete=c.isComplete),c.toolSpecificData&&(u.toolSpecificData=a(c.toolSpecificData)),u.subAgentInvocationId=c.subAgentInvocationId,u.subAgentName=c.subAgentName,u}l.to=s;function a(c){if(c.kind==="terminal")if(c.commandLine){let u={commandLine:c.commandLine,language:c.language};return c.terminalCommandOutput&&(u.output={text:c.terminalCommandOutput.text,truncated:c.terminalCommandOutput.truncated,lineCount:c.terminalCommandOutput.lineCount}),c.terminalCommandState&&(u.state={exitCode:c.terminalCommandState.exitCode,duration:c.terminalCommandState.duration}),u}else return{command:c.command,language:c.language};else{if(c.kind==="terminal2")return{commandLine:c.commandLine,language:c.language};if(c.kind==="todoList")return{todoList:c.todoList.map((u,p)=>{let m=Number(u.id);return{id:Number.isFinite(m)?m:p,title:u.title,status:i(u.status)}})}}return c}})(WB||={});(t=>{function r(e){return{kind:"progressTask",content:mt.from(e.value)}}t.from=r})(rZ||={});(t=>{function r(e){return{kind:"progressTaskResult",content:typeof e=="string"?mt.from(e):void 0}}t.from=r})(iZ||={});(e=>{function r(n,o,i){return{kind:"command",command:o.toInternal(n.value,i)??{command:n.value.command,title:n.value.title}}}e.from=r;function t(n,o){return new Kf(o.fromInternal(n.command)??{command:n.command.id,title:n.command.title})}e.to=t})($M||={});(e=>{function r(n){return{kind:"textEdit",uri:n.uri,edits:n.edits.map(o=>xs.from(o)),done:n.isDone,...n.autoTier!==void 0?{autoTier:n.autoTier}:{}}}e.from=r;function t(n){let o=new Xf(S.revive(n.uri),n.edits.map(i=>xs.to(i)));return o.isDone=n.done,o.autoTier=n.autoTier,o}e.to=t})(VB||={});(t=>{function r(e){return e.newCellMetadata?{editType:3,index:e.range.start,metadata:e.newCellMetadata}:e.newNotebookMetadata?{editType:5,metadata:e.newNotebookMetadata}:{editType:1,index:e.range.start,count:e.range.end-e.range.start,cells:e.newCells.map(Xh.from)}}t.from=r})(BB||={});(t=>{function r(e){return{kind:"notebookEdit",uri:e.uri,edits:e.edits.map(BB.from),done:e.isDone,...e.autoTier!==void 0?{autoTier:e.autoTier}:{}}}t.from=r})(qB||={});(t=>{function r(e){return{kind:"workspaceEdit",edits:e.edits.map(n=>({oldResource:n.oldResource,newResource:n.newResource}))}}t.from=r})($B||={});(e=>{function r(n){let o=an.isThemeIcon(n.iconPath)?n.iconPath:S.isUri(n.iconPath)?{light:S.revive(n.iconPath)}:n.iconPath&&"light"in n.iconPath&&"dark"in n.iconPath&&S.isUri(n.iconPath.light)&&S.isUri(n.iconPath.dark)?{light:S.revive(n.iconPath.light),dark:S.revive(n.iconPath.dark)}:void 0;return typeof n.value=="object"&&"variableName"in n.value?{kind:"reference",reference:{variableName:n.value.variableName,value:S.isUri(n.value.value)||!n.value.value?n.value.value:va.from(n.value.value)},iconPath:o,options:n.options}:{kind:"reference",reference:S.isUri(n.value)||typeof n.value=="string"?n.value:va.from(n.value),iconPath:o,options:n.options}}e.from=r;function t(n){let o=Qt(n),i=s=>S.isUri(s)?s:va.to(s);return new jf(typeof o.reference=="string"?o.reference:"variableName"in o.reference?{variableName:o.reference.variableName,value:o.reference.value&&i(o.reference.value)}:i(o.reference))}e.to=t})(zM||={});(t=>{function r(e){return{kind:"codeCitation",value:e.value,license:e.license,snippet:e.snippet}}t.from=r})(zB||={});(n=>{function r(o,i,s){return o instanceof Nf?VM.from(o):o instanceof Wf?qM.from(o):o instanceof jf?zM.from(o):o instanceof Vf?DB.from(o):o instanceof Bf?_B.from(o):o instanceof qf?MB.from(o):o instanceof NS?AB.from(o):o instanceof Ff?BM.from(o):o instanceof Hf?kB.from(o):o instanceof Kf?$M.from(o,i,s):o instanceof Xf?VB.from(o):o instanceof VS?qB.from(o):o instanceof Uf?TB.from(o):o instanceof Qf?wB.from(o):o instanceof zf?OB.from(o):o instanceof Gf?NB.from(o):o instanceof LS?RB.from(o):o instanceof Yf?PB.from(o):o instanceof US?zB.from(o):o instanceof Jf?HB.from(o):o instanceof FS?UB.from(o):o instanceof HS?FB.from(o,i,s):o instanceof Zf?WB.from(o):o instanceof BS?$B.from(o):o instanceof $f?LB.from(o):{kind:"markdownContent",content:mt.from("")}}n.from=r;function t(o,i){switch(o.kind){case"reference":return zM.to(o);case"markdownContent":case"inlineReference":case"progressMessage":case"treeData":case"command":return e(o,i)}}n.to=t;function e(o,i){switch(o.kind){case"markdownContent":return VM.to(o);case"inlineReference":return qM.to(o);case"progressMessage":return;case"treeData":return BM.to(o);case"command":return $M.to(o,i)}}n.toContent=e})(sZ||={});(t=>{function r(e,n,o,i,s,a,l,c){let u=[],p=[];for(let h of e.variables.variables)h.kind==="tool"?u.push(h):h.kind==="toolset"?u.push(...h.value):p.push(h);let m=Pl.parseLocalSessionId(e.sessionResource)??e.sessionResource.toString(),f={id:e.requestId,prompt:e.message,command:e.command,attempt:e.attempt??0,enableCommandDetection:e.enableCommandDetection??!0,isParticipantDetected:e.isParticipantDetected??!1,isVoiceModeInput:e.isVoiceModeInput,sessionId:m,sessionResource:e.sessionResource,references:p.flatMap(h=>KB.toReferences(h,s,c)),toolReferences:u.map(MC.to),location:GB.to(e.location),acceptedConfirmationData:e.acceptedConfirmationData,rejectedConfirmationData:e.rejectedConfirmationData,location2:n,toolInvocationToken:Object.freeze({sessionResource:e.sessionResource,requestId:e.requestId,workingDirectory:S.revive(e.workingDirectory)}),tools:a,model:o,modelConfiguration:i,editedFileEvents:e.editedFileEvents,modeInstructions:e.modeInstructions?.content,modeInstructions2:jB.to(e.modeInstructions),permissionLevel:e.permissionLevel,subAgentInvocationId:e.subAgentInvocationId,subAgentName:e.subAgentName,parentRequestId:e.parentRequestId,hasHooksEnabled:e.hasHooksEnabled??!1,hooks:e.hooks?ZB.to(e.hooks):void 0,isSystemInitiated:e.isSystemInitiated};return Wx(l,"chatParticipantPrivate")||(delete f.id,delete f.attempt,delete f.enableCommandDetection,delete f.isParticipantDetected,delete f.isVoiceModeInput,delete f.location,delete f.location2,delete f.editedFileEvents,delete f.sessionId,delete f.subAgentInvocationId,delete f.subAgentName,delete f.parentRequestId,delete f.hasHooksEnabled,delete f.hooks),Wx(l,"chatParticipantAdditions")||(delete f.acceptedConfirmationData,delete f.rejectedConfirmationData,delete f.tools),f}t.to=r})(aZ||={});(e=>{function r(n){switch(n){case"notebook":return 3;case"terminal":return 2;case"panel":return 1;case"editor":return 4}}e.to=r;function t(n){switch(n){case 3:return"notebook";case 2:return"terminal";case 1:return"panel";case 4:return"editor"}}e.from=t})(GB||={});(e=>{function r(n){return n.id}e.from=r;function t(n){switch(n){case"agent":return gs.Agent;case"skill":return gs.Skill;case"instructions":return gs.Instructions;case"prompt":return gs.Prompt;case"hook":return gs.Hook;case"plugins":return gs.Plugins;default:return new gs(n)}}e.to=t})(lZ||={});(e=>{function r(n,o,i){let s=t(n,o,i);if(!s)return[];let a=gx(n)?n:void 0;if(!a)return[s];let l=C4(a.imageData);return l?[s,{id:`${n.id}-screenshot`,name:`${n.name} screenshot`,value:new eh(a.imageMimeType??"image/png",()=>Promise.resolve(l))}]:[s]}e.toReferences=r;function t(n,o,i){let s=n.value;if(!s){let l;try{l=JSON.stringify(n)}catch{l=`kind=${n.kind}, id=${n.id}, name=${n.name}`}i.error(`[ChatPromptReference] Ignoring invalid reference in variable: ${l}`);return}if(_a(s))s=S.revive(s);else if(s&&typeof s=="object"&&"uri"in s&&"range"in s&&_a(s.uri))s=va.to(Qt(s));else if(pD(n)){let l=n.references?.[0]?.reference;s=new eh(n.mimeType??"image/png",()=>Promise.resolve(new Uint8Array(Object.values(n.value))),l&&S.isUri(l)?l:void 0,n.isPasted,n.isURL)}else if(n.kind==="diagnostic"){let l=n.filterSeverity&&_C.to(n.filterSeverity),c=n.filterUri&&S.revive(n.filterUri).toString();s=new qS(o.map(([u,p])=>n.filterUri&&u.toString()!==c?[u,[]]:[u,p.filter(m=>!(l&&m.severity>l||n.filterRange&&!Pn.areIntersectingOrTouching(n.filterRange,ve.from(m.range))))]).filter(([,u])=>u.length>0))}let a;return(FH(n)||HH(n))&&n.toolReferences&&(a=XM.to(n.toolReferences)),{id:n.id,name:n.name,range:n.range&&[n.range.start,n.range.endExclusive],toolReferences:a,value:s,modelDescription:n.modelDescription}}e.to=t})(KB||={});(t=>{function r(e){if(e.value)throw new Error("Invalid tool reference");return{name:e.id,range:e.range&&[e.range.start,e.range.endExclusive]}}t.to=r})(MC||={});(t=>{function r(e){let n=[];for(let o of e)if(o.kind==="tool")n.push(MC.to(o));else if(o.kind==="toolset")n.push(...o.value.map(MC.to));else throw new Error("Invalid tool reference in prompt variables");return n}t.to=r})(XM||={});(e=>{function r(n){if(n)return{uri:S.revive(n.uri),name:n.name,content:n.content,toolReferences:XM.to(Qt(n.toolReferences)),allowedSubagents:n.allowedSubagents,metadata:n.metadata,isBuiltin:n.isBuiltin}}e.to=r;function t(n){if(n)return{uri:n.uri,name:n.name,content:n.content,toolReferences:n.toolReferences?.map(o=>({kind:"tool",id:o.name,name:o.name,value:void 0,range:o.range?{start:o.range[0],endExclusive:o.range[1]}:void 0}))??[],allowedSubagents:n.allowedSubagents,metadata:n.metadata,isBuiltin:n.isBuiltin}}e.from=t})(jB||={});(t=>{function r(e,n,o){return{id:e.id,label:e.label,fullName:e.fullName,icon:e.icon?.id,value:e.values[0].value,insertText:e.insertText,detail:e.detail,documentation:e.documentation,command:n.toInternal(e.command,o)}}t.from=r})(cZ||={});(n=>{function r(o){return{errorDetails:o.errorDetails,metadata:e(o.metadata),nextQuestion:o.nextQuestion,details:o.details}}n.to=r;function t(o){return{errorDetails:o.errorDetails,metadata:o.metadata,nextQuestion:o.nextQuestion,details:o.details}}n.from=t;function e(o){return to(o,i=>{if(i.$mid===20)return new th(to(i.content,e));if(i.$mid===21)return new Vn(i.value);if(i.$mid===22)return new Ep(i.value,i.id,i.metadata);if(i.$mid===23)return new fs(i.value);if(i.$mid===24){let s;if(i.data&&typeof i.data=="object"&&i.data.type==="Buffer"&&Array.isArray(i.data.data))s=new Uint8Array(i.data.data);else if(typeof i.data=="string")try{s=gr(i.data).buffer}catch{s=new Uint8Array(0)}else s=new Uint8Array(0);return new qo(s,i.mimeType,i.audience)}})}})(QB||={});(t=>{function r(e,n,o){if(n.action.kind==="vote")return;let i=QB.to(e);if(n.action.kind==="command"){let s=n.action.commandButton.command;return{action:{kind:"command",commandButton:{command:o.fromInternal(s)??{command:s.id,title:s.title}}},result:i}}else return n.action.kind==="followUp"?{action:{kind:"followUp",followup:CB.to(n.action.followup)},result:i}:n.action.kind==="inlineChat"?{action:{kind:"editor",accepted:n.action.action==="accepted"},result:i}:n.action.kind==="chatEditingSessionAction"?{action:{kind:"chatEditingSessionAction",outcome:new Map([["accepted",1],["rejected",2],["saved",3]]).get(n.action.outcome)??2,uri:S.revive(n.action.uri),hasRemainingEdits:n.action.hasRemainingEdits},result:i}:n.action.kind==="chatEditingHunkAction"?{action:{kind:"chatEditingHunkAction",outcome:new Map([["accepted",1],["rejected",2]]).get(n.action.outcome)??2,uri:S.revive(n.action.uri),hasRemainingEdits:n.action.hasRemainingEdits,lineCount:n.action.lineCount,linesAdded:n.action.linesAdded,linesRemoved:n.action.linesRemoved},result:i}:{action:n.action,result:i}}t.to=r})(dZ||={});(t=>{function r(e,n,o){return"terminalCommand"in e?{terminalCommand:e.terminalCommand,shouldExecute:e.shouldExecute}:"uri"in e?{uri:e.uri}:n.toInternal(e,o)}t.from=r})(uZ||={});(t=>{function r(e){return{...e,documentation:mt.fromStrict(e.documentation)}}t.from=r})(GM||={});(t=>{function r(e,n){return Array.isArray(e)?{items:e.map(o=>GM.from(o))}:{items:e.items.map(o=>GM.from(o)),resourceOptions:e.resourceOptions?JB.from(e.resourceOptions,n):void 0}}t.from=r})(pZ||={});(t=>{function r(e,n){return{...e,pathSeparator:n,cwd:e.cwd,globPattern:Ss.from(e.globPattern)??void 0}}t.from=r})(JB||={});(t=>{function r(e){return{kind:YB.to(e.kind),acceptedLength:e.acceptedLength}}t.to=r})(mZ||={});(t=>{function r(e){switch(e){case 0:return 1;case 1:return 2;case 2:return 3;default:return 0}}t.to=r})(YB||={});(t=>{function r(e,n){if(e.kind===2){let o=e.supersededBy?n(e.supersededBy):void 0;return{kind:2,supersededBy:o,userTypingDisagreed:e.userTypingDisagreed}}else if(e.kind===0)return{kind:0};return{kind:1}}t.to=r})(gZ||={});(e=>{function r(n){return n===2?2:1}e.from=r;function t(n){return n===2?2:1}e.to=t})(fZ||={});(t=>{function r(e,n){return{id:n,label:e.label,description:e.description,canEdit:e.canEdit,collapsibleState:e.collapsibleState||0,contextValue:e.contextValue}}t.from=r})(hZ||={});(t=>{function r(e){return e.type==="mcp"?new KS(e.label,e.serverLabel||e.label,e.instructions):e.type==="extension"?new GS(e.extensionId.value,e.label):void 0}t.to=r})(vZ||={});(e=>{function r(n){let o=new th(n.content.map(i=>i.kind==="text"?new Vn(i.value,i.audience):i.kind==="data"?new qo(i.value.data.buffer,i.value.mimeType,i.audience):new fs(i.value)));return n.toolMetadata!==void 0&&(o.toolMetadata=n.toolMetadata),n.toolResultError&&(o.hasError=!!n.toolResultError),o}e.to=r;function t(n,o){n.toolResultMessage&&o_(o,"chatParticipantPrivate");let i=c=>{c.audience&&o_(o,"languageModelToolResultAudience")},s=!1,a;Array.isArray(n.toolResultDetails)?a=n.toolResultDetails?.map(c=>S.isUri(c)?c:va.from(c)):n.toolResultDetails2&&(a={output:{type:"data",mimeType:n.toolResultDetails2.mime,value:L.wrap(n.toolResultDetails2.value)}},s=!0);let l={content:n.content.map(c=>{if(c instanceof Vn)return i(c),{kind:"text",value:c.value,audience:c.audience};if(c instanceof fs)return{kind:"promptTsx",value:c.value};if(c instanceof qo)return i(c),s=!0,{kind:"data",value:{mimeType:c.mimeType,data:L.wrap(c.data)},audience:c.audience};throw new Error("Unknown LanguageModelToolResult part type")}),toolResultMessage:mt.fromStrict(n.toolResultMessage),toolResultDetails:a,toolMetadata:n.toolMetadata,toolResultError:n.hasError};return s?new tm(l):l}e.from=t})(yZ||={});(n=>{function r(o){return o}n.fromThemeIcon=r;function t(o){if(o){if(an.isThemeIcon(o))return o;if(S.isUri(o))return o;if(typeof o=="string")return S.file(o);if(typeof o=="object"&&o!==null&&"dark"in o){let i=typeof o.dark=="string"?S.file(o.dark):o.dark,s=typeof o.light=="string"?S.file(o.light):o.light;return i?{dark:i,light:s??i}:void 0}else return}else return}n.from=t;function e(o){if(o){if(an.isThemeIcon(o))return o;if(_a(o))return S.revive(o);{let i=o;return{light:S.revive(i.light),dark:S.revive(i.dark)}}}else return}n.to=e})(XB||={});(e=>{function r(n){return{query:n.query,kind:t(n.kind),settings:n.settings}}e.fromSettingsSearchResult=r;function t(n){switch(n){case 1:return 1;case 2:return 2;case 3:return 3;default:throw new Error("Unknown AiSettingsSearchResultKind")}}})(IZ||={});(n=>{function r(o){return!!o.uri}function t(o){return Kh.toSerialized(r(o)?{type:2,uri:o.uri,headers:Object.entries(o.headers),authentication:o.authentication?{providerId:o.authentication.providerId,scopes:o.authentication.scopes}:void 0}:{type:1,cwd:o.cwd?.fsPath,args:o.args,command:o.command,env:o.env,envFile:void 0,sandbox:void 0})}n.from=t;function e(o){let i=Kh.fromSerialized(o.launch);if(i.type===2)return new QS(o.label,i.uri,Object.fromEntries(i.headers),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);{let s=new jS(o.label,i.command,[...i.args],Object.fromEntries(Object.entries(i.env).map(([a,l])=>[a,l===null?null:String(l)])),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);return i.cwd&&(s.cwd=S.file(i.cwd)),s}}n.to=e})(bZ||={});(t=>{function r(e){switch(e){case 0:return 0;case 1:return 1;case 2:return 2;default:throw new Error("Unknown SourceControlInputBoxValidationType")}}t.from=r})(SZ||={});(t=>{function r(e){let n={};for(let[o,i]of Object.entries(e)){if(!i||i.length===0)continue;let s=[];for(let a of i){let l=e7.to(a);l&&s.push(l)}s.length>0&&(n[o]=s)}return n}t.to=r})(ZB||={});(t=>{function r(e){let n=_5(e,lr);if(n)return{command:n,cwd:e.cwd,env:e.env,timeout:e.timeout}}t.to=r})(e7||={});(e=>{function r(n){if(n!==void 0)switch(n){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return}}function t(n){let o=n.timing,i=o?.created??o?.startTime??0,s=o?.lastRequestStarted??o?.startTime,a=o?.lastRequestEnded??o?.endTime;return{resource:n.resource,label:n.label,description:n.description?mt.from(n.description):void 0,badge:n.badge?mt.from(n.badge):void 0,status:r(n.status),archived:n.archived,tooltip:mt.fromStrict(n.tooltip),timing:{created:i,lastRequestStarted:s,lastRequestEnded:a},changes:n.changes instanceof Array?n.changes:void 0,metadata:n.metadata,legacyResource:n.legacyResource}}e.from=t})(xZ||={})});var n7,eA,Xat,o7=y(()=>{PC();n7=class r{static{this._n=0}static mixin(t){return t._id=r._n++,t}},eA={MainThreadAuthentication:A("MainThreadAuthentication"),MainThreadBulkEdits:A("MainThreadBulkEdits"),MainThreadLanguageModels:A("MainThreadLanguageModels"),MainThreadEmbeddings:A("MainThreadEmbeddings"),MainThreadChatAgents2:A("MainThreadChatAgents2"),MainThreadCodeMapper:A("MainThreadCodeMapper"),MainThreadLanguageModelTools:A("MainThreadChatSkills"),MainThreadGitExtension:A("MainThreadGitExtension"),MainThreadClipboard:A("MainThreadClipboard"),MainThreadCommands:A("MainThreadCommands"),MainThreadComments:A("MainThreadComments"),MainThreadConfiguration:A("MainThreadConfiguration"),MainThreadConsole:A("MainThreadConsole"),MainThreadDebugService:A("MainThreadDebugService"),MainThreadDecorations:A("MainThreadDecorations"),MainThreadDiagnostics:A("MainThreadDiagnostics"),MainThreadDialogs:A("MainThreadDiaglogs"),MainThreadDocuments:A("MainThreadDocuments"),MainThreadDocumentContentProviders:A("MainThreadDocumentContentProviders"),MainThreadTextEditors:A("MainThreadTextEditors"),MainThreadEditorInsets:A("MainThreadEditorInsets"),MainThreadEditorTabs:A("MainThreadEditorTabs"),MainThreadErrors:A("MainThreadErrors"),MainThreadTreeViews:A("MainThreadTreeViews"),MainThreadDownloadService:A("MainThreadDownloadService"),MainThreadLanguageFeatures:A("MainThreadLanguageFeatures"),MainThreadLanguages:A("MainThreadLanguages"),MainThreadLogger:A("MainThreadLogger"),MainThreadMessageService:A("MainThreadMessageService"),MainThreadOutputService:A("MainThreadOutputService"),MainThreadProgress:A("MainThreadProgress"),MainThreadQuickDiff:A("MainThreadQuickDiff"),MainThreadAgentEditorComments:A("MainThreadAgentEditorComments"),MainThreadDocumentDiff:A("MainThreadDocumentDiff"),MainThreadQuickOpen:A("MainThreadQuickOpen"),MainThreadStatusBar:A("MainThreadStatusBar"),MainThreadSecretState:A("MainThreadSecretState"),MainThreadStorage:A("MainThreadStorage"),MainThreadSpeech:A("MainThreadSpeechProvider"),MainThreadTelemetry:A("MainThreadTelemetry"),MainThreadMeteredConnection:A("MainThreadMeteredConnection"),MainThreadTerminalService:A("MainThreadTerminalService"),MainThreadTerminalShellIntegration:A("MainThreadTerminalShellIntegration"),MainThreadWebviews:A("MainThreadWebviews"),MainThreadWebviewPanels:A("MainThreadWebviewPanels"),MainThreadWebviewViews:A("MainThreadWebviewViews"),MainThreadCustomEditors:A("MainThreadCustomEditors"),MainThreadUrls:A("MainThreadUrls"),MainThreadUriOpeners:A("MainThreadUriOpeners"),MainThreadProfileContentHandlers:A("MainThreadProfileContentHandlers"),MainThreadWorkspace:A("MainThreadWorkspace"),MainThreadFileSystem:A("MainThreadFileSystem"),MainThreadFileSystemEventService:A("MainThreadFileSystemEventService"),MainThreadExtensionService:A("MainThreadExtensionService"),MainThreadSCM:A("MainThreadSCM"),MainThreadSearch:A("MainThreadSearch"),MainThreadShare:A("MainThreadShare"),MainThreadTask:A("MainThreadTask"),MainThreadWindow:A("MainThreadWindow"),MainThreadPower:A("MainThreadPower"),MainThreadLabelService:A("MainThreadLabelService"),MainThreadNotebook:A("MainThreadNotebook"),MainThreadNotebookDocuments:A("MainThreadNotebookDocumentsShape"),MainThreadNotebookEditors:A("MainThreadNotebookEditorsShape"),MainThreadNotebookKernels:A("MainThreadNotebookKernels"),MainThreadNotebookRenderers:A("MainThreadNotebookRenderers"),MainThreadInteractive:A("MainThreadInteractive"),MainThreadTheming:A("MainThreadTheming"),MainThreadTunnelService:A("MainThreadTunnelService"),MainThreadManagedSockets:A("MainThreadManagedSockets"),MainThreadBrowserTunnelProxy:A("MainThreadBrowserTunnelProxy"),MainThreadTimeline:A("MainThreadTimeline"),MainThreadTesting:A("MainThreadTesting"),MainThreadLocalization:A("MainThreadLocalizationShape"),MainThreadMcp:A("MainThreadMcpShape"),MainThreadAiRelatedInformation:A("MainThreadAiRelatedInformation"),MainThreadAiEmbeddingVector:A("MainThreadAiEmbeddingVector"),MainThreadChatStatus:A("MainThreadChatStatus"),MainThreadChatQuota:A("MainThreadChatQuota"),MainThreadChatInputNotification:A("MainThreadChatInputNotification"),MainThreadAiSettingsSearch:A("MainThreadAiSettingsSearch"),MainThreadDataChannels:A("MainThreadDataChannels"),MainThreadChatSessions:A("MainThreadChatSessions"),MainThreadChatOutputRenderer:A("MainThreadChatOutputRenderer"),MainThreadChatContext:A("MainThreadChatContext"),MainThreadChatDebug:A("MainThreadChatDebug"),MainThreadBrowsers:A("MainThreadBrowsers")},Xat={ExtHostCodeMapper:A("ExtHostCodeMapper"),ExtHostCommands:A("ExtHostCommands"),ExtHostConfiguration:A("ExtHostConfiguration"),ExtHostDiagnostics:A("ExtHostDiagnostics"),ExtHostDebugService:A("ExtHostDebugService"),ExtHostDecorations:A("ExtHostDecorations"),ExtHostDocumentsAndEditors:A("ExtHostDocumentsAndEditors"),ExtHostDocuments:A("ExtHostDocuments"),ExtHostDocumentContentProviders:A("ExtHostDocumentContentProviders"),ExtHostDocumentSaveParticipant:A("ExtHostDocumentSaveParticipant"),ExtHostEditors:A("ExtHostEditors"),ExtHostTreeViews:A("ExtHostTreeViews"),ExtHostFileSystem:A("ExtHostFileSystem"),ExtHostFileSystemInfo:A("ExtHostFileSystemInfo"),ExtHostFileSystemEventService:A("ExtHostFileSystemEventService"),ExtHostLanguages:A("ExtHostLanguages"),ExtHostLanguageFeatures:A("ExtHostLanguageFeatures"),ExtHostQuickOpen:A("ExtHostQuickOpen"),ExtHostQuickDiff:A("ExtHostQuickDiff"),ExtHostAgentEditorComments:A("ExtHostAgentEditorComments"),ExtHostStatusBar:A("ExtHostStatusBar"),ExtHostShare:A("ExtHostShare"),ExtHostExtensionService:A("ExtHostExtensionService"),ExtHostLogLevelServiceShape:A("ExtHostLogLevelServiceShape"),ExtHostTerminalService:A("ExtHostTerminalService"),ExtHostTerminalShellIntegration:A("ExtHostTerminalShellIntegration"),ExtHostSCM:A("ExtHostSCM"),ExtHostSearch:A("ExtHostSearch"),ExtHostTask:A("ExtHostTask"),ExtHostWorkspace:A("ExtHostWorkspace"),ExtHostWindow:A("ExtHostWindow"),ExtHostPower:A("ExtHostPower"),ExtHostWebviews:A("ExtHostWebviews"),ExtHostWebviewPanels:A("ExtHostWebviewPanels"),ExtHostCustomEditors:A("ExtHostCustomEditors"),ExtHostWebviewViews:A("ExtHostWebviewViews"),ExtHostEditorInsets:A("ExtHostEditorInsets"),ExtHostEditorTabs:A("ExtHostEditorTabs"),ExtHostProgress:A("ExtHostProgress"),ExtHostComments:A("ExtHostComments"),ExtHostSecretState:A("ExtHostSecretState"),ExtHostStorage:A("ExtHostStorage"),ExtHostUrls:A("ExtHostUrls"),ExtHostUriOpeners:A("ExtHostUriOpeners"),ExtHostChatOutputRenderer:A("ExtHostChatOutputRenderer"),ExtHostProfileContentHandlers:A("ExtHostProfileContentHandlers"),ExtHostOutputService:A("ExtHostOutputService"),ExtHostLabelService:A("ExtHostLabelService"),ExtHostNotebook:A("ExtHostNotebook"),ExtHostNotebookDocuments:A("ExtHostNotebookDocuments"),ExtHostNotebookEditors:A("ExtHostNotebookEditors"),ExtHostNotebookKernels:A("ExtHostNotebookKernels"),ExtHostNotebookRenderers:A("ExtHostNotebookRenderers"),ExtHostNotebookDocumentSaveParticipant:A("ExtHostNotebookDocumentSaveParticipant"),ExtHostInteractive:A("ExtHostInteractive"),ExtHostChatAgents2:A("ExtHostChatAgents"),ExtHostLanguageModelTools:A("ExtHostChatSkills"),ExtHostChatProvider:A("ExtHostChatProvider"),ExtHostChatContext:A("ExtHostChatContext"),ExtHostChatDebug:A("ExtHostChatDebug"),ExtHostSpeech:A("ExtHostSpeech"),ExtHostEmbeddings:A("ExtHostEmbeddings"),ExtHostAiRelatedInformation:A("ExtHostAiRelatedInformation"),ExtHostAiEmbeddingVector:A("ExtHostAiEmbeddingVector"),ExtHostAiSettingsSearch:A("ExtHostAiSettingsSearch"),ExtHostTheming:A("ExtHostTheming"),ExtHostTunnelService:A("ExtHostTunnelService"),ExtHostManagedSockets:A("ExtHostManagedSockets"),ExtHostBrowserTunnelProxy:A("ExtHostBrowserTunnelProxy"),ExtHostAuthentication:A("ExtHostAuthentication"),ExtHostTimeline:A("ExtHostTimeline"),ExtHostTesting:A("ExtHostTesting"),ExtHostTelemetry:A("ExtHostTelemetry"),ExtHostMeteredConnection:A("ExtHostMeteredConnection"),ExtHostLocalization:A("ExtHostLocalization"),ExtHostMcp:A("ExtHostMcp"),ExtHostDataChannels:A("ExtHostDataChannels"),ExtHostChatSessions:A("ExtHostChatSessions"),ExtHostChatQuota:A("ExtHostChatQuota"),ExtHostGitExtension:A("ExtHostGitExtension"),ExtHostBrowsers:A("ExtHostBrowsers")}});var r7,i7=y(()=>{Z();r7=D("IExtHostRpcService")});var ad,om,Fl,rm,CZ,nv,tA,s7=y(()=>{oe();sa();jh();TM();RC();RM();ZM();ad=(r,t,e,n)=>{let o=t;return{enumerable:!0,configurable:!1,get(){return o},set(i){if(!e(o,i)){let s=o;o=i,r.listener?.(n(i,s))}}}},om=(r,t)=>r===t,Fl={range:(r,t)=>r===t?!0:!r||!t?!1:r.isEqual(t),label:om,description:om,sortText:om,busy:om,error:om,canResolveChildren:om,tags:(r,t)=>!(r.length!==t.length||r.some(e=>!t.find(n=>e.id===n.id)))},rm=r=>t=>({op:4,update:r(t)}),CZ=(r,t)=>({range:(()=>{let e,n=rm(o=>({range:Pn.lift(ve.from(o))}));return{enumerable:!0,configurable:!1,get(){return e},set(o){r.listener?.({op:6}),Fl.range(e,o)||(e=o,r.listener?.(n(o)))}}})(),label:ad(r,t,Fl.label,rm(e=>({label:e}))),description:ad(r,void 0,Fl.description,rm(e=>({description:e}))),sortText:ad(r,void 0,Fl.sortText,rm(e=>({sortText:e}))),canResolveChildren:ad(r,!1,Fl.canResolveChildren,e=>({op:2,state:e})),busy:ad(r,!1,Fl.busy,rm(e=>({busy:e}))),error:ad(r,void 0,Fl.error,rm(e=>({error:mt.fromStrict(e)||null}))),tags:ad(r,[],Fl.tags,(e,n)=>({op:1,new:e.map(Ul.from),old:n.map(Ul.from)}))}),nv=class r{constructor(t,e,n,o){if(e.includes("\0"))throw new Error(`Test IDs may not include the ${JSON.stringify(e)} symbol`);let i=mB(this,t);Object.defineProperties(this,{id:{value:e,enumerable:!0,writable:!1},uri:{value:o,enumerable:!0,writable:!1},parent:{enumerable:!1,get(){return i.parent instanceof tA?void 0:i.parent}},children:{value:uB(i,kC,r),enumerable:!0,writable:!1},...CZ(i,n)})}},tA=class extends nv{constructor(e,n){super(e,e,n,void 0);this._isRoot=!0}}});var a7,l7=y(()=>{Z();a7=D("IExtHostInitDataService")});var c7=y(()=>{Ke()});function EZ(r){let t=Date.now()-new Date(r).getTime();return isNaN(t)?!1:t<1e3*60*60*24}var AC,nA,d7,u7=y(()=>{Z();de();Rn();De();l7();c7();Ur();jt();K();re();AC=class extends _{constructor(e,n,o){super();this.initData=n;this._onDidChangeTelemetryEnabled=this._register(new T);this.onDidChangeTelemetryEnabled=this._onDidChangeTelemetryEnabled.event;this._onDidChangeTelemetryConfiguration=this._register(new T);this.onDidChangeTelemetryConfiguration=this._onDidChangeTelemetryConfiguration.event;this._productConfig={usage:!0,error:!0};this._level=0;this._inLoggingOnlyMode=!1;this._telemetryLoggers=new Map;this._inLoggingOnlyMode=this.initData.environment.isExtensionTelemetryLoggingOnly;let i=n.remote.isRemote?"remoteExtHostTelemetry":e?"workerExtHostTelemetry":"extHostTelemetry";this._outputLogger=this._register(o.createLogger(i,{name:d(4540,null,this._inLoggingOnlyMode?" (Not Sent)":""),hidden:!0,group:jy}))}getTelemetryConfiguration(){return this._level===3}getTelemetryDetails(){return{isCrashEnabled:this._level>=1,isErrorsEnabled:this._productConfig.error?this._level>=2:!1,isUsageEnabled:this._productConfig.usage?this._level>=3:!1}}instantiateLogger(e,n,o){let i=this.getTelemetryDetails(),s=e.identifier.value,a=new nA(n,o,e,this._outputLogger,this._inLoggingOnlyMode,this.getBuiltInCommonProperties(e),{isUsageEnabled:i.isUsageEnabled,isErrorsEnabled:i.isErrorsEnabled},c=>this.removeTelemetryLogger(s,c)),l=this._telemetryLoggers.get(s)??[];return this._telemetryLoggers.set(s,[...l,a]),a.apiTelemetryLogger}removeTelemetryLogger(e,n){let o=this._telemetryLoggers.get(e);if(!o)return;let i=o.filter(s=>s!==n);i.length===0?this._telemetryLoggers.delete(e):this._telemetryLoggers.set(e,i)}$initializeTelemetryLevel(e,n,o){this._level=e,this._productConfig=o??{usage:!0,error:!0}}getBuiltInCommonProperties(e){let n=Object.create(null);switch(n["common.extname"]=`${e.publisher}.${e.name}`,n["common.extversion"]=e.version,n["common.vscodemachineid"]=this.initData.telemetryInfo.machineId,n["common.vscodesessionid"]=this.initData.telemetryInfo.sessionId,n["common.vscodecommithash"]=this.initData.commit,n["common.sqmid"]=this.initData.telemetryInfo.sqmId,n["common.devDeviceId"]=this.initData.telemetryInfo.devDeviceId??this.initData.telemetryInfo.machineId,n["common.vscodeversion"]=this.initData.version,n["common.vscodereleasedate"]=this.initData.date,n["common.isnewappinstall"]=EZ(this.initData.telemetryInfo.firstSessionDate),n["common.product"]=this.initData.environment.appHost,this.initData.uiKind){case 2:n["common.uikind"]="web";break;case 1:n["common.uikind"]="desktop";break;default:n["common.uikind"]="unknown"}return n["common.remotename"]=JO(this.initData.remote.authority,this.initData),this.initData.environment.isSessionsWindow&&(n["common.isAgentsWindow"]=!0),n}$onDidChangeTelemetryLevel(e){this._oldTelemetryEnablement=this.getTelemetryConfiguration(),this._level=e;let n=this.getTelemetryDetails();this._telemetryLoggers.forEach((o,i)=>{let s=o.filter(a=>!a.isDisposed);s.length===0?this._telemetryLoggers.delete(i):this._telemetryLoggers.set(i,s)});for(let o of[...this._telemetryLoggers.values()])for(let i of o)i.updateTelemetryEnablements(n.isUsageEnabled,n.isErrorsEnabled);this._oldTelemetryEnablement!==this.getTelemetryConfiguration()&&this._onDidChangeTelemetryEnabled.fire(this.getTelemetryConfiguration()),this._onDidChangeTelemetryConfiguration.fire(this.getTelemetryDetails())}onExtensionError(e,n){let i=this._telemetryLoggers.get(e.value)?.filter(a=>!a.isDisposed);if(!i)return this._telemetryLoggers.delete(e.value),!1;let s=!1;for(let a of i)a.ignoreUnhandledExtHostErrors||(a.logError(n),s=!0);return s}};AC=C([b(1,a7),b(2,Wo)],AC);nA=class{constructor(t,e,n,o,i,s,a,l){this._extension=n;this._logger=o;this._inLoggingOnlyMode=i;this._commonProperties=s;this._onDidDispose=l;this._onDidChangeEnableStates=new T;this.ignoreUnhandledExtHostErrors=e?.ignoreUnhandledErrors??!1,this._ignoreBuiltinCommonProperties=e?.ignoreBuiltInCommonProperties??!1,this._additionalCommonProperties=e?.additionalCommonProperties,this._sender=t,this._telemetryEnablements={isUsageEnabled:a.isUsageEnabled,isErrorsEnabled:a.isErrorsEnabled}}static validateSender(t){if(typeof t!="object")throw new TypeError("TelemetrySender argument is invalid");if(typeof t.sendEventData!="function")throw new TypeError("TelemetrySender.sendEventData must be a function");if(typeof t.sendErrorData!="function")throw new TypeError("TelemetrySender.sendErrorData must be a function");if(typeof t.flush<"u"&&typeof t.flush!="function")throw new TypeError("TelemetrySender.flush must be a function or undefined")}updateTelemetryEnablements(t,e){this._apiObject&&(this._telemetryEnablements={isUsageEnabled:t,isErrorsEnabled:e},this._onDidChangeEnableStates.fire(this._apiObject))}mixInCommonPropsAndCleanData(t){let e=t.properties?t.properties??{}:t;return e=Rg(e,[]),this._additionalCommonProperties&&(e=Us(e,this._additionalCommonProperties)),this._ignoreBuiltinCommonProperties||(e=Us(e,this._commonProperties)),t.properties?t.properties=e:t=e,t}logEvent(t,e){this._sender&&(this._extension.publisher==="vscode"?t=this._extension.name+"/"+t:t=this._extension.identifier.value+"/"+t,e=this.mixInCommonPropsAndCleanData(e||{}),this._inLoggingOnlyMode||this._sender?.sendEventData(t,e),this._logger.trace(t,e))}logUsage(t,e){this._telemetryEnablements.isUsageEnabled&&this.logEvent(t,e)}logError(t,e){if(!(!this._telemetryEnablements.isErrorsEnabled||!this._sender))if(typeof t=="string")this.logEvent(t,e);else{let n={name:t.name,message:t.message,stack:t.stack,cause:t.cause},o=Rg(n,[]),i=new Error(typeof o.message=="string"?o.message:void 0,{cause:o.cause});i.stack=typeof o.stack=="string"?o.stack:void 0,i.name=typeof o.name=="string"?o.name:"unknown",e=this.mixInCommonPropsAndCleanData(e||{}),this._inLoggingOnlyMode||this._sender.sendErrorData(i,e),this._logger.trace("exception",e)}}get apiTelemetryLogger(){if(!this._apiObject){let t=this,e={logUsage:t.logUsage.bind(t),get isUsageEnabled(){return t._telemetryEnablements.isUsageEnabled},get isErrorsEnabled(){return t._telemetryEnablements.isErrorsEnabled},logError:t.logError.bind(t),dispose:t.dispose.bind(t),onDidChangeEnableStates:t._onDidChangeEnableStates.event.bind(t)};this._apiObject=Object.freeze(e)}return this._apiObject}get isDisposed(){return!this._sender}dispose(){let t=this.isDisposed;try{if(this._sender?.flush){let e=this._sender;this._sender=void 0,this._apiObject=void 0,Promise.resolve(e.flush()).then(e=void 0)}else this._sender=void 0}finally{this._onDidChangeEnableStates.dispose(),t||this._onDidDispose(this)}}};d7=D("IExtHostTelemetry")});var LC,m7,oA,p7,rA,g7=y(()=>{we();JS();ZM();jt();o7();At();De();rs();sa();rx();oe();K();Z();i7();s7();Ke();PC();oc();_s();Ur();u7();nn();Ee();LC=class{constructor(t,e,n){this._commands=new Map;this._apiCommands=new Map;this.$d=t.getProxy(eA.MainThreadCommands),this._logService=e,this.$f=n,this.$e=t.getProxy(eA.MainThreadTelemetry),this.converter=new oA(this,o=>{let i=this._apiCommands.get(o);return i?.result===rA.Void?i:void 0},e),this._argumentProcessors=[{processArgument(o){return Qt(o)}},{processArgument(o){return to(o,function(i){if(Pn.isIRange(i))return ve.to(i);if(Fi.isIPosition(i))return ya.to(i);if(Pn.isIRange(i.range)&&S.isUri(i.uri))return Nl.to(i);if(i instanceof L)return i.buffer.buffer.slice(i.buffer.byteOffset,i.buffer.byteOffset+i.buffer.byteLength);if(!Array.isArray(i))return i})}}]}$d;$e;$f;registerArgumentProcessor(t){this._argumentProcessors.push(t)}registerApiCommand(t){let e=this.registerCommand(!1,t.id,async(...n)=>{let o=t.args.map((s,a)=>{if(!s.validate(n[a]))throw new Error(`Invalid argument '${s.name}' when running '${t.id}', received: ${typeof n[a]=="object"?JSON.stringify(n[a],null," "):n[a]} `);return s.convert(n[a])}),i=await this.executeCommand(t.internalId,...o);return t.result.convert(i,n,this.converter)},void 0,{description:t.description,args:t.args,returns:t.result.description});return this._apiCommands.set(t.id,t),new ta(()=>{e.dispose(),this._apiCommands.delete(t.id)})}registerCommand(t,e,n,o,i,s){if(this._logService.trace("ExtHostCommands#registerCommand",e),!e.trim().length)throw new Error("invalid id");if(this._commands.has(e))throw new Error(`command '${e}' already exists`);return this._commands.set(e,{callback:n,thisArg:o,metadata:i,extension:s}),t&&this.$d.$registerCommand(e),new ta(()=>{this._commands.delete(e)&&t&&this.$d.$unregisterCommand(e)})}executeCommand(t,...e){return this._logService.trace("ExtHostCommands#executeCommand",t),this._doExecuteCommand(t,e,!0)}async _doExecuteCommand(t,e,n){if(this._commands.has(t))return this.$d.$fireCommandActivationEvent(t),this._executeContributedCommand(t,e,!1);{let o=!1,i=to(e,function(s){if(s instanceof We)return ya.from(s);if(s instanceof Ge)return ve.from(s);if(s instanceof Mo)return Nl.from(s);if(Ai.isNotebookRange(s))return QM.from(s);if(s instanceof ArrayBuffer)return o=!0,L.wrap(new Uint8Array(s));if(s instanceof Uint8Array)return o=!0,L.wrap(s);if(s instanceof L)return o=!0,s;if(!Array.isArray(s))return s});try{let s=await this.$d.$executeCommand(t,o?new tm(i):i,n);return Qt(s)}catch(s){if(s instanceof Error&&s.message==="$executeCommand:retry")return this._doExecuteCommand(t,e,!1);throw s}}}async _executeContributedCommand(t,e,n){let o=this._commands.get(t);if(!o)throw new Error("Unknown command");let{callback:i,thisArg:s,metadata:a}=o;if(a?.args)for(let c=0;c<a.args.length;c++)try{C0(e[c],a.args[c].constraint)}catch{throw new Error(`Running the contributed command: '${t}' failed. Illegal argument '${a.args[c].name}' - ${a.args[c].description}`)}let l=Zn.create();try{return await i.apply(s,e)}catch(c){if(t===this.converter.delegatingCommandId){let u=this.converter.getActualCommand(...e);u&&(t=u.command)}if(on(c)||this._logService.error(c,t,o.extension?.identifier),!n)throw c;if(o.extension?.identifier){let u=this.$f.onExtensionError(o.extension.identifier,c);this._logService.trace("forwarded error to extension?",u,o.extension?.identifier)}throw new class extends Error{constructor(){super(ni(c));this.id=t;this.source=o.extension?.displayName??o.extension?.name}}}finally{this._reportTelemetry(o,t,l.elapsed())}}_reportTelemetry(t,e,n){t.extension&&(e.startsWith("code.copilot.logStructured")||this.$e.$publicLog2("Extension:ActionExecuted",{extensionId:t.extension.identifier.value,id:new vr(e),duration:n}))}$executeContributedCommand(t,...e){this._logService.trace("ExtHostCommands#$executeContributedCommand",t);let n=this._commands.get(t);return n?(e=e.map(o=>this._argumentProcessors.reduce((i,s)=>s.processArgument(i,n.extension),o)),this._executeContributedCommand(t,e,!0)):Promise.reject(new Error(`Contributed command '${t}' does not exist.`))}getCommands(t=!1){return this._logService.trace("ExtHostCommands#getCommands",t),this.$d.$getCommands().then(e=>(t&&(e=e.filter(n=>n[0]!=="_")),e))}$getContributedCommandMetadata(){let t=Object.create(null);for(let[e,n]of this._commands){let{metadata:o}=n;o&&(t[e]=o)}return Promise.resolve(t)}};LC=C([b(0,r7),b(1,z),b(2,d7)],LC);m7=D("IExtHostCommands"),oA=class{constructor(t,e,n){this._commands=t;this._lookupApiCommand=e;this._logService=n;this.delegatingCommandId=`__vsc${Se()}`;this._cache=new Map;this._cachIdPool=0;this._commands.registerCommand(!0,this.delegatingCommandId,this._executeConvertedCommand,this)}toInternal(t,e){if(!t)return;let n={$ident:void 0,id:t.command,title:t.title,tooltip:t.tooltip};if(!t.command)return n;let o=this._lookupApiCommand(t.command);if(o)n.id=o.internalId,n.arguments=o.args.map((i,s)=>i.convert(t.arguments&&t.arguments[s]));else if(zl(t.arguments)){let i=`${t.command} /${++this._cachIdPool}`;this._cache.set(i,t),e.add(ce(()=>{this._cache.delete(i),this._logService.trace("CommandsConverter#DISPOSE",i)})),n.$ident=i,n.id=this.delegatingCommandId,n.arguments=[i],this._logService.trace("CommandsConverter#CREATE",t.command,i)}return n}fromInternal(t){return typeof t.$ident=="string"?this._cache.get(t.$ident):{command:t.id,title:t.title,arguments:t.arguments}}getActualCommand(...t){return this._cache.get(t[0])}_executeConvertedCommand(...t){let e=this.getActualCommand(...t);return this._logService.trace("CommandsConverter#EXECUTE",t[0],e?e.command:"MISSING"),e?this._commands.executeCommand(e.command,...e.arguments||[]):Promise.reject(`Actual command not found, wanted to execute ${t[0]}`)}},p7=class r{constructor(t,e,n,o){this.name=t;this.description=e;this.validate=n;this.convert=o}static{this.Uri=new r("uri","Uri of a text document",t=>S.isUri(t),t=>t)}static{this.Position=new r("position","A position in a text document",t=>We.isPosition(t),ya.from)}static{this.Range=new r("range","A range in a text document",t=>Ge.isRange(t),ve.from)}static{this.Selection=new r("selection","A selection in a text document",t=>Li.isSelection(t),KM.from)}static{this.Number=new r("number","",t=>typeof t=="number",t=>t)}static{this.String=new r("string","",t=>typeof t=="string",t=>t)}static Arr(t){return new r(`${t.name}_array`,`Array of ${t.name}, ${t.description}`,e=>Array.isArray(e)&&e.every(n=>t.validate(n)),e=>e.map(n=>t.convert(n)))}static{this.CallHierarchyItem=new r("item","A call hierarchy item",t=>t instanceof Sp,ev.from)}static{this.TypeHierarchyItem=new r("item","A type hierarchy item",t=>t instanceof Cp,YM.from)}static{this.TestItem=new r("testItem","A VS Code TestItem",t=>t instanceof nv,tv.from)}static{this.TestProfile=new r("testProfile","A VS Code test profile",t=>t instanceof kS,JM.from)}optional(){return new r(this.name,`(optional) ${this.description}`,t=>t==null||this.validate(t),t=>t===void 0?void 0:t===null?null:this.convert(t))}with(t,e){return new r(t??this.name,e??this.description,this.validate,this.convert)}},rA=class r{constructor(t,e){this.description=t;this.convert=e}static{this.Void=new r("no result",t=>t)}}});import*as NC from"fs";var ov,OC,f7=y(()=>{Bu();g7();oe();De();$s();ov=class{constructor(t,e,n){this._commands=t;this.logService=e;this._ipcHandlePath=n;this._server=void 0;this._disposed=!1;this.setup()}get ipcHandlePath(){return this._ipcHandlePath}async setup(){try{let t=await import("http");if(this._disposed)return;this._server=t.createServer((e,n)=>this.onRequest(e,n));try{this._server.listen(this.ipcHandlePath),this._server.on("error",e=>this.logService.error(e))}catch{this.logService.error("Could not start open from terminal server.")}}catch(t){this.logService.error("Error setting up CLI server",t)}}onRequest(t,e){let n=(i,s)=>{e.writeHead(i,{"content-type":"application/json"}),e.end(JSON.stringify(s||null),a=>a&&this.logService.error(a))},o=[];t.setEncoding("utf8"),t.on("data",i=>o.push(i)),t.on("end",async()=>{try{let i=JSON.parse(o.join("")),s;switch(i.type){case"open":s=await this.open(i);break;case"openExternal":s=await this.openExternal(i);break;case"status":s=await this.getStatus(i);break;case"extensionManagement":s=await this.manageExtensions(i);break;case"clipboard":s=await this.clipboard(i);break;default:n(404,`Unknown message type: ${i.type}`);break}n(200,s)}catch(i){let s=i instanceof Error?i.message:JSON.stringify(i);n(500,s),this.logService.error("Error while processing pipe request",i)}})}async open(t){let{fileURIs:e,folderURIs:n,forceNewWindow:o,diffMode:i,mergeMode:s,addMode:a,removeMode:l,forceReuseWindow:c,gotoLineMode:u,waitMarkerFilePath:p,remoteAuthority:m}=t,f=[];if(Array.isArray(n))for(let E of n)try{f.push({folderUri:S.parse(E)})}catch{}if(Array.isArray(e))for(let E of e)try{RN(E)?f.push({workspaceUri:S.parse(E)}):f.push({fileUri:S.parse(E)})}catch{}let h=p?S.file(p):void 0,I={forceNewWindow:o,diffMode:i,mergeMode:s,addMode:a,removeMode:l,gotoLineMode:u,forceReuseWindow:c,preferNewWindow:!c&&!h&&!a&&!l,waitMarkerFileURI:h,remoteAuthority:m};this._commands.executeCommand("_remoteCLI.windowOpen",f,I)}async openExternal(t){for(let e of t.uris)S.parse(e).scheme!=="file"&&await this._commands.executeCommand("_remoteCLI.openExternal",e)}async manageExtensions(t){let e=o=>o?.map(i=>/\.vsix$/i.test(i)?S.parse(i):i),n={list:t.list,install:e(t.install),uninstall:e(t.uninstall),force:t.force};return await this._commands.executeCommand("_remoteCLI.manageExtensions",n)}async getStatus(t){return await this._commands.executeCommand("_remoteCLI.getSystemStatus")}async clipboard(t){return await this._commands.executeCommand("_remoteCLI.setClipboard",t.content)}dispose(){this._disposed=!0,this._server?.close(),this._ipcHandlePath&&process.platform!=="win32"&&NC.existsSync(this._ipcHandlePath)&&NC.unlinkSync(this._ipcHandlePath)}},OC=class extends ov{constructor(t,e){super(t,e,Il())}};OC=C([b(0,m7),b(1,z)],OC)});var h7=y(()=>{});function v7(r,t,e=!1){return r.scope?!!(r.scope.workspaceFolder&&t?.workspaceFolder&&r.scope.workspaceFolder.index===t.workspaceFolder.index):e?t===r.scope:!0}function y7(r,t){if(!t)return r;let e=new Set;t.forEach(o=>e.add(o.extensionIdentifier));let n=[];return r.forEach(o=>{e.has(o.extensionIdentifier)||n.push(o)}),n.length===0?void 0:n}function PZ(r,t){if(!t)return;let e=new Map;t.forEach(o=>e.set(o.extensionIdentifier,o));let n=[];return r.forEach(o=>{let i=e.get(o.extensionIdentifier);i&&(o.type!==i.type||o.value!==i.value||o.scope?.workspaceFolder?.index!==i.scope?.workspaceFolder?.index)&&n.push(i)}),n.length===0?void 0:n}var wZ,TZ,RZ,UC,I7=y(()=>{me();h7();wZ=new Map([[2,"APPEND"],[3,"PREPEND"],[1,"REPLACE"]]),TZ=/^VSCODE_PYTHON_(PWSH|ZSH|BASH|FISH)_ACTIVATE/,RZ="ms-python.vscode-python-envs",UC=class{constructor(t){this.collections=t;this.map=new Map;this.descriptionMap=new Map;t.forEach((e,n)=>{this.populateDescriptionMap(e,n);let o=e.map.entries(),i=o.next();for(;!i.done;){let s=i.value[1],a=i.value[0];if(this.blockPythonActivationVar(a,n)){i=o.next();continue}let l=this.map.get(a);if(l||(l=[],this.map.set(a,l)),l.length>0&&l[0].type===1){i=o.next();continue}let c={extensionIdentifier:n,value:s.value,type:s.type,scope:s.scope,variable:s.variable,options:s.options};c.scope||delete c.scope,l.unshift(c),i=o.next()}})}async applyToProcessEnvironment(t,e,n){let o;te&&(o={},Object.keys(t).forEach(i=>o[i.toLowerCase()]=i));for(let[i,s]of this.getVariableMap(e)){let a=te&&o[i.toLowerCase()]||i;for(let l of s){let c=n?await n(l.value):l.value;if(!this.blockPythonActivationVar(l.variable,l.extensionIdentifier)){if(l.options?.applyAtProcessCreation??!0)switch(l.type){case 2:t[a]=(t[a]||"")+c;break;case 3:t[a]=c+(t[a]||"");break;case 1:t[a]=c;break}if(l.options?.applyAtShellIntegration??!1){let u=`VSCODE_ENV_${wZ.get(l.type)}`;t[u]=(t[u]?t[u]+":":"")+i+"="+this._encodeColons(c)}}}}}_encodeColons(t){return t.replaceAll(":","\\x3a")}blockPythonActivationVar(t,e){return!!(TZ.test(t)&&RZ!==e)}diff(t,e){let n=new Map,o=new Map,i=new Map;if(t.getVariableMap(e).forEach((s,a)=>{let l=this.getVariableMap(e).get(a),c=y7(s,l);c&&n.set(a,c)}),this.getVariableMap(e).forEach((s,a)=>{let l=t.getVariableMap(e).get(a),c=y7(s,l);c&&i.set(a,c)}),this.getVariableMap(e).forEach((s,a)=>{let l=t.getVariableMap(e).get(a),c=PZ(s,l);c&&o.set(a,c)}),!(n.size===0&&o.size===0&&i.size===0))return{added:n,changed:o,removed:i}}getVariableMap(t){let e=new Map;for(let n of this.map.values()){let o=n.filter(i=>v7(i,t));o.length>0&&e.set(o[0].variable,o)}return e}getDescriptionMap(t){let e=new Map;for(let n of this.descriptionMap.values()){let o=n.filter(i=>v7(i,t,!0));for(let i of o)e.set(i.extensionIdentifier,i.description)}return e}populateDescriptionMap(t,e){if(!t.descriptionMap)return;let n=t.descriptionMap.entries(),o=n.next();for(;!o.done;){let i=o.value[1],s=o.value[0],a=this.descriptionMap.get(s);a||(a=[],this.descriptionMap.set(s,a));let l={extensionIdentifier:e,scope:i.scope,description:i.description};l.scope||delete l.scope,a.push(l),o=n.next()}}}});function b7(r){return[...r.entries()]}function S7(r){return r?[...r.entries()]:[]}function x7(r){return new Map(r)}function C7(r){return new Map(r??[])}var iA=y(()=>{});var sA=y(()=>{});function aA(r){return r.match(/^['"].*['"]$/)&&(r=r.substring(1,r.length-1)),lr===1&&r&&r[1]===":"?r[0].toUpperCase()+r.substring(1):r}function E7(r){return!r.strictEnv}var lA=y(()=>{me();Sl()});function w7(r,t){if(t)if(te)for(let e in t){let n=e;for(let i in r)if(e.toLowerCase()===i.toLowerCase()){n=i;break}let o=t[e];o!==void 0&&T7(r,n,o)}else Object.keys(t).forEach(e=>{let n=t[e];n!==void 0&&T7(r,e,n)})}function T7(r,t,e){j(e)?r[t]=e:delete r[t]}function DZ(r,t,e,n){r.TERM_PROGRAM="vscode",t&&(r.TERM_PROGRAM_VERSION=t),_Z(r,n)&&(r.LANG=MZ(e)),r.COLORTERM="truecolor"}function R7(r,t){if(t)for(let e of Object.keys(t)){let n=t[e];n!=null&&(r[e]=n)}}async function P7(r,t){return await Promise.all(Object.entries(t).map(async([e,n])=>{if(j(n))try{t[e]=await r(n)}catch{t[e]=n}})),t}function _Z(r,t){if(t==="on")return!0;if(t==="auto"){let e=r.LANG;return!e||e.search(/\.UTF\-8$/)===-1&&e.search(/\.utf8$/)===-1&&e.search(/\.euc.+/)===-1}return!1}function MZ(r){let t=r?r.split("-"):[],e=t.length;if(e===0)return"en_US.UTF-8";if(e===1){let n={af:"ZA",am:"ET",be:"BY",bg:"BG",ca:"ES",cs:"CZ",da:"DK",de:"DE",el:"GR",en:"US",es:"ES",et:"EE",eu:"ES",fi:"FI",fr:"FR",he:"IL",hr:"HR",hu:"HU",hy:"AM",is:"IS",it:"IT",ja:"JP",kk:"KZ",ko:"KR",lt:"LT",nl:"NL",no:"NO",pl:"PL",pt:"BR",ro:"RO",ru:"RU",sk:"SK",sl:"SI",sr:"YU",sv:"SE",tr:"TR",uk:"UA",zh:"CN"};Object.prototype.hasOwnProperty.call(n,t[0])&&t.push(n[t[0]])}else t[1]=t[1].toUpperCase();return t.join("_")+".UTF-8"}async function D7(r,t,e,n,o,i){if(r.cwd){let a=typeof r.cwd=="object"?r.cwd.fsPath:r.cwd,l=await k7(a,e);return aA(l||a)}let s;return!r.ignoreConfigurationCwd&&o&&(e&&(o=await k7(o,e,i)),o&&(xo(o)?s=o:n&&(s=q(n.fsPath,o)))),s||(s=n?n.fsPath:t||""),aA(s)}async function k7(r,t,e){if(t)try{return await t(r)}catch(n){e?.error("Could not resolve terminal cwd",n);return}return r}function _7(r,t,e){if(e)return n=>e.resolveWithEnvironment(t,r,n)}async function M7(r,t,e,n,o,i){let s={};if(r.strictEnv)R7(s,r.env);else{R7(s,i);let a={...t};e&&(a&&await P7(e,a),r.env&&await P7(e,r.env)),gt&&(s.VSCODE_NODE_OPTIONS&&(s.NODE_OPTIONS=s.VSCODE_NODE_OPTIONS,delete s.VSCODE_NODE_OPTIONS),s.VSCODE_NODE_REPL_EXTERNAL_MODULE&&(s.NODE_REPL_EXTERNAL_MODULE=s.VSCODE_NODE_REPL_EXTERNAL_MODULE,delete s.VSCODE_NODE_REPL_EXTERNAL_MODULE)),TO(s,"VSCODE_IPC_HOOK_CLI","VSCODE_PROXY_URI"),w7(s,a),w7(s,r.env),DZ(s,n,pn,o)}return s}var A7=y(()=>{Me();oe();nu();Sl();me();lA();we()});var L7,cA,O7,bo,dA=y(()=>{Ee();Z();L7=D("configurationResolverService"),cA=(xe=>(xe.Unknown="unknown",xe.Env="env",xe.Config="config",xe.Command="command",xe.Input="input",xe.ExtensionInstallFolder="extensionInstallFolder",xe.TaskVar="taskVar",xe.WorkspaceFolder="workspaceFolder",xe.Cwd="cwd",xe.WorkspaceFolderBasename="workspaceFolderBasename",xe.UserHome="userHome",xe.LineNumber="lineNumber",xe.ColumnNumber="columnNumber",xe.SelectedText="selectedText",xe.File="file",xe.FileWorkspaceFolder="fileWorkspaceFolder",xe.FileWorkspaceFolderBasename="fileWorkspaceFolderBasename",xe.RelativeFile="relativeFile",xe.RelativeFileDirname="relativeFileDirname",xe.FileDirname="fileDirname",xe.FileExtname="fileExtname",xe.FileBasename="fileBasename",xe.FileBasenameNoExtension="fileBasenameNoExtension",xe.FileDirnameBasename="fileDirnameBasename",xe.ExecPath="execPath",xe.ExecInstallFolder="execInstallFolder",xe.PathSeparator="pathSeparator",xe.PathSeparatorAlias="/",xe))(cA||{}),O7=Object.values(cA).filter(r=>typeof r=="string"),bo=class extends Yn{constructor(e,n){super(n);this.variable=e}}});function N7(r,t){if(r[t]!=="$"||r[t+1]!=="{")return;let e=t+2,n=1;for(;e<r.length;){if(r[e]==="{")n++;else if(r[e]==="}"&&(n--,n===0))break;e++}if(n!==0)return;let o=r.slice(t,e+1),i=r.substring(t+2,e),s=i.indexOf(":");return{replacement:s===-1?{id:o,name:i,inner:i}:{id:o,inner:i,name:i.slice(0,s),arg:i.slice(s+1)},end:e}}function uA(r){let t=0;for(let e=r.length-1;e>=0;e--)if(r[e]==="}")t++;else if(r[e]==="{"&&t>0&&(t--,e>0&&r[e-1]==="$"))return!0;return!1}var pA=y(()=>{});var ld,mA=y(()=>{ei();me();pA();ld=class r{constructor(t){this.locations=new Map;this.newReplacementNotifiers=new Set;typeof t=="string"?(this.stringRoot=!0,this.root={value:t}):(this.stringRoot=!1,this.root=structuredClone(t))}static{this.VARIABLE_LHS="${"}static parse(t){if(t instanceof r)return t;let e=new r(t);return e.applyPlatformSpecificKeys(),e.parseObject(e.root),e}applyPlatformSpecificKeys(){let t=this.root,e=te?"windows":gt?"osx":$e?"linux":void 0;e&&t&&typeof t=="object"&&t.hasOwnProperty(e)&&Object.keys(t[e]).forEach(n=>t[n]=t[e][n]),delete t.windows,delete t.osx,delete t.linux}parseObject(t){if(!(typeof t!="object"||t===null)){if(Array.isArray(t)){for(let e=0;e<t.length;e++){let n=t[e];typeof n=="string"?this.parseString(t,e,n):this.parseObject(n)}return}for(let[e,n]of Object.entries(t))this.parseString(t,e,e,!0),typeof n=="string"?this.parseString(t,e,n):this.parseObject(n)}}parseString(t,e,n,o,i){let s=0;for(;s<n.length;){let a=n.indexOf("${",s);if(a===-1)break;let l=N7(n,a);if(l){if(s=l.end+1,i?.includes(l.replacement.id))continue;let c=this.locations.get(l.replacement.id)||{locations:[],replacement:l.replacement},u={object:t,propertyName:e,replaceKeyName:o};c.locations.push(u),this.locations.set(l.replacement.id,c),c.resolved?this._resolveAtLocation(l.replacement,u,c.resolved,i):this.newReplacementNotifiers.forEach(p=>p(l.replacement))}else s=a+2}}*unresolved(){let t=new Map,e=n=>{t.set(n.id,n)};for(let n of this.locations.values())n.resolved===void 0&&t.set(n.replacement.id,n.replacement);for(this.newReplacementNotifiers.add(e);;){let n=Xt.first(t);if(!n)break;let[o,i]=n;yield i,t.delete(o)}this.newReplacementNotifiers.delete(e)}resolved(){return Xt.map(Xt.filter(this.locations.values(),t=>!!t.resolved),t=>[t.replacement,t.resolved])}resolve(t,e){typeof e!="object"&&(e={value:String(e)});let n=this.locations.get(t.id);if(n&&(n.resolved=e,e.value!==void 0))for(let o of n.locations||Xt.empty())this._resolveAtLocation(t,o,e)}_resolveAtLocation(t,{replaceKeyName:e,propertyName:n,object:o},i,s=[]){if(i.value!==void 0){if(s.push(t.id),e&&typeof n=="string"){let a=o[n],l=n.replaceAll(t.id,i.value);delete o[n],o[l]=a,this._renameKeyInLocations(o,n,l),this.parseString(o,l,i.value,!0,s)}else o[n]=o[n].replaceAll(t.id,i.value),this.parseString(o,n,i.value,!1,s);s.pop()}}_renameKeyInLocations(t,e,n){for(let o of this.locations.values())for(let i of o.locations)i.object===t&&i.propertyName===e&&(i.propertyName=n)}toObject(){return this.stringRoot?this.root.value:this.root}}});var FC,U7=y(()=>{M_();Me();me();cr();we();re();dA();mA();FC=class{constructor(t,e,n,o){this._contributedVariables=new Map;this.resolvableVariables=new Set(O7);this._context=t,this._labelService=e,this._userHomePromise=n,o&&(this._envVariablesPromise=o.then(i=>this.prepareEnv(i)))}prepareEnv(t){if(te){let e=Object.create(null);return Object.keys(t).forEach(n=>{e[n.toLowerCase()]=t[n]}),e}return t}async resolveWithEnvironment(t,e,n){let o=ld.parse(n);for(let i of o.unresolved()){let s=await this.evaluateSingleVariable(i,e?.uri,t);s!==void 0&&o.resolve(i,String(s))}return o.toObject()}async resolveAsync(t,e){let n=ld.parse(e);for(let o of n.unresolved()){let i=await this.evaluateSingleVariable(o,t?.uri);i!==void 0&&n.resolve(o,String(i))}return n.toObject()}resolveWithInteractionReplace(t,e){throw new Error("resolveWithInteractionReplace not implemented.")}resolveWithInteraction(t,e){throw new Error("resolveWithInteraction not implemented.")}contributeVariable(t,e){if(this._contributedVariables.has(t))throw new Error("Variable "+t+" is contributed twice.");this.resolvableVariables.add(t),this._contributedVariables.set(t,e)}fsPath(t){return this._labelService?this._labelService.getUriLabel(t,{noPrefix:!0}):t.fsPath}async evaluateSingleVariable(t,e,n,o){let i={env:n!==void 0?this.prepareEnv(n):await this._envVariablesPromise,userHome:n!==void 0?void 0:await this._userHomePromise},{name:s,arg:a}=t,l=p=>{let m=this._context.getFilePath();if(m)return jp(m);throw new bo(p,d(22041,null,t.id))},c=p=>{let m=l(p);if(this._context.getWorkspaceFolderPathForFile){let f=this._context.getWorkspaceFolderPathForFile();if(f)return jp(f)}throw new bo(p,d(22042,null,t.id,ut(m)))},u=p=>{if(a){let m=this._context.getFolderUri(a);if(m)return m;throw new bo(p,d(22039,null,p,a))}if(e)return e;throw this._context.getWorkspaceFolderCount()>1?new bo(p,d(22047,null,p)):new bo(p,d(22046,null,p))};switch(s){case"env":if(a){if(i.env){let p=i.env[te?a.toLowerCase():a];if(j(p))return p}return""}throw new bo("env",d(22052,null,t.id));case"config":if(a){let p=this._context.getConfigurationValue(e,a);if(qt(p))throw new bo("config",d(22049,null,t.id,a));if(_e(p))throw new bo("config",d(22048,null,t.id,a));return p}throw new bo("config",d(22051,null,t.id));case"command":return this.resolveFromMap("command",t.id,a,o,"command");case"input":return this.resolveFromMap("input",t.id,a,o,"input");case"extensionInstallFolder":if(a){let p=await this._context.getExtension(a);if(!p)throw new bo("extensionInstallFolder",d(22050,null,t.id,a));return this.fsPath(p.extensionLocation)}throw new bo("extensionInstallFolder",d(22053,null,t.id));default:switch(s){case"workspaceRoot":case"workspaceFolder":{let p=u("workspaceFolder");return p?jp(this.fsPath(p)):void 0}case"cwd":{if(!e&&!a)return Pr();let p=u("cwd");return p?jp(this.fsPath(p)):void 0}case"workspaceRootFolderName":case"workspaceFolderBasename":{let p=u("workspaceFolderBasename");return p?jp(ut(this.fsPath(p))):void 0}case"userHome":if(i.userHome)return i.userHome;throw new bo("userHome",d(22045,null,t.id));case"lineNumber":{let p=this._context.getLineNumber();if(p)return p;throw new bo("lineNumber",d(22043,null,t.id))}case"columnNumber":{let p=this._context.getColumnNumber();if(p)return p;throw new Error(d(22040,null,t.id))}case"selectedText":{let p=this._context.getSelectedText();if(p)return p;throw new bo("selectedText",d(22044,null,t.id))}case"file":return l("file");case"fileWorkspaceFolder":return c("fileWorkspaceFolder");case"fileWorkspaceFolderBasename":return ut(c("fileWorkspaceFolderBasename"));case"relativeFile":return e||a?ks(this.fsPath(u("relativeFile")),l("relativeFile")):l("relativeFile");case"relativeFileDirname":{let p=Nt(l("relativeFileDirname"));if(e||a){let m=ks(this.fsPath(u("relativeFileDirname")),p);return m.length===0?".":m}return p}case"fileDirname":return Nt(l("fileDirname"));case"fileExtname":return yi(l("fileExtname"));case"fileBasename":return ut(l("fileBasename"));case"fileBasenameNoExtension":{let p=ut(l("fileBasenameNoExtension"));return p.slice(0,p.length-yi(p).length)}case"fileDirnameBasename":return ut(Nt(l("fileDirnameBasename")));case"execPath":{let p=this._context.getExecPath();return p||t.id}case"execInstallFolder":{let p=this._context.getAppRoot();return p||t.id}case"pathSeparator":case"/":return bn;default:try{return this.resolveFromMap("unknown",t.id,a,o,void 0)}catch{return t.id}}}}resolveFromMap(t,e,n,o,i){if(n&&o){let s=i===void 0?o[n]:o[i+":"+n];if(typeof s=="string")return s;throw new bo(t,d(22054,null,e))}return e}}});import*as fA from"os";var gA,HC,F7=y(()=>{de();jt();K();Me();me();nu();oe();Bu();xf();f7();I7();iA();sA();A7();U7();lP();Ne();lA();gA=class extends FC{constructor(t,e,n,o,i){super({getFolderUri:s=>{let a=e.filter(l=>l.name===s);if(a&&a.length>0)return a[0].uri},getWorkspaceFolderCount:()=>e.length,getConfigurationValue:(s,a)=>o[`config:${a}`],getExecPath:()=>t.VSCODE_EXEC_PATH,getAppRoot:()=>t.VSCODE_CWD,getFilePath:()=>{if(n)return Mn(n.fsPath)},getSelectedText:()=>o.selectedText,getLineNumber:()=>o.lineNumber,getColumnNumber:()=>o.columnNumber,getExtension:async s=>{let l=(await i.getInstalled()).find(c=>c.identifier.id===s);return l&&{extensionLocation:l.location}}},void 0,Promise.resolve(fA.homedir()),Promise.resolve(t))}},HC=class extends _{constructor(e,n,o,i,s,a){super();this._environmentService=e;this._logService=n;this._ptyHostService=o;this._productService=i;this._extensionManagementService=s;this._configurationService=a;this._lastReqId=0;this._pendingCommands=new Map;this._onExecuteCommand=this._register(new T);this.onExecuteCommand=this._onExecuteCommand.event}async call(e,n,o){switch(n){case"$restartPtyHost":return this._ptyHostService.restartPtyHost.apply(this._ptyHostService,o);case"$createProcess":{let i=Xs(e.remoteAuthority);return this._createProcess(i,o)}case"$attachToProcess":return this._ptyHostService.attachToProcess.apply(this._ptyHostService,o);case"$detachFromProcess":return this._ptyHostService.detachFromProcess.apply(this._ptyHostService,o);case"$listProcesses":return this._ptyHostService.listProcesses.apply(this._ptyHostService,o);case"$getLatency":return this._ptyHostService.getLatency.apply(this._ptyHostService,o);case"$getPerformanceMarks":return this._ptyHostService.getPerformanceMarks.apply(this._ptyHostService,o);case"$orphanQuestionReply":return this._ptyHostService.orphanQuestionReply.apply(this._ptyHostService,o);case"$acceptPtyHostResolvedVariables":return this._ptyHostService.acceptPtyHostResolvedVariables.apply(this._ptyHostService,o);case"$start":return this._ptyHostService.start.apply(this._ptyHostService,o);case"$input":return this._ptyHostService.input.apply(this._ptyHostService,o);case"$sendSignal":return this._ptyHostService.sendSignal.apply(this._ptyHostService,o);case"$acknowledgeDataEvent":return this._ptyHostService.acknowledgeDataEvent.apply(this._ptyHostService,o);case"$shutdown":return this._ptyHostService.shutdown.apply(this._ptyHostService,o);case"$resize":return this._ptyHostService.resize.apply(this._ptyHostService,o);case"$clearBuffer":return this._ptyHostService.clearBuffer.apply(this._ptyHostService,o);case"$getInitialCwd":return this._ptyHostService.getInitialCwd.apply(this._ptyHostService,o);case"$getCwd":return this._ptyHostService.getCwd.apply(this._ptyHostService,o);case"$processBinary":return this._ptyHostService.processBinary.apply(this._ptyHostService,o);case"$sendCommandResult":return this._sendCommandResult(o[0],o[1],o[2]);case"$installAutoReply":return this._ptyHostService.installAutoReply.apply(this._ptyHostService,o);case"$uninstallAllAutoReplies":return this._ptyHostService.uninstallAllAutoReplies.apply(this._ptyHostService,o);case"$getDefaultSystemShell":return this._getDefaultSystemShell.apply(this,o);case"$getProfiles":return this._getProfiles.apply(this,o);case"$getEnvironment":return this._getEnvironment();case"$getWslPath":return this._getWslPath(o[0],o[1]);case"$getTerminalLayoutInfo":return this._ptyHostService.getTerminalLayoutInfo(o);case"$setTerminalLayoutInfo":return this._ptyHostService.setTerminalLayoutInfo(o);case"$serializeTerminalState":return this._ptyHostService.serializeTerminalState.apply(this._ptyHostService,o);case"$reviveTerminalProcesses":return this._ptyHostService.reviveTerminalProcesses.apply(this._ptyHostService,o);case"$getRevivedPtyNewId":return this._ptyHostService.getRevivedPtyNewId.apply(this._ptyHostService,o);case"$setUnicodeVersion":return this._ptyHostService.setUnicodeVersion.apply(this._ptyHostService,o);case"$setNextCommandId":return this._ptyHostService.setNextCommandId.apply(this._ptyHostService,o);case"$reduceConnectionGraceTime":return this._reduceConnectionGraceTime();case"$updateIcon":return this._ptyHostService.updateIcon.apply(this._ptyHostService,o);case"$updateTitle":return this._ptyHostService.updateTitle.apply(this._ptyHostService,o);case"$updateProperty":return this._ptyHostService.updateProperty.apply(this._ptyHostService,o);case"$refreshProperty":return this._ptyHostService.refreshProperty.apply(this._ptyHostService,o);case"$requestDetachInstance":return this._ptyHostService.requestDetachInstance(o[0],o[1]);case"$acceptDetachedInstance":return this._ptyHostService.acceptDetachInstanceReply(o[0],o[1]);case"$freePortKillProcess":return this._ptyHostService.freePortKillProcess.apply(this._ptyHostService,o);case"$acceptDetachInstanceReply":return this._ptyHostService.acceptDetachInstanceReply.apply(this._ptyHostService,o)}throw new Error(`IPC Command ${n} not found`)}listen(e,n,o){switch(n){case"$onPtyHostExitEvent":return this._ptyHostService.onPtyHostExit||V.None;case"$onPtyHostStartEvent":return this._ptyHostService.onPtyHostStart||V.None;case"$onPtyHostUnresponsiveEvent":return this._ptyHostService.onPtyHostUnresponsive||V.None;case"$onPtyHostResponsiveEvent":return this._ptyHostService.onPtyHostResponsive||V.None;case"$onPtyHostRequestResolveVariablesEvent":return this._ptyHostService.onPtyHostRequestResolveVariables||V.None;case"$onProcessDataEvent":return this._ptyHostService.onProcessData;case"$onProcessReadyEvent":return this._ptyHostService.onProcessReady;case"$onProcessExitEvent":return this._ptyHostService.onProcessExit;case"$onProcessReplayEvent":return this._ptyHostService.onProcessReplay;case"$onProcessOrphanQuestion":return this._ptyHostService.onProcessOrphanQuestion;case"$onExecuteCommand":return this.onExecuteCommand;case"$onDidRequestDetach":return this._ptyHostService.onDidRequestDetach||V.None;case"$onDidChangeProperty":return this._ptyHostService.onDidChangeProperty}throw new Error(`IPC Command ${n} not found`)}async _createProcess(e,n){let o={name:n.shellLaunchConfig.name,executable:n.shellLaunchConfig.executable,args:n.shellLaunchConfig.args,cwd:typeof n.shellLaunchConfig.cwd=="string"||typeof n.shellLaunchConfig.cwd>"u"?n.shellLaunchConfig.cwd:S.revive(e.transformIncoming(n.shellLaunchConfig.cwd)),env:n.shellLaunchConfig.env,useShellEnvironment:n.shellLaunchConfig.useShellEnvironment,reconnectionProperties:n.shellLaunchConfig.reconnectionProperties,type:n.shellLaunchConfig.type,isFeatureTerminal:n.shellLaunchConfig.isFeatureTerminal,forceShellIntegration:n.shellLaunchConfig.forceShellIntegration,tabActions:n.shellLaunchConfig.tabActions,shellIntegrationEnvironmentReporting:n.shellLaunchConfig.shellIntegrationEnvironmentReporting},i={...n.resolverEnv};tu(i);let s=await aP(i,!!n.shellLaunchConfig.useShellEnvironment,pn,this._environmentService,this._logService,this._configurationService);this._logService.trace("baseEnv",s);let a=O=>({uri:S.revive(e.transformIncoming(O.uri)),name:O.name,index:O.index,toResource:()=>{throw new Error("Not implemented")}}),l=n.workspaceFolders.map(a),c=n.activeWorkspaceFolder?a(n.activeWorkspaceFolder):void 0,u=n.activeFileResource?S.revive(e.transformIncoming(n.activeFileResource)):void 0,p=new gA(s,l,u,n.resolvedVariables,this._extensionManagementService),m=_7(c,s,p),f=await D7(o,fA.homedir(),m,c?.uri,n.configuration["terminal.integrated.cwd"],this._logService);o.cwd=f;let h=te?"terminal.integrated.env.windows":gt?"terminal.integrated.env.osx":"terminal.integrated.env.linux",v=n.configuration[h],I=await M7(o,v,m,this._productService.version,n.configuration["terminal.integrated.detectLocale"],s);if(E7(o)){let O=[];for(let[Q,F,Y]of n.envVariableCollections)O.push([Q,{map:x7(F),descriptionMap:C7(Y)}]);let fe=new Map(O),H=new UC(fe),le=c?c??void 0:void 0;await H.applyToProcessEnvironment(I,{workspaceFolder:le},m)}this._logService.debug("Terminal process launching on remote agent",{shellLaunchConfig:o,initialCwd:f,cols:n.cols,rows:n.rows,env:I});let E=Il();I.VSCODE_IPC_HOOK_CLI=E;let w=await this._ptyHostService.createProcess(o,f,n.cols,n.rows,n.unicodeVersion,I,s,n.options,n.shouldPersistTerminal,n.workspaceId,n.workspaceName),P={executeCommand:(O,...fe)=>this._executeCommand(w,O,fe,e)},k=new ov(P,this._logService,E);return this._ptyHostService.onProcessExit(O=>O.id===w&&k.dispose()),{persistentTerminalId:w,resolvedShellLaunchConfig:o}}_executeCommand(e,n,o,i){let{resolve:s,reject:a,promise:l}=bw(),c=++this._lastReqId;this._pendingCommands.set(c,{resolve:s,reject:a,uriTransformer:i});let u=to(o,p=>{if(p&&p.$mid===1)return i.transformOutgoing(p);if(p&&p instanceof S)return i.transformOutgoingURI(p)});return this._onExecuteCommand.fire({reqId:c,persistentProcessId:e,commandId:n,commandArgs:u}),l}_sendCommandResult(e,n,o){let i=this._pendingCommands.get(e);if(!i)return;this._pendingCommands.delete(e);let s=to(o,a=>{if(a&&a.$mid===1)return i.uriTransformer.transformIncoming(a)});n?i.reject(s):i.resolve(s)}_getDefaultSystemShell(e){return this._ptyHostService.getDefaultSystemShell(e)}async _getProfiles(e,n,o,i){return this._ptyHostService.getProfiles(e,n,o,i)||[]}_getEnvironment(){return{...process.env}}_getWslPath(e,n){return this._ptyHostService.getWslPath(e,n)}_reduceConnectionGraceTime(){return this._ptyHostService.reduceConnectionGraceTime()}}});var H7,W7=y(()=>{Z();H7=D("labelService")});var V7,B7=y(()=>{Z();V7=D("environmentVariableService")});var q7,WC,$7=y(()=>{Y_();Tb();Mx();$s();iA();dA();ph();xM();Ae();W7();B7();Sl();sA();mA();q7="remoteterminal",WC=class{constructor(t,e,n,o,i,s,a,l,c,u,p){this._remoteAuthority=t;this._channel=e;this._configurationService=n;this._workspaceContextService=o;this._resolverService=i;this._environmentVariableService=s;this._remoteAuthorityResolverService=a;this._logService=l;this._editorService=c;this._labelService=u;this._environmentService=p}get onPtyHostExit(){return this._channel.listen("$onPtyHostExitEvent")}get onPtyHostStart(){return this._channel.listen("$onPtyHostStartEvent")}get onPtyHostUnresponsive(){return this._channel.listen("$onPtyHostUnresponsiveEvent")}get onPtyHostResponsive(){return this._channel.listen("$onPtyHostResponsiveEvent")}get onPtyHostRequestResolveVariables(){return this._channel.listen("$onPtyHostRequestResolveVariablesEvent")}get onProcessData(){return this._channel.listen("$onProcessDataEvent")}get onProcessExit(){return this._channel.listen("$onProcessExitEvent")}get onProcessReady(){return this._channel.listen("$onProcessReadyEvent")}get onProcessReplay(){return this._channel.listen("$onProcessReplayEvent")}get onProcessOrphanQuestion(){return this._channel.listen("$onProcessOrphanQuestion")}get onExecuteCommand(){return this._channel.listen("$onExecuteCommand")}get onDidRequestDetach(){return this._channel.listen("$onDidRequestDetach")}get onDidChangeProperty(){return this._channel.listen("$onDidChangeProperty")}restartPtyHost(){return this._channel.call("$restartPtyHost",[])}async createProcess(t,e,n,o,i,s,a,l){await this._configurationService.whenRemoteConfigurationLoaded();let c=Object.create(null),u=n?this._workspaceContextService.getWorkspaceFolder(n)??void 0:void 0,p=ld.parse({shellLaunchConfig:t,configuration:e});try{await this._resolverService.resolveAsync(u,p)}catch(k){this._logService.error(k)}for(let[{inner:k},O]of p.resolved())(/^config:/.test(k)||k==="selectedText"||k==="lineNumber")&&(c[k]=O.value);let m=[];for(let[k,O]of this._environmentVariableService.collections.entries())m.push([k,b7(O.map),S7(O.descriptionMap)]);let f=await this._remoteAuthorityResolverService.resolveAuthority(this._remoteAuthority),h={...this._environmentService.debugExtensionHost.env??{},...f.options?.extensionHostEnv},v=this._workspaceContextService.getWorkspace(),I=v.folders,E=n?this._workspaceContextService.getWorkspaceFolder(n):null,w=uh.getOriginalUri(this._editorService.activeEditor,{supportSideBySide:1,filterByScheme:[B.file,B.vscodeUserData,B.vscodeRemote]}),P={configuration:e,resolvedVariables:c,envVariableCollections:m,shellLaunchConfig:t,workspaceId:v.id,workspaceName:this._labelService.getWorkspaceLabel(v),workspaceFolders:I,activeWorkspaceFolder:E,activeFileResource:w,shouldPersistTerminal:i,options:o,cols:s,rows:a,unicodeVersion:l,resolverEnv:h};return await this._channel.call("$createProcess",P)}requestDetachInstance(t,e){return this._channel.call("$requestDetachInstance",[t,e])}acceptDetachInstanceReply(t,e){return this._channel.call("$acceptDetachInstanceReply",[t,e])}attachToProcess(t){return this._channel.call("$attachToProcess",[t])}detachFromProcess(t,e){return this._channel.call("$detachFromProcess",[t,e])}listProcesses(){return this._channel.call("$listProcesses")}getLatency(){return this._channel.call("$getLatency")}getPerformanceMarks(){return this._channel.call("$getPerformanceMarks")}reduceConnectionGraceTime(){return this._channel.call("$reduceConnectionGraceTime")}processBinary(t,e){return this._channel.call("$processBinary",[t,e])}start(t){return this._channel.call("$start",[t])}input(t,e){return this._channel.call("$input",[t,e])}sendSignal(t,e){return this._channel.call("$sendSignal",[t,e])}acknowledgeDataEvent(t,e){return this._channel.call("$acknowledgeDataEvent",[t,e])}setUnicodeVersion(t,e){return this._channel.call("$setUnicodeVersion",[t,e])}setNextCommandId(t,e,n){return this._channel.call("$setNextCommandId",[t,e,n])}shutdown(t,e){return this._channel.call("$shutdown",[t,e])}resize(t,e,n,o,i){return this._channel.call("$resize",[t,e,n,o,i])}clearBuffer(t){return this._channel.call("$clearBuffer",[t])}getInitialCwd(t){return this._channel.call("$getInitialCwd",[t])}getCwd(t){return this._channel.call("$getCwd",[t])}orphanQuestionReply(t){return this._channel.call("$orphanQuestionReply",[t])}sendCommandResult(t,e,n){return this._channel.call("$sendCommandResult",[t,e,n])}freePortKillProcess(t){return this._channel.call("$freePortKillProcess",[t])}getDefaultSystemShell(t){return this._channel.call("$getDefaultSystemShell",[t])}getProfiles(t,e,n){return this._channel.call("$getProfiles",[this._workspaceContextService.getWorkspace().id,t,e,n])}acceptPtyHostResolvedVariables(t,e){return this._channel.call("$acceptPtyHostResolvedVariables",[t,e])}getEnvironment(){return this._channel.call("$getEnvironment")}getWslPath(t,e){return this._channel.call("$getWslPath",[t,e])}setTerminalLayoutInfo(t){let n={workspaceId:this._workspaceContextService.getWorkspace().id,tabs:t?t.tabs:[],background:t?t.background:null};return this._channel.call("$setTerminalLayoutInfo",n)}updateTitle(t,e,n){return this._channel.call("$updateTitle",[t,e,n])}updateIcon(t,e,n,o){return this._channel.call("$updateIcon",[t,e,n,o])}refreshProperty(t,e){return this._channel.call("$refreshProperty",[t,e])}updateProperty(t,e,n){return this._channel.call("$updateProperty",[t,e,n])}getTerminalLayoutInfo(){let e={workspaceId:this._workspaceContextService.getWorkspace().id};return this._channel.call("$getTerminalLayoutInfo",e)}reviveTerminalProcesses(t,e,n){return this._channel.call("$reviveTerminalProcesses",[t,e,n])}getRevivedPtyNewId(t){return this._channel.call("$getRevivedPtyNewId",[t])}serializeTerminalState(t){return this._channel.call("$serializeTerminalState",[t])}installAutoReply(t,e){return this._channel.call("$installAutoReply",[t,e])}uninstallAllAutoReplies(){return this._channel.call("$uninstallAllAutoReplies",[])}};WC=C([b(2,K5),b(3,Za),b(4,L7),b(5,V7),b(6,PF),b(7,e2),b(8,lB),b(9,H7),b(10,Fp)],WC)});var z7=y(()=>{Ke();oc();Ee();de();K();rc();nn();nt();Rc()});var G7,K7=y(()=>{Ee();K();Ae();me();z7();G7="remoteFilesystem"});import{AppInsightsCore as NZ}from"@microsoft/1ds-core-js";import*as UZ from"https";import*as FZ from"http";import*as gi from"os";var VC,j7=y(()=>{VC=class extends NZ{constructor(e,n,o){super();this.endpoint=e;this.systemInfo={measurements:{},properties:{}};try{let i=gi.cpus();this.systemInfo.measurements.cores=i.length,this.systemInfo.properties["common.cpuModel"]=i[0].model}catch{}try{this.systemInfo.properties["common.shell"]=gi.userInfo().shell,this.systemInfo.properties["common.release"]=gi.release(),this.systemInfo.properties["common.arch"]=gi.arch()}catch{}this.systemInfo.properties["common.remoteMachineId"]=n,this.systemInfo.properties["common.isContainer"]=o}track(e){let n=e.baseData||{};n.measurements={...n.measurements||{},...this.systemInfo.measurements},n.properties={...n.properties||{},...this.systemInfo.properties};try{n.measurements.memoryFree=gi.freemem(),n.measurements.memoryTotal=gi.totalmem()}catch{}try{let o=(/^http:/.test(this.endpoint)?FZ:UZ).request(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"}});o.on("error",()=>{}),o.write(JSON.stringify(n)),o.end()}catch{}}}});async function IA(r,t,e){e===void 0&&(e=!!(globalThis._VSCODE_PRODUCT_JSON??globalThis.vscode?.context?.configuration()?.product)?.commit);let n=t?`${r}/${t}`:r;if(hA.has(n))return hA.get(n);let o;if(/^\w[\w\d+.-]*:\/\//.test(n))o=n;else{let l=`${e&&($1||HE&&Y1)?oL:nL}/${n}`;o=Dt.asBrowserUri(l).toString(!0)}let i=yA.INSTANCE.load(o);return hA.set(n,i),i}var vA,yA,hA,Q7=y(()=>{Ae();me();oe();nn();vA=class{constructor(t,e,n){this.id=t;this.dependencies=e;this.callback=n}},yA=class r{constructor(){this._isWebWorker=typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope";this._isRenderer=typeof document=="object";this._defineCalls=[];this._state=1}static{this.INSTANCE=new r}_initialize(){if(this._state===1){if(globalThis.define){this._state=3;return}}else return;this._state=2,globalThis.define=(t,e,n)=>{typeof t!="string"&&(n=e,e=t,t=null),(typeof e!="object"||!Array.isArray(e))&&(n=e,e=null),this._defineCalls.push(new vA(t,e,n))},globalThis.define.amd=!0,this._isRenderer?this._amdPolicy=globalThis._VSCODE_WEB_PACKAGE_TTP??window.trustedTypes?.createPolicy("amdLoader",{createScriptURL(t){if(t.startsWith(window.location.origin)||t.startsWith(`${B.vscodeFileResource}://${Gm}`))return t;throw new Error(`[trusted_script_src] Invalid script url: ${t}`)}}):this._isWebWorker&&(this._amdPolicy=globalThis._VSCODE_WEB_PACKAGE_TTP??globalThis.trustedTypes?.createPolicy("amdLoader",{createScriptURL(t){return t}}))}async load(t){if(this._initialize(),this._state===3)return new Promise(s=>{let a=Se();globalThis.define(a,[t],function(l){s(l)})});let e=await(this._isWebWorker?this._workerLoadScript(t):this._isRenderer?this._rendererLoadScript(t):this._nodeJSLoadScript(t));if(!e){console.warn(`Did not receive a define call from script ${t}`);return}let n={},o=[],i=[];if(Array.isArray(e.dependencies))for(let s of e.dependencies)s==="exports"?o.push(n):i.push(s);if(i.length>0)throw new Error(`Cannot resolve dependencies for script ${t}. The dependencies are: ${i.join(", ")}`);return typeof e.callback=="function"?e.callback(...o)??n:e.callback}_rendererLoadScript(t){return new Promise((e,n)=>{let o=document.createElement("script");o.setAttribute("async","async"),o.setAttribute("type","text/javascript");let i=()=>{o.removeEventListener("load",s),o.removeEventListener("error",a)},s=l=>{i(),e(this._defineCalls.pop())},a=l=>{i(),n(l)};o.addEventListener("load",s),o.addEventListener("error",a),this._amdPolicy&&(t=this._amdPolicy.createScriptURL(t)),o.setAttribute("src",t),window.document.getElementsByTagName("head")[0].appendChild(o)})}async _workerLoadScript(t){return this._amdPolicy&&(t=this._amdPolicy.createScriptURL(t)),await import(t),this._defineCalls.pop()}async _nodeJSLoadScript(t){try{let e=(await import("module")).default,n=e.createRequire(import.meta.url),o=n("fs"),i=n("vm"),s=S.parse(t).fsPath,a=o.readFileSync(s).toString(),l=e.wrap(a.replace(/^#!.*/,""));return new i.Script(l).runInThisContext().apply(),this._defineCalls.pop()}catch(e){throw e}}},hA=new Map});function WZ(r,t){r.ext=r.ext??{},r.ext.web=r.ext.web??{},r.ext.web.consentDetails='{"GPC_DataSharingOptIn":false}';let e=r.baseData;(t||e?.measurements?.["common.msftInternal"]===1)&&(r.ext.utc=r.ext.utc??{},r.ext.utc.flags=8462029)}async function VZ(r,t,e){let n=yn?await IA("@microsoft/1ds-core-js","bundle/ms.core.min.js"):await import("@microsoft/1ds-core-js"),o=yn?await IA("@microsoft/1ds-post-js","bundle/ms.post.min.js"):await import("@microsoft/1ds-post-js"),i=new n.AppInsightsCore,s=new o.PostChannel,a={instrumentationKey:r,endpointUrl:J7,loggingLevelTelemetry:0,loggingLevelConsole:0,disableCookiesUsage:!0,disableDbgExt:!0,disableInstrumentationKeyValidation:!0,channels:[[s]]};if(e){a.extensionConfig={};let l={alwaysUseXhrOverride:!0,ignoreMc1Ms0CookieProcessing:!0,httpXHROverride:e};a.extensionConfig[s.identifier]=l}return i.initialize(a,[]),i.addTelemetryInitializer(l=>WZ(l,t)),i}var J7,HZ,BC,Y7=y(()=>{Q7();Ee();jt();me();Ur();J7="https://mobile.events.data.microsoft.com/OneCollector/1.0",HZ="https://mobile.events.data.microsoft.com/ping";BC=class{constructor(t,e,n,o,i){this._isInternalTelemetry=t;this._eventPrefix=e;this._defaultData=n;this._xhrOverride=i;this.endPointUrl=J7;this.endPointHealthUrl=HZ;this._defaultData||(this._defaultData={}),typeof o=="function"?this._aiCoreOrKey=o():this._aiCoreOrKey=o,this._asyncAiCore=null}_withAIClient(t){if(this._aiCoreOrKey){if(typeof this._aiCoreOrKey!="string"){t(this._aiCoreOrKey);return}this._asyncAiCore||(this._asyncAiCore=VZ(this._aiCoreOrKey,this._isInternalTelemetry,this._xhrOverride)),this._asyncAiCore.then(e=>{t(e)},e=>{st(e),console.error(e)})}}log(t,e){if(!this._aiCoreOrKey)return;e=Us(e,this._defaultData);let n=Yy(e),o=this._eventPrefix+"/"+t;try{this._withAIClient(i=>{i.pluginVersionString=n?.properties.version??"Unknown",i.track({name:o,baseData:{name:o,properties:n?.properties,measurements:n?.measurements}})})}catch{}}flush(){return this._aiCoreOrKey?new Promise(t=>{this._withAIClient(e=>{e.unload(!0,()=>{this._aiCoreOrKey=void 0,t(void 0)})})}):Promise.resolve(void 0)}}});async function BZ(r,t){let e=await t.request(r,Pe.None),n=(await mr(e.stream)).toString(),o=e.res.statusCode??200;return{headers:e.res.headers,statusCode:o,responseData:n}}async function qZ(r){let t=await import("https"),e={method:r.type,headers:r.headers};return new Promise((o,i)=>{let s=t.request(r.url??"",e,a=>{a.on("data",function(l){o({headers:a.headers,statusCode:a.statusCode??200,responseData:l.toString()})}),a.on("error",function(l){i(l)})});s.write(r.data,a=>{a&&i(a)}),s.end()})}async function $Z(r,t,e){let n=typeof t.data=="string"?t.data:new TextDecoder().decode(t.data),o={type:"POST",headers:{...t.headers,"Content-Type":"application/json","Content-Length":Buffer.byteLength(t.data).toString()},url:t.urlString,data:n,callSite:vO};try{let i=r?await BZ(o,r):await qZ(o);e(i.statusCode,i.headers,i.responseData)}catch{e(0,{})}}var qC,X7=y(()=>{Ke();Zt();Ti();Y7();qC=class extends BC{constructor(t,e,n,o,i){let s={sendPOST:(a,l)=>{$Z(t,a,l)}};super(e,n,o,i,s)}}});function Z7(r,t,e,n,o){let i=new vc;return r.forEach(s=>{let a=i.get(s.identifier);a&&o.warn(d(22334,null,a.extensionLocation.fsPath,s.extensionLocation.fsPath)),i.set(s.identifier,s)}),t.forEach(s=>{let a=i.get(s.identifier);if(a)if(a.isBuiltin){if(mN(a.version,s.version)){o.warn(`Skipping extension ${s.extensionLocation.path} in favour of the builtin extension ${a.extensionLocation.path}.`);return}s.isBuiltin=!0}else o.warn(d(22334,null,a.extensionLocation.fsPath,s.extensionLocation.fsPath));else if(s.isBuiltin){o.warn(`Skipping obsolete builtin extension ${s.extensionLocation.path}`);return}i.set(s.identifier,s)}),e.forEach(s=>{let a=i.get(s.identifier);a&&o.warn(d(22335,null,a.extensionLocation.fsPath,s.extensionLocation.fsPath)),i.set(s.identifier,s)}),n.forEach(s=>{o.info(d(22333,null,s.extensionLocation.fsPath));let a=i.get(s.identifier);a&&a.isBuiltin&&(s.isBuiltin=!0),i.set(s.identifier,s)}),Array.from(i.values())}var e9=y(()=>{jn();re();Xa()});var $C,zC,t9=y(()=>{Me();me();cr();oe();Qr();bl();fo();Cu();jn();e9();Ae();ri();$C=class{constructor(t,e,n,o,i,s,a,l){this._extensionManagementCLI=t;this._userDataProfilesService=n;this._extensionsScannerService=o;this._logService=i;this._extensionGalleryService=s;this._languagePackService=a;this._extensionManagementService=l;this._whenBuiltinExtensionsReady=Promise.resolve({failed:[]});this._whenExtensionsReady=Promise.resolve({failed:[]});let c=e.args["install-builtin-extension"];if(c){i.trace("Installing builtin extensions passed via args...");let p={isMachineScoped:!!e.args["do-not-sync"],installPreReleaseVersion:!!e.args["pre-release"]};Wt("code/server/willInstallBuiltinExtensions"),this._whenExtensionsReady=this._whenBuiltinExtensionsReady=t.installExtensions([],this._asExtensionIdOrVSIX(c),p,!!e.args.force).then(()=>(Wt("code/server/didInstallBuiltinExtensions"),i.trace("Finished installing builtin extensions"),{failed:[]}),m=>(i.error(m),{failed:[]}))}let u=e.args["install-extension"];if(u){i.trace("Installing extensions passed via args...");let p={isMachineScoped:!!e.args["do-not-sync"],installPreReleaseVersion:!!e.args["pre-release"],isApplicationScoped:!0};this._whenExtensionsReady=this._whenBuiltinExtensionsReady.then(()=>t.installExtensions(this._asExtensionIdOrVSIX(u),[],p,!!e.args.force)).then(async()=>(i.trace("Finished installing extensions"),{failed:[]}),async m=>{i.error(m);let f=[],h=await this._extensionManagementService.getInstalled(1);for(let v of this._asExtensionIdOrVSIX(u))typeof v=="string"&&(h.some(I=>ke(I.identifier,{id:v}))||f.push({id:v,installOptions:p}));return f.length?(i.info(`Relaying the following extensions to install later: ${f.map(v=>v.id).join(", ")}`),{failed:f}):(i.trace("No extensions to report as failed"),{failed:[]})})}}_asExtensionIdOrVSIX(t){return t.map(e=>/\.vsix$/i.test(e)?S.file(xo(e)?e:q(Pr(),e)):e)}whenExtensionsReady(){return this._whenExtensionsReady}async scanExtensions(t,e,n,o,i){Wt("code/server/willScanExtensions"),this._logService.trace(`Scanning extensions using UI language: ${t}`),await this._whenBuiltinExtensionsReady;let s=o?o.filter(l=>l.scheme===B.file).map(l=>l.fsPath):void 0;e=e??this._userDataProfilesService.defaultProfile.extensionsResource;let a=await this._scanExtensions(e,t??pn,n,s,i);return this._logService.trace("Scanned Extensions",a),this._massageWhenConditions(a),Wt("code/server/didScanExtensions"),a}async _scanExtensions(t,e,n,o,i){await this._ensureLanguagePackIsInstalled(e,i);let[s,a,l,c]=await Promise.all([this._scanBuiltinExtensions(e),this._scanInstalledExtensions(t,e),this._scanWorkspaceInstalledExtensions(e,n),this._scanDevelopedExtensions(e,o)]);return Z7(s,a,l,c,this._logService)}async _scanDevelopedExtensions(t,e){return e?(await Promise.all(e.map(n=>this._extensionsScannerService.scanOneOrMultipleExtensions(S.file(qn(n)),1,{language:t})))).flat().map(n=>qg(n,!0)):[]}async _scanWorkspaceInstalledExtensions(t,e){let n=[];if(e?.length){let o=await Promise.all(e.map(i=>this._extensionsScannerService.scanExistingExtension(i,1,{language:t})));for(let i of o)i&&n.push(qg(i,!1))}return n}async _scanBuiltinExtensions(t){return(await this._extensionsScannerService.scanSystemExtensions({language:t})).map(n=>qg(n,!1))}async _scanInstalledExtensions(t,e){return(await this._extensionsScannerService.scanUserExtensions({profileLocation:t,language:e,useCache:!0})).map(o=>qg(o,!1))}async _ensureLanguagePackIsInstalled(t,e){if(!(t===Gi||!this._extensionGalleryService.isEnabled())){try{if((await this._languagePackService.getInstalledLanguages()).find(o=>o.id===t)){this._logService.trace(`Language Pack ${t} is already installed. Skipping language pack installation.`);return}}catch(n){this._logService.error(n)}if(!e){this._logService.trace(`No language pack id provided for language ${t}. Skipping language pack installation.`);return}this._logService.trace(`Language Pack ${e} for language ${t} is not installed. It will be installed now.`);try{await this._extensionManagementCLI.installExtensions([e],[],{isMachineScoped:!0},!0)}catch(n){this._logService.error(n)}}}_massageWhenConditions(t){let e=(l,c)=>l.replace(/file/g,"vscode-remote"),n=l=>{let c="";return c+=l.global?"g":"",c+=l.ignoreCase?"i":"",c+=l.multiline?"m":"",new RegExp(e(l.source,!0),c)},o=new class{mapDefined(l){return Os.create(l)}mapNot(l){return Ns.create(l)}mapEquals(l,c){return l==="resourceScheme"&&typeof c=="string"?Ha.create(l,e(c,!1)):Ha.create(l,c)}mapNotEquals(l,c){return l==="resourceScheme"&&typeof c=="string"?Wa.create(l,e(c,!1)):Wa.create(l,c)}mapGreater(l,c){return Va.create(l,c)}mapGreaterEquals(l,c){return ic.create(l,c)}mapSmaller(l,c){return sc.create(l,c)}mapSmallerEquals(l,c){return ac.create(l,c)}mapRegex(l,c){return l==="resourceScheme"&&c?Ba.create(l,n(c)):Ba.create(l,c)}mapIn(l,c){return Od.create(l,c)}mapNotIn(l,c){return Nd.create(l,c)}},i=l=>{if(!l||!l.when||!/resourceScheme/.test(l.when))return;let c=Je.deserialize(l.when);if(!c)return;let u=c.map(o);l.when=u.serialize()},s=l=>{if(Array.isArray(l))for(let c of l)i(c);else i(l)},a=l=>{for(let c in l)s(l[c])};t.forEach(l=>{l.contributes&&(l.contributes.menus&&a(l.contributes.menus),l.contributes.keybindings&&s(l.contributes.keybindings),l.contributes.views&&a(l.contributes.views))})}},zC=class{constructor(t,e){this.service=t;this.getUriTransformer=e}listen(t,e){throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"whenExtensionsReady":return await this.service.whenExtensionsReady();case"scanExtensions":{let i=n[0],s=n[1]?S.revive(o.transformIncoming(n[1])):void 0,a=Array.isArray(n[2])?n[2].map(p=>S.revive(o.transformIncoming(p))):void 0,l=Array.isArray(n[3])?n[3].map(p=>S.revive(o.transformIncoming(p))):void 0,c=n[4];return(await this.service.scanExtensions(i,s,a,l,c)).map(p=>Br(p,o))}}throw new Error("Invalid call")}}});var omt,n9,o9=y(()=>{Z();omt=D("IRemoteExtensionsScannerService"),n9="remoteExtensionsScanner"});var im,r9=y(()=>{K();Ae();YI();Tn();sb();im=class extends _{constructor(e,n){super();this._reconnectConstants=e;this._environmentService=n}start(){let e={serverName:"Pty Host",args:["--type=ptyHost","--logsPath",this._environmentService.logsHome.with({scheme:B.file}).fsPath],env:{VSCODE_ESM_ENTRYPOINT:"vs/platform/terminal/node/ptyHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",VSCODE_RECONNECT_GRACE_TIME:this._reconnectConstants.graceTime,VSCODE_RECONNECT_SHORT_GRACE_TIME:this._reconnectConstants.shortGraceTime,VSCODE_RECONNECT_SCROLLBACK:this._reconnectConstants.scrollback}},n=XU(this._environmentService.args,this._environmentService.isBuilt);n&&(n.break&&n.port?e.debugBrk=n.port:!n.break&&n.port&&(e.debug=n.port));let o=new al(Dt.asFileUri("bootstrap-fork").fsPath,e),i=new ie;return i.add(o),{client:o,store:i,onDidProcessExit:o.onDidProcessExit}}};im=C([b(1,_t)],im)});var i9,s9,a9=y(()=>{i9="AI_AGENT",s9="github_copilot_vscode_agent"});function bA(r){switch(r){case 0:return"off";case 1:return"crash";case 2:return"error";case 3:return"all";default:return"off"}}var l9,GC=y(()=>{Rn();l9="VSCODE_AGENT_HOST_LAUNCH_KIND"});function c9(r,t){let e=r?.trim();return e?H0(e,zZ):t?.trim()||"Subagent"}var zZ,d9,u9,SA=y(()=>{Tt();bt();oe();B_();zZ=60;(t=>{function r(e){if(e.kind!=="subagent_started")return;let n;try{n=C5(e.chat)}catch{return}return{session:S.parse(n),chat:S.parse(x5(n,e.toolCallId)),parent:{chat:e.chat,toolCallId:e.toolCallId},title:c9(e.taskDescription,e.agentDisplayName)}}t.toSpawnEvent=r})(d9||={});(n=>{function r(o,i){return S.from({scheme:o,path:`/${i}`})}n.uri=r;function t(o){return(typeof o=="string"?S.parse(o):o).path.substring(1)}n.id=t;function e(o){return(typeof o=="string"?S.parse(o):o).scheme||void 0}n.provider=e})(u9||={})});function k9(r){let t=e=>r.inspect(e).policyValue;return{enabled:t(rv),exporterType:t(iv),otlpProtocol:t(xA),otlpEndpoint:t(sv),captureContent:t(av),captureIdentity:t(lv),outfile:t(cv),serviceName:t(CA),resourceAttributes:t(EA)}}function p9(r){if(!r)return;let t=Object.entries(r).filter(([e,n])=>e!==""&&typeof n=="string").map(([e,n])=>`${e}=${n}`);return t.length>0?t.join(","):void 0}function D9(r,t,e={},n={}){let o={},i=(l,c)=>{c===void 0||c===""||t[l]!==void 0||(o[l]=c)},s=(l,c)=>{c!==void 0&&(o[l]=c)};r.enabled&&i(cn.Enabled,"true"),i(cn.ExporterType,r.exporterType),i(cn.OtlpEndpoint,r.otlpEndpoint),i(cn.ServiceName,r.serviceName),i(cn.ResourceAttributes,p9(r.resourceAttributes)),i(cn.FilePath,r.outfile),r.captureContent!==void 0&&i(cn.CaptureContent,r.captureContent?"true":"false"),r.captureIdentity!==void 0&&n[cn.CaptureIdentity]===void 0&&i(cn.CaptureIdentity,r.captureIdentity?"true":"false"),r.dbSpanExporterEnabled&&i(cn.DbSpanExporterEnabled,"true"),e.enabled!==void 0&&(s(cn.Enabled,e.enabled?"true":"false"),e.enabled||(s(cn.OtlpEndpoint,""),s(cn.OtlpEndpointAlt,""),s(cn.FilePath,""))),e.exporterType!==void 0&&(s(cn.ExporterType,e.exporterType),s(cn.FilePath,"")),e.otlpProtocol!==void 0&&e.otlpProtocol!==""&&(s(cn.OtlpProtocol,e.otlpProtocol),s(cn.OtlpTracesProtocol,e.otlpProtocol),s(cn.OtlpMetricsProtocol,e.otlpProtocol)),e.otlpEndpoint!==void 0&&(s(cn.OtlpEndpoint,e.otlpEndpoint),s(cn.FilePath,"")),e.outfile!==void 0&&s(cn.FilePath,e.outfile),e.captureContent!==void 0&&s(cn.CaptureContent,e.captureContent?"true":"false"),e.captureIdentity!==void 0&&s(cn.CaptureIdentity,e.captureIdentity?"true":"false"),e.serviceName!==void 0&&e.serviceName!==""&&s(cn.ServiceName,e.serviceName);let a=p9(e.resourceAttributes);return a!==void 0&&s(cn.ResourceAttributes,a),o}function _9(r,t){let e={},n=(o,i)=>{i===void 0||i===""||t[o]!==void 0||(e[o]=i)};return n(JZ,r.codexSdkRoot),n(YZ,r.codexHome),Array.isArray(r.codexBinaryArgs)&&r.codexBinaryArgs.length>0&&n(XZ,JSON.stringify(r.codexBinaryArgs)),r.claudeAgentEnabled!==void 0&&n(jZ,r.claudeAgentEnabled?"true":"false"),r.codexAgentEnabled!==void 0&&n(QZ,r.codexAgentEnabled?"true":"false"),e}var Omt,m9,g9,f9,h9,v9,y9,I9,b9,S9,x9,C9,E9,w9,T9,R9,KC,jC,P9,jZ,QZ,QC,JC,YC,JZ,YZ,XZ,rv,iv,xA,sv,av,lv,cv,CA,EA,XC,cn,Nmt,Umt,cd=y(()=>{jt();Z();SA();SA();Omt=1024*1024,m9="chat.agentHost.systemProxy.enabled",g9="chat.agentHost.githubMcpServer.enabled",f9="chat.agentHost.experimental.activeAgentTitleGeneration",h9="chat.agentHost.experimental.deferredTitleGeneration",v9="chat.agentHost.experimental.mcpToolRouting",y9="chat.agentHost.experimental.markdownPlanRichLinks",I9="chat.experimental.workspaceSnapshot",b9="chat.agentHost.agentOrchestrationLimits",S9="chat.artifactTools.enabled",x9="chat.canvases.enabled",C9="chat.agentHost.experimental.autoAttachPullRequests",E9="chat.agentHost.experimental.overlapProviderPreparation",w9="chat.agentHost.copilotAgent.multiRootEnabled",T9="chat.agentHost.claudeAgent.multiRootEnabled",R9="chat.agentHost.codexAgent.multiRootEnabled",KC="chat.agentHost.claudeAgent.enabled",jC="chat.agentHost.codexAgent.enabled",P9="chat.agentHost.byokModels.enabled",jZ="VSCODE_AGENT_HOST_CLAUDE_AGENT_ENABLED",QZ="VSCODE_AGENT_HOST_CODEX_AGENT_ENABLED",QC="chat.agentHost.codexAgent.sdkRoot",JC="chat.agentHost.codexAgent.codexHome",YC="chat.agentHost.codexAgent.binaryArgs",JZ="VSCODE_AGENT_HOST_CODEX_SDK_ROOT",YZ="CODEX_HOME",XZ="VSCODE_AGENT_HOST_CODEX_APP_SERVER_ARGS",rv="chat.agentHost.otel.enabled",iv="chat.agentHost.otel.exporterType",xA="chat.agentHost.otel.otlpProtocol",sv="chat.agentHost.otel.otlpEndpoint",av="chat.agentHost.otel.captureContent",lv="chat.agentHost.otel.captureIdentity",cv="chat.agentHost.otel.outfile",CA="chat.agentHost.otel.serviceName",EA="chat.agentHost.otel.resourceAttributes",XC="chat.agentHost.otel.dbSpanExporter.enabled",cn=Object.freeze({Enabled:"COPILOT_OTEL_ENABLED",ExporterType:"COPILOT_OTEL_EXPORTER_TYPE",OtlpEndpoint:"OTEL_EXPORTER_OTLP_ENDPOINT",OtlpEndpointAlt:"COPILOT_OTEL_ENDPOINT",OtlpProtocol:"OTEL_EXPORTER_OTLP_PROTOCOL",OtlpTracesProtocol:"OTEL_EXPORTER_OTLP_TRACES_PROTOCOL",OtlpMetricsProtocol:"OTEL_EXPORTER_OTLP_METRICS_PROTOCOL",OtlpHeaders:"OTEL_EXPORTER_OTLP_HEADERS",CaptureContent:"OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT",CaptureIdentity:"COPILOT_OTEL_CAPTURE_IDENTITY",FilePath:"COPILOT_OTEL_FILE_EXPORTER_PATH",SourceName:"COPILOT_OTEL_SOURCE_NAME",ServiceName:"OTEL_SERVICE_NAME",ResourceAttributes:"OTEL_RESOURCE_ATTRIBUTES",DbSpanExporterEnabled:"COPILOT_OTEL_DB_SPAN_EXPORTER_ENABLED"});Nmt=D("agentService"),Umt=D("agentHostService")});var wA=y(()=>{});var sm,M9=y(()=>{sm={ParseError:-32700,InvalidRequest:-32600,MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603}});var A9=y(()=>{M9()});var dd,L9=y(()=>{W_();A_();A9();dd=class extends Error{constructor(e,n,o){super(n);this.code=e;this.data=o}}});function Ue(r){let t=RA(r);return{protocol:r,validate:o=>{try{return t(o,""),!0}catch{return!1}},assertValid:(o,i="")=>t(o,i)}}function dv(r){return{definition:r,toProtocol(){let t={};for(let e of Object.keys(r))t[e]=r[e].protocol;return{type:"object",properties:t}},values(t){let e=t;for(let n of Object.keys(r)){let o=e[n];if(o===void 0)continue;r[n].assertValid(o,n)}return{...e}},validate(t,e){let n=r[t];return n?n.validate(e):!1},assertValid(t,e){let n=r[t];if(!n)throw new dd(sm.InvalidParams,`Unknown schema key '${t}'`);n.assertValid(e,t)},validateOrDefault(t,e){let n={},o=t??{};for(let i of Object.keys(r)){let s=r[i],a=o[i];a!==void 0&&s.validate(a)?n[i]=a:Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n}}}function RA(r){if(r.type==="object"&&r.properties){let t={};for(let n of Object.keys(r.properties))t[n]=RA(r.properties[n]);let e=new Set(r.required??[]);return(n,o)=>{if(typeof n!="object"||n===null||Array.isArray(n))throw ud(o,"object",n);let i=n;for(let s of Object.keys(t)){let a=tee(o,s);if(i[s]===void 0){if(e.has(s))throw new dd(sm.InvalidParams,`Missing required property at '${a}'`);continue}t[s](i[s],a)}}}if(r.type==="array"&&r.items){let t=RA(r.items);return(e,n)=>{if(!Array.isArray(e))throw ud(n,"array",e);for(let o=0;o<e.length;o++)t(e[o],`${n}[${o}]`)}}return eee(r)}function eee(r){let t=r.enumDynamic===!0;return(e,n)=>{switch(r.type){case"string":if(typeof e!="string")throw ud(n,"string",e);break;case"number":if(typeof e!="number")throw ud(n,"number",e);break;case"boolean":if(typeof e!="boolean")throw ud(n,"boolean",e);break;case"array":if(!Array.isArray(e))throw ud(n,"array",e);break;case"object":if(typeof e!="object"||e===null||Array.isArray(e))throw ud(n,"object",e);break}if(r.enum&&!t&&!r.enum.includes(e))throw new dd(sm.InvalidParams,`Invalid value at '${n||"<root>"}': ${O9(e)} is not one of [${r.enum.map(o=>JSON.stringify(o)).join(", ")}]`)}}function ud(r,t,e){return new dd(sm.InvalidParams,`Invalid value at '${r||"<root>"}': expected ${t}, got ${O9(e)}`)}function tee(r,t){return r?`${r}.${t}`:t}function O9(r){try{return JSON.stringify(r)}catch{return String(r)}}var N9,nee,cgt,oee,ree,iee,see,PA,kA,U9,F9,H9,W9,V9,B9,DA,_A,MA,aee,TA,q9,dgt,AA,LA,OA,NA,UA,FA,HA,WA,VA,lee,cee,dee,uee,pee,BA,qA,$A,$9,mee,gee,fee,ugt,pgt,uv=y(()=>{re();hh();tn();Dx();Rn();GC();wA();L9();N9=Ue({type:"object",title:d(2042,null),description:d(2046,null),properties:{allow:{type:"array",title:d(2043,null),items:{type:"string",title:d(2045,null)}},deny:{type:"array",title:d(2044,null),items:{type:"string",title:d(2045,null)}}},default:{allow:[],deny:[]},sessionMutable:!0}),nee=Ue({type:"array",title:d(2049,null),description:d(2053,null),items:{type:"object",title:d(2050,null),properties:{shell:{type:"string",title:d(2052,null),enum:["bash","powershell"]},script:{type:"string",title:d(2051,null)}},required:["shell","script"]},readOnly:!0,sessionMutable:!0}),cgt=dv({sandboxEnabled:Ue({type:"string",title:d(2047,null),description:d(2048,null),enum:["default","on","off"],sessionMutable:!0}),autoApprove:Ue({type:"string",title:d(2026,null),description:d(2033,null),enum:["default","assisted","autoApprove"],enumLabels:[d(2031,null),d(2027,null),d(2029,null)],enumDescriptions:[d(2032,null),d(2028,null),d(2030,null)],default:"default",sessionMutable:!0}),permissions:N9,mode:Ue({type:"string",title:d(2034,null),description:d(2041,null),enum:["interactive","plan","autopilot"],enumLabels:[d(2037,null),d(2039,null),d(2035,null)],enumDescriptions:[d(2038,null),d(2040,null),d(2036,null)],default:"interactive",sessionMutable:!0}),shellInitScripts:nee}),oee="telemetryLevel",ree="editTelemetryEnabled",iee="disableRepoInfoTelemetry",see="sessionSyncEnabled",PA="byokModelsEnabled",kA="codexAgentEnabled",U9="editAutoApprovePatterns",F9="terminalAutoApproveEnabled",H9="globalAutoApproveEnabled",W9="autoApprovePolicyRestricted",V9="autoReplyEnabled",B9="workspaceTrust",DA="systemProxyEnabled",_A="githubMcpServerEnabled",MA="mcpToolRoutingEnabled",aee="mcpConnectorsEnabled",TA={Proxy:"http.proxy",ProxyKerberosServicePrincipal:"http.proxyKerberosServicePrincipal",NoProxy:"http.noProxy"},q9={[TA.Proxy]:Ue({type:"string",title:d(1969,null),description:d(1968,null)}),[TA.ProxyKerberosServicePrincipal]:Ue({type:"string",title:d(1971,null),description:d(1970,null)}),[TA.NoProxy]:Ue({type:"array",title:d(1967,null),description:d(1965,null),items:{type:"string",title:d(1966,null)},default:[]})},dgt=dv(q9),AA="activeAgentTitleGeneration",LA="deferredTitleGeneration",OA="markdownPlanRichLinksEnabled",NA="workspaceSnapshotEnabled",UA="agentOrchestrationLimits",FA="artifactTools",HA="canvasesEnabled",WA="autoAttachPullRequests",VA="overlapProviderPreparation",lee="migrateLegacyCopilotCliEnabled",cee="sessionCatalogEnabled",dee="showExternalSessions",uee="autoArchiveMergedSessionsAfterDays",pee="autoDeleteArchivedMergedSessionsAfterDays",BA="copilotMultiRootEnabled",qA="claudeMultiRootEnabled",$A="codexMultiRootEnabled",$9="terminalAutoApproveRules",mee="mcpServers",gee={type:{type:"string",title:d(1992,null),description:d(1991,null),enum:["stdio","http"]},command:{type:"string",title:d(1980,null),description:d(1979,null)},args:{type:"array",title:d(1978,null),description:d(1977,null),items:{type:"string",title:d(1976,null)}},env:{type:"object",title:d(1987,null),description:d(1986,null)},cwd:{type:"string",title:d(1982,null),description:d(1981,null)},url:{type:"string",title:d(1994,null),description:d(1993,null)},headers:{type:"object",title:d(1989,null),description:d(1988,null)}},fee={"<serverName>":{type:"object",title:d(1985,null),description:d(1984,null),properties:gee}},ugt=dv({...q9,permissions:N9,[iee]:Ue({type:"boolean",title:d(1956,null),description:d(1955,null),default:!1}),[oee]:Ue({type:"string",title:d(2015,null),description:d(2014,null),enum:["all","error","crash","off"],default:"all"}),[ree]:Ue({type:"boolean",title:d(1960,null),description:d(1959,null),default:!0}),[see]:Ue({type:"boolean",title:d(2004,null),description:d(2003,null),default:!1}),[PA]:Ue({type:"boolean",title:d(1942,null),description:d(1941,null),default:!1}),[kA]:Ue({type:"boolean",title:d(1948,null),description:d(1947,null),default:!1}),[F9]:Ue({type:"boolean",title:d(2017,null),description:d(2016,null),default:!0}),[H9]:Ue({type:"boolean",title:d(1964,null),description:d(1963,null),default:!1}),[W9]:Ue({type:"boolean",title:d(1932,null),default:!1,readOnly:!0}),[B9]:Ue({type:"object",title:d(2022,null),properties:{enabled:{type:"boolean",title:d(2023,null)},trustedUris:{type:"array",title:d(2024,null),items:{type:"string",title:d(2025,null)}}},required:["enabled","trustedUris"],readOnly:!0}),[V9]:Ue({type:"boolean",title:d(1940,null),description:d(1939,null),default:!1}),[DA]:Ue({type:"boolean",title:d(2013,null),description:d(2012,null),default:!0}),[_A]:Ue({type:"boolean",title:d(1962,null),description:d(1961,null),default:!0}),[MA]:Ue({type:"boolean",title:d(1996,null),description:d(1995,null),default:!1}),[AA]:Ue({type:"boolean",title:d(1925,null),description:d(1924,null),default:!1}),[LA]:Ue({type:"boolean",title:d(1954,null),description:d(1953,null),default:!1}),[aee]:Ue({type:"boolean",title:d(1975,null),description:d(1974,null),default:!1}),[OA]:Ue({type:"boolean",title:d(1973,null),description:d(1972,null),default:!1}),[NA]:Ue({type:"boolean",title:d(2021,null),description:d(2020,null),default:!1}),[UA]:Ue({type:"string",title:d(1929,null),description:d(1926,null),enum:["on","off"],enumDescriptions:[d(1928,null),d(1927,null)],default:"on"}),[FA]:Ue({type:"boolean",title:d(1931,null),description:d(1930,null),default:!1}),[HA]:Ue({type:"boolean",title:d(1944,null),description:d(1943,null),default:!1}),[WA]:Ue({type:"boolean",title:d(1936,null),description:d(1935,null),default:!0}),[VA]:Ue({type:"boolean",title:d(2000,null),description:d(1999,null),default:!1}),[lee]:Ue({type:"boolean",title:d(1998,null),description:d(1997,null),default:!1}),[cee]:Ue({type:"boolean",title:d(2002,null),description:d(2001,null),default:!0}),[dee]:Ue({type:"string",title:d(2011,null),description:d(2005,null),enum:["none","recent","last24Hours","last7Days","last30Days"],enumDescriptions:[d(2009,null),d(2010,null),d(2006,null),d(2008,null),d(2007,null)],default:"none"}),[uee]:Ue({type:"number",title:d(1934,null),description:d(1933,null),default:0}),[pee]:Ue({type:"number",title:d(1938,null),description:d(1937,null),default:0}),[BA]:Ue({type:"boolean",title:d(1952,null),description:d(1951,null),default:!1}),[qA]:Ue({type:"boolean",title:d(1946,null),description:d(1945,null),default:!1}),[$A]:Ue({type:"boolean",title:d(1950,null),description:d(1949,null),default:!1}),[U9]:Ue({type:"object",title:d(1958,null),description:d(1957,null),default:OW}),[$9]:Ue({type:"object",title:d(2019,null),description:d(2018,null),default:{}}),[mee]:Ue({type:"object",title:d(1990,null),description:d(1983,null),properties:fee,default:{}})}),pgt=new Set(["permissions",H9,W9,F9,$9,U9,V9,B9])});var or,Hl,Wl,bgt,hee,vee,Sgt,z9=y(()=>{re();_i();hh();uv();L_();wA();or={Enabled:"agentMerge.enabled",AddressReviews:"agentMerge.addressReviews",FixCI:"agentMerge.fixCI",ResolveConflicts:"agentMerge.resolveConflicts",MergePullRequest:"agentMerge.mergePullRequest",MergeMethod:"agentMerge.mergeMethod",ReplyAttribution:"agentMerge.replyAttribution"},Hl={Enabled:"chat.agentMerge.enabled",AddressReviews:"chat.agentMerge.addressReviews",FixCI:"chat.agentMerge.fixCI",ResolveConflicts:"chat.agentMerge.resolveConflicts",MergePullRequest:"chat.agentMerge.mergePullRequest",MergeMethod:"chat.agentMerge.mergeMethod",ReplyAttribution:"chat.agentMerge.replyAttribution"},Wl="agentMerge",bgt=dv({[or.Enabled]:Ue({type:"boolean",title:d(2116,null),default:!1}),[or.AddressReviews]:Ue({type:"boolean",title:d(2115,null),default:!0}),[or.FixCI]:Ue({type:"boolean",title:d(2117,null),default:!0}),[or.ResolveConflicts]:Ue({type:"boolean",title:d(2121,null),default:!0}),[or.MergePullRequest]:Ue({type:"string",title:d(2119,null),enum:["always","ifUnchanged","never"],default:"never"}),[or.MergeMethod]:Ue({type:"string",title:d(2118,null),enum:["auto","squash","merge","rebase"],default:"auto"}),[or.ReplyAttribution]:Ue({type:"boolean",title:d(2120,null),default:!0})}),hee=["topLevelComments","submittedReviews","reviewThreads"],vee=["checks","mergeability"],Sgt=["core",...hee,...vee]});var G9,K9=y(()=>{re();Or();xi();uv();cd();G9={[S9]:{type:"boolean",description:d(2179,null),default:je.quality!=="stable",scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:FA}}}});var j9,Q9=y(()=>{re();Or();xi();uv();cd();j9={[f9]:{type:"boolean",description:d(2589,null),default:je.quality!=="stable",scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:AA}},[h9]:{type:"boolean",description:d(2590,null),default:!1,scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:LA}}}});function Iee(r){let t=r.managedSettings?.[Qc];if(t==="grpc")return"otlp-grpc";if(t==="http/protobuf"||t==="http/json")return"otlp-http"}function bee(r){let t=r.managedSettings?.[$D];return typeof t=="boolean"?t:r.managedSettings?.[GD]===!0?!1:void 0}function See(r){let t=r.managedSettings;if(t?.[Eh]!==void 0||t?.[Qc]!==void 0)return""}var yee,J9=y(()=>{re();Pg();Or();Nx();xi();Vo();cd();uv();z9();K9();Q9();yee=ht.as(Kn.Configuration);yee.registerConfiguration({id:"chatAgentHostStarter",title:d(2114,null),type:"object",properties:{[Hl.Enabled]:{type:"boolean",description:d(2099,null),default:je.quality!=="stable",scope:1,tags:["experimental",Wl],experiment:{mode:"auto"},agentHost:{key:or.Enabled}},[Hl.AddressReviews]:{type:"boolean",description:d(2098,null),default:!0,scope:1,tags:["experimental",Wl],agentHost:{key:or.AddressReviews}},[Hl.FixCI]:{type:"boolean",description:d(2100,null),default:!0,scope:1,tags:["experimental",Wl],agentHost:{key:or.FixCI}},[Hl.ResolveConflicts]:{type:"boolean",description:d(2111,null),default:!0,scope:1,tags:["experimental",Wl],agentHost:{key:or.ResolveConflicts}},[Hl.MergePullRequest]:{type:"string",enum:["always","ifUnchanged","never"],enumDescriptions:[d(2107,null),d(2108,null),d(2109,null)],description:d(2106,null),default:"never",scope:1,tags:["experimental",Wl],agentHost:{key:or.MergePullRequest}},[Hl.MergeMethod]:{type:"string",enum:["auto","squash","merge","rebase"],enumDescriptions:[d(2102,null),d(2105,null),d(2103,null),d(2104,null)],description:d(2101,null),default:"auto",scope:1,tags:["experimental",Wl],agentHost:{key:or.MergeMethod}},[Hl.ReplyAttribution]:{type:"boolean",description:d(2110,null),default:!0,scope:1,tags:["experimental",Wl],agentHost:{key:or.ReplyAttribution}},...j9,...G9,[x9]:{type:"boolean",description:d(2112,null),default:!1,scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:HA}},[C9]:{type:"boolean",description:d(2068,null),default:je.quality==="stable",scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:WA}},[y9]:{type:"boolean",description:d(2069,null),default:!1,scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:OA}},[E9]:{type:"boolean",description:d(2071,null),default:!1,scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:VA}},[I9]:{type:"boolean",description:d(2113,null),default:!1,scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:NA}},[b9]:{type:"string",enum:["on","off"],enumDescriptions:[d(2056,null),d(2055,null)],description:d(2054,null),default:"on",scope:1,tags:["experimental","advanced"],agentHost:{key:UA}},[m9]:{type:"boolean",description:d(2097,null),default:!0,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:DA}},[g9]:{type:"boolean",description:d(2072,null),default:!0,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:_A}},[v9]:{type:"boolean",description:d(2070,null),default:!1,tags:["experimental","advanced"],agentHost:{key:MA}},[w9]:{type:"boolean",description:d(2067,null),default:!1,included:!1,experiment:{mode:"auto"},agentHost:{key:BA}},[T9]:{type:"boolean",description:d(2060,null),default:!1,included:!1,experiment:{mode:"auto"},agentHost:{key:qA}},[R9]:{type:"boolean",description:d(2065,null),default:!1,included:!1,experiment:{mode:"auto"},agentHost:{key:$A}},[KC]:{type:"boolean",description:d(2058,null),default:!0,tags:["experimental","advanced"],policy:{name:"Claude3PIntegration",category:"InteractiveSession",minimumVersion:"1.113",value:JD,localization:{description:{key:"chat.agentHost.claudeAgent.enabled.policy",value:d(2059,null)}}}},[P9]:{type:"boolean",description:d(2057,null),default:!1,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:PA,scope:"local"}},[jC]:{type:"boolean",description:d(2063,null),default:je.quality!=="stable",tags:["experimental"],experiment:{mode:"startup"},agentHost:{key:kA},policy:{name:"Codex3PIntegration",category:"InteractiveSession",minimumVersion:"1.126",value:JD,localization:{description:{key:"chat.agentHost.codexAgent.enabled.policy",value:d(2064,null)}}}},[QC]:{type:"string",description:d(2066,null),default:"",tags:["experimental","advanced"],included:je.quality!=="stable"},[JC]:{type:"string",description:d(2062,null),default:"",tags:["experimental","advanced"],included:je.quality!=="stable"},[YC]:{type:"array",items:{type:"string"},description:d(2061,null),default:[],tags:["experimental","advanced"],included:je.quality!=="stable"},[rv]:{type:"boolean",markdownDescription:d(2077,null),default:!1,scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelEnabled",category:"InteractiveSession",minimumVersion:"1.127",value:_l(qD),managedSettings:{[qD]:{type:"boolean"}},localization:{description:{key:"chat.agentHost.otel.enabled.policy",value:d(2078,null)}}}},[iv]:{type:"string",enum:["otlp-http","otlp-grpc","console","file"],markdownDescription:d(2079,null),default:"otlp-http",scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelProtocol",category:"InteractiveSession",minimumVersion:"1.127",value:Iee,managedSettings:{[Qc]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.protocol.policy",value:d(2088,null)},enumDescriptions:[{key:"chat.agentHost.otel.protocol.policy.otlpHttp",value:d(2092,null)},{key:"chat.agentHost.otel.protocol.policy.otlpGrpc",value:d(2091,null)},{key:"chat.agentHost.otel.protocol.policy.console",value:d(2089,null)},{key:"chat.agentHost.otel.protocol.policy.file",value:d(2090,null)}]}}},[xA]:{type:"string",markdownDescription:d(2084,null),default:"",scope:1,included:!1,tags:["experimental","advanced"],policy:{name:"CopilotOtelOtlpProtocol",category:"InteractiveSession",minimumVersion:"1.127",value:_l(Qc),managedSettings:{[Qc]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.otlpProtocol.policy",value:d(2085,null)}}}},[sv]:{type:"string",markdownDescription:d(2082,null),default:"",scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelEndpoint",category:"InteractiveSession",minimumVersion:"1.127",value:_l(Eh),managedSettings:{[Eh]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.otlpEndpoint.policy",value:d(2083,null)}}}},[av]:{type:"boolean",markdownDescription:d(2073,null),default:!1,scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelCaptureContent",category:"InteractiveSession",minimumVersion:"1.127",value:bee,managedSettings:{[$D]:{type:"boolean"},[GD]:{type:"boolean"}},localization:{description:{key:"chat.agentHost.otel.captureContent.policy",value:d(2074,null)}}}},[lv]:{type:"boolean",default:!1,scope:1,included:!1,policy:{name:"CopilotOtelCaptureIdentity",category:"InteractiveSession",minimumVersion:"1.140",value:_l(zD),managedSettings:{[zD]:{type:"boolean"}},localization:{description:{key:"chat.agentHost.otel.captureIdentity.policy",value:d(2075,null)}}}},[cv]:{type:"string",markdownDescription:d(2086,null),default:"",scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelOutfile",category:"InteractiveSession",minimumVersion:"1.127",value:See,managedSettings:{[Eh]:{type:"string"},[Qc]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.outfile.policy",value:d(2087,null)}}}},[XC]:{type:"boolean",markdownDescription:d(2076,null),default:!1,scope:1,tags:["experimental","advanced"]},[CA]:{type:"string",markdownDescription:d(2095,null),default:"",scope:1,included:!1,tags:["experimental","advanced"],policy:{name:"CopilotOtelServiceName",category:"InteractiveSession",minimumVersion:"1.127",value:_l(KD),managedSettings:{[KD]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.serviceName.policy",value:d(2096,null)}}}},[EA]:{type:"object",additionalProperties:{type:["string"]},default:{},scope:1,included:!1,tags:["experimental","advanced"],markdownDescription:d(2093,null),policy:{name:"CopilotOtelResourceAttributes",category:"InteractiveSession",minimumVersion:"1.127",value:_l(jD),managedSettings:{[jD]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.resourceAttributes.policy",value:d(2094,null)}}}},"chat.agentHost.otel.headers":{type:"object",additionalProperties:{type:["string"]},default:{},scope:1,included:!1,tags:["experimental","advanced"],markdownDescription:d(2080,null),policy:{name:"CopilotOtelHeaders",category:"InteractiveSession",minimumVersion:"1.127",value:_l(QD),managedSettings:{[QD]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.headers.policy",value:d(2081,null)}}}}}})});import*as X9 from"fs";var pd,Z9=y(()=>{K();Ae();Ks();YI();a9();tn();Tn();sb();De();Cg();Rn();GC();cd();J9();pd=class extends _{constructor(e,n,o,i){super();this._configurationService=e;this._environmentService=n;this._logService=o;this._telemetryService=i}setWebSocketConfig(e){this._wsConfig=e}async start(){let e=await this._resolveShellEnv(),n={...e,[i9]:s9,VSCODE_ESM_ENTRYPOINT:"vs/platform/agentHost/node/agentHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",[l9]:"vscode_cli"},o=_9({codexSdkRoot:this._configurationService.getValue(QC),codexHome:this._configurationService.getValue(JC),codexBinaryArgs:this._configurationService.getValue(YC),claudeAgentEnabled:this._configurationService.getValue(KC),codexAgentEnabled:this._configurationService.getValue(jC)},process.env);Object.assign(n,o);let i=D9({enabled:this._configurationService.getValue(rv),exporterType:this._configurationService.getValue(iv),otlpEndpoint:this._configurationService.getValue(sv),captureContent:this._configurationService.getValue(av),captureIdentity:this._configurationService.getValue(lv),outfile:this._configurationService.getValue(cv),dbSpanExporterEnabled:this._configurationService.getValue(XC)},process.env,k9(this._configurationService),e);Object.assign(n,i),this._wsConfig&&(this._wsConfig.port&&(n.VSCODE_AGENT_HOST_PORT=this._wsConfig.port),this._wsConfig.socketPath&&(n.VSCODE_AGENT_HOST_SOCKET_PATH=this._wsConfig.socketPath),this._wsConfig.host&&(n.VSCODE_AGENT_HOST_HOST=this._wsConfig.host),this._wsConfig.connectionToken&&(n.VSCODE_AGENT_HOST_CONNECTION_TOKEN=this._wsConfig.connectionToken));let a={serverName:"Agent Host",args:["--type=agentHost","--logsPath",this._environmentService.logsHome.with({scheme:B.file}).fsPath,"--user-data-dir",this._environmentService.userDataPath,"--telemetry-level",bA(this._telemetryService.telemetryLevel)],env:n},l=ZU(this._environmentService.args,this._environmentService.isBuilt);l&&(l.break&&l.port?a.debugBrk=l.port:!l.break&&l.port&&(a.debug=l.port)),await this._removeStaleSocket();let c=new al(Dt.asFileUri("bootstrap-fork").fsPath,a),u=new ie;return u.add(c),{client:c,store:u,onDidProcessExit:c.onDidProcessExit,shutdown:()=>Vr.toService(c.getChannel("agentHostManagement")).shutdown()}}async _removeStaleSocket(){let e=this._wsConfig?.socketPath;if(!(!e||process.platform==="win32"))try{await X9.promises.unlink(e)}catch(n){n?.code!=="ENOENT"&&this._logService.warn(`AgentHostStarter could not remove stale socket at ${e}`,n)}}async _resolveShellEnv(){try{return await Ja(this._configurationService,this._logService,this._environmentService.args,process.env)}catch(e){return this._logService.error("AgentHostStarter was unable to resolve shell environment",e),{}}}};pd=C([b(0,ft),b(1,_t),b(2,z),b(3,Pt)],pd)});function zA(r,t,e){let n=e===void 0?void 0:hP(e);r.publicLogError2("agentHost.processError",{...t,isError:!0,...n?{callstack:n.callstack,msg:n.msg}:{}})}var eq=y(()=>{vP()});var Rft,md,tq=y(()=>{Ne();K();Ks();eq();GC();cd();Z();De();Vb();Rn();Ob();Rft=D("serverAgentHostManager"),md=class extends _{constructor(e,n={},o,i,s,a){super();this._starter=e;this._logService=o;this._loggerService=i;this._serverLifetimeService=s;this._telemetryService=a;this._restartCount=0;this._shuttingDown=!1;this._connectionStore=this._register(new $n);this._lifetimeToken=this._register(new $n);this._hasActiveSessions=!1;this._connectionCount=0;this._startMode=n.startMode??"eager",this._register(this._starter),this._register(this._serverLifetimeService.onWillShutdown(l=>{this._shuttingDown=!0,l.join(this._shutdown())})),this._register(this._serverLifetimeService.onDidAbortShutdown(()=>{this._startMode==="eager"&&this.ensureStarted().catch(l=>this._logService.error("ServerAgentHostManager: failed to restart after aborted server shutdown",l))})),this._startMode==="eager"&&this.ensureStarted().catch(()=>{})}ensureStarted(){if(this._shuttingDown||this._store.isDisposed)return Promise.reject(new Error("Server Agent Host manager is shutting down."));if(!this._startPromise){let e=this._start();this._startPromise=e,e.catch(()=>{this._startPromise===e&&(this._startPromise=void 0)})}return this._startPromise}async _start(){for(;;)try{await this._startOnce();return}catch(e){if(this._store.isDisposed)return;let n=this._restartCount<5;if(zA(this._telemetryService,{hostLaunchKind:"vscode_cli",kind:"startFailed",restartCount:this._restartCount,willRestart:n},e),!n)throw this._logService.error("ServerAgentHostManager: agent host failed to start, giving up after 5 restarts",e),this._restartCount=0,e;this._logService.error("ServerAgentHostManager: agent host failed to start",e),this._restartCount++}}async _startOnce(){let e=await this._starter.start();if(this._store.isDisposed||this._shuttingDown){e.store.dispose();return}this._trackActiveSessions(e);try{await this._trackClientConnections(e)}catch(n){throw e.store.dispose(),n}if(this._store.isDisposed||e.store.isDisposed){e.store.dispose();return}this._logService.info("ServerAgentHostManager: agent host started"),e.store.add(new Ju(this._loggerService,e.client.getChannel("agentHostLogger"))),e.store.add(e.onDidProcessExit(n=>this._handleUnexpectedExit(e,n))),this._connection=e,this._connectionStore.value=e.store}_handleUnexpectedExit(e,n){if(this._store.isDisposed||this._connection!==e)return;this._hasActiveSessions=!1,this._connectionCount=0,this._lifetimeToken.clear();let o=this._restartCount<5;zA(this._telemetryService,{hostLaunchKind:"vscode_cli",kind:"unexpectedExit",code:n.code,restartCount:this._restartCount,willRestart:o}),this._connection=void 0,this._connectionStore.clear(),this._startPromise=void 0,o?(this._logService.error(`ServerAgentHostManager: agent host terminated unexpectedly with code ${n.code}`),this._restartCount++,this.ensureStarted().catch(()=>{})):(this._logService.error(`ServerAgentHostManager: agent host terminated with code ${n.code}, giving up after 5 restarts`),this._restartCount=0)}async _shutdown(){try{await uL(this._shutdownGracefully(),6e3,()=>{this._logService.warn("ServerAgentHostManager: agent host did not shut down within 6000ms; terminating it")})}catch(e){this._logService.error("ServerAgentHostManager: failed to shut down agent host gracefully",e)}finally{let e=this._connection;this._startPromise=void 0,this._shuttingDown=!1,e&&(this._connection===e?(this._connection=void 0,this._connectionStore.clear()):e.store.dispose())}}async _shutdownGracefully(){try{await this._startPromise}catch{return}await this._connection?.shutdown()}_trackActiveSessions(e){let n=Vr.toService(e.client.getChannel("agentHost"));e.store.add(n.onDidAction(o=>{o.action.type==="root/activeSessionsChanged"&&(this._hasActiveSessions=o.action.activeSessions>0,this._updateLifetimeToken())}))}async _trackClientConnections(e){let n=Vr.toService(e.client.getChannel("agentHostConnectionTracker"));e.store.add(n.onDidChangeConnectionCount(o=>{this._connectionCount=o,this._updateLifetimeToken()})),await n.waitForConfiguredWebSocketServer()}_updateLifetimeToken(){this._hasActiveSessions||this._connectionCount>0?this._lifetimeToken.value??=this._serverLifetimeService.active("AgentHost"):this._lifetimeToken.clear()}};md=C([b(2,z),b(3,Wo),b(4,Gu),b(5,Pt)],md)});async function wee(){return Eee??=await import("ws")}async function Ree(){return Tee??=await import("net")}var Cee,Eee,Tee,am,Pee,GA,KA,lm,nq=y(()=>{de();K();Ae();Cee="Agent host proxy is not available because no upstream agent host endpoint was configured.";am=class{listen(t,e){switch(e){case"frame":case"close":return V.None}throw new Error(`Invalid listen: ${e}`)}call(t,e){switch(e){case"connect":return Promise.reject(new Error(Cee));case"send":case"close":return Promise.resolve(void 0)}return Promise.reject(new Error(`Invalid call: ${e}`))}},Pee=r=>t=>new KA(t,r),GA=class extends _{constructor(e,n,o){super();this._resolveEndpoint=e;this._upstreamFactory=n;this._logService=o;this._onFrame=this._register(new T);this.onFrame=this._onFrame.event;this._onClose=this._register(new T);this.onClose=this._onClose.event;this._closeFired=!1}async connect(){if(this._store.isDisposed)throw new Error("UpstreamConnection is disposed");let e=this._connectPromise??=this._connect();try{await e}catch(n){throw this._connectPromise===e&&(this._connectPromise=void 0),n}}send(e){let n=this._connection;if(!n){this._logService.warn("[AgentHostChannel] Drop send: upstream not open"),this._fireClose();return}n.send(e)}async _connect(){let e=await this._resolveEndpoint();if(this._store.isDisposed)throw new Error("UpstreamConnection is disposed");let n=this._upstreamFactory(e);this._connection=n,this._register(n),this._register(n.onFrame(o=>this._onFrame.fire(o))),this._register(n.onClose(()=>this._fireClose()));try{await n.connect()}catch(o){throw this._connection=void 0,n.dispose(),o}}dispose(){this._fireClose(),super.dispose()}_fireClose(){this._closeFired||(this._closeFired=!0,this._onClose.fire())}},KA=class extends _{constructor(e,n){super();this._endpoint=e;this._logService=n;this._onFrame=this._register(new T);this.onFrame=this._onFrame.event;this._onClose=this._register(new T);this.onClose=this._onClose.event;this._closeFired=!1}connect(){return this._store.isDisposed?Promise.reject(new Error("UpstreamConnection is disposed")):this._connectPromise??=this._doConnect()}async _doConnect(){let e=await wee(),n=this._buildUrl(),o=await this._buildWsOptions(),i=new e.WebSocket(n,o);return this._ws=i,new Promise((s,a)=>{let l=()=>{p(),this._logService.trace("[AgentHostChannel] Upstream open"),i.on("message",m=>{let f=typeof m=="string"?m:m.toString("utf-8");this._onFrame.fire(f)}),i.on("close",()=>this._fireClose()),i.on("error",m=>{this._logService.warn("[AgentHostChannel] Upstream error",m),this._fireClose()}),s()},c=m=>{p(),this._logService.warn("[AgentHostChannel] Upstream connection failed",m),this._fireClose(),a(m)},u=()=>{p(),this._fireClose(),a(new Error("Upstream closed before connect"))},p=()=>{i.removeListener("open",l),i.removeListener("error",c),i.removeListener("close",u)};i.on("open",l),i.on("error",c),i.on("close",u)})}send(e){let n=this._ws;if(!n||n.readyState!==n.OPEN){this._logService.warn("[AgentHostChannel] Drop send: upstream not open"),this._fireClose();return}n.send(e)}dispose(){this._ws?.close(),this._fireClose(),super.dispose()}_fireClose(){this._closeFired||(this._closeFired=!0,this._onClose.fire())}_buildUrl(){let e=this._endpoint.host??"localhost",n=this._endpoint.port??"0",o=`ws://${e}:${n}`;return this._endpoint.connectionToken&&(o+=`?${Ji}=${encodeURIComponent(this._endpoint.connectionToken)}`),o}async _buildWsOptions(){if(!this._endpoint.socketPath)return;let e=await Ree(),n=this._endpoint.socketPath;return{createConnection:(()=>e.createConnection(n))}}},lm=class extends _{constructor(e,n,o,i){super();this._endpoint=n;this._logService=o;this._perCtx=new Map;this._upstreamFactory=i??Pee(o),this._register(e.onDidRemoveConnection(s=>this._disposeCtx(s.ctx)))}listen(e,n){let o=this._getOrCreate(e);switch(n){case"frame":return o.onFrame;case"close":return o.onClose}throw new Error(`Invalid listen: ${n}`)}async call(e,n,o){let i=this._getOrCreate(e);switch(n){case"connect":this._logService.info(`[AgentHostChannel] Renderer ctx=${String(e)} requested connect to upstream`),await i.connect();return;case"send":if(typeof o!="string")throw new Error("send: arg must be a string frame");i.send(o);return;case"close":this._disposeCtx(e);return}throw new Error(`Invalid call: ${n}`)}dispose(){for(let e of this._perCtx.values())e.dispose();this._perCtx.clear(),super.dispose()}_getOrCreate(e){let n=this._perCtx.get(e);if(!n){n=new GA(()=>this._resolveEndpoint(),i=>this._createUpstream(i),this._logService),this._perCtx.set(e,n);let o=n.onClose(()=>{o.dispose(),this._perCtx.get(e)===n&&this._perCtx.delete(e)})}return n}_createUpstream(e){let n=e.socketPath??`${e.host??"localhost"}:${e.port??"0"}`;return this._logService.info(`[AgentHostChannel] Opening upstream to ${n}`),this._upstreamFactory(e)}async _resolveEndpoint(){let e=this._endpoint;if(typeof e!="function")return e;let n=this._endpointPromise??=Promise.resolve().then(()=>e());try{return await n}finally{this._endpointPromise===n&&(this._endpointPromise=void 0)}}_disposeCtx(e){let n=this._perCtx.get(e);n&&(this._perCtx.delete(e),n.dispose())}}});function oq(){return kee.value}var kee,rq=y(()=>{ji();kee=new Kt(async()=>(await import("@vscode/ripgrep-universal")).rgPath.replace(/\bnode_modules\.asar\b/,"node_modules.asar.unpacked"))});import{spawn as Dee}from"child_process";var ZC,cm,jA=y(()=>{Me();Ae();rq();_s();Tn();Z();De();ZC=D("ICSSDevelopmentService"),cm=class{constructor(t,e){this.envService=t;this.logService=e}get isEnabled(){return!this.envService.isBuilt}getCssModules(){return this._cssModules??=this.computeCssModules(),this._cssModules}async computeCssModules(){if(!this.isEnabled)return[];let t=await oq();return await new Promise(e=>{let n=Zn.create(),o=[],i=Dt.asFileUri("").fsPath,s=Dee(t,["-g","**/*.css","--files","--no-ignore",i],{});s.stdout.on("data",a=>{o.push(a)}),s.on("error",a=>{this.logService.error("[CSS_DEV] FAILED to compute CSS data",a),e([])}),s.on("close",()=>{let a=Buffer.concat(o).toString("utf8"),l=a.split(`
`).filter(Boolean).map(c=>ks(i,c).replace(/\\/g,"/")).filter(Boolean).sort();l.some(c=>c.indexOf("vs/")!==0)&&this.logService.error(`[CSS_DEV] Detected invalid paths in css modules, raw output: ${a}`),e(l),this.logService.info(`[CSS_DEV] DONE, ${l.length} css modules (${Math.round(n.elapsed())}ms)`)})})}};cm=C([b(0,_t),b(1,z)],cm)});var dm,iq=y(()=>{K();re();Tn();De();On();Ur();dm=class extends _{constructor(t,e,n,o,i){super();let s=typeof t=="string"?t:t.prefix;this.prefix=s;let a=typeof t=="string"?e?"remoteTelemetry":TT:t.loggerId,l=n.getLogger(a);if(l)this.logger=this._register(l);else{let u=Jy(i,o)?" (Not Sent)":"";this.logger=this._register(n.createLogger(a,{name:d(3810,null,u),group:jy,hidden:!0}))}}flush(){return Promise.resolve()}log(t,e){this.logger.trace(`${this.prefix}telemetry/${t}`,Yy(e))}};dm=C([b(2,Wo),b(3,_t),b(4,He)],dm)});var eE,sq,QA=y(()=>{Z();eE=D("INativeMcpDiscoveryHelperService"),sq="NativeMcpDiscoveryHelper"});var um,aq=y(()=>{bl();QA();um=class{constructor(t,e){this.getUriTransformer=t;this.nativeMcpDiscoveryHelperService=e}listen(t,e){throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer?.(t);if(e==="load"){let i=await this.nativeMcpDiscoveryHelperService.load();return o?Br(i,o):i}throw new Error("Invalid call")}};um=C([b(1,eE)],um)});function lq(r,t){return t.COPILOT_HOME||q(r,".copilot")}var cq=y(()=>{Me()});import{homedir as dq}from"os";var tE,uq=y(()=>{me();oe();cq();tE=class{constructor(t=process.env,e){this.environment=t;this.resolveShellEnvironment=e}async load(){let t=this.resolveShellEnvironment?{...this.environment,...await this.resolveShellEnvironment()}:this.environment;return{platform:Yr,homedir:S.file(dq()),copilotHome:S.file(lq(dq(),t)),winAppData:this.uriFromEnvVariable("APPDATA"),xdgHome:this.uriFromEnvVariable("XDG_CONFIG_HOME")}}uriFromEnvVariable(t,e=this.environment){let n=e[t];if(n)return S.file(n)}}});var nE,pq,mq,JA=y(()=>{Z();nE=D("IMcpGatewayService"),pq="mcpGateway",mq="mcpGatewayToolBroker"});function _ee(r){return"method"in r&&"id"in r&&(typeof r.id=="string"||typeof r.id=="number")}function YA(r){return xn(r,{id:!0,result:!0})||xn(r,{id:!0,error:!0})}function XA(r){return xn(r,{method:!0})&&!xn(r,{id:!0})}function Mee(r){return typeof r=="object"&&r!==null&&"then"in r&&typeof r.then=="function"}var fi,pm,ZA=y(()=>{Ne();Zt();Ee();K();we();fi=class extends Error{constructor(e,n,o){super(n);this.code=e;this.data=o}},pm=class r extends _{constructor(e,n){super();this._send=e;this._handlers=n;this._nextRequestId=1;this._pendingRequests=new Map}static{this.ParseError=-32700}static{this.MethodNotFound=-32601}static{this.InternalError=-32603}sendNotification(e){this._send({jsonrpc:"2.0",...e})}sendRequest(e,n=Pe.None,o){if(this._store.isDisposed)return Promise.reject(new et);let i=this._nextRequestId++,s=new zn,a=new wt;this._pendingRequests.set(i,{promise:s,cts:a});let l=n.onCancellationRequested(()=>{s.isSettled||(this._pendingRequests.delete(i),a.cancel(),o?.(i),s.cancel()),l.dispose()});return this._send({jsonrpc:"2.0",id:i,...e}),s.p.finally(()=>{l.dispose(),this._pendingRequests.delete(i),a.dispose(!0)})}async handleMessage(e){if(Array.isArray(e)){let o=[];for(let i of e){let s=await this._handleMessage(i);s&&o.push(s)}return o}let n=await this._handleMessage(e);return n?[n]:[]}cancelPendingRequest(e){let n=this._pendingRequests.get(e);n&&(this._pendingRequests.delete(e),n.cts.cancel(),n.promise.cancel(),n.cts.dispose(!0))}cancelAllRequests(){for(let[e,n]of this._pendingRequests)this._pendingRequests.delete(e),n.cts.cancel(),n.promise.cancel(),n.cts.dispose(!0)}async _handleMessage(e){if(YA(e)){xn(e,{result:!0})?this._handleResult(e):this._handleError(e);return}if(_ee(e))return this._handleRequest(e);XA(e)&&this._handlers.handleNotification?.(e)}_handleResult(e){let n=this._pendingRequests.get(e.id);n&&(this._pendingRequests.delete(e.id),n.promise.complete(e.result),n.cts.dispose(!0))}_handleError(e){if(e.id===void 0)return;let n=this._pendingRequests.get(e.id);n&&(this._pendingRequests.delete(e.id),n.promise.error(new fi(e.error.code,e.error.message,e.error.data)),n.cts.dispose(!0))}async _handleRequest(e){if(!this._handlers.handleRequest){let o={jsonrpc:"2.0",id:e.id,error:{code:r.MethodNotFound,message:`Method not found: ${e.method}`}};return this._send(o),o}let n=new wt;this._register(ce(()=>n.dispose(!0)));try{let o=this._handlers.handleRequest(e,n.token),i=Mee(o)?await o:o,s={jsonrpc:"2.0",id:e.id,result:i};return this._send(s),s}catch(o){let i;return o instanceof fi?i={jsonrpc:"2.0",id:e.id,error:{code:o.code,message:o.message,data:o.data}}:i={jsonrpc:"2.0",id:e.id,error:{code:r.InternalError,message:o instanceof Error?o.message:"Internal error"}},this._send(i),i}finally{n.dispose(!0)}}dispose(){this.cancelAllRequests(),super.dispose()}static createParseError(e,n){return{jsonrpc:"2.0",error:{code:r.ParseError,message:e,data:n}}}}});function gq(r){let t=Array.isArray(r)?r[0]:r;return!t||!xn(t,{method:!0})?!1:t.method==="initialize"}var Aee,Lee,Oee,Nee,pv,oE,fq=y(()=>{ZA();K();we();Aee="2025-11-25",Lee=["2025-11-25","2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Oee=-32600,Nee=-32601,pv=-32602,oE=class extends _{constructor(e,n,o,i){super();this.id=e;this._logService=n;this._onDidDispose=o;this._serverInvoker=i;this._sseClients=new Set;this._lastEventId=0;this._isInitialized=!1;this._rpc=this._register(new pm(s=>this._handleOutgoingMessage(s),{handleRequest:s=>this._handleRequest(s),handleNotification:s=>this._handleNotification(s)})),this._register(this._serverInvoker.onDidChangeTools(()=>{this._isInitialized&&(this._logService.info(`[McpGateway][session ${this.id}] Tools changed, notifying client`),this._rpc.sendNotification({method:"notifications/tools/list_changed"}))})),this._register(this._serverInvoker.onDidChangeResources(()=>{this._isInitialized&&(this._logService.info(`[McpGateway][session ${this.id}] Resources changed, notifying client`),this._rpc.sendNotification({method:"notifications/resources/list_changed"}))}))}attachSseClient(e,n){n.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}),n.write(`: connected
`),this._sseClients.add(n),this._logService.info(`[McpGateway][session ${this.id}] SSE client attached (total: ${this._sseClients.size})`),n.on("close",()=>{this._sseClients.delete(n),this._logService.info(`[McpGateway][session ${this.id}] SSE client detached (total: ${this._sseClients.size})`)})}async handleIncoming(e){return this._rpc.handleMessage(e)}dispose(){this._logService.info(`[McpGateway][session ${this.id}] Disposing session (SSE clients: ${this._sseClients.size})`);for(let e of this._sseClients)e.destroyed||e.end();this._sseClients.clear(),this._onDidDispose(),super.dispose()}_handleOutgoingMessage(e){if(YA(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> response: ${JSON.stringify(e)}`);return}if(XA(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> notification: ${e.method}`),this._broadcastSse(e);return}this._logService.warn("[McpGatewayService] Ignored unsupported outgoing gateway message")}_broadcastSse(e){if(this._sseClients.size===0){this._logService.debug(`[McpGateway][session ${this.id}] No SSE clients to broadcast to, dropping message`);return}let n=JSON.stringify(e),o=String(++this._lastEventId);this._logService.debug(`[McpGateway][session ${this.id}] Broadcasting SSE event id=${o} to ${this._sseClients.size}`);let i=n.split(/\r?\n/g),s=[`id: ${o}`,"event: message",...i.map(a=>`data: ${a}`),"",""].join(`
`);for(let a of[...this._sseClients]){if(a.destroyed||a.writableEnded){this._sseClients.delete(a);continue}a.write(s)}}async _handleRequest(e){if(this._logService.debug(`[McpGateway][session ${this.id}] <-- request: ${e.method} (id=${String(e.id)})`),e.method==="initialize")return this._handleInitialize(e);if(!this._isInitialized)throw this._logService.warn(`[McpGateway][session ${this.id}] Rejected request '${e.method}': session not initialized`),new fi(Oee,"Session is not initialized");switch(e.method){case"ping":return{};case"tools/list":return this._handleListTools();case"tools/call":return this._handleCallTool(e);case"resources/list":return this._handleListResources();case"resources/read":return this._handleReadResource(e);case"resources/templates/list":return this._handleListResourceTemplates();default:throw this._logService.warn(`[McpGateway][session ${this.id}] Unknown method: ${e.method}`),new fi(Nee,`Method not found: ${e.method}`)}}_handleNotification(e){this._logService.debug(`[McpGateway][session ${this.id}] <-- notification: ${e.method}`),e.method==="notifications/initialized"&&(this._isInitialized=!0,this._logService.info(`[McpGateway][session ${this.id}] Session initialized`),this._rpc.sendNotification({method:"notifications/tools/list_changed"}),this._rpc.sendNotification({method:"notifications/resources/list_changed"}))}_handleInitialize(e){let n=typeof e.params=="object"&&e.params?e.params:void 0,o=typeof n?.protocolVersion=="string"?n.protocolVersion:void 0,i=n?.clientInfo,s=o&&Lee.includes(o)?o:Aee;return this._logService.info(`[McpGateway] Initialize: client=${i?.name??"unknown"}/${i?.version??"?"}, clientProtocol=${o??"(none)"}, negotiated=${s}`),o&&o!==s&&this._logService.warn(`[McpGateway] Client requested unsupported protocol version '${o}', falling back to '${s}'`),{protocolVersion:s,capabilities:{tools:{listChanged:!0},resources:{listChanged:!0}},serverInfo:{name:"VS Code MCP Gateway",version:"1.0.0"}}}async _handleCallTool(e){let n=typeof e.params=="object"&&e.params?e.params:void 0;if(!n||typeof n.name!="string")throw new fi(pv,"Missing tool call params");if(n.arguments&&typeof n.arguments!="object")throw new fi(pv,"Invalid tool call arguments");let o=n.arguments&&typeof n.arguments=="object"?n.arguments:{};this._logService.debug(`[McpGateway][session ${this.id}] Calling tool '${n.name}' with args: ${JSON.stringify(o)}`);try{let i=await this._serverInvoker.callTool(n.name,o);return this._logService.debug(`[McpGateway][session ${this.id}] Tool '${n.name}' completed (isError=${i.isError??!1}, content blocks=${i.content.length})`),i}catch(i){throw this._logService.error(`[McpGateway][session ${this.id}] Tool '${n.name}' invocation failed`,i),new fi(pv,String(i))}}async _handleListTools(){let e=await this._serverInvoker.listTools();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} tool(s): [${e.map(n=>n.name).join(", ")}]`),{tools:e}}async _handleListResources(){let e=await this._serverInvoker.listResources();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} resource(s)`),{resources:e}}async _handleReadResource(e){let n=typeof e.params=="object"&&e.params?e.params:void 0;if(!n||typeof n.uri!="string")throw new fi(pv,"Missing resource URI");this._logService.debug(`[McpGateway][session ${this.id}] Reading resource '${n.uri}'`);try{let o=await this._serverInvoker.readResource(n.uri);return this._logService.debug(`[McpGateway][session ${this.id}] Resource read returned ${o.contents.length} content(s)`),o}catch(o){throw this._logService.error(`[McpGateway][session ${this.id}] Resource read failed for '${n.uri}'`,o),new fi(pv,String(o))}}async _handleListResourceTemplates(){let e=await this._serverInvoker.listResourceTemplates();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} resource template(s)`),{resourceTemplates:e}}}});var mm,e1,hq=y(()=>{Ne();de();ZA();K();oe();nn();De();fq();mm=class extends _{constructor(e){super();this._routes=new Map;this._gatewayRoutes=new Map;this._gatewayServerRoutes=new Map;this._gatewayToClient=new Map;this._gatewayDisposables=new Map;this._logger=this._register(e.createLogger("mcpGateway",{name:"MCP Gateway",logLevel:"always"})),this._logger.info("[McpGatewayService] Initialized")}async createGateway(e,n){if(await this._ensureServer(),this._port===void 0)throw new Error("[McpGatewayService] Server failed to start, port is undefined");if(!n)throw new Error("[McpGatewayService] Tool invoker is required to create gateway");let o=Se(),i=new Set,s=new Map;this._gatewayRoutes.set(o,i),this._gatewayServerRoutes.set(o,s);let a=new ie;this._gatewayDisposables.set(o,a);try{let l=n.listServers(),c=[];for(let p of l){let m=this._createRouteForServer(o,p.id,p.label,n,i,s);c.push(m)}e?(this._gatewayToClient.set(o,e),this._logger.info(`[McpGatewayService] Created gateway ${o} with ${c.length} server(s) for client ${e}`)):this._logger.warn(`[McpGatewayService] Created gateway ${o} with ${c.length} server(s) without client tracking`);let u=a.add(new T);return a.add(n.onDidChangeServers(p=>{this._refreshGatewayServers(o,p,n,i,s,u)})),{servers:c,onDidChangeServers:u.event,gatewayId:o}}catch(l){throw this._cleanupGateway(o),l}}_refreshGatewayServers(e,n,o,i,s,a){if(!this._gatewayRoutes.has(e))return;let l=new Set(n.map(p=>p.id)),c=new Set(s.keys());for(let p of c)if(!l.has(p)){let m=s.get(p);m&&(this._disposeRoute(m),i.delete(m),s.delete(p))}for(let p of n){if(!c.has(p.id)){this._createRouteForServer(e,p.id,p.label,o,i,s);continue}let m=s.get(p.id),f=m?this._routes.get(m):void 0;f&&f.label!==p.label&&(f.label=p.label)}let u=this._getGatewayServers(e);this._logger.info(`[McpGatewayService] Gateway ${e} servers changed: ${u.length} server(s)`),a.fire(u)}_cleanupGateway(e){let n=this._gatewayRoutes.get(e);if(n)for(let o of n)this._disposeRoute(o);this._gatewayRoutes.delete(e),this._gatewayServerRoutes.delete(e),this._gatewayToClient.delete(e),this._gatewayDisposables.get(e)?.dispose(),this._gatewayDisposables.delete(e)}_createRouteForServer(e,n,o,i,s,a){let l=Se(),c={onDidChangeTools:i.onDidChangeTools,onDidChangeResources:i.onDidChangeResources,listTools:()=>i.listToolsForServer(n),callTool:(m,f)=>i.callToolForServer(n,m,f),listResources:()=>i.listResourcesForServer(n),readResource:m=>i.readResourceForServer(n,m),listResourceTemplates:()=>i.listResourceTemplatesForServer(n)},u=new e1(l,this._logger,c,o);this._routes.set(l,u),s.add(l),a.set(n,l);let p=S.parse(`http://127.0.0.1:${this._port}/gateway/${l}`);return this._logger.info(`[McpGatewayService] Created route ${l} for server '${o}' (${n}) at ${p}`),{label:o,address:p}}_getGatewayServers(e){let n=this._gatewayServerRoutes.get(e);if(!n)return[];let o=[];for(let[i,s]of n){let a=this._routes.get(s);a&&o.push({label:a.label,address:S.parse(`http://127.0.0.1:${this._port}/gateway/${s}`)})}return o}_disposeRoute(e){let n=this._routes.get(e);n&&(n.dispose(),this._routes.delete(e),this._logger.info(`[McpGatewayService] Disposed route: ${e}`))}async disposeGateway(e){if(!this._gatewayRoutes.has(e)){this._logger.warn(`[McpGatewayService] Attempted to dispose unknown gateway: ${e}`);return}this._cleanupGateway(e),this._logger.info(`[McpGatewayService] Disposed gateway: ${e} (remaining routes: ${this._routes.size})`),this._routes.size===0&&this._stopServer()}disposeGatewaysForClient(e){let n=[];for(let[o,i]of this._gatewayToClient)i===e&&n.push(o);if(n.length>0){this._logger.info(`[McpGatewayService] Disposing ${n.length} gateway(s) for disconnected client ${e}`);for(let o of n)this._cleanupGateway(o);this._routes.size===0&&this._stopServer()}}async _ensureServer(){if(!this._server?.listening){if(this._serverStartPromise)return this._serverStartPromise;this._serverStartPromise=this._startServer();try{await this._serverStartPromise}finally{this._serverStartPromise=void 0}}}async _startServer(){let{createServer:e}=await import("http"),n=new zn;this._server=e((i,s)=>{this._handleRequest(i,s)});let o=setTimeout(()=>{n.error(new Error("[McpGatewayService] Timeout waiting for server to start"))},5e3);return this._server.on("listening",()=>{let i=this._server.address();if(typeof i=="string")this._port=parseInt(i);else if(i instanceof Object)this._port=i.port;else{clearTimeout(o),n.error(new Error("[McpGatewayService] Unable to determine port"));return}clearTimeout(o),this._logger.info(`[McpGatewayService] Server started on port ${this._port}`),n.complete()}),this._server.on("error",i=>{if(i.code==="EADDRINUSE"){this._logger.warn("[McpGatewayService] Port in use, retrying with random port..."),this._server.listen(0,"127.0.0.1");return}clearTimeout(o),this._logger.error(`[McpGatewayService] Server error: ${i}`),n.error(i)}),this._server.listen(0,"127.0.0.1"),n.p}_stopServer(){this._server&&(this._logger.info("[McpGatewayService] Stopping server (no more routes)"),this._server.close(e=>{e?this._logger.error(`[McpGatewayService] Error closing server: ${e}`):this._logger.info("[McpGatewayService] Server stopped")}),this._server=void 0,this._port=void 0)}_handleRequest(e,n){let o=new URL(e.url,`http://${e.headers.host}`),i=o.pathname.split("/").filter(Boolean);if(this._logger.debug(`[McpGatewayService] ${e.method} ${o.pathname} (active routes: ${this._routes.size})`),i.length>=2&&i[0]==="gateway"){let s=i[1],a=this._routes.get(s);if(a){a.handleRequest(e,n);return}}this._logger.warn(`[McpGatewayService] ${e.method} ${o.pathname}: route not found`),n.writeHead(404,{"Content-Type":"application/json"}),n.end(JSON.stringify({error:"Gateway not found"}))}dispose(){this._logger.info(`[McpGatewayService] Disposing service (routes: ${this._routes.size})`),this._stopServer();for(let e of this._routes.values())e.dispose();this._routes.clear(),this._gatewayRoutes.clear(),this._gatewayServerRoutes.clear(),this._gatewayToClient.clear();for(let e of this._gatewayDisposables.values())e.dispose();this._gatewayDisposables.clear(),super.dispose()}};mm=C([b(0,Wo)],mm);e1=class r extends _{constructor(e,n,o,i=""){super();this.routeId=e;this._logger=n;this._serverInvoker=o;this.label=i;this._sessions=new Map}static{this.SessionHeaderName="mcp-session-id"}handleRequest(e,n){if(this._logger.debug(`[McpGateway][route ${this.routeId}] ${e.method} request (sessions: ${this._sessions.size})`),e.method==="POST"){this._handlePost(e,n);return}if(e.method==="GET"){this._handleGet(e,n);return}if(e.method==="DELETE"){this._handleDelete(e,n);return}this._respondHttpError(n,405,"Method not allowed")}dispose(){this._logger.info(`[McpGateway][route ${this.routeId}] Disposing route (sessions: ${this._sessions.size})`);for(let e of this._sessions.values())e.dispose();this._sessions.clear(),super.dispose()}_handleDelete(e,n){let o=this._getSessionId(e);if(!o){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let i=this._sessions.get(o);if(!i){this._respondHttpError(n,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] Deleting session ${o}`),i.dispose(),this._sessions.delete(o),n.writeHead(204),n.end()}_handleGet(e,n){let o=this._getSessionId(e);if(!o){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let i=this._sessions.get(o);if(!i){this._respondHttpError(n,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] SSE connection requested for session ${o}`),i.attachSseClient(e,n)}async _handlePost(e,n){let o=await this._readRequestBody(e);if(o===void 0){this._respondHttpError(n,413,"Payload too large");return}this._logger.debug(`[McpGateway][route ${this.routeId}] Handling POST`);let i;try{i=JSON.parse(o)}catch(l){this._logger.warn(`[McpGateway][route ${this.routeId}] JSON parse error: ${l instanceof Error?l.message:String(l)}`),n.writeHead(400,{"Content-Type":"application/json"}),n.end(JSON.stringify(pm.createParseError("Parse error",l instanceof Error?l.message:String(l))));return}let s=this._getSessionId(e),a=this._resolveSessionForPost(s,i,n);if(a)try{let l=await a.handleIncoming(i),c={"Content-Type":"application/json","Mcp-Session-Id":a.id};if(l.length===0){this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 202 (no content)`),n.writeHead(202,c),n.end();return}let u=JSON.stringify(Array.isArray(i)?l:l[0]);this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 200, body: ${u}`),n.writeHead(200,c),n.end(u)}catch(l){this._logger.error("[McpGatewayService] Failed handling gateway request",l),this._respondHttpError(n,500,"Internal server error")}}_resolveSessionForPost(e,n,o){if(e){let a=this._sessions.get(e);if(!a){this._logger.warn(`[McpGateway][route ${this.routeId}] Session not found: ${e}`),this._respondHttpError(o,404,"Session not found");return}return a}if(!gq(n)){this._respondHttpError(o,400,"Missing Mcp-Session-Id header");return}let i=Se();this._logger.info(`[McpGateway][route ${this.routeId}] Creating new session ${i}`);let s=new oE(i,this._logger,()=>{this._sessions.delete(i)},this._serverInvoker);return this._sessions.set(i,s),s}_respondHttpError(e,n,o){this._logger.debug(`[McpGateway][route ${this.routeId}] HTTP error response: ${n} ${o}`),e.writeHead(n,{"Content-Type":"application/json"}),e.end(JSON.stringify({jsonrpc:"2.0",error:{code:n,message:o}}))}_getSessionId(e){let n=e.headers[r.SessionHeaderName];return Array.isArray(n)?n[0]:n}async _readRequestBody(e){let n=[],o=0,i=1024*1024;for await(let s of e){let a=Buffer.isBuffer(s)?s:Buffer.from(s);if(o+=a.byteLength,o>i)return;n.push(a)}return Buffer.concat(n).toString("utf8")}}});function Uee(r,t){return r.getChannel(mq,e=>e.ctx===t)}var gm,vq=y(()=>{de();K();De();JA();gm=class extends _{constructor(e,n,o){super();this._ipcServer=e;this.mcpGatewayService=n;this._loggerService=o;this._onDidChangeGatewayServers=this._register(new T);this._gatewayDisposables=this._register(new Fo);this._clientGateways=new Map;this._register(e.onDidRemoveConnection(i=>{this._loggerService.getLogger("mcpGateway")?.info(`[McpGateway][Channel] Client disconnected: ${i.ctx}, cleaning up gateways`),n.disposeGatewaysForClient(i.ctx);let s=this._clientGateways.get(i.ctx);if(s){for(let a of s)this._gatewayDisposables.deleteAndDispose(a);this._clientGateways.delete(i.ctx)}}))}listen(e,n){if(n==="onDidChangeGatewayServers")return this._onDidChangeGatewayServers.event;throw new Error(`Invalid listen: ${n}`)}async call(e,n,o){let i=this._loggerService.getLogger("mcpGateway");switch(i?.debug(`[McpGateway][Channel] IPC call: ${n} from client ${e}`),n){case"createGateway":{let{chatSessionResource:s}=o??{},a=Uee(this._ipcServer,e),l=await a.call("listServers"),c=a.listen("onDidChangeServers"),u=await this.mcpGatewayService.createGateway(e,{onDidChangeServers:V.map(c,f=>(l=f,f)),onDidChangeTools:a.listen("onDidChangeTools"),onDidChangeResources:a.listen("onDidChangeResources"),listServers:()=>l,listToolsForServer:f=>a.call("listToolsForServer",{serverId:f}),callToolForServer:(f,h,v)=>a.call("callToolForServer",{serverId:f,name:h,args:v,chatSessionResource:s}),listResourcesForServer:f=>a.call("listResourcesForServer",{serverId:f}),readResourceForServer:(f,h)=>a.call("readResourceForServer",{serverId:f,uri:h}),listResourceTemplatesForServer:f=>a.call("listResourceTemplatesForServer",{serverId:f})}),p=new ie;p.add(u.onDidChangeServers(f=>{this._onDidChangeGatewayServers.fire({gatewayId:u.gatewayId,servers:f})})),this._gatewayDisposables.set(u.gatewayId,p);let m=this._clientGateways.get(e);return m||(m=new Set,this._clientGateways.set(e,m)),m.add(u.gatewayId),i?.info(`[McpGateway][Channel] Gateway created: ${u.gatewayId} with ${u.servers.length} server(s) for client ${e}`),{gatewayId:u.gatewayId,servers:u.servers}}case"disposeGateway":{let s=o;i?.info(`[McpGateway][Channel] Disposing gateway: ${s} for client ${e}`),this._gatewayDisposables.deleteAndDispose(s);let a=this._clientGateways.get(e);a&&(a.delete(s),a.size===0&&this._clientGateways.delete(e)),await this.mcpGatewayService.disposeGateway(s);return}}throw new Error(`Invalid call: ${n}`)}};gm=C([b(1,nE),b(2,Wo)],gm)});var fm,yq=y(()=>{Ne();de();De();On();Ic();$R();fm=class extends yl{constructor(e,n,o){super(o);this.logService=n;this._onDidChangeExtensionGalleryManifest=this._register(new T);this.onDidChangeExtensionGalleryManifest=this._onDidChangeExtensionGalleryManifest.event;this._onDidChangeExtensionGalleryManifestStatus=this._register(new T);this.onDidChangeExtensionGalleryManifestStatus=this._onDidChangeExtensionGalleryManifestStatus.event;this.barrier=new Mr;e.registerChannel("extensionGalleryManifest",{listen:()=>V.None,call:async(i,s,a)=>{if(s==="setExtensionGalleryManifest")return Promise.resolve(this.setExtensionGalleryManifest(a[0]));throw new Error("Invalid call")}})}get extensionGalleryManifestStatus(){return this._extensionGalleryManifest?"available":"unavailable"}async getExtensionGalleryManifest(){return await this.barrier.wait(),this._extensionGalleryManifest??null}setExtensionGalleryManifest(e){this.logService.trace(`[Marketplace] Setting manifest ${e?"available":"unavailable"}`),this._extensionGalleryManifest=e,this._onDidChangeExtensionGalleryManifest.fire(e),this._onDidChangeExtensionGalleryManifestStatus.fire(this.extensionGalleryManifestStatus),this.barrier.open()}};fm=C([b(1,z),b(2,He)],fm)});var mv,rE,Iq=y(()=>{Tn();nt();De();io();Ll();bC();Wh();mv=class extends rd{constructor(t,e,n,o,i,s,a,l){super(t,e,n,o,i,s,a,l)}async installFromGallery(t,e){this.logService.trace("MCP Management Service: installGallery",t.name,t.galleryUrl),this._onInstallMcpServer.fire({name:t.name,mcpResource:this.mcpResource});try{let n=await this.updateMetadataFromGallery(t),o=e?.packageType??(n.remotes?.length?"remote":n.packages?.[0]?.registryType??"remote"),{mcpServerConfiguration:i,notices:s}=this.getMcpServerConfigurationFromManifest(n,o);s.length>0&&this.logService.warn(`MCP Management Service: Warnings while installing ${t.name}`,s);let a={name:t.name,config:{...i.config,gallery:t.galleryUrl??!0,version:t.version},inputs:i.inputs};this.ensureServerAllowed(a),await this.mcpResourceScannerService.addMcpServers([a],this.mcpResource,this.target),await this.updateLocal(t);let l=(await this.getInstalled()).find(c=>c.name===t.name);if(!l)throw new Error(`Failed to install MCP server: ${t.name}`);return l}catch(n){throw this._onDidInstallMcpServers.fire([{name:t.name,source:t,error:n,mcpResource:this.mcpResource}]),n}}};mv=C([b(1,ha),b(2,Oe),b(3,ze),b(4,z),b(5,ys),b(6,nr),b(7,_t)],mv);rE=class extends Xp{createMcpResourceManagementService(t){return this.instantiationService.createInstance(mv,t)}}});function iE(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function bq(r){switch(r){case"npm":return"npm";case"docker":case"docker-hub":case"oci":return"oci";case"pypi":return"pypi";case"nuget":return"nuget";default:return}}function Sq(r,t,e){if(!r)return;let n=[];for(let o of r){let i=bq(t(o));i&&n.push(e(o,i))}return n}function Wee(r){if(!iE(r)||!iE(r.server)||!j(r.server.name)||!j(r.server.version)||!Array.isArray(r.server.packages)||r.server.packages.length===0||r.server.packages.some(e=>!iE(e)||bq(e.registryType))||Array.isArray(r.server.remotes)&&r.server.remotes.length>0)return;let t=r.server.repository;if(iE(t)&&j(t.url))try{let e=new URL(t.url);if(e.protocol===`${B.https}:`&&!e.username&&!e.password)return{repositoryUrl:S.parse(e.href)}}catch{}return{}}function Vee(r,t){let e=Al(t,"McpServersQueryService")??t.url;try{let n=new URL(r),o=new URL(e);if(n.protocol!==`${B.http}:`&&n.protocol!==`${B.https}:`||n.username||n.password||o.username||o.password||n.origin!==o.origin)return;let i=o.pathname.replace(/\/+$/,"");return n.pathname!==i&&!n.pathname.startsWith(`${i}/`)?void 0:n.href}catch{return}}var Fee,Hee,t1,xq,sE,n1,Bee,qee,aE,hm,Cq=y(()=>{Zt();Ne();_i();K();Ae();Tt();oe();re();nt();De();Ti();Ll();Nh();Ee();we();Fee=5*1024*1024,Hee=3e4,t1=class extends Error{constructor(e){super("The MCP server has no supported package or remote endpoint.");this.repositoryUrl=e}};(o=>{o.VERSION="v0-2025-07-09",o.SCHEMA="https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json";class e{toRawGalleryMcpServerResult(s){if(!s||typeof s!="object"||!Array.isArray(s.servers))return;let a=s,l=[];for(let c of a.servers){let u=this.toRawGalleryMcpServer(c);u&&l.push(u)}return{metadata:{count:a.metadata.count??0,nextCursor:a.metadata?.next_cursor},servers:l}}toRawGalleryMcpServer(s){if(!s||typeof s!="object")return;let a=s;if(!a.name||!j(a.name)||!a.description||!j(a.description)||!a.version||!j(a.version)||a.$schema&&a.$schema!==o.SCHEMA)return;let l=a._meta?.["io.modelcontextprotocol.registry/official"];function c(I){return{...I,isRequired:I.is_required,isSecret:I.is_secret}}function u(I){let E={};for(let[w,P]of Object.entries(I))E[w]=c(P);return E}function p(I){return I.type==="positional"?{...I,valueHint:I.value_hint,isRepeated:I.is_repeated,isRequired:I.is_required,isSecret:I.is_secret,variables:I.variables?u(I.variables):void 0}:{...I,isRepeated:I.is_repeated,isRequired:I.is_required,isSecret:I.is_secret,variables:I.variables?u(I.variables):void 0}}function m(I){return{...I,isRequired:I.is_required,isSecret:I.is_secret,variables:I.variables?u(I.variables):void 0}}function f(I){switch(I.type){case"stdio":return{type:"stdio"};case"streamable-http":return{type:"streamable-http",url:I.url,headers:I.headers?.map(m)};case"sse":return{type:"sse",url:I.url,headers:I.headers?.map(m)};default:return{type:"stdio"}}}let h=Sq(a.packages,I=>I.registry_type??I.registry_name,(I,E)=>({identifier:I.identifier??I.name,registryType:E,version:I.version,fileSha256:I.file_sha256,registryBaseUrl:I.registry_base_url,transport:I.transport?f(I.transport):{type:"stdio"},packageArguments:I.package_arguments?.map(p),runtimeHint:I.runtime_hint,runtimeArguments:I.runtime_arguments?.map(p),environmentVariables:I.environment_variables?.map(m)}));if(!h?.length&&!a.remotes?.length)return;let v=a._meta["io.modelcontextprotocol.registry/publisher-provided"]?.github;return{id:l.id,name:a.name,description:a.description,repository:a.repository?{url:a.repository.url,source:a.repository.source,id:a.repository.id}:void 0,readme:a.repository?.readme,version:a.version,createdAt:a.created_at,updatedAt:a.updated_at,packages:h,remotes:a.remotes?.map(I=>({type:(I.type??I.transport_type??I.transport)==="sse"?"sse":"streamable-http",url:I.url,headers:I.headers?.map(m)})),registryInfo:{isLatest:l.is_latest,publishedAt:l.published_at,updatedAt:l.updated_at},githubInfo:v?{name:v.name,nameWithOwner:v.name_with_owner,displayName:v.display_name,isInOrganization:v.is_in_organization,license:v.license,opengraphImageUrl:v.opengraph_image_url,ownerAvatarUrl:v.owner_avatar_url,primaryLanguage:v.primary_language,primaryLanguageColor:v.primary_language_color,pushedAt:v.pushed_at,stargazerCount:v.stargazer_count,topics:v.topics,usesCustomOpengraphImage:v.uses_custom_opengraph_image}:void 0}}}o.SERIALIZER=new e})(xq||={});(n=>{n.VERSION="v0.1";class t{toRawGalleryMcpServerResult(i){if(!i||typeof i!="object"||!Array.isArray(i.servers))return;let s=i,a=[];for(let l of s.servers){let c=this.toRawGalleryMcpServer(l);c&&a.push(c)}return{metadata:s.metadata,servers:a}}toRawGalleryMcpServer(i){if(!i||typeof i!="object")return;let s=i;if(!s.server||!_e(s.server)||!s.server.name||!j(s.server.name)||!s.server.description||!j(s.server.description)||!s.server.version||!j(s.server.version))return;let{"io.modelcontextprotocol.registry/official":a,...l}=s._meta,c=s.server._meta?.["io.modelcontextprotocol.registry/publisher-provided"]?.github,u=Sq(s.server.packages,p=>p.registryType,(p,m)=>({...p,registryType:m}));if(!(!u?.length&&!s.server.remotes?.length))return{name:s.server.name,description:s.server.description,version:s.server.version,title:s.server.title,repository:s.server.repository?{url:s.server.repository.url,source:s.server.repository.source,id:s.server.repository.id}:void 0,readme:c?.readme,icons:s.server.icons,websiteUrl:s.server.websiteUrl,packages:u,remotes:s.server.remotes,status:a?.status,registryInfo:a,githubInfo:c,apicInfo:l}}}n.SERIALIZER=new t})(sE||={});(n=>{n.VERSION="v0";class t{toRawGalleryMcpServerResult(i){if(!_e(i))return;let s=i;if(!Array.isArray(s.servers)||!_e(s.metadata))return;let a=s.metadata;if(a.count!==void 0&&typeof a.count!="number")return;let l=[];for(let c of s.servers){let u=this.toRawGalleryMcpServer(c);u&&l.push(u)}return{metadata:{count:a.count??0,nextCursor:j(a.nextCursor)?a.nextCursor:j(a.next_cursor)?a.next_cursor:void 0},servers:l}}toRawGalleryMcpServer(i){return _e(i)&&_e(i.server)?sE.SERIALIZER.toRawGalleryMcpServer(i):xq.SERIALIZER.toRawGalleryMcpServer(i)}}n.SERIALIZER=new t})(n1||={});Bee=50,qee={pageSize:Bee},aE=class r{constructor(t=qee){this.state=t}get pageSize(){return this.state.pageSize}get searchText(){return this.state.searchText}get cursor(){return this.state.cursor}withPage(t,e=this.pageSize){return new r({...this.state,pageSize:e,cursor:t})}withSearchText(t){return new r({...this.state,searchText:t})}},hm=class extends _{constructor(e,n,o,i){super();this.requestService=e;this.fileService=n;this.logService=o;this.mcpGalleryManifestService=i;this.galleryMcpServerDataSerializers=new Map,this.galleryMcpServerDataSerializers.set(n1.VERSION,n1.SERIALIZER),this.galleryMcpServerDataSerializers.set(sE.VERSION,sE.SERIALIZER)}isEnabled(){return this.mcpGalleryManifestService.mcpGalleryManifestStatus==="available"}async queryPage(e,n,o){if(n.isCancellationRequested)throw new et;let i=o??await this.mcpGalleryManifestService.getMcpGalleryManifest();if(!i)throw new Error(d(3727,null));let s=new aE().withPage(e.cursor??"",e.pageSize).withSearchText(e.cursor?void 0:e.text?.trim()),{servers:a,metadata:l}=await this.queryGalleryMcpServers(s,i,n,!0);return{items:a,total:l.count>=a.length?l.count:void 0,nextCursor:l.nextCursor}}async query(e,n=Pe.None,o){let i=o??await this.mcpGalleryManifestService.getMcpGalleryManifest();if(!i)return{firstPage:{items:[],hasMore:!1},getNextPage:async()=>({items:[],hasMore:!1})};let s=new aE;e?.text&&(s=s.withSearchText(e.text.trim()));let{servers:a,metadata:l}=await this.queryGalleryMcpServers(s,i,n),c=l.nextCursor;return{firstPage:{items:a,hasMore:!!l.nextCursor},getNextPage:async u=>{if(u.isCancellationRequested)throw new et;if(!c)return{items:[],hasMore:!1};let{servers:p,metadata:m}=await this.queryGalleryMcpServers(s.withPage(c).withSearchText(void 0),i,u);return c=m.nextCursor,{items:p,hasMore:!!m.nextCursor}}}}async getMcpServersFromGallery(e,n){let o=await this.resolveMcpServersFromGallery(e,n),i=[];for(let s of o.values())s.status===0&&i.push(s.server);return i}async resolveMcpServersFromGallery(e,n){let o=new Map,i=n??await this.mcpGalleryManifestService.getMcpGalleryManifest();if(!i){for(let s of e)o.set(s.name,{status:2});return o}return await Promise.all(e.map(async s=>{try{let a=await this.getMcpServerByName(s,i);o.set(s.name,a?{status:0,server:a}:{status:1})}catch(a){this.logService.warn(`Failed to resolve MCP server '${s.name}' from gallery: ${a}`),o.set(s.name,{status:2})}})),o}async getMcpServerByName({name:e,id:n},o){let i=[this.getLatestServerVersionUrl(e,o),this.getNamedServerUrl(e,o),n?this.getServerIdUrl(n,o):void 0],s=!1,a;for(let l of i)if(l){s=!0;try{let c=await this.getMcpServer(l,o);if(c){if(c.name===e)return c;a=new Error(`MCP server lookup for '${e}' returned '${c.name}'`)}}catch(c){a=c}}if(!s)throw new Error(`Cannot resolve MCP server '${e}': registry manifest has no server lookup endpoint`);if(a!==void 0)throw a}async getReadme(e,n){let o=e.readmeUrl;if(!o)return Promise.resolve(d(3729,null));let i=S.parse(o);if(i.scheme===B.file)try{return(await this.fileService.readFile(i)).value.toString()}catch(l){this.logService.error(`Failed to read file from ${i}: ${l}`)}if(i.authority!=="raw.githubusercontent.com")return new Lt(d(3730,null,o)).value;let s=await this.requestService.request({type:"GET",url:o,callSite:"mcpGalleryService.getReadme"},n),a=await Zd(s);if(!a)throw new Error(`Failed to fetch README from ${o}`);return a}toGalleryMcpServer(e,n){let o="",i=e.title;if(e.githubInfo?.name)i||(i=e.githubInfo.name.split("-").map(c=>c.toLowerCase()==="mcp"?"MCP":c.toLowerCase()==="github"?"GitHub":aw(c)).join(" ")),o=e.githubInfo.nameWithOwner.split("/")[0];else{let c=e.name.split("/");if(c.length>0){let u=c[0].split(".");u.length>0&&(o=u[u.length-1])}i||(i=c[c.length-1].split("-").map(u=>aw(u)).join(" "))}e.githubInfo?.displayName&&(i=e.githubInfo.displayName);let s;if(e.githubInfo?.preferredImage)s={light:e.githubInfo.preferredImage,dark:e.githubInfo.preferredImage};else if(e.githubInfo?.ownerAvatarUrl)s={light:e.githubInfo.ownerAvatarUrl,dark:e.githubInfo.ownerAvatarUrl};else if(e.apicInfo?.["x-ms-icon"])s={light:e.apicInfo["x-ms-icon"],dark:e.apicInfo["x-ms-icon"]};else if(e.icons&&e.icons.length>0){let c=e.icons.find(p=>p.theme==="light")??e.icons[0],u=e.icons.find(p=>p.theme==="dark")??c;s={light:c.src,dark:u.src}}let a=n?this.getWebUrl(e.name,n):void 0,l=n?this.getPublisherUrl(o,n):void 0;return{id:e.id,name:e.name,displayName:i,galleryUrl:n?.url,webUrl:a,description:e.description,status:e.status??"active",version:e.version,isLatest:e.registryInfo?.isLatest??!0,publishDate:e.registryInfo?.publishedAt?Date.parse(e.registryInfo.publishedAt):void 0,lastUpdated:e.githubInfo?.pushedAt?Date.parse(e.githubInfo.pushedAt):e.registryInfo?.updatedAt?Date.parse(e.registryInfo.updatedAt):void 0,repositoryUrl:e.repository?.url,readme:e.readme,icon:s,publisher:o,publisherUrl:l,license:e.githubInfo?.license,starsCount:e.githubInfo?.stargazerCount,topics:e.githubInfo?.topics,configuration:{packages:e.packages,remotes:e.remotes}}}async queryGalleryMcpServers(e,n,o,i=!1){let{servers:s,metadata:a}=await this.queryRawGalleryMcpServers(e,n,o,i);return{servers:s.map(l=>this.toGalleryMcpServer(l,n)),metadata:a}}async queryRawGalleryMcpServers(e,n,o,i=!1){let s=this.getMcpGalleryUrl(n);if(!s){if(i)throw new Error(d(3726,null));return{servers:[],metadata:{count:0}}}let a=S.parse(s);if(a.scheme===B.file)try{let f=(await this.fileService.readFile(a)).value.toString();return JSON.parse(f)}catch(m){if(this.logService.error(`Failed to read file from ${a}: ${m}`),i)throw m}let l=`${s}?limit=${e.pageSize}&version=latest`;if(e.cursor&&(l+=`&cursor=${encodeURIComponent(e.cursor)}`),e.searchText){let m=encodeURIComponent(e.searchText);l+=`&search=${m}`}let c;try{c=await this.requestService.request({type:"GET",url:l,callSite:"mcpGalleryService.queryMcpServers"},o)}catch(m){if(on(m)||(this.logService.error(`Failed to query MCP gallery: ${m}`),i))throw m;return{servers:[],metadata:{count:0}}}if(!mc(c)){if(this.logService.error(`Failed to query MCP gallery: Server returned ${c.res.statusCode}`),i)throw new Error(d(3728,null,c.res.statusCode));return{servers:[],metadata:{count:0}}}let u=await ts(c);if(!u){if(i)throw new Error(d(3725,null));return{servers:[],metadata:{count:0}}}let p=this.serializeMcpServersResult(u,n);if(!p)throw new Error(`Failed to serialize MCP servers result from ${s}`,u);return p}async getMcpServer(e,n,o=Pe.None){let i=n??await this.mcpGalleryManifestService.getMcpGalleryManifest();if(!i)throw new Error("Cannot fetch MCP server because no MCP gallery is configured");let s=Vee(e,i);if(!s)throw new Error("Cannot fetch MCP server from outside the configured MCP gallery");let a=await this.requestService.request({type:"GET",url:s,followRedirects:0,...n?{timeout:Hee}:{},callSite:"mcpGalleryService.getMcpServer"},o);try{if(a.res.statusCode===404)return;if(!mc(a))throw new Error(`Failed to fetch MCP server from ${e}: server responded with ${a.res.statusCode}`);let l;if(n){let u=await Iw(SO(a,Fee,()=>new Error(d(3724,null))),o);try{l=JSON.parse(u)}catch{throw new Error(d(3723,null))}}else l=await Iw(ts(a),o);if(!l)throw new Error(`Failed to fetch MCP server from ${e}: empty response`);let c=this.serializeMcpServer(l,i);if(!c){let u=Wee(l);throw u?new t1(u.repositoryUrl):new Error(`Failed to serialize MCP server from ${e}`,l)}return this.toGalleryMcpServer(c,i)}finally{a.stream.destroy()}}serializeMcpServer(e,n){return this.getSerializer(n)?.toRawGalleryMcpServer(e)}serializeMcpServersResult(e,n){return this.getSerializer(n)?.toRawGalleryMcpServerResult(e)}getSerializer(e){let n=e?.version??"v0";return this.galleryMcpServerDataSerializers.get(n)}getNamedServerUrl(e,n){let o=Al(n,"McpServerNamedResourceUriTemplate");if(o)return Dr(o,{name:e})}getServerIdUrl(e,n){let o=Al(n,"McpServerIdUriTemplate");if(o)return Dr(o,{id:e})}getLatestServerVersionUrl(e,n){let o=Al(n,"McpServerLatestVersionUriTemplate");if(o)return Dr(o,{name:encodeURIComponent(e)})}getWebUrl(e,n){let o=Al(n,"McpServerWebUriTemplate");if(o)return Dr(o,{name:e})}getPublisherUrl(e,n){let o=Al(n,"PublisherUriTemplate");if(o)return Dr(o,{name:e})}getMcpGalleryUrl(e){return Al(e,"McpServersQueryService")}};hm=C([b(0,oo),b(1,Oe),b(2,z),b(3,uC)],hm)});function gv(r){if(Array.isArray(r))return r.filter($ee)}function $ee(r){if(!_e(r))return!1;let{serverName:t,serverUrl:e,serverCommand:n}=r,o=j(t)&&t.length>0,i=j(e)&&e.length>0,s=Array.isArray(n)&&n.length>0&&n.every(j);return(o?1:0)+(i?1:0)+(s?1:0)==1}function Eq(r,t){return!!r&&r.some(e=>zee(e,t))}function fv(r,t,e){return Eq(t,e)?1:r!==void 0&&!Eq(r,e)?2:0}function zee(r,t){return j(r.serverName)?r.serverName===t.name:j(r.serverUrl)?t.url!==void 0&&Gee(r.serverUrl,t.url):Array.isArray(r.serverCommand)?t.command!==void 0&&Gt(r.serverCommand,t.command):!1}function Gee(r,t){let e=wq(t);if(e===void 0)return!1;if(!r.includes("*")){let o=wq(r);return o!==void 0&&o.toLowerCase()===e.toLowerCase()}let n=Kee(r);if(n===void 0)return!1;try{return new RegExp(Qee(n),"i").test(e)}catch{return!1}}function wq(r){try{let t=new URL(r);return t.protocol==="http:"||t.protocol==="https:"?t.origin+t.pathname+t.search:r}catch{return}}function Kee(r){let t=r.indexOf("://");if(t<0)return r;let e=r.slice(0,t).toLowerCase();if(e!=="http"&&e!=="https")return r;let n=r.slice(t+3),o=Tq(n,0),i=n.slice(0,o),s=i.lastIndexOf("@");s>=0&&(i=i.slice(s+1));let a=jee(i);if(a===void 0)return;let l=e==="https"?"443":"80",c=a.port===l?void 0:a.port,u=n.slice(o).replace(/\\/g,"/"),p=u.indexOf("#");return p>=0&&(u=u.slice(0,p)),u?u.startsWith("?")&&(u=`/${u}`):u="/",`${e}://${a.host}${c!==void 0?`:${c}`:""}${u}`}function jee(r){if(r.startsWith("[")){let e=r.indexOf("]");return e===-1?void 0:r[e+1]===":"?{host:r.slice(0,e+1),port:r.slice(e+2)}:e+1<r.length?void 0:{host:r,port:void 0}}let t=r.lastIndexOf(":");return t>=0?{host:r.slice(0,t),port:r.slice(t+1)}:r?{host:r,port:void 0}:void 0}function Qee(r){let t=r.indexOf("://"),e=t>=0?t+3:0,n=Tq(r,e),o="^";for(let i=0;i<r.length;i++){let s=r[i];i<n&&s===":"&&r[i+1]==="*"?(o+="(:[^/@\\\\?#]*)?",i++):s==="*"?o+=i<n?"[^/@\\\\?#]*":".*":o+=eo(s)}return o+"$"}function Tq(r,t){for(let e=t;e<r.length;e++){let n=r[e];if(n==="/"||n==="\\"||n==="?"||n==="#")return e}return r.length}var Rq=y(()=>{At();Tt();we()});var vm,Pq=y(()=>{K();re();_i();tn();pA();de();we();Rq();Ll();fa();Nx();vm=class extends _{constructor(e){super();this.configurationService=e;this._onDidChangeAllowedMcpServers=this._register(new T);this.onDidChangeAllowedMcpServers=this._onDidChangeAllowedMcpServers.event;this._register(this.configurationService.onDidChangeConfiguration(n=>{(n.affectsConfiguration(pC)||n.affectsConfiguration(mC)||n.affectsConfiguration(gC)||n.affectsConfiguration(BD))&&this._onDidChangeAllowedMcpServers.fire()}))}isAllowed(e){return this.isServerAllowedBeforeResolution(this.toIdentity(e))}isServerAllowedBeforeResolution(e){return this.checkServerAllowed(e,"definition")}isServerAllowed(e){return this.checkServerAllowed(e,"resolved")}checkServerAllowed(e,n){if(this.configurationService.getValue(pC)==="none"){let l=PI("workbench.action.openSettings",{query:`@id:${pC}`}).toString();return new Lt(d(3716,null,l))}let o=this.configurationService.getValue(BD)===!0,i=o?gv(this.configurationService.inspect(mC).policyValue)??[]:gv(this.configurationService.getValue(mC)),s=o?this.getAllConfiguredMatchers(gC):gv(this.configurationService.getValue(gC));switch(n==="definition"?this.checkServerAllowedBeforeResolution(i,s,e):fv(i,s,e)){case 1:return new Lt(d(3714,null));case 2:return new Lt(d(3715,null))}return!0}checkServerAllowedBeforeResolution(e,n,o){let i=o.url!==void 0&&uA(o.url),s=o.command?.some(uA)??!1;if(!i&&!s)return fv(e,n,o);let a={name:o.name,url:i?void 0:o.url,command:s?void 0:o.command};return fv(void 0,n,a)===1?1:e===void 0||fv(e,void 0,a)===0?0:e.some(l=>i&&j(l.serverUrl)||s&&Array.isArray(l.serverCommand))?0:2}getAllConfiguredMatchers(e){let n=this.configurationService.inspect(e);return[n.applicationValue,n.userValue,n.userLocalValue,n.userRemoteValue,n.workspaceValue,n.workspaceFolderValue,n.memoryValue,n.policyValue].flatMap(o=>gv(o)??[])}toIdentity(e){if(xn(e,{config:!0})){let o=e.config;return o.type==="http"?{name:e.name,url:o.url}:{name:e.name,command:[o.command,...o.args??[]]}}let n=e.configuration.remotes?.[0];return{name:e.name,url:n?Xc(n.url,n.variables):void 0}}};vm=C([b(0,ft)],vm)});var lE,kq=y(()=>{Ne();de();K();Nh();lE=class extends _{constructor(e){super();this._onDidChangeMcpGalleryManifest=this._register(new T);this.onDidChangeMcpGalleryManifest=this._onDidChangeMcpGalleryManifest.event;this._onDidChangeMcpGalleryManifestStatus=this._register(new T);this.onDidChangeMcpGalleryManifestStatus=this._onDidChangeMcpGalleryManifestStatus.event;this.barrier=new Mr;e.registerChannel("mcpGalleryManifest",{listen:()=>V.None,call:async(n,o,i)=>{if(o==="setMcpGalleryManifest"){let s=Array.isArray(i)?i[0]:null;return Promise.resolve(this.setMcpGalleryManifest(s))}throw new Error("Invalid call")}})}get mcpGalleryManifestStatus(){return this._mcpGalleryManifest?"available":"unavailable"}async getMcpGalleryManifest(){return await this.barrier.wait(),this._mcpGalleryManifest??null}async getDefaultMcpGalleryManifest(){return null}setMcpGalleryManifest(e){this._mcpGalleryManifest=e,this._onDidChangeMcpGalleryManifest.fire(e),this._onDidChangeMcpGalleryManifestStatus.fire(this.mcpGalleryManifestStatus),this.barrier.open()}}});import*as o1 from"fs";var ba,r1,Dq=y(()=>{Ne();de();Sn();Me();go();ba=class r{constructor(t,e=Object.create(null)){this.path=t;this.name=ut(this.path),this.logger=new r1(e.logging),this.useWAL=!!e.useWAL,this.busyTimeout=e.busyTimeout,this.whenConnected=this.connect(this.path)}static{this.IN_MEMORY_PATH=":memory:"}get onDidChangeItemsExternal(){return V.None}static{this.BUSY_OPEN_TIMEOUT=2e3}static{this.MAX_HOST_PARAMETERS=256}async getItems(){let t=await this.whenConnected,e=new Map;return(await this.all(t,"SELECT * FROM ItemTable")).forEach(o=>e.set(o.key,o.value)),this.logger.isTracing&&this.logger.trace(`[storage ${this.name}] getItems(): ${e.size} rows`),e}async updateItems(t){let e=await this.whenConnected;return this.doUpdateItems(e,t)}doUpdateItems(t,e){return this.logger.isTracing&&this.logger.trace(`[storage ${this.name}] updateItems(): insert(${e.insert?I0(e.insert):"0"}), delete(${e.delete?b0(e.delete):"0"})`),this.transaction(t,()=>{let n=e.insert,o=e.delete;if(n&&n.size>0){let i=[];i.push([]);let s=0;n.forEach((a,l)=>{let c=i[s];c.length>r.MAX_HOST_PARAMETERS&&(s++,c=[],i.push(c)),c.push(l,a)}),i.forEach(a=>{this.prepare(t,`INSERT INTO ItemTable VALUES ${new Array(a.length/2).fill("(?,?)").join(",")} ON CONFLICT (key) DO UPDATE SET value = excluded.value WHERE value != excluded.value`,l=>l.run(a),()=>{let l=[],c=0;return n.forEach((u,p)=>{l.push(p),c+=u.length}),`Keys: ${l.join(", ")} Length: ${c}`})})}if(o?.size){let i=[];i.push([]);let s=0;o.forEach(a=>{let l=i[s];l.length>r.MAX_HOST_PARAMETERS&&(s++,l=[],i.push(l)),l.push(a)}),i.forEach(a=>{this.prepare(t,`DELETE FROM ItemTable WHERE key IN (${new Array(a.length).fill("?").join(",")})`,l=>l.run(a),()=>{let l=[];return o.forEach(c=>{l.push(c)}),`Keys: ${l.join(", ")}`})})}})}async optimize(){this.logger.trace(`[storage ${this.name}] vacuum()`);let t=await this.whenConnected;return this.exec(t,"VACUUM")}async close(t){this.logger.trace(`[storage ${this.name}] close()`);let e=await this.whenConnected;return this.doClose(e,t)}doClose(t,e){return new Promise((n,o)=>{t.db.close(i=>(i&&this.handleSQLiteError(t,`[storage ${this.name}] close(): ${i}`),this.path===r.IN_MEMORY_PATH?n():!t.isErroneous&&!t.isInMemory?this.backup().then(n,s=>(this.logger.error(`[storage ${this.name}] backup(): ${s}`),n())):typeof e=="function"?o1.promises.unlink(this.path).then(()=>this.doConnect(this.path).then(s=>{let a=()=>this.doClose(s,void 0);return this.doUpdateItems(s,{insert:e()}).then(()=>a(),l=>(a(),Promise.reject(l)))})).then(n,o):o(i||new Error("Database has errors or is in-memory without recovery option"))))})}backup(){let t=this.toBackupPath(this.path);return be.copy(this.path,t,{preserveSymlinks:!1})}toBackupPath(t){return`${t}.backup`}async checkIntegrity(t){this.logger.trace(`[storage ${this.name}] checkIntegrity(full: ${t})`);let e=await this.whenConnected,n=await this.get(e,t?"PRAGMA integrity_check":"PRAGMA quick_check"),o=t?n.integrity_check:n.quick_check;return e.isErroneous?`${o} (last error: ${e.lastError})`:e.isInMemory?`${o} (in-memory!)`:o}async connect(t,e=!0){this.logger.trace(`[storage ${this.name}] open(${t}, retryOnBusy: ${e})`);try{return await this.doConnect(t)}catch(n){if(this.logger.error(`[storage ${this.name}] open(): Unable to open DB due to ${n}`),n.code==="SQLITE_BUSY"&&e)return await Eo(r.BUSY_OPEN_TIMEOUT),this.connect(t,!1);try{await o1.promises.unlink(t);try{await be.rename(this.toBackupPath(t),t,!1)}catch{}return await this.doConnect(t)}catch(o){return this.logger.error(`[storage ${this.name}] open(): Unable to use backup due to ${o}`),this.doConnect(r.IN_MEMORY_PATH)}}}handleSQLiteError(t,e){t.isErroneous=!0,t.lastError=e,this.logger.error(e)}doConnect(t){return new Promise((e,n)=>{import("@vscode/sqlite3").then(o=>{let i=this.logger.isTracing?o.default.verbose().Database:o.default.Database,s={db:new i(t,a=>{if(a)return s.db&&a.code!=="SQLITE_CANTOPEN"?s.db.close(()=>n(a)):n(a);let l=["PRAGMA user_version = 1;","CREATE TABLE IF NOT EXISTS ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB);"];return this.useWAL&&l.push("PRAGMA journal_mode=WAL;"),this.busyTimeout&&l.push(`PRAGMA busy_timeout=${this.busyTimeout};`),this.exec(s,l.join("")).then(()=>e(s),c=>s.db.close(()=>n(c)))}),isInMemory:t===r.IN_MEMORY_PATH};s.db.on("error",a=>this.handleSQLiteError(s,`[storage ${this.name}] Error (event): ${a}`)),this.logger.isTracing&&s.db.on("trace",a=>this.logger.trace(`[storage ${this.name}] Trace (event): ${a}`))},n)})}exec(t,e){return new Promise((n,o)=>{t.db.exec(e,i=>i?(this.handleSQLiteError(t,`[storage ${this.name}] exec(): ${i}`),o(i)):n())})}get(t,e){return new Promise((n,o)=>{t.db.get(e,(i,s)=>i?(this.handleSQLiteError(t,`[storage ${this.name}] get(): ${i}`),o(i)):n(s))})}all(t,e){return new Promise((n,o)=>{t.db.all(e,(i,s)=>i?(this.handleSQLiteError(t,`[storage ${this.name}] all(): ${i}`),o(i)):n(s))})}transaction(t,e){return new Promise((n,o)=>{t.db.serialize(()=>{t.db.run("BEGIN TRANSACTION"),e(),t.db.run("END TRANSACTION",i=>i?(this.handleSQLiteError(t,`[storage ${this.name}] transaction(): ${i}`),o(i)):n())})})}prepare(t,e,n,o){let i=t.db.prepare(e),s=a=>{this.handleSQLiteError(t,`[storage ${this.name}] prepare(): ${a} (${e}). Details: ${o()}`)};i.on("error",s),n(i),i.finalize(a=>{a&&s(a),i.removeListener("error",s)})}},r1=class r{static{this.VSCODE_TRACE_STORAGE="VSCODE_TRACE_STORAGE"}constructor(t){t&&typeof t.logTrace=="function"&&process.env[r.VSCODE_TRACE_STORAGE]&&(this.logTrace=t.logTrace),t&&typeof t.logError=="function"&&(this.logError=t.logError)}get isTracing(){return!!this.logTrace}trace(t){this.logTrace?.(t)}error(t){this.logError?.(t)}}});import*as i1 from"fs";var ym,cE,dE,uE,Im,pE,hv,s1=y(()=>{At();Ne();de();K();Me();_s();oe();go();UT();Dq();De();Ri();Rn();$s();Ae();ym=class r extends _{constructor(e,n){super();this.logService=e;this.fileService=n;this._onDidChangeStorage=this._register(new T);this.onDidChangeStorage=this._onDidChangeStorage.event;this._onDidCloseStorage=this._register(new T);this.onDidCloseStorage=this._onDidCloseStorage.event;this._storage=this._register(new Wr(new is,{hint:1}));this.initializePromise=void 0;this.whenInitPromise=new zn;this.whenInit=this.whenInitPromise.p;this.state=0}static{this.LOG_SLOW_CLOSE_THRESHOLD=2e3}get storage(){return this._storage}isInMemory(){return this._storage.isInMemory()}init(){return this.initializePromise||(this.initializePromise=(async()=>{if(this.state===0)try{let e=this._register(await this.doCreate());this._storage.dispose(),this._storage=e,this._register(e.onDidChangeStorage(o=>this._onDidChangeStorage.fire(o))),await this.doInit(e);let n=e.getBoolean(Fg);n===void 0?e.set(Fg,!0):n&&e.set(Fg,!1)}catch(e){this.logService.error(`[storage main] initialize(): Unable to init storage due to ${e}`)}finally{this.state=1,this.whenInitPromise.complete()}})()),this.initializePromise}createLoggingOptions(){return{logTrace:this.logService.getLevel()===1?e=>this.logService.trace(e):void 0,logError:e=>this.logService.error(e)}}doInit(e){return e.init()}get items(){return this._storage.items}get(e,n){return this._storage.get(e,n)}set(e,n){return this._storage.set(e,n)}delete(e){return this._storage.delete(e)}optimize(){return this._storage.optimize()}async close(){let e=new Zn(!1);await this.doClose(),e.stop(),e.elapsed()>r.LOG_SLOW_CLOSE_THRESHOLD&&await this.logSlowClose(e),this._onDidCloseStorage.fire()}async logSlowClose(e){if(this.path)try{let n=d0(Array.from(this._storage.items.entries()).map(([i,s])=>({key:i,length:s.length})),(i,s)=>s.length-i.length,5).map(i=>`${i.key}:${i.length}`).join(", "),o=(await this.fileService.stat(S.file(this.path))).size;this.logService.warn(`[storage main] detected slow close() operation: Time: ${e.elapsed()}ms, DB size: ${o}b, Large Keys: ${n}`)}catch(n){this.logService.error("[storage main] figuring out stats for slow DB on close() resulted in an error",n)}}async doClose(){this.initializePromise&&await this.initializePromise,this.state=2,await this._storage.close()}},cE=class r extends ym{constructor(e,n,o,i){super(o,i);this.profile=e;this.options=n}static{this.STORAGE_NAME="state.vscdb"}get path(){if(!this.options.useInMemoryStorage)return q(this.profile.globalStorageHome.with({scheme:B.file}).fsPath,r.STORAGE_NAME)}async doCreate(){return new Wr(new ba(this.path??ba.IN_MEMORY_PATH,{logging:this.createLoggingOptions()}),this.path?void 0:{hint:1})}},dE=class extends cE{},uE=class extends cE{constructor(t,e,n,o){super(e.defaultProfile,t,n,o)}async doInit(t){await super.doInit(t),this.updateTelemetryState(t)}updateTelemetryState(t){t.get(ET,void 0)===void 0&&t.set(ET,new Date().toUTCString());let n=t.get(CT,void 0),o=new Date().toUTCString();t.set(zO,typeof n>"u"?null:n),t.set(CT,o)}},Im=class r extends ym{constructor(e,n,o,i,s){super(i,s);this.options=e;this.storageFolderPath=n;this.applicationStorage=o}static{this.STORAGE_NAME="state.vscdb"}get path(){if(!this.options.useInMemoryStorage)return q(this.storageFolderPath,r.STORAGE_NAME)}async doCreate(){let{storageFilePath:e,wasCreated:n}=await this.prepareStorageFolder();this.logService.info(`[shared storage] Creating shared storage database at '${e}' (wasCreated: ${n})`);let o=new ba(e,{logging:this.createLoggingOptions()});this.logService.info(`[shared storage] Initializing fallback application storage (path: ${this.applicationStorage.path??"in-memory"})`),await this.applicationStorage.init(),this.logService.info(`[shared storage] Fallback application storage initialized with ${this.applicationStorage.items.size} items`);let i=this._register(new dI(o,{hint:n?0:void 0}));return i.setFallbackStorage(this.applicationStorage.storage,!1),i}get applicationStorageItems(){return this.applicationStorage.items}async prepareStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:ba.IN_MEMORY_PATH,wasCreated:!0};let e=q(this.storageFolderPath,r.STORAGE_NAME);return await be.exists(this.storageFolderPath)?{storageFilePath:e,wasCreated:!1}:(await i1.promises.mkdir(this.storageFolderPath,{recursive:!0}),{storageFilePath:e,wasCreated:!0})}},pE=class r extends ym{constructor(e,n,o,i,s){super(o,s);this.workspace=e;this.options=n;this.environmentService=i}static{this.WORKSPACE_STORAGE_NAME="state.vscdb"}static{this.WORKSPACE_META_NAME="workspace.json"}get path(){if(!this.options.useInMemoryStorage)return q(this.environmentService.workspaceStorageHome.with({scheme:B.file}).fsPath,this.workspace.id,r.WORKSPACE_STORAGE_NAME)}async doCreate(){let{storageFilePath:e,wasCreated:n}=await this.prepareWorkspaceStorageFolder();return new Wr(new ba(e,{logging:this.createLoggingOptions()}),{hint:this.options.useInMemoryStorage?1:n?0:void 0})}async prepareWorkspaceStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:ba.IN_MEMORY_PATH,wasCreated:!0};let e=q(this.environmentService.workspaceStorageHome.with({scheme:B.file}).fsPath,this.workspace.id),n=q(e,r.WORKSPACE_STORAGE_NAME);return await be.exists(e)?{storageFilePath:n,wasCreated:!1}:(await i1.promises.mkdir(e,{recursive:!0}),this.ensureWorkspaceStorageFolderMeta(e),{storageFilePath:n,wasCreated:!0})}async ensureWorkspaceStorageFolderMeta(e){let n;if(uI(this.workspace)?n={folder:this.workspace.uri.toString()}:pI(this.workspace)&&(n={workspace:this.workspace.configPath.toString()}),n)try{let o=q(e,r.WORKSPACE_META_NAME);await be.exists(o)||await be.writeFile(o,JSON.stringify(n,void 0,2))}catch(o){this.logService.error(`[storage main] ensureWorkspaceStorageFolderMeta(): Unable to create workspace storage metadata due to ${o}`)}}},hv=class extends ym{get path(){}async doCreate(){return new Wr(new is,{hint:1})}}});var mE,_q=y(()=>{de();K();rs();s1();$s();mE=class r extends _{constructor(e,n){super();this.logService=e;this.storageMainService=n;this.onDidChangeApplicationStorageEmitter=this._register(new T);this.onDidChangeApplicationSharedStorageEmitter=this._register(new T);this.mapProfileToOnDidChangeProfileStorageEmitter=new Map;this.registerStorageChangeListeners(n.applicationStorage,this.onDidChangeApplicationStorageEmitter),this.registerStorageChangeListeners(n.applicationSharedStorage,this.onDidChangeApplicationSharedStorageEmitter)}static{this.STORAGE_CHANGE_DEBOUNCE_TIME=100}registerStorageChangeListeners(e,n){this._register(V.debounce(e.onDidChangeStorage,(o,i)=>(o?o.push(i):o=[i],o),r.STORAGE_CHANGE_DEBOUNCE_TIME)(o=>{o.length&&n.fire(this.serializeStorageChangeEvents(o,e))}))}serializeStorageChangeEvents(e,n){let o=new Map,i=new Set;return e.forEach(s=>{let a=n.get(s.key);typeof a=="string"?o.set(s.key,a):i.add(s.key)}),{changed:Array.from(o.entries()),deleted:Array.from(i.values())}}listen(e,n,o){switch(n){case"onDidChangeStorage":{let i=o.profile?Qt(o.profile):void 0;if(!i)return o.applicationShared?this.onDidChangeApplicationSharedStorageEmitter.event:this.onDidChangeApplicationStorageEmitter.event;let s=this.mapProfileToOnDidChangeProfileStorageEmitter.get(i.id);return s||(s=this._register(new T),this.registerStorageChangeListeners(this.storageMainService.profileStorage(i),s),this.mapProfileToOnDidChangeProfileStorageEmitter.set(i.id,s)),s.event}}throw new Error(`Event not found: ${n}`)}async call(e,n,o){let i=o.profile?Qt(o.profile):void 0,s=wN(o.workspace),a=o.applicationShared,l=await this.withStorageInitialized(i,s,a);switch(n){case"getItems":{let c=new Map(l.items);return Array.from(c.entries())}case"getValue":{let c=o;return l.get(c.key)}case"getFallbackApplicationStorageItems":return l instanceof Im?Array.from(l.applicationStorageItems.entries()):[];case"updateItems":{let c=o;if(c.insert)for(let[u,p]of c.insert)l.set(u,p);c.delete?.forEach(u=>l.delete(u));break}case"compareAndSwap":{let c=o,u=l.get(c.key);return u!==c.expectedValue?{swapped:!1,currentValue:u}:(l.set(c.key,c.newValue),{swapped:!0,currentValue:c.newValue})}case"optimize":return l.optimize();case"isUsed":{let c=o.payload;return typeof c=="string"?this.storageMainService.isUsed(c):!1}default:throw new Error(`Call not found: ${n}`)}}async withStorageInitialized(e,n,o){let i;n?i=this.storageMainService.workspaceStorage(n):e?i=this.storageMainService.profileStorage(e):o?i=this.storageMainService.applicationSharedStorage:i=this.storageMainService.applicationStorage;try{await i.init()}catch(s){this.logService.error(`StorageIPC#init: Unable to init ${n?"workspace":e?"profile":o?"application-shared":"application"} storage due to ${s}`)}return i}}});function Jee(r,t){let e=r["agent-plugins-dir"];if(e)return qn(e);let n=zt.VSCODE_AGENT_PLUGINS;if(n)return n;let o=zt.VSCODE_PORTABLE;return o?q(o,"agent-plugins"):ge(t,"agent-plugins").fsPath}var Mq,gE,Aq=y(()=>{bt();Tn();nt();Z();De();On();io();vo();vb();UR();oe();cr();Me();Mq=Ft,gE=class extends ci{constructor(t,e,n,o,i,s){super(t,e,n,o,i),this.agentPluginsHome=S.file(Jee(n.args,ge(n.userHome,s.dataFolderName)))}createDefaultProfile(){return{...super.createDefaultProfile(),agentPluginsHome:this.agentPluginsHome}}async createAgentsWindowProfile(){let t=this.profiles.find(e=>e.id===el);return t||this.createProfile(el,"Agents")}getAssociatedEmptyWindows(){let t=[];for(let e of this.profilesObject.emptyWindows.keys())t.push({id:e});return t}};gE=C([b(0,fb),b(1,ze),b(2,wn),b(3,Oe),b(4,z),b(5,He)],gE)});var Yee,Lq,Xee,bm,rbt,fE,Oq=y(()=>{oe();de();K();Me();Tn();nt();Z();De();Ri();s1();vo();Aq();io();Ae();Yee=3,Lq=2,Xee=D("storageMainService"),bm=class extends _{constructor(e,n,o,i,s,a){super();this.logService=e;this.environmentService=n;this.userDataProfilesService=o;this.lifecycleMainService=i;this.fileService=s;this.uriIdentityService=a;this.shutdownReason=void 0;this._onDidChangeProfileStorage=this._register(new T);this.onDidChangeProfileStorage=this._onDidChangeProfileStorage.event;this.mapProfileToStorage=new Map;this.mapWorkspaceToStorage=new Map;this.applicationStorage=this._register(this.createApplicationStorage()),this.applicationSharedStorage=this._register(this.createApplicationSharedStorage()),this.registerListeners()}getStorageOptions(){return{useInMemoryStorage:!!this.environmentService.extensionTestsLocationURI}}registerListeners(){(async()=>(await this.lifecycleMainService.when(Yee),this.applicationStorage.init(),this.applicationSharedStorage.init()))(),this._register(this.lifecycleMainService.onWillLoadWindow(e=>{e.window.profile&&this.profileStorage(e.window.profile).init(),e.workspace&&this.workspaceStorage(e.workspace).init()})),this._register(this.lifecycleMainService.onWillShutdown(e=>{this.logService.trace("storageMainService#onWillShutdown()"),this.shutdownReason=e.reason,e.join("applicationStorage",this.applicationStorage.close()),e.join("applicationSharedStorage",this.applicationSharedStorage.close());for(let[,n]of this.mapProfileToStorage)e.join("profileStorage",n.close());for(let[,n]of this.mapWorkspaceToStorage)e.join("workspaceStorage",n.close())})),this._register(this.userDataProfilesService.onWillCreateProfile(e=>{e.join((async()=>{await this.fileService.exists(e.profile.globalStorageHome)||await this.fileService.createFolder(e.profile.globalStorageHome)})())})),this._register(this.userDataProfilesService.onWillRemoveProfile(e=>{let n=this.mapProfileToStorage.get(e.profile.id);n&&e.join(n.close())}))}createApplicationStorage(){this.logService.trace("StorageMainService: creating application storage");let e=new uE(this.getStorageOptions(),this.userDataProfilesService,this.logService,this.fileService);return this._register(V.once(e.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application storage")})),e}createApplicationSharedStorage(){this.logService.info("StorageMainService: creating application shared storage");let e=q(this.environmentService.appSharedDataHome.with({scheme:B.file}).fsPath,"sharedStorage"),n=new Im(this.getStorageOptions(),e,this.applicationStorage,this.logService,this.fileService);return this._register(V.once(n.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application shared storage")})),n}profileStorage(e){if(fI(e))return this.applicationStorage;let n=this.mapProfileToStorage.get(e.id);if(!n){this.logService.trace(`StorageMainService: creating profile storage (${e.name})`),n=this._register(this.createProfileStorage(e)),this.mapProfileToStorage.set(e.id,n);let o=n.onDidChangeStorage(i=>this._onDidChangeProfileStorage.fire({...i,storage:n,profile:e}));V.once(n.onDidCloseStorage)(()=>{this.logService.trace(`StorageMainService: closed profile storage (${e.name})`),this.mapProfileToStorage.delete(e.id),o.dispose()})}return n}createProfileStorage(e){return this.shutdownReason===Lq?new hv(this.logService,this.fileService):new dE(e,this.getStorageOptions(),this.logService,this.fileService)}workspaceStorage(e){let n=this.mapWorkspaceToStorage.get(e.id);return n||(this.logService.trace(`StorageMainService: creating workspace storage (${e.id})`),n=this._register(this.createWorkspaceStorage(e)),this.mapWorkspaceToStorage.set(e.id,n),V.once(n.onDidCloseStorage)(()=>{this.logService.trace(`StorageMainService: closed workspace storage (${e.id})`),this.mapWorkspaceToStorage.delete(e.id)})),n}createWorkspaceStorage(e){return this.shutdownReason===Lq?new hv(this.logService,this.fileService):new pE(e,this.getStorageOptions(),this.logService,this.environmentService,this.fileService)}isUsed(e){let n=S.file(e);for(let o of[this.applicationStorage,this.applicationSharedStorage,...this.mapProfileToStorage.values(),...this.mapWorkspaceToStorage.values()])if(o.path&&this.uriIdentityService.extUri.isEqualOrParent(S.file(o.path),n))return!0;return!1}};bm=C([b(0,z),b(1,wn),b(2,Mq),b(4,Oe),b(5,ze)],bm);rbt=D("applicationStorageMainService"),fE=class extends Ug{constructor(e,n){super();this.userDataProfilesService=e;this.storageMainService=n;this.whenReady=Promise.all([this.storageMainService.applicationStorage.whenInit,this.storageMainService.applicationSharedStorage.whenInit]).then(()=>{})}doInitialize(){return Promise.all([this.storageMainService.applicationStorage.whenInit,this.storageMainService.applicationSharedStorage.whenInit]).then(()=>{})}getStorage(e){if(e===-1)return this.storageMainService.applicationStorage.storage;if(e===-2)return this.storageMainService.applicationSharedStorage.storage}getLogDetails(e){if(e===-1)return this.userDataProfilesService.defaultProfile.globalStorageHome.with({scheme:B.file}).fsPath;if(e===-2)return this.storageMainService.applicationSharedStorage.path}shouldFlushWhenIdle(){return!1}switch(){throw new Error("Migrating storage is unsupported from main process")}switchToProfile(){throw new Error("Switching storage profile is unsupported from main process")}switchToWorkspace(){throw new Error("Switching storage workspace is unsupported from main process")}hasScope(){throw new Error("Main process is never profile or workspace scoped")}};fE=C([b(0,Ft),b(1,Xee)],fE)});var Nq,hE,Uq=y(()=>{Nq="sandboxHelper",hE=class{constructor(t){this.service=t}listen(t,e){throw new Error("Invalid listen")}call(t,e,n,o){switch(e){case"checkSandboxDependencies":return this.service.checkSandboxDependencies();case"getWindowsMxcFilesystemPolicy":return this.service.getWindowsMxcFilesystemPolicy();case"getWindowsMxcEnvironment":return this.service.getWindowsMxcEnvironment();case"buildWindowsMxcSandboxPayload":{let{commandLine:i,policy:s,workingDirectory:a,containerName:l,containment:c}=n;return this.service.buildWindowsMxcSandboxPayload(i,s,a,l,c)}}throw new Error("Invalid call")}}});import{execFile as Zee}from"child_process";import{readFile as ete}from"fs/promises";var tte,vE,Fq=y(()=>{jt();Me();me();GR();Sg();tte=[{distributionIds:["debian","ubuntu","linuxmint","pop","elementary","kali","raspbian"],commands:[["apt-get","apt-get update && apt-get install -y"],["apt","apt update && apt install -y"]]},{distributionIds:["fedora","rhel","centos","rocky","almalinux"],commands:[["dnf","dnf install -y"],["yum","yum install -y"]]},{distributionIds:["arch","manjaro","endeavouros"],commands:[["pacman","pacman -S --needed --noconfirm"]]},{distributionIds:["suse","opensuse","opensuse-leap","opensuse-tumbleweed"],commands:[["zypper","zypper --non-interactive install"]]},{distributionIds:["alpine"],commands:[["apk","apk add"]]}],vE=class r{static async checkSandboxDependenciesWith(t,e=$e,n=s=>r._probeBubblewrap(s),o=()=>r._resolveLinuxInstallEnvironment(),i=()=>r._resolveAppArmorRestriction()){if(!e)return;let[s,a]=await Promise.all([t("bwrap"),t("socat")]),l=s?await n(s):{usable:!1},[c,u]=await Promise.all([!s||!a?r._findDependencyInstallCommand(t,o):void 0,s&&!l.usable?i():void 0]);return{bubblewrapInstalled:!!s,bubblewrapUsable:l.usable,bubblewrapError:l.error,socatInstalled:!!a,dependencyInstallCommand:c,...u===void 0?void 0:{apparmorRestrictsUnprivilegedUserNamespaces:u}}}static async _resolveAppArmorRestriction(){let t=await ete("/proc/sys/kernel/apparmor_restrict_unprivileged_userns","utf8").catch(()=>{});return t===void 0?void 0:t.trim()==="1"}static async _findDependencyInstallCommand(t,e){let n=await e(),o=tte.find(s=>s.distributionIds.some(a=>n.distributionIds.includes(a)));if(!o)return;let i=n.isRoot?"":await t("sudo")?"sudo ":void 0;if(i!==void 0){for(let[s,a]of o.commands)if(await t(s))return a.split(" && ").map(l=>`${i}${l}`).join(" && ")}}static async _resolveLinuxInstallEnvironment(){let t=await bb(()=>{});return{distributionIds:[t?.id,...t?.id_like?.split(/\s+/)??[]].filter(e=>!!e),isRoot:process.getuid?.()===0}}checkSandboxDependencies(){return r.checkSandboxDependenciesWith(hc)}static _probeBubblewrap(t){return new Promise(e=>{Zee(t,["--unshare-net","--dev-bind","/","/","echo","ok"],{encoding:"utf8",timeout:5e3},(n,o,i)=>{if(!n&&o.trim()==="ok"){e({usable:!0});return}let s=i.trim()||n?.message||`Unexpected output: ${o.trim()}`;e({usable:!1,error:s.slice(0,1e3)})})})}async getWindowsMxcFilesystemPolicy(){if(!te)return;let{getAvailableToolsPolicy:t,getUserProfilePolicy:e,getTemporaryFilesPolicy:n}=await import("@microsoft/mxc-sdk"),o=t(process.env,{containerType:"processcontainer"}),i=e(),s=n(process.env),a=await this._getPSHome();return{readonlyPaths:[...new Set([...o.readonlyPaths,...i.readonlyPaths,...s.readonlyPaths,...a?[a]:[]])],readwritePaths:[...new Set([...o.readwritePaths,...i.readwritePaths,...s.readwritePaths])]}}async getWindowsMxcEnvironment(){if(!te)return;let t=[];for(let s of["SystemRoot","PATH","ComSpec","PATHEXT","PSModulePath"]){let a=Fs(process.env,s);typeof a=="string"&&a&&t.push(`${s}=${a}`)}let e=Fs(process.env,"USERPROFILE");typeof e=="string"&&e&&t.push(`USERPROFILE=${e}`);let n=Fs(process.env,"APPDATA");typeof n=="string"&&n&&t.push(`APPDATA=${n}`);let o=this._getLocalAppData();typeof o=="string"&&o&&t.push(`LOCALAPPDATA=${o}`);let i=await this._getPSHome();return i&&t.push(`PSHOME=${i}`),t}async buildWindowsMxcSandboxPayload(t,e,n,o,i="process"){if(!te)return;let{buildSandboxPayload:s}=await import("@microsoft/mxc-sdk");return s(t,e,n,o,i)}async _getPSHome(){let t=Fs(process.env,"PSHOME");if(typeof t=="string"&&t)return t;let e=await hc("pwsh")??await hc("powershell");return e?mn.dirname(e):void 0}_getLocalAppData(){let t=Fs(process.env,"LOCALAPPDATA");return typeof t=="string"&&t?t:void 0}}});import*as yE from"fs";import{hostname as nte,release as ote}from"os";async function Hq(r,t,e,n,o){let i=new Aa,s=new c1,a={_serviceBrand:void 0,...je};i.set(He,a);let l=new us(t,a);i.set(_t,l),i.set(wn,l);let c=new Wu(dg(l),l.logsHome);i.set(Wo,c),s.registerChannel("logger",new Wb(c,N=>gd(N.remoteAuthority)));let u=c.createLogger("remoteagent",{name:d(4285,null)}),p=o.add(new Hu(u,[new d1(dg(l))]));i.set(z,p),setTimeout(()=>ite(l.logsHome.with({scheme:B.file}).fsPath).then(null,N=>p.error(N)),1e4),o.add(p.onDidChangeLogLevel(N=>VL(p,N,`Log level changed to ${Uw(p.getLevel())}`))),p.trace(`Remote configuration data at ${e}`),p.trace("process arguments:",cb(l.args)),Array.isArray(a.serverGreeting)&&p.info(`
${a.serverGreeting.join(`
`)}
`),s.registerChannel(gf.ChannelName,new gf);let m=new JI(N=>N.clientId==="renderer"),f=o.add(new ls(p));i.set(Oe,f),f.registerProvider(B.file,o.add(new ds(p)));let h=new js(f);i.set(ze,h);let v=new Yd(l.machineSettingsResource,f,new ja,p);i.set(ft,v);let I=new fl(h,l,f,p);i.set(Ft,I),s.registerChannel("userDataProfiles",new xC(I,N=>gd(N.remoteAuthority))),i.set(ZC,new pt(cm,void 0,!0));let[,,E,w,P]=await Promise.all([v.initialize(),I.init(),BF(p.error.bind(p)),qF(p.error.bind(p)),$F(p.error.bind(p))]),k=new kb;i.set(Db,k);let O=new Ya("remote",v,l,p);i.set(oo,O);let fe;try{await yE.promises.stat("/run/.containerenv"),fe=!0}catch{}if(!fe)try{fe=(await yE.promises.readFile("/proc/self/cgroup","utf8")).includes("docker")}catch{}let H=QO,le=XO(a,v);if(Qy(a,l)){!Jy(a,l)&&a.telemetryEndpoint&&(H=new qC(O,le,rte,null,()=>new VC(a.telemetryEndpoint,E,fe)),o.add(ce(()=>H?.flush())));let N={appenders:[H,new dm("",!0,c,l,a)],commonProperties:qO(ote(),nte(),process.arch,a.commit,a.version+"-remote",E,w,P,le,a.date,"remoteAgent"),piiPaths:ZO(l)},G=l.args["telemetry-level"],ne=3;G==="all"?ne=3:G==="error"?ne=2:G==="crash"?ne=1:G!==void 0&&(ne=0),i.set(Xb,new pt(np,[N,ne]))}else i.set(Xb,T2);i.set(ss,new fm(s,p,a)),i.set(uC,new lE(s)),i.set(ho,new pt(tl));let Q=s.getChannel("download",m);i.set(hu,new Nb(Q,()=>gd("renderer"))),i.set(yr,new pt(hl)),i.set(zs,new pt(ml)),i.set(Eu,new pt(ol)),i.set(Hr,new pt(vl)),i.set(Kg,new pt(il)),i.set(eE,new pt(tE)),i.set(nE,new pt(mm));let F=new Tu(i),Y=o.add(new bm(p,l,I,{when:()=>Promise.resolve(),onWillLoadWindow:V.None,onWillShutdown:V.None},f,h));i.set(Uu,F.createInstance(pl));let xe=F.createInstance(im,{graceTime:l.reconnectionGraceTime,shortGraceTime:l.reconnectionGraceTime>0?Math.min(3e5,l.reconnectionGraceTime):0,scrollback:v.getValue("terminal.integrated.persistentSessionScrollback")??100}),vn=F.createInstance(ep,xe);i.set(ZF,vn);let Bt=F.createInstance(zu,{enableAutoShutdown:!!t["enable-remote-auto-shutdown"],shutdownWithoutDelay:!!t["remote-auto-shutdown-without-delay"]},process.exit);i.set(Gu,Bt);let ee=t["agent-host-port"],J=t["agent-host-path"];if(!!(ee||J)){let N=F.createInstance(pd);N.setWebSocketConfig({port:ee,socketPath:J,host:t.host||"localhost",connectionToken:r.type===2?r.value:void 0}),o.add(F.createInstance(md,N,{}));let G=ee?parseInt(ee,10):NaN,ne=Number.isFinite(G)&&G>0,he=t["agent-host-bridge-port"]??(ne?ee:void 0),Xe=t["agent-host-bridge-path"]??J,Qe=t["agent-host-bridge-host"]??t.host??"localhost",St=t["agent-host-bridge-connection-token"]??n??((he||Xe)&&r.type===2?r.value:void 0);if(he||Xe){let rt=o.add(new lm(s,{host:Qe,port:he,socketPath:Xe,connectionToken:St},p));s.registerChannel("agentHostProxy",rt),p.info(`[AgentHostChannel] Registered IPC channel 'agentHostProxy' (upstream: ${Xe??`${Qe}:${he}`})`)}else s.registerChannel("agentHostProxy",new am),p.info("[AgentHostChannel] Registered unavailable IPC channel 'agentHostProxy': no --agent-host-bridge-port / --agent-host-bridge-path set.")}else if(t["agent-host-bridge-port"]||t["agent-host-bridge-path"]||t["agent-host-bridge-host"]||t["agent-host-bridge-connection-token"]||n){let N=t["agent-host-bridge-port"],G=t["agent-host-bridge-path"],ne=t["agent-host-bridge-host"]??t.host??"localhost",he=t["agent-host-bridge-connection-token"]??n;if(N||G){let Xe=o.add(new lm(s,{host:ne,port:N,socketPath:G,connectionToken:he},p));s.registerChannel("agentHostProxy",Xe),p.info(`[AgentHostChannel] Registered IPC channel 'agentHostProxy' (upstream: ${G??`${ne}:${N}`})`)}else s.registerChannel("agentHostProxy",new am),p.info("[AgentHostChannel] Registered unavailable IPC channel 'agentHostProxy': no --agent-host-bridge-port / --agent-host-bridge-path set.")}else try{let N=Il(),G=Se();o.add(ce(()=>{process.platform!=="win32"&&yE.promises.unlink(N).catch(()=>{})}));let ne=F.createInstance(pd);ne.setWebSocketConfig({socketPath:N,connectionToken:G});let he=o.add(F.createInstance(md,ne,{startMode:"lazy"})),Xe=o.add(new lm(s,async()=>(await he.ensureStarted(),{socketPath:N,connectionToken:G}),p));s.registerChannel("agentHostProxy",Xe),p.info(`[AgentHostChannel] Registered lazy IPC channel 'agentHostProxy' (upstream: ${N})`)}catch(N){s.registerChannel("agentHostProxy",new am),p.error("[AgentHostChannel] Failed to register IPC channel 'agentHostProxy'",N)}return i.set(nr,new pt(vm)),i.set(ys,new pt(nd)),i.set(ha,new pt(hm)),i.set(Uh,new pt(rE)),F.invokeFunction(N=>{let G=N.get(Uh),ne=N.get(Kg),he=N.get(zs),Xe=N.get(ho),Qe=N.get(Uu),St=new Kb(r,l,I,k,p);s.registerChannel("remoteextensionsenvironment",St);let rt=new Yb(N.get(Xb),H);s.registerChannel("telemetry",rt),s.registerChannel(Nq,new hE(new vE)),s.registerChannel(q7,new HC(l,p,vn,a,ne,v));let Mt=new $C(F.createInstance(ul,a.extensionsForceVersionByQuality??[],p),l,I,he,p,Xe,Qe,ne);s.registerChannel(n9,new zC(Mt,ir=>gd(ir.remoteAuthority))),s.registerChannel(sq,F.createInstance(um,ir=>gd(ir.remoteAuthority))),s.registerChannel(pq,F.createInstance(gm,s));let Fn=o.add(new Jb(p,l,v));s.registerChannel(G7,Fn),s.registerChannel("request",new Hb(N.get(oo)));let No=new Fb(ne,ir=>gd(ir.remoteAuthority));s.registerChannel("extensions",No),s.registerChannel("mcpManagement",new SC(G,ir=>gd(ir.remoteAuthority)));let qi=Vr.fromService(N.get(Uu),o);return s.registerChannel("languagePacks",qi),s.registerChannel("storage",o.add(new mE(p,Y))),Mt.whenExtensionsReady().then(()=>ne.cleanUp()),o.add(new If(N.get(Pt))),{telemetryService:N.get(Pt)}}),{socketServer:s,instantiationService:F}}function gd(r){return a1[r]||(a1[r]=Xs(r)),a1[r]}function Cs(){let r=new Date;return`${l1(r.getHours())}:${l1(r.getMinutes())}:${l1(r.getSeconds())}`}function l1(r){return r<10?`0${r}`:String(r)}async function ite(r){let t=ut(r),e=Nt(r);if(!await be.exists(e))return;let i=(await be.readdir(e)).filter(a=>/^\d{8}T\d{6}$/.test(a)).sort().filter(a=>a!==t),s=i.slice(0,Math.max(0,i.length-9));await Promise.all(s.map(a=>be.rm(q(e,a))))}var rte,a1,c1,d1,Wq=y(()=>{de();K();Ae();Me();nn();mP();go();Ks();cl();Bu();tn();sT();zF();EI();GF();Tn();zT();ko();DI();MR();QF();dR();nt();hR();ef();ug();pR();cy();db();AR();De();xi();On();Ti();JF();yT();xT();Rn();Ur();XF();Sl();h2();io();LR();S2();C2();E2();R2();F7();xf();mf();Dc();$7();K7();rP();Cu();NR();Ec();vo();j7();Qd();X7();VR();vb();HR();WR();Vb();re();t9();o9();oM();r9();Z9();tq();nq();cd();Ob();jA();qR();iq();QA();aq();uq();JA();hq();vq();Ic();yq();Ll();Iq();Cq();Wh();nM();Pq();Nh();kq();_q();Oq();Uq();Fq();rte="monacoworkbench";a1=Object.create(null);c1=class extends Xg{constructor(){let t=new T;super(t.event),this._onDidConnectEmitter=t}acceptConnection(t,e){this._onDidConnectEmitter.fire({protocol:t,onDidClientDisconnect:e})}},d1=class extends cc{constructor(t=cg){super(),this.setLevel(t),this.useColors=!!process.stdout.isTTY}trace(t,...e){this.canLog(1)&&(this.useColors?console.log(`\x1B[90m[${Cs()}]\x1B[0m`,t,...e):console.log(`[${Cs()}]`,t,...e))}debug(t,...e){this.canLog(2)&&(this.useColors?console.log(`\x1B[90m[${Cs()}]\x1B[0m`,t,...e):console.log(`[${Cs()}]`,t,...e))}info(t,...e){this.canLog(3)&&(this.useColors?console.log(`\x1B[90m[${Cs()}]\x1B[0m`,t,...e):console.log(`[${Cs()}]`,t,...e))}warn(t,...e){this.canLog(4)&&(this.useColors?console.warn(`\x1B[93m[${Cs()}]\x1B[0m`,t,...e):console.warn(`[${Cs()}]`,t,...e))}error(t,...e){this.canLog(5)&&(this.useColors?console.error(`\x1B[91m[${Cs()}]\x1B[0m`,t,...e):console.error(`[${Cs()}]`,t,...e))}flush(){}}});import{createReadStream as ste,promises as vv}from"fs";import*as yv from"cookie";import*as bE from"crypto";async function rr(r,t,e,n){t.writeHead(e,{"Content-Type":"text/plain"}),t.end(n)}async function m1(r,t,e,n,o,i){try{let s=await vv.stat(r);if(t===1){let l=`W/"${[s.ino,s.size,s.mtime.getTime()].join("-")}"`;if(i.Etag=l,n.headers["if-none-match"]===l)return o.writeHead(304,i),void o.end()}else t===2?i["Cache-Control"]="public, max-age=31536000":t===0&&(i["Cache-Control"]="no-store");i["Content-Type"]=ate[yi(r)]||kP(r)||"text/plain";let a=ste(r);await new Promise((l,c)=>{a.on("error",c),a.on("open",()=>{o.writeHead(200,i),a.pipe(o),o.once("close",()=>a.destroy()),a.on("end",l),a.removeAllListeners("error"),a.on("error",u=>{e.error(u),console.error(u.toString()),o.destroy()})})})}catch(s){return s.code!=="ENOENT"?(e.error(s),console.error(s.toString())):console.error(`File not found: ${r}`),o.writeHead(404,{"Content-Type":"text/plain"}),void o.end("Not found")}}function cte(r,t){return r.replace(/\{\{([^}]+)\}\}/g,(e,n)=>Yv(t[n]??"undefined"))}function dte(r){return r.startsWith("/")&&!r.startsWith("//")&&!/[?#\\]|[\u0000-\u001F\u007F]/.test(r)}function ute(){return bE.randomBytes(16).toString("base64url")}function pte(r,t,e,n){return`${r}${t}/${e}/${encodeURIComponent(n)}/nls.messages.js`}function mte(r,t,e,n){return["default-src 'self';","img-src 'self' https: data: blob:;","media-src 'self';",`script-src 'self' 'unsafe-eval' ${t??""} blob: 'nonce-${r}' '${lte}' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ;`,"child-src 'self';","frame-src 'self' https://*.vscode-cdn.net data:;","worker-src 'self' data: blob:;","style-src 'self' 'unsafe-inline';","connect-src 'self' ws: wss: https:;","font-src 'self' blob:;","manifest-src 'self';"].join(" ")}var ate,u1,IE,Vq,p1,lte,Sm,qq,gte,fte,Bq,$q=y(()=>{Ii();Mc();me();De();Dc();Me();Ae();nn();On();mf();Ti();Zt();oe();Ke();we();gb();ti();jA();Tt();ate={".html":"text/html",".js":"text/javascript",".json":"application/json",".css":"text/css",".svg":"image/svg+xml"};u1=Nt(Dt.asFileUri("").fsPath),IE="/static",Vq="/callback",p1="/web-extension-resource",lte="sha256-daEgfo2VIXpx2Np71KqCCbkeQwv+68vPrx54XRcbdcs=";Sm=class{constructor(t,e,n,o,i,s,a,l){this._connectionToken=t;this._basePath=e;this._productPath=n;this._environmentService=o;this._logService=i;this._requestService=s;this._productService=a;this._cssDevService=l;this._webExtensionResourceUrlTemplate=this._productService.extensionsGallery?.resourceUrlTemplate?S.parse(this._productService.extensionsGallery.resourceUrlTemplate):void 0}async handle(t,e,n,o){try{return o.startsWith(IE)&&o.charCodeAt(IE.length)===47?this._handleStatic(t,e,o.substring(IE.length)):o==="/"?this._handleRoot(t,e,n):o===Vq?this._handleCallback(e):o.startsWith(p1)&&o.charCodeAt(p1.length)===47?this._handleWebExtensionResource(t,e,o.substring(p1.length)):rr(t,e,404,"Not found.")}catch(i){return this._logService.error(i),console.error(i.toString()),rr(t,e,500,"Internal Server Error.")}}async _handleStatic(t,e,n){let o=Object.create(null),i=decodeURIComponent(n),s=q(u1,i);return pr(s,u1,!$e)?m1(s,this._environmentService.isBuilt?2:1,this._logService,t,e,o):rr(t,e,400,"Bad request.")}_getResourceURLTemplateAuthority(t){let e=t.authority.indexOf(".");return e!==-1?t.authority.substring(e+1):void 0}async _handleWebExtensionResource(t,e,n){if(!this._webExtensionResourceUrlTemplate)return rr(t,e,500,"No extension gallery service configured.");let o=decodeURIComponent(n),i=Mn(o),s=S.parse(i).with({scheme:this._webExtensionResourceUrlTemplate.scheme,authority:i.substring(0,i.indexOf("/")),path:i.substring(i.indexOf("/")+1)});if(this._getResourceURLTemplateAuthority(this._webExtensionResourceUrlTemplate)!==this._getResourceURLTemplateAuthority(s))return rr(t,e,403,"Request Forbidden");let a={},l=h=>{let v=t.headers[h];v&&(j(v)||v[0])?a[h]=j(v)?v:v[0]:h!==h.toLowerCase()&&l(h.toLowerCase())};l("X-Client-Name"),l("X-Client-Version"),l("X-Machine-Id"),l("X-Client-Commit");let c=await this._requestService.request({type:"GET",url:s.toString(!0),headers:a,callSite:"webClientServer.fetchAndWriteFile"},Pe.None),u=c.res.statusCode||500;if(u!==200){let h=null;try{h=await es(c)}catch{}return rr(t,e,u,h||`Request failed with status ${u}`)}let p=Object.create(null),m=h=>{let v=c.res.headers[h];v?p[h]=v:h!==h.toLowerCase()&&m(h.toLowerCase())};m("Cache-Control"),m("Content-Type"),e.writeHead(200,p);let f=await mr(c.stream);e.end(f.buffer)}async _handleRoot(t,e,n){let o=N=>{let G=t.headers[N];return Array.isArray(G)?G[0]:G},i=gte(Bq(t)),s=fte(Bq(t)),a=o("x-forwarded-prefix"),l=s||(a&&dte(a)?a:this._basePath),c=n.searchParams.getAll(Ji);if(c.length===1){let N=c[0],G=Object.create(null);G["Set-Cookie"]=yv.serialize(zm,N,{sameSite:"lax",maxAge:3600*24*7});let ne=new URLSearchParams(n.searchParams);ne.delete(Ji);let he=ne.toString(),Xe=he?`${l}?${he}`:l;return G.Location=Xe,e.writeHead(302,G),void e.end()}let u=(N,G)=>{let ne=N?.indexOf(":");return ne!==-1&&(N=N?.substring(0,ne)),N+=`:${G}`,N},p=!this._environmentService.isBuilt&&!!this._environmentService.args["use-test-resolver"],m=p?"test+test":"remote";if(!m)return rr(t,e,400,"Bad request.");let f=o("x-forwarded-port");f&&(m=u(m,f));function h(N){return JSON.stringify(N)}let v;this._environmentService.args["enable-smoke-test-driver"]&&(v=!1),this._logService.getLevel()===1&&(["x-original-host","x-forwarded-host","x-forwarded-port","host"].forEach(N=>{let G=o(N);G&&this._logService.trace(`[WebClientServer] ${N}: ${G}`)}),this._logService.trace(`[WebClientServer] Request URL: ${t.url}, basePath: ${l}, remoteAuthority: ${m}`));let I=Be.join(l,this._productPath,IE),E=Be.join(l,this._productPath,Vq),w=N=>N&&S.file(qn(N)).with({scheme:B.vscodeRemote,authority:m}),P=Dt.asFileUri(`vs/code/browser/workbench/workbench${this._environmentService.isBuilt?"":"-dev"}.html`).fsPath,k=!this._environmentService.isBuilt&&this._environmentService.args["github-auth"]?{id:Se(),providerId:"github",accessToken:this._environmentService.args["github-auth"],scopes:[["user:email"],["repo"]]}:void 0,O=[];this._environmentService.args["link-protection-trusted-domains"]&&O.push(...this._environmentService.args["link-protection-trusted-domains"]),this._productService.linkProtectionTrustedDomains&&O.push(...this._productService.linkProtectionTrustedDomains);let fe=this._environmentService.args["app-name"],H={codeServerVersion:this._productService.codeServerVersion,nameShort:fe,nameLong:fe,rootEndpoint:i,updateEndpoint:this._environmentService.args["disable-update-check"]?void 0:i+"/update/check",logoutEndpoint:this._environmentService.args.auth&&this._environmentService.args.auth!=="none"?i+"/logout":void 0,proxyEndpointTemplate:process.env.VSCODE_PROXY_URI??i+"/proxy/{{port}}/",serviceWorker:{scope:s+"/",path:i+"/_static/out/browser/serviceWorker.js"},enableTelemetry:this._productService.enableTelemetry,telemetryEndpoint:this._productService.telemetryEndpoint,embedderIdentifier:"server-distro",voiceWsUrl:this._productService.voiceWsUrl,extensionsGallery:this._productService.extensionsGallery,linkProtectionTrustedDomains:O};if(!this._environmentService.isBuilt)try{let N=JSON.parse((await vv.readFile(q(u1,"product.overrides.json"))).toString());Object.assign(H,N)}catch{}let le={remoteAuthority:m,serverBasePath:l,webviewEndpoint:I+"/out/vs/workbench/contrib/webview/browser/pre",userDataPath:this._environmentService.userDataPath,isEnabledFileDownloads:!this._environmentService.args["disable-file-downloads"],isEnabledFileUploads:!this._environmentService.args["disable-file-uploads"],isEnabledCoderGettingStarted:!this._environmentService.args["disable-getting-started-override"],_wrapWebWorkerExtHostInIframe:v,developmentOptions:{enableSmokeTestDriver:this._environmentService.args["enable-smoke-test-driver"]?!0:void 0,logLevel:this._logService.getLevel()},settingsSyncOptions:!this._environmentService.isBuilt&&this._environmentService.args["enable-sync"]?{enabled:!0}:void 0,enableWorkspaceTrust:!this._environmentService.args["disable-workspace-trust"],enabledExtensionProposedApi:this._environmentService.args["enable-proposed-api"],folderUri:w(this._environmentService.args["default-folder"]),workspaceUri:w(this._environmentService.args["default-workspace"]),productConfiguration:H,callbackRoute:E,remoteStorageEnabled:this._environmentService.args["enable-remote-storage"]?!0:void 0},Q=yv.parse(t.headers.cookie||""),F=this._environmentService.args.locale||await sF(this._environmentService.argvResource.fsPath)||Q["vscode.nls.locale"]||t.headers["accept-language"]?.split(",")[0]?.toLowerCase()||"en",Y,xe;if(!F.startsWith("en")&&this._productService.nlsCoreBaseUrl)Y=this._productService.nlsCoreBaseUrl,xe=pte(Y,this._productService.commit,this._productService.version,F);else try{let N=await aF(F,this._environmentService.userDataPath);xe=N?`${s}/vscode-remote-resource?path=${encodeURIComponent(N)}`:""}catch(N){console.error("Failed to generate translations",N),xe=""}let vn=ute(),Bt={WORKBENCH_WEB_CONFIGURATION:h(le),WORKBENCH_AUTH_SESSION:k?h(k):"",WORKBENCH_WEB_BASE_URL:I,WORKBENCH_NLS_URL:xe,WORKBENCH_NLS_FALLBACK_URL:`${I}/out/nls.messages.js`,WORKBENCH_SCRIPT_NONCE:vn,BASE:i,VS_BASE:l};if(this._cssDevService.isEnabled){let N=await this._cssDevService.getCssModules();Bt.WORKBENCH_DEV_CSS_MODULES=JSON.stringify(N)}if(p){let N=[];for(let G of["vscode-test-resolver","github-authentication"]){let ne=JSON.parse((await vv.readFile(Dt.asFileUri(`${tL}/${G}/package.json`).fsPath)).toString());N.push({extensionPath:G,packageJSON:ne})}Bt.WORKBENCH_BUILTIN_EXTENSIONS=h(N)}let ee;try{let N=(await vv.readFile(P)).toString();ee=cte(N,Bt)}catch{return e.writeHead(404,{"Content-Type":"text/plain"}),void e.end("Not found")}let ae={"Content-Type":"text/html","Content-Security-Policy":mte(vn,Y,m,p)};return this._connectionToken.type!==0&&(ae["Set-Cookie"]=yv.serialize(zm,this._connectionToken.value,{sameSite:"lax",maxAge:3600*24*7})),e.writeHead(200,ae),void e.end(ee)}_getScriptCspHashes(t){let e=/<script>([\s\S]+?)<\/script>/img,n=[],o;for(;o=e.exec(t);){let i=bE.createHash("sha256"),s=o[1].replace(/\r\n/g,`
`),a=i.update(Buffer.from(s)).digest().toString("base64");n.push(`'sha256-${a}'`)}return n}async _handleCallback(t){let e=Dt.asFileUri("vs/code/browser/workbench/callback.html").fsPath,n=(await vv.readFile(e)).toString(),o=["default-src 'self';","img-src 'self' https: data: blob:;","media-src 'none';",`script-src 'self' ${this._getScriptCspHashes(n).join(" ")};`,"style-src 'self' 'unsafe-inline';","font-src 'self' blob:;"].join(" ");return t.writeHead(200,{"Content-Type":"text/html","Content-Security-Policy":o}),void t.end(n)}};Sm=C([b(3,dl),b(4,z),b(5,oo),b(6,He),b(7,ZC)],Sm);qq=(r,t=!1)=>r.replace(/\/\/+/g,"/").replace(/\/+$/,t?"/":""),gte=r=>{let t=(r.split("?",1)[0].match(/\//g)||[]).length;return qq("./"+(t>1?"../".repeat(t-1):""))},fte=r=>{let t=r.split("?",1)[0].split("/");return qq("./"+t[t.length-1])},Bq=r=>r.originalUrl||r.url});import*as Iv from"fs";import*as Gq from"net";import{createRequire as hte}from"node:module";import{performance as vte}from"perf_hooks";function zq(r){try{return r.startsWith("/")?new URL(`http://localhost${r}`):new URL(r)}catch{return}}async function Kq(r,t,e,n){let o=await NF(t);o instanceof Ys&&(console.warn(o.message),process.exit(1));function i(P){Hv(k=>{Wv(k)&&k.stack&&/unexpectedErrorHandler/.test(k.stack)||P(k)})}let s=[];i(P=>{s.push(P),console.error(P)});let a=!1;process.on("SIGPIPE",()=>{a||(a=!0,st(new Error("Unexpected SIGPIPE")))});let l=new ie,{socketServer:c,instantiationService:u}=await Hq(o,t,e,n,l);u.invokeFunction(P=>{let k=P.get(z);s.forEach(O=>k.error(O)),s.length=0,i(O=>k.error(O))}),u.invokeFunction(P=>{let k=P.get(ft);te&&(k.getValue("security.restrictUNCAccess")===!1?Ib():cf(k.getValue("security.allowedUNCHosts")))}),u.invokeFunction(P=>{let k=P.get(z);if(te&&process.env.HOMEDRIVE&&process.env.HOMEPATH){let O=q(process.env.HOMEDRIVE,"node_modules"),fe=Nt(q(process.env.HOMEDRIVE,process.env.HOMEPATH)),H=q(fe,"node_modules");if(Iv.existsSync(O)||Iv.existsSync(H)){let le=`
*
* !!!! Server terminated due to presence of CVE-2020-1416 !!!!
*
* Please remove the following directories and re-try
* ${O}
* ${H}
*
* For more information on the vulnerability https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1416
*
`;k.warn(le),console.warn(le),process.exit(0)}}});let p=u.invokeFunction(P=>{let k=P.get(z);if(Iv.existsSync(q(Dt.asFileUri("").fsPath,"../node_modules/vsda")))try{return yte("vsda")}catch(fe){k.error(fe)}return null}),m=t["server-base-path"];m&&!m.startsWith("/")&&(m=`/${m}`);let f=Iv.existsSync(Dt.asFileUri("vs/code/browser/workbench/workbench.html").fsPath);if(f&&r&&typeof r!="string"){let P=o.type!==0?`?${Ji}=${o.value}`:"";console.log(`Web UI available at http://localhost${r.port===80?"":`:${r.port}`}${m??""}${P}`)}let h=u.createInstance(bv,c,o,p,f,m);Wt("code/server/ready");let v=vte.now(),I=global.vscodeServerStartTime,E=global.vscodeServerListenTime,w=global.vscodeServerCodeLoadedTime;if(u.invokeFunction(async P=>{let k=P.get(Pt);if(k.publicLog2("serverStart",{startTime:I,startedTime:E,codeLoadedTime:w,readyTime:v}),$e){let O=P.get(z),fe=await bb(O.error.bind(O));fe&&k.publicLog2("serverPlatformInfo",{platformId:fe.id,platformVersionId:fe.version_id,platformIdLike:fe.id_like})}}),t["print-startup-performance"]){let P="";P+=`Start-up time: ${E-I}
`,P+=`Code loading time: ${w-I}
`,P+=`Initialized time: ${v-I}
`,P+=`
`,console.log(P)}return h}var yte,bv,g1,jq=y(()=>{Ke();ti();Ee();Ii();K();Ae();Me();Qr();me();Tt();oe();nn();GR();yF();BR();cl();Bu();tn();Z();De();On();DF();Rn();lP();LF();mf();Dc();Ob();HF();Wq();$q();yte=hte(import.meta.url);bv=class extends _{constructor(e,n,o,i,s,a,l,c,u,p){super();this._socketServer=e;this._connectionToken=n;this._vsdaMod=o;this._environmentService=a;this._productService=l;this._logService=c;this._instantiationService=u;this._serverLifetimeService=p;this._extHostLifetimeTokens=this._register(new Fo);this._webEndpointOriginChecker=g1.create(this._productService),s!==void 0&&s.charCodeAt(s.length-1)===47&&(s=s.substring(0,s.length-1)),this._serverBasePath=s,this._serverProductPath=`/${mw(l)}`,this._extHostConnections=Object.create(null),this._managementConnections=Object.create(null),this._allReconnectionTokens=new Set,this._webClientServer=i?this._instantiationService.createInstance(Sm,this._connectionToken,s??"/",this._serverProductPath):null,this._logService.info("Extension host agent started."),this._reconnectionGraceTime=this._environmentService.reconnectionGraceTime}async handleRequest(e,n){if(e.method!=="GET")return rr(e,n,405,`Unsupported method ${e.method}`);if(!e.url)return rr(e,n,400,"Bad request.");let o=zq(e.url);if(!o)return rr(e,n,400,"Bad request.");let i=o.pathname;if(!i)return rr(e,n,400,"Bad request.");if(this._serverBasePath!==void 0&&i.startsWith(this._serverBasePath)&&(i=i.substring(this._serverBasePath.length)||"/"),i.startsWith(this._serverProductPath)&&i.charCodeAt(this._serverProductPath.length)===47&&(i=i.substring(this._serverProductPath.length)),i==="/version")return n.writeHead(200,{"Content-Type":"text/plain"}),void n.end(this._productService.commit||"");if(i==="/delay-shutdown")return this._serverLifetimeService.delay(),n.writeHead(200),void n.end("OK");if(!UF(this._connectionToken,e,o.searchParams))return rr(e,n,403,"Forbidden.");if(i==="/vscode-remote-resource"){let s=o.searchParams.getAll("path");if(s.length!==1)return rr(e,n,400,"Bad request.");let a=s[0],l;try{l=S.from({scheme:B.file,path:a}).fsPath}catch{return rr(e,n,400,"Bad request.")}let c=e.headers.origin,u=FF(c,p=>this._webEndpointOriginChecker.matches(p));return this._environmentService.isBuilt&&(pr(l,this._environmentService.builtinExtensionsPath,!$e)||pr(l,this._environmentService.extensionsPath,!$e))&&(u["Cache-Control"]="public, max-age=31536000"),m1(l,1,this._logService,e,n,u)}if(this._webClientServer){this._webClientServer.handle(e,n,o,i);return}return n.writeHead(404,{"Content-Type":"text/plain"}),void n.end("Not found")}handleUpgrade(e,n){let o=Se(),i=!1,s=!1;if(e.url){let l=zq(e.url);if(!l){this._logService.warn("WebSocket connection rejected: invalid request URL"),n.end(`HTTP/1.1 400 Bad Request\r
Connection: close\r
\r
`);return}let c=l.searchParams,u=c.getAll("reconnectionToken");u.length===1&&(o=u[0]),c.getAll("reconnection").length===1&&c.get("reconnection")==="true"&&(i=!0),c.getAll("skipWebSocketFrames").length===1&&c.get("skipWebSocketFrames")==="true"&&(s=!0)}let a=RF(e,n,{debugLabel:`server-connection-${o}`,skipWebSocketFrames:s,disableWebSocketCompression:this._environmentService.args["disable-websocket-compression"]});a&&this._handleWebSocketConnection(a,i,o)}handleServerError(e){this._logService.error("Error occurred in server"),this._logService.error(e)}_getRemoteAddress(e){let n;return e instanceof Qs?n=e.socket:n=e.socket.socket,n.remoteAddress||"<unknown>"}async _rejectWebSocketConnection(e,n,o){let i=n.getSocket();this._logService.error(`${e} ${o}.`);let s={type:"error",reason:o};n.sendControl(L.fromString(JSON.stringify(s))),n.dispose(),await i.drain(),i.dispose()}_handleWebSocketConnection(e,n,o){let i=this._getRemoteAddress(e),s=`[${i}][${o.substr(0,8)}]`,a=new of({socket:e}),l=this._vsdaMod?new this._vsdaMod.validator:null,c=this._vsdaMod?new this._vsdaMod.signer:null,u;(w=>(w[w.WaitingForAuth=0]="WaitingForAuth",w[w.WaitingForConnectionType=1]="WaitingForConnectionType",w[w.Done=2]="Done",w[w.Error=3]="Error"))(u||={});let p=0,m=h=>{p=3,f.dispose(),this._rejectWebSocketConnection(s,a,h)},f=a.onControlMessage(h=>{if(p===0){let v;try{v=JSON.parse(h.toString())}catch{return m("Malformed first message")}if(v.type!=="auth")return m("Invalid first message");if(this._connectionToken.type===2&&!this._connectionToken.validate(v.auth))return m("Unauthorized client refused: auth mismatch");let I=Se();if(c)try{I=c.sign(v.data)}catch{}let E=Se();if(l)try{E=l.createNewMessage(E)}catch{}let w={type:"sign",data:E,signedData:I};a.sendControl(L.fromString(JSON.stringify(w))),p=1}else if(p===1){let v;try{v=JSON.parse(h.toString())}catch{return m("Malformed second message")}if(v.type!=="connectionType")return m("Invalid second message");if(typeof v.signedData!="string")return m("Invalid second message field type");let I=v.commit,E=this._productService.commit;if(I&&E&&I!==E)return m("Client refused: version mismatch");let w=!1;if(!l)w=!0;else if(this._connectionToken.validate(v.signedData))w=!0;else try{w=l.validate(v.signedData)==="ok"}catch{}if(!w){if(this._environmentService.isBuilt)return m("Unauthorized client refused");this._logService.error(`${s} Unauthorized client handshake failed but we proceed because of dev mode.`)}for(let P in this._managementConnections)this._managementConnections[P].shortenReconnectionGraceTimeIfNecessary();for(let P in this._extHostConnections)this._extHostConnections[P].shortenReconnectionGraceTimeIfNecessary();p=2,f.dispose(),this._handleConnectionType(i,s,a,e,n,o,v)}})}async _handleConnectionType(e,n,o,i,s,a,l){let c=l.desiredConnectionType===1?`${n}[ManagementConnection]`:l.desiredConnectionType===2?`${n}[ExtensionHostConnection]`:n;if(l.desiredConnectionType===1)if(i instanceof Js&&i.setRecordInflateBytes(!1),s){if(!this._managementConnections[a])return this._allReconnectionTokens.has(a)?this._rejectWebSocketConnection(c,o,"Unknown reconnection token (seen before)"):this._rejectWebSocketConnection(c,o,"Unknown reconnection token (never seen)");o.sendControl(L.fromString(JSON.stringify({type:"ok"})));let u=o.readEntireBuffer();o.dispose(),this._managementConnections[a].acceptReconnection(e,i,u)}else{if(this._managementConnections[a])return this._rejectWebSocketConnection(c,o,"Duplicate reconnection token");o.sendControl(L.fromString(JSON.stringify({type:"ok"})));let u=new Ab(this._logService,a,e,o,this._reconnectionGraceTime);this._socketServer.acceptConnection(u.protocol,u.onClose),this._managementConnections[a]=u,this._allReconnectionTokens.add(a),u.onClose(()=>{delete this._managementConnections[a]})}else if(l.desiredConnectionType===2){let u=l.args||{language:"en"},p=await this._updateWithFreeDebugPort(u);if(p.port&&this._logService.trace(`${c} - startParams debug port ${p.port}`),this._logService.trace(`${c} - startParams language: ${p.language}`),this._logService.trace(`${c} - startParams env: ${JSON.stringify(p.env)}`),s){if(!this._extHostConnections[a])return this._allReconnectionTokens.has(a)?this._rejectWebSocketConnection(c,o,"Unknown reconnection token (seen before)"):this._rejectWebSocketConnection(c,o,"Unknown reconnection token (never seen)");o.sendPause(),o.sendControl(L.fromString(JSON.stringify(p.port?{debugPort:p.port}:{})));let m=o.readEntireBuffer();o.dispose(),this._extHostConnections[a].acceptReconnection(e,i,m)}else{if(this._extHostConnections[a])return this._rejectWebSocketConnection(c,o,"Duplicate reconnection token");o.sendPause(),o.sendControl(L.fromString(JSON.stringify(p.port?{debugPort:p.port}:{})));let m=o.readEntireBuffer();o.dispose();let f=this._instantiationService.createInstance($u,a,e,i,m);this._extHostConnections[a]=f,this._allReconnectionTokens.add(a),this._extHostLifetimeTokens.set(a,this._serverLifetimeService.active(`ExtensionHost:${a.substring(0,8)}`)),f.onClose(()=>{f.dispose(),delete this._extHostConnections[a],this._extHostLifetimeTokens.deleteAndDispose(a)}),f.start(p).catch(h=>{this._logService.error(`${c} Failed to start extension host connection:`,h)})}}else if(l.desiredConnectionType===3){i instanceof Js&&i.setRecordInflateBytes(!1);let u=l.args;this._createTunnel(o,u)}else return this._rejectWebSocketConnection(c,o,"Unknown initial data received")}async _createTunnel(e,n){let o;try{o=await this._connectTunnelSocket(n.host,n.port)}catch(c){this._logService.error(`[remote-connection] Failed to connect tunnel to ${n.host}:${n.port}:`,c);let p={type:"error",reason:c instanceof Error?c.message:String(c)};e.sendControl(L.fromString(JSON.stringify(p)));let m=e.getSocket();e.dispose(),await m.drain(),m.dispose();return}let i={type:"ok"};e.sendControl(L.fromString(JSON.stringify(i)));let s=e.getSocket(),a=s.socket,l=e.readEntireBuffer();e.dispose(),s.dispose(!1),l.byteLength>0&&o.write(l.buffer),o.on("end",()=>a.end()),o.on("close",()=>a.end()),o.on("error",()=>a.destroy()),a.on("end",()=>o.end()),a.on("close",()=>o.end()),a.on("error",()=>o.destroy()),o.pipe(a),a.pipe(o)}_connectTunnelSocket(e,n){return new Promise((o,i)=>{let s=Gq.createConnection({host:e,port:n,autoSelectFamily:!0},()=>{s.removeListener("error",i),s.pause(),o(s)});s.once("error",i)})}_updateWithFreeDebugPort(e){return typeof e.port=="number"?vF(e.port,10,5e3).then(n=>(e.port=n,e)):(e.debugId=void 0,e.port=void 0,e.break=void 0,Promise.resolve(e))}};bv=C([b(5,dl),b(6,He),b(7,z),b(8,Ln),b(9,Gu)],bv);g1=class r{constructor(t){this._originRegExp=t}static create(t){let e=t.webEndpointUrlTemplate,n=t.commit,o=t.quality;if(!e||!n||!o)return new r(null);let i=Se(),a=new URL(e.replace("{{uuid}}",i).replace("{{commit}}",n).replace("{{quality}}",o)).origin,l=eo(a).replace(i,"[a-zA-Z0-9\\-]+");try{let c=W0(`^${l}$`,!0,{matchCase:!1});return new r(c)}catch{return new r(null)}}matches(t){return this._originRegExp?this._originRegExp.test(t):!1}}});var Xq={};c8(Xq,{createServer:()=>xte,spawnCli:()=>Ste});import*as Qq from"os";import*as SE from"fs";import{performance as Ite}from"perf_hooks";function Jq(){return Gy(process.argv.slice(2),_R,bte)}function Yq(r){let t=r["server-data-dir"]||r["user-data-dir"]||process.env.VSCODE_AGENT_FOLDER||q(Qq.homedir(),je.serverDataFolderName||".vscode-remote"),e=r["user-data-dir"]||q(t,"data"),n=q(e,"User"),o=q(n,"globalStorage"),i=q(n,"History"),s=q(e,"Machine");r["user-data-dir"]=e;let a=Nt(Dt.asFileUri("").fsPath),l=r["builtin-extensions-dir"]||q(a,"extensions");return r["builtin-extensions-dir"]=l,r["extensions-dir"]=r["extensions-dir"]||q(t,"extensions"),[t,r["extensions-dir"],e,n,s,o,i].forEach(c=>{try{SE.existsSync(c)||SE.mkdirSync(c,{mode:448,recursive:!0})}catch(u){console.error(u)}}),t}function Ste(r=Jq()){return gF(r,Yq(r),_R)}function xte(r,t=Jq()){let e=process.env[DR];return delete process.env[DR],Kq(r,t,Yq(t),e)}var bte,Zq=y(()=>{Ae();fF();jq();xg();Me();Dc();xi();Qr();Wt("code/server/codeLoaded");global.vscodeServerCodeLoadedTime=Ite.now();bte={onMultipleValues:(r,t)=>{console.error(`Option '${r}' can only be defined once. Using value ${t}.`)},onEmptyValue:r=>{console.error(`Ignoring option '${r}': Value must not be empty.`)},onUnknownOption:r=>{console.error(`Ignoring option '${r}': not supported for server.`)},onDeprecatedOption:(r,t)=>{console.warn(`Option '${r}' is deprecated: ${t}`)}}});delete process.env.ELECTRON_RUN_AS_NODE;var n8=x1(PE(),1);import*as h1 from"node:path";import*as CE from"node:fs";import*as v1 from"node:http";import*as xm from"node:os";import*as e8 from"node:readline";import{performance as t8}from"node:perf_hooks";import*as $i from"node:path";import{Buffer as p8}from"node:buffer";import{createRequire as m8}from"node:module";var kE=m8(import.meta.url),T1=process.platform==="win32";process.platform==="linux"&&(p8.poolSize=8*1024);Error.stackTraceLimit=100;if(!process.env.VSCODE_HANDLES_SIGPIPE){let r=!1;process.on("SIGPIPE",()=>{r||(r=!0,console.error(new Error("Unexpected SIGPIPE")))})}function g8(){try{typeof process.env.VSCODE_CWD!="string"&&(process.env.VSCODE_CWD=process.cwd()),process.platform==="win32"&&process.chdir($i.dirname(process.execPath))}catch(r){console.error(r)}}g8();function f8(){if(!process.env.ELECTRON_RUN_AS_NODE&&!process.versions.electron||process.env.VSCODE_DEV)return;let r=o=>{if(T1&&o.length>=2&&o.charCodeAt(1)===58){let i=o.charCodeAt(0);if(i>=65&&i<=90||i>=97&&i<=122)return o[0].toLowerCase()+o.slice(1)}return o},t=r($i.join(import.meta.dirname,"../node_modules")),e=kE("node:module"),n=e._resolveLookupPaths;e._resolveLookupPaths=function(o,i){let s=n(o,i);if(Array.isArray(s)){for(let a=0,l=s.length;a<l;a++)if(r(s[a])===t){s.splice(a,0,`${s[a]}.asar`);break}}return s}}f8();function R1(r){if(!process.env.VSCODE_DEV)return;if(!r)throw new Error("Missing injectPath");kE("node:module").register("./bootstrap-import.js",{parentURL:import.meta.url,data:r})}function P1(){if(typeof process?.versions?.electron=="string")return;let r=kE("module"),t=r.globalPaths,e=r._resolveLookupPaths;r._resolveLookupPaths=function(o,i){let s=e(o,i);if(Array.isArray(s)){let a=0;for(;a<s.length&&s[s.length-1-a]===t[t.length-1-a];)a++;return s.slice(0,s.length-a)}return s};let n=r._nodeModulePaths;r._nodeModulePaths=function(o){let i=n(o);if(!T1)return i;let s=a=>a.length>=3&&a.endsWith(":\\");if(s(o)||(i=i.filter(a=>!s($i.dirname(a)))),process.env.HOMEDRIVE&&process.env.HOMEPATH){let a=$i.dirname($i.join(process.env.HOMEDRIVE,process.env.HOMEPATH)),l=c=>$i.relative(c,a).length===0;l(o)||(i=i.filter(c=>!l($i.dirname(c))))}return i}}import*as Id from"node:fs";import{createRequire as M1,isBuiltin as b8,registerHooks as S8}from"node:module";import{dirname as x8,join as C8}from"node:path";import{fileURLToPath as LE,pathToFileURL as A1}from"node:url";import{createRequire as h8}from"node:module";var _E=h8(import.meta.url),Pm={BUILD_INSERT_PRODUCT_CONFIGURATION:"BUILD_INSERT_PRODUCT_CONFIGURATION"};Pm.BUILD_INSERT_PRODUCT_CONFIGURATION&&(Pm=_E("../product.json"));var DE={"name":"code-server","version":"1.141.0","private":true,"overrides":{"node-gyp-build":"4.8.1","kerberos@2.1.1":{"node-addon-api":"7.1.0"},"koffi":"3.2.1","yauzl":"^3.3.1"},"allowScripts":{"kerberos@2.1.1":true,"koffi@3.2.1":false,"node-pty@1.2.0-beta.15":true,"@parcel/watcher@2.5.6":true,"@vscode/deviceid@0.1.5":true,"@vscode/fs-copyfile@2.0.0":true,"@vscode/native-watchdog@1.4.6":true,"@vscode/spdlog@0.15.8":true,"@vscode/windows-registry@1.3.0":true,"ssh2":false,"@vscode/sqlite3@5.1.12-vscode":true,"cpu-features":false,"@vscode/windows-ca-certs@0.3.4":true,"@vscode/windows-process-tree@0.8.0":true},"copilotRuntimeVersion":"1.0.92-4.unstable.r37397886721.gad270aa","type":"module"};DE.BUILD_INSERT_PACKAGE_CONFIGURATION&&(DE=_E("../package.json"));var k1={};if(process.env.VSCODE_DEV)try{k1=_E("../product.overrides.json"),Pm=Object.assign(Pm,k1)}catch{}var sr=Pm,D1=DE;Qr();globalThis._VSCODE_PRODUCT_JSON={...sr};globalThis._VSCODE_PACKAGE_JSON={...D1};globalThis._VSCODE_FILE_ROOT=import.meta.dirname;function E8(){if(!process.env.ELECTRON_RUN_AS_NODE&&!process.versions.electron)return;let r,t=process.env.VSCODE_ASAR_TRACE||void 0;if(t){let m="[asar-resolve] ";t==="1"||t==="true"||t==="on"||t==="stderr"?r=f=>{try{process.stderr.write(`${m}${f}
`)}catch{}}:r=f=>{try{Id.appendFileSync(t,`${m}${f}
`)}catch{}}}let e=m=>process.platform==="win32"&&m.length>=2&&(m.charCodeAt(0)>=65&&m.charCodeAt(0)<=90||m.charCodeAt(0)>=97&&m.charCodeAt(0)<=122)&&m.charCodeAt(1)===58?m[0].toLowerCase()+m.slice(1):m,n=m=>{if(m==="")return!1;let f=m[0];return f==="."||f==="/"||f==="#"?!1:!URL.canParse(m)},o=m=>{if(m[0]==="@"){let h=m.indexOf("/");if(h===-1)return m;let v=m.indexOf("/",h+1);return v===-1?m:m.slice(0,v)}let f=m.indexOf("/");return f===-1?m:m.slice(0,f)},i=new Map,s=(m,f,h)=>{let v=Object.entries(h.importAttributes??{}).sort(([I],[E])=>I.localeCompare(E));return JSON.stringify([m,f,h.conditions,v])},a=x8(import.meta.dirname),l=process.env.VSCODE_DEV?void 0:e(a),c=l?M1(C8(a,"node_modules.asar","x.js")):void 0;r?.(`tracing enabled (node ${process.versions.node}); resourcesPath=${l}`);let u,p=!0;S8({resolve(m,f,h){if(p)return p=!1,u=[...f.conditions],h(m,f);let v=u;if(f.importAttributes===void 0||v!==void 0&&f.conditions.length===v.length&&f.conditions.every((E,w)=>E===v[w]))return h(m,f);if(m==="fs")return r?.(`map "fs" -> node:original-fs (from ${f.parentURL})`),{format:"builtin",shortCircuit:!0,url:"node:original-fs"};if(c&&l&&f.parentURL&&n(m)&&!b8(m)&&m!=="electron"&&!m.startsWith("electron/")){let E;try{E=e(LE(f.parentURL))}catch{E=void 0}if(E&&E.startsWith(l)){r?.(`resolve "${m}" from "${f.parentURL}"`);let w=s(m,E,f),P=i.get(w);if(P)return r?.(` cache -> ${P.url} (ACCEPT)`),P;let k,O;try{k=h(m,f)}catch(F){O=F instanceof Error?F:new Error(String(F))}if(k){let F;try{F=e(LE(k.url))}catch{F=void 0}if(!F||F.startsWith(l))return r?.(` default -> ${k.url} (in app, ACCEPT)`),k;r?.(` default -> ${k.url} (outside app, reject)`)}else r?.(` default -> <none> (${O?.message})`);let fe;try{fe=c.resolve(`./${o(m)}/package.json`)}catch{throw r?.(` archive: package "${o(m)}" NOT in archive -> throw`),O??new Error(`Cannot find package '${m}' within the application resources`)}r?.(` archive pkg.json -> ${fe}`);try{let F=h(m,{...f,parentURL:A1(fe).href}),Y;try{Y=e(LE(F.url))}catch{Y=void 0}if(Y&&Y.startsWith(l))return r?.(` self-ref -> ${F.url} (in app, ACCEPT)`),i.set(w,{...F,shortCircuit:!0}),F;r?.(` self-ref -> ${F.url} (escaped app, reject)`)}catch(F){r?.(` self-ref -> <throw> (${F instanceof Error?F.message:String(F)})`)}let H=c.resolve(`./${m}`),le=A1(H).href;r?.(` direct -> ${le} (ACCEPT)`);let Q={url:le,shortCircuit:!0};return i.set(w,Q),Q}r?.(`defer "${m}" (parent outside app resources: ${f.parentURL})`)}return h(m,f)}});try{M1(import.meta.url).resolve("node:fs")}finally{p=!1}if(!u)throw new Error("Failed to identify CommonJS module resolution conditions")}E8();var OE;function w8(){return OE||(OE=T8()),OE}async function T8(){Wt("code/willLoadNls");let r,t;if(process.env.VSCODE_NLS_CONFIG)try{r=JSON.parse(process.env.VSCODE_NLS_CONFIG),r?.languagePack?.messagesFile?t=r.languagePack.messagesFile:r?.defaultMessagesFile&&(t=r.defaultMessagesFile),globalThis._VSCODE_NLS_LANGUAGE=r?.resolvedLanguage}catch(e){console.error(`Error reading VSCODE_NLS_CONFIG from environment: ${e}`)}if(!(process.env.VSCODE_DEV||!t)){try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await Id.promises.readFile(t)).toString())}catch(e){if(console.error(`Error reading NLS messages file ${t}: ${e}`),r?.languagePack?.corruptMarkerFile)try{await Id.promises.writeFile(r.languagePack.corruptMarkerFile,"corrupted")}catch(n){console.error(`Error writing corrupted NLS marker file: ${n}`)}if(r?.defaultMessagesFile&&r.defaultMessagesFile!==t)try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await Id.promises.readFile(r.defaultMessagesFile)).toString())}catch(n){console.error(`Error reading default NLS messages file ${r.defaultMessagesFile}: ${n}`)}}return Wt("code/didLoadNls"),r}}async function L1(){await w8()}Cw();Qr();Wt("code/server/start");globalThis.vscodeServerStartTime=t8.now();async function Cte(){let r=(0,n8.default)(process.argv.slice(2),{boolean:["start-server","list-extensions","print-ip-address","help","version","accept-server-license-terms","update-extensions"],string:["install-extension","install-builtin-extension","uninstall-extension","locate-extension","socket-path","host","port","compatibility","agent-host-port","agent-host-path"],alias:{help:"h",version:"v"}});["host","port","accept-server-license-terms"].forEach(i=>{if(!r[i]){let s=process.env[`VSCODE_SERVER_${i.toUpperCase().replace("-","_")}`];s&&(r[i]=s)}});let t=["list-extensions","locate-extension"],e=["install-extension","install-builtin-extension","uninstall-extension","update-extensions"],n=r.help||r.version||t.some(i=>!!r[i])||e.some(i=>!!r[i])&&!r["start-server"],o=await eg({userLocale:"en",osLocale:"en",commit:sr.commit,nlsMetadataHash:sr.nlsMetadataHash,userDataPath:"",nlsMetadataPath:import.meta.dirname});if(n)f1(o).then(i=>{i.spawnCli()});else{Ete(r);let i=null,s=null,a=()=>(s||(s=f1(o).then(async h=>{let v=await h.createServer(u);return i=v,v})),s);if(Array.isArray(sr.serverLicense)&&sr.serverLicense.length&&(console.log(sr.serverLicense.join(`
`)),sr.serverLicensePrompt&&r["accept-server-license-terms"]!==!0)){Pte()&&(console.log("To accept the license terms, start the server with --accept-server-license-terms"),process.exit(1));try{await o8(sr.serverLicensePrompt)||process.exit(1)}catch(h){console.log(h),process.exit(1)}}let l=!0,c=!0,u=null,p=v1.createServer(async(h,v)=>(l&&(l=!1,Wt("code/server/firstRequest")),(await a()).handleRequest(h,v)));p.on("upgrade",async(h,v)=>(c&&(c=!1,Wt("code/server/firstWebSocket")),(await a()).handleUpgrade(h,v))),p.on("error",async h=>(await a()).handleServerError(h));let m=xE(r.host)||(r.compatibility!=="1.63"?"localhost":void 0),f=r["socket-path"]?{path:xE(r["socket-path"])}:{host:m,port:await wte(m,xE(r.port))};p.listen(f,async()=>{let h=Array.isArray(sr.serverGreeting)&&sr.serverGreeting.length?`
${sr.serverGreeting.join(`
`)}
`:"";if(typeof f.port=="number"&&r["print-ip-address"]){let v=xm.networkInterfaces();Object.keys(v).forEach(function(I){v[I]?.forEach(function(E){!E.internal&&E.family==="IPv4"&&(h+=`IP Address: ${E.address}
`)})})}if(u=p.address(),u===null)throw new Error("Unexpected server address");h+=`Server bound to ${typeof u=="string"?u:`${u.address}:${u.port} (${u.family})`}
`,h+=`Extension host agent listening on ${typeof u=="string"?u:u.port}
`,console.log(h),Wt("code/server/started"),globalThis.vscodeServerListenTime=t8.now(),await a()}),process.on("exit",()=>{p.close(),i&&i.dispose()})}}function xE(r){return Array.isArray(r)&&(r=r.pop()),typeof r=="string"?r:void 0}function Ete(r){if(!process.env.VSCODE_SERVER_EXIT_DIAGNOSTICS)return;let t=Date.now(),e=xE(r.logsPath)||xm.tmpdir(),n=h1.join(e,"server-exit-diagnostics.log");try{CE.mkdirSync(e,{recursive:!0})}catch{}let o=!0;try{process.stderr.on("error",()=>{o=!1})}catch{o=!1}let i=c=>{let u=`[server-exit-diagnostics][${new Date().toISOString()}][pid:${process.pid}][+${Date.now()-t}ms] ${c}`;try{CE.appendFileSync(n,`${u}
`)}catch{}if(o)try{process.stderr.write(`${u}
`)}catch{o=!1}},s=()=>{try{let u=process.getActiveResourcesInfo?.()??[],p=process.memoryUsage();return`uptime=${process.uptime().toFixed(3)}s rss=${Math.round(p.rss/1024/1024)}MB activeResources=[${u.join(", ")}]`}catch(c){return`(failed to collect process state: ${c})`}};i(`installed. ppid=${process.ppid} platform=${process.platform} node=${process.version} argv=${JSON.stringify(process.argv.slice(2))}`),process.on("beforeExit",c=>i(`'beforeExit' (code: ${c}) \u2014 event loop drained, process will exit on its own. ${s()}`)),process.on("exit",c=>i(`'exit' (code: ${c}). ${s()}`));let a=!1;process.on("uncaughtExceptionMonitor",(c,u)=>{if(!a){a=!0;try{i(`'uncaughtExceptionMonitor' (origin: ${u}): ${c?.stack||c}`)}finally{a=!1}}});let l=["SIGTERM","SIGINT","SIGHUP","SIGBREAK","SIGQUIT"];for(let c of l)try{process.on(c,()=>{i(`received signal '${c}' \u2014 terminating. ${s()}`);let u=xm.constants.signals[c];process.exit(typeof u=="number"?128+u:1)})}catch{}}async function wte(r,t){if(t){let e;if(t.match(/^\d+$/))return parseInt(t,10);if(e=Tte(t)){let n=await Rte(r,e.start,e.end);if(n!==void 0)return n;console.warn(`--port: Could not find free port in range: ${e.start} - ${e.end} (inclusive).`),process.exit(1)}else console.warn(`--port "${t}" is not a valid number or range. Ranges must be in the form 'from-to' with 'from' an integer larger than 0 and not larger than 'end'.`),process.exit(1)}return 8e3}function Tte(r){let t=r.match(/^(\d+)-(\d+)$/);if(t){let e=parseInt(t[1],10),n=parseInt(t[2],10);if(e>0&&e<=n&&n<=65535)return{start:e,end:n}}}async function Rte(r,t,e){let n=o=>new Promise(i=>{let s=v1.createServer();s.listen(o,r,()=>{s.close(),i(!0)}).on("error",()=>{i(!1)})});for(let o=t;o<=e;o++)if(await n(o))return o}async function f1(r){return process.env.VSCODE_NLS_CONFIG=JSON.stringify(r),process.env.VSCODE_HANDLES_SIGPIPE="true",process.env.VSCODE_DEV?(process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH=process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH||h1.join(import.meta.dirname,"..","remote","node_modules"),R1(process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH)):delete process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH,P1(),await L1(),Promise.resolve().then(()=>(Zq(),Xq))}function Pte(){try{return!process.stdin.isTTY}catch{}return!1}function o8(r){let t=e8.createInterface({input:process.stdin,output:process.stdout});return new Promise((e,n)=>{t.question(r+" ",async function(o){t.close();let i=o.toString().trim().toLowerCase();i===""||i==="y"||i==="yes"?e(!0):i==="n"||i==="no"?e(!1):(process.stdout.write(`
Invalid Response. Answer either yes (y, yes) or no (n, no)
`),e(await o8(r)))})})}async function KCt(){let r=await eg({userLocale:"en",osLocale:"en",commit:sr.commit,userDataPath:"",nlsMetadataPath:import.meta.dirname});return f1(r)}process.env.CODE_SERVER_PARENT_PID||Cte();export{KCt as loadCodeWithNls};