dotfiles/vscode/.vscode/extensions/ms-toolsai.jupyter-2024.6.0-darwin-arm64/dist/extension.node.js
Errol Sancaktar 5f8db31398 alacritty
2024-07-15 17:06:13 -06:00

473 lines
1.4 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";var DG=Object.create;var oS=Object.defineProperty;var GL=Object.getOwnPropertyDescriptor;var _G=Object.getOwnPropertyNames;var TG=Object.getPrototypeOf,RG=Object.prototype.hasOwnProperty;var AG=(n,e)=>()=>(n&&(e=n(n=0)),e);var O=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),zL=(n,e)=>{for(var t in e)oS(n,t,{get:e[t],enumerable:!0})},QL=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _G(e))!RG.call(n,i)&&i!==t&&oS(n,i,{get:()=>e[i],enumerable:!(r=GL(e,i))||r.enumerable});return n};var k=(n,e,t)=>(t=n!=null?DG(TG(n)):{},QL(e||!n||!n.__esModule?oS(t,"default",{value:n,enumerable:!0}):t,n)),YL=n=>QL(oS({},"__esModule",{value:!0}),n),v=(n,e,t,r)=>{for(var i=r>1?void 0:r?GL(e,t):e,o=n.length-1,s;o>=0;o--)(s=n[o])&&(i=(r?s(e,t,i):s(i))||i);return r&&i&&oS(e,t,i),i},m=(n,e)=>(t,r)=>e(t,r,n);var ZL=O(()=>{var XL;(function(n){(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:Function("return this;")(),r=i(n);typeof t.Reflect>"u"?t.Reflect=n:r=i(t.Reflect,r),e(r);function i(o,s){return function(a,l){typeof o[a]!="function"&&Object.defineProperty(o,a,{configurable:!0,writable:!0,value:l}),s&&s(a,l)}}})(function(e){var t=Object.prototype.hasOwnProperty,r=typeof Symbol=="function",i=r&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=r&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",s=typeof Object.create=="function",a={__proto__:[]}instanceof Array,l=!s&&!a,c={create:s?function(){return Xr(Object.create(null))}:a?function(){return Xr({__proto__:null})}:function(){return Xr({})},has:l?function($,X){return t.call($,X)}:function($,X){return X in $},get:l?function($,X){return t.call($,X)?$[X]:void 0}:function($,X){return $[X]}},u=Object.getPrototypeOf(Function),d=typeof process=="object"&&process.env&&process.env.REFLECT_METADATA_USE_MAP_POLYFILL==="true",f=!d&&typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:yr(),g=!d&&typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Lr(),b=!d&&typeof WeakMap=="function"?WeakMap:wr(),I=new b;function E($,X,ue,ve){if(nr(ue)){if(!fc($))throw new TypeError;if(!U(X))throw new TypeError;return Ie($,X)}else{if(!fc($))throw new TypeError;if(!Fr(X))throw new TypeError;if(!Fr(ve)&&!nr(ve)&&!pi(ve))throw new TypeError;return pi(ve)&&(ve=void 0),ue=zn(ue),Ke($,X,ue,ve)}}e("decorate",E);function x($,X){function ue(ve,Je){if(!Fr(ve))throw new TypeError;if(!nr(Je)&&!pe(Je))throw new TypeError;Te($,X,ve,Je)}return ue}e("metadata",x);function A($,X,ue,ve){if(!Fr(ue))throw new TypeError;return nr(ve)||(ve=zn(ve)),Te($,X,ue,ve)}e("defineMetadata",A);function T($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),mt($,X,ue)}e("hasMetadata",T);function J($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),kt($,X,ue)}e("hasOwnMetadata",J);function ne($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),ee($,X,ue)}e("getMetadata",ne);function H($,X,ue){if(!Fr(X))throw new TypeError;return nr(ue)||(ue=zn(ue)),Ee($,X,ue)}e("getOwnMetadata",H);function oe($,X){if(!Fr($))throw new TypeError;return nr(X)||(X=zn(X)),he($,X)}e("getMetadataKeys",oe);function ae($,X){if(!Fr($))throw new TypeError;return nr(X)||(X=zn(X)),ht($,X)}e("getOwnMetadataKeys",ae);function Y($,X,ue){if(!Fr(X))throw new TypeError;nr(ue)||(ue=zn(ue));var ve=pt(X,ue,!1);if(nr(ve)||!ve.delete($))return!1;if(ve.size>0)return!0;var Je=I.get(X);return Je.delete(ue),Je.size>0||I.delete(X),!0}e("deleteMetadata",Y);function Ie($,X){for(var ue=$.length-1;ue>=0;--ue){var ve=$[ue],Je=ve(X);if(!nr(Je)&&!pi(Je)){if(!U(Je))throw new TypeError;X=Je}}return X}function Ke($,X,ue,ve){for(var Je=$.length-1;Je>=0;--Je){var Zr=$[Je],bt=Zr(X,ue,ve);if(!nr(bt)&&!pi(bt)){if(!Fr(bt))throw new TypeError;ve=bt}}return ve}function pt($,X,ue){var ve=I.get($);if(nr(ve)){if(!ue)return;ve=new f,I.set($,ve)}var Je=ve.get(X);if(nr(Je)){if(!ue)return;Je=new f,ve.set(X,Je)}return Je}function mt($,X,ue){var ve=kt($,X,ue);if(ve)return!0;var Je=xt(X);return pi(Je)?!1:mt($,Je,ue)}function kt($,X,ue){var ve=pt(X,ue,!1);return nr(ve)?!1:Nt(ve.has($))}function ee($,X,ue){var ve=kt($,X,ue);if(ve)return Ee($,X,ue);var Je=xt(X);if(!pi(Je))return ee($,Je,ue)}function Ee($,X,ue){var ve=pt(X,ue,!1);if(!nr(ve))return ve.get($)}function Te($,X,ue,ve){var Je=pt(ue,ve,!0);Je.set($,X)}function he($,X){var ue=ht($,X),ve=xt($);if(ve===null)return ue;var Je=he(ve,X);if(Je.length<=0)return ue;if(ue.length<=0)return Je;for(var Zr=new g,bt=[],wt=0,Qe=ue;wt<Qe.length;wt++){var At=Qe[wt],Z=Zr.has(At);Z||(Zr.add(At),bt.push(At))}for(var le=0,W=Je;le<W.length;le++){var At=W[le],Z=Zr.has(At);Z||(Zr.add(At),bt.push(At))}return bt}function ht($,X){var ue=[],ve=pt($,X,!1);if(nr(ve))return ue;for(var Je=ve.keys(),Zr=ze(Je),bt=0;;){var wt=Wt(Zr);if(!wt)return ue.length=bt,ue;var Qe=Yr(wt);try{ue[bt]=Qe}catch(At){try{Mt(Zr)}finally{throw At}}bt++}}function Fi($){if($===null)return 1;switch(typeof $){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return $===null?1:6;default:return 6}}function nr($){return $===void 0}function pi($){return $===null}function Du($){return typeof $=="symbol"}function Fr($){return typeof $=="object"?$!==null:typeof $=="function"}function zs($,X){switch(Fi($)){case 0:return $;case 1:return $;case 2:return $;case 3:return $;case 4:return $;case 5:return $}var ue=X===3?"string":X===5?"number":"default",ve=Re($,i);if(ve!==void 0){var Je=ve.call($,ue);if(Fr(Je))throw new TypeError;return Je}return Ka($,ue==="default"?"number":ue)}function Ka($,X){if(X==="string"){var ue=$.toString;if(F(ue)){var ve=ue.call($);if(!Fr(ve))return ve}var Je=$.valueOf;if(F(Je)){var ve=Je.call($);if(!Fr(ve))return ve}}else{var Je=$.valueOf;if(F(Je)){var ve=Je.call($);if(!Fr(ve))return ve}var Zr=$.toString;if(F(Zr)){var ve=Zr.call($);if(!Fr(ve))return ve}}throw new TypeError}function Nt($){return!!$}function Li($){return""+$}function zn($){var X=zs($,3);return Du(X)?X:Li(X)}function fc($){return Array.isArray?Array.isArray($):$ instanceof Object?$ instanceof Array:Object.prototype.toString.call($)==="[object Array]"}function F($){return typeof $=="function"}function U($){return typeof $=="function"}function pe($){switch(Fi($)){case 3:return!0;case 4:return!0;default:return!1}}function Re($,X){var ue=$[X];if(ue!=null){if(!F(ue))throw new TypeError;return ue}}function ze($){var X=Re($,o);if(!F(X))throw new TypeError;var ue=X.call($);if(!Fr(ue))throw new TypeError;return ue}function Yr($){return $.value}function Wt($){var X=$.next();return X.done?!1:X}function Mt($){var X=$.return;X&&X.call($)}function xt($){var X=Object.getPrototypeOf($);if(typeof $!="function"||$===u||X!==u)return X;var ue=$.prototype,ve=ue&&Object.getPrototypeOf(ue);if(ve==null||ve===Object.prototype)return X;var Je=ve.constructor;return typeof Je!="function"||Je===$?X:Je}function yr(){var $={},X=[],ue=function(){function bt(wt,Qe,At){this._index=0,this._keys=wt,this._values=Qe,this._selector=At}return bt.prototype["@@iterator"]=function(){return this},bt.prototype[o]=function(){return this},bt.prototype.next=function(){var wt=this._index;if(wt>=0&&wt<this._keys.length){var Qe=this._selector(this._keys[wt],this._values[wt]);return wt+1>=this._keys.length?(this._index=-1,this._keys=X,this._values=X):this._index++,{value:Qe,done:!1}}return{value:void 0,done:!0}},bt.prototype.throw=function(wt){throw this._index>=0&&(this._index=-1,this._keys=X,this._values=X),wt},bt.prototype.return=function(wt){return this._index>=0&&(this._index=-1,this._keys=X,this._values=X),{value:wt,done:!0}},bt}();return function(){function bt(){this._keys=[],this._values=[],this._cacheKey=$,this._cacheIndex=-2}return Object.defineProperty(bt.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),bt.prototype.has=function(wt){return this._find(wt,!1)>=0},bt.prototype.get=function(wt){var Qe=this._find(wt,!1);return Qe>=0?this._values[Qe]:void 0},bt.prototype.set=function(wt,Qe){var At=this._find(wt,!0);return this._values[At]=Qe,this},bt.prototype.delete=function(wt){var Qe=this._find(wt,!1);if(Qe>=0){for(var At=this._keys.length,Z=Qe+1;Z<At;Z++)this._keys[Z-1]=this._keys[Z],this._values[Z-1]=this._values[Z];return this._keys.length--,this._values.length--,wt===this._cacheKey&&(this._cacheKey=$,this._cacheIndex=-2),!0}return!1},bt.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=$,this._cacheIndex=-2},bt.prototype.keys=function(){return new ue(this._keys,this._values,ve)},bt.prototype.values=function(){return new ue(this._keys,this._values,Je)},bt.prototype.entries=function(){return new ue(this._keys,this._values,Zr)},bt.prototype["@@iterator"]=function(){return this.entries()},bt.prototype[o]=function(){return this.entries()},bt.prototype._find=function(wt,Qe){return this._cacheKey!==wt&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=wt)),this._cacheIndex<0&&Qe&&(this._cacheIndex=this._keys.length,this._keys.push(wt),this._values.push(void 0)),this._cacheIndex},bt}();function ve(bt,wt){return bt}function Je(bt,wt){return wt}function Zr(bt,wt){return[bt,wt]}}function Lr(){return function(){function $(){this._map=new f}return Object.defineProperty($.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),$.prototype.has=function(X){return this._map.has(X)},$.prototype.add=function(X){return this._map.set(X,X),this},$.prototype.delete=function(X){return this._map.delete(X)},$.prototype.clear=function(){this._map.clear()},$.prototype.keys=function(){return this._map.keys()},$.prototype.values=function(){return this._map.values()},$.prototype.entries=function(){return this._map.entries()},$.prototype["@@iterator"]=function(){return this.keys()},$.prototype[o]=function(){return this.keys()},$}()}function wr(){var $=16,X=c.create(),ue=ve();return function(){function Qe(){this._key=ve()}return Qe.prototype.has=function(At){var Z=Je(At,!1);return Z!==void 0?c.has(Z,this._key):!1},Qe.prototype.get=function(At){var Z=Je(At,!1);return Z!==void 0?c.get(Z,this._key):void 0},Qe.prototype.set=function(At,Z){var le=Je(At,!0);return le[this._key]=Z,this},Qe.prototype.delete=function(At){var Z=Je(At,!1);return Z!==void 0?delete Z[this._key]:!1},Qe.prototype.clear=function(){this._key=ve()},Qe}();function ve(){var Qe;do Qe="@@WeakMap@@"+wt();while(c.has(X,Qe));return X[Qe]=!0,Qe}function Je(Qe,At){if(!t.call(Qe,ue)){if(!At)return;Object.defineProperty(Qe,ue,{value:c.create()})}return Qe[ue]}function Zr(Qe,At){for(var Z=0;Z<At;++Z)Qe[Z]=Math.random()*255|0;return Qe}function bt(Qe){return typeof Uint8Array=="function"?typeof crypto<"u"?crypto.getRandomValues(new Uint8Array(Qe)):typeof msCrypto<"u"?msCrypto.getRandomValues(new Uint8Array(Qe)):Zr(new Uint8Array(Qe),Qe):Zr(new Array(Qe),Qe)}function wt(){var Qe=bt($);Qe[6]=Qe[6]&79|64,Qe[8]=Qe[8]&191|128;for(var At="",Z=0;Z<$;++Z){var le=Qe[Z];(Z===4||Z===6||Z===8)&&(At+="-"),le<16&&(At+="0"),At+=le.toString(16).toLowerCase()}return At}}function Xr($){return $.__=void 0,delete $.__,$}})})(XL||(XL={}))});var eU={};zL(eU,{isPreRelesVersionOfJupyterExtension:()=>NG});var NG,tU=AG(()=>{"use strict";NG=!1});var UU=O(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.EventEmitter=Va.once=Va.toPromise=void 0;function lz(n,e){return e?e.aborted?Promise.resolve(void 0):new Promise(t=>{let r=(0,Va.once)(n,o=>{e.removeEventListener("abort",i),t(o)}),i=()=>{r.dispose(),e.removeEventListener("abort",i),t(void 0)};e.addEventListener("abort",i)}):new Promise(t=>(0,Va.once)(n,t))}Va.toPromise=lz;var cz=(n,e)=>{let t=n(r=>{e(r),t.dispose()});return t};Va.once=cz;var _R=class{constructor(){this.event=(e,t,r)=>{let i=this.add(t?e.bind(t):e);return r?.push(i),i}}get size(){return this.listeners?typeof this.listeners=="function"?1:this.listeners.length:0}fire(e){if(this.listeners)if(typeof this.listeners=="function")this.listeners(e);else for(let t of this.listeners)t(e)}dispose(){this.listeners=void 0}add(e){return this.listeners?typeof this.listeners=="function"?this.listeners=[this.listeners,e]:this.listeners.push(e):this.listeners=e,{dispose:()=>this.rm(e)}}rm(e){if(!this.listeners)return;if(typeof this.listeners=="function"){this.listeners===e&&(this.listeners=void 0);return}let t=this.listeners.indexOf(e);t!==-1&&(this.listeners.length===2?this.listeners=t===0?this.listeners[1]:this.listeners[0]:this.listeners=this.listeners.slice(0,t).concat(this.listeners.slice(t+1)))}};Va.EventEmitter=_R});var Sn=O(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.NON_CUSTOM_TAG_KEYS=Bt.PRE_DESTROY=Bt.POST_CONSTRUCT=Bt.DESIGN_PARAM_TYPES=Bt.PARAM_TYPES=Bt.TAGGED_PROP=Bt.TAGGED=Bt.MULTI_INJECT_TAG=Bt.INJECT_TAG=Bt.OPTIONAL_TAG=Bt.UNMANAGED_TAG=Bt.NAME_TAG=Bt.NAMED_TAG=void 0;Bt.NAMED_TAG="named";Bt.NAME_TAG="name";Bt.UNMANAGED_TAG="unmanaged";Bt.OPTIONAL_TAG="optional";Bt.INJECT_TAG="inject";Bt.MULTI_INJECT_TAG="multi_inject";Bt.TAGGED="inversify:tagged";Bt.TAGGED_PROP="inversify:tagged_props";Bt.PARAM_TYPES="inversify:paramtypes";Bt.DESIGN_PARAM_TYPES="design:paramtypes";Bt.POST_CONSTRUCT="post_construct";Bt.PRE_DESTROY="pre_destroy";function uz(){return[Bt.INJECT_TAG,Bt.MULTI_INJECT_TAG,Bt.NAME_TAG,Bt.UNMANAGED_TAG,Bt.NAMED_TAG,Bt.OPTIONAL_TAG]}Bt.NON_CUSTOM_TAG_KEYS=uz()});var ea=O(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});ju.TargetTypeEnum=ju.BindingTypeEnum=ju.BindingScopeEnum=void 0;var dz={Request:"Request",Singleton:"Singleton",Transient:"Transient"};ju.BindingScopeEnum=dz;var pz={ConstantValue:"ConstantValue",Constructor:"Constructor",DynamicValue:"DynamicValue",Factory:"Factory",Function:"Function",Instance:"Instance",Invalid:"Invalid",Provider:"Provider"};ju.BindingTypeEnum=pz;var mz={ClassProperty:"ClassProperty",ConstructorArgument:"ConstructorArgument",Variable:"Variable"};ju.TargetTypeEnum=mz});var Ju=O(AE=>{"use strict";Object.defineProperty(AE,"__esModule",{value:!0});AE.id=void 0;var fz=0;function hz(){return fz++}AE.id=hz});var GU=O(NE=>{"use strict";Object.defineProperty(NE,"__esModule",{value:!0});NE.Binding=void 0;var HU=ea(),gz=Ju(),vz=function(){function n(e,t){this.id=(0,gz.id)(),this.activated=!1,this.serviceIdentifier=e,this.scope=t,this.type=HU.BindingTypeEnum.Invalid,this.constraint=function(r){return!0},this.implementationType=null,this.cache=null,this.factory=null,this.provider=null,this.onActivation=null,this.onDeactivation=null,this.dynamicValue=null}return n.prototype.clone=function(){var e=new n(this.serviceIdentifier,this.scope);return e.activated=e.scope===HU.BindingScopeEnum.Singleton?this.activated:!1,e.implementationType=this.implementationType,e.dynamicValue=this.dynamicValue,e.scope=this.scope,e.type=this.type,e.factory=this.factory,e.provider=this.provider,e.constraint=this.constraint,e.onActivation=this.onActivation,e.onDeactivation=this.onDeactivation,e.cache=this.cache,e},n}();NE.Binding=vz});var bi=O(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.STACK_OVERFLOW=Ne.CIRCULAR_DEPENDENCY_IN_FACTORY=Ne.ON_DEACTIVATION_ERROR=Ne.PRE_DESTROY_ERROR=Ne.POST_CONSTRUCT_ERROR=Ne.ASYNC_UNBIND_REQUIRED=Ne.MULTIPLE_POST_CONSTRUCT_METHODS=Ne.MULTIPLE_PRE_DESTROY_METHODS=Ne.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK=Ne.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE=Ne.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE=Ne.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT=Ne.ARGUMENTS_LENGTH_MISMATCH=Ne.INVALID_DECORATOR_OPERATION=Ne.INVALID_TO_SELF_VALUE=Ne.LAZY_IN_SYNC=Ne.INVALID_FUNCTION_BINDING=Ne.INVALID_MIDDLEWARE_RETURN=Ne.NO_MORE_SNAPSHOTS_AVAILABLE=Ne.INVALID_BINDING_TYPE=Ne.NOT_IMPLEMENTED=Ne.CIRCULAR_DEPENDENCY=Ne.UNDEFINED_INJECT_ANNOTATION=Ne.MISSING_INJECT_ANNOTATION=Ne.MISSING_INJECTABLE_ANNOTATION=Ne.NOT_REGISTERED=Ne.CANNOT_UNBIND=Ne.AMBIGUOUS_MATCH=Ne.KEY_NOT_FOUND=Ne.NULL_ARGUMENT=Ne.DUPLICATED_METADATA=Ne.DUPLICATED_INJECTABLE_DECORATOR=void 0;Ne.DUPLICATED_INJECTABLE_DECORATOR="Cannot apply @injectable decorator multiple times.";Ne.DUPLICATED_METADATA="Metadata key was used more than once in a parameter:";Ne.NULL_ARGUMENT="NULL argument";Ne.KEY_NOT_FOUND="Key Not Found";Ne.AMBIGUOUS_MATCH="Ambiguous match found for serviceIdentifier:";Ne.CANNOT_UNBIND="Could not unbind serviceIdentifier:";Ne.NOT_REGISTERED="No matching bindings found for serviceIdentifier:";Ne.MISSING_INJECTABLE_ANNOTATION="Missing required @injectable annotation in:";Ne.MISSING_INJECT_ANNOTATION="Missing required @inject or @multiInject annotation in:";var yz=function(n){return"@inject called with undefined this could mean that the class "+n+" has a circular dependency problem. You can use a LazyServiceIdentifer to overcome this limitation."};Ne.UNDEFINED_INJECT_ANNOTATION=yz;Ne.CIRCULAR_DEPENDENCY="Circular dependency found:";Ne.NOT_IMPLEMENTED="Sorry, this feature is not fully implemented yet.";Ne.INVALID_BINDING_TYPE="Invalid binding type:";Ne.NO_MORE_SNAPSHOTS_AVAILABLE="No snapshot available to restore.";Ne.INVALID_MIDDLEWARE_RETURN="Invalid return type in middleware. Middleware must return!";Ne.INVALID_FUNCTION_BINDING="Value provided to function binding must be a function!";var bz=function(n){return"You are attempting to construct '"+n+`' in a synchronous way
but it has asynchronous dependencies.`};Ne.LAZY_IN_SYNC=bz;Ne.INVALID_TO_SELF_VALUE="The toSelf function can only be applied when a constructor is used as service identifier";Ne.INVALID_DECORATOR_OPERATION="The @inject @multiInject @tagged and @named decorators must be applied to the parameters of a class constructor or a class property.";var Iz=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return"The number of constructor arguments in the derived class "+(n[0]+" must be >= than the number of constructor arguments of its base class.")};Ne.ARGUMENTS_LENGTH_MISMATCH=Iz;Ne.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT="Invalid Container constructor argument. Container options must be an object.";Ne.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE="Invalid Container option. Default scope must be a string ('singleton' or 'transient').";Ne.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE="Invalid Container option. Auto bind injectable must be a boolean";Ne.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK="Invalid Container option. Skip base check must be a boolean";Ne.MULTIPLE_PRE_DESTROY_METHODS="Cannot apply @preDestroy decorator multiple times in the same class";Ne.MULTIPLE_POST_CONSTRUCT_METHODS="Cannot apply @postConstruct decorator multiple times in the same class";Ne.ASYNC_UNBIND_REQUIRED="Attempting to unbind dependency with asynchronous destruction (@preDestroy or onDeactivation)";var Sz=function(n,e){return"@postConstruct error in class "+n+": "+e};Ne.POST_CONSTRUCT_ERROR=Sz;var Cz=function(n,e){return"@preDestroy error in class "+n+": "+e};Ne.PRE_DESTROY_ERROR=Cz;var wz=function(n,e){return"onDeactivation() error in class "+n+": "+e};Ne.ON_DEACTIVATION_ERROR=wz;var Ez=function(n,e){return"It looks like there is a circular dependency in one of the '"+n+"' bindings. Please investigate bindings with"+("service identifier '"+e+"'.")};Ne.CIRCULAR_DEPENDENCY_IN_FACTORY=Ez;Ne.STACK_OVERFLOW="Maximum call stack size exceeded"});var MR=O(ja=>{"use strict";var Pz=ja&&ja.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),kz=ja&&ja.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),xz=ja&&ja.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Pz(e,n,t);return kz(e,n),e};Object.defineProperty(ja,"__esModule",{value:!0});ja.MetadataReader=void 0;var NR=xz(Sn()),Dz=function(){function n(){}return n.prototype.getConstructorMetadata=function(e){var t=Reflect.getMetadata(NR.PARAM_TYPES,e),r=Reflect.getMetadata(NR.TAGGED,e);return{compilerGeneratedMetadata:t,userGeneratedMetadata:r||{}}},n.prototype.getPropertiesMetadata=function(e){var t=Reflect.getMetadata(NR.TAGGED_PROP,e)||[];return t},n}();ja.MetadataReader=Dz});var zU=O(ME=>{"use strict";Object.defineProperty(ME,"__esModule",{value:!0});ME.BindingCount=void 0;var _z={MultipleBindingsAvailable:2,NoBindingsAvailable:0,OnlyOneBindingAvailable:1};ME.BindingCount=_z});var KR=O(ms=>{"use strict";var Tz=ms&&ms.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Rz=ms&&ms.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),Az=ms&&ms.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Tz(e,n,t);return Rz(e,n),e};Object.defineProperty(ms,"__esModule",{value:!0});ms.tryAndThrowErrorIfStackOverflow=ms.isStackOverflowExeption=void 0;var Nz=Az(bi());function QU(n){return n instanceof RangeError||n.message===Nz.STACK_OVERFLOW}ms.isStackOverflowExeption=QU;var Mz=function(n,e){try{return n()}catch(t){throw QU(t)&&(t=e()),t}};ms.tryAndThrowErrorIfStackOverflow=Mz});var uh=O(Cn=>{"use strict";var Kz=Cn&&Cn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Oz=Cn&&Cn.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),Fz=Cn&&Cn.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Kz(e,n,t);return Oz(e,n),e};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.getSymbolDescription=Cn.circularDependencyToException=Cn.listMetadataForTarget=Cn.listRegisteredBindingsForServiceIdentifier=Cn.getServiceIdentifierAsString=Cn.getFunctionName=void 0;var Lz=Fz(bi());function YU(n){if(typeof n=="function"){var e=n;return e.name}else{if(typeof n=="symbol")return n.toString();var e=n;return e}}Cn.getServiceIdentifierAsString=YU;function Uz(n,e,t){var r="",i=t(n,e);return i.length!==0&&(r=`
Registered bindings:`,i.forEach(function(o){var s="Object";o.implementationType!==null&&(s=eW(o.implementationType)),r=r+`
`+s,o.constraint.metaData&&(r=r+" - "+o.constraint.metaData)})),r}Cn.listRegisteredBindingsForServiceIdentifier=Uz;function XU(n,e){return n.parentRequest===null?!1:n.parentRequest.serviceIdentifier===e?!0:XU(n.parentRequest,e)}function Wz(n){function e(r,i){i===void 0&&(i=[]);var o=YU(r.serviceIdentifier);return i.push(o),r.parentRequest!==null?e(r.parentRequest,i):i}var t=e(n);return t.reverse().join(" --> ")}function ZU(n){n.childRequests.forEach(function(e){if(XU(e,e.serviceIdentifier)){var t=Wz(e);throw new Error(Lz.CIRCULAR_DEPENDENCY+" "+t)}else ZU(e)})}Cn.circularDependencyToException=ZU;function Vz(n,e){if(e.isTagged()||e.isNamed()){var t="",r=e.getNamedTag(),i=e.getCustomTags();return r!==null&&(t+=r.toString()+`
`),i!==null&&i.forEach(function(o){t+=o.toString()+`
`})," "+n+`
`+n+" - "+t}else return" "+n}Cn.listMetadataForTarget=Vz;function eW(n){if(n.name)return n.name;var e=n.toString(),t=e.match(/^function\s*([^\s(]+)/);return t?t[1]:"Anonymous function: "+e}Cn.getFunctionName=eW;function jz(n){return n.toString().slice(7,-1)}Cn.getSymbolDescription=jz});var tW=O(KE=>{"use strict";Object.defineProperty(KE,"__esModule",{value:!0});KE.Context=void 0;var Jz=Ju(),Bz=function(){function n(e){this.id=(0,Jz.id)(),this.container=e}return n.prototype.addPlan=function(e){this.plan=e},n.prototype.setCurrentRequest=function(e){this.currentRequest=e},n}();KE.Context=Bz});var ta=O(Ja=>{"use strict";var $z=Ja&&Ja.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),qz=Ja&&Ja.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),Hz=Ja&&Ja.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&$z(e,n,t);return qz(e,n),e};Object.defineProperty(Ja,"__esModule",{value:!0});Ja.Metadata=void 0;var Gz=Hz(Sn()),zz=function(){function n(e,t){this.key=e,this.value=t}return n.prototype.toString=function(){return this.key===Gz.NAMED_TAG?"named: "+String(this.value).toString()+" ":"tagged: { key:"+this.key.toString()+", value: "+String(this.value)+" }"},n}();Ja.Metadata=zz});var rW=O(OE=>{"use strict";Object.defineProperty(OE,"__esModule",{value:!0});OE.Plan=void 0;var Qz=function(){function n(e,t){this.parentContext=e,this.rootRequest=t}return n}();OE.Plan=Qz});var OR=O(FE=>{"use strict";Object.defineProperty(FE,"__esModule",{value:!0});FE.LazyServiceIdentifer=void 0;var Yz=function(){function n(e){this._cb=e}return n.prototype.unwrap=function(){return this._cb()},n}();FE.LazyServiceIdentifer=Yz});var nW=O(LE=>{"use strict";Object.defineProperty(LE,"__esModule",{value:!0});LE.QueryableString=void 0;var Xz=function(){function n(e){this.str=e}return n.prototype.startsWith=function(e){return this.str.indexOf(e)===0},n.prototype.endsWith=function(e){var t="",r=e.split("").reverse().join("");return t=this.str.split("").reverse().join(""),this.startsWith.call({str:t},r)},n.prototype.contains=function(e){return this.str.indexOf(e)!==-1},n.prototype.equals=function(e){return this.str===e},n.prototype.value=function(){return this.str},n}();LE.QueryableString=Xz});var FR=O(Ba=>{"use strict";var Zz=Ba&&Ba.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),eQ=Ba&&Ba.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),tQ=Ba&&Ba.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Zz(e,n,t);return eQ(e,n),e};Object.defineProperty(Ba,"__esModule",{value:!0});Ba.Target=void 0;var Ic=tQ(Sn()),rQ=Ju(),nQ=uh(),iW=ta(),iQ=nW(),oQ=function(){function n(e,t,r,i){this.id=(0,rQ.id)(),this.type=e,this.serviceIdentifier=r;var o=typeof t=="symbol"?(0,nQ.getSymbolDescription)(t):t;this.name=new iQ.QueryableString(o||""),this.identifier=t,this.metadata=new Array;var s=null;typeof i=="string"?s=new iW.Metadata(Ic.NAMED_TAG,i):i instanceof iW.Metadata&&(s=i),s!==null&&this.metadata.push(s)}return n.prototype.hasTag=function(e){for(var t=0,r=this.metadata;t<r.length;t++){var i=r[t];if(i.key===e)return!0}return!1},n.prototype.isArray=function(){return this.hasTag(Ic.MULTI_INJECT_TAG)},n.prototype.matchesArray=function(e){return this.matchesTag(Ic.MULTI_INJECT_TAG)(e)},n.prototype.isNamed=function(){return this.hasTag(Ic.NAMED_TAG)},n.prototype.isTagged=function(){return this.metadata.some(function(e){return Ic.NON_CUSTOM_TAG_KEYS.every(function(t){return e.key!==t})})},n.prototype.isOptional=function(){return this.matchesTag(Ic.OPTIONAL_TAG)(!0)},n.prototype.getNamedTag=function(){return this.isNamed()?this.metadata.filter(function(e){return e.key===Ic.NAMED_TAG})[0]:null},n.prototype.getCustomTags=function(){return this.isTagged()?this.metadata.filter(function(e){return Ic.NON_CUSTOM_TAG_KEYS.every(function(t){return e.key!==t})}):null},n.prototype.matchesNamedTag=function(e){return this.matchesTag(Ic.NAMED_TAG)(e)},n.prototype.matchesTag=function(e){var t=this;return function(r){for(var i=0,o=t.metadata;i<o.length;i++){var s=o[i];if(s.key===e&&s.value===r)return!0}return!1}},n}();Ba.Target=oQ});var pW=O(Ii=>{"use strict";var sQ=Ii&&Ii.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),aQ=Ii&&Ii.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),oW=Ii&&Ii.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&sQ(e,n,t);return aQ(e,n),e},UE=Ii&&Ii.__spreadArray||function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))};Object.defineProperty(Ii,"__esModule",{value:!0});Ii.getFunctionName=Ii.getBaseClassDependencyCount=Ii.getDependencies=void 0;var lQ=OR(),LR=oW(bi()),sW=ea(),wS=oW(Sn()),UR=uh();Object.defineProperty(Ii,"getFunctionName",{enumerable:!0,get:function(){return UR.getFunctionName}});var aW=FR();function cQ(n,e){var t=(0,UR.getFunctionName)(e);return lW(n,t,e,!1)}Ii.getDependencies=cQ;function lW(n,e,t,r){var i=n.getConstructorMetadata(t),o=i.compilerGeneratedMetadata;if(o===void 0){var s=LR.MISSING_INJECTABLE_ANNOTATION+" "+e+".";throw new Error(s)}var a=i.userGeneratedMetadata,l=Object.keys(a),c=t.length===0&&l.length>0,u=l.length>t.length,d=c||u?l.length:t.length,f=dQ(r,e,o,a,d),g=cW(n,t,e),b=UE(UE([],f,!0),g,!0);return b}function uQ(n,e,t,r,i){var o=i[n.toString()]||[],s=dW(o),a=s.unmanaged!==!0,l=r[n],c=s.inject||s.multiInject;if(l=c||l,l instanceof lQ.LazyServiceIdentifer&&(l=l.unwrap()),a){var u=l===Object,d=l===Function,f=l===void 0,g=u||d||f;if(!e&&g){var b=LR.MISSING_INJECT_ANNOTATION+" argument "+n+" in class "+t+".";throw new Error(b)}var I=new aW.Target(sW.TargetTypeEnum.ConstructorArgument,s.targetName,l);return I.metadata=o,I}return null}function dQ(n,e,t,r,i){for(var o=[],s=0;s<i;s++){var a=s,l=uQ(a,n,e,t,r);l!==null&&o.push(l)}return o}function pQ(n,e,t,r){var i=n||e;if(i===void 0){var o=LR.MISSING_INJECTABLE_ANNOTATION+" for property "+String(t)+" in class "+r+".";throw new Error(o)}return i}function cW(n,e,t){for(var r=n.getPropertiesMetadata(e),i=[],o=Object.getOwnPropertySymbols(r),s=Object.keys(r),a=s.concat(o),l=0,c=a;l<c.length;l++){var u=c[l],d=r[u],f=dW(d),g=f.targetName||u,b=pQ(f.inject,f.multiInject,u,t),I=new aW.Target(sW.TargetTypeEnum.ClassProperty,g,b);I.metadata=d,i.push(I)}var E=Object.getPrototypeOf(e.prototype).constructor;if(E!==Object){var x=cW(n,E,t);i=UE(UE([],i,!0),x,!0)}return i}function uW(n,e){var t=Object.getPrototypeOf(e.prototype).constructor;if(t!==Object){var r=(0,UR.getFunctionName)(t),i=lW(n,r,t,!0),o=i.map(function(l){return l.metadata.filter(function(c){return c.key===wS.UNMANAGED_TAG})}),s=[].concat.apply([],o).length,a=i.length-s;return a>0?a:uW(n,t)}else return 0}Ii.getBaseClassDependencyCount=uW;function dW(n){var e={};return n.forEach(function(t){e[t.key.toString()]=t.value}),{inject:e[wS.INJECT_TAG],multiInject:e[wS.MULTI_INJECT_TAG],targetName:e[wS.NAME_TAG],unmanaged:e[wS.UNMANAGED_TAG]}}});var mW=O(WE=>{"use strict";Object.defineProperty(WE,"__esModule",{value:!0});WE.Request=void 0;var mQ=Ju(),fQ=function(){function n(e,t,r,i,o){this.id=(0,mQ.id)(),this.serviceIdentifier=e,this.parentContext=t,this.parentRequest=r,this.target=o,this.childRequests=[],this.bindings=Array.isArray(i)?i:[i],this.requestScope=r===null?new Map:null}return n.prototype.addChildRequest=function(e,t,r){var i=new n(e,this.parentContext,this,t,r);return this.childRequests.push(i),i},n}();WE.Request=fQ});var BR=O(ro=>{"use strict";var hQ=ro&&ro.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),gQ=ro&&ro.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),gW=ro&&ro.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&hQ(e,n,t);return gQ(e,n),e};Object.defineProperty(ro,"__esModule",{value:!0});ro.getBindingDictionary=ro.createMockRequest=ro.plan=void 0;var VE=zU(),VR=gW(bi()),vW=ea(),fW=gW(Sn()),vQ=KR(),dh=uh(),yW=tW(),jR=ta(),yQ=rW(),WR=pW(),JR=mW(),bW=FR();function IW(n){return n._bindingDictionary}ro.getBindingDictionary=IW;function bQ(n,e,t,r,i,o){var s=n?fW.MULTI_INJECT_TAG:fW.INJECT_TAG,a=new jR.Metadata(s,t),l=new bW.Target(e,r,t,a);if(i!==void 0){var c=new jR.Metadata(i,o);l.metadata.push(c)}return l}function hW(n,e,t,r,i){var o=ES(t.container,i.serviceIdentifier),s=[];return o.length===VE.BindingCount.NoBindingsAvailable&&t.container.options.autoBindInjectable&&typeof i.serviceIdentifier=="function"&&n.getConstructorMetadata(i.serviceIdentifier).compilerGeneratedMetadata&&(t.container.bind(i.serviceIdentifier).toSelf(),o=ES(t.container,i.serviceIdentifier)),e?s=o:s=o.filter(function(a){var l=new JR.Request(a.serviceIdentifier,t,r,a,i);return a.constraint(l)}),IQ(i.serviceIdentifier,s,i,t.container),s}function IQ(n,e,t,r){switch(e.length){case VE.BindingCount.NoBindingsAvailable:if(t.isOptional())return e;var i=(0,dh.getServiceIdentifierAsString)(n),o=VR.NOT_REGISTERED;throw o+=(0,dh.listMetadataForTarget)(i,t),o+=(0,dh.listRegisteredBindingsForServiceIdentifier)(r,i,ES),new Error(o);case VE.BindingCount.OnlyOneBindingAvailable:return e;case VE.BindingCount.MultipleBindingsAvailable:default:if(t.isArray())return e;var i=(0,dh.getServiceIdentifierAsString)(n),o=VR.AMBIGUOUS_MATCH+" "+i;throw o+=(0,dh.listRegisteredBindingsForServiceIdentifier)(r,i,ES),new Error(o)}}function SW(n,e,t,r,i,o){var s,a;if(i===null){s=hW(n,e,r,null,o),a=new JR.Request(t,r,null,s,o);var l=new yQ.Plan(r,a);r.addPlan(l)}else s=hW(n,e,r,i,o),a=i.addChildRequest(o.serviceIdentifier,s,o);s.forEach(function(c){var u=null;if(o.isArray())u=a.addChildRequest(c.serviceIdentifier,c,o);else{if(c.cache)return;u=a}if(c.type===vW.BindingTypeEnum.Instance&&c.implementationType!==null){var d=(0,WR.getDependencies)(n,c.implementationType);if(!r.container.options.skipBaseClassChecks){var f=(0,WR.getBaseClassDependencyCount)(n,c.implementationType);if(d.length<f){var g=VR.ARGUMENTS_LENGTH_MISMATCH((0,WR.getFunctionName)(c.implementationType));throw new Error(g)}}d.forEach(function(b){SW(n,!1,b.serviceIdentifier,r,u,b)})}})}function ES(n,e){var t=[],r=IW(n);return r.hasKey(e)?t=r.get(e):n.parent!==null&&(t=ES(n.parent,e)),t}function SQ(n,e,t,r,i,o,s,a){a===void 0&&(a=!1);var l=new yW.Context(e),c=bQ(t,r,i,"",o,s);try{return SW(n,a,i,l,null,c),l}catch(u){throw(0,vQ.isStackOverflowExeption)(u)&&(0,dh.circularDependencyToException)(l.plan.rootRequest),u}}ro.plan=SQ;function CQ(n,e,t,r){var i=new bW.Target(vW.TargetTypeEnum.Variable,"",e,new jR.Metadata(t,r)),o=new yW.Context(n),s=new JR.Request(e,o,null,[],i);return s}ro.createMockRequest=CQ});var PS=O(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});ph.isPromiseOrContainsPromise=ph.isPromise=void 0;function $R(n){var e=typeof n=="object"&&n!==null||typeof n=="function";return e&&typeof n.then=="function"}ph.isPromise=$R;function wQ(n){return $R(n)?!0:Array.isArray(n)&&n.some($R)}ph.isPromiseOrContainsPromise=wQ});var CW=O($a=>{"use strict";var EQ=$a&&$a.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},PQ=$a&&$a.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}};Object.defineProperty($a,"__esModule",{value:!0});$a.saveToScope=$a.tryGetFromScope=void 0;var jE=N(),kQ=PS(),xQ=function(n,e){return e.scope===jE.BindingScopeEnum.Singleton&&e.activated?e.cache:e.scope===jE.BindingScopeEnum.Request&&n.has(e.id)?n.get(e.id):null};$a.tryGetFromScope=xQ;var DQ=function(n,e,t){e.scope===jE.BindingScopeEnum.Singleton&&TQ(e,t),e.scope===jE.BindingScopeEnum.Request&&_Q(n,e,t)};$a.saveToScope=DQ;var _Q=function(n,e,t){n.has(e.id)||n.set(e.id,t)},TQ=function(n,e){n.cache=e,n.activated=!0,(0,kQ.isPromise)(e)&&RQ(n,e)},RQ=function(n,e){return EQ(void 0,void 0,void 0,function(){var t,r;return PQ(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,e];case 1:return t=i.sent(),n.cache=t,[3,3];case 2:throw r=i.sent(),n.cache=null,n.activated=!1,r;case 3:return[2]}})})}});var wW=O(kS=>{"use strict";Object.defineProperty(kS,"__esModule",{value:!0});kS.FactoryType=void 0;var AQ;(function(n){n.DynamicValue="toDynamicValue",n.Factory="toFactory",n.Provider="toProvider"})(AQ=kS.FactoryType||(kS.FactoryType={}))});var HR=O(no=>{"use strict";var NQ=no&&no.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),MQ=no&&no.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),KQ=no&&no.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&NQ(e,n,t);return MQ(e,n),e};Object.defineProperty(no,"__esModule",{value:!0});no.getFactoryDetails=no.ensureFullyBound=no.multiBindToService=void 0;var OQ=N(),FQ=KQ(bi()),qa=ea(),qR=wW(),LQ=function(n){return function(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return t.forEach(function(i){return n.bind(i).toService(e)})}}};no.multiBindToService=LQ;var UQ=function(n){var e=null;switch(n.type){case qa.BindingTypeEnum.ConstantValue:case qa.BindingTypeEnum.Function:e=n.cache;break;case qa.BindingTypeEnum.Constructor:case qa.BindingTypeEnum.Instance:e=n.implementationType;break;case qa.BindingTypeEnum.DynamicValue:e=n.dynamicValue;break;case qa.BindingTypeEnum.Provider:e=n.provider;break;case qa.BindingTypeEnum.Factory:e=n.factory;break}if(e===null){var t=(0,OQ.getServiceIdentifierAsString)(n.serviceIdentifier);throw new Error(FQ.INVALID_BINDING_TYPE+" "+t)}};no.ensureFullyBound=UQ;var WQ=function(n){switch(n.type){case qa.BindingTypeEnum.Factory:return{factory:n.factory,factoryType:qR.FactoryType.Factory};case qa.BindingTypeEnum.Provider:return{factory:n.provider,factoryType:qR.FactoryType.Provider};case qa.BindingTypeEnum.DynamicValue:return{factory:n.dynamicValue,factoryType:qR.FactoryType.DynamicValue};default:throw new Error("Unexpected factory type "+n.type)}};no.getFactoryDetails=WQ});var _W=O(Jn=>{"use strict";var mh=Jn&&Jn.__assign||function(){return mh=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},mh.apply(this,arguments)},VQ=Jn&&Jn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),jQ=Jn&&Jn.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),JQ=Jn&&Jn.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&VQ(e,n,t);return jQ(e,n),e},kW=Jn&&Jn.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},xW=Jn&&Jn.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},BQ=Jn&&Jn.__spreadArray||function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))};Object.defineProperty(Jn,"__esModule",{value:!0});Jn.resolveInstance=void 0;var GR=bi(),QR=ea(),zR=JQ(Sn()),YR=PS();function $Q(n,e){return n.reduce(function(t,r){var i=e(r),o=r.target.type;return o===QR.TargetTypeEnum.ConstructorArgument?t.constructorInjections.push(i):(t.propertyRequests.push(r),t.propertyInjections.push(i)),t.isAsync||(t.isAsync=(0,YR.isPromiseOrContainsPromise)(i)),t},{constructorInjections:[],propertyInjections:[],propertyRequests:[],isAsync:!1})}function qQ(n,e,t){var r;if(e.length>0){var i=$Q(e,t),o=mh(mh({},i),{constr:n});i.isAsync?r=HQ(o):r=DW(o)}else r=new n;return r}function DW(n){var e,t=new((e=n.constr).bind.apply(e,BQ([void 0],n.constructorInjections,!1)));return n.propertyRequests.forEach(function(r,i){var o=r.target.identifier,s=n.propertyInjections[i];t[o]=s}),t}function HQ(n){return kW(this,void 0,void 0,function(){var e,t;return xW(this,function(r){switch(r.label){case 0:return[4,EW(n.constructorInjections)];case 1:return e=r.sent(),[4,EW(n.propertyInjections)];case 2:return t=r.sent(),[2,DW(mh(mh({},n),{constructorInjections:e,propertyInjections:t}))]}})})}function EW(n){return kW(this,void 0,void 0,function(){var e,t,r,i;return xW(this,function(o){for(e=[],t=0,r=n;t<r.length;t++)i=r[t],Array.isArray(i)?e.push(Promise.all(i)):e.push(i);return[2,Promise.all(e)]})})}function PW(n,e){var t=GQ(n,e);return(0,YR.isPromise)(t)?t.then(function(){return e}):e}function GQ(n,e){var t,r;if(Reflect.hasMetadata(zR.POST_CONSTRUCT,n)){var i=Reflect.getMetadata(zR.POST_CONSTRUCT,n);try{return(r=(t=e)[i.value])===null||r===void 0?void 0:r.call(t)}catch(o){throw new Error((0,GR.POST_CONSTRUCT_ERROR)(n.name,o.message))}}}function zQ(n,e){n.scope!==QR.BindingScopeEnum.Singleton&&QQ(n,e)}function QQ(n,e){var t="Class cannot be instantiated in "+(n.scope===QR.BindingScopeEnum.Request?"request":"transient")+" scope.";if(typeof n.onDeactivation=="function")throw new Error((0,GR.ON_DEACTIVATION_ERROR)(e.name,t));if(Reflect.hasMetadata(zR.PRE_DESTROY,e))throw new Error((0,GR.PRE_DESTROY_ERROR)(e.name,t))}function YQ(n,e,t,r){zQ(n,e);var i=qQ(e,t,r);return(0,YR.isPromise)(i)?i.then(function(o){return PW(e,o)}):PW(e,i)}Jn.resolveInstance=YQ});var MW=O(io=>{"use strict";var XQ=io&&io.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),ZQ=io&&io.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),eY=io&&io.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&XQ(e,n,t);return ZQ(e,n),e},tY=io&&io.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},rY=io&&io.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}};Object.defineProperty(io,"__esModule",{value:!0});io.resolve=void 0;var nY=eY(bi()),JE=ea(),iY=BR(),TW=CW(),XR=PS(),AW=HR(),oY=KR(),sY=_W(),ZR=function(n){return function(e){e.parentContext.setCurrentRequest(e);var t=e.bindings,r=e.childRequests,i=e.target&&e.target.isArray(),o=!e.parentRequest||!e.parentRequest.target||!e.target||!e.parentRequest.target.matchesArray(e.target.serviceIdentifier);if(i&&o)return r.map(function(a){var l=ZR(n);return l(a)});if(e.target.isOptional()&&t.length===0)return;var s=t[0];return uY(n,e,s)}},aY=function(n,e){var t=(0,AW.getFactoryDetails)(n);return(0,oY.tryAndThrowErrorIfStackOverflow)(function(){return t.factory.bind(n)(e)},function(){return new Error(nY.CIRCULAR_DEPENDENCY_IN_FACTORY(t.factoryType,e.currentRequest.serviceIdentifier.toString()))})},lY=function(n,e,t){var r,i=e.childRequests;switch((0,AW.ensureFullyBound)(t),t.type){case JE.BindingTypeEnum.ConstantValue:case JE.BindingTypeEnum.Function:r=t.cache;break;case JE.BindingTypeEnum.Constructor:r=t.implementationType;break;case JE.BindingTypeEnum.Instance:r=(0,sY.resolveInstance)(t,t.implementationType,i,ZR(n));break;default:r=aY(t,e.parentContext)}return r},cY=function(n,e,t){var r=(0,TW.tryGetFromScope)(n,e);return r!==null||(r=t(),(0,TW.saveToScope)(n,e,r)),r},uY=function(n,e,t){return cY(n,t,function(){var r=lY(n,e,t);return(0,XR.isPromise)(r)?r=r.then(function(i){return RW(e,t,i)}):r=RW(e,t,r),r})};function RW(n,e,t){var r=dY(n.parentContext,e,t),i=fY(n.parentContext.container),o,s=i.next();do{o=s.value;var a=n.parentContext,l=n.serviceIdentifier,c=mY(o,l);(0,XR.isPromise)(r)?r=NW(c,a,r):r=pY(c,a,r),s=i.next()}while(s.done!==!0&&!(0,iY.getBindingDictionary)(o).hasKey(n.serviceIdentifier));return r}var dY=function(n,e,t){var r;return typeof e.onActivation=="function"?r=e.onActivation(n,t):r=t,r},pY=function(n,e,t){for(var r=n.next();!r.done;){if(t=r.value(e,t),(0,XR.isPromise)(t))return NW(n,e,t);r=n.next()}return t},NW=function(n,e,t){return tY(void 0,void 0,void 0,function(){var r,i;return rY(this,function(o){switch(o.label){case 0:return[4,t];case 1:r=o.sent(),i=n.next(),o.label=2;case 2:return i.done?[3,4]:[4,i.value(e,r)];case 3:return r=o.sent(),i=n.next(),[3,2];case 4:return[2,r]}})})},mY=function(n,e){var t=n._activations;return t.hasKey(e)?t.get(e).values():[].values()},fY=function(n){for(var e=[n],t=n.parent;t!==null;)e.push(t),t=t.parent;var r=function(){var o=e.pop();return o!==void 0?{done:!1,value:o}:{done:!0,value:void 0}},i={next:r};return i};function hY(n){var e=ZR(n.plan.rootRequest.requestScope);return e(n.plan.rootRequest)}io.resolve=hY});var eA=O(Si=>{"use strict";var gY=Si&&Si.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),vY=Si&&Si.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),yY=Si&&Si.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&gY(e,n,t);return vY(e,n),e};Object.defineProperty(Si,"__esModule",{value:!0});Si.typeConstraint=Si.namedConstraint=Si.taggedConstraint=Si.traverseAncerstors=void 0;var bY=yY(Sn()),IY=ta(),KW=function(n,e){var t=n.parentRequest;return t!==null?e(t)?!0:KW(t,e):!1};Si.traverseAncerstors=KW;var OW=function(n){return function(e){var t=function(r){return r!==null&&r.target!==null&&r.target.matchesTag(n)(e)};return t.metaData=new IY.Metadata(n,e),t}};Si.taggedConstraint=OW;var SY=OW(bY.NAMED_TAG);Si.namedConstraint=SY;var CY=function(n){return function(e){var t=null;if(e!==null)if(t=e.bindings[0],typeof n=="string"){var r=t.serviceIdentifier;return r===n}else{var i=e.bindings[0].implementationType;return n===i}return!1}};Si.typeConstraint=CY});var $E=O(BE=>{"use strict";Object.defineProperty(BE,"__esModule",{value:!0});BE.BindingWhenSyntax=void 0;var Vi=qE(),Rn=eA(),wY=function(){function n(e){this._binding=e}return n.prototype.when=function(e){return this._binding.constraint=e,new Vi.BindingOnSyntax(this._binding)},n.prototype.whenTargetNamed=function(e){return this._binding.constraint=(0,Rn.namedConstraint)(e),new Vi.BindingOnSyntax(this._binding)},n.prototype.whenTargetIsDefault=function(){return this._binding.constraint=function(e){if(e===null)return!1;var t=e.target!==null&&!e.target.isNamed()&&!e.target.isTagged();return t},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenTargetTagged=function(e,t){return this._binding.constraint=(0,Rn.taggedConstraint)(e)(t),new Vi.BindingOnSyntax(this._binding)},n.prototype.whenInjectedInto=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.typeConstraint)(e)(t.parentRequest)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenParentNamed=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.namedConstraint)(e)(t.parentRequest)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenParentTagged=function(e,t){return this._binding.constraint=function(r){return r!==null&&(0,Rn.taggedConstraint)(e)(t)(r.parentRequest)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorIs=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.traverseAncerstors)(t,(0,Rn.typeConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorIs=function(e){return this._binding.constraint=function(t){return t!==null&&!(0,Rn.traverseAncerstors)(t,(0,Rn.typeConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorNamed=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.traverseAncerstors)(t,(0,Rn.namedConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorNamed=function(e){return this._binding.constraint=function(t){return t!==null&&!(0,Rn.traverseAncerstors)(t,(0,Rn.namedConstraint)(e))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorTagged=function(e,t){return this._binding.constraint=function(r){return r!==null&&(0,Rn.traverseAncerstors)(r,(0,Rn.taggedConstraint)(e)(t))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorTagged=function(e,t){return this._binding.constraint=function(r){return r!==null&&!(0,Rn.traverseAncerstors)(r,(0,Rn.taggedConstraint)(e)(t))},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenAnyAncestorMatches=function(e){return this._binding.constraint=function(t){return t!==null&&(0,Rn.traverseAncerstors)(t,e)},new Vi.BindingOnSyntax(this._binding)},n.prototype.whenNoAncestorMatches=function(e){return this._binding.constraint=function(t){return t!==null&&!(0,Rn.traverseAncerstors)(t,e)},new Vi.BindingOnSyntax(this._binding)},n}();BE.BindingWhenSyntax=wY});var qE=O(HE=>{"use strict";Object.defineProperty(HE,"__esModule",{value:!0});HE.BindingOnSyntax=void 0;var FW=$E(),EY=function(){function n(e){this._binding=e}return n.prototype.onActivation=function(e){return this._binding.onActivation=e,new FW.BindingWhenSyntax(this._binding)},n.prototype.onDeactivation=function(e){return this._binding.onDeactivation=e,new FW.BindingWhenSyntax(this._binding)},n}();HE.BindingOnSyntax=EY});var tA=O(GE=>{"use strict";Object.defineProperty(GE,"__esModule",{value:!0});GE.BindingWhenOnSyntax=void 0;var PY=qE(),kY=$E(),xY=function(){function n(e){this._binding=e,this._bindingWhenSyntax=new kY.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new PY.BindingOnSyntax(this._binding)}return n.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},n.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},n.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},n.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},n.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},n.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},n.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},n.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},n.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},n.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},n.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},n.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},n.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},n.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},n.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},n.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},n.prototype.onDeactivation=function(e){return this._bindingOnSyntax.onDeactivation(e)},n}();GE.BindingWhenOnSyntax=xY});var LW=O(zE=>{"use strict";Object.defineProperty(zE,"__esModule",{value:!0});zE.BindingInSyntax=void 0;var rA=ea(),nA=tA(),DY=function(){function n(e){this._binding=e}return n.prototype.inRequestScope=function(){return this._binding.scope=rA.BindingScopeEnum.Request,new nA.BindingWhenOnSyntax(this._binding)},n.prototype.inSingletonScope=function(){return this._binding.scope=rA.BindingScopeEnum.Singleton,new nA.BindingWhenOnSyntax(this._binding)},n.prototype.inTransientScope=function(){return this._binding.scope=rA.BindingScopeEnum.Transient,new nA.BindingWhenOnSyntax(this._binding)},n}();zE.BindingInSyntax=DY});var UW=O(QE=>{"use strict";Object.defineProperty(QE,"__esModule",{value:!0});QE.BindingInWhenOnSyntax=void 0;var _Y=LW(),TY=qE(),RY=$E(),AY=function(){function n(e){this._binding=e,this._bindingWhenSyntax=new RY.BindingWhenSyntax(this._binding),this._bindingOnSyntax=new TY.BindingOnSyntax(this._binding),this._bindingInSyntax=new _Y.BindingInSyntax(e)}return n.prototype.inRequestScope=function(){return this._bindingInSyntax.inRequestScope()},n.prototype.inSingletonScope=function(){return this._bindingInSyntax.inSingletonScope()},n.prototype.inTransientScope=function(){return this._bindingInSyntax.inTransientScope()},n.prototype.when=function(e){return this._bindingWhenSyntax.when(e)},n.prototype.whenTargetNamed=function(e){return this._bindingWhenSyntax.whenTargetNamed(e)},n.prototype.whenTargetIsDefault=function(){return this._bindingWhenSyntax.whenTargetIsDefault()},n.prototype.whenTargetTagged=function(e,t){return this._bindingWhenSyntax.whenTargetTagged(e,t)},n.prototype.whenInjectedInto=function(e){return this._bindingWhenSyntax.whenInjectedInto(e)},n.prototype.whenParentNamed=function(e){return this._bindingWhenSyntax.whenParentNamed(e)},n.prototype.whenParentTagged=function(e,t){return this._bindingWhenSyntax.whenParentTagged(e,t)},n.prototype.whenAnyAncestorIs=function(e){return this._bindingWhenSyntax.whenAnyAncestorIs(e)},n.prototype.whenNoAncestorIs=function(e){return this._bindingWhenSyntax.whenNoAncestorIs(e)},n.prototype.whenAnyAncestorNamed=function(e){return this._bindingWhenSyntax.whenAnyAncestorNamed(e)},n.prototype.whenAnyAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenAnyAncestorTagged(e,t)},n.prototype.whenNoAncestorNamed=function(e){return this._bindingWhenSyntax.whenNoAncestorNamed(e)},n.prototype.whenNoAncestorTagged=function(e,t){return this._bindingWhenSyntax.whenNoAncestorTagged(e,t)},n.prototype.whenAnyAncestorMatches=function(e){return this._bindingWhenSyntax.whenAnyAncestorMatches(e)},n.prototype.whenNoAncestorMatches=function(e){return this._bindingWhenSyntax.whenNoAncestorMatches(e)},n.prototype.onActivation=function(e){return this._bindingOnSyntax.onActivation(e)},n.prototype.onDeactivation=function(e){return this._bindingOnSyntax.onDeactivation(e)},n}();QE.BindingInWhenOnSyntax=AY});var jW=O(Ha=>{"use strict";var NY=Ha&&Ha.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),MY=Ha&&Ha.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),KY=Ha&&Ha.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&NY(e,n,t);return MY(e,n),e};Object.defineProperty(Ha,"__esModule",{value:!0});Ha.BindingToSyntax=void 0;var WW=KY(bi()),ji=ea(),VW=UW(),fh=tA(),OY=function(){function n(e){this._binding=e}return n.prototype.to=function(e){return this._binding.type=ji.BindingTypeEnum.Instance,this._binding.implementationType=e,new VW.BindingInWhenOnSyntax(this._binding)},n.prototype.toSelf=function(){if(typeof this._binding.serviceIdentifier!="function")throw new Error(""+WW.INVALID_TO_SELF_VALUE);var e=this._binding.serviceIdentifier;return this.to(e)},n.prototype.toConstantValue=function(e){return this._binding.type=ji.BindingTypeEnum.ConstantValue,this._binding.cache=e,this._binding.dynamicValue=null,this._binding.implementationType=null,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toDynamicValue=function(e){return this._binding.type=ji.BindingTypeEnum.DynamicValue,this._binding.cache=null,this._binding.dynamicValue=e,this._binding.implementationType=null,new VW.BindingInWhenOnSyntax(this._binding)},n.prototype.toConstructor=function(e){return this._binding.type=ji.BindingTypeEnum.Constructor,this._binding.implementationType=e,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toFactory=function(e){return this._binding.type=ji.BindingTypeEnum.Factory,this._binding.factory=e,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toFunction=function(e){if(typeof e!="function")throw new Error(WW.INVALID_FUNCTION_BINDING);var t=this.toConstantValue(e);return this._binding.type=ji.BindingTypeEnum.Function,this._binding.scope=ji.BindingScopeEnum.Singleton,t},n.prototype.toAutoFactory=function(e){return this._binding.type=ji.BindingTypeEnum.Factory,this._binding.factory=function(t){var r=function(){return t.container.get(e)};return r},this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toAutoNamedFactory=function(e){return this._binding.type=ji.BindingTypeEnum.Factory,this._binding.factory=function(t){return function(r){return t.container.getNamed(e,r)}},new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toProvider=function(e){return this._binding.type=ji.BindingTypeEnum.Provider,this._binding.provider=e,this._binding.scope=ji.BindingScopeEnum.Singleton,new fh.BindingWhenOnSyntax(this._binding)},n.prototype.toService=function(e){this.toDynamicValue(function(t){return t.container.get(e)})},n}();Ha.BindingToSyntax=OY});var JW=O(YE=>{"use strict";Object.defineProperty(YE,"__esModule",{value:!0});YE.ContainerSnapshot=void 0;var FY=function(){function n(){}return n.of=function(e,t,r,i,o){var s=new n;return s.bindings=e,s.middleware=t,s.deactivations=i,s.activations=r,s.moduleActivationStore=o,s},n}();YE.ContainerSnapshot=FY});var BW=O(XE=>{"use strict";Object.defineProperty(XE,"__esModule",{value:!0});XE.isClonable=void 0;function LY(n){return typeof n=="object"&&n!==null&&"clone"in n&&typeof n.clone=="function"}XE.isClonable=LY});var iA=O(Ga=>{"use strict";var UY=Ga&&Ga.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),WY=Ga&&Ga.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),VY=Ga&&Ga.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&UY(e,n,t);return WY(e,n),e};Object.defineProperty(Ga,"__esModule",{value:!0});Ga.Lookup=void 0;var qp=VY(bi()),jY=BW(),JY=function(){function n(){this._map=new Map}return n.prototype.getMap=function(){return this._map},n.prototype.add=function(e,t){if(e==null)throw new Error(qp.NULL_ARGUMENT);if(t==null)throw new Error(qp.NULL_ARGUMENT);var r=this._map.get(e);r!==void 0?r.push(t):this._map.set(e,[t])},n.prototype.get=function(e){if(e==null)throw new Error(qp.NULL_ARGUMENT);var t=this._map.get(e);if(t!==void 0)return t;throw new Error(qp.KEY_NOT_FOUND)},n.prototype.remove=function(e){if(e==null)throw new Error(qp.NULL_ARGUMENT);if(!this._map.delete(e))throw new Error(qp.KEY_NOT_FOUND)},n.prototype.removeIntersection=function(e){var t=this;this.traverse(function(r,i){var o=e.hasKey(r)?e.get(r):void 0;if(o!==void 0){var s=i.filter(function(a){return!o.some(function(l){return a===l})});t._setValue(r,s)}})},n.prototype.removeByCondition=function(e){var t=this,r=[];return this._map.forEach(function(i,o){for(var s=[],a=0,l=i;a<l.length;a++){var c=l[a],u=e(c);u?r.push(c):s.push(c)}t._setValue(o,s)}),r},n.prototype.hasKey=function(e){if(e==null)throw new Error(qp.NULL_ARGUMENT);return this._map.has(e)},n.prototype.clone=function(){var e=new n;return this._map.forEach(function(t,r){t.forEach(function(i){return e.add(r,(0,jY.isClonable)(i)?i.clone():i)})}),e},n.prototype.traverse=function(e){this._map.forEach(function(t,r){e(r,t)})},n.prototype._setValue=function(e,t){t.length>0?this._map.set(e,t):this._map.delete(e)},n}();Ga.Lookup=JY});var qW=O(ZE=>{"use strict";Object.defineProperty(ZE,"__esModule",{value:!0});ZE.ModuleActivationStore=void 0;var $W=iA(),BY=function(){function n(){this._map=new Map}return n.prototype.remove=function(e){if(this._map.has(e)){var t=this._map.get(e);return this._map.delete(e),t}return this._getEmptyHandlersStore()},n.prototype.addDeactivation=function(e,t,r){this._getModuleActivationHandlers(e).onDeactivations.add(t,r)},n.prototype.addActivation=function(e,t,r){this._getModuleActivationHandlers(e).onActivations.add(t,r)},n.prototype.clone=function(){var e=new n;return this._map.forEach(function(t,r){e._map.set(r,{onActivations:t.onActivations.clone(),onDeactivations:t.onDeactivations.clone()})}),e},n.prototype._getModuleActivationHandlers=function(e){var t=this._map.get(e);return t===void 0&&(t=this._getEmptyHandlersStore(),this._map.set(e,t)),t},n.prototype._getEmptyHandlersStore=function(){var e={onActivations:new $W.Lookup,onDeactivations:new $W.Lookup};return e},n}();ZE.ModuleActivationStore=BY});var oA=O(Bn=>{"use strict";var tP=Bn&&Bn.__assign||function(){return tP=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},tP.apply(this,arguments)},$Y=Bn&&Bn.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),qY=Bn&&Bn.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),HW=Bn&&Bn.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&$Y(e,n,t);return qY(e,n),e},fs=Bn&&Bn.__awaiter||function(n,e,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):i(u.value).then(a,l)}c((r=r.apply(n,e||[])).next())})},hs=Bn&&Bn.__generator||function(n,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return l([c,u])}}function l(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=1,i&&(o=c[0]&2?i.return:c[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,c[1])).done)return o;switch(i=0,o&&(c=[c[0]&2,o.value]),c[0]){case 0:case 1:o=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,i=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){t.label=c[1];break}if(c[0]===6&&t.label<o[1]){t.label=o[1],o=c;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(c);break}o[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(u){c=[6,u],i=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},HY=Bn&&Bn.__spreadArray||function(n,e,t){if(t||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return n.concat(o||Array.prototype.slice.call(e))};Object.defineProperty(Bn,"__esModule",{value:!0});Bn.Container=void 0;var GY=GU(),ra=HW(bi()),hh=ea(),Hp=HW(Sn()),zY=MR(),eP=BR(),QY=MW(),YY=jW(),Gp=PS(),XY=Ju(),ZY=uh(),eX=JW(),xS=iA(),tX=qW(),rX=function(){function n(e){var t=e||{};if(typeof t!="object")throw new Error(""+ra.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT);if(t.defaultScope===void 0)t.defaultScope=hh.BindingScopeEnum.Transient;else if(t.defaultScope!==hh.BindingScopeEnum.Singleton&&t.defaultScope!==hh.BindingScopeEnum.Transient&&t.defaultScope!==hh.BindingScopeEnum.Request)throw new Error(""+ra.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE);if(t.autoBindInjectable===void 0)t.autoBindInjectable=!1;else if(typeof t.autoBindInjectable!="boolean")throw new Error(""+ra.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE);if(t.skipBaseClassChecks===void 0)t.skipBaseClassChecks=!1;else if(typeof t.skipBaseClassChecks!="boolean")throw new Error(""+ra.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK);this.options={autoBindInjectable:t.autoBindInjectable,defaultScope:t.defaultScope,skipBaseClassChecks:t.skipBaseClassChecks},this.id=(0,XY.id)(),this._bindingDictionary=new xS.Lookup,this._snapshots=[],this._middleware=null,this._activations=new xS.Lookup,this._deactivations=new xS.Lookup,this.parent=null,this._metadataReader=new zY.MetadataReader,this._moduleActivationStore=new tX.ModuleActivationStore}return n.merge=function(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];var o=new n,s=HY([e,t],r,!0).map(function(c){return(0,eP.getBindingDictionary)(c)}),a=(0,eP.getBindingDictionary)(o);function l(c,u){c.traverse(function(d,f){f.forEach(function(g){u.add(g.serviceIdentifier,g.clone())})})}return s.forEach(function(c){l(c,a)}),o},n.prototype.load=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=this._getContainerModuleHelpersFactory(),i=0,o=e;i<o.length;i++){var s=o[i],a=r(s.id);s.registry(a.bindFunction,a.unbindFunction,a.isboundFunction,a.rebindFunction,a.unbindAsyncFunction,a.onActivationFunction,a.onDeactivationFunction)}},n.prototype.loadAsync=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return fs(this,void 0,void 0,function(){var r,i,o,s,a;return hs(this,function(l){switch(l.label){case 0:r=this._getContainerModuleHelpersFactory(),i=0,o=e,l.label=1;case 1:return i<o.length?(s=o[i],a=r(s.id),[4,s.registry(a.bindFunction,a.unbindFunction,a.isboundFunction,a.rebindFunction,a.unbindAsyncFunction,a.onActivationFunction,a.onDeactivationFunction)]):[3,4];case 2:l.sent(),l.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},n.prototype.unload=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];t.forEach(function(i){var o=e._removeModuleBindings(i.id);e._deactivateSingletons(o),e._removeModuleHandlers(i.id)})},n.prototype.unloadAsync=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return fs(this,void 0,void 0,function(){var r,i,o,s;return hs(this,function(a){switch(a.label){case 0:r=0,i=e,a.label=1;case 1:return r<i.length?(o=i[r],s=this._removeModuleBindings(o.id),[4,this._deactivateSingletonsAsync(s)]):[3,4];case 2:a.sent(),this._removeModuleHandlers(o.id),a.label=3;case 3:return r++,[3,1];case 4:return[2]}})})},n.prototype.bind=function(e){var t=this.options.defaultScope||hh.BindingScopeEnum.Transient,r=new GY.Binding(e,t);return this._bindingDictionary.add(e,r),new YY.BindingToSyntax(r)},n.prototype.rebind=function(e){return this.unbind(e),this.bind(e)},n.prototype.rebindAsync=function(e){return fs(this,void 0,void 0,function(){return hs(this,function(t){switch(t.label){case 0:return[4,this.unbindAsync(e)];case 1:return t.sent(),[2,this.bind(e)]}})})},n.prototype.unbind=function(e){if(this._bindingDictionary.hasKey(e)){var t=this._bindingDictionary.get(e);this._deactivateSingletons(t)}this._removeServiceFromDictionary(e)},n.prototype.unbindAsync=function(e){return fs(this,void 0,void 0,function(){var t;return hs(this,function(r){switch(r.label){case 0:return this._bindingDictionary.hasKey(e)?(t=this._bindingDictionary.get(e),[4,this._deactivateSingletonsAsync(t)]):[3,2];case 1:r.sent(),r.label=2;case 2:return this._removeServiceFromDictionary(e),[2]}})})},n.prototype.unbindAll=function(){var e=this;this._bindingDictionary.traverse(function(t,r){e._deactivateSingletons(r)}),this._bindingDictionary=new xS.Lookup},n.prototype.unbindAllAsync=function(){return fs(this,void 0,void 0,function(){var e,t=this;return hs(this,function(r){switch(r.label){case 0:return e=[],this._bindingDictionary.traverse(function(i,o){e.push(t._deactivateSingletonsAsync(o))}),[4,Promise.all(e)];case 1:return r.sent(),this._bindingDictionary=new xS.Lookup,[2]}})})},n.prototype.onActivation=function(e,t){this._activations.add(e,t)},n.prototype.onDeactivation=function(e,t){this._deactivations.add(e,t)},n.prototype.isBound=function(e){var t=this._bindingDictionary.hasKey(e);return!t&&this.parent&&(t=this.parent.isBound(e)),t},n.prototype.isCurrentBound=function(e){return this._bindingDictionary.hasKey(e)},n.prototype.isBoundNamed=function(e,t){return this.isBoundTagged(e,Hp.NAMED_TAG,t)},n.prototype.isBoundTagged=function(e,t,r){var i=!1;if(this._bindingDictionary.hasKey(e)){var o=this._bindingDictionary.get(e),s=(0,eP.createMockRequest)(this,e,t,r);i=o.some(function(a){return a.constraint(s)})}return!i&&this.parent&&(i=this.parent.isBoundTagged(e,t,r)),i},n.prototype.snapshot=function(){this._snapshots.push(eX.ContainerSnapshot.of(this._bindingDictionary.clone(),this._middleware,this._activations.clone(),this._deactivations.clone(),this._moduleActivationStore.clone()))},n.prototype.restore=function(){var e=this._snapshots.pop();if(e===void 0)throw new Error(ra.NO_MORE_SNAPSHOTS_AVAILABLE);this._bindingDictionary=e.bindings,this._activations=e.activations,this._deactivations=e.deactivations,this._middleware=e.middleware,this._moduleActivationStore=e.moduleActivationStore},n.prototype.createChild=function(e){var t=new n(e||this.options);return t.parent=this,t},n.prototype.applyMiddleware=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=this._middleware?this._middleware:this._planAndResolve();this._middleware=e.reduce(function(i,o){return o(i)},r)},n.prototype.applyCustomMetadataReader=function(e){this._metadataReader=e},n.prototype.get=function(e){var t=this._getNotAllArgs(e,!1);return this._getButThrowIfAsync(t)},n.prototype.getAsync=function(e){return fs(this,void 0,void 0,function(){var t;return hs(this,function(r){return t=this._getNotAllArgs(e,!1),[2,this._get(t)]})})},n.prototype.getTagged=function(e,t,r){var i=this._getNotAllArgs(e,!1,t,r);return this._getButThrowIfAsync(i)},n.prototype.getTaggedAsync=function(e,t,r){return fs(this,void 0,void 0,function(){var i;return hs(this,function(o){return i=this._getNotAllArgs(e,!1,t,r),[2,this._get(i)]})})},n.prototype.getNamed=function(e,t){return this.getTagged(e,Hp.NAMED_TAG,t)},n.prototype.getNamedAsync=function(e,t){return this.getTaggedAsync(e,Hp.NAMED_TAG,t)},n.prototype.getAll=function(e){var t=this._getAllArgs(e);return this._getButThrowIfAsync(t)},n.prototype.getAllAsync=function(e){var t=this._getAllArgs(e);return this._getAll(t)},n.prototype.getAllTagged=function(e,t,r){var i=this._getNotAllArgs(e,!0,t,r);return this._getButThrowIfAsync(i)},n.prototype.getAllTaggedAsync=function(e,t,r){var i=this._getNotAllArgs(e,!0,t,r);return this._getAll(i)},n.prototype.getAllNamed=function(e,t){return this.getAllTagged(e,Hp.NAMED_TAG,t)},n.prototype.getAllNamedAsync=function(e,t){return this.getAllTaggedAsync(e,Hp.NAMED_TAG,t)},n.prototype.resolve=function(e){var t=this.isBound(e);t||this.bind(e).toSelf();var r=this.get(e);return t||this.unbind(e),r},n.prototype._preDestroy=function(e,t){if(Reflect.hasMetadata(Hp.PRE_DESTROY,e)){var r=Reflect.getMetadata(Hp.PRE_DESTROY,e);return t[r.value]()}},n.prototype._removeModuleHandlers=function(e){var t=this._moduleActivationStore.remove(e);this._activations.removeIntersection(t.onActivations),this._deactivations.removeIntersection(t.onDeactivations)},n.prototype._removeModuleBindings=function(e){return this._bindingDictionary.removeByCondition(function(t){return t.moduleId===e})},n.prototype._deactivate=function(e,t){var r=this,i=Object.getPrototypeOf(t).constructor;try{if(this._deactivations.hasKey(e.serviceIdentifier)){var o=this._deactivateContainer(t,this._deactivations.get(e.serviceIdentifier).values());if((0,Gp.isPromise)(o))return this._handleDeactivationError(o.then(function(){return r._propagateContainerDeactivationThenBindingAndPreDestroyAsync(e,t,i)}),i)}var s=this._propagateContainerDeactivationThenBindingAndPreDestroy(e,t,i);if((0,Gp.isPromise)(s))return this._handleDeactivationError(s,i)}catch(a){throw new Error(ra.ON_DEACTIVATION_ERROR(i.name,a.message))}},n.prototype._handleDeactivationError=function(e,t){return fs(this,void 0,void 0,function(){var r;return hs(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,e];case 1:return i.sent(),[3,3];case 2:throw r=i.sent(),new Error(ra.ON_DEACTIVATION_ERROR(t.name,r.message));case 3:return[2]}})})},n.prototype._deactivateContainer=function(e,t){for(var r=this,i=t.next();i.value;){var o=i.value(e);if((0,Gp.isPromise)(o))return o.then(function(){return r._deactivateContainerAsync(e,t)});i=t.next()}},n.prototype._deactivateContainerAsync=function(e,t){return fs(this,void 0,void 0,function(){var r;return hs(this,function(i){switch(i.label){case 0:r=t.next(),i.label=1;case 1:return r.value?[4,r.value(e)]:[3,3];case 2:return i.sent(),r=t.next(),[3,1];case 3:return[2]}})})},n.prototype._getContainerModuleHelpersFactory=function(){var e=this,t=function(u,d){u._binding.moduleId=d},r=function(u){return function(d){var f=e.bind(d);return t(f,u),f}},i=function(){return function(u){return e.unbind(u)}},o=function(){return function(u){return e.unbindAsync(u)}},s=function(){return function(u){return e.isBound(u)}},a=function(u){return function(d){var f=e.rebind(d);return t(f,u),f}},l=function(u){return function(d,f){e._moduleActivationStore.addActivation(u,d,f),e.onActivation(d,f)}},c=function(u){return function(d,f){e._moduleActivationStore.addDeactivation(u,d,f),e.onDeactivation(d,f)}};return function(u){return{bindFunction:r(u),isboundFunction:s(),onActivationFunction:l(u),onDeactivationFunction:c(u),rebindFunction:a(u),unbindFunction:i(),unbindAsyncFunction:o()}}},n.prototype._getAll=function(e){return Promise.all(this._get(e))},n.prototype._get=function(e){var t=tP(tP({},e),{contextInterceptor:function(i){return i},targetType:hh.TargetTypeEnum.Variable});if(this._middleware){var r=this._middleware(t);if(r==null)throw new Error(ra.INVALID_MIDDLEWARE_RETURN);return r}return this._planAndResolve()(t)},n.prototype._getButThrowIfAsync=function(e){var t=this._get(e);if((0,Gp.isPromiseOrContainsPromise)(t))throw new Error(ra.LAZY_IN_SYNC(e.serviceIdentifier));return t},n.prototype._getAllArgs=function(e){var t={avoidConstraints:!0,isMultiInject:!0,serviceIdentifier:e};return t},n.prototype._getNotAllArgs=function(e,t,r,i){var o={avoidConstraints:!1,isMultiInject:t,serviceIdentifier:e,key:r,value:i};return o},n.prototype._planAndResolve=function(){var e=this;return function(t){var r=(0,eP.plan)(e._metadataReader,e,t.isMultiInject,t.targetType,t.serviceIdentifier,t.key,t.value,t.avoidConstraints);r=t.contextInterceptor(r);var i=(0,QY.resolve)(r);return i}},n.prototype._deactivateIfSingleton=function(e){var t=this;if(e.activated)return(0,Gp.isPromise)(e.cache)?e.cache.then(function(r){return t._deactivate(e,r)}):this._deactivate(e,e.cache)},n.prototype._deactivateSingletons=function(e){for(var t=0,r=e;t<r.length;t++){var i=r[t],o=this._deactivateIfSingleton(i);if((0,Gp.isPromise)(o))throw new Error(ra.ASYNC_UNBIND_REQUIRED)}},n.prototype._deactivateSingletonsAsync=function(e){return fs(this,void 0,void 0,function(){var t=this;return hs(this,function(r){switch(r.label){case 0:return[4,Promise.all(e.map(function(i){return t._deactivateIfSingleton(i)}))];case 1:return r.sent(),[2]}})})},n.prototype._propagateContainerDeactivationThenBindingAndPreDestroy=function(e,t,r){return this.parent?this._deactivate.bind(this.parent)(e,t):this._bindingDeactivationAndPreDestroy(e,t,r)},n.prototype._propagateContainerDeactivationThenBindingAndPreDestroyAsync=function(e,t,r){return fs(this,void 0,void 0,function(){return hs(this,function(i){switch(i.label){case 0:return this.parent?[4,this._deactivate.bind(this.parent)(e,t)]:[3,2];case 1:return i.sent(),[3,4];case 2:return[4,this._bindingDeactivationAndPreDestroyAsync(e,t,r)];case 3:i.sent(),i.label=4;case 4:return[2]}})})},n.prototype._removeServiceFromDictionary=function(e){try{this._bindingDictionary.remove(e)}catch{throw new Error(ra.CANNOT_UNBIND+" "+(0,ZY.getServiceIdentifierAsString)(e))}},n.prototype._bindingDeactivationAndPreDestroy=function(e,t,r){var i=this;if(typeof e.onDeactivation=="function"){var o=e.onDeactivation(t);if((0,Gp.isPromise)(o))return o.then(function(){return i._preDestroy(r,t)})}return this._preDestroy(r,t)},n.prototype._bindingDeactivationAndPreDestroyAsync=function(e,t,r){return fs(this,void 0,void 0,function(){return hs(this,function(i){switch(i.label){case 0:return typeof e.onDeactivation!="function"?[3,2]:[4,e.onDeactivation(t)];case 1:i.sent(),i.label=2;case 2:return[4,this._preDestroy(r,t)];case 3:return i.sent(),[2]}})})},n}();Bn.Container=rX});var zW=O(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});gh.AsyncContainerModule=gh.ContainerModule=void 0;var GW=Ju(),nX=function(){function n(e){this.id=(0,GW.id)(),this.registry=e}return n}();gh.ContainerModule=nX;var iX=function(){function n(e){this.id=(0,GW.id)(),this.registry=e}return n}();gh.AsyncContainerModule=iX});var QW=O(rP=>{"use strict";Object.defineProperty(rP,"__esModule",{value:!0});rP.getFirstArrayDuplicate=void 0;function oX(n){for(var e=new Set,t=0,r=n;t<r.length;t++){var i=r[t];if(e.has(i))return i;e.add(i)}}rP.getFirstArrayDuplicate=oX});var Sc=O(Ci=>{"use strict";var sX=Ci&&Ci.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),aX=Ci&&Ci.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),XW=Ci&&Ci.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&sX(e,n,t);return aX(e,n),e};Object.defineProperty(Ci,"__esModule",{value:!0});Ci.createTaggedDecorator=Ci.tagProperty=Ci.tagParameter=Ci.decorate=void 0;var nP=XW(bi()),ZW=XW(Sn()),lX=QW();function cX(n){return n.prototype!==void 0}function uX(n){if(n!==void 0)throw new Error(nP.INVALID_DECORATOR_OPERATION)}function e2(n,e,t,r){uX(e),r2(ZW.TAGGED,n,t.toString(),r)}Ci.tagParameter=e2;function t2(n,e,t){if(cX(n))throw new Error(nP.INVALID_DECORATOR_OPERATION);r2(ZW.TAGGED_PROP,n.constructor,e,t)}Ci.tagProperty=t2;function dX(n){var e=[];if(Array.isArray(n)){e=n;var t=(0,lX.getFirstArrayDuplicate)(e.map(function(r){return r.key}));if(t!==void 0)throw new Error(nP.DUPLICATED_METADATA+" "+t.toString())}else e=[n];return e}function r2(n,e,t,r){var i=dX(r),o={};Reflect.hasOwnMetadata(n,e)&&(o=Reflect.getMetadata(n,e));var s=o[t];if(s===void 0)s=[];else for(var a=function(d){if(i.some(function(f){return f.key===d.key}))throw new Error(nP.DUPLICATED_METADATA+" "+d.key.toString())},l=0,c=s;l<c.length;l++){var u=c[l];a(u)}s.push.apply(s,i),o[t]=s,Reflect.defineMetadata(n,o,e)}function pX(n){return function(e,t,r){typeof r=="number"?e2(e,t,r,n):t2(e,t,n)}}Ci.createTaggedDecorator=pX;function YW(n,e){Reflect.decorate(n,e)}function mX(n,e){return function(t,r){e(t,r,n)}}function fX(n,e,t){typeof t=="number"?YW([mX(t,n)],e):typeof t=="string"?Reflect.decorate([n],e,t):YW([n],e)}Ci.decorate=fX});var i2=O(za=>{"use strict";var hX=za&&za.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),gX=za&&za.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),n2=za&&za.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&hX(e,n,t);return gX(e,n),e};Object.defineProperty(za,"__esModule",{value:!0});za.injectable=void 0;var vX=n2(bi()),sA=n2(Sn());function yX(){return function(n){if(Reflect.hasOwnMetadata(sA.PARAM_TYPES,n))throw new Error(vX.DUPLICATED_INJECTABLE_DECORATOR);var e=Reflect.getMetadata(sA.DESIGN_PARAM_TYPES,n)||[];return Reflect.defineMetadata(sA.PARAM_TYPES,e,n),n}}za.injectable=yX});var o2=O(iP=>{"use strict";Object.defineProperty(iP,"__esModule",{value:!0});iP.tagged=void 0;var bX=ta(),IX=Sc();function SX(n,e){return(0,IX.createTaggedDecorator)(new bX.Metadata(n,e))}iP.tagged=SX});var s2=O(Qa=>{"use strict";var CX=Qa&&Qa.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),wX=Qa&&Qa.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),EX=Qa&&Qa.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&CX(e,n,t);return wX(e,n),e};Object.defineProperty(Qa,"__esModule",{value:!0});Qa.named=void 0;var PX=EX(Sn()),kX=ta(),xX=Sc();function DX(n){return(0,xX.createTaggedDecorator)(new kX.Metadata(PX.NAMED_TAG,n))}Qa.named=DX});var aA=O(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});oP.injectBase=void 0;var _X=bi(),TX=ta(),RX=Sc();function AX(n){return function(e){return function(t,r,i){if(e===void 0){var o=typeof t=="function"?t.name:t.constructor.name;throw new Error((0,_X.UNDEFINED_INJECT_ANNOTATION)(o))}return(0,RX.createTaggedDecorator)(new TX.Metadata(n,e))(t,r,i)}}}oP.injectBase=AX});var a2=O(Ya=>{"use strict";var NX=Ya&&Ya.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),MX=Ya&&Ya.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),KX=Ya&&Ya.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&NX(e,n,t);return MX(e,n),e};Object.defineProperty(Ya,"__esModule",{value:!0});Ya.inject=void 0;var OX=KX(Sn()),FX=aA(),LX=(0,FX.injectBase)(OX.INJECT_TAG);Ya.inject=LX});var l2=O(Xa=>{"use strict";var UX=Xa&&Xa.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),WX=Xa&&Xa.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),VX=Xa&&Xa.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&UX(e,n,t);return WX(e,n),e};Object.defineProperty(Xa,"__esModule",{value:!0});Xa.optional=void 0;var jX=VX(Sn()),JX=ta(),BX=Sc();function $X(){return(0,BX.createTaggedDecorator)(new JX.Metadata(jX.OPTIONAL_TAG,!0))}Xa.optional=$X});var c2=O(Za=>{"use strict";var qX=Za&&Za.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),HX=Za&&Za.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),GX=Za&&Za.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&qX(e,n,t);return HX(e,n),e};Object.defineProperty(Za,"__esModule",{value:!0});Za.unmanaged=void 0;var zX=GX(Sn()),QX=ta(),YX=Sc();function XX(){return function(n,e,t){var r=new QX.Metadata(zX.UNMANAGED_TAG,!0);(0,YX.tagParameter)(n,e,t,r)}}Za.unmanaged=XX});var u2=O(el=>{"use strict";var ZX=el&&el.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),eZ=el&&el.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),tZ=el&&el.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&ZX(e,n,t);return eZ(e,n),e};Object.defineProperty(el,"__esModule",{value:!0});el.multiInject=void 0;var rZ=tZ(Sn()),nZ=aA(),iZ=(0,nZ.injectBase)(rZ.MULTI_INJECT_TAG);el.multiInject=iZ});var d2=O(tl=>{"use strict";var oZ=tl&&tl.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),sZ=tl&&tl.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),aZ=tl&&tl.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&oZ(e,n,t);return sZ(e,n),e};Object.defineProperty(tl,"__esModule",{value:!0});tl.targetName=void 0;var lZ=aZ(Sn()),cZ=ta(),uZ=Sc();function dZ(n){return function(e,t,r){var i=new cZ.Metadata(lZ.NAME_TAG,n);(0,uZ.tagParameter)(e,t,r,i)}}tl.targetName=dZ});var lA=O(sP=>{"use strict";Object.defineProperty(sP,"__esModule",{value:!0});sP.propertyEventDecorator=void 0;var pZ=ta();function mZ(n,e){return function(){return function(t,r){var i=new pZ.Metadata(n,r);if(Reflect.hasOwnMetadata(n,t.constructor))throw new Error(e);Reflect.defineMetadata(n,i,t.constructor)}}}sP.propertyEventDecorator=mZ});var m2=O(rl=>{"use strict";var fZ=rl&&rl.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),hZ=rl&&rl.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),p2=rl&&rl.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&fZ(e,n,t);return hZ(e,n),e};Object.defineProperty(rl,"__esModule",{value:!0});rl.postConstruct=void 0;var gZ=p2(bi()),vZ=p2(Sn()),yZ=lA(),bZ=(0,yZ.propertyEventDecorator)(vZ.POST_CONSTRUCT,gZ.MULTIPLE_POST_CONSTRUCT_METHODS);rl.postConstruct=bZ});var h2=O(nl=>{"use strict";var IZ=nl&&nl.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),SZ=nl&&nl.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),f2=nl&&nl.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&IZ(e,n,t);return SZ(e,n),e};Object.defineProperty(nl,"__esModule",{value:!0});nl.preDestroy=void 0;var CZ=f2(bi()),wZ=f2(Sn()),EZ=lA(),PZ=(0,EZ.propertyEventDecorator)(wZ.PRE_DESTROY,CZ.MULTIPLE_PRE_DESTROY_METHODS);nl.preDestroy=PZ});var g2=O(aP=>{"use strict";Object.defineProperty(aP,"__esModule",{value:!0});aP.interfaces=void 0;var cA;cA||(cA={});aP.interfaces=cA});var N=O(Me=>{"use strict";var kZ=Me&&Me.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t),Object.defineProperty(n,r,{enumerable:!0,get:function(){return e[t]}})}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),xZ=Me&&Me.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),DZ=Me&&Me.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&kZ(e,n,t);return xZ(e,n),e};Object.defineProperty(Me,"__esModule",{value:!0});Me.multiBindToService=Me.getServiceIdentifierAsString=Me.typeConstraint=Me.namedConstraint=Me.taggedConstraint=Me.traverseAncerstors=Me.decorate=Me.interfaces=Me.id=Me.MetadataReader=Me.preDestroy=Me.postConstruct=Me.targetName=Me.multiInject=Me.unmanaged=Me.optional=Me.LazyServiceIdentifer=Me.inject=Me.named=Me.tagged=Me.injectable=Me.createTaggedDecorator=Me.ContainerModule=Me.AsyncContainerModule=Me.TargetTypeEnum=Me.BindingTypeEnum=Me.BindingScopeEnum=Me.Container=Me.METADATA_KEY=void 0;var _Z=DZ(Sn());Me.METADATA_KEY=_Z;var TZ=oA();Object.defineProperty(Me,"Container",{enumerable:!0,get:function(){return TZ.Container}});var uA=ea();Object.defineProperty(Me,"BindingScopeEnum",{enumerable:!0,get:function(){return uA.BindingScopeEnum}});Object.defineProperty(Me,"BindingTypeEnum",{enumerable:!0,get:function(){return uA.BindingTypeEnum}});Object.defineProperty(Me,"TargetTypeEnum",{enumerable:!0,get:function(){return uA.TargetTypeEnum}});var v2=zW();Object.defineProperty(Me,"AsyncContainerModule",{enumerable:!0,get:function(){return v2.AsyncContainerModule}});Object.defineProperty(Me,"ContainerModule",{enumerable:!0,get:function(){return v2.ContainerModule}});var RZ=Sc();Object.defineProperty(Me,"createTaggedDecorator",{enumerable:!0,get:function(){return RZ.createTaggedDecorator}});var AZ=i2();Object.defineProperty(Me,"injectable",{enumerable:!0,get:function(){return AZ.injectable}});var NZ=o2();Object.defineProperty(Me,"tagged",{enumerable:!0,get:function(){return NZ.tagged}});var MZ=s2();Object.defineProperty(Me,"named",{enumerable:!0,get:function(){return MZ.named}});var KZ=a2();Object.defineProperty(Me,"inject",{enumerable:!0,get:function(){return KZ.inject}});var OZ=OR();Object.defineProperty(Me,"LazyServiceIdentifer",{enumerable:!0,get:function(){return OZ.LazyServiceIdentifer}});var FZ=l2();Object.defineProperty(Me,"optional",{enumerable:!0,get:function(){return FZ.optional}});var LZ=c2();Object.defineProperty(Me,"unmanaged",{enumerable:!0,get:function(){return LZ.unmanaged}});var UZ=u2();Object.defineProperty(Me,"multiInject",{enumerable:!0,get:function(){return UZ.multiInject}});var WZ=d2();Object.defineProperty(Me,"targetName",{enumerable:!0,get:function(){return WZ.targetName}});var VZ=m2();Object.defineProperty(Me,"postConstruct",{enumerable:!0,get:function(){return VZ.postConstruct}});var jZ=h2();Object.defineProperty(Me,"preDestroy",{enumerable:!0,get:function(){return jZ.preDestroy}});var JZ=MR();Object.defineProperty(Me,"MetadataReader",{enumerable:!0,get:function(){return JZ.MetadataReader}});var BZ=Ju();Object.defineProperty(Me,"id",{enumerable:!0,get:function(){return BZ.id}});var $Z=g2();Object.defineProperty(Me,"interfaces",{enumerable:!0,get:function(){return $Z.interfaces}});var qZ=Sc();Object.defineProperty(Me,"decorate",{enumerable:!0,get:function(){return qZ.decorate}});var lP=eA();Object.defineProperty(Me,"traverseAncerstors",{enumerable:!0,get:function(){return lP.traverseAncerstors}});Object.defineProperty(Me,"taggedConstraint",{enumerable:!0,get:function(){return lP.taggedConstraint}});Object.defineProperty(Me,"namedConstraint",{enumerable:!0,get:function(){return lP.namedConstraint}});Object.defineProperty(Me,"typeConstraint",{enumerable:!0,get:function(){return lP.typeConstraint}});var HZ=uh();Object.defineProperty(Me,"getServiceIdentifierAsString",{enumerable:!0,get:function(){return HZ.getServiceIdentifierAsString}});var GZ=HR();Object.defineProperty(Me,"multiBindToService",{enumerable:!0,get:function(){return GZ.multiBindToService}})});var I2=O($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.PythonExtension=$u.PVSC_EXTENSION_ID=void 0;var QZ=require("vscode");$u.PVSC_EXTENSION_ID="ms-python.python";var YZ;(function(n){async function e(){let t=QZ.extensions.getExtension($u.PVSC_EXTENSION_ID);if(t===void 0)throw new Error("Python extension is not installed or is disabled");return t.isActive||await t.activate(),t.exports}n.api=e})(YZ=$u.PythonExtension||($u.PythonExtension={}))});var vA=O((Nve,C2)=>{C2.exports=require("util").format});var L2=O(KS=>{KS.get=function(n){var e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;var t={},r=Error.prepareStackTrace;Error.prepareStackTrace=function(o,s){return s},Error.captureStackTrace(t,n||KS.get);var i=t.stack;return Error.prepareStackTrace=r,Error.stackTraceLimit=e,i};KS.parse=function(n){if(!n.stack)return[];var e=this,t=n.stack.split(`
`).slice(1);return t.map(function(r){if(r.match(/^\s*[-]{4,}$/))return e._createParsedCallSite({fileName:r,lineNumber:null,functionName:null,typeName:null,methodName:null,columnNumber:null,native:null});var i=r.match(/at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/);if(i){var o=null,s=null,a=null,l=null,c=null,u=i[5]==="native";if(i[1]){a=i[1];var d=a.lastIndexOf(".");if(a[d-1]=="."&&d--,d>0){o=a.substr(0,d),s=a.substr(d+1);var f=o.indexOf(".Module");f>0&&(a=a.substr(f+1),o=o.substr(0,f))}l=null}s&&(l=o,c=s),s==="<anonymous>"&&(c=null,a=null);var g={fileName:i[2]||null,lineNumber:parseInt(i[3],10)||null,functionName:a,typeName:l,methodName:c,columnNumber:parseInt(i[4],10)||null,native:u};return e._createParsedCallSite(g)}}).filter(function(r){return!!r})};function MS(n){for(var e in n)this[e]=n[e]}var uee=["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"],dee=["topLevel","eval","native","constructor"];uee.forEach(function(n){MS.prototype[n]=null,MS.prototype["get"+n[0].toUpperCase()+n.substr(1)]=function(){return this[n]}});dee.forEach(function(n){MS.prototype[n]=!1,MS.prototype["is"+n[0].toUpperCase()+n.substr(1)]=function(){return this[n]}});KS._createParsedCallSite=function(n){return new MS(n)}});var Fh=O((Ct,pV)=>{Ct=pV.exports=Vt;var gr;typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?gr=function(){var n=Array.prototype.slice.call(arguments,0);n.unshift("SEMVER"),console.log.apply(console,n)}:gr=function(){};Ct.SEMVER_SPEC_VERSION="2.0.0";var LS=256,kP=Number.MAX_SAFE_INTEGER||9007199254740991,wA=16,Cne=LS-6,US=Ct.re=[],Ar=Ct.safeRe=[],ce=Ct.src=[],Lt=0,DA="[a-zA-Z0-9-]",EA=[["\\s",1],["\\d",LS],[DA,Cne]];function AP(n){for(var e=0;e<EA.length;e++){var t=EA[e][0],r=EA[e][1];n=n.split(t+"*").join(t+"{0,"+r+"}").split(t+"+").join(t+"{1,"+r+"}")}return n}var Th=Lt++;ce[Th]="0|[1-9]\\d*";var Rh=Lt++;ce[Rh]="\\d+";var _A=Lt++;ce[_A]="\\d*[a-zA-Z-]"+DA+"*";var X2=Lt++;ce[X2]="("+ce[Th]+")\\.("+ce[Th]+")\\.("+ce[Th]+")";var Z2=Lt++;ce[Z2]="("+ce[Rh]+")\\.("+ce[Rh]+")\\.("+ce[Rh]+")";var PA=Lt++;ce[PA]="(?:"+ce[Th]+"|"+ce[_A]+")";var kA=Lt++;ce[kA]="(?:"+ce[Rh]+"|"+ce[_A]+")";var TA=Lt++;ce[TA]="(?:-("+ce[PA]+"(?:\\."+ce[PA]+")*))";var RA=Lt++;ce[RA]="(?:-?("+ce[kA]+"(?:\\."+ce[kA]+")*))";var xA=Lt++;ce[xA]=DA+"+";var VS=Lt++;ce[VS]="(?:\\+("+ce[xA]+"(?:\\."+ce[xA]+")*))";var AA=Lt++,eV="v?"+ce[X2]+ce[TA]+"?"+ce[VS]+"?";ce[AA]="^"+eV+"$";var NA="[v=\\s]*"+ce[Z2]+ce[RA]+"?"+ce[VS]+"?",MA=Lt++;ce[MA]="^"+NA+"$";var Oh=Lt++;ce[Oh]="((?:<|>)?=?)";var xP=Lt++;ce[xP]=ce[Rh]+"|x|X|\\*";var DP=Lt++;ce[DP]=ce[Th]+"|x|X|\\*";var Xp=Lt++;ce[Xp]="[v=\\s]*("+ce[DP]+")(?:\\.("+ce[DP]+")(?:\\.("+ce[DP]+")(?:"+ce[TA]+")?"+ce[VS]+"?)?)?";var Nh=Lt++;ce[Nh]="[v=\\s]*("+ce[xP]+")(?:\\.("+ce[xP]+")(?:\\.("+ce[xP]+")(?:"+ce[RA]+")?"+ce[VS]+"?)?)?";var tV=Lt++;ce[tV]="^"+ce[Oh]+"\\s*"+ce[Xp]+"$";var rV=Lt++;ce[rV]="^"+ce[Oh]+"\\s*"+ce[Nh]+"$";var nV=Lt++;ce[nV]="(?:^|[^\\d])(\\d{1,"+wA+"})(?:\\.(\\d{1,"+wA+"}))?(?:\\.(\\d{1,"+wA+"}))?(?:$|[^\\d])";var NP=Lt++;ce[NP]="(?:~>?)";var Mh=Lt++;ce[Mh]="(\\s*)"+ce[NP]+"\\s+";US[Mh]=new RegExp(ce[Mh],"g");Ar[Mh]=new RegExp(AP(ce[Mh]),"g");var wne="$1~",iV=Lt++;ce[iV]="^"+ce[NP]+ce[Xp]+"$";var oV=Lt++;ce[oV]="^"+ce[NP]+ce[Nh]+"$";var MP=Lt++;ce[MP]="(?:\\^)";var Kh=Lt++;ce[Kh]="(\\s*)"+ce[MP]+"\\s+";US[Kh]=new RegExp(ce[Kh],"g");Ar[Kh]=new RegExp(AP(ce[Kh]),"g");var Ene="$1^",sV=Lt++;ce[sV]="^"+ce[MP]+ce[Xp]+"$";var aV=Lt++;ce[aV]="^"+ce[MP]+ce[Nh]+"$";var KA=Lt++;ce[KA]="^"+ce[Oh]+"\\s*("+NA+")$|^$";var OA=Lt++;ce[OA]="^"+ce[Oh]+"\\s*("+eV+")$|^$";var Zp=Lt++;ce[Zp]="(\\s*)"+ce[Oh]+"\\s*("+NA+"|"+ce[Xp]+")";US[Zp]=new RegExp(ce[Zp],"g");Ar[Zp]=new RegExp(AP(ce[Zp]),"g");var Pne="$1$2$3",lV=Lt++;ce[lV]="^\\s*("+ce[Xp]+")\\s+-\\s+("+ce[Xp]+")\\s*$";var cV=Lt++;ce[cV]="^\\s*("+ce[Nh]+")\\s+-\\s+("+ce[Nh]+")\\s*$";var uV=Lt++;ce[uV]="(<|>)?=?\\s*\\*";for(al=0;al<Lt;al++)gr(al,ce[al]),US[al]||(US[al]=new RegExp(ce[al]),Ar[al]=new RegExp(AP(ce[al])));var al;Ct.parse=em;function em(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof Vt)return n;if(typeof n!="string"||n.length>LS)return null;var t=e.loose?Ar[MA]:Ar[AA];if(!t.test(n))return null;try{return new Vt(n,e)}catch{return null}}Ct.valid=kne;function kne(n,e){var t=em(n,e);return t?t.version:null}Ct.clean=xne;function xne(n,e){var t=em(n.trim().replace(/^[=v]+/,""),e);return t?t.version:null}Ct.SemVer=Vt;function Vt(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof Vt){if(n.loose===e.loose)return n;n=n.version}else if(typeof n!="string")throw new TypeError("Invalid Version: "+n);if(n.length>LS)throw new TypeError("version is longer than "+LS+" characters");if(!(this instanceof Vt))return new Vt(n,e);gr("SemVer",n,e),this.options=e,this.loose=!!e.loose;var t=n.trim().match(e.loose?Ar[MA]:Ar[AA]);if(!t)throw new TypeError("Invalid Version: "+n);if(this.raw=n,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>kP||this.major<0)throw new TypeError("Invalid major version");if(this.minor>kP||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>kP||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(function(r){if(/^[0-9]+$/.test(r)){var i=+r;if(i>=0&&i<kP)return i}return r}):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}Vt.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version};Vt.prototype.toString=function(){return this.version};Vt.prototype.compare=function(n){return gr("SemVer.compare",this.version,this.options,n),n instanceof Vt||(n=new Vt(n,this.options)),this.compareMain(n)||this.comparePre(n)};Vt.prototype.compareMain=function(n){return n instanceof Vt||(n=new Vt(n,this.options)),Ah(this.major,n.major)||Ah(this.minor,n.minor)||Ah(this.patch,n.patch)};Vt.prototype.comparePre=function(n){if(n instanceof Vt||(n=new Vt(n,this.options)),this.prerelease.length&&!n.prerelease.length)return-1;if(!this.prerelease.length&&n.prerelease.length)return 1;if(!this.prerelease.length&&!n.prerelease.length)return 0;var e=0;do{var t=this.prerelease[e],r=n.prerelease[e];if(gr("prerelease compare",e,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return Ah(t,r)}while(++e)};Vt.prototype.inc=function(n,e){switch(n){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e),this.inc("pre",e);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e),this.inc("pre",e);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 t=this.prerelease.length;--t>=0;)typeof this.prerelease[t]=="number"&&(this.prerelease[t]++,t=-2);t===-1&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: "+n)}return this.format(),this.raw=this.version,this};Ct.inc=Dne;function Dne(n,e,t,r){typeof t=="string"&&(r=t,t=void 0);try{return new Vt(n,t).inc(e,r).version}catch{return null}}Ct.diff=_ne;function _ne(n,e){if(FA(n,e))return null;var t=em(n),r=em(e),i="";if(t.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var s in t)if((s==="major"||s==="minor"||s==="patch")&&t[s]!==r[s])return i+s;return o}Ct.compareIdentifiers=Ah;var Y2=/^[0-9]+$/;function Ah(n,e){var t=Y2.test(n),r=Y2.test(e);return t&&r&&(n=+n,e=+e),n===e?0:t&&!r?-1:r&&!t?1:n<e?-1:1}Ct.rcompareIdentifiers=Tne;function Tne(n,e){return Ah(e,n)}Ct.major=Rne;function Rne(n,e){return new Vt(n,e).major}Ct.minor=Ane;function Ane(n,e){return new Vt(n,e).minor}Ct.patch=Nne;function Nne(n,e){return new Vt(n,e).patch}Ct.compare=Pc;function Pc(n,e,t){return new Vt(n,t).compare(new Vt(e,t))}Ct.compareLoose=Mne;function Mne(n,e){return Pc(n,e,!0)}Ct.rcompare=Kne;function Kne(n,e,t){return Pc(e,n,t)}Ct.sort=One;function One(n,e){return n.sort(function(t,r){return Ct.compare(t,r,e)})}Ct.rsort=Fne;function Fne(n,e){return n.sort(function(t,r){return Ct.rcompare(t,r,e)})}Ct.gt=WS;function WS(n,e,t){return Pc(n,e,t)>0}Ct.lt=_P;function _P(n,e,t){return Pc(n,e,t)<0}Ct.eq=FA;function FA(n,e,t){return Pc(n,e,t)===0}Ct.neq=dV;function dV(n,e,t){return Pc(n,e,t)!==0}Ct.gte=LA;function LA(n,e,t){return Pc(n,e,t)>=0}Ct.lte=UA;function UA(n,e,t){return Pc(n,e,t)<=0}Ct.cmp=TP;function TP(n,e,t,r){switch(e){case"===":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n===t;case"!==":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n!==t;case"":case"=":case"==":return FA(n,t,r);case"!=":return dV(n,t,r);case">":return WS(n,t,r);case">=":return LA(n,t,r);case"<":return _P(n,t,r);case"<=":return UA(n,t,r);default:throw new TypeError("Invalid operator: "+e)}}Ct.Comparator=ys;function ys(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof ys){if(n.loose===!!e.loose)return n;n=n.value}if(!(this instanceof ys))return new ys(n,e);n=n.trim().split(/\s+/).join(" "),gr("comparator",n,e),this.options=e,this.loose=!!e.loose,this.parse(n),this.semver===jS?this.value="":this.value=this.operator+this.semver.version,gr("comp",this)}var jS={};ys.prototype.parse=function(n){var e=this.options.loose?Ar[KA]:Ar[OA],t=n.match(e);if(!t)throw new TypeError("Invalid comparator: "+n);this.operator=t[1],this.operator==="="&&(this.operator=""),t[2]?this.semver=new Vt(t[2],this.options.loose):this.semver=jS};ys.prototype.toString=function(){return this.value};ys.prototype.test=function(n){return gr("Comparator.test",n,this.options.loose),this.semver===jS?!0:(typeof n=="string"&&(n=new Vt(n,this.options)),TP(n,this.operator,this.semver,this.options))};ys.prototype.intersects=function(n,e){if(!(n instanceof ys))throw new TypeError("a Comparator is required");(!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1});var t;if(this.operator==="")return t=new nn(n.value,e),RP(this.value,t,e);if(n.operator==="")return t=new nn(this.value,e),RP(n.semver,t,e);var r=(this.operator===">="||this.operator===">")&&(n.operator===">="||n.operator===">"),i=(this.operator==="<="||this.operator==="<")&&(n.operator==="<="||n.operator==="<"),o=this.semver.version===n.semver.version,s=(this.operator===">="||this.operator==="<=")&&(n.operator===">="||n.operator==="<="),a=TP(this.semver,"<",n.semver,e)&&(this.operator===">="||this.operator===">")&&(n.operator==="<="||n.operator==="<"),l=TP(this.semver,">",n.semver,e)&&(this.operator==="<="||this.operator==="<")&&(n.operator===">="||n.operator===">");return r||i||o&&s||a||l};Ct.Range=nn;function nn(n,e){if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),n instanceof nn)return n.loose===!!e.loose&&n.includePrerelease===!!e.includePrerelease?n:new nn(n.raw,e);if(n instanceof ys)return new nn(n.value,e);if(!(this instanceof nn))return new nn(n,e);if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=n.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(function(t){return this.parseRange(t.trim())},this).filter(function(t){return t.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}nn.prototype.format=function(){return this.range=this.set.map(function(n){return n.join(" ").trim()}).join("||").trim(),this.range};nn.prototype.toString=function(){return this.range};nn.prototype.parseRange=function(n){var e=this.options.loose,t=e?Ar[cV]:Ar[lV];n=n.replace(t,Hne),gr("hyphen replace",n),n=n.replace(Ar[Zp],Pne),gr("comparator trim",n,Ar[Zp]),n=n.replace(Ar[Mh],wne),n=n.replace(Ar[Kh],Ene);var r=e?Ar[KA]:Ar[OA],i=n.split(" ").map(function(o){return Une(o,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(i=i.filter(function(o){return!!o.match(r)})),i=i.map(function(o){return new ys(o,this.options)},this),i};nn.prototype.intersects=function(n,e){if(!(n instanceof nn))throw new TypeError("a Range is required");return this.set.some(function(t){return t.every(function(r){return n.set.some(function(i){return i.every(function(o){return r.intersects(o,e)})})})})};Ct.toComparators=Lne;function Lne(n,e){return new nn(n,e).set.map(function(t){return t.map(function(r){return r.value}).join(" ").trim().split(" ")})}function Une(n,e){return gr("comp",n,e),n=jne(n,e),gr("caret",n),n=Wne(n,e),gr("tildes",n),n=Bne(n,e),gr("xrange",n),n=qne(n,e),gr("stars",n),n}function Bi(n){return!n||n.toLowerCase()==="x"||n==="*"}function Wne(n,e){return n.trim().split(/\s+/).map(function(t){return Vne(t,e)}).join(" ")}function Vne(n,e){var t=e.loose?Ar[oV]:Ar[iV];return n.replace(t,function(r,i,o,s,a){gr("tilde",n,r,i,o,s,a);var l;return Bi(i)?l="":Bi(o)?l=">="+i+".0.0 <"+(+i+1)+".0.0":Bi(s)?l=">="+i+"."+o+".0 <"+i+"."+(+o+1)+".0":a?(gr("replaceTilde pr",a),l=">="+i+"."+o+"."+s+"-"+a+" <"+i+"."+(+o+1)+".0"):l=">="+i+"."+o+"."+s+" <"+i+"."+(+o+1)+".0",gr("tilde return",l),l})}function jne(n,e){return n.trim().split(/\s+/).map(function(t){return Jne(t,e)}).join(" ")}function Jne(n,e){gr("caret",n,e);var t=e.loose?Ar[aV]:Ar[sV];return n.replace(t,function(r,i,o,s,a){gr("caret",n,r,i,o,s,a);var l;return Bi(i)?l="":Bi(o)?l=">="+i+".0.0 <"+(+i+1)+".0.0":Bi(s)?i==="0"?l=">="+i+"."+o+".0 <"+i+"."+(+o+1)+".0":l=">="+i+"."+o+".0 <"+(+i+1)+".0.0":a?(gr("replaceCaret pr",a),i==="0"?o==="0"?l=">="+i+"."+o+"."+s+"-"+a+" <"+i+"."+o+"."+(+s+1):l=">="+i+"."+o+"."+s+"-"+a+" <"+i+"."+(+o+1)+".0":l=">="+i+"."+o+"."+s+"-"+a+" <"+(+i+1)+".0.0"):(gr("no pr"),i==="0"?o==="0"?l=">="+i+"."+o+"."+s+" <"+i+"."+o+"."+(+s+1):l=">="+i+"."+o+"."+s+" <"+i+"."+(+o+1)+".0":l=">="+i+"."+o+"."+s+" <"+(+i+1)+".0.0"),gr("caret return",l),l})}function Bne(n,e){return gr("replaceXRanges",n,e),n.split(/\s+/).map(function(t){return $ne(t,e)}).join(" ")}function $ne(n,e){n=n.trim();var t=e.loose?Ar[rV]:Ar[tV];return n.replace(t,function(r,i,o,s,a,l){gr("xRange",n,r,i,o,s,a,l);var c=Bi(o),u=c||Bi(s),d=u||Bi(a),f=d;return i==="="&&f&&(i=""),c?i===">"||i==="<"?r="<0.0.0":r="*":i&&f?(u&&(s=0),a=0,i===">"?(i=">=",u?(o=+o+1,s=0,a=0):(s=+s+1,a=0)):i==="<="&&(i="<",u?o=+o+1:s=+s+1),r=i+o+"."+s+"."+a):u?r=">="+o+".0.0 <"+(+o+1)+".0.0":d&&(r=">="+o+"."+s+".0 <"+o+"."+(+s+1)+".0"),gr("xRange return",r),r})}function qne(n,e){return gr("replaceStars",n,e),n.trim().replace(Ar[uV],"")}function Hne(n,e,t,r,i,o,s,a,l,c,u,d,f){return Bi(t)?e="":Bi(r)?e=">="+t+".0.0":Bi(i)?e=">="+t+"."+r+".0":e=">="+e,Bi(l)?a="":Bi(c)?a="<"+(+l+1)+".0.0":Bi(u)?a="<"+l+"."+(+c+1)+".0":d?a="<="+l+"."+c+"."+u+"-"+d:a="<="+a,(e+" "+a).trim()}nn.prototype.test=function(n){if(!n)return!1;typeof n=="string"&&(n=new Vt(n,this.options));for(var e=0;e<this.set.length;e++)if(Gne(this.set[e],n,this.options))return!0;return!1};function Gne(n,e,t){for(var r=0;r<n.length;r++)if(!n[r].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(r=0;r<n.length;r++)if(gr(n[r].semver),n[r].semver!==jS&&n[r].semver.prerelease.length>0){var i=n[r].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}Ct.satisfies=RP;function RP(n,e,t){try{e=new nn(e,t)}catch{return!1}return e.test(n)}Ct.maxSatisfying=zne;function zne(n,e,t){var r=null,i=null;try{var o=new nn(e,t)}catch{return null}return n.forEach(function(s){o.test(s)&&(!r||i.compare(s)===-1)&&(r=s,i=new Vt(r,t))}),r}Ct.minSatisfying=Qne;function Qne(n,e,t){var r=null,i=null;try{var o=new nn(e,t)}catch{return null}return n.forEach(function(s){o.test(s)&&(!r||i.compare(s)===1)&&(r=s,i=new Vt(r,t))}),r}Ct.minVersion=Yne;function Yne(n,e){n=new nn(n,e);var t=new Vt("0.0.0");if(n.test(t)||(t=new Vt("0.0.0-0"),n.test(t)))return t;t=null;for(var r=0;r<n.set.length;++r){var i=n.set[r];i.forEach(function(o){var s=new Vt(o.semver.version);switch(o.operator){case">":s.prerelease.length===0?s.patch++:s.prerelease.push(0),s.raw=s.format();case"":case">=":(!t||WS(t,s))&&(t=s);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+o.operator)}})}return t&&n.test(t)?t:null}Ct.validRange=Xne;function Xne(n,e){try{return new nn(n,e).range||"*"}catch{return null}}Ct.ltr=Zne;function Zne(n,e,t){return WA(n,e,"<",t)}Ct.gtr=eie;function eie(n,e,t){return WA(n,e,">",t)}Ct.outside=WA;function WA(n,e,t,r){n=new Vt(n,r),e=new nn(e,r);var i,o,s,a,l;switch(t){case">":i=WS,o=UA,s=_P,a=">",l=">=";break;case"<":i=_P,o=LA,s=WS,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(RP(n,e,r))return!1;for(var c=0;c<e.set.length;++c){var u=e.set[c],d=null,f=null;if(u.forEach(function(g){g.semver===jS&&(g=new ys(">=0.0.0")),d=d||g,f=f||g,i(g.semver,d.semver,r)?d=g:s(g.semver,f.semver,r)&&(f=g)}),d.operator===a||d.operator===l||(!f.operator||f.operator===a)&&o(n,f.semver))return!1;if(f.operator===l&&s(n,f.semver))return!1}return!0}Ct.prerelease=tie;function tie(n,e){var t=em(n,e);return t&&t.prerelease.length?t.prerelease:null}Ct.intersects=rie;function rie(n,e,t){return n=new nn(n,t),e=new nn(e,t),n.intersects(e)}Ct.coerce=nie;function nie(n){if(n instanceof Vt)return n;if(typeof n!="string")return null;var e=n.match(Ar[nV]);return e==null?null:em(e[1]+"."+(e[2]||"0")+"."+(e[3]||"0"))}});var NV=O((jIe,AV)=>{"use strict";AV.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var OV=O(qA=>{"use strict";var yie=Object.prototype.hasOwnProperty,bie;function MV(n){try{return decodeURIComponent(n.replace(/\+/g," "))}catch{return null}}function KV(n){try{return encodeURIComponent(n)}catch{return null}}function Iie(n){for(var e=/([^=?#&]+)=?([^&]*)/g,t={},r;r=e.exec(n);){var i=MV(r[1]),o=MV(r[2]);i===null||o===null||i in t||(t[i]=o)}return t}function Sie(n,e){e=e||"";var t=[],r,i;typeof e!="string"&&(e="?");for(i in n)if(yie.call(n,i)){if(r=n[i],!r&&(r===null||r===bie||isNaN(r))&&(r=""),i=KV(i),r=KV(r),i===null||r===null)continue;t.push(i+"="+r)}return t.length?e+t.join("&"):""}qA.stringify=Sie;qA.parse=Iie});var BV=O((BIe,JV)=>{"use strict";var LV=NV(),QP=OV(),Cie=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,UV=/[\n\r\t]/g,wie=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,WV=/:\d+$/,Eie=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,Pie=/^[a-zA-Z]:/;function GA(n){return(n||"").toString().replace(Cie,"")}var HA=[["#","hash"],["?","query"],function(e,t){return ul(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],FV={hash:1,query:1};function VV(n){var e;typeof window<"u"?e=window:typeof global<"u"?e=global:typeof self<"u"?e=self:e={};var t=e.location||{};n=n||t;var r={},i=typeof n,o;if(n.protocol==="blob:")r=new dl(unescape(n.pathname),{});else if(i==="string"){r=new dl(n,{});for(o in FV)delete r[o]}else if(i==="object"){for(o in n)o in FV||(r[o]=n[o]);r.slashes===void 0&&(r.slashes=wie.test(n.href))}return r}function ul(n){return n==="file:"||n==="ftp:"||n==="http:"||n==="https:"||n==="ws:"||n==="wss:"}function jV(n,e){n=GA(n),n=n.replace(UV,""),e=e||{};var t=Eie.exec(n),r=t[1]?t[1].toLowerCase():"",i=!!t[2],o=!!t[3],s=0,a;return i?o?(a=t[2]+t[3]+t[4],s=t[2].length+t[3].length):(a=t[2]+t[4],s=t[2].length):o?(a=t[3]+t[4],s=t[3].length):a=t[4],r==="file:"?s>=2&&(a=a.slice(2)):ul(r)?a=t[4]:r?i&&(a=a.slice(2)):s>=2&&ul(e.protocol)&&(a=t[4]),{protocol:r,slashes:i||ul(r),slashesCount:s,rest:a}}function kie(n,e){if(n==="")return e;for(var t=(e||"/").split("/").slice(0,-1).concat(n.split("/")),r=t.length,i=t[r-1],o=!1,s=0;r--;)t[r]==="."?t.splice(r,1):t[r]===".."?(t.splice(r,1),s++):s&&(r===0&&(o=!0),t.splice(r,1),s--);return o&&t.unshift(""),(i==="."||i==="..")&&t.push(""),t.join("/")}function dl(n,e,t){if(n=GA(n),n=n.replace(UV,""),!(this instanceof dl))return new dl(n,e,t);var r,i,o,s,a,l,c=HA.slice(),u=typeof e,d=this,f=0;for(u!=="object"&&u!=="string"&&(t=e,e=null),t&&typeof t!="function"&&(t=QP.parse),e=VV(e),i=jV(n||"",e),r=!i.protocol&&!i.slashes,d.slashes=i.slashes||r&&e.slashes,d.protocol=i.protocol||e.protocol||"",n=i.rest,(i.protocol==="file:"&&(i.slashesCount!==2||Pie.test(n))||!i.slashes&&(i.protocol||i.slashesCount<2||!ul(d.protocol)))&&(c[3]=[/(.*)/,"pathname"]);f<c.length;f++){if(s=c[f],typeof s=="function"){n=s(n,d);continue}o=s[0],l=s[1],o!==o?d[l]=n:typeof o=="string"?(a=o==="@"?n.lastIndexOf(o):n.indexOf(o),~a&&(typeof s[2]=="number"?(d[l]=n.slice(0,a),n=n.slice(a+s[2])):(d[l]=n.slice(a),n=n.slice(0,a)))):(a=o.exec(n))&&(d[l]=a[1],n=n.slice(0,a.index)),d[l]=d[l]||r&&s[3]&&e[l]||"",s[4]&&(d[l]=d[l].toLowerCase())}t&&(d.query=t(d.query)),r&&e.slashes&&d.pathname.charAt(0)!=="/"&&(d.pathname!==""||e.pathname!=="")&&(d.pathname=kie(d.pathname,e.pathname)),d.pathname.charAt(0)!=="/"&&ul(d.protocol)&&(d.pathname="/"+d.pathname),LV(d.port,d.protocol)||(d.host=d.hostname,d.port=""),d.username=d.password="",d.auth&&(a=d.auth.indexOf(":"),~a?(d.username=d.auth.slice(0,a),d.username=encodeURIComponent(decodeURIComponent(d.username)),d.password=d.auth.slice(a+1),d.password=encodeURIComponent(decodeURIComponent(d.password))):d.username=encodeURIComponent(decodeURIComponent(d.auth)),d.auth=d.password?d.username+":"+d.password:d.username),d.origin=d.protocol!=="file:"&&ul(d.protocol)&&d.host?d.protocol+"//"+d.host:"null",d.href=d.toString()}function xie(n,e,t){var r=this;switch(n){case"query":typeof e=="string"&&e.length&&(e=(t||QP.parse)(e)),r[n]=e;break;case"port":r[n]=e,LV(e,r.protocol)?e&&(r.host=r.hostname+":"+e):(r.host=r.hostname,r[n]="");break;case"hostname":r[n]=e,r.port&&(e+=":"+r.port),r.host=e;break;case"host":r[n]=e,WV.test(e)?(e=e.split(":"),r.port=e.pop(),r.hostname=e.join(":")):(r.hostname=e,r.port="");break;case"protocol":r.protocol=e.toLowerCase(),r.slashes=!t;break;case"pathname":case"hash":if(e){var i=n==="pathname"?"/":"#";r[n]=e.charAt(0)!==i?i+e:e}else r[n]=e;break;case"username":case"password":r[n]=encodeURIComponent(e);break;case"auth":var o=e.indexOf(":");~o?(r.username=e.slice(0,o),r.username=encodeURIComponent(decodeURIComponent(r.username)),r.password=e.slice(o+1),r.password=encodeURIComponent(decodeURIComponent(r.password))):r.username=encodeURIComponent(decodeURIComponent(e))}for(var s=0;s<HA.length;s++){var a=HA[s];a[4]&&(r[a[1]]=r[a[1]].toLowerCase())}return r.auth=r.password?r.username+":"+r.password:r.username,r.origin=r.protocol!=="file:"&&ul(r.protocol)&&r.host?r.protocol+"//"+r.host:"null",r.href=r.toString(),r}function Die(n){(!n||typeof n!="function")&&(n=QP.stringify);var e,t=this,r=t.host,i=t.protocol;i&&i.charAt(i.length-1)!==":"&&(i+=":");var o=i+(t.protocol&&t.slashes||ul(t.protocol)?"//":"");return t.username?(o+=t.username,t.password&&(o+=":"+t.password),o+="@"):t.password?(o+=":"+t.password,o+="@"):t.protocol!=="file:"&&ul(t.protocol)&&!r&&t.pathname!=="/"&&(o+="@"),(r[r.length-1]===":"||WV.test(t.hostname)&&!t.port)&&(r+=":"),o+=r+t.pathname,e=typeof t.query=="object"?n(t.query):t.query,e&&(o+=e.charAt(0)!=="?"?"?"+e:e),t.hash&&(o+=t.hash),o}dl.prototype={set:xie,toString:Die};dl.extractProtocol=jV;dl.location=VV;dl.trimLeft=GA;dl.qs=QP;JV.exports=dl});var zA=O((qIe,HV)=>{"use strict";var $V=Array.isArray,qV=Object.keys,_ie=Object.prototype.hasOwnProperty;HV.exports=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=$V(e),i=$V(t),o,s,a;if(r&&i){if(s=e.length,s!=t.length)return!1;for(o=s;o--!==0;)if(!n(e[o],t[o]))return!1;return!0}if(r!=i)return!1;var l=e instanceof Date,c=t instanceof Date;if(l!=c)return!1;if(l&&c)return e.getTime()==t.getTime();var u=e instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return e.toString()==t.toString();var f=qV(e);if(s=f.length,s!==qV(t).length)return!1;for(o=s;o--!==0;)if(!_ie.call(t,f[o]))return!1;for(o=s;o--!==0;)if(a=f[o],!n(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}});var fN=O(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.TargetPopulation=fd.Filters=fd.VSCodeFilterProvider=void 0;var xk=require("vscode"),mN=class n{constructor(e,t,r){this.extensionName=e,this.extensionVersion=t,this.targetPopulation=r}static trimVersionSuffix(e){let t=/\-[a-zA-Z0-9]+$/;return e.split(t)[0]}getFilterValue(e){switch(e){case Cl.ApplicationVersion:return n.trimVersionSuffix(xk.version);case Cl.Build:return xk.env.appName;case Cl.ClientId:return xk.env.machineId;case Cl.ExtensionName:return this.extensionName;case Cl.ExtensionVersion:return n.trimVersionSuffix(this.extensionVersion);case Cl.Language:return xk.env.language;case Cl.TargetPopulation:return this.targetPopulation;default:return""}}getFilters(){let e=new Map,t=Object.values(Cl);for(let r of t)e.set(r,this.getFilterValue(r));return e}};fd.VSCodeFilterProvider=mN;var Cl;(function(n){n.Market="X-MSEdge-Market",n.CorpNet="X-FD-Corpnet",n.ApplicationVersion="X-VSCode-AppVersion",n.Build="X-VSCode-Build",n.ClientId="X-MSEdge-ClientId",n.ExtensionName="X-VSCode-ExtensionName",n.ExtensionVersion="X-VSCode-ExtensionVersion",n.Language="X-VSCode-Language",n.TargetPopulation="X-VSCode-TargetPopulation"})(Cl||(fd.Filters=Cl={}));var qj;(function(n){n.Team="team",n.Internal="internal",n.Insiders="insider",n.Public="public"})(qj||(fd.TargetPopulation=qj={}))});var Hj=O(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});Dk.BaseFeatureProvider=void 0;var hN=class{constructor(e){this.telemetry=e,this.isFetching=!1}async getFeatures(){if(this.isFetching&&this.fetchPromise)return this.fetchPromise;this.fetchPromise=this.fetch();let e=await this.fetchPromise;return this.isFetching=!1,this.fetchPromise=void 0,e}};Dk.BaseFeatureProvider=hN});var Gj=O(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});_k.FilteredFeatureProvider=void 0;var Zie=Hj(),gN=class extends Zie.BaseFeatureProvider{constructor(e,t){super(e),this.telemetry=e,this.filterProviders=t,this.cachedTelemetryEvents=[]}getFilters(){let e=new Map;for(let t of this.filterProviders){let r=t.getFilters();for(let i of r.keys()){let o=r.get(i);e.set(i,o)}}return e}PostEventToTelemetry(e){if(this.cachedTelemetryEvents.includes(e))return;let t=JSON.stringify(e);this.telemetry.postEvent("report-headers",new Map([["ABExp.headers",t]])),this.cachedTelemetryEvents.push(e)}};_k.FilteredFeatureProvider=gN});var zj=O(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.TasApiFeatureProvider=hd.TASAPI_FETCHERROR_EVENTNAME=void 0;var eoe=Gj();hd.TASAPI_FETCHERROR_EVENTNAME="call-tas-error";var vN="ErrorType",yN=class extends eoe.FilteredFeatureProvider{constructor(e,t,r){super(t,r),this.httpClient=e,this.telemetry=t,this.filterProviders=r}async fetch(){let e=this.getFilters(),t={};for(let a of e.keys()){let l=e.get(a);t[a]=l}let r;try{r=await this.httpClient.get({headers:t})}catch(a){let l=a,c=new Map;l.responseReceived&&!l.responseOk?c.set(vN,"ServerError"):l.responseReceived===!1?c.set(vN,"NoResponse"):c.set(vN,"GenericError"),this.telemetry.postEvent(hd.TASAPI_FETCHERROR_EVENTNAME,c)}if(!r)throw Error(hd.TASAPI_FETCHERROR_EVENTNAME);e.keys.length>0&&this.PostEventToTelemetry(t);let i=r.data,o=i.Configs,s=[];for(let a of o)if(a.Parameters)for(let l of Object.keys(a.Parameters)){let c=l+(a.Parameters[l]?"":"cf");s.includes(c)||s.push(c)}return{features:s,assignmentContext:i.AssignmentContext,configs:o}}};hd.TasApiFeatureProvider=yN});var Qj=O(gg=>{"use strict";Object.defineProperty(gg,"__esModule",{value:!0});gg.HttpClient=gg.FetchError=void 0;var hg=class extends Error{constructor(e,t,r){super(e),this.responseReceived=t,this.responseOk=r}};gg.FetchError=hg;var bN=class{constructor(e){this.endpoint=e}async get(e){let t=await fetch(this.endpoint,{method:"GET",headers:e?.headers});if(!t)throw new hg("No response received",!1);if(!t.ok)throw new hg("Response not ok",!0,!1);let r=await t.json();if(!r)throw new hg("No data received",!1);return{data:r}}};gg.HttpClient=bN});var Yj=O(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});Tk.MemoryKeyValueStorage=void 0;var IN=class{constructor(){this.storage=new Map}async getValue(e,t){return this.storage.has(e)?await Promise.resolve(this.storage.get(e)):await Promise.resolve(t||void 0)}setValue(e,t){this.storage.set(e,t)}};Tk.MemoryKeyValueStorage=IN});var Xj=O(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});Rk.ExperimentationServiceBase=void 0;var toe=Yj(),SN=class{get features(){return this._features}set features(e){this._features=e,this.telemetry&&this.telemetry.setSharedProperty(this.assignmentContextTelemetryPropertyName,this.features.assignmentContext)}constructor(e,t,r,i,o){this.telemetry=e,this.assignmentContextTelemetryPropertyName=t,this.telemetryEventName=r,this.storageKey=i,this.storage=o,this.featuresConsumed=!1,this.cachedTelemetryEvents=[],this._features={features:[],assignmentContext:"",configs:[]},this.storageKey||(this.storageKey="ABExp.Features"),this.storage||(o=new toe.MemoryKeyValueStorage),this.loadCachePromise=this.loadCachedFeatureData(),this.initializePromise=this.loadCachePromise,this.initialFetch=new Promise((s,a)=>{this.resolveInitialFetchPromise=s})}async getFeaturesAsync(e=!1){if(this.fetchPromise!=null){try{await this.fetchPromise}catch{}return this.features}if(!this.featureProviders||this.featureProviders.length===0)return Promise.resolve({features:[],assignmentContext:"",configs:[]});try{this.fetchPromise=Promise.all(this.featureProviders.map(async r=>await r.getFeatures()));let t=await this.fetchPromise;this.updateFeatures(t,e)}catch{}return this.fetchPromise=void 0,this.resolveInitialFetchPromise&&(this.resolveInitialFetchPromise(),this.resolveInitialFetchPromise=void 0),this.features}updateFeatures(e,t=!1){let r={features:[],assignmentContext:"",configs:[]};for(let i of e){for(let o of i.features)r.features.includes(o)||r.features.push(o);for(let o of i.configs){let s=r.configs.find(a=>a.Id===o.Id);s?s.Parameters=Object.assign(Object.assign({},s.Parameters),o.Parameters):r.configs.push(o)}r.assignmentContext+=i.assignmentContext}(t||!this.featuresConsumed)&&(this.features=r),this.storage&&this.storage.setValue(this.storageKey,r)}async loadCachedFeatureData(){let e;this.storage&&(e=await this.storage.getValue(this.storageKey),e!==void 0&&e.configs===void 0&&(e.configs=[])),this.features.features.length===0&&(this.features=e||{features:[],assignmentContext:"",configs:[]})}isFlightEnabled(e){return this.featuresConsumed=!0,this.PostEventToTelemetry(e),this.features.features.includes(e)}async isCachedFlightEnabled(e){return await this.loadCachePromise,this.featuresConsumed=!0,this.PostEventToTelemetry(e),this.features.features.includes(e)}async isFlightEnabledAsync(e){let t=await this.getFeaturesAsync(!0);return this.featuresConsumed=!0,this.PostEventToTelemetry(e),t.features.includes(e)}getTreatmentVariable(e,t){this.featuresConsumed=!0,this.PostEventToTelemetry(`${e}.${t}`);let r=this.features.configs.find(i=>i.Id===e);return r?.Parameters[t]}async getTreatmentVariableAsync(e,t,r){if(r){let i=this.featuresConsumed,o=this.getTreatmentVariable(e,t);if(o===void 0)this.featuresConsumed=i;else return o}return await this.getFeaturesAsync(!0),this.getTreatmentVariable(e,t)}PostEventToTelemetry(e){this.cachedTelemetryEvents.includes(e)||(this.telemetry.postEvent(this.telemetryEventName,new Map([["ABExp.queriedFeature",e]])),this.cachedTelemetryEvents.push(e))}invokeInit(){this.init()}addFeatureProvider(...e){if(!(e==null||this.featureProviders==null))for(let t of e)this.featureProviders.push(t)}};Rk.ExperimentationServiceBase=SN});var Zj=O(Ak=>{"use strict";Object.defineProperty(Ak,"__esModule",{value:!0});Ak.PollingService=void 0;var CN=class{constructor(e){this.fetchInterval=e}StopPolling(){clearInterval(this.intervalHandle),this.intervalHandle=void 0}OnPollTick(e){this.onTick=e}StartPolling(e=!1){this.intervalHandle&&this.StopPolling(),this.onTick!=null&&(e&&this.onTick().then(()=>{}).catch(()=>{}),this.intervalHandle=setInterval(async()=>{await this.onTick()},this.fetchInterval),this.intervalHandle.unref&&this.intervalHandle.unref())}};Ak.PollingService=CN});var e9=O(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});Nk.ExperimentationServiceAutoPolling=void 0;var roe=Xj(),noe=Zj(),wN=class extends roe.ExperimentationServiceBase{constructor(e,t,r,i,o,s,a){if(super(e,i,o,s,a),this.telemetry=e,this.filterProviders=t,this.refreshRateMs=r,this.assignmentContextTelemetryPropertyName=i,this.telemetryEventName=o,this.storageKey=s,this.storage=a,r<1e3&&r!==0)throw new Error("The minimum refresh rate for polling is 1000 ms (1 second). If you wish to deactivate this auto-polling use value of 0.");r>0&&(this.pollingService=new noe.PollingService(r),this.pollingService.OnPollTick(async()=>{await super.getFeaturesAsync()}))}init(){this.pollingService?this.pollingService.StartPolling(!0):super.getFeaturesAsync()}async getFeaturesAsync(e=!1){if(this.pollingService){this.pollingService.StopPolling();let t=await super.getFeaturesAsync(e);return this.pollingService.StartPolling(),t}else return await super.getFeaturesAsync(e)}};Nk.ExperimentationServiceAutoPolling=wN});var t9=O(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});Kk.ExperimentationService=void 0;var ioe=zj(),ooe=Qj(),soe=e9(),Mk=class extends soe.ExperimentationServiceAutoPolling{constructor(e){super(e.telemetry,e.filterProviders||[],e.refetchInterval!=null?e.refetchInterval:0,e.assignmentContextTelemetryPropertyName,e.telemetryEventName,e.storageKey,e.keyValueStorage),this.options=e,this.invokeInit()}init(){this.featureProviders=[],this.addFeatureProvider(new ioe.TasApiFeatureProvider(new ooe.HttpClient(this.options.endpoint),this.telemetry,this.filterProviders)),super.init()}};Kk.ExperimentationService=Mk;Mk.REFRESH_RATE_IN_MINUTES=30});var r9=O(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});Ok.ExperimentationService=void 0;var aoe=t9();Object.defineProperty(Ok,"ExperimentationService",{enumerable:!0,get:function(){return aoe.ExperimentationService}})});var n9=O(Fk=>{"use strict";Object.defineProperty(Fk,"__esModule",{value:!0});Fk.MementoKeyValueStorage=void 0;var EN=class{constructor(e){this.mementoGlobalStorage=e}async getValue(e,t){return await this.mementoGlobalStorage.get(e)||t}setValue(e,t){this.mementoGlobalStorage.update(e,t)}};Fk.MementoKeyValueStorage=EN});var i9=O(kN=>{"use strict";Object.defineProperty(kN,"__esModule",{value:!0});var PN=class{constructor(){this.initializePromise=Promise.resolve(),this.initialFetch=Promise.resolve()}isFlightEnabled(e){return!1}isCachedFlightEnabled(e){return Promise.resolve(!1)}isFlightEnabledAsync(e){return Promise.resolve(!1)}getTreatmentVariable(e,t){}getTreatmentVariableAsync(e,t){return Promise.resolve(void 0)}};kN.default=PN});var s9=O(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});vg.getExperimentationServiceAsync=vg.getExperimentationService=void 0;var loe=fN(),coe=r9(),xN=require("vscode"),uoe=n9(),doe=i9(),poe="https://default.exp-tas.com/vscode/ab",moe="query-expfeature",foe="abexp.assignmentcontext",hoe="VSCode.ABExp.FeatureData",goe=1e3*60*30;function o9(n,e,t,r,i,...o){if(!i)throw new Error("Memento storage was not provided.");let s=xN.workspace.getConfiguration("telemetry");if(!(xN.env.isTelemetryEnabled===void 0?s.get("enableTelemetry",!0):xN.env.isTelemetryEnabled))return new doe.default;let c=[new loe.VSCodeFilterProvider(n,e,t),...o],u=new uoe.MementoKeyValueStorage(i);return new coe.ExperimentationService({filterProviders:c,telemetry:r,storageKey:hoe,keyValueStorage:u,featuresTelemetryPropertyName:"",assignmentContextTelemetryPropertyName:foe,telemetryEventName:moe,endpoint:poe,refetchInterval:goe})}vg.getExperimentationService=o9;async function voe(n,e,t,r,i,...o){let s=o9(n,e,t,r,i,...o);return await s.initializePromise,s}vg.getExperimentationServiceAsync=voe});var l9=O(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.TargetPopulation=gd.getExperimentationServiceAsync=gd.getExperimentationService=void 0;var a9=s9();Object.defineProperty(gd,"getExperimentationService",{enumerable:!0,get:function(){return a9.getExperimentationService}});Object.defineProperty(gd,"getExperimentationServiceAsync",{enumerable:!0,get:function(){return a9.getExperimentationServiceAsync}});var yoe=fN();Object.defineProperty(gd,"TargetPopulation",{enumerable:!0,get:function(){return yoe.TargetPopulation}})});var y9=O((Txe,v9)=>{"use strict";function Soe(){let n=[].slice.call(arguments).filter(t=>t),e=n.shift();return n.forEach(t=>{Object.keys(t).forEach(r=>{e[r]=t[r]})}),e}v9.exports=Soe});var fo=O(TN=>{"use strict";TN.fromCallback=function(n){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")n.apply(this,arguments);else return new Promise((e,t)=>{arguments[arguments.length]=(r,i)=>{if(r)return t(r);e(i)},arguments.length++,n.apply(this,arguments)})},"name",{value:n.name})};TN.fromPromise=function(n){return Object.defineProperty(function(){let e=arguments[arguments.length-1];if(typeof e!="function")return n.apply(this,arguments);n.apply(this,arguments).then(t=>e(null,t),e)},"name",{value:n.name})}});var I9=O((Axe,b9)=>{var Id=require("constants"),Coe=process.cwd,Bk=null,woe=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Bk||(Bk=Coe.call(process)),Bk};try{process.cwd()}catch{}typeof process.chdir=="function"&&(RN=process.chdir,process.chdir=function(n){Bk=null,RN.call(process,n)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,RN));var RN;b9.exports=Eoe;function Eoe(n){Id.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&e(n),n.lutimes||t(n),n.chown=o(n.chown),n.fchown=o(n.fchown),n.lchown=o(n.lchown),n.chmod=r(n.chmod),n.fchmod=r(n.fchmod),n.lchmod=r(n.lchmod),n.chownSync=s(n.chownSync),n.fchownSync=s(n.fchownSync),n.lchownSync=s(n.lchownSync),n.chmodSync=i(n.chmodSync),n.fchmodSync=i(n.fchmodSync),n.lchmodSync=i(n.lchmodSync),n.stat=a(n.stat),n.fstat=a(n.fstat),n.lstat=a(n.lstat),n.statSync=l(n.statSync),n.fstatSync=l(n.fstatSync),n.lstatSync=l(n.lstatSync),n.chmod&&!n.lchmod&&(n.lchmod=function(u,d,f){f&&process.nextTick(f)},n.lchmodSync=function(){}),n.chown&&!n.lchown&&(n.lchown=function(u,d,f,g){g&&process.nextTick(g)},n.lchownSync=function(){}),woe==="win32"&&(n.rename=typeof n.rename!="function"?n.rename:function(u){function d(f,g,b){var I=Date.now(),E=0;u(f,g,function x(A){if(A&&(A.code==="EACCES"||A.code==="EPERM")&&Date.now()-I<6e4){setTimeout(function(){n.stat(g,function(T,J){T&&T.code==="ENOENT"?u(f,g,x):b(A)})},E),E<100&&(E+=10);return}b&&b(A)})}return Object.setPrototypeOf&&Object.setPrototypeOf(d,u),d}(n.rename)),n.read=typeof n.read!="function"?n.read:function(u){function d(f,g,b,I,E,x){var A;if(x&&typeof x=="function"){var T=0;A=function(J,ne,H){if(J&&J.code==="EAGAIN"&&T<10)return T++,u.call(n,f,g,b,I,E,A);x.apply(this,arguments)}}return u.call(n,f,g,b,I,E,A)}return Object.setPrototypeOf&&Object.setPrototypeOf(d,u),d}(n.read),n.readSync=typeof n.readSync!="function"?n.readSync:function(u){return function(d,f,g,b,I){for(var E=0;;)try{return u.call(n,d,f,g,b,I)}catch(x){if(x.code==="EAGAIN"&&E<10){E++;continue}throw x}}}(n.readSync);function e(u){u.lchmod=function(d,f,g){u.open(d,Id.O_WRONLY|Id.O_SYMLINK,f,function(b,I){if(b){g&&g(b);return}u.fchmod(I,f,function(E){u.close(I,function(x){g&&g(E||x)})})})},u.lchmodSync=function(d,f){var g=u.openSync(d,Id.O_WRONLY|Id.O_SYMLINK,f),b=!0,I;try{I=u.fchmodSync(g,f),b=!1}finally{if(b)try{u.closeSync(g)}catch{}else u.closeSync(g)}return I}}function t(u){Id.hasOwnProperty("O_SYMLINK")&&u.futimes?(u.lutimes=function(d,f,g,b){u.open(d,Id.O_SYMLINK,function(I,E){if(I){b&&b(I);return}u.futimes(E,f,g,function(x){u.close(E,function(A){b&&b(x||A)})})})},u.lutimesSync=function(d,f,g){var b=u.openSync(d,Id.O_SYMLINK),I,E=!0;try{I=u.futimesSync(b,f,g),E=!1}finally{if(E)try{u.closeSync(b)}catch{}else u.closeSync(b)}return I}):u.futimes&&(u.lutimes=function(d,f,g,b){b&&process.nextTick(b)},u.lutimesSync=function(){})}function r(u){return u&&function(d,f,g){return u.call(n,d,f,function(b){c(b)&&(b=null),g&&g.apply(this,arguments)})}}function i(u){return u&&function(d,f){try{return u.call(n,d,f)}catch(g){if(!c(g))throw g}}}function o(u){return u&&function(d,f,g,b){return u.call(n,d,f,g,function(I){c(I)&&(I=null),b&&b.apply(this,arguments)})}}function s(u){return u&&function(d,f,g){try{return u.call(n,d,f,g)}catch(b){if(!c(b))throw b}}}function a(u){return u&&function(d,f,g){typeof f=="function"&&(g=f,f=null);function b(I,E){E&&(E.uid<0&&(E.uid+=4294967296),E.gid<0&&(E.gid+=4294967296)),g&&g.apply(this,arguments)}return f?u.call(n,d,f,b):u.call(n,d,b)}}function l(u){return u&&function(d,f){var g=f?u.call(n,d,f):u.call(n,d);return g&&(g.uid<0&&(g.uid+=4294967296),g.gid<0&&(g.gid+=4294967296)),g}}function c(u){if(!u||u.code==="ENOSYS")return!0;var d=!process.getuid||process.getuid()!==0;return!!(d&&(u.code==="EINVAL"||u.code==="EPERM"))}}});var w9=O((Nxe,C9)=>{var S9=require("stream").Stream;C9.exports=Poe;function Poe(n){return{ReadStream:e,WriteStream:t};function e(r,i){if(!(this instanceof e))return new e(r,i);S9.call(this);var o=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var s=Object.keys(i),a=0,l=s.length;a<l;a++){var c=s[a];this[c]=i[c]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){o._read()});return}n.open(this.path,this.flags,this.mode,function(u,d){if(u){o.emit("error",u),o.readable=!1;return}o.fd=d,o.emit("open",d),o._read()})}function t(r,i){if(!(this instanceof t))return new t(r,i);S9.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var o=Object.keys(i),s=0,a=o.length;s<a;s++){var l=o[s];this[l]=i[l]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=n.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var P9=O((Mxe,E9)=>{"use strict";E9.exports=xoe;var koe=Object.getPrototypeOf||function(n){return n.__proto__};function xoe(n){if(n===null||typeof n!="object")return n;if(n instanceof Object)var e={__proto__:koe(n)};else var e=Object.create(null);return Object.getOwnPropertyNames(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}});var Dn=O((Kxe,MN)=>{var sn=require("fs"),Doe=I9(),_oe=w9(),Toe=P9(),$k=require("util"),ti,Hk;typeof Symbol=="function"&&typeof Symbol.for=="function"?(ti=Symbol.for("graceful-fs.queue"),Hk=Symbol.for("graceful-fs.previous")):(ti="___graceful-fs.queue",Hk="___graceful-fs.previous");function Roe(){}function D9(n,e){Object.defineProperty(n,ti,{get:function(){return e}})}var dm=Roe;$k.debuglog?dm=$k.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(dm=function(){var n=$k.format.apply($k,arguments);n="GFS4: "+n.split(/\n/).join(`
GFS4: `),console.error(n)});sn[ti]||(k9=global[ti]||[],D9(sn,k9),sn.close=function(n){function e(t,r){return n.call(sn,t,function(i){i||x9(),typeof r=="function"&&r.apply(this,arguments)})}return Object.defineProperty(e,Hk,{value:n}),e}(sn.close),sn.closeSync=function(n){function e(t){n.apply(sn,arguments),x9()}return Object.defineProperty(e,Hk,{value:n}),e}(sn.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){dm(sn[ti]),require("assert").equal(sn[ti].length,0)}));var k9;global[ti]||D9(global,sn[ti]);MN.exports=AN(Toe(sn));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!sn.__patched&&(MN.exports=AN(sn),sn.__patched=!0);function AN(n){Doe(n),n.gracefulify=AN,n.createReadStream=ne,n.createWriteStream=H;var e=n.readFile;n.readFile=t;function t(Y,Ie,Ke){return typeof Ie=="function"&&(Ke=Ie,Ie=null),pt(Y,Ie,Ke);function pt(mt,kt,ee,Ee){return e(mt,kt,function(Te){Te&&(Te.code==="EMFILE"||Te.code==="ENFILE")?Pg([pt,[mt,kt,ee],Te,Ee||Date.now(),Date.now()]):typeof ee=="function"&&ee.apply(this,arguments)})}}var r=n.writeFile;n.writeFile=i;function i(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=null),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return r(kt,ee,Ee,function(ht){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}var o=n.appendFile;o&&(n.appendFile=s);function s(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=null),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return o(kt,ee,Ee,function(ht){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}var a=n.copyFile;a&&(n.copyFile=l);function l(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=0),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return a(kt,ee,Ee,function(ht){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}var c=n.readdir;n.readdir=d;var u=/^v[0-5]\./;function d(Y,Ie,Ke){typeof Ie=="function"&&(Ke=Ie,Ie=null);var pt=u.test(process.version)?function(ee,Ee,Te,he){return c(ee,mt(ee,Ee,Te,he))}:function(ee,Ee,Te,he){return c(ee,Ee,mt(ee,Ee,Te,he))};return pt(Y,Ie,Ke);function mt(kt,ee,Ee,Te){return function(he,ht){he&&(he.code==="EMFILE"||he.code==="ENFILE")?Pg([pt,[kt,ee,Ee],he,Te||Date.now(),Date.now()]):(ht&&ht.sort&&ht.sort(),typeof Ee=="function"&&Ee.call(this,he,ht))}}}if(process.version.substr(0,4)==="v0.8"){var f=_oe(n);x=f.ReadStream,T=f.WriteStream}var g=n.ReadStream;g&&(x.prototype=Object.create(g.prototype),x.prototype.open=A);var b=n.WriteStream;b&&(T.prototype=Object.create(b.prototype),T.prototype.open=J),Object.defineProperty(n,"ReadStream",{get:function(){return x},set:function(Y){x=Y},enumerable:!0,configurable:!0}),Object.defineProperty(n,"WriteStream",{get:function(){return T},set:function(Y){T=Y},enumerable:!0,configurable:!0});var I=x;Object.defineProperty(n,"FileReadStream",{get:function(){return I},set:function(Y){I=Y},enumerable:!0,configurable:!0});var E=T;Object.defineProperty(n,"FileWriteStream",{get:function(){return E},set:function(Y){E=Y},enumerable:!0,configurable:!0});function x(Y,Ie){return this instanceof x?(g.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function A(){var Y=this;ae(Y.path,Y.flags,Y.mode,function(Ie,Ke){Ie?(Y.autoClose&&Y.destroy(),Y.emit("error",Ie)):(Y.fd=Ke,Y.emit("open",Ke),Y.read())})}function T(Y,Ie){return this instanceof T?(b.apply(this,arguments),this):T.apply(Object.create(T.prototype),arguments)}function J(){var Y=this;ae(Y.path,Y.flags,Y.mode,function(Ie,Ke){Ie?(Y.destroy(),Y.emit("error",Ie)):(Y.fd=Ke,Y.emit("open",Ke))})}function ne(Y,Ie){return new n.ReadStream(Y,Ie)}function H(Y,Ie){return new n.WriteStream(Y,Ie)}var oe=n.open;n.open=ae;function ae(Y,Ie,Ke,pt){return typeof Ke=="function"&&(pt=Ke,Ke=null),mt(Y,Ie,Ke,pt);function mt(kt,ee,Ee,Te,he){return oe(kt,ee,Ee,function(ht,Fi){ht&&(ht.code==="EMFILE"||ht.code==="ENFILE")?Pg([mt,[kt,ee,Ee,Te],ht,he||Date.now(),Date.now()]):typeof Te=="function"&&Te.apply(this,arguments)})}}return n}function Pg(n){dm("ENQUEUE",n[0].name,n[1]),sn[ti].push(n),NN()}var qk;function x9(){for(var n=Date.now(),e=0;e<sn[ti].length;++e)sn[ti][e].length>2&&(sn[ti][e][3]=n,sn[ti][e][4]=n);NN()}function NN(){if(clearTimeout(qk),qk=void 0,sn[ti].length!==0){var n=sn[ti].shift(),e=n[0],t=n[1],r=n[2],i=n[3],o=n[4];if(i===void 0)dm("RETRY",e.name,t),e.apply(null,t);else if(Date.now()-i>=6e4){dm("TIMEOUT",e.name,t);var s=t.pop();typeof s=="function"&&s.call(null,r)}else{var a=Date.now()-o,l=Math.max(o-i,1),c=Math.min(l*1.2,100);a>=c?(dm("RETRY",e.name,t),e.apply(null,t.concat([i]))):sn[ti].push(n)}qk===void 0&&(qk=setTimeout(NN,0))}}});var KN=O(kg=>{var Aoe=fo().fromCallback,la=Dn(),Noe=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchown","link","lstat","mkdir","mkdtemp","open","readFile","readdir","readlink","realpath","rename","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter(n=>typeof la[n]=="function");Object.keys(la).forEach(n=>{kg[n]=la[n]});Noe.forEach(n=>{kg[n]=Aoe(la[n])});kg.exists=function(n,e){return typeof e=="function"?la.exists(n,e):new Promise(t=>la.exists(n,t))};kg.read=function(n,e,t,r,i,o){return typeof o=="function"?la.read(n,e,t,r,i,o):new Promise((s,a)=>{la.read(n,e,t,r,i,(l,c,u)=>{if(l)return a(l);s({bytesRead:c,buffer:u})})})};kg.write=function(n,e,t,r,i,o){return typeof arguments[arguments.length-1]=="function"?la.write(n,e,t,r,i,o):typeof e=="string"?new Promise((s,a)=>{la.write(n,e,t,r,(l,c,u)=>{if(l)return a(l);s({bytesWritten:c,buffer:u})})}):new Promise((s,a)=>{la.write(n,e,t,r,i,(l,c,u)=>{if(l)return a(l);s({bytesWritten:c,buffer:u})})})}});var R9=O((Fxe,T9)=>{"use strict";var Lo=Dn(),_9=require("os"),Gk=require("path");function Moe(){let n=Gk.join("millis-test-sync"+Date.now().toString()+Math.random().toString().slice(2));n=Gk.join(_9.tmpdir(),n);let e=new Date(1435410243862);Lo.writeFileSync(n,"https://github.com/jprichardson/node-fs-extra/pull/141");let t=Lo.openSync(n,"r+");return Lo.futimesSync(t,e,e),Lo.closeSync(t),Lo.statSync(n).mtime>1435410243e3}function Koe(n){let e=Gk.join("millis-test"+Date.now().toString()+Math.random().toString().slice(2));e=Gk.join(_9.tmpdir(),e);let t=new Date(1435410243862);Lo.writeFile(e,"https://github.com/jprichardson/node-fs-extra/pull/141",r=>{if(r)return n(r);Lo.open(e,"r+",(i,o)=>{if(i)return n(i);Lo.futimes(o,t,t,s=>{if(s)return n(s);Lo.close(o,a=>{if(a)return n(a);Lo.stat(e,(l,c)=>{if(l)return n(l);n(null,c.mtime>1435410243e3)})})})})})}function Ooe(n){if(typeof n=="number")return Math.floor(n/1e3)*1e3;if(n instanceof Date)return new Date(Math.floor(n.getTime()/1e3)*1e3);throw new Error("fs-extra: timeRemoveMillis() unknown parameter type")}function Foe(n,e,t,r){Lo.open(n,"r+",(i,o)=>{if(i)return r(i);Lo.futimes(o,e,t,s=>{Lo.close(o,a=>{r&&r(s||a)})})})}T9.exports={hasMillisRes:Koe,hasMillisResSync:Moe,timeRemoveMillis:Ooe,utimesMillis:Foe}});var ON=O((Lxe,A9)=>{var Uo=Dn(),lC=require("path"),Loe=R9();function Uoe(n,e,t,r){r||(r=t,t={});var i=process.cwd(),o=lC.resolve(i,n),s=lC.resolve(i,e),a=t.filter,l=t.transform,c=t.overwrite;c===void 0&&(c=t.clobber),c===void 0&&(c=!0);var u=t.errorOnExist,d=t.dereference,f=t.preserveTimestamps===!0,g=0,b=0,I=0,E=!1;x(o);function x(ee){if(g++,a){if(a instanceof RegExp){if(console.warn("Warning: fs-extra: Passing a RegExp filter is deprecated, use a function"),!a.test(ee))return kt(!0)}else if(typeof a=="function"&&!a(ee,e))return kt(!0)}return A(ee)}function A(ee){var Ee=d?Uo.stat:Uo.lstat;I++,Ee(ee,function(Te,he){if(Te)return mt(Te);var ht={name:ee,mode:he.mode,mtime:he.mtime,atime:he.atime,stats:he};if(he.isDirectory())return H(ht);if(he.isFile()||he.isCharacterDevice()||he.isBlockDevice())return T(ht);if(he.isSymbolicLink())return Y(ee)})}function T(ee){var Ee=ee.name.replace(o,s.replace("$","$$$$"));pt(Ee,function(Te){Te?J(ee,Ee):c?ne(Ee,function(){J(ee,Ee)}):u?mt(new Error(Ee+" already exists")):kt()})}function J(ee,Ee){var Te=Uo.createReadStream(ee.name),he=Uo.createWriteStream(Ee,{mode:ee.mode});Te.on("error",mt),he.on("error",mt),l?l(Te,he,ee):he.on("open",function(){Te.pipe(he)}),he.once("close",function(){Uo.chmod(Ee,ee.mode,function(ht){if(ht)return mt(ht);f?Loe.utimesMillis(Ee,ee.atime,ee.mtime,function(Fi){return Fi?mt(Fi):kt()}):kt()})})}function ne(ee,Ee){Uo.unlink(ee,function(Te){return Te?mt(Te):Ee()})}function H(ee){var Ee=ee.name.replace(o,s.replace("$","$$$$"));pt(Ee,function(Te){if(Te)return oe(ee,Ee);ae(ee.name)})}function oe(ee,Ee){Uo.mkdir(Ee,ee.mode,function(Te){if(Te)return mt(Te);Uo.chmod(Ee,ee.mode,function(he){if(he)return mt(he);ae(ee.name)})})}function ae(ee){Uo.readdir(ee,function(Ee,Te){return Ee?mt(Ee):(Te.forEach(function(he){x(lC.join(ee,he))}),kt())})}function Y(ee){var Ee=ee.replace(o,s);Uo.readlink(ee,function(Te,he){if(Te)return mt(Te);Ie(he,Ee)})}function Ie(ee,Ee){d&&(ee=lC.resolve(i,ee)),pt(Ee,function(Te){if(Te)return Ke(ee,Ee);Uo.readlink(Ee,function(he,ht){return he?mt(he):(d&&(ht=lC.resolve(i,ht)),ht===ee?kt():ne(Ee,function(){Ke(ee,Ee)}))})})}function Ke(ee,Ee){Uo.symlink(ee,Ee,function(Te){return Te?mt(Te):kt()})}function pt(ee,Ee){Uo.lstat(ee,function(Te){return Te&&Te.code==="ENOENT"?Ee(!0):Ee(!1)})}function mt(ee){if(!E&&r!==void 0)return E=!0,r(ee)}function kt(ee){if(ee||I--,b++,g===b&&I===0&&r!==void 0)return r(null)}}A9.exports=Uoe});var LN=O((Uxe,M9)=>{"use strict";var FN=require("path");function N9(n){return n=FN.normalize(FN.resolve(n)).split(FN.sep),n.length>0?n[0]:null}var Woe=/[<>:"|?*]/;function Voe(n){let e=N9(n);return n=n.replace(e,""),Woe.test(n)}M9.exports={getRootPath:N9,invalidWin32Path:Voe}});var O9=O((Wxe,K9)=>{"use strict";var joe=Dn(),UN=require("path"),Joe=LN().invalidWin32Path,Boe=parseInt("0777",8);function WN(n,e,t,r){if(typeof e=="function"?(t=e,e={}):(!e||typeof e!="object")&&(e={mode:e}),process.platform==="win32"&&Joe(n)){let s=new Error(n+" contains invalid WIN32 path characters.");return s.code="EINVAL",t(s)}let i=e.mode,o=e.fs||joe;i===void 0&&(i=Boe&~process.umask()),r||(r=null),t=t||function(){},n=UN.resolve(n),o.mkdir(n,i,s=>{if(!s)return r=r||n,t(null,r);switch(s.code){case"ENOENT":if(UN.dirname(n)===n)return t(s);WN(UN.dirname(n),e,(a,l)=>{a?t(a,l):WN(n,e,t,l)});break;default:o.stat(n,(a,l)=>{a||!l.isDirectory()?t(s,r):t(null,r)});break}})}K9.exports=WN});var L9=O((Vxe,F9)=>{"use strict";var $oe=Dn(),VN=require("path"),qoe=LN().invalidWin32Path,Hoe=parseInt("0777",8);function jN(n,e,t){(!e||typeof e!="object")&&(e={mode:e});let r=e.mode,i=e.fs||$oe;if(process.platform==="win32"&&qoe(n)){let o=new Error(n+" contains invalid WIN32 path characters.");throw o.code="EINVAL",o}r===void 0&&(r=Hoe&~process.umask()),t||(t=null),n=VN.resolve(n);try{i.mkdirSync(n,r),t=t||n}catch(o){switch(o.code){case"ENOENT":if(VN.dirname(n)===n)throw o;t=jN(VN.dirname(n),e,t),jN(n,e,t);break;default:let s;try{s=i.statSync(n)}catch{throw o}if(!s.isDirectory())throw o;break}}return t}F9.exports=jN});var Wo=O((jxe,U9)=>{"use strict";var Goe=fo().fromCallback,JN=Goe(O9()),BN=L9();U9.exports={mkdirs:JN,mkdirsSync:BN,mkdirp:JN,mkdirpSync:BN,ensureDir:JN,ensureDirSync:BN}});var Rc=O((Jxe,V9)=>{"use strict";var zoe=fo().fromPromise,W9=KN();function Qoe(n){return W9.access(n).then(()=>!0).catch(()=>!1)}V9.exports={pathExists:zoe(Qoe),pathExistsSync:W9.existsSync}});var B9=O((Bxe,J9)=>{"use strict";var Yoe=Dn(),cC=require("path"),j9=ON(),Xoe=Wo(),Zoe=Rc().pathExists;function ese(n,e,t,r){typeof t=="function"&&!r?(r=t,t={}):(typeof t=="function"||t instanceof RegExp)&&(t={filter:t}),r=r||function(){},t=t||{},t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
see https://github.com/jprichardson/node-fs-extra/issues/269`);let i=process.cwd(),o=cC.resolve(i,n),s=cC.resolve(i,e);if(o===s)return r(new Error("Source and destination must not be the same."));Yoe.lstat(n,(a,l)=>{if(a)return r(a);let c=null;if(l.isDirectory()){let u=e.split(cC.sep);u.pop(),c=u.join(cC.sep)}else c=cC.dirname(e);Zoe(c,(u,d)=>{if(u)return r(u);if(d)return j9(n,e,t,r);Xoe.mkdirs(c,f=>{if(f)return r(f);j9(n,e,t,r)})})})}J9.exports=ese});var q9=O(($xe,$9)=>{var tse=fo().fromCallback;$9.exports={copy:tse(B9())}});var $N=O((qxe,H9)=>{H9.exports=function(n){if(typeof Buffer.allocUnsafe=="function")try{return Buffer.allocUnsafe(n)}catch{return new Buffer(n)}return new Buffer(n)}});var Y9=O((Hxe,Q9)=>{"use strict";var El=Dn(),z9=64*1024,G9=$N()(z9);function rse(n,e,t){let r=t.overwrite,i=t.errorOnExist,o=t.preserveTimestamps;if(El.existsSync(e))if(r)El.unlinkSync(e);else{if(i)throw new Error(`${e} already exists`);return}let s=El.openSync(n,"r"),a=El.fstatSync(s),l=El.openSync(e,"w",a.mode),c=1,u=0;for(;c>0;)c=El.readSync(s,G9,0,z9,u),El.writeSync(l,G9,0,c),u+=c;o&&El.futimesSync(l,a.atime,a.mtime),El.closeSync(s),El.closeSync(l)}Q9.exports=rse});var tJ=O((Gxe,eJ)=>{"use strict";var pm=Dn(),qN=require("path"),nse=Y9(),X9=Wo();function Z9(n,e,t){(typeof t=="function"||t instanceof RegExp)&&(t={filter:t}),t=t||{},t.recursive=!!t.recursive,t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.dereference="dereference"in t?!!t.dereference:!1,t.preserveTimestamps="preserveTimestamps"in t?!!t.preserveTimestamps:!1,t.filter=t.filter||function(){return!0},t.preserveTimestamps&&process.arch==="ia32"&&console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
see https://github.com/jprichardson/node-fs-extra/issues/269`);let r=t.recursive&&!t.dereference?pm.lstatSync(n):pm.statSync(n),i=qN.dirname(e),o=pm.existsSync(i),s=!1;if(t.filter instanceof RegExp?(console.warn("Warning: fs-extra: Passing a RegExp filter is deprecated, use a function"),s=t.filter.test(n)):typeof t.filter=="function"&&(s=t.filter(n,e)),r.isFile()&&s)o||X9.mkdirsSync(i),nse(n,e,{overwrite:t.overwrite,errorOnExist:t.errorOnExist,preserveTimestamps:t.preserveTimestamps});else if(r.isDirectory()&&s)pm.existsSync(e)||X9.mkdirsSync(e),pm.readdirSync(n).forEach(l=>{let c=t;c.recursive=!0,Z9(qN.join(n,l),qN.join(e,l),c)});else if(t.recursive&&r.isSymbolicLink()&&s){let a=pm.readlinkSync(n);pm.symlinkSync(a,e)}}eJ.exports=Z9});var HN=O((zxe,rJ)=>{rJ.exports={copySync:tJ()}});var dJ=O((Qxe,uJ)=>{"use strict";var nJ=Dn(),aJ=require("path"),rr=require("assert"),uC=process.platform==="win32";function lJ(n){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach(t=>{n[t]=n[t]||nJ[t],t=t+"Sync",n[t]=n[t]||nJ[t]}),n.maxBusyTries=n.maxBusyTries||3}function GN(n,e,t){let r=0;typeof e=="function"&&(t=e,e={}),rr(n,"rimraf: missing path"),rr.equal(typeof n,"string","rimraf: path should be a string"),rr.equal(typeof t,"function","rimraf: callback function required"),rr(e,"rimraf: invalid options argument provided"),rr.equal(typeof e,"object","rimraf: options should be object"),lJ(e),iJ(n,e,function i(o){if(o){if((o.code==="EBUSY"||o.code==="ENOTEMPTY"||o.code==="EPERM")&&r<e.maxBusyTries){r++;let s=r*100;return setTimeout(()=>iJ(n,e,i),s)}o.code==="ENOENT"&&(o=null)}t(o)})}function iJ(n,e,t){rr(n),rr(e),rr(typeof t=="function"),e.lstat(n,(r,i)=>{if(r&&r.code==="ENOENT")return t(null);if(r&&r.code==="EPERM"&&uC)return oJ(n,e,r,t);if(i&&i.isDirectory())return zk(n,e,r,t);e.unlink(n,o=>{if(o){if(o.code==="ENOENT")return t(null);if(o.code==="EPERM")return uC?oJ(n,e,o,t):zk(n,e,o,t);if(o.code==="EISDIR")return zk(n,e,o,t)}return t(o)})})}function oJ(n,e,t,r){rr(n),rr(e),rr(typeof r=="function"),t&&rr(t instanceof Error),e.chmod(n,438,i=>{i?r(i.code==="ENOENT"?null:t):e.stat(n,(o,s)=>{o?r(o.code==="ENOENT"?null:t):s.isDirectory()?zk(n,e,t,r):e.unlink(n,r)})})}function sJ(n,e,t){let r;rr(n),rr(e),t&&rr(t instanceof Error);try{e.chmodSync(n,438)}catch(i){if(i.code==="ENOENT")return;throw t}try{r=e.statSync(n)}catch(i){if(i.code==="ENOENT")return;throw t}r.isDirectory()?Qk(n,e,t):e.unlinkSync(n)}function zk(n,e,t,r){rr(n),rr(e),t&&rr(t instanceof Error),rr(typeof r=="function"),e.rmdir(n,i=>{i&&(i.code==="ENOTEMPTY"||i.code==="EEXIST"||i.code==="EPERM")?ise(n,e,r):i&&i.code==="ENOTDIR"?r(t):r(i)})}function ise(n,e,t){rr(n),rr(e),rr(typeof t=="function"),e.readdir(n,(r,i)=>{if(r)return t(r);let o=i.length,s;if(o===0)return e.rmdir(n,t);i.forEach(a=>{GN(aJ.join(n,a),e,l=>{if(!s){if(l)return t(s=l);--o===0&&e.rmdir(n,t)}})})})}function cJ(n,e){let t;e=e||{},lJ(e),rr(n,"rimraf: missing path"),rr.equal(typeof n,"string","rimraf: path should be a string"),rr(e,"rimraf: missing options"),rr.equal(typeof e,"object","rimraf: options should be object");try{t=e.lstatSync(n)}catch(r){if(r.code==="ENOENT")return;r.code==="EPERM"&&uC&&sJ(n,e,r)}try{t&&t.isDirectory()?Qk(n,e,null):e.unlinkSync(n)}catch(r){if(r.code==="ENOENT")return;if(r.code==="EPERM")return uC?sJ(n,e,r):Qk(n,e,r);if(r.code!=="EISDIR")throw r;Qk(n,e,r)}}function Qk(n,e,t){rr(n),rr(e),t&&rr(t instanceof Error);try{e.rmdirSync(n)}catch(r){if(r.code==="ENOTDIR")throw t;if(r.code==="ENOTEMPTY"||r.code==="EEXIST"||r.code==="EPERM")ose(n,e);else if(r.code!=="ENOENT")throw r}}function ose(n,e){rr(n),rr(e),e.readdirSync(n).forEach(i=>cJ(aJ.join(n,i),e));let t=uC?100:1,r=0;do{let i=!0;try{let o=e.rmdirSync(n,e);return i=!1,o}finally{if(++r<t&&i)continue}}while(!0)}uJ.exports=GN;GN.sync=cJ});var dC=O((Yxe,mJ)=>{"use strict";var sse=fo().fromCallback,pJ=dJ();mJ.exports={remove:sse(pJ),removeSync:pJ.sync}});var vJ=O((Xxe,gJ)=>{var xg;try{xg=Dn()}catch{xg=require("fs")}function ase(n,e,t){t==null&&(t=e,e={}),typeof e=="string"&&(e={encoding:e}),e=e||{};var r=e.fs||xg,i=!0;"throws"in e&&(i=e.throws),r.readFile(n,e,function(o,s){if(o)return t(o);s=hJ(s);var a;try{a=JSON.parse(s,e?e.reviver:null)}catch(l){return i?(l.message=n+": "+l.message,t(l)):t(null,null)}t(null,a)})}function lse(n,e){e=e||{},typeof e=="string"&&(e={encoding:e});var t=e.fs||xg,r=!0;"throws"in e&&(r=e.throws);try{var i=t.readFileSync(n,e);return i=hJ(i),JSON.parse(i,e.reviver)}catch(o){if(r)throw o.message=n+": "+o.message,o;return null}}function fJ(n,e){var t,r=`
`;typeof e=="object"&&e!==null&&(e.spaces&&(t=e.spaces),e.EOL&&(r=e.EOL));var i=JSON.stringify(n,e?e.replacer:null,t);return i.replace(/\n/g,r)+r}function cse(n,e,t,r){r==null&&(r=t,t={}),t=t||{};var i=t.fs||xg,o="";try{o=fJ(e,t)}catch(s){r&&r(s,null);return}i.writeFile(n,o,t,r)}function use(n,e,t){t=t||{};var r=t.fs||xg,i=fJ(e,t);return r.writeFileSync(n,i,t)}function hJ(n){return Buffer.isBuffer(n)&&(n=n.toString("utf8")),n=n.replace(/^\uFEFF/,""),n}var dse={readFile:ase,readFileSync:lse,writeFile:cse,writeFileSync:use};gJ.exports=dse});var Xk=O((Zxe,bJ)=>{"use strict";var yJ=fo().fromCallback,Yk=vJ();bJ.exports={readJson:yJ(Yk.readFile),readJsonSync:Yk.readFileSync,writeJson:yJ(Yk.writeFile),writeJsonSync:Yk.writeFileSync}});var CJ=O((eDe,SJ)=>{"use strict";var pse=require("path"),mse=Wo(),fse=Rc().pathExists,IJ=Xk();function hse(n,e,t,r){typeof t=="function"&&(r=t,t={});let i=pse.dirname(n);fse(i,(o,s)=>{if(o)return r(o);if(s)return IJ.writeJson(n,e,t,r);mse.mkdirs(i,a=>{if(a)return r(a);IJ.writeJson(n,e,t,r)})})}SJ.exports=hse});var EJ=O((tDe,wJ)=>{"use strict";var gse=Dn(),vse=require("path"),yse=Wo(),bse=Xk();function Ise(n,e,t){let r=vse.dirname(n);gse.existsSync(r)||yse.mkdirsSync(r),bse.writeJsonSync(n,e,t)}wJ.exports=Ise});var kJ=O((rDe,PJ)=>{"use strict";var Sse=fo().fromCallback,Hi=Xk();Hi.outputJson=Sse(CJ());Hi.outputJsonSync=EJ();Hi.outputJSON=Hi.outputJson;Hi.outputJSONSync=Hi.outputJsonSync;Hi.writeJSON=Hi.writeJson;Hi.writeJSONSync=Hi.writeJsonSync;Hi.readJSON=Hi.readJson;Hi.readJSONSync=Hi.readJsonSync;PJ.exports=Hi});var TJ=O((nDe,_J)=>{"use strict";var Cse=fo().fromCallback,Pl=Dn(),wse=ON(),mm=require("path"),Zk=dC().remove,Ese=Wo().mkdirs;function zN(n,e,t,r){typeof t=="function"&&(r=t,t={});let i=t.overwrite||t.clobber||!1;kse(n,e,(s,a)=>{if(s)return r(s);if(a)return r(new Error(`Cannot move '${n}' to a subdirectory of itself, '${e}'.`));Ese(mm.dirname(e),l=>{if(l)return r(l);o()})});function o(){mm.resolve(n)===mm.resolve(e)?Pl.access(n,r):i?Pl.rename(n,e,s=>{if(!s)return r();if(s.code==="ENOTEMPTY"||s.code==="EEXIST"){Zk(e,a=>{if(a)return r(a);t.overwrite=!1,zN(n,e,t,r)});return}if(s.code==="EPERM"){setTimeout(()=>{Zk(e,a=>{if(a)return r(a);t.overwrite=!1,zN(n,e,t,r)})},200);return}if(s.code!=="EXDEV")return r(s);xJ(n,e,i,r)}):Pl.link(n,e,s=>s?s.code==="EXDEV"||s.code==="EISDIR"||s.code==="EPERM"||s.code==="ENOTSUP"?xJ(n,e,i,r):r(s):Pl.unlink(n,r))}}function xJ(n,e,t,r){Pl.stat(n,(i,o)=>{if(i)return r(i);o.isDirectory()?DJ(n,e,t,r):Pse(n,e,t,r)})}function Pse(n,e,t,r){let i=t?"w":"wx",o=Pl.createReadStream(n),s=Pl.createWriteStream(e,{flags:i});o.on("error",l=>{o.destroy(),s.destroy(),s.removeListener("close",a),Pl.unlink(e,()=>{l.code==="EISDIR"||l.code==="EPERM"?DJ(n,e,t,r):r(l)})}),s.on("error",l=>{o.destroy(),s.destroy(),s.removeListener("close",a),r(l)}),s.once("close",a),o.pipe(s);function a(){Pl.unlink(n,r)}}function DJ(n,e,t,r){let i={overwrite:!1};t?Zk(e,s=>{if(s)return r(s);o()}):o();function o(){wse(n,e,i,s=>{if(s)return r(s);Zk(n,r)})}}function kse(n,e,t){Pl.stat(n,(r,i)=>{if(r)return t(r);if(i.isDirectory()){let o=e.split(mm.dirname(n)+mm.sep)[1];if(o){let s=o.split(mm.sep)[0];return s?t(null,n!==e&&e.indexOf(n)>-1&&s===mm.basename(n)):t(null,!1)}return t(null,!1)}return t(null,!1)})}_J.exports={move:Cse(zN)}});var MJ=O((iDe,NJ)=>{"use strict";var ho=Dn(),fm=require("path"),xse=HN().copySync,QN=dC().removeSync,Dse=Wo().mkdirsSync,_se=$N();function AJ(n,e,t){t=t||{};let r=t.overwrite||t.clobber||!1;if(n=fm.resolve(n),e=fm.resolve(e),n===e)return ho.accessSync(n);if(Ase(n,e))throw new Error(`Cannot move '${n}' into itself '${e}'.`);Dse(fm.dirname(e)),i();function i(){if(r)try{return ho.renameSync(n,e)}catch(o){if(o.code==="ENOTEMPTY"||o.code==="EEXIST"||o.code==="EPERM")return QN(e),t.overwrite=!1,AJ(n,e,t);if(o.code!=="EXDEV")throw o;return RJ(n,e,r)}else try{return ho.linkSync(n,e),ho.unlinkSync(n)}catch(o){if(o.code==="EXDEV"||o.code==="EISDIR"||o.code==="EPERM"||o.code==="ENOTSUP")return RJ(n,e,r);throw o}}}function RJ(n,e,t){return ho.statSync(n).isDirectory()?Rse(n,e,t):Tse(n,e,t)}function Tse(n,e,t){let i=_se(65536),o=t?"w":"wx",s=ho.openSync(n,"r"),a=ho.fstatSync(s),l=ho.openSync(e,o,a.mode),c=1,u=0;for(;c>0;)c=ho.readSync(s,i,0,65536,u),ho.writeSync(l,i,0,c),u+=c;return ho.closeSync(s),ho.closeSync(l),ho.unlinkSync(n)}function Rse(n,e,t){let r={overwrite:!1};t&&QN(e),i();function i(){return xse(n,e,r),QN(n)}}function Ase(n,e){try{return ho.statSync(n).isDirectory()&&n!==e&&e.indexOf(n)>-1&&e.split(fm.dirname(n)+fm.sep)[1].split(fm.sep)[0]===fm.basename(n)}catch{return!1}}NJ.exports={moveSync:AJ}});var jJ=O((oDe,VJ)=>{"use strict";var Nse=fo().fromCallback,FJ=require("fs"),LJ=require("path"),UJ=Wo(),WJ=dC(),KJ=Nse(function(e,t){t=t||function(){},FJ.readdir(e,(r,i)=>{if(r)return UJ.mkdirs(e,t);i=i.map(s=>LJ.join(e,s)),o();function o(){let s=i.pop();if(!s)return t();WJ.remove(s,a=>{if(a)return t(a);o()})}})});function OJ(n){let e;try{e=FJ.readdirSync(n)}catch{return UJ.mkdirsSync(n)}e.forEach(t=>{t=LJ.join(n,t),WJ.removeSync(t)})}VJ.exports={emptyDirSync:OJ,emptydirSync:OJ,emptyDir:KJ,emptydir:KJ}});var qJ=O((sDe,$J)=>{"use strict";var Mse=fo().fromCallback,JJ=require("path"),pC=Dn(),BJ=Wo(),Kse=Rc().pathExists;function Ose(n,e){function t(){pC.writeFile(n,"",r=>{if(r)return e(r);e()})}pC.stat(n,(r,i)=>{if(!r&&i.isFile())return e();let o=JJ.dirname(n);Kse(o,(s,a)=>{if(s)return e(s);if(a)return t();BJ.mkdirs(o,l=>{if(l)return e(l);t()})})})}function Fse(n){let e;try{e=pC.statSync(n)}catch{}if(e&&e.isFile())return;let t=JJ.dirname(n);pC.existsSync(t)||BJ.mkdirsSync(t),pC.writeFileSync(n,"")}$J.exports={createFile:Mse(Ose),createFileSync:Fse}});var YJ=O((aDe,QJ)=>{"use strict";var Lse=fo().fromCallback,GJ=require("path"),hm=Dn(),zJ=Wo(),HJ=Rc().pathExists;function Use(n,e,t){function r(i,o){hm.link(i,o,s=>{if(s)return t(s);t(null)})}HJ(e,(i,o)=>{if(i)return t(i);if(o)return t(null);hm.lstat(n,(s,a)=>{if(s)return s.message=s.message.replace("lstat","ensureLink"),t(s);let l=GJ.dirname(e);HJ(l,(c,u)=>{if(c)return t(c);if(u)return r(n,e);zJ.mkdirs(l,d=>{if(d)return t(d);r(n,e)})})})})}function Wse(n,e,t){if(hm.existsSync(e))return;try{hm.lstatSync(n)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}let i=GJ.dirname(e);return hm.existsSync(i)||zJ.mkdirsSync(i),hm.linkSync(n,e)}QJ.exports={createLink:Lse(Use),createLinkSync:Wse}});var ZJ=O((lDe,XJ)=>{"use strict";var Sd=require("path"),mC=Dn(),Vse=Rc().pathExists;function jse(n,e,t){if(Sd.isAbsolute(n))return mC.lstat(n,(r,i)=>r?(r.message=r.message.replace("lstat","ensureSymlink"),t(r)):t(null,{toCwd:n,toDst:n}));{let r=Sd.dirname(e),i=Sd.join(r,n);return Vse(i,(o,s)=>o?t(o):s?t(null,{toCwd:i,toDst:n}):mC.lstat(n,(a,l)=>a?(a.message=a.message.replace("lstat","ensureSymlink"),t(a)):t(null,{toCwd:n,toDst:Sd.relative(r,n)})))}}function Jse(n,e){let t;if(Sd.isAbsolute(n)){if(t=mC.existsSync(n),!t)throw new Error("absolute srcpath does not exist");return{toCwd:n,toDst:n}}else{let r=Sd.dirname(e),i=Sd.join(r,n);if(t=mC.existsSync(i),t)return{toCwd:i,toDst:n};if(t=mC.existsSync(n),!t)throw new Error("relative srcpath does not exist");return{toCwd:n,toDst:Sd.relative(r,n)}}}XJ.exports={symlinkPaths:jse,symlinkPathsSync:Jse}});var rB=O((cDe,tB)=>{"use strict";var eB=Dn();function Bse(n,e,t){if(t=typeof e=="function"?e:t,e=typeof e=="function"?!1:e,e)return t(null,e);eB.lstat(n,(r,i)=>{if(r)return t(null,"file");e=i&&i.isDirectory()?"dir":"file",t(null,e)})}function $se(n,e){let t;if(e)return e;try{t=eB.lstatSync(n)}catch{return"file"}return t&&t.isDirectory()?"dir":"file"}tB.exports={symlinkType:Bse,symlinkTypeSync:$se}});var cB=O((uDe,lB)=>{"use strict";var qse=fo().fromCallback,iB=require("path"),Dg=Dn(),oB=Wo(),Hse=oB.mkdirs,Gse=oB.mkdirsSync,sB=ZJ(),zse=sB.symlinkPaths,Qse=sB.symlinkPathsSync,aB=rB(),Yse=aB.symlinkType,Xse=aB.symlinkTypeSync,nB=Rc().pathExists;function Zse(n,e,t,r){r=typeof t=="function"?t:r,t=typeof t=="function"?!1:t,nB(e,(i,o)=>{if(i)return r(i);if(o)return r(null);zse(n,e,(s,a)=>{if(s)return r(s);n=a.toDst,Yse(a.toCwd,t,(l,c)=>{if(l)return r(l);let u=iB.dirname(e);nB(u,(d,f)=>{if(d)return r(d);if(f)return Dg.symlink(n,e,c,r);Hse(u,g=>{if(g)return r(g);Dg.symlink(n,e,c,r)})})})})})}function eae(n,e,t,r){if(r=typeof t=="function"?t:r,t=typeof t=="function"?!1:t,Dg.existsSync(e))return;let o=Qse(n,e);n=o.toDst,t=Xse(o.toCwd,t);let s=iB.dirname(e);return Dg.existsSync(s)||Gse(s),Dg.symlinkSync(n,e,t)}lB.exports={createSymlink:qse(Zse),createSymlinkSync:eae}});var dB=O((dDe,uB)=>{"use strict";var ex=qJ(),tx=YJ(),rx=cB();uB.exports={createFile:ex.createFile,createFileSync:ex.createFileSync,ensureFile:ex.createFile,ensureFileSync:ex.createFileSync,createLink:tx.createLink,createLinkSync:tx.createLinkSync,ensureLink:tx.createLink,ensureLinkSync:tx.createLinkSync,createSymlink:rx.createSymlink,createSymlinkSync:rx.createSymlinkSync,ensureSymlink:rx.createSymlink,ensureSymlinkSync:rx.createSymlinkSync}});var hB=O((pDe,fB)=>{"use strict";var tae=fo().fromCallback,gm=Dn(),pB=require("path"),mB=Wo(),rae=Rc().pathExists;function nae(n,e,t,r){typeof t=="function"&&(r=t,t="utf8");let i=pB.dirname(n);rae(i,(o,s)=>{if(o)return r(o);if(s)return gm.writeFile(n,e,t,r);mB.mkdirs(i,a=>{if(a)return r(a);gm.writeFile(n,e,t,r)})})}function iae(n,e,t){let r=pB.dirname(n);if(gm.existsSync(r))return gm.writeFileSync.apply(gm,arguments);mB.mkdirsSync(r),gm.writeFileSync.apply(gm,arguments)}fB.exports={outputFile:tae(nae),outputFileSync:iae}});var kl=O((mDe,gB)=>{"use strict";var Ds=y9(),Vo={};Ds(Vo,KN());Ds(Vo,q9());Ds(Vo,HN());Ds(Vo,Wo());Ds(Vo,dC());Ds(Vo,kJ());Ds(Vo,TJ());Ds(Vo,MJ());Ds(Vo,jJ());Ds(Vo,dB());Ds(Vo,hB());Ds(Vo,Rc());gB.exports=Vo});var gx=O((C0e,uM)=>{"use strict";function gae(n){var e=void 0;typeof n=="string"?e=[n]:e=n.raw;for(var t="",r=0;r<e.length;r++)t+=e[r].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`"),r<(arguments.length<=1?0:arguments.length-1)&&(t+=arguments.length<=r+1?void 0:arguments[r+1]);var i=t.split(`
`),o=null;return i.forEach(function(s){var a=s.match(/^(\s+)\S+/);if(a){var l=a[1].length;o?o=Math.min(o,l):o=l}}),o!==null&&(t=i.map(function(s){return s[0]===" "?s.slice(o):s}).join(`
`)),t=t.trim(),t.replace(/\\n/g,`
`)}typeof uM<"u"&&(uM.exports=gae)});var K3=O((IMe,M3)=>{M3.exports=function(n,e){for(var t=[],r=0;r<n.length;r++){var i=e(n[r],r);_ae(i)?t.push.apply(t,i):t.push(i)}return t};var _ae=Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"}});var W3=O((SMe,U3)=>{"use strict";U3.exports=F3;function F3(n,e,t){n instanceof RegExp&&(n=O3(n,t)),e instanceof RegExp&&(e=O3(e,t));var r=L3(n,e,t);return r&&{start:r[0],end:r[1],pre:t.slice(0,r[0]),body:t.slice(r[0]+n.length,r[1]),post:t.slice(r[1]+e.length)}}function O3(n,e){var t=e.match(n);return t?t[0]:null}F3.range=L3;function L3(n,e,t){var r,i,o,s,a,l=t.indexOf(n),c=t.indexOf(e,l+1),u=l;if(l>=0&&c>0){if(n===e)return[l,c];for(r=[],o=t.length;u>=0&&!a;)u==l?(r.push(u),l=t.indexOf(n,u+1)):r.length==1?a=[r.pop(),c]:(i=r.pop(),i<o&&(o=i,s=c),c=t.indexOf(e,u+1)),u=l<c&&l>=0?l:c;r.length&&(a=[o,s])}return a}});var G3=O((CMe,H3)=>{var Tae=K3(),V3=W3();H3.exports=Nae;var j3="\0SLASH"+Math.random()+"\0",J3="\0OPEN"+Math.random()+"\0",DM="\0CLOSE"+Math.random()+"\0",B3="\0COMMA"+Math.random()+"\0",$3="\0PERIOD"+Math.random()+"\0";function xM(n){return parseInt(n,10)==n?parseInt(n,10):n.charCodeAt(0)}function Rae(n){return n.split("\\\\").join(j3).split("\\{").join(J3).split("\\}").join(DM).split("\\,").join(B3).split("\\.").join($3)}function Aae(n){return n.split(j3).join("\\").split(J3).join("{").split(DM).join("}").split(B3).join(",").split($3).join(".")}function q3(n){if(!n)return[""];var e=[],t=V3("{","}",n);if(!t)return n.split(",");var r=t.pre,i=t.body,o=t.post,s=r.split(",");s[s.length-1]+="{"+i+"}";var a=q3(o);return o.length&&(s[s.length-1]+=a.shift(),s.push.apply(s,a)),e.push.apply(e,s),e}function Nae(n){return n?(n.substr(0,2)==="{}"&&(n="\\{\\}"+n.substr(2)),rv(Rae(n),!0).map(Aae)):[]}function Mae(n){return"{"+n+"}"}function Kae(n){return/^-?0\d/.test(n)}function Oae(n,e){return n<=e}function Fae(n,e){return n>=e}function rv(n,e){var t=[],r=V3("{","}",n);if(!r||/\$$/.test(r.pre))return[n];var i=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),s=i||o,a=r.body.indexOf(",")>=0;if(!s&&!a)return r.post.match(/,.*\}/)?(n=r.pre+"{"+r.body+DM+r.post,rv(n)):[n];var l;if(s)l=r.body.split(/\.\./);else if(l=q3(r.body),l.length===1&&(l=rv(l[0],!1).map(Mae),l.length===1)){var u=r.post.length?rv(r.post,!1):[""];return u.map(function(Ke){return r.pre+l[0]+Ke})}var c=r.pre,u=r.post.length?rv(r.post,!1):[""],d;if(s){var f=xM(l[0]),g=xM(l[1]),b=Math.max(l[0].length,l[1].length),I=l.length==3?Math.abs(xM(l[2])):1,E=Oae,x=g<f;x&&(I*=-1,E=Fae);var A=l.some(Kae);d=[];for(var T=f;E(T,g);T+=I){var J;if(o)J=String.fromCharCode(T),J==="\\"&&(J="");else if(J=String(T),A){var ne=b-J.length;if(ne>0){var H=new Array(ne+1).join("0");T<0?J="-"+H+J.slice(1):J=H+J}}d.push(J)}}else d=Tae(l,function(Ie){return rv(Ie,!1)});for(var oe=0;oe<d.length;oe++)for(var ae=0;ae<u.length;ae++){var Y=c+d[oe]+u[ae];(!e||s||Y)&&t.push(Y)}return t}});var PC=O((wMe,Z3)=>{Z3.exports=Jo;Jo.Minimatch=ni;var EC=function(){try{return require("path")}catch{}}()||{sep:"/"};Jo.sep=EC.sep;var RM=Jo.GLOBSTAR=ni.GLOBSTAR={},Lae=G3(),z3={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},_M="[^/]",TM=_M+"*?",Uae="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Wae="(?:(?!(?:\\/|^)\\.).)*?",Q3=Vae("().*{}+?[]^$\\!");function Vae(n){return n.split("").reduce(function(e,t){return e[t]=!0,e},{})}var Y3=/\/+/;Jo.filter=jae;function jae(n,e){return e=e||{},function(t,r,i){return Jo(t,n,e)}}function Td(n,e){e=e||{};var t={};return Object.keys(n).forEach(function(r){t[r]=n[r]}),Object.keys(e).forEach(function(r){t[r]=e[r]}),t}Jo.defaults=function(n){if(!n||typeof n!="object"||!Object.keys(n).length)return Jo;var e=Jo,t=function(i,o,s){return e(i,o,Td(n,s))};return t.Minimatch=function(i,o){return new e.Minimatch(i,Td(n,o))},t.Minimatch.defaults=function(i){return e.defaults(Td(n,i)).Minimatch},t.filter=function(i,o){return e.filter(i,Td(n,o))},t.defaults=function(i){return e.defaults(Td(n,i))},t.makeRe=function(i,o){return e.makeRe(i,Td(n,o))},t.braceExpand=function(i,o){return e.braceExpand(i,Td(n,o))},t.match=function(r,i,o){return e.match(r,i,Td(n,o))},t};ni.defaults=function(n){return Jo.defaults(n).Minimatch};function Jo(n,e,t){return jx(e),t||(t={}),!t.nocomment&&e.charAt(0)==="#"?!1:new ni(e,t).match(n)}function ni(n,e){if(!(this instanceof ni))return new ni(n,e);jx(n),e||(e={}),n=n.trim(),!e.allowWindowsEscape&&EC.sep!=="/"&&(n=n.split(EC.sep).join("/")),this.options=e,this.set=[],this.pattern=n,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!e.partial,this.make()}ni.prototype.debug=function(){};ni.prototype.make=Jae;function Jae(){var n=this.pattern,e=this.options;if(!e.nocomment&&n.charAt(0)==="#"){this.comment=!0;return}if(!n){this.empty=!0;return}this.parseNegate();var t=this.globSet=this.braceExpand();e.debug&&(this.debug=function(){console.error.apply(console,arguments)}),this.debug(this.pattern,t),t=this.globParts=t.map(function(r){return r.split(Y3)}),this.debug(this.pattern,t),t=t.map(function(r,i,o){return r.map(this.parse,this)},this),this.debug(this.pattern,t),t=t.filter(function(r){return r.indexOf(!1)===-1}),this.debug(this.pattern,t),this.set=t}ni.prototype.parseNegate=Bae;function Bae(){var n=this.pattern,e=!1,t=this.options,r=0;if(!t.nonegate){for(var i=0,o=n.length;i<o&&n.charAt(i)==="!";i++)e=!e,r++;r&&(this.pattern=n.substr(r)),this.negate=e}}Jo.braceExpand=function(n,e){return X3(n,e)};ni.prototype.braceExpand=X3;function X3(n,e){return e||(this instanceof ni?e=this.options:e={}),n=typeof n>"u"?this.pattern:n,jx(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:Lae(n)}var $ae=1024*64,jx=function(n){if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>$ae)throw new TypeError("pattern is too long")};ni.prototype.parse=qae;var Vx={};function qae(n,e){jx(n);var t=this.options;if(n==="**")if(t.noglobstar)n="*";else return RM;if(n==="")return"";var r="",i=!!t.nocase,o=!1,s=[],a=[],l,c=!1,u=-1,d=-1,f=n.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",g=this;function b(){if(l){switch(l){case"*":r+=TM,i=!0;break;case"?":r+=_M,i=!0;break;default:r+="\\"+l;break}g.debug("clearStateChar %j %j",l,r),l=!1}}for(var I=0,E=n.length,x;I<E&&(x=n.charAt(I));I++){if(this.debug("%s %s %s %j",n,I,r,x),o&&Q3[x]){r+="\\"+x,o=!1;continue}switch(x){case"/":return!1;case"\\":b(),o=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",n,I,r,x),c){this.debug(" in class"),x==="!"&&I===d+1&&(x="^"),r+=x;continue}g.debug("call clearStateChar %j",l),b(),l=x,t.noext&&b();continue;case"(":if(c){r+="(";continue}if(!l){r+="\\(";continue}s.push({type:l,start:I-1,reStart:r.length,open:z3[l].open,close:z3[l].close}),r+=l==="!"?"(?:(?!(?:":"(?:",this.debug("plType %j %j",l,r),l=!1;continue;case")":if(c||!s.length){r+="\\)";continue}b(),i=!0;var A=s.pop();r+=A.close,A.type==="!"&&a.push(A),A.reEnd=r.length;continue;case"|":if(c||!s.length||o){r+="\\|",o=!1;continue}b(),r+="|";continue;case"[":if(b(),c){r+="\\"+x;continue}c=!0,d=I,u=r.length,r+=x;continue;case"]":if(I===d+1||!c){r+="\\"+x,o=!1;continue}var T=n.substring(d+1,I);try{RegExp("["+T+"]")}catch{var J=this.parse(T,Vx);r=r.substr(0,u)+"\\["+J[0]+"\\]",i=i||J[1],c=!1;continue}i=!0,c=!1,r+=x;continue;default:b(),o?o=!1:Q3[x]&&!(x==="^"&&c)&&(r+="\\"),r+=x}}for(c&&(T=n.substr(d+1),J=this.parse(T,Vx),r=r.substr(0,u)+"\\["+J[0],i=i||J[1]),A=s.pop();A;A=s.pop()){var ne=r.slice(A.reStart+A.open.length);this.debug("setting tail",r,A),ne=ne.replace(/((?:\\{2}){0,64})(\\?)\|/g,function(Fi,nr,pi){return pi||(pi="\\"),nr+nr+pi+"|"}),this.debug(`tail=%j
%s`,ne,ne,A,r);var H=A.type==="*"?TM:A.type==="?"?_M:"\\"+A.type;i=!0,r=r.slice(0,A.reStart)+H+"\\("+ne}b(),o&&(r+="\\\\");var oe=!1;switch(r.charAt(0)){case"[":case".":case"(":oe=!0}for(var ae=a.length-1;ae>-1;ae--){var Y=a[ae],Ie=r.slice(0,Y.reStart),Ke=r.slice(Y.reStart,Y.reEnd-8),pt=r.slice(Y.reEnd-8,Y.reEnd),mt=r.slice(Y.reEnd);pt+=mt;var kt=Ie.split("(").length-1,ee=mt;for(I=0;I<kt;I++)ee=ee.replace(/\)[+*?]?/,"");mt=ee;var Ee="";mt===""&&e!==Vx&&(Ee="$");var Te=Ie+Ke+mt+Ee+pt;r=Te}if(r!==""&&i&&(r="(?=.)"+r),oe&&(r=f+r),e===Vx)return[r,i];if(!i)return Gae(n);var he=t.nocase?"i":"";try{var ht=new RegExp("^"+r+"$",he)}catch{return new RegExp("$.")}return ht._glob=n,ht._src=r,ht}Jo.makeRe=function(n,e){return new ni(n,e||{}).makeRe()};ni.prototype.makeRe=Hae;function Hae(){if(this.regexp||this.regexp===!1)return this.regexp;var n=this.set;if(!n.length)return this.regexp=!1,this.regexp;var e=this.options,t=e.noglobstar?TM:e.dot?Uae:Wae,r=e.nocase?"i":"",i=n.map(function(o){return o.map(function(s){return s===RM?t:typeof s=="string"?zae(s):s._src}).join("\\/")}).join("|");i="^(?:"+i+")$",this.negate&&(i="^(?!"+i+").*$");try{this.regexp=new RegExp(i,r)}catch{this.regexp=!1}return this.regexp}Jo.match=function(n,e,t){t=t||{};var r=new ni(e,t);return n=n.filter(function(i){return r.match(i)}),r.options.nonull&&!n.length&&n.push(e),n};ni.prototype.match=function(e,t){if(typeof t>"u"&&(t=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;var r=this.options;EC.sep!=="/"&&(e=e.split(EC.sep).join("/")),e=e.split(Y3),this.debug(this.pattern,"split",e);var i=this.set;this.debug(this.pattern,"set",i);var o,s;for(s=e.length-1;s>=0&&(o=e[s],!o);s--);for(s=0;s<i.length;s++){var a=i[s],l=e;r.matchBase&&a.length===1&&(l=[o]);var c=this.matchOne(l,a,t);if(c)return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate};ni.prototype.matchOne=function(n,e,t){var r=this.options;this.debug("matchOne",{this:this,file:n,pattern:e}),this.debug("matchOne",n.length,e.length);for(var i=0,o=0,s=n.length,a=e.length;i<s&&o<a;i++,o++){this.debug("matchOne loop");var l=e[o],c=n[i];if(this.debug(e,l,c),l===!1)return!1;if(l===RM){this.debug("GLOBSTAR",[e,l,c]);var u=i,d=o+1;if(d===a){for(this.debug("** at the end");i<s;i++)if(n[i]==="."||n[i]===".."||!r.dot&&n[i].charAt(0)===".")return!1;return!0}for(;u<s;){var f=n[u];if(this.debug(`
globstar while`,n,u,e,d,f),this.matchOne(n.slice(u),e.slice(d),t))return this.debug("globstar found match!",u,s,f),!0;if(f==="."||f===".."||!r.dot&&f.charAt(0)==="."){this.debug("dot detected!",n,u,e,d);break}this.debug("globstar swallow a segment, and continue"),u++}return!!(t&&(this.debug(`
>>> no match, partial?`,n,u,e,d),u===s))}var g;if(typeof l=="string"?(g=c===l,this.debug("string match",l,c,g)):(g=c.match(l),this.debug("pattern match",l,c,g)),!g)return!1}if(i===s&&o===a)return!0;if(i===s)return t;if(o===a)return i===s-1&&n[i]==="";throw new Error("wtf?")};function Gae(n){return n.replace(/\\(.)/g,"$1")}function zae(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var a6=O(KM=>{var wm=require("path"),Ad=process.platform==="win32",Rd=require("fs"),Xae=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function Zae(){var n;if(Xae){var e=new Error;n=t}else n=r;return n;function t(i){i&&(e.message=i.message,i=e,r(i))}function r(i){if(i){if(process.throwDeprecation)throw i;if(!process.noDeprecation){var o="fs: missing callback "+(i.stack||i.message);process.traceDeprecation?console.trace(o):console.error(o)}}}}function ele(n){return typeof n=="function"?n:Zae()}var pOe=wm.normalize;Ad?Lc=/(.*?)(?:[\/\\]+|$)/g:Lc=/(.*?)(?:[\/]+|$)/g;var Lc;Ad?_C=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/:_C=/^[\/]*/;var _C;KM.realpathSync=function(e,t){if(e=wm.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return t[e];var r=e,i={},o={},s,a,l,c;u();function u(){var E=_C.exec(e);s=E[0].length,a=E[0],l=E[0],c="",Ad&&!o[l]&&(Rd.lstatSync(l),o[l]=!0)}for(;s<e.length;){Lc.lastIndex=s;var d=Lc.exec(e);if(c=a,a+=d[0],l=c+d[1],s=Lc.lastIndex,!(o[l]||t&&t[l]===l)){var f;if(t&&Object.prototype.hasOwnProperty.call(t,l))f=t[l];else{var g=Rd.lstatSync(l);if(!g.isSymbolicLink()){o[l]=!0,t&&(t[l]=l);continue}var b=null;if(!Ad){var I=g.dev.toString(32)+":"+g.ino.toString(32);i.hasOwnProperty(I)&&(b=i[I])}b===null&&(Rd.statSync(l),b=Rd.readlinkSync(l)),f=wm.resolve(c,b),t&&(t[l]=f),Ad||(i[I]=b)}e=wm.resolve(f,e.slice(s)),u()}}return t&&(t[r]=e),e};KM.realpath=function(e,t,r){if(typeof r!="function"&&(r=ele(t),t=null),e=wm.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return process.nextTick(r.bind(null,null,t[e]));var i=e,o={},s={},a,l,c,u;d();function d(){var E=_C.exec(e);a=E[0].length,l=E[0],c=E[0],u="",Ad&&!s[c]?Rd.lstat(c,function(x){if(x)return r(x);s[c]=!0,f()}):process.nextTick(f)}function f(){if(a>=e.length)return t&&(t[i]=e),r(null,e);Lc.lastIndex=a;var E=Lc.exec(e);return u=l,l+=E[0],c=u+E[1],a=Lc.lastIndex,s[c]||t&&t[c]===c?process.nextTick(f):t&&Object.prototype.hasOwnProperty.call(t,c)?I(t[c]):Rd.lstat(c,g)}function g(E,x){if(E)return r(E);if(!x.isSymbolicLink())return s[c]=!0,t&&(t[c]=c),process.nextTick(f);if(!Ad){var A=x.dev.toString(32)+":"+x.ino.toString(32);if(o.hasOwnProperty(A))return b(null,o[A],c)}Rd.stat(c,function(T){if(T)return r(T);Rd.readlink(c,function(J,ne){Ad||(o[A]=ne),b(J,ne)})})}function b(E,x,A){if(E)return r(E);var T=wm.resolve(u,x);t&&(t[A]=T),I(T)}function I(E){e=wm.resolve(E,e.slice(a)),d()}}});var UM=O((fOe,d6)=>{d6.exports=Nd;Nd.realpath=Nd;Nd.sync=LM;Nd.realpathSync=LM;Nd.monkeypatch=rle;Nd.unmonkeypatch=nle;var fv=require("fs"),OM=fv.realpath,FM=fv.realpathSync,tle=process.version,l6=/^v[0-5]\./.test(tle),c6=a6();function u6(n){return n&&n.syscall==="realpath"&&(n.code==="ELOOP"||n.code==="ENOMEM"||n.code==="ENAMETOOLONG")}function Nd(n,e,t){if(l6)return OM(n,e,t);typeof e=="function"&&(t=e,e=null),OM(n,e,function(r,i){u6(r)?c6.realpath(n,e,t):t(r,i)})}function LM(n,e){if(l6)return FM(n,e);try{return FM(n,e)}catch(t){if(u6(t))return c6.realpathSync(n,e);throw t}}function rle(){fv.realpath=Nd,fv.realpathSync=LM}function nle(){fv.realpath=OM,fv.realpathSync=FM}});var p6=O((hOe,WM)=>{typeof Object.create=="function"?WM.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:WM.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}});var m6=O((gOe,jM)=>{try{if(VM=require("util"),typeof VM.inherits!="function")throw"";jM.exports=VM.inherits}catch{jM.exports=p6()}var VM});var $x=O((vOe,Bx)=>{"use strict";function f6(n){return n.charAt(0)==="/"}function h6(n){var e=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,t=e.exec(n),r=t[1]||"",i=!!(r&&r.charAt(1)!==":");return!!(t[2]||i)}Bx.exports=process.platform==="win32"?h6:f6;Bx.exports.posix=f6;Bx.exports.win32=h6});var BM=O(Md=>{Md.setopts=cle;Md.ownProp=g6;Md.makeAbs=TC;Md.finish=ule;Md.mark=dle;Md.isIgnored=y6;Md.childrenIgnored=ple;function g6(n,e){return Object.prototype.hasOwnProperty.call(n,e)}var ile=require("fs"),hv=require("path"),ole=PC(),v6=$x(),JM=ole.Minimatch;function sle(n,e){return n.localeCompare(e,"en")}function ale(n,e){n.ignore=e.ignore||[],Array.isArray(n.ignore)||(n.ignore=[n.ignore]),n.ignore.length&&(n.ignore=n.ignore.map(lle))}function lle(n){var e=null;if(n.slice(-3)==="/**"){var t=n.replace(/(\/\*\*)+$/,"");e=new JM(t,{dot:!0})}return{matcher:new JM(n,{dot:!0}),gmatcher:e}}function cle(n,e,t){if(t||(t={}),t.matchBase&&e.indexOf("/")===-1){if(t.noglobstar)throw new Error("base matching requires globstar");e="**/"+e}n.silent=!!t.silent,n.pattern=e,n.strict=t.strict!==!1,n.realpath=!!t.realpath,n.realpathCache=t.realpathCache||Object.create(null),n.follow=!!t.follow,n.dot=!!t.dot,n.mark=!!t.mark,n.nodir=!!t.nodir,n.nodir&&(n.mark=!0),n.sync=!!t.sync,n.nounique=!!t.nounique,n.nonull=!!t.nonull,n.nosort=!!t.nosort,n.nocase=!!t.nocase,n.stat=!!t.stat,n.noprocess=!!t.noprocess,n.absolute=!!t.absolute,n.fs=t.fs||ile,n.maxLength=t.maxLength||1/0,n.cache=t.cache||Object.create(null),n.statCache=t.statCache||Object.create(null),n.symlinks=t.symlinks||Object.create(null),ale(n,t),n.changedCwd=!1;var r=process.cwd();g6(t,"cwd")?(n.cwd=hv.resolve(t.cwd),n.changedCwd=n.cwd!==r):n.cwd=r,n.root=t.root||hv.resolve(n.cwd,"/"),n.root=hv.resolve(n.root),process.platform==="win32"&&(n.root=n.root.replace(/\\/g,"/")),n.cwdAbs=v6(n.cwd)?n.cwd:TC(n,n.cwd),process.platform==="win32"&&(n.cwdAbs=n.cwdAbs.replace(/\\/g,"/")),n.nomount=!!t.nomount,t.nonegate=!0,t.nocomment=!0,n.minimatch=new JM(e,t),n.options=n.minimatch.options}function ule(n){for(var e=n.nounique,t=e?[]:Object.create(null),r=0,i=n.matches.length;r<i;r++){var o=n.matches[r];if(!o||Object.keys(o).length===0){if(n.nonull){var s=n.minimatch.globSet[r];e?t.push(s):t[s]=!0}}else{var a=Object.keys(o);e?t.push.apply(t,a):a.forEach(function(l){t[l]=!0})}}if(e||(t=Object.keys(t)),n.nosort||(t=t.sort(sle)),n.mark){for(var r=0;r<t.length;r++)t[r]=n._mark(t[r]);n.nodir&&(t=t.filter(function(l){var c=!/\/$/.test(l),u=n.cache[l]||n.cache[TC(n,l)];return c&&u&&(c=u!=="DIR"&&!Array.isArray(u)),c}))}n.ignore.length&&(t=t.filter(function(l){return!y6(n,l)})),n.found=t}function dle(n,e){var t=TC(n,e),r=n.cache[t],i=e;if(r){var o=r==="DIR"||Array.isArray(r),s=e.slice(-1)==="/";if(o&&!s?i+="/":!o&&s&&(i=i.slice(0,-1)),i!==e){var a=TC(n,i);n.statCache[a]=n.statCache[t],n.cache[a]=n.cache[t]}}return i}function TC(n,e){var t=e;return e.charAt(0)==="/"?t=hv.join(n.root,e):v6(e)||e===""?t=e:n.changedCwd?t=hv.resolve(n.cwd,e):t=hv.resolve(e),process.platform==="win32"&&(t=t.replace(/\\/g,"/")),t}function y6(n,e){return n.ignore.length?n.ignore.some(function(t){return t.matcher.match(e)||!!(t.gmatcher&&t.gmatcher.match(e))}):!1}function ple(n,e){return n.ignore.length?n.ignore.some(function(t){return!!(t.gmatcher&&t.gmatcher.match(e))}):!1}});var w6=O((COe,C6)=>{C6.exports=S6;S6.GlobSync=Mn;var mle=UM(),b6=PC(),bOe=b6.Minimatch,IOe=HM().Glob,SOe=require("util"),$M=require("path"),I6=require("assert"),qx=$x(),Em=BM(),fle=Em.setopts,qM=Em.ownProp,hle=Em.childrenIgnored,gle=Em.isIgnored;function S6(n,e){if(typeof e=="function"||arguments.length===3)throw new TypeError(`callback provided to sync glob
See: https://github.com/isaacs/node-glob/issues/167`);return new Mn(n,e).found}function Mn(n,e){if(!n)throw new Error("must provide pattern");if(typeof e=="function"||arguments.length===3)throw new TypeError(`callback provided to sync glob
See: https://github.com/isaacs/node-glob/issues/167`);if(!(this instanceof Mn))return new Mn(n,e);if(fle(this,n,e),this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var r=0;r<t;r++)this._process(this.minimatch.set[r],r,!1);this._finish()}Mn.prototype._finish=function(){if(I6(this instanceof Mn),this.realpath){var n=this;this.matches.forEach(function(e,t){var r=n.matches[t]=Object.create(null);for(var i in e)try{i=n._makeAbs(i);var o=mle.realpathSync(i,n.realpathCache);r[o]=!0}catch(s){if(s.syscall==="stat")r[n._makeAbs(i)]=!0;else throw s}})}Em.finish(this)};Mn.prototype._process=function(n,e,t){I6(this instanceof Mn);for(var r=0;typeof n[r]=="string";)r++;var i;switch(r){case n.length:this._processSimple(n.join("/"),e);return;case 0:i=null;break;default:i=n.slice(0,r).join("/");break}var o=n.slice(r),s;i===null?s=".":((qx(i)||qx(n.join("/")))&&(!i||!qx(i))&&(i="/"+i),s=i);var a=this._makeAbs(s);if(!hle(this,s)){var l=o[0]===b6.GLOBSTAR;l?this._processGlobStar(i,s,a,o,e,t):this._processReaddir(i,s,a,o,e,t)}};Mn.prototype._processReaddir=function(n,e,t,r,i,o){var s=this._readdir(t,o);if(s){for(var a=r[0],l=!!this.minimatch.negate,c=a._glob,u=this.dot||c.charAt(0)===".",d=[],f=0;f<s.length;f++){var g=s[f];if(g.charAt(0)!=="."||u){var b;l&&!n?b=!g.match(a):b=g.match(a),b&&d.push(g)}}var I=d.length;if(I!==0){if(r.length===1&&!this.mark&&!this.stat){this.matches[i]||(this.matches[i]=Object.create(null));for(var f=0;f<I;f++){var g=d[f];n&&(n.slice(-1)!=="/"?g=n+"/"+g:g=n+g),g.charAt(0)==="/"&&!this.nomount&&(g=$M.join(this.root,g)),this._emitMatch(i,g)}return}r.shift();for(var f=0;f<I;f++){var g=d[f],E;n?E=[n,g]:E=[g],this._process(E.concat(r),i,o)}}}};Mn.prototype._emitMatch=function(n,e){if(!gle(this,e)){var t=this._makeAbs(e);if(this.mark&&(e=this._mark(e)),this.absolute&&(e=t),!this.matches[n][e]){if(this.nodir){var r=this.cache[t];if(r==="DIR"||Array.isArray(r))return}this.matches[n][e]=!0,this.stat&&this._stat(e)}}};Mn.prototype._readdirInGlobStar=function(n){if(this.follow)return this._readdir(n,!1);var e,t,r;try{t=this.fs.lstatSync(n)}catch(o){if(o.code==="ENOENT")return null}var i=t&&t.isSymbolicLink();return this.symlinks[n]=i,!i&&t&&!t.isDirectory()?this.cache[n]="FILE":e=this._readdir(n,!1),e};Mn.prototype._readdir=function(n,e){var t;if(e&&!qM(this.symlinks,n))return this._readdirInGlobStar(n);if(qM(this.cache,n)){var r=this.cache[n];if(!r||r==="FILE")return null;if(Array.isArray(r))return r}try{return this._readdirEntries(n,this.fs.readdirSync(n))}catch(i){return this._readdirError(n,i),null}};Mn.prototype._readdirEntries=function(n,e){if(!this.mark&&!this.stat)for(var t=0;t<e.length;t++){var r=e[t];n==="/"?r=n+r:r=n+"/"+r,this.cache[r]=!0}return this.cache[n]=e,e};Mn.prototype._readdirError=function(n,e){switch(e.code){case"ENOTSUP":case"ENOTDIR":var t=this._makeAbs(n);if(this.cache[t]="FILE",t===this.cwdAbs){var r=new Error(e.code+" invalid cwd "+this.cwd);throw r.path=this.cwd,r.code=e.code,r}break;case"ENOENT":case"ELOOP":case"ENAMETOOLONG":case"UNKNOWN":this.cache[this._makeAbs(n)]=!1;break;default:if(this.cache[this._makeAbs(n)]=!1,this.strict)throw e;this.silent||console.error("glob error",e);break}};Mn.prototype._processGlobStar=function(n,e,t,r,i,o){var s=this._readdir(t,o);if(s){var a=r.slice(1),l=n?[n]:[],c=l.concat(a);this._process(c,i,!1);var u=s.length,d=this.symlinks[t];if(!(d&&o))for(var f=0;f<u;f++){var g=s[f];if(!(g.charAt(0)==="."&&!this.dot)){var b=l.concat(s[f],a);this._process(b,i,!0);var I=l.concat(s[f],r);this._process(I,i,!0)}}}};Mn.prototype._processSimple=function(n,e){var t=this._stat(n);if(this.matches[e]||(this.matches[e]=Object.create(null)),!!t){if(n&&qx(n)&&!this.nomount){var r=/[\/\\]$/.test(n);n.charAt(0)==="/"?n=$M.join(this.root,n):(n=$M.resolve(this.root,n),r&&(n+="/"))}process.platform==="win32"&&(n=n.replace(/\\/g,"/")),this._emitMatch(e,n)}};Mn.prototype._stat=function(n){var e=this._makeAbs(n),t=n.slice(-1)==="/";if(n.length>this.maxLength)return!1;if(!this.stat&&qM(this.cache,e)){var s=this.cache[e];if(Array.isArray(s)&&(s="DIR"),!t||s==="DIR")return s;if(t&&s==="FILE")return!1}var r,i=this.statCache[e];if(!i){var o;try{o=this.fs.lstatSync(e)}catch(a){if(a&&(a.code==="ENOENT"||a.code==="ENOTDIR"))return this.statCache[e]=!1,!1}if(o&&o.isSymbolicLink())try{i=this.fs.statSync(e)}catch{i=o}else i=o}this.statCache[e]=i;var s=!0;return i&&(s=i.isDirectory()?"DIR":"FILE"),this.cache[e]=this.cache[e]||s,t&&s==="FILE"?!1:s};Mn.prototype._mark=function(n){return Em.mark(this,n)};Mn.prototype._makeAbs=function(n){return Em.makeAbs(this,n)}});var GM=O((wOe,P6)=>{P6.exports=E6;function E6(n,e){if(n&&e)return E6(n)(e);if(typeof n!="function")throw new TypeError("need wrapper function");return Object.keys(n).forEach(function(r){t[r]=n[r]}),t;function t(){for(var r=new Array(arguments.length),i=0;i<r.length;i++)r[i]=arguments[i];var o=n.apply(this,r),s=r[r.length-1];return typeof o=="function"&&o!==s&&Object.keys(s).forEach(function(a){o[a]=s[a]}),o}}});var QM=O((EOe,zM)=>{var k6=GM();zM.exports=k6(Hx);zM.exports.strict=k6(x6);Hx.proto=Hx(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Hx(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return x6(this)},configurable:!0})});function Hx(n){var e=function(){return e.called?e.value:(e.called=!0,e.value=n.apply(this,arguments))};return e.called=!1,e}function x6(n){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=n.apply(this,arguments)},t=n.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var _6=O((POe,D6)=>{var vle=GM(),RC=Object.create(null),yle=QM();D6.exports=vle(ble);function ble(n,e){return RC[n]?(RC[n].push(e),null):(RC[n]=[e],Ile(n))}function Ile(n){return yle(function e(){var t=RC[n],r=t.length,i=Sle(arguments);try{for(var o=0;o<r;o++)t[o].apply(null,i)}finally{t.length>r?(t.splice(0,r),process.nextTick(function(){e.apply(null,i)})):delete RC[n]}})}function Sle(n){for(var e=n.length,t=[],r=0;r<e;r++)t[r]=n[r];return t}});var HM=O((DOe,R6)=>{R6.exports=Pm;var Cle=UM(),T6=PC(),kOe=T6.Minimatch,wle=m6(),Ele=require("events").EventEmitter,YM=require("path"),XM=require("assert"),AC=$x(),eK=w6(),km=BM(),Ple=km.setopts,ZM=km.ownProp,tK=_6(),xOe=require("util"),kle=km.childrenIgnored,xle=km.isIgnored,Dle=QM();function Pm(n,e,t){if(typeof e=="function"&&(t=e,e={}),e||(e={}),e.sync){if(t)throw new TypeError("callback provided to sync glob");return eK(n,e)}return new cr(n,e,t)}Pm.sync=eK;var _le=Pm.GlobSync=eK.GlobSync;Pm.glob=Pm;function Tle(n,e){if(e===null||typeof e!="object")return n;for(var t=Object.keys(e),r=t.length;r--;)n[t[r]]=e[t[r]];return n}Pm.hasMagic=function(n,e){var t=Tle({},e);t.noprocess=!0;var r=new cr(n,t),i=r.minimatch.set;if(!n)return!1;if(i.length>1)return!0;for(var o=0;o<i[0].length;o++)if(typeof i[0][o]!="string")return!0;return!1};Pm.Glob=cr;wle(cr,Ele);function cr(n,e,t){if(typeof e=="function"&&(t=e,e=null),e&&e.sync){if(t)throw new TypeError("callback provided to sync glob");return new _le(n,e)}if(!(this instanceof cr))return new cr(n,e,t);Ple(this,n,e),this._didRealPath=!1;var r=this.minimatch.set.length;this.matches=new Array(r),typeof t=="function"&&(t=Dle(t),this.on("error",t),this.on("end",function(l){t(null,l)}));var i=this;if(this._processing=0,this._emitQueue=[],this._processQueue=[],this.paused=!1,this.noprocess)return this;if(r===0)return a();for(var o=!0,s=0;s<r;s++)this._process(this.minimatch.set[s],s,!1,a);o=!1;function a(){--i._processing,i._processing<=0&&(o?process.nextTick(function(){i._finish()}):i._finish())}}cr.prototype._finish=function(){if(XM(this instanceof cr),!this.aborted){if(this.realpath&&!this._didRealpath)return this._realpath();km.finish(this),this.emit("end",this.found)}};cr.prototype._realpath=function(){if(this._didRealpath)return;this._didRealpath=!0;var n=this.matches.length;if(n===0)return this._finish();for(var e=this,t=0;t<this.matches.length;t++)this._realpathSet(t,r);function r(){--n===0&&e._finish()}};cr.prototype._realpathSet=function(n,e){var t=this.matches[n];if(!t)return e();var r=Object.keys(t),i=this,o=r.length;if(o===0)return e();var s=this.matches[n]=Object.create(null);r.forEach(function(a,l){a=i._makeAbs(a),Cle.realpath(a,i.realpathCache,function(c,u){c?c.syscall==="stat"?s[a]=!0:i.emit("error",c):s[u]=!0,--o===0&&(i.matches[n]=s,e())})})};cr.prototype._mark=function(n){return km.mark(this,n)};cr.prototype._makeAbs=function(n){return km.makeAbs(this,n)};cr.prototype.abort=function(){this.aborted=!0,this.emit("abort")};cr.prototype.pause=function(){this.paused||(this.paused=!0,this.emit("pause"))};cr.prototype.resume=function(){if(this.paused){if(this.emit("resume"),this.paused=!1,this._emitQueue.length){var n=this._emitQueue.slice(0);this._emitQueue.length=0;for(var e=0;e<n.length;e++){var t=n[e];this._emitMatch(t[0],t[1])}}if(this._processQueue.length){var r=this._processQueue.slice(0);this._processQueue.length=0;for(var e=0;e<r.length;e++){var i=r[e];this._processing--,this._process(i[0],i[1],i[2],i[3])}}}};cr.prototype._process=function(n,e,t,r){if(XM(this instanceof cr),XM(typeof r=="function"),!this.aborted){if(this._processing++,this.paused){this._processQueue.push([n,e,t,r]);return}for(var i=0;typeof n[i]=="string";)i++;var o;switch(i){case n.length:this._processSimple(n.join("/"),e,r);return;case 0:o=null;break;default:o=n.slice(0,i).join("/");break}var s=n.slice(i),a;o===null?a=".":((AC(o)||AC(n.join("/")))&&(!o||!AC(o))&&(o="/"+o),a=o);var l=this._makeAbs(a);if(kle(this,a))return r();var c=s[0]===T6.GLOBSTAR;c?this._processGlobStar(o,a,l,s,e,t,r):this._processReaddir(o,a,l,s,e,t,r)}};cr.prototype._processReaddir=function(n,e,t,r,i,o,s){var a=this;this._readdir(t,o,function(l,c){return a._processReaddir2(n,e,t,r,i,o,c,s)})};cr.prototype._processReaddir2=function(n,e,t,r,i,o,s,a){if(!s)return a();for(var l=r[0],c=!!this.minimatch.negate,u=l._glob,d=this.dot||u.charAt(0)===".",f=[],g=0;g<s.length;g++){var b=s[g];if(b.charAt(0)!=="."||d){var I;c&&!n?I=!b.match(l):I=b.match(l),I&&f.push(b)}}var E=f.length;if(E===0)return a();if(r.length===1&&!this.mark&&!this.stat){this.matches[i]||(this.matches[i]=Object.create(null));for(var g=0;g<E;g++){var b=f[g];n&&(n!=="/"?b=n+"/"+b:b=n+b),b.charAt(0)==="/"&&!this.nomount&&(b=YM.join(this.root,b)),this._emitMatch(i,b)}return a()}r.shift();for(var g=0;g<E;g++){var b=f[g],x;n&&(n!=="/"?b=n+"/"+b:b=n+b),this._process([b].concat(r),i,o,a)}a()};cr.prototype._emitMatch=function(n,e){if(!this.aborted&&!xle(this,e)){if(this.paused){this._emitQueue.push([n,e]);return}var t=AC(e)?e:this._makeAbs(e);if(this.mark&&(e=this._mark(e)),this.absolute&&(e=t),!this.matches[n][e]){if(this.nodir){var r=this.cache[t];if(r==="DIR"||Array.isArray(r))return}this.matches[n][e]=!0;var i=this.statCache[t];i&&this.emit("stat",e,i),this.emit("match",e)}}};cr.prototype._readdirInGlobStar=function(n,e){if(this.aborted)return;if(this.follow)return this._readdir(n,!1,e);var t="lstat\0"+n,r=this,i=tK(t,o);i&&r.fs.lstat(n,i);function o(s,a){if(s&&s.code==="ENOENT")return e();var l=a&&a.isSymbolicLink();r.symlinks[n]=l,!l&&a&&!a.isDirectory()?(r.cache[n]="FILE",e()):r._readdir(n,!1,e)}};cr.prototype._readdir=function(n,e,t){if(!this.aborted&&(t=tK("readdir\0"+n+"\0"+e,t),!!t)){if(e&&!ZM(this.symlinks,n))return this._readdirInGlobStar(n,t);if(ZM(this.cache,n)){var r=this.cache[n];if(!r||r==="FILE")return t();if(Array.isArray(r))return t(null,r)}var i=this;i.fs.readdir(n,Rle(this,n,t))}};function Rle(n,e,t){return function(r,i){r?n._readdirError(e,r,t):n._readdirEntries(e,i,t)}}cr.prototype._readdirEntries=function(n,e,t){if(!this.aborted){if(!this.mark&&!this.stat)for(var r=0;r<e.length;r++){var i=e[r];n==="/"?i=n+i:i=n+"/"+i,this.cache[i]=!0}return this.cache[n]=e,t(null,e)}};cr.prototype._readdirError=function(n,e,t){if(!this.aborted){switch(e.code){case"ENOTSUP":case"ENOTDIR":var r=this._makeAbs(n);if(this.cache[r]="FILE",r===this.cwdAbs){var i=new Error(e.code+" invalid cwd "+this.cwd);i.path=this.cwd,i.code=e.code,this.emit("error",i),this.abort()}break;case"ENOENT":case"ELOOP":case"ENAMETOOLONG":case"UNKNOWN":this.cache[this._makeAbs(n)]=!1;break;default:this.cache[this._makeAbs(n)]=!1,this.strict&&(this.emit("error",e),this.abort()),this.silent||console.error("glob error",e);break}return t()}};cr.prototype._processGlobStar=function(n,e,t,r,i,o,s){var a=this;this._readdir(t,o,function(l,c){a._processGlobStar2(n,e,t,r,i,o,c,s)})};cr.prototype._processGlobStar2=function(n,e,t,r,i,o,s,a){if(!s)return a();var l=r.slice(1),c=n?[n]:[],u=c.concat(l);this._process(u,i,!1,a);var d=this.symlinks[t],f=s.length;if(d&&o)return a();for(var g=0;g<f;g++){var b=s[g];if(!(b.charAt(0)==="."&&!this.dot)){var I=c.concat(s[g],l);this._process(I,i,!0,a);var E=c.concat(s[g],r);this._process(E,i,!0,a)}}a()};cr.prototype._processSimple=function(n,e,t){var r=this;this._stat(n,function(i,o){r._processSimple2(n,e,i,o,t)})};cr.prototype._processSimple2=function(n,e,t,r,i){if(this.matches[e]||(this.matches[e]=Object.create(null)),!r)return i();if(n&&AC(n)&&!this.nomount){var o=/[\/\\]$/.test(n);n.charAt(0)==="/"?n=YM.join(this.root,n):(n=YM.resolve(this.root,n),o&&(n+="/"))}process.platform==="win32"&&(n=n.replace(/\\/g,"/")),this._emitMatch(e,n),i()};cr.prototype._stat=function(n,e){var t=this._makeAbs(n),r=n.slice(-1)==="/";if(n.length>this.maxLength)return e();if(!this.stat&&ZM(this.cache,t)){var i=this.cache[t];if(Array.isArray(i)&&(i="DIR"),!r||i==="DIR")return e(null,i);if(r&&i==="FILE")return e()}var o,s=this.statCache[t];if(s!==void 0){if(s===!1)return e(null,s);var a=s.isDirectory()?"DIR":"FILE";return r&&a==="FILE"?e():e(null,a,s)}var l=this,c=tK("stat\0"+t,u);c&&l.fs.lstat(t,c);function u(d,f){if(f&&f.isSymbolicLink())return l.fs.stat(t,function(g,b){g?l._stat2(n,t,null,f,e):l._stat2(n,t,g,b,e)});l._stat2(n,t,d,f,e)}};cr.prototype._stat2=function(n,e,t,r,i){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR"))return this.statCache[e]=!1,i();var o=n.slice(-1)==="/";if(this.statCache[e]=r,e.slice(-1)==="/"&&r&&!r.isDirectory())return i(null,!1,r);var s=!0;return r&&(s=r.isDirectory()?"DIR":"FILE"),this.cache[e]=this.cache[e]||s,o&&s==="FILE"?i():i(null,s,r)}});var M6=O((_Oe,N6)=>{"use strict";var A6=process.platform==="win32",Ale=A6?/[^:]\\$/:/.\/$/;N6.exports=function(){var n;return A6?n=process.env.TEMP||process.env.TMP||(process.env.SystemRoot||process.env.windir)+"\\temp":n=process.env.TMPDIR||process.env.TMP||process.env.TEMP||"/tmp",Ale.test(n)&&(n=n.slice(0,-1)),n}});var G6=O((TOe,Uc)=>{var yo=require("fs"),rK=require("path"),K6=require("crypto"),Nle=M6(),NC=require("constants"),nK=Nle(),O6="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",iK=/XXXXXX/,L6=3,U6=NC.O_CREAT|NC.O_EXCL|NC.O_RDWR,W6=448,V6=384,gv=[],j6=!1,oK=!1;function F6(n){var e=[],t=null;try{t=K6.randomBytes(n)}catch{t=K6.pseudoRandomBytes(n)}for(var r=0;r<n;r++)e.push(O6[t[r]%O6.length]);return e.join("")}function Mle(n){return typeof n>"u"}function vv(n,e){if(typeof n=="function"){var t=n;n=e||{},e=t}else typeof n>"u"&&(n={});return[n,e]}function J6(n){if(n.name)return rK.join(n.dir||nK,n.name);if(n.template)return n.template.replace(iK,F6(6));var e=[n.prefix||"tmp-",process.pid,F6(12),n.postfix||""].join("");return rK.join(n.dir||nK,e)}function sK(n,e){var t=vv(n,e),r=t[0],i=t[1],o=r.tries||L6;if(isNaN(o)||o<0)return i(new Error("Invalid tries"));if(r.template&&!r.template.match(iK))return i(new Error("Invalid template provided"));(function s(){var a=J6(r);yo.stat(a,function(l){if(!l)return o-- >0?s():i(new Error("Could not get a unique tmp filename, max tries reached "+a));i(null,a)})})()}function aK(n){var e=vv(n),t=e[0],r=t.tries||L6;if(isNaN(r)||r<0)throw new Error("Invalid tries");if(t.template&&!t.template.match(iK))throw new Error("Invalid template provided");do{var i=J6(t);try{yo.statSync(i)}catch{return i}}while(r-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function Kle(n,e){var t=vv(n,e),r=t[0],i=t[1];r.postfix=Mle(r.postfix)?".tmp":r.postfix,sK(r,function(s,a){if(s)return i(s);yo.open(a,U6,r.mode||V6,function(c,u){if(c)return i(c);i(null,a,u,B6(a,u,r))})})}function Ole(n){var e=vv(n),t=e[0];t.postfix=t.postfix||".tmp";var r=aK(t),i=yo.openSync(r,U6,t.mode||V6);return{name:r,fd:i,removeCallback:B6(r,i,t)}}function Fle(n){var e=[n];do{for(var t=e.pop(),r=!1,i=yo.readdirSync(t),o=0,s=i.length;o<s;o++){var a=rK.join(t,i[o]),l=yo.lstatSync(a);l.isDirectory()?(r||(r=!0,e.push(t)),e.push(a)):yo.unlinkSync(a)}r||yo.rmdirSync(t)}while(e.length!==0)}function Lle(n,e){var t=vv(n,e),r=t[0],i=t[1];sK(r,function(s,a){if(s)return i(s);yo.mkdir(a,r.mode||W6,function(c){if(c)return i(c);i(null,a,$6(a,r))})})}function Ule(n){var e=vv(n),t=e[0],r=aK(t);return yo.mkdirSync(r,t.mode||W6),{name:r,removeCallback:$6(r,t)}}function B6(n,e,t){var r=q6(function(o){try{yo.closeSync(o[0])}catch(s){if(s.errno!=-NC.EBADF&&s.errno!=-NC.ENOENT)throw s}yo.unlinkSync(o[1])},[e,n]);return t.keep||gv.unshift(r),r}function $6(n,e){var t=e.unsafeCleanup?Fle:yo.rmdirSync.bind(yo),r=q6(t,n);return e.keep||gv.unshift(r),r}function q6(n,e){var t=!1;return function r(){if(!t){var i=gv.indexOf(r);i>=0&&gv.splice(i,1),t=!0,n(e)}}}function H6(){if(!(oK&&!j6))for(var n=0,e=gv.length;n<e;n++)try{gv[n].call(null)}catch{}}function Wle(){j6=!0}var Gx=process.versions.node.split(".").map(function(n){return parseInt(n,10)});Gx[0]===0&&(Gx[1]<9||Gx[1]===9&&Gx[2]<5)&&process.addListener("uncaughtException",function(e){throw oK=!0,H6(),e});process.addListener("exit",function(e){e&&(oK=!0),H6()});Uc.exports.tmpdir=nK;Uc.exports.dir=Lle;Uc.exports.dirSync=Ule;Uc.exports.file=Kle;Uc.exports.fileSync=Ole;Uc.exports.tmpName=sK;Uc.exports.tmpNameSync=aK;Uc.exports.setGracefulCleanup=Wle});var Q6=O((xm,z6)=>{var MC=require("node-fetch"),Vle=MC.default||MC,zx=function(n,e){return/^\/\//.test(n)&&(n="https:"+n),Vle.call(this,n,e)};zx.ponyfill=!0;z6.exports=xm=zx;xm.fetch=zx;xm.Headers=MC.Headers;xm.Request=MC.Request;xm.Response=MC.Response;xm.default=zx});var K7=O((y9e,M7)=>{var ece=require("crypto");M7.exports=function(){return ece.randomBytes(16)}});var L7=O((b9e,F7)=>{var O7=[];for(BC=0;BC<256;++BC)O7[BC]=(BC+256).toString(16).substr(1);var BC;function tce(n,e){var t=e||0,r=O7;return[r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],"-",r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]],r[n[t++]]].join("")}F7.exports=tce});var Io=O((I9e,U7)=>{var rce=K7(),nce=L7();function ice(n,e,t){var r=e&&t||0;typeof n=="string"&&(e=n==="binary"?new Array(16):null,n=null),n=n||{};var i=n.random||(n.rng||rce)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e)for(var o=0;o<16;++o)e[r+o]=i[o];return e||nce(i)}U7.exports=ice});var $7=O((wBe,B7)=>{"use strict";function Vm(n){if(!(this instanceof Vm))return new Vm(n);n=n||{},this.concurrency=n.concurrency||1/0,this.pending=0,this.jobs=[],this.cbs=[],this._done=ace.bind(this)}var sce=["push","unshift","splice"];sce.forEach(function(n){Vm.prototype[n]=function(){var e=Array.prototype[n].apply(this.jobs,arguments);return this._run(),e}});Object.defineProperty(Vm.prototype,"length",{get:function(){return this.pending+this.jobs.length}});Vm.prototype._run=function(){if(this.pending!==this.concurrency){if(this.jobs.length){var n=this.jobs.shift();this.pending++,n(this._done),this._run()}if(this.pending===0)for(;this.cbs.length!==0;){var e=this.cbs.pop();process.nextTick(e)}}};Vm.prototype.onDone=function(n){typeof n=="function"&&(this.cbs.push(n),this._run())};function ace(){this.pending--,this._run()}B7.exports=Vm});var jm=O((EBe,q7)=>{"use strict";q7.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var l$=O((PBe,a$)=>{var Q7=require("fs"),$c=require("path"),Y7=require("os"),X7=typeof __webpack_require__=="function"?__non_webpack_require__:require,lce=process.config&&process.config.variables||{},cce=!!process.env.PREBUILDS_ONLY,H7=process.versions.modules,bK=pce()?"electron":dce()?"node-webkit":"node",IK=process.env.npm_config_arch||Y7.arch(),SK=process.env.npm_config_platform||Y7.platform(),Z7=process.env.LIBC||(mce(SK)?"musl":"glibc"),CK=process.env.ARM_VERSION||(IK==="arm64"?"8":lce.arm_version)||"",e$=(process.versions.uv||"").split(".")[0];a$.exports=Ll;function Ll(n){return X7(Ll.resolve(n))}Ll.resolve=Ll.path=function(n){n=$c.resolve(n||".");try{var e=X7($c.join(n,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[e+"_PREBUILD"]&&(n=process.env[e+"_PREBUILD"])}catch{}if(!cce){var t=G7($c.join(n,"build/Release"),z7);if(t)return t;var r=G7($c.join(n,"build/Debug"),z7);if(r)return r}var i=a(n);if(i)return i;var o=a($c.dirname(process.execPath));if(o)return o;var s=["platform="+SK,"arch="+IK,"runtime="+bK,"abi="+H7,"uv="+e$,CK?"armv="+CK:"","libc="+Z7,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");throw new Error("No native build was found for "+s+`
loaded from: `+n+`
`);function a(l){var c=wK($c.join(l,"prebuilds")).map(t$),u=c.filter(r$(SK,IK)).sort(n$)[0];if(u){var d=$c.join(l,"prebuilds",u.name),f=wK(d).map(i$),g=f.filter(o$(bK,H7)),b=g.sort(s$(bK))[0];if(b)return $c.join(d,b.file)}}};function wK(n){try{return Q7.readdirSync(n)}catch{return[]}}function G7(n,e){var t=wK(n).filter(e);return t[0]&&$c.join(n,t[0])}function z7(n){return/\.node$/.test(n)}function t$(n){var e=n.split("-");if(e.length===2){var t=e[0],r=e[1].split("+");if(t&&r.length&&r.every(Boolean))return{name:n,platform:t,architectures:r}}}function r$(n,e){return function(t){return t==null||t.platform!==n?!1:t.architectures.includes(e)}}function n$(n,e){return n.architectures.length-e.architectures.length}function i$(n){var e=n.split("."),t=e.pop(),r={file:n,specificity:0};if(t==="node"){for(var i=0;i<e.length;i++){var o=e[i];if(o==="node"||o==="electron"||o==="node-webkit")r.runtime=o;else if(o==="napi")r.napi=!0;else if(o.slice(0,3)==="abi")r.abi=o.slice(3);else if(o.slice(0,2)==="uv")r.uv=o.slice(2);else if(o.slice(0,4)==="armv")r.armv=o.slice(4);else if(o==="glibc"||o==="musl")r.libc=o;else continue;r.specificity++}return r}}function o$(n,e){return function(t){return!(t==null||t.runtime!==n&&!uce(t)||t.abi!==e&&!t.napi||t.uv&&t.uv!==e$||t.armv&&t.armv!==CK||t.libc&&t.libc!==Z7)}}function uce(n){return n.runtime==="node"&&n.napi}function s$(n){return function(e,t){return e.runtime!==t.runtime?e.runtime===n?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function dce(){return!!(process.versions&&process.versions.nw)}function pce(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function mce(n){return n==="linux"&&Q7.existsSync("/etc/alpine-release")}Ll.parseTags=i$;Ll.matchTags=o$;Ll.compareTags=s$;Ll.parseTuple=t$;Ll.matchTuple=r$;Ll.compareTuples=n$});var PK=O((kBe,EK)=>{typeof process.addon=="function"?EK.exports=process.addon.bind(process):EK.exports=l$()});var u$=O((xBe,c$)=>{"use strict";var fce=(n,e,t,r,i)=>{for(var o=0;o<i;o++)t[r+o]=n[o]^e[o&3]},hce=(n,e)=>{let t=n.length;for(var r=0;r<t;r++)n[r]^=e[r&3]};c$.exports={mask:fce,unmask:hce}});var d$=O((DBe,kK)=>{"use strict";try{kK.exports=PK()(__dirname)}catch{kK.exports=u$()}});var wD=O((_Be,xK)=>{"use strict";var{EMPTY_BUFFER:gce}=jm();function p$(n,e){if(n.length===0)return gce;if(n.length===1)return n[0];let t=Buffer.allocUnsafe(e);for(var r=0,i=0;i<n.length;i++){let o=n[i];o.copy(t,r),r+=o.length}return t}function m$(n,e,t,r,i){for(var o=0;o<i;o++)t[r+o]=n[o]^e[o&3]}function f$(n,e){let t=n.length;for(var r=0;r<t;r++)n[r]^=e[r&3]}function h$(n){return n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)}function CD(n){if(CD.readOnly=!0,Buffer.isBuffer(n))return n;var e;return n instanceof ArrayBuffer?e=Buffer.from(n):ArrayBuffer.isView(n)?e=vce(n):(e=Buffer.from(n),CD.readOnly=!1),e}function vce(n){let e=Buffer.from(n.buffer);return n.byteLength!==n.buffer.byteLength?e.slice(n.byteOffset,n.byteOffset+n.byteLength):e}try{let n=d$(),e=n.BufferUtil||n;xK.exports={concat:p$,mask(t,r,i,o,s){s<48?m$(t,r,i,o,s):e.mask(t,r,i,o,s)},toArrayBuffer:h$,toBuffer:CD,unmask(t,r){t.length<32?f$(t,r):e.unmask(t,r)}}}catch{xK.exports={concat:p$,mask:m$,toArrayBuffer:h$,toBuffer:CD,unmask:f$}}});var GC=O((TBe,I$)=>{"use strict";var yce=$7(),HC=require("zlib"),g$=wD(),{kStatusCode:v$,NOOP:bce}=jm(),Ice=Buffer.from([0,0,255,255]),Sce=Buffer.from([0]),PD=Symbol("permessage-deflate"),qc=Symbol("total-length"),y$=Symbol("callback"),Bd=Symbol("buffers"),DK=Symbol("error"),ED,_K=class{constructor(e,t,r){if(this._maxPayload=r|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!ED){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ED=new yce({concurrency:i})}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate&&(this._deflate.close(),this._deflate=null)}acceptAsServer(e){let t=this._options,r=e.find(i=>!(t.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>i.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(r.server_no_context_takeover=!0),t.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(r.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?r.client_max_window_bits=t.clientMaxWindowBits:(r.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(r=>{var i=t[r];if(i.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(i=i[0],r==="client_max_window_bits"){if(i!==!0){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else if(r==="server_max_window_bits"){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else throw new Error(`Unknown parameter "${r}"`);t[r]=i})}),e}decompress(e,t,r){ED.push(i=>{this._decompress(e,t,(o,s)=>{i(),r(o,s)})})}compress(e,t,r){ED.push(i=>{this._compress(e,t,(o,s)=>{i(),r(o,s)})})}_decompress(e,t,r){let i=this._isServer?"client":"server";if(!this._inflate){let o=`${i}_max_window_bits`,s=typeof this.params[o]!="number"?HC.Z_DEFAULT_WINDOWBITS:this.params[o];this._inflate=HC.createInflateRaw(Object.assign({},this._options.zlibInflateOptions,{windowBits:s})),this._inflate[PD]=this,this._inflate[qc]=0,this._inflate[Bd]=[],this._inflate.on("error",wce),this._inflate.on("data",b$)}this._inflate[y$]=r,this._inflate.write(e),t&&this._inflate.write(Ice),this._inflate.flush(()=>{let o=this._inflate[DK];if(o){this._inflate.close(),this._inflate=null,r(o);return}let s=g$.concat(this._inflate[Bd],this._inflate[qc]);t&&this.params[`${i}_no_context_takeover`]?(this._inflate.close(),this._inflate=null):(this._inflate[qc]=0,this._inflate[Bd]=[]),r(null,s)})}_compress(e,t,r){if(!e||e.length===0){process.nextTick(r,null,Sce);return}let i=this._isServer?"server":"client";if(!this._deflate){let o=`${i}_max_window_bits`,s=typeof this.params[o]!="number"?HC.Z_DEFAULT_WINDOWBITS:this.params[o];this._deflate=HC.createDeflateRaw(Object.assign({},this._options.zlibDeflateOptions,{windowBits:s})),this._deflate[qc]=0,this._deflate[Bd]=[],this._deflate.on("error",bce),this._deflate.on("data",Cce)}this._deflate.write(e),this._deflate.flush(HC.Z_SYNC_FLUSH,()=>{if(this._deflate){var o=g$.concat(this._deflate[Bd],this._deflate[qc]);t&&(o=o.slice(0,o.length-4)),t&&this.params[`${i}_no_context_takeover`]?(this._deflate.close(),this._deflate=null):(this._deflate[qc]=0,this._deflate[Bd]=[]),r(null,o)}})}};I$.exports=_K;function Cce(n){this[Bd].push(n),this[qc]+=n.length}function b$(n){if(this[qc]+=n.length,this[PD]._maxPayload<1||this[qc]<=this[PD]._maxPayload){this[Bd].push(n);return}this[DK]=new RangeError("Max payload size exceeded"),this[DK][v$]=1009,this.removeListener("data",b$),this.reset()}function wce(n){this[PD]._inflate=null,n[v$]=1007,this[y$](n)}});var C$=O((RBe,S$)=>{"use strict";var Yv=class{constructor(e,t){this.target=t,this.type=e}},TK=class extends Yv{constructor(e,t){super("message",t),this.data=e}},RK=class extends Yv{constructor(e,t,r){super("close",r),this.wasClean=r._closeFrameReceived&&r._closeFrameSent,this.reason=t,this.code=e}},AK=class extends Yv{constructor(e){super("open",e)}},NK=class extends Yv{constructor(e,t){super("error",t),this.message=e.message,this.error=e}},Ece={addEventListener(n,e){if(typeof e!="function")return;function t(s){e.call(this,new TK(s,this))}function r(s,a){e.call(this,new RK(s,a,this))}function i(s){e.call(this,new NK(s,this))}function o(){e.call(this,new AK(this))}n==="message"?(t._listener=e,this.on(n,t)):n==="close"?(r._listener=e,this.on(n,r)):n==="error"?(i._listener=e,this.on(n,i)):n==="open"?(o._listener=e,this.on(n,o)):this.on(n,e)},removeEventListener(n,e){let t=this.listeners(n);for(var r=0;r<t.length;r++)(t[r]===e||t[r]._listener===e)&&this.removeListener(n,t[r])}};S$.exports=Ece});var MK=O((ABe,w$)=>{"use strict";var zC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Ul(n,e,t){Object.prototype.hasOwnProperty.call(n,e)?n[e].push(t):n[e]=[t]}function Pce(n){let e={};if(n===void 0||n==="")return e;for(var t={},r=!1,i=!1,o=!1,s,a,l=-1,c=-1,u=0;u<n.length;u++){let g=n.charCodeAt(u);if(s===void 0)if(c===-1&&zC[g]===1)l===-1&&(l=u);else if(g===32||g===9)c===-1&&l!==-1&&(c=u);else if(g===59||g===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u);let b=n.slice(l,c);g===44?(Ul(e,b,t),t={}):s=b,l=c=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(a===void 0)if(c===-1&&zC[g]===1)l===-1&&(l=u);else if(g===32||g===9)c===-1&&l!==-1&&(c=u);else if(g===59||g===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u),Ul(t,n.slice(l,c),!0),g===44&&(Ul(e,s,t),t={},s=void 0),l=c=-1}else if(g===61&&l!==-1&&c===-1)a=n.slice(l,u),l=c=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(i){if(zC[g]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);l===-1?l=u:r||(r=!0),i=!1}else if(o)if(zC[g]===1)l===-1&&(l=u);else if(g===34&&l!==-1)o=!1,c=u;else if(g===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(g===34&&n.charCodeAt(u-1)===61)o=!0;else if(c===-1&&zC[g]===1)l===-1&&(l=u);else if(l!==-1&&(g===32||g===9))c===-1&&(c=u);else if(g===59||g===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1&&(c=u);var d=n.slice(l,c);r&&(d=d.replace(/\\/g,""),r=!1),Ul(t,a,d),g===44&&(Ul(e,s,t),t={},s=void 0),a=void 0,l=c=-1}else throw new SyntaxError(`Unexpected character at index ${u}`)}if(l===-1||o)throw new SyntaxError("Unexpected end of input");c===-1&&(c=u);let f=n.slice(l,c);return s===void 0?Ul(e,f,{}):(a===void 0?Ul(t,f,!0):r?Ul(t,a,f.replace(/\\/g,"")):Ul(t,a,f),Ul(e,s,t)),e}function kce(n){return Object.keys(n).map(e=>{var t=n[e];return Array.isArray(t)||(t=[t]),t.map(r=>[e].concat(Object.keys(r).map(i=>{var o=r[i];return Array.isArray(o)||(o=[o]),o.map(s=>s===!0?i:`${i}=${s}`).join("; ")})).join("; ")).join(", ")}).join(", ")}w$.exports={format:kce,parse:Pce}});var P$=O((NBe,E$)=>{"use strict";function xce(n){let e=n.length,t=0;for(;t<e;)if(!(n[t]&128))t++;else if((n[t]&224)===192){if(t+1===e||(n[t+1]&192)!==128||(n[t]&254)===192)return!1;t+=2}else if((n[t]&240)===224){if(t+2>=e||(n[t+1]&192)!==128||(n[t+2]&192)!==128||n[t]===224&&(n[t+1]&224)===128||n[t]===237&&(n[t+1]&224)===160)return!1;t+=3}else if((n[t]&248)===240){if(t+3>=e||(n[t+1]&192)!==128||(n[t+2]&192)!==128||(n[t+3]&192)!==128||n[t]===240&&(n[t+1]&240)===128||n[t]===244&&n[t+1]>143||n[t]>244)return!1;t+=4}else return!1;return!0}E$.exports=xce});var k$=O((MBe,KK)=>{"use strict";try{KK.exports=PK()(__dirname)}catch{KK.exports=P$()}});var OK=O(kD=>{"use strict";try{let n=k$();kD.isValidUTF8=typeof n=="object"?n.Validation.isValidUTF8:n}catch{kD.isValidUTF8=()=>!0}kD.isValidStatusCode=n=>n>=1e3&&n<=1013&&n!==1004&&n!==1005&&n!==1006||n>=3e3&&n<=4999});var WK=O((OBe,A$)=>{"use strict";var{Writable:Dce}=require("stream"),x$=GC(),{BINARY_TYPES:_ce,EMPTY_BUFFER:Tce,kStatusCode:Rce,kWebSocket:Ace}=jm(),{concat:FK,toArrayBuffer:Nce,unmask:Mce}=wD(),{isValidStatusCode:Kce,isValidUTF8:D$}=OK(),QC=0,_$=1,T$=2,R$=3,LK=4,Oce=5,UK=class extends Dce{constructor(e,t,r){super(),this._binaryType=e||_ce[0],this[Ace]=void 0,this._extensions=t||{},this._maxPayload=r|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=QC,this._loop=!1}_write(e,t,r){if(this._opcode===8&&this._state==QC)return r();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(r)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=r.slice(e),r.slice(0,e)}let t=Buffer.allocUnsafe(e);do{let r=this._buffers[0];e>=r.length?this._buffers.shift().copy(t,t.length-e):(r.copy(t,t.length-e,0,e),this._buffers[0]=r.slice(e)),e-=r.length}while(e>0);return t}startLoop(e){var t;this._loop=!0;do switch(this._state){case QC:t=this.getInfo();break;case _$:t=this.getPayloadLength16();break;case T$:t=this.getPayloadLength64();break;case R$:this.getMask();break;case LK:t=this.getData(e);break;default:this._loop=!1;return}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let e=this.consume(2);if(e[0]&48)return this._loop=!1,si(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let t=(e[0]&64)===64;if(t&&!this._extensions[x$.extensionName])return this._loop=!1,si(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(e[0]&128)===128,this._opcode=e[0]&15,this._payloadLength=e[1]&127,this._opcode===0){if(t)return this._loop=!1,si(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,si(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,si(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=t}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,si(RangeError,"FIN must be set",!0,1002);if(t)return this._loop=!1,si(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,si(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,si(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(e[1]&128)===128,this._payloadLength===126)this._state=_$;else if(this._payloadLength===127)this._state=T$;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,53-32)-1?(this._loop=!1,si(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,si(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=R$:this._state=LK}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=LK}getData(e){var t=Tce;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&Mce(t,this._mask)}if(this._opcode>7)return this.controlMessage(t);if(this._compressed){this._state=Oce,this.decompress(t,e);return}return t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage()}decompress(e,t){this._extensions[x$.extensionName].decompress(e,this._fin,(i,o)=>{if(i)return t(i);if(o.length){if(this._messageLength+=o.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(si(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(o)}let s=this.dataMessage();if(s)return t(s);this.startLoop(t)})}dataMessage(){if(this._fin){let t=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){var e;this._binaryType==="nodebuffer"?e=FK(r,t):this._binaryType==="arraybuffer"?e=Nce(FK(r,t)):e=r,this.emit("message",e)}else{let i=FK(r,t);if(!D$(i))return this._loop=!1,si(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",i.toString())}}this._state=QC}controlMessage(e){if(this._opcode===8)if(this._loop=!1,e.length===0)this.emit("conclude",1005,""),this.end();else{if(e.length===1)return si(RangeError,"invalid payload length 1",!0,1002);{let t=e.readUInt16BE(0);if(!Kce(t))return si(RangeError,`invalid status code ${t}`,!0,1002);let r=e.slice(2);if(!D$(r))return si(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",t,r.toString()),this.end()}}else this._opcode===9?this.emit("ping",e):this.emit("pong",e);this._state=QC}};A$.exports=UK;function si(n,e,t,r){let i=new n(t?`Invalid WebSocket frame: ${e}`:e);return Error.captureStackTrace(i,si),i[Rce]=r,i}});var jK=O((FBe,K$)=>{"use strict";var{randomBytes:Fce}=require("crypto"),N$=GC(),{EMPTY_BUFFER:Lce}=jm(),{isValidStatusCode:Uce}=OK(),{mask:M$,toBuffer:Hc}=wD(),VK=class n{constructor(e,t){this._extensions=t||{},this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let r=t.mask&&t.readOnly;var i=t.mask?6:2,o=e.length;e.length>=65536?(i+=8,o=127):e.length>125&&(i+=2,o=126);let s=Buffer.allocUnsafe(r?e.length+i:i);if(s[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(s[0]|=64),s[1]=o,o===126?s.writeUInt16BE(e.length,2):o===127&&(s.writeUInt32BE(0,2),s.writeUInt32BE(e.length,6)),!t.mask)return[s,e];let a=Fce(4);return s[1]|=128,s[i-4]=a[0],s[i-3]=a[1],s[i-2]=a[2],s[i-1]=a[3],r?(M$(e,a,s,i,e.length),[s]):(M$(e,a,e,0,e.length),[s,e])}close(e,t,r,i){var o;if(e===void 0)o=Lce;else{if(typeof e!="number"||!Uce(e))throw new TypeError("First argument must be a valid error code number");t===void 0||t===""?(o=Buffer.allocUnsafe(2),o.writeUInt16BE(e,0)):(o=Buffer.allocUnsafe(2+Buffer.byteLength(t)),o.writeUInt16BE(e,0),o.write(t,2))}this._deflating?this.enqueue([this.doClose,o,r,i]):this.doClose(o,r,i)}doClose(e,t,r){this.sendFrame(n.frame(e,{fin:!0,rsv1:!1,opcode:8,mask:t,readOnly:!1}),r)}ping(e,t,r){let i=Hc(e);this._deflating?this.enqueue([this.doPing,i,t,Hc.readOnly,r]):this.doPing(i,t,Hc.readOnly,r)}doPing(e,t,r,i){this.sendFrame(n.frame(e,{fin:!0,rsv1:!1,opcode:9,mask:t,readOnly:r}),i)}pong(e,t,r){let i=Hc(e);this._deflating?this.enqueue([this.doPong,i,t,Hc.readOnly,r]):this.doPong(i,t,Hc.readOnly,r)}doPong(e,t,r,i){this.sendFrame(n.frame(e,{fin:!0,rsv1:!1,opcode:10,mask:t,readOnly:r}),i)}send(e,t,r){let i=Hc(e),o=this._extensions[N$.extensionName];var s=t.binary?2:1,a=t.compress;if(this._firstFragment?(this._firstFragment=!1,a&&o&&(a=i.length>=o._threshold),this._compress=a):(a=!1,s=0),t.fin&&(this._firstFragment=!0),o){let l={fin:t.fin,rsv1:a,opcode:s,mask:t.mask,readOnly:Hc.readOnly};this._deflating?this.enqueue([this.dispatch,i,this._compress,l,r]):this.dispatch(i,this._compress,l,r)}else this.sendFrame(n.frame(i,{fin:t.fin,rsv1:!1,opcode:s,mask:t.mask,readOnly:Hc.readOnly}),r)}dispatch(e,t,r,i){if(!t){this.sendFrame(n.frame(e,r),i);return}let o=this._extensions[N$.extensionName];this._deflating=!0,o.compress(e,r.fin,(s,a)=>{this._deflating=!1,r.readOnly=!1,this.sendFrame(n.frame(a,r),i),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[1].length,e[0].apply(this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[1].length,this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};K$.exports=VK});var $K=O((LBe,q$)=>{"use strict";var Wce=require("events"),O$=require("crypto"),Vce=require("https"),jce=require("http"),Jce=require("net"),Bce=require("tls"),Xv=require("url"),$d=GC(),W$=C$(),F$=MK(),$ce=WK(),qce=jK(),{BINARY_TYPES:L$,EMPTY_BUFFER:JK,GUID:Hce,kStatusCode:Gce,kWebSocket:So,NOOP:V$}=jm(),xD=["CONNECTING","OPEN","CLOSING","CLOSED"],BK=[8,13],zce=30*1e3,Co=class n extends Wce{constructor(e,t,r){super(),this.readyState=n.CONNECTING,this.protocol="",this._binaryType=L$[0],this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._closeCode=1006,this._extensions={},this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._isServer=!1,this._redirects=0,Array.isArray(t)?t=t.join(", "):typeof t=="object"&&t!==null&&(r=t,t=void 0),j$(this,e,t,r)):this._isServer=!0}get CONNECTING(){return n.CONNECTING}get CLOSING(){return n.CLOSING}get CLOSED(){return n.CLOSED}get OPEN(){return n.OPEN}get binaryType(){return this._binaryType}set binaryType(e){L$.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?(this._socket.bufferSize||0)+this._sender._bufferedBytes:0}get extensions(){return Object.keys(this._extensions).join()}setSocket(e,t,r){let i=new $ce(this._binaryType,this._extensions,r);this._sender=new qce(e,this._extensions),this._receiver=i,this._socket=e,i[So]=this,e[So]=this,i.on("conclude",Xce),i.on("drain",Zce),i.on("error",eue),i.on("message",tue),i.on("ping",rue),i.on("pong",nue),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",J$),e.on("data",DD),e.on("end",B$),e.on("error",$$),this.readyState=n.OPEN,this.emit("open")}emitClose(){if(this.readyState=n.CLOSED,!this._socket){this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[$d.extensionName]&&this._extensions[$d.extensionName].cleanup(),this._receiver.removeAllListeners(),this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){let r="WebSocket was closed before the connection was established";return Gc(this,this._req,r)}if(this.readyState===n.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this.readyState=n.CLOSING,this._sender.close(e,t,!this._isServer,r=>{r||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),zce)}}ping(e,t,r){if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),this.readyState!==n.OPEN){let i=new Error(`WebSocket is not open: readyState ${this.readyState} (${xD[this.readyState]})`);if(r)return r(i);throw i}typeof e=="number"&&(e=e.toString()),t===void 0&&(t=!this._isServer),this._sender.ping(e||JK,t,r)}pong(e,t,r){if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),this.readyState!==n.OPEN){let i=new Error(`WebSocket is not open: readyState ${this.readyState} (${xD[this.readyState]})`);if(r)return r(i);throw i}typeof e=="number"&&(e=e.toString()),t===void 0&&(t=!this._isServer),this._sender.pong(e||JK,t,r)}send(e,t,r){if(typeof t=="function"&&(r=t,t={}),this.readyState!==n.OPEN){let o=new Error(`WebSocket is not open: readyState ${this.readyState} (${xD[this.readyState]})`);if(r)return r(o);throw o}typeof e=="number"&&(e=e.toString());let i=Object.assign({binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0},t);this._extensions[$d.extensionName]||(i.compress=!1),this._sender.send(e||JK,i,r)}terminate(){if(this.readyState!==n.CLOSED){if(this.readyState===n.CONNECTING){let e="WebSocket was closed before the connection was established";return Gc(this,this._req,e)}this._socket&&(this.readyState=n.CLOSING,this._socket.destroy())}}};xD.forEach((n,e)=>{Co[n]=e});["open","error","close","message"].forEach(n=>{Object.defineProperty(Co.prototype,`on${n}`,{get(){let e=this.listeners(n);for(var t=0;t<e.length;t++)if(e[t]._listener)return e[t]._listener},set(e){let t=this.listeners(n);for(var r=0;r<t.length;r++)t[r]._listener&&this.removeListener(n,t[r]);this.addEventListener(n,e)}})});Co.prototype.addEventListener=W$.addEventListener;Co.prototype.removeEventListener=W$.removeEventListener;q$.exports=Co;function j$(n,e,t,r){let i=Object.assign({protocolVersion:BK[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10},r,{createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,auth:void 0,host:void 0,path:void 0,port:void 0});if(!BK.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${BK.join(", ")})`);var o;typeof e=="object"&&e.href!==void 0?(o=e,n.url=e.href):(o=Xv.URL?new Xv.URL(e):Xv.parse(e),n.url=e);let s=o.protocol==="ws+unix:";if(!o.host&&(!s||!o.pathname))throw new Error(`Invalid URL: ${n.url}`);let a=o.protocol==="wss:"||o.protocol==="https:",l=a?443:80,c=O$.randomBytes(16).toString("base64"),u=a?Vce.get:jce.get,d=o.search?`${o.pathname||"/"}${o.search}`:o.pathname||"/";var f;if(i.createConnection=a?Yce:Qce,i.defaultPort=i.defaultPort||l,i.port=o.port||l,i.host=o.hostname.startsWith("[")?o.hostname.slice(1,-1):o.hostname,i.headers=Object.assign({"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":c,Connection:"Upgrade",Upgrade:"websocket"},i.headers),i.path=d,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(f=new $d(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=F$.format({[$d.extensionName]:f.offer()})),t&&(i.headers["Sec-WebSocket-Protocol"]=t),i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),o.auth?i.auth=o.auth:(o.username||o.password)&&(i.auth=`${o.username}:${o.password}`),s){let b=d.split(":");i.socketPath=b[0],i.path=b[1]}var g=n._req=u(i);i.timeout&&g.on("timeout",()=>{Gc(n,g,"Opening handshake has timed out")}),g.on("error",b=>{n._req.aborted||(g=n._req=null,n.readyState=Co.CLOSING,n.emit("error",b),n.emitClose())}),g.on("response",b=>{let I=b.headers.location,E=b.statusCode;if(I&&i.followRedirects&&E>=300&&E<400){if(++n._redirects>i.maxRedirects){Gc(n,g,"Maximum redirects exceeded");return}g.abort();let x=Xv.URL?new Xv.URL(I,e):Xv.resolve(e,I);j$(n,x,t,r)}else n.emit("unexpected-response",g,b)||Gc(n,g,`Unexpected server response: ${b.statusCode}`)}),g.on("upgrade",(b,I,E)=>{if(n.emit("upgrade",b),n.readyState!==Co.CONNECTING)return;g=n._req=null;let x=O$.createHash("sha1").update(c+Hce).digest("base64");if(b.headers["sec-websocket-accept"]!==x){Gc(n,I,"Invalid Sec-WebSocket-Accept header");return}let A=b.headers["sec-websocket-protocol"],T=(t||"").split(/, */);var J;if(!t&&A?J="Server sent a subprotocol but none was requested":t&&!A?J="Server sent no subprotocol":A&&!T.includes(A)&&(J="Server sent an invalid subprotocol"),J){Gc(n,I,J);return}if(A&&(n.protocol=A),f)try{let ne=F$.parse(b.headers["sec-websocket-extensions"]);ne[$d.extensionName]&&(f.accept(ne[$d.extensionName]),n._extensions[$d.extensionName]=f)}catch{Gc(n,I,"Invalid Sec-WebSocket-Extensions header");return}n.setSocket(I,E,i.maxPayload)})}function Qce(n){return n.protocolVersion&&(n.path=n.socketPath),Jce.connect(n)}function Yce(n){return n.path=void 0,n.servername=n.servername||n.host,Bce.connect(n)}function Gc(n,e,t){n.readyState=Co.CLOSING;let r=new Error(t);Error.captureStackTrace(r,Gc),e.setHeader?(e.abort(),e.once("abort",n.emitClose.bind(n)),n.emit("error",r)):(e.destroy(r),e.once("error",n.emit.bind(n,"error")),e.once("close",n.emitClose.bind(n)))}function Xce(n,e){let t=this[So];t._socket.removeListener("data",DD),t._socket.resume(),t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=n,n===1005?t.close():t.close(n,e)}function Zce(){this[So]._socket.resume()}function eue(n){let e=this[So];e._socket.removeListener("data",DD),e.readyState=Co.CLOSING,e._closeCode=n[Gce],e.emit("error",n),e._socket.destroy()}function U$(){this[So].emitClose()}function tue(n){this[So].emit("message",n)}function rue(n){let e=this[So];e.pong(n,!e._isServer,V$),e.emit("ping",n)}function nue(n){this[So].emit("pong",n)}function J$(){let n=this[So];this.removeListener("close",J$),this.removeListener("end",B$),n.readyState=Co.CLOSING,n._socket.read(),n._receiver.end(),this.removeListener("data",DD),this[So]=void 0,clearTimeout(n._closeTimer),n._receiver._writableState.finished||n._receiver._writableState.errorEmitted?n.emitClose():(n._receiver.on("error",U$),n._receiver.on("finish",U$))}function DD(n){this[So]._receiver.write(n)||this.pause()}function B$(){let n=this[So];n.readyState=Co.CLOSING,n._receiver.end(),this.end()}function $$(){let n=this[So];this.removeListener("error",$$),this.on("error",V$),n.readyState=Co.CLOSING,this.destroy()}});var z$=O((UBe,G$)=>{"use strict";var iue=require("events"),oue=require("crypto"),TD=require("http"),Jm=GC(),H$=MK(),sue=$K(),{GUID:aue}=jm(),lue=/^[+/0-9A-Za-z]{22}==$/,qK=class extends iue{constructor(e,t){if(super(),e=Object.assign({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},e),e.port==null&&!e.server&&!e.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');e.port!=null?(this._server=TD.createServer((r,i)=>{let o=TD.STATUS_CODES[426];i.writeHead(426,{"Content-Length":o.length,"Content-Type":"text/plain"}),i.end(o)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server&&(this._removeListeners=cue(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(r,i,o)=>{this.handleUpgrade(r,i,o,s=>{this.emit("connection",s,r)})}})),e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set),this.options=e}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(e&&this.once("close",e),this.clients)for(let r of this.clients)r.terminate();let t=this._server;if(t&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){t.close(()=>this.emit("close"));return}process.nextTick(uue,this)}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,r,i){t.on("error",HK);let o=e.headers["sec-websocket-key"]!==void 0?e.headers["sec-websocket-key"].trim():!1,s=e.headers.upgrade,a=+e.headers["sec-websocket-version"],l={};if(e.method!=="GET"||s===void 0||s.toLowerCase()!=="websocket"||!o||!lue.test(o)||a!==8&&a!==13||!this.shouldHandle(e))return _D(t,400);if(this.options.perMessageDeflate){let c=new Jm(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let u=H$.parse(e.headers["sec-websocket-extensions"]);u[Jm.extensionName]&&(c.accept(u[Jm.extensionName]),l[Jm.extensionName]=c)}catch{return _D(t,400)}}if(this.options.verifyClient){let c={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.connection.authorized||e.connection.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(c,(u,d,f,g)=>{if(!u)return _D(t,d||401,f,g);this.completeUpgrade(o,l,e,t,r,i)});return}if(!this.options.verifyClient(c))return _D(t,401)}this.completeUpgrade(o,l,e,t,r,i)}completeUpgrade(e,t,r,i,o,s){if(!i.readable||!i.writable)return i.destroy();let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${oue.createHash("sha1").update(e+aue).digest("base64")}`],c=new sue(null);var u=r.headers["sec-websocket-protocol"];if(u&&(u=u.split(",").map(due),this.options.handleProtocols?u=this.options.handleProtocols(u,r):u=u[0],u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),c.protocol=u)),t[Jm.extensionName]){let d=t[Jm.extensionName].params,f=H$.format({[Jm.extensionName]:[d]});l.push(`Sec-WebSocket-Extensions: ${f}`),c._extensions=t}this.emit("headers",l,r),i.write(l.concat(`\r
`).join(`\r
`)),i.removeListener("error",HK),c.setSocket(i,o,this.options.maxPayload),this.clients&&(this.clients.add(c),c.on("close",()=>this.clients.delete(c))),s(c)}};G$.exports=qK;function cue(n,e){for(let t of Object.keys(e))n.on(t,e[t]);return function(){for(let r of Object.keys(e))n.removeListener(r,e[r])}}function uue(n){n.emit("close")}function HK(){this.destroy()}function _D(n,e,t,r){n.writable&&(t=t||TD.STATUS_CODES[e],r=Object.assign({Connection:"close","Content-type":"text/html","Content-Length":Buffer.byteLength(t)},r),n.write(`HTTP/1.1 ${e} ${TD.STATUS_CODES[e]}\r
`+Object.keys(r).map(i=>`${i}: ${r[i]}`).join(`\r
`)+`\r
\r
`+t)),n.removeListener("error",HK),n.destroy()}function due(n){return n.trim()}});var Y$=O((WBe,Q$)=>{"use strict";var RD=$K();RD.Server=z$();RD.Receiver=WK();RD.Sender=jK();Q$.exports=RD});var Z$=O((VBe,X$)=>{"use strict";X$.exports=Y$()});var s8=O((OD,o8)=>{(function(n,e){typeof OD=="object"&&typeof o8<"u"?e(OD):typeof define=="function"&&define.amd?define(["exports"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.lumino_algorithm={}))})(OD,function(n){"use strict";n.ArrayExt=void 0,function(F){function U(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;V<W?Se=V+1+(Q-W):Se=V-W+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W+Ae)%Q;if(Z[ir]===le)return ir}return-1}F.firstIndexOf=U;function pe(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;W<V?Se=W+1+(Q-V):Se=W-V+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W-Ae+Q)%Q;if(Z[ir]===le)return ir}return-1}F.lastIndexOf=pe;function Re(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;V<W?Se=V+1+(Q-W):Se=V-W+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W+Ae)%Q;if(le(Z[ir],ir))return ir}return-1}F.findFirstIndex=Re;function ze(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=Z.length;if(Q===0)return-1;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;W<V?Se=W+1+(Q-V):Se=W-V+1;for(var Ae=0;Ae<Se;++Ae){var ir=(W-Ae+Q)%Q;if(le(Z[ir],ir))return ir}return-1}F.findLastIndex=ze;function Yr(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Re(Z,le,W,V);return Q!==-1?Z[Q]:void 0}F.findFirstValue=Yr;function Wt(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=ze(Z,le,W,V);return Q!==-1?Z[Q]:void 0}F.findLastValue=Wt;function Mt(Z,le,W,V,Q){V===void 0&&(V=0),Q===void 0&&(Q=-1);var Se=Z.length;if(Se===0)return 0;V<0?V=Math.max(0,V+Se):V=Math.min(V,Se-1),Q<0?Q=Math.max(0,Q+Se):Q=Math.min(Q,Se-1);for(var Ae=V,ir=Q-V+1;ir>0;){var mi=ir>>1,hc=Ae+mi;W(Z[hc],le)<0?(Ae=hc+1,ir-=mi+1):ir=mi}return Ae}F.lowerBound=Mt;function xt(Z,le,W,V,Q){V===void 0&&(V=0),Q===void 0&&(Q=-1);var Se=Z.length;if(Se===0)return 0;V<0?V=Math.max(0,V+Se):V=Math.min(V,Se-1),Q<0?Q=Math.max(0,Q+Se):Q=Math.min(Q,Se-1);for(var Ae=V,ir=Q-V+1;ir>0;){var mi=ir>>1,hc=Ae+mi;W(Z[hc],le)>0?ir=mi:(Ae=hc+1,ir-=mi+1)}return Ae}F.upperBound=xt;function yr(Z,le,W){if(Z===le)return!0;if(Z.length!==le.length)return!1;for(var V=0,Q=Z.length;V<Q;++V)if(W?!W(Z[V],le[V]):Z[V]!==le[V])return!1;return!0}F.shallowEqual=yr;function Lr(Z,le){le===void 0&&(le={});var W=le.start,V=le.stop,Q=le.step;if(Q===void 0&&(Q=1),Q===0)throw new Error("Slice `step` cannot be zero.");var Se=Z.length;W===void 0?W=Q<0?Se-1:0:W<0?W=Math.max(W+Se,Q<0?-1:0):W>=Se&&(W=Q<0?Se-1:Se),V===void 0?V=Q<0?-1:Se:V<0?V=Math.max(V+Se,Q<0?-1:0):V>=Se&&(V=Q<0?Se-1:Se);var Ae;Q<0&&V>=W||Q>0&&W>=V?Ae=0:Q<0?Ae=Math.floor((V-W+1)/Q+1):Ae=Math.floor((V-W-1)/Q+1);for(var ir=[],mi=0;mi<Ae;++mi)ir[mi]=Z[W+mi*Q];return ir}F.slice=Lr;function wr(Z,le,W){var V=Z.length;if(!(V<=1)&&(le<0?le=Math.max(0,le+V):le=Math.min(le,V-1),W<0?W=Math.max(0,W+V):W=Math.min(W,V-1),le!==W)){for(var Q=Z[le],Se=le<W?1:-1,Ae=le;Ae!==W;Ae+=Se)Z[Ae]=Z[Ae+Se];Z[W]=Q}}F.move=wr;function Xr(Z,le,W){le===void 0&&(le=0),W===void 0&&(W=-1);var V=Z.length;if(!(V<=1))for(le<0?le=Math.max(0,le+V):le=Math.min(le,V-1),W<0?W=Math.max(0,W+V):W=Math.min(W,V-1);le<W;){var Q=Z[le],Se=Z[W];Z[le++]=Se,Z[W--]=Q}}F.reverse=Xr;function $(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(!(Q<=1)&&(W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1),!(W>=V))){var Se=V-W+1;if(le>0?le=le%Se:le<0&&(le=(le%Se+Se)%Se),le!==0){var Ae=W+le;Xr(Z,W,Ae-1),Xr(Z,Ae,V),Xr(Z,W,V)}}}F.rotate=$;function X(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q!==0){W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);var Se;V<W?Se=V+1+(Q-W):Se=V-W+1;for(var Ae=0;Ae<Se;++Ae)Z[(W+Ae)%Q]=le}}F.fill=X;function ue(Z,le,W){var V=Z.length;le<0?le=Math.max(0,le+V):le=Math.min(le,V);for(var Q=V;Q>le;--Q)Z[Q]=Z[Q-1];Z[le]=W}F.insert=ue;function ve(Z,le){var W=Z.length;if(le<0&&(le+=W),!(le<0||le>=W)){for(var V=Z[le],Q=le+1;Q<W;++Q)Z[Q-1]=Z[Q];return Z.length=W-1,V}}F.removeAt=ve;function Je(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=U(Z,le,W,V);return Q!==-1&&ve(Z,Q),Q}F.removeFirstOf=Je;function Zr(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q=pe(Z,le,W,V);return Q!==-1&&ve(Z,Q),Q}F.removeLastOf=Zr;function bt(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return 0;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);for(var Se=0,Ae=0;Ae<Q;++Ae)W<=V&&Ae>=W&&Ae<=V&&Z[Ae]===le||V<W&&(Ae<=V||Ae>=W)&&Z[Ae]===le?Se++:Se>0&&(Z[Ae-Se]=Z[Ae]);return Se>0&&(Z.length=Q-Se),Se}F.removeAllOf=bt;function wt(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q,Se=Re(Z,le,W,V);return Se!==-1&&(Q=ve(Z,Se)),{index:Se,value:Q}}F.removeFirstWhere=wt;function Qe(Z,le,W,V){W===void 0&&(W=-1),V===void 0&&(V=0);var Q,Se=ze(Z,le,W,V);return Se!==-1&&(Q=ve(Z,Se)),{index:Se,value:Q}}F.removeLastWhere=Qe;function At(Z,le,W,V){W===void 0&&(W=0),V===void 0&&(V=-1);var Q=Z.length;if(Q===0)return 0;W<0?W=Math.max(0,W+Q):W=Math.min(W,Q-1),V<0?V=Math.max(0,V+Q):V=Math.min(V,Q-1);for(var Se=0,Ae=0;Ae<Q;++Ae)W<=V&&Ae>=W&&Ae<=V&&le(Z[Ae],Ae)||V<W&&(Ae<=V||Ae>=W)&&le(Z[Ae],Ae)?Se++:Se>0&&(Z[Ae-Se]=Z[Ae]);return Se>0&&(Z.length=Q-Se),Se}F.removeAllWhere=At}(n.ArrayExt||(n.ArrayExt={}));function e(F){var U;return typeof F.iter=="function"?U=F.iter():U=new d(F),U}function t(F){return new f(F)}function r(F){return new g(F)}function i(F){return new b(F)}function o(F){return new I(F)}function s(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++)===!1)return}function a(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(!U(ze,pe++))return!1;return!0}function l(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++))return!0;return!1}function c(F){for(var U=0,pe=[],Re=e(F),ze;(ze=Re.next())!==void 0;)pe[U++]=ze;return pe}function u(F){for(var U=e(F),pe,Re={};(pe=U.next())!==void 0;)Re[pe[0]]=pe[1];return Re}var d=function(){function F(U){this._index=0,this._source=U}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._source.length))return this._source[this._index++]},F}(),f=function(){function F(U,pe){pe===void 0&&(pe=Object.keys(U)),this._index=0,this._source=U,this._keys=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source,this._keys);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._keys.length)){var U=this._keys[this._index++];return U in this._source?U:this.next()}},F}(),g=function(){function F(U,pe){pe===void 0&&(pe=Object.keys(U)),this._index=0,this._source=U,this._keys=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source,this._keys);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._keys.length)){var U=this._keys[this._index++];return U in this._source?this._source[U]:this.next()}},F}(),b=function(){function F(U,pe){pe===void 0&&(pe=Object.keys(U)),this._index=0,this._source=U,this._keys=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source,this._keys);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._keys.length)){var U=this._keys[this._index++];return U in this._source?[U,this._source[U]]:this.next()}},F}(),I=function(){function F(U){this._fn=U}return F.prototype.iter=function(){return this},F.prototype.clone=function(){throw new Error("An `FnIterator` cannot be cloned.")},F.prototype.next=function(){return this._fn.call(void 0)},F}();function E(){for(var F=[],U=0;U<arguments.length;U++)F[U]=arguments[U];return new x(e(F.map(e)))}var x=function(){function F(U){this._cloned=!1,this._source=U,this._active=void 0}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source.clone());return U._active=this._active&&this._active.clone(),U._cloned=!0,this._cloned=!0,U},F.prototype.next=function(){if(this._active===void 0){var U=this._source.next();if(U===void 0)return;this._active=this._cloned?U.clone():U}var pe=this._active.next();return pe!==void 0?pe:(this._active=void 0,this.next())},F}();function A(){return new T}var T=function(){function F(){}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F},F.prototype.next=function(){},F}();function J(F,U){return U===void 0&&(U=0),new ne(e(F),U)}var ne=function(){function F(U,pe){this._source=U,this._index=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.clone(),this._index)},F.prototype.next=function(){var U=this._source.next();if(U!==void 0)return[this._index++,U]},F}();function H(F,U){return new oe(e(F),U)}var oe=function(){function F(U,pe){this._index=0,this._source=U,this._fn=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source.clone(),this._fn);return U._index=this._index,U},F.prototype.next=function(){for(var U=this._fn,pe=this._source,Re;(Re=pe.next())!==void 0;)if(U(Re,this._index++))return Re},F}();function ae(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++))return ze}function Y(F,U){for(var pe=0,Re=e(F),ze;(ze=Re.next())!==void 0;)if(U(ze,pe++))return pe-1;return-1}function Ie(F,U){var pe=e(F),Re=pe.next();if(Re!==void 0){for(var ze=Re;(Re=pe.next())!==void 0;)U(Re,ze)<0&&(ze=Re);return ze}}function Ke(F,U){var pe=e(F),Re=pe.next();if(Re!==void 0){for(var ze=Re;(Re=pe.next())!==void 0;)U(Re,ze)>0&&(ze=Re);return ze}}function pt(F,U){var pe=e(F),Re=pe.next();if(Re!==void 0){for(var ze=Re,Yr=Re;(Re=pe.next())!==void 0;)U(Re,ze)<0?ze=Re:U(Re,Yr)>0&&(Yr=Re);return[ze,Yr]}}function mt(F,U){return new kt(e(F),U)}var kt=function(){function F(U,pe){this._index=0,this._source=U,this._fn=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source.clone(),this._fn);return U._index=this._index,U},F.prototype.next=function(){var U=this._source.next();if(U!==void 0)return this._fn.call(void 0,U,this._index++)},F}();function ee(F,U,pe){return U===void 0?new Ee(0,F,1):pe===void 0?new Ee(F,U,1):new Ee(F,U,pe)}var Ee=function(){function F(U,pe,Re){this._index=0,this._start=U,this._stop=pe,this._step=Re,this._length=Te.rangeLength(U,pe,Re)}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._start,this._stop,this._step);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index>=this._length))return this._start+this._step*this._index++},F}(),Te;(function(F){function U(pe,Re,ze){return ze===0?1/0:pe>Re&&ze>0||pe<Re&&ze<0?0:Math.ceil((Re-pe)/ze)}F.rangeLength=U})(Te||(Te={}));function he(F,U,pe){var Re=0,ze=e(F),Yr=ze.next();if(Yr===void 0&&pe===void 0)throw new TypeError("Reduce of empty iterable with no initial value.");if(Yr===void 0)return pe;var Wt=ze.next();if(Wt===void 0&&pe===void 0)return Yr;if(Wt===void 0)return U(pe,Yr,Re++);var Mt;pe===void 0?Mt=U(Yr,Wt,Re++):Mt=U(U(pe,Yr,Re++),Wt,Re++);for(var xt;(xt=ze.next())!==void 0;)Mt=U(Mt,xt,Re++);return Mt}function ht(F,U){return new nr(F,U)}function Fi(F){return new nr(F,1)}var nr=function(){function F(U,pe){this._value=U,this._count=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._value,this._count)},F.prototype.next=function(){if(!(this._count<=0))return this._count--,this._value},F}();function pi(F){var U;return typeof F.retro=="function"?U=F.retro():U=new Du(F),U}var Du=function(){function F(U){this._source=U,this._index=U.length-1}return F.prototype.iter=function(){return this},F.prototype.clone=function(){var U=new F(this._source);return U._index=this._index,U},F.prototype.next=function(){if(!(this._index<0||this._index>=this._source.length))return this._source[this._index--]},F}();function Fr(F){var U=[],pe=new Set,Re=new Map;return s(F,ze),Re.forEach(function(Wt,Mt){Yr(Mt)}),U;function ze(Wt){var Mt=Wt[0],xt=Wt[1],yr=Re.get(xt);yr?yr.push(Mt):Re.set(xt,[Mt])}function Yr(Wt){if(!pe.has(Wt)){pe.add(Wt);var Mt=Re.get(Wt);Mt&&Mt.forEach(Yr),U.push(Wt)}}}function zs(F,U){return new Ka(e(F),U)}var Ka=function(){function F(U,pe){this._source=U,this._step=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.clone(),this._step)},F.prototype.next=function(){for(var U=this._source.next(),pe=this._step-1;pe>0;--pe)this._source.next();return U},F}();n.StringExt=void 0,function(F){function U(Wt,Mt,xt){xt===void 0&&(xt=0);for(var yr=new Array(Mt.length),Lr=0,wr=xt,Xr=Mt.length;Lr<Xr;++Lr,++wr){if(wr=Wt.indexOf(Mt[Lr],wr),wr===-1)return null;yr[Lr]=wr}return yr}F.findIndices=U;function pe(Wt,Mt,xt){xt===void 0&&(xt=0);var yr=U(Wt,Mt,xt);if(!yr)return null;for(var Lr=0,wr=0,Xr=yr.length;wr<Xr;++wr){var $=yr[wr]-xt;Lr+=$*$}return{score:Lr,indices:yr}}F.matchSumOfSquares=pe;function Re(Wt,Mt,xt){xt===void 0&&(xt=0);var yr=U(Wt,Mt,xt);if(!yr)return null;for(var Lr=0,wr=xt-1,Xr=0,$=yr.length;Xr<$;++Xr){var X=yr[Xr];Lr+=X-wr-1,wr=X}return{score:Lr,indices:yr}}F.matchSumOfDeltas=Re;function ze(Wt,Mt,xt){for(var yr=[],Lr=0,wr=0,Xr=Mt.length;Lr<Xr;){for(var $=Mt[Lr],X=Mt[Lr];++Lr<Xr&&Mt[Lr]===X+1;)X++;wr<$&&yr.push(Wt.slice(wr,$)),$<X+1&&yr.push(xt(Wt.slice($,X+1))),wr=X+1}return wr<Wt.length&&yr.push(Wt.slice(wr)),yr}F.highlight=ze;function Yr(Wt,Mt){return Wt<Mt?-1:Wt>Mt?1:0}F.cmp=Yr}(n.StringExt||(n.StringExt={}));function Nt(F,U){return new Li(e(F),U)}var Li=function(){function F(U,pe){this._source=U,this._count=pe}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.clone(),this._count)},F.prototype.next=function(){if(!(this._count<=0)){var U=this._source.next();if(U!==void 0)return this._count--,U}},F}();function zn(){for(var F=[],U=0;U<arguments.length;U++)F[U]=arguments[U];return new fc(F.map(e))}var fc=function(){function F(U){this._source=U}return F.prototype.iter=function(){return this},F.prototype.clone=function(){return new F(this._source.map(function(U){return U.clone()}))},F.prototype.next=function(){for(var U=new Array(this._source.length),pe=0,Re=this._source.length;pe<Re;++pe){var ze=this._source[pe].next();if(ze===void 0)return;U[pe]=ze}return U},F}();n.ArrayIterator=d,n.ChainIterator=x,n.EmptyIterator=T,n.EnumerateIterator=ne,n.FilterIterator=oe,n.FnIterator=I,n.ItemIterator=b,n.KeyIterator=f,n.MapIterator=kt,n.RangeIterator=Ee,n.RepeatIterator=nr,n.RetroArrayIterator=Du,n.StrideIterator=Ka,n.TakeIterator=Li,n.ValueIterator=g,n.ZipIterator=fc,n.chain=E,n.each=s,n.empty=A,n.enumerate=J,n.every=a,n.filter=H,n.find=ae,n.findIndex=Y,n.iter=e,n.iterFn=o,n.iterItems=i,n.iterKeys=t,n.iterValues=r,n.map=mt,n.max=Ke,n.min=Ie,n.minmax=pt,n.once=Fi,n.range=ee,n.reduce=he,n.repeat=ht,n.retro=pi,n.some=l,n.stride=zs,n.take=Nt,n.toArray=c,n.toObject=u,n.topologicSort=Fr,n.zip=zn,Object.defineProperty(n,"__esModule",{value:!0})})});var l8=O((FD,a8)=>{(function(n,e){typeof FD=="object"&&typeof a8<"u"?e(FD):typeof define=="function"&&define.amd?define(["exports"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.lumino_properties={}))})(FD,function(n){"use strict";n.AttachedProperty=function(){function t(r){this._pid=e.nextPID(),this.name=r.name,this._create=r.create,this._coerce=r.coerce||null,this._compare=r.compare||null,this._changed=r.changed||null}return t.prototype.get=function(r){var i,o=e.ensureMap(r);return this._pid in o?i=o[this._pid]:i=o[this._pid]=this._createValue(r),i},t.prototype.set=function(r,i){var o,s=e.ensureMap(r);this._pid in s?o=s[this._pid]:o=s[this._pid]=this._createValue(r);var a=this._coerceValue(r,i);this._maybeNotify(r,o,s[this._pid]=a)},t.prototype.coerce=function(r){var i,o=e.ensureMap(r);this._pid in o?i=o[this._pid]:i=o[this._pid]=this._createValue(r);var s=this._coerceValue(r,i);this._maybeNotify(r,i,o[this._pid]=s)},t.prototype._createValue=function(r){var i=this._create;return i(r)},t.prototype._coerceValue=function(r,i){var o=this._coerce;return o?o(r,i):i},t.prototype._compareValue=function(r,i){var o=this._compare;return o?o(r,i):r===i},t.prototype._maybeNotify=function(r,i,o){var s=this._changed;s&&!this._compareValue(i,o)&&s(r,i,o)},t}(),function(t){function r(i){e.ownerData.delete(i)}t.clearData=r}(n.AttachedProperty||(n.AttachedProperty={}));var e;(function(t){t.ownerData=new WeakMap,t.nextPID=function(){var i=0;return function(){var o=Math.random(),s=(""+o).slice(2);return"pid-"+s+"-"+i++}}();function r(i){var o=t.ownerData.get(i);return o||(o=Object.create(null),t.ownerData.set(i,o),o)}t.ensureMap=r})(e||(e={})),Object.defineProperty(n,"__esModule",{value:!0})})});var UD=O((LD,c8)=>{(function(n,e){typeof LD=="object"&&typeof c8<"u"?e(LD,s8(),l8()):typeof define=="function"&&define.amd?define(["exports","@lumino/algorithm","@lumino/properties"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.lumino_signaling={},n.lumino_algorithm,n.lumino_properties))})(LD,function(n,e,t){"use strict";n.Signal=function(){function i(o){this._blockedCount=0,this.sender=o}return i.prototype.block=function(o){this._blockedCount++;try{o()}finally{this._blockedCount--}},i.prototype.connect=function(o,s){return r.connect(this,o,s)},i.prototype.disconnect=function(o,s){return r.disconnect(this,o,s)},i.prototype.emit=function(o){this._blockedCount||r.emit(this,o)},i}(),function(i){function o(g,b){var I=r.blockedProperty;I.set(g,I.get(g)+1);try{b()}finally{I.set(g,I.get(g)-1)}}i.blockAll=o;function s(g,b){r.disconnectBetween(g,b)}i.disconnectBetween=s;function a(g){r.disconnectSender(g)}i.disconnectSender=a;function l(g){r.disconnectReceiver(g)}i.disconnectReceiver=l;function c(g){r.disconnectAll(g)}i.disconnectAll=c;function u(g){r.disconnectAll(g)}i.clearData=u;function d(){return r.exceptionHandler}i.getExceptionHandler=d;function f(g){var b=r.exceptionHandler;return r.exceptionHandler=g,b}i.setExceptionHandler=f}(n.Signal||(n.Signal={}));var r;(function(i){i.exceptionHandler=function(H){console.error(H)};function o(H,oe,ae){ae=ae||void 0;var Y=f.get(H.sender);if(Y||(Y=[],f.set(H.sender,Y)),E(Y,H,oe,ae))return!1;var Ie=ae||oe,Ke=g.get(Ie);Ke||(Ke=[],g.set(Ie,Ke));var pt={signal:H,slot:oe,thisArg:ae};return Y.push(pt),Ke.push(pt),!0}i.connect=o;function s(H,oe,ae){ae=ae||void 0;var Y=f.get(H.sender);if(!Y||Y.length===0)return!1;var Ie=E(Y,H,oe,ae);if(!Ie)return!1;var Ke=ae||oe,pt=g.get(Ke);return Ie.signal=null,A(Y),A(pt),!0}i.disconnect=s;function a(H,oe){var ae=f.get(H);if(!(!ae||ae.length===0)){var Y=g.get(oe);!Y||Y.length===0||(e.each(Y,function(Ie){Ie.signal&&Ie.signal.sender===H&&(Ie.signal=null)}),A(ae),A(Y))}}i.disconnectBetween=a;function l(H){var oe=f.get(H);!oe||oe.length===0||(e.each(oe,function(ae){if(ae.signal){var Y=ae.thisArg||ae.slot;ae.signal=null,A(g.get(Y))}}),A(oe))}i.disconnectSender=l;function c(H){var oe=g.get(H);!oe||oe.length===0||(e.each(oe,function(ae){if(ae.signal){var Y=ae.signal.sender;ae.signal=null,A(f.get(Y))}}),A(oe))}i.disconnectReceiver=c;function u(H){l(H),c(H)}i.disconnectAll=u;function d(H,oe){if(!(i.blockedProperty.get(H.sender)>0)){var ae=f.get(H.sender);if(!(!ae||ae.length===0))for(var Y=0,Ie=ae.length;Y<Ie;++Y){var Ke=ae[Y];Ke.signal===H&&x(Ke,oe)}}}i.emit=d;var f=new WeakMap,g=new WeakMap,b=new Set,I=function(){var H=typeof requestAnimationFrame=="function";return H?requestAnimationFrame:setImmediate}();function E(H,oe,ae,Y){return e.find(H,function(Ie){return Ie.signal===oe&&Ie.slot===ae&&Ie.thisArg===Y})}function x(H,oe){var ae=H.signal,Y=H.slot,Ie=H.thisArg;try{Y.call(Ie,ae.sender,oe)}catch(Ke){i.exceptionHandler(Ke)}}function A(H){b.size===0&&I(T),b.add(H)}function T(){b.forEach(J),b.clear()}function J(H){e.ArrayExt.removeAllWhere(H,ne)}function ne(H){return H.signal===null}i.blockedProperty=new t.AttachedProperty({name:"blocked",create:function(){return 0}})})(r||(r={})),Object.defineProperty(n,"__esModule",{value:!0})})});var sO=O((Pze,E8)=>{"use strict";var Eue=require("child_process").spawn;function Pue(n){if(n){n=n.trim();var e=/your \d+x\d+ screen size is bogus\. expect trouble/gi;return n=n.replace(e,""),n.trim()}}function kue(n,e,t,r){typeof t=="function"&&(r=t,t=void 0);var i=!1,o=Eue(n,e,t),s="",a="";o.stdout.on("data",function(l){s+=l.toString()}),o.stderr.on("data",function(l){a+=l.toString()}),o.on("error",function(l){i||(i=!0,r(new Error(l)))}),o.on("close",function(l){if(!i){if(i=!0,a=Pue(a),a)return r(new Error(a));r(null,s,l)}})}E8.exports=kue});var k8=O((kze,P8)=>{"use strict";var xue=require("os"),Due=sO();function _ue(n){var e=["-A","-o","ppid,pid"];Due("ps",e,function(t,r,i){if(t)return n(t);if(i!==0)return n(new Error("pidtree ps command exited with code "+i));try{r=r.split(xue.EOL);for(var o=[],s=1;s<r.length;s++)r[s]=r[s].trim(),r[s]&&(r[s]=r[s].split(/\s+/),r[s][0]=parseInt(r[s][0],10),r[s][1]=parseInt(r[s][1],10),o.push(r[s]));n(null,o)}catch(a){n(a)}})}P8.exports=_ue});var D8=O((xze,x8)=>{"use strict";var Tue=require("os"),Rue=sO();function Aue(n){var e=["PROCESS","get","ParentProcessId,ProcessId"],t={windowsHide:!0,windowsVerbatimArguments:!0};Rue("wmic",e,t,function(r,i,o){if(r){n(r);return}if(o!==0){n(new Error("pidtree wmic command exited with code "+o));return}try{i=i.split(Tue.EOL);for(var s=[],a=1;a<i.length;a++)i[a]=i[a].trim(),i[a]&&(i[a]=i[a].split(/\s+/),i[a][0]=parseInt(i[a][0],10),i[a][1]=parseInt(i[a][1],10),s.push(i[a]));n(null,s)}catch(l){n(l)}})}x8.exports=Aue});var A8=O((Dze,R8)=>{"use strict";var T8=require("os"),Nue={darwin:"ps",sunos:"ps",freebsd:"ps",netbsd:"ps",win:"wmic",linux:"ps",aix:"ps"},Mue={ps:()=>k8(),wmic:()=>D8()},aO=T8.platform();aO.startsWith("win")&&(aO="win");var _8=Nue[aO];function Kue(n){_8===void 0&&n(new Error(T8.platform()+" is not supported yet, please open an issue (https://github.com/simonepri/pidtree)"));var e=Mue[_8]();e(n)}R8.exports=Kue});var M8=O((_ze,N8)=>{"use strict";var Oue=A8();function Fue(n,e,t){if(typeof e=="function"&&(t=e,e={}),typeof e!="object"&&(e={}),n=parseInt(n,10),isNaN(n)||n<-1){t(new TypeError("The pid provided is invalid"));return}Oue(function(r,i){if(r){t(r);return}if(n===-1){for(var o=0;o<i.length;o++)i[o]=e.advanced?{ppid:i[o][0],pid:i[o][1]}:i[o]=i[o][1];t(null,i);return}for(var s,a=0;a<i.length;a++){if(i[a][1]===n){s=e.advanced?{ppid:i[a][0],pid:n}:n;break}i[a][0]===n&&(s=e.advanced?{pid:n}:n)}if(!s){t(new Error("No matching pid found"));return}for(var l={};i.length>0;){var c=i.pop();l[c[0]]?l[c[0]].push(c[1]):l[c[0]]=[c[1]]}for(var u=0,d=[s];u<d.length;){var f=e.advanced?d[u++].pid:d[u++];if(l[f]){for(var g=l[f].length,b=0;b<g;b++)d.push(e.advanced?{ppid:f,pid:l[f][b]}:l[f][b]);delete l[f]}}e.root||d.shift(),t(null,d)})}N8.exports=Fue});var F8=O((Tze,O8)=>{"use strict";function Lue(n,e,t){return new Promise(function(r,i){n(e,t,function(o,s){if(o)return i(o);r(s)})})}String.prototype.startsWith||(String.prototype.startsWith=function(n){return this.substring(0,n.length)===n});var K8=M8();function Uue(n,e,t){if(typeof e=="function"&&(t=e,e=void 0),typeof t=="function"){K8(n,e,t);return}return Lue(K8,n,e)}O8.exports=Uue});var $8=O((Rze,B8)=>{var L8=Array.prototype.slice,U8=typeof Object.keys=="function"?Object.keys:function(n){var e=[];for(var t in n)e.push(t);return e},W8=B8.exports=function(n,e){return n===0&&e===0?Wue(n,e):n===e?!0:n instanceof Date&&e instanceof Date?n.getTime()===e.getTime():J8(n)?J8(e):typeof n!="object"&&typeof e!="object"?n==e:Vue(n,e)};function V8(n){return n==null}function j8(n){return Object.prototype.toString.call(n)=="[object Arguments]"}function J8(n){return typeof n=="number"&&n!==n}function Wue(n,e){return 1/n===1/e}function Vue(n,e){if(V8(n)||V8(e)||n.prototype!==e.prototype)return!1;if(j8(n))return j8(e)?(n=L8.call(n),e=L8.call(e),W8(n,e)):!1;try{var t=U8(n),r=U8(e),i,o}catch{return!1}if(t.length!=r.length)return!1;for(t.sort(),r.sort(),o=t.length-1;o>=0;o--)if(t[o]!=r[o])return!1;for(o=t.length-1;o>=0;o--)if(i=t[o],!W8(n[i],e[i]))return!1;return!0}});var G8=O((Aze,H8)=>{"use strict";var q8="[a-fA-F\\d:]",Xd=n=>n&&n.includeBoundaries?`(?:(?<=\\s|^)(?=${q8})|(?<=${q8})(?=\\s|$))`:"",va="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",_n="[a-fA-F\\d]{1,4}",c_=`
(?:
(?:${_n}:){7}(?:${_n}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
(?:${_n}:){6}(?:${va}|:${_n}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
(?:${_n}:){5}(?::${va}|(?::${_n}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
(?:${_n}:){4}(?:(?::${_n}){0,1}:${va}|(?::${_n}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
(?:${_n}:){3}(?:(?::${_n}){0,2}:${va}|(?::${_n}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
(?:${_n}:){2}(?:(?::${_n}){0,3}:${va}|(?::${_n}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
(?:${_n}:){1}(?:(?::${_n}){0,4}:${va}|(?::${_n}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
(?::(?:(?::${_n}){0,5}:${va}|(?::${_n}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),jue=new RegExp(`(?:^${va}$)|(?:^${c_}$)`),Jue=new RegExp(`^${va}$`),Bue=new RegExp(`^${c_}$`),lO=n=>n&&n.exact?jue:new RegExp(`(?:${Xd(n)}${va}${Xd(n)})|(?:${Xd(n)}${c_}${Xd(n)})`,"g");lO.v4=n=>n&&n.exact?Jue:new RegExp(`${Xd(n)}${va}${Xd(n)}`,"g");lO.v6=n=>n&&n.exact?Bue:new RegExp(`${Xd(n)}${c_}${Xd(n)}`,"g");H8.exports=lO});var z8=O((Nze,$ue)=>{$ue.exports={name:"is2",version:"2.0.7",description:"A type checking library where each exported function returns either true or false and does not throw. Also added tests.",license:"MIT",tags:["type","check","checker","checking","utilities","network","networking","credit","card","validation"],keywords:["type","check","checker","checking","utilities","network","networking","credit","card","validation"],author:"Enrico Marino <enrico.marino@email.com>",maintainers:"Edmond Meinfelder <edmond@stdarg.com>, Chris Oyler <christopher.oyler@gmail.com>",homepage:"http://github.com/stdarg/is2",repository:{type:"git",url:"git@github.com:stdarg/is2.git"},bugs:{url:"http://github.com/stdarg/is/issues"},main:"./index.js",scripts:{test:"./node_modules/.bin/mocha -C --reporter list tests.js"},engines:{node:">=v0.10.0"},dependencies:{"deep-is":"^0.1.3","ip-regex":"^4.1.0","is-url":"^1.2.4"},devDependencies:{mocha:"6.1.4",mongodb:"3.2.4"}}});var Y8=O((Mze,Q8)=>{Q8.exports=zue;var que=/^(?:\w+:)?\/\/(\S+)$/,Hue=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,Gue=/^[^\s\.]+\.\S{2,}$/;function zue(n){if(typeof n!="string")return!1;var e=n.match(que);if(!e)return!1;var t=e[1];return t?!!(Hue.test(t)||Gue.test(t)):!1}});var e5=O(Z8=>{"use strict";var X8={}.hasOwnProperty,ur={}.toString,C=Z8,Que=$8(),Yue=G8();C.version=z8().version;C.browser=function(){return!C.node()&&typeof window<"u"&&ur.call(window)==="[object global]"};C.defined=function(n){return typeof n<"u"};C.def=C.defined;C.nodejs=function(){return process&&process.hasOwnProperty("version")&&process.hasOwnProperty("versions")};C.node=C.nodejs;C.undefined=function(n){return n===void 0};C.udef=C.undef=C.undefined;C.array=function(n){return ur.call(n)==="[object Array]"};C.arr=C.ary=C.arry=C.array;C.arrayLike=function(n){return C.nullOrUndef(n)?!1:n!==void 0&&X8.call(n,"length")&&isFinite(n.length)};C.arrLike=C.arryLike=C.aryLike=C.arraylike=C.arrayLike;C.arguments=function(n){return ur.call(n)==="[object Arguments]"};C.args=C.arguments;C.boolean=function(n){return ur.call(n)==="[object Boolean]"};C.bool=C.boolean;C.buffer=function(n){return C.nodejs()&&Buffer&&Buffer.hasOwnProperty("isBuffer")&&Buffer.isBuffer(n)};C.buff=C.buf=C.buffer;C.date=function(n){return ur.call(n)==="[object Date]"};C.error=function(n){return ur.call(n)==="[object Error]"};C.err=C.error;C.false=function(n){return n===!1};C.function=function(n){return C.syncFunction(n)||C.asyncFunction(n)};C.fun=C.func=C.function;C.asyncFunction=function(n){return ur.call(n)==="[object AsyncFunction]"};C.asyncFun=C.asyncFunc=C.asyncFunction;C.syncFunction=function(n){return ur.call(n)==="[object Function]"};C.syncFun=C.syncFunc=C.syncFunction;C.null=function(n){return n===null};C.nullOrUndefined=function(n){return n===null||typeof n>"u"};C.nullOrUndef=C.nullOrUndefined;C.number=function(n){return ur.call(n)==="[object Number]"};C.num=C.number;C.object=function(n){return ur.call(n)==="[object Object]"};C.obj=C.object;C.regExp=function(n){return ur.call(n)==="[object RegExp]"};C.re=C.regexp=C.regExp;C.string=function(n){return ur.call(n)==="[object String]"};C.str=C.string;C.true=function(n){return n===!0};var Xue=new RegExp("[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}","i");C.uuid=function(n){return Xue.test(n)};C.equal=function(n,e){var t=ur.call(n);return typeof n!=typeof e||t!==ur.call(e)?!1:t==="[object Object]"||t==="[object Array]"?Que(n,e):t==="[object Function]"?n.prototype===e.prototype:t==="[object Date]"?n.getTime()===e.getTime():n===e};C.objEquals=C.eq=C.equal;var Zue={boolean:1,number:1,string:1,undefined:1};C.hosted=function(n,e){if(C.nullOrUndef(n))return!1;var t=typeof e[n];return t==="object"?!!e[n]:!Zue[t]};C.instanceOf=function(n,e){return C.nullOrUndef(n)||C.nullOrUndef(e)?!1:n instanceof e};C.instOf=C.instanceof=C.instanceOf;C.objectInstanceOf=function(n,e){try{return ur.call(n)==="[object Object]"&&n instanceof e}catch{return!1}};C.instOf=C.instanceOf=C.objInstOf=C.objectInstanceOf;C.type=function(n,e){return typeof n===e};C.a=C.type;C.empty=function(n){var e=ur.call(n);if(e==="[object Array]"||e==="[object Arguments]")return n.length===0;if(e==="[object Object]"){for(var t in n)if(X8.call(n,t))return!1;return!0}return e==="[object String]"?n==="":!1};C.emptyArguments=function(n){return ur.call(n)==="[object Arguments]"&&n.length===0};C.noArgs=C.emptyArgs=C.emptyArguments;C.emptyArray=function(n){return ur.call(n)==="[object Array]"&&n.length===0};C.emptyArry=C.emptyAry=C.emptyArray;C.emptyArrayLike=function(n){return n.length===0};C.emptyArrLike=C.emptyArrayLike;C.emptyString=function(n){return C.string(n)&&n.length===0};C.emptyStr=C.emptyString;C.nonEmptyArray=function(n){return ur.call(n)==="[object Array]"&&n.length>0};C.nonEmptyArr=C.nonEmptyArry=C.nonEmptyAry=C.nonEmptyArray;C.nonEmptyObject=function(n){return ur.call(n)==="[object Object]"&&Object.keys(n).length>0};C.nonEmptyObj=C.nonEmptyObject;C.emptyObject=function(n){return ur.call(n)==="[object Object]"&&Object.keys(n).length===0};C.emptyObj=C.emptyObject;C.nonEmptyString=function(n){return C.string(n)&&n.length>0};C.nonEmptyStr=C.nonEmptyString;C.even=function(n){return ur.call(n)==="[object Number]"&&n%2===0};C.decimal=function(n){return ur.call(n)==="[object Number]"&&n%1!==0};C.dec=C.decNum=C.decimal;C.integer=function(n){return ur.call(n)==="[object Number]"&&n%1===0};C.int=C.integer;C.notANumber=function(n){return!C.num(n)||n!==n};C.nan=C.notANum=C.notANumber;C.odd=function(n){return!C.decimal(n)&&ur.call(n)==="[object Number]"&&n%2!==0};C.oddNumber=C.oddNum=C.odd;C.positiveNumber=function(n){return ur.call(n)==="[object Number]"&&n>0};C.pos=C.positive=C.posNum=C.positiveNum=C.positiveNumber;C.negativeNumber=function(n){return ur.call(n)==="[object Number]"&&n<0};C.neg=C.negNum=C.negativeNum=C.negativeNumber;C.negativeInteger=function(n){return ur.call(n)==="[object Number]"&&n%1===0&&n<0};C.negativeInt=C.negInt=C.negativeInteger;C.positiveInteger=function(n){return ur.call(n)==="[object Number]"&&n%1===0&&n>0};C.posInt=C.positiveInt=C.positiveInteger;C.divisibleBy=function(n,e){return n===0?!1:ur.call(n)==="[object Number]"&&e!==0&&n%e===0};C.divBy=C.divisBy=C.divisibleBy;C.greaterOrEqualTo=function(n,e){return n>=e};C.greaterOrEqual=C.ge=C.greaterOrEqualTo;C.greaterThan=function(n,e){return n>e};C.gt=C.greaterThan;C.lessThanOrEqualTo=function(n,e){return n<=e};C.lessThanOrEq=C.lessThanOrEqual=C.le=C.lessThanOrEqualTo;C.lessThan=function(n,e){return n<e};C.lt=C.lessThan;C.maximum=function(n,e){if(!C.arrayLike(e)||!C.number(n))return!1;for(var t=e.length;--t>-1;)if(n<e[t])return!1;return!0};C.max=C.maximum;C.minimum=function(n,e){if(!C.arrayLike(e)||!C.number(n))return!1;for(var t=e.length;--t>-1;)if(n>e[t])return!1;return!0};C.min=C.minimum;C.within=function(n,e,t){return n>=e&&n<=t};C.withIn=C.within;C.prettyClose=function(n,e,t){return!C.number(n)||!C.number(e)||C.defined(t)&&!C.posInt(t)?!1:(C.undefined(t)&&(t=2),n.toFixed(t)===e.toFixed(t))};C.closish=C.near=C.prettyClose;C.dnsAddress=function(n){return!(!C.nonEmptyStr(n)||n.length>255||tde.test(n)||!ede.test(n))};C.dnsAddr=C.dns=C.dnsAddress;var ede=/^([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][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$/,tde=/^([0-9]|[0-9][0-9\-]{0,61}[0-9])(\.([0-9]|[0-9][0-9\-]{0,61}[0-9]))*$/;C.emailAddress=function(n){return C.nonEmptyStr(n)?rde.test(n):!1};C.email=C.emailAddr=C.emailAddress;var rde=/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/;C.ipv4Address=function(n){if(!C.nonEmptyStr(n)||n.length>15)return!1;var e=n.split(".");if(!C.array(e)||e.length!==4)return!1;for(var t=0;t<e.length;t++){var r=parseInt(e[t],10);if(isNaN(r)||r<0||r>255)return!1}return!0};C.ipv4=C.ipv4Addr=C.ipv4Address;C.ipv6Address=function(n){return C.nonEmptyStr(n)?Yue.v6({extract:!0}).test(n):!1};C.ipv6=C.ipv6Addr=C.ipv6Address;C.ipAddress=function(n){return C.nonEmptyStr(n)?C.ipv4Address(n)||C.ipv6Address(n):!1};C.ip=C.ipAddr=C.ipAddress;C.hostAddress=function(n){return C.nonEmptyStr(n)?C.dns(n)||C.ipv4(n)||C.ipv6(n):!1};C.host=C.hostIp=C.hostAddr=C.hostAddress;C.port=function(n){return!(!C.num(n)||C.negativeInt(n)||n>65535)};C.systemPort=function(n){return!!(C.port(n)&&n<1024)};C.sysPort=C.systemPort;C.userPort=function(n){return!!(C.port(n)&&n>1023)};C.creditCardNumber=function(n){if(!C.str(n))return!1;var e=n.split(""),t,r;for(t=e.length-1,r=1;t>-1;t--,r++)r%2===0&&(e[t]*=2);n=e.join("");var i=0;for(t=0;t<n.length;t++)i+=Math.floor(n[t]);return i%10===0};C.creditCard=C.creditCardNum=C.creditCardNumber;C.americanExpressCardNumber=function(n){if(!C.str(n)||n.length!==15)return!1;var e=Math.floor(n.slice(0,2));return!(e!==34&&e!==37||!C.creditCardNumber(n))};C.amexCard=C.amexCardNum=C.americanExpressCardNumber;C.chinaUnionPayCardNumber=function(n){if(!C.str(n)||n.length<16&&n.length>19)return!1;var e=Math.floor(n.slice(0,2));return!(e!==62&&e!==88)};C.chinaUnion=C.chinaUnionPayCard=C.chinaUnionPayCardNumber;C.dinersClubCarteBlancheCardNumber=function(n){if(!C.str(n)||n.length!==14)return!1;var e=Math.floor(n.slice(0,3));return!(e<300||e>305||!C.creditCardNumber(n))};C.dinersClubCB=C.dinersClubCarteBlancheCard=C.dinersClubCarteBlancheCardNumber;C.dinersClubInternationalCardNumber=function(n){if(!C.str(n)||n.length!==14)return!1;var e=Math.floor(n.slice(0,3)),t=Math.floor(n.slice(0,2));return!((e<300||e>305)&&e!==309&&t!==36&&(t<38||t>39)||!C.creditCardNumber(n))};C.dinersClubInt=C.dinersClubInternationalCard=C.dinersClubInternationalCardNumber;C.dinersClubUSACanadaCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,2));return!(e!==54&&e!==55||!C.creditCardNumber(n))};C.dinersClub=C.dinersClubUSACanCard=C.dinersClubUSACanadaCardNumber;C.discoverCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,6)),t=Math.floor(n.slice(0,3));return!(n.slice(0,4)!=="6011"&&(e<622126||e>622925)&&(t<644||t>649)&&n.slice(0,2)!=="65"||!C.creditCardNumber(n))};C.discover=C.discoverCard=C.discoverCardNumber;C.instaPaymentCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,3));return!(e<637||e>639||!C.creditCardNumber(n))};C.instaPayment=C.instaPaymentCardNumber;C.jcbCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,4));return!(e<3528||e>3589||!C.creditCardNumber(n))};C.jcb=C.jcbCard=C.jcbCardNumber;C.laserCardNumber=function(n){if(!C.str(n)||n.length<16&&n.length>19)return!1;var e=Math.floor(n.slice(0,4)),t=[6304,6706,6771,6709];return!(t.indexOf(e)===-1||!C.creditCardNumber(n))};C.laser=C.laserCard=C.laserCardNumber;C.maestroCardNumber=function(n){if(!C.str(n)||n.length<12||n.length>19)return!1;var e=n.slice(0,4),t=["5018","5020","5038","5612","5893","6304","6759","6761","6762","6763","0604","6390"];return!(t.indexOf(e)===-1||!C.creditCardNumber(n))};C.maestro=C.maestroCard=C.maestroCardNumber;C.dankortCardNumber=function(n){return!(!C.str(n)||n.length!==16||n.slice(0,4)!=="5019"||!C.creditCardNumber(n))};C.dankort=C.dankortCard=C.dankortCardNumber;C.masterCardCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,2));return!(e<50||e>55||!C.creditCardNumber(n))};C.masterCard=C.masterCardCard=C.masterCardCardNumber;C.visaCardNumber=function(n){return!(!C.str(n)||n.length!==13&&n.length!==16||n.slice(0,1)!=="4"||!C.creditCardNumber(n))};C.visa=C.visaCard=C.visaCardNumber;C.visaElectronCardNumber=function(n){if(!C.str(n)||n.length!==16)return!1;var e=Math.floor(n.slice(0,4)),t=[4026,4405,4508,4844,4913,4917];return n.slice(0,6)!=="417500"&&t.indexOf(e)===-1||!C.creditCardNumber(n),!1};C.visaElectron=C.visaElectronCard=C.visaElectronCardNumber;var nde=/^[0-9a-fA-F]{24}$/;C.mongoId=C.objectId=C.objId=function(n){return!!n&&!Array.isArray(n)&&nde.test(String(n))};C.matching=C.match=C.inArgs=function(n){if(arguments.length<2)return!1;for(var e=!1,t=1;t<arguments.length;t++){var r=C.equal(n,arguments[t]);e=e||r}return e};C.streetAddress=function(n){if(!C.str(n))return!1;var e=/\b\d+[\s](?:[A-Za-z0-9.-]+[\s]+)+\b(ALLEY|ALY|AVENUE|AVE|BEND|BND|BLUFFS?|BLFS?|BOULEVARD|BLVD|BRANCH|BR|CENTERS?|CTRS?|CIRCLES?|CIRS?|CLIFFS?|CLFS?|COURTS?|CTS?|COVES?|CVS?|CREEK|CRK|CRESCENT|CRES|CREST|CRST|CROSSING|XING|DRIVES?|DRS?|EXPRESSWAY|EXPY|FREEWAY|FWY|HEIGHTS|HTS|HIGHWAY|HWY|HILLS?|HLS?|LANE|LN|LOOP|MANORS?|MNRS?|MOTORWAY|MTWY|MOUNT|MT|PARKS?|PARKWAYS?|PKWY|PASS|PLACE|PL|PLAZA|PLZ|POINTS?|PTS?|RIDGES?|RDGS?|ROADS?|RDS?|ROUTE|RTE?|SHOALS?|SHLS?|SHORES?|SHRS?|SPRINGS?|SPGS?|SPURS?|STREETS?|STS?|SUMMIT|SMT|TERRACE|TER|THROUGHWAY|TRWY|TRAFFICWAY|TRFY|TRAIL|TRL|TURNPIKE|TPKE|VALLEYS?|VLYS?|WAYS?)+(?:[\.\-\s\,]?)*((APARTMENT|APT|APPT|#|NUMBER|NUM|FLOOR|FL|\s)?(\d)*)\b/ig;return e.test(n)};C.street=C.address=C.streetAddress;C.zipCode=function(n){if(C.undefined(n)||!(C.string(n)||C.number(n)))return!1;var e=/^\d{5}(?:-\d{4})?$/;return e.test(n)};C.zip=C.zipCode;C.phoneNumber=function(n){if(!C.string(n))return!1;var e=/(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:(\(?)(?:(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\)?)\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})/g;return e.test(n)};C.phone=C.phoneNumber;var ide=Y8();C.url=function(n){return ide(n)};C.uri=C.url;C.enumerator=function(n,e){var t=!1;if(!C.defined(n)||!C.defined(e)||!C.arrayLike(e))return t;for(var r=0,i=e.length;r<i;r++)if(C.equal(n,e[r])){t=!0;break}return t};C.enum=C.inArray=C.enumerator});var cO=O((Oze,t5)=>{var Sy=1e3,Cy=Sy*60,wy=Cy*60,Ym=wy*24,ode=Ym*7,sde=Ym*365.25;t5.exports=function(n,e){e=e||{};var t=typeof n;if(t==="string"&&n.length>0)return ade(n);if(t==="number"&&isFinite(n))return e.long?cde(n):lde(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))};function ade(n){if(n=String(n),!(n.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(e){var t=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return t*sde;case"weeks":case"week":case"w":return t*ode;case"days":case"day":case"d":return t*Ym;case"hours":case"hour":case"hrs":case"hr":case"h":return t*wy;case"minutes":case"minute":case"mins":case"min":case"m":return t*Cy;case"seconds":case"second":case"secs":case"sec":case"s":return t*Sy;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function lde(n){var e=Math.abs(n);return e>=Ym?Math.round(n/Ym)+"d":e>=wy?Math.round(n/wy)+"h":e>=Cy?Math.round(n/Cy)+"m":e>=Sy?Math.round(n/Sy)+"s":n+"ms"}function cde(n){var e=Math.abs(n);return e>=Ym?u_(n,e,Ym,"day"):e>=wy?u_(n,e,wy,"hour"):e>=Cy?u_(n,e,Cy,"minute"):e>=Sy?u_(n,e,Sy,"second"):n+" ms"}function u_(n,e,t,r){var i=e>=t*1.5;return Math.round(n/t)+" "+r+(i?"s":"")}});var uO=O((Fze,r5)=>{function ude(n){t.debug=t,t.default=t,t.coerce=l,t.disable=o,t.enable=i,t.enabled=s,t.humanize=cO(),t.destroy=c,Object.keys(n).forEach(u=>{t[u]=n[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let d=0;for(let f=0;f<u.length;f++)d=(d<<5)-d+u.charCodeAt(f),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=e;function t(u){let d,f=null;function g(...b){if(!g.enabled)return;let I=g,E=Number(new Date),x=E-(d||E);I.diff=x,I.prev=d,I.curr=E,d=E,b[0]=t.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let A=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(J,ne)=>{if(J==="%%")return"%";A++;let H=t.formatters[ne];if(typeof H=="function"){let oe=b[A];J=H.call(I,oe),b.splice(A,1),A--}return J}),t.formatArgs.call(I,b),(I.log||t.log).apply(I,b)}return g.namespace=u,g.useColors=t.useColors(),g.color=t.selectColor(u),g.extend=r,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>f===null?t.enabled(u):f,set:b=>{f=b}}),typeof t.init=="function"&&t.init(g),g}function r(u,d){let f=t(this.namespace+(typeof d>"u"?":":d)+u);return f.log=this.log,f}function i(u){t.save(u),t.names=[],t.skips=[];let d,f=(typeof u=="string"?u:"").split(/[\s,]+/),g=f.length;for(d=0;d<g;d++)f[d]&&(u=f[d].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.substr(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...t.names.map(a),...t.skips.map(a).map(d=>"-"+d)].join(",");return t.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let d,f;for(d=0,f=t.skips.length;d<f;d++)if(t.skips[d].test(u))return!1;for(d=0,f=t.names.length;d<f;d++)if(t.names[d].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}r5.exports=ude});var n5=O((Xo,d_)=>{Xo.formatArgs=pde;Xo.save=mde;Xo.load=fde;Xo.useColors=dde;Xo.storage=hde();Xo.destroy=(()=>{let n=!1;return()=>{n||(n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Xo.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function dde(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function pde(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+d_.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;n.splice(1,0,e,"color: inherit");let t=0,r=0;n[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(r=t))}),n.splice(r,0,e)}Xo.log=console.debug||console.log||(()=>{});function mde(n){try{n?Xo.storage.setItem("debug",n):Xo.storage.removeItem("debug")}catch{}}function fde(){let n;try{n=Xo.storage.getItem("debug")}catch{}return!n&&typeof process<"u"&&"env"in process&&(n=process.env.DEBUG),n}function hde(){try{return localStorage}catch{}}d_.exports=uO()(Xo);var{formatters:gde}=d_.exports;gde.j=function(n){try{return JSON.stringify(n)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var o5=O((Lze,i5)=>{"use strict";i5.exports=(n,e)=>{e=e||process.argv;let t=n.startsWith("-")?"":n.length===1?"-":"--",r=e.indexOf(t+n),i=e.indexOf("--");return r!==-1&&(i===-1?!0:r<i)}});var pO=O((Uze,s5)=>{"use strict";var vde=require("os"),ya=o5(),Ni=process.env,Ey;ya("no-color")||ya("no-colors")||ya("color=false")?Ey=!1:(ya("color")||ya("colors")||ya("color=true")||ya("color=always"))&&(Ey=!0);"FORCE_COLOR"in Ni&&(Ey=Ni.FORCE_COLOR.length===0||parseInt(Ni.FORCE_COLOR,10)!==0);function yde(n){return n===0?!1:{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function bde(n){if(Ey===!1)return 0;if(ya("color=16m")||ya("color=full")||ya("color=truecolor"))return 3;if(ya("color=256"))return 2;if(n&&!n.isTTY&&Ey!==!0)return 0;let e=Ey?1:0;if(process.platform==="win32"){let t=vde.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in Ni)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(t=>t in Ni)||Ni.CI_NAME==="codeship"?1:e;if("TEAMCITY_VERSION"in Ni)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ni.TEAMCITY_VERSION)?1:0;if(Ni.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ni){let t=parseInt((Ni.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ni.TERM_PROGRAM){case"iTerm.app":return t>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ni.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ni.TERM)||"COLORTERM"in Ni?1:(Ni.TERM==="dumb",e)}function dO(n){let e=bde(n);return yde(e)}s5.exports={supportsColor:dO,stdout:dO(process.stdout),stderr:dO(process.stderr)}});var l5=O((li,m_)=>{var Ide=require("tty"),p_=require("util");li.init=xde;li.log=Ede;li.formatArgs=Cde;li.save=Pde;li.load=kde;li.useColors=Sde;li.destroy=p_.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");li.colors=[6,2,3,4,5,1];try{let n=pO();n&&(n.stderr||n).level>=2&&(li.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}li.inspectOpts=Object.keys(process.env).filter(n=>/^debug_/i.test(n)).reduce((n,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,o)=>o.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),n[t]=r,n},{});function Sde(){return"colors"in li.inspectOpts?!!li.inspectOpts.colors:Ide.isatty(process.stderr.fd)}function Cde(n){let{namespace:e,useColors:t}=this;if(t){let r=this.color,i="\x1B[3"+(r<8?r:"8;5;"+r),o=` ${i};1m${e} \x1B[0m`;n[0]=o+n[0].split(`
`).join(`
`+o),n.push(i+"m+"+m_.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=wde()+e+" "+n[0]}function wde(){return li.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ede(...n){return process.stderr.write(p_.format(...n)+`
`)}function Pde(n){n?process.env.DEBUG=n:delete process.env.DEBUG}function kde(){return process.env.DEBUG}function xde(n){n.inspectOpts={};let e=Object.keys(li.inspectOpts);for(let t=0;t<e.length;t++)n.inspectOpts[e[t]]=li.inspectOpts[e[t]]}m_.exports=uO()(li);var{formatters:a5}=m_.exports;a5.o=function(n){return this.inspectOpts.colors=this.useColors,p_.inspect(n,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};a5.O=function(n){return this.inspectOpts.colors=this.useColors,p_.inspect(n,this.inspectOpts)}});var c5=O((Wze,mO)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?mO.exports=n5():mO.exports=l5()});var g5=O(Xm=>{"use strict";Xm.check=f5;Xm.waitUntilFreeOnHost=_de;Xm.waitUntilFree=Tde;Xm.waitUntilUsedOnHost=h5;Xm.waitUntilUsed=Rde;Xm.waitForStatus=h_;var ba=e5(),Dde=require("net"),u5=require("util"),f_=c5()("tcp-port-used"),d5=2e3,p5=250;function m5(){var n,e,t=new Promise(function(r,i){n=r,e=i});return{resolve:n,reject:e,promise:t}}function Py(n,e,t,r,i){var o={};return o.port=n,o.host=e,o.inUse=t,o.retryTimeMs=r,o.timeOutMs=i,o}function f5(n,e){var t=m5(),r=!0,i,o;if(ba.obj(n)?o=n:o=Py(n,e),!ba.port(o.port))return f_("Error invalid port: "+u5.inspect(o.port)),t.reject(new Error("invalid port: "+u5.inspect(o.port))),t.promise;ba.nullOrUndefined(o.host)&&(f_("set host address to default 127.0.0.1"),o.host="127.0.0.1");function s(){i&&(i.removeAllListeners("connect"),i.removeAllListeners("error"),i.end(),i.destroy(),i.unref())}function a(){t.resolve(r),s()}function l(c){c.code!=="ECONNREFUSED"?t.reject(c):(r=!1,t.resolve(r)),s()}return i=new Dde.Socket,i.once("connect",a),i.once("error",l),i.connect({port:o.port,host:o.host},function(){}),t.promise}function h_(n,e,t,r,i){var o=m5(),s,a=!1,l,c;if(ba.obj(n)?c=n:c=Py(n,e,t,r,i),!ba.bool(c.inUse))return o.reject(new Error("inUse must be a boolean")),o.promise;ba.positiveInt(c.retryTimeMs)||(c.retryTimeMs=p5,f_("set retryTime to default "+p5+"ms")),ba.positiveInt(c.timeOutMs)||(c.timeOutMs=d5,f_("set timeOutMs to default "+d5+"ms"));function u(){s&&clearTimeout(s),l&&clearTimeout(l)}function d(){a=!0,u(),o.reject(new Error("timeout"))}s=setTimeout(d,c.timeOutMs);function f(){f5(c.port,c.host).then(function(g){if(!a)if(g===c.inUse){o.resolve(),u();return}else{l=setTimeout(function(){f()},c.retryTimeMs);return}},function(g){a||(o.reject(g),u())})}return f(),o.promise}function _de(n,e,t,r){var i;return ba.obj(n)?(i=n,i.inUse=!1):i=Py(n,e,!1,t,r),h_(i)}function Tde(n,e,t){var r;return ba.obj(n)?(r=n,r.host="127.0.0.1",r.inUse=!1):r=Py(n,"127.0.0.1",!1,e,t),h_(r)}function h5(n,e,t,r){var i;return ba.obj(n)?(i=n,i.inUse=!0):i=Py(n,e,!0,t,r),h_(i)}function Rde(n,e,t){var r;return ba.obj(n)?(r=n,r.host="127.0.0.1",r.inUse=!0):r=Py(n,"127.0.0.1",!0,e,t),h5(r)}});var w5=O((g_,$l)=>{(function(n,e){typeof g_=="object"&&typeof $l<"u"?e(g_):typeof define=="function"&&define.amd?define(["exports"],e):e(n.async=n.async||{})})(g_,function(n){"use strict";function e(S,P){P=P|0;for(var _=Math.max(S.length-P,0),K=Array(_),G=0;G<_;G++)K[G]=S[P+G];return K}var t=function(S){var P=e(arguments,1);return function(){var _=e(arguments);return S.apply(null,P.concat(_))}},r=function(S){return function(){var P=e(arguments),_=P.pop();S.call(this,P,_)}};function i(S){var P=typeof S;return S!=null&&(P=="object"||P=="function")}var o=typeof setImmediate=="function"&&setImmediate,s=typeof process=="object"&&typeof process.nextTick=="function";function a(S){setTimeout(S,0)}function l(S){return function(P){var _=e(arguments,1);S(function(){P.apply(null,_)})}}var c;o?c=setImmediate:s?c=process.nextTick:c=a;var u=l(c);function d(S){return r(function(P,_){var K;try{K=S.apply(this,P)}catch(G){return _(G)}i(K)&&typeof K.then=="function"?K.then(function(G){f(_,null,G)},function(G){f(_,G.message?G:new Error(G))}):_(null,K)})}function f(S,P,_){try{S(P,_)}catch(K){u(g,K)}}function g(S){throw S}var b=typeof Symbol=="function";function I(S){return b&&S[Symbol.toStringTag]==="AsyncFunction"}function E(S){return I(S)?d(S):S}function x(S){return function(P){var _=e(arguments,1),K=r(function(G,q){var te=this;return S(P,function(se,we){E(se).apply(te,G.concat(we))},q)});return _.length?K.apply(this,_):K}}var A=typeof global=="object"&&global&&global.Object===Object&&global,T=typeof self=="object"&&self&&self.Object===Object&&self,J=A||T||Function("return this")(),ne=J.Symbol,H=Object.prototype,oe=H.hasOwnProperty,ae=H.toString,Y=ne?ne.toStringTag:void 0;function Ie(S){var P=oe.call(S,Y),_=S[Y];try{S[Y]=void 0;var K=!0}catch{}var G=ae.call(S);return K&&(P?S[Y]=_:delete S[Y]),G}var Ke=Object.prototype,pt=Ke.toString;function mt(S){return pt.call(S)}var kt="[object Null]",ee="[object Undefined]",Ee=ne?ne.toStringTag:void 0;function Te(S){return S==null?S===void 0?ee:kt:Ee&&Ee in Object(S)?Ie(S):mt(S)}var he="[object AsyncFunction]",ht="[object Function]",Fi="[object GeneratorFunction]",nr="[object Proxy]";function pi(S){if(!i(S))return!1;var P=Te(S);return P==ht||P==Fi||P==he||P==nr}var Du=9007199254740991;function Fr(S){return typeof S=="number"&&S>-1&&S%1==0&&S<=Du}function zs(S){return S!=null&&Fr(S.length)&&!pi(S)}var Ka={};function Nt(){}function Li(S){return function(){if(S!==null){var P=S;S=null,P.apply(this,arguments)}}}var zn=typeof Symbol=="function"&&Symbol.iterator,fc=function(S){return zn&&S[zn]&&S[zn]()};function F(S,P){for(var _=-1,K=Array(S);++_<S;)K[_]=P(_);return K}function U(S){return S!=null&&typeof S=="object"}var pe="[object Arguments]";function Re(S){return U(S)&&Te(S)==pe}var ze=Object.prototype,Yr=ze.hasOwnProperty,Wt=ze.propertyIsEnumerable,Mt=Re(function(){return arguments}())?Re:function(S){return U(S)&&Yr.call(S,"callee")&&!Wt.call(S,"callee")},xt=Array.isArray;function yr(){return!1}var Lr=typeof n=="object"&&n&&!n.nodeType&&n,wr=Lr&&typeof $l=="object"&&$l&&!$l.nodeType&&$l,Xr=wr&&wr.exports===Lr,$=Xr?J.Buffer:void 0,X=$?$.isBuffer:void 0,ue=X||yr,ve=9007199254740991,Je=/^(?:0|[1-9]\d*)$/;function Zr(S,P){var _=typeof S;return P=P??ve,!!P&&(_=="number"||_!="symbol"&&Je.test(S))&&S>-1&&S%1==0&&S<P}var bt="[object Arguments]",wt="[object Array]",Qe="[object Boolean]",At="[object Date]",Z="[object Error]",le="[object Function]",W="[object Map]",V="[object Number]",Q="[object Object]",Se="[object RegExp]",Ae="[object Set]",ir="[object String]",mi="[object WeakMap]",hc="[object ArrayBuffer]",ye="[object DataView]",IF="[object Float32Array]",SF="[object Float64Array]",CF="[object Int8Array]",wF="[object Int16Array]",EF="[object Int32Array]",PF="[object Uint8Array]",kF="[object Uint8ClampedArray]",xF="[object Uint16Array]",DF="[object Uint32Array]",Tr={};Tr[IF]=Tr[SF]=Tr[CF]=Tr[wF]=Tr[EF]=Tr[PF]=Tr[kF]=Tr[xF]=Tr[DF]=!0,Tr[bt]=Tr[wt]=Tr[hc]=Tr[Qe]=Tr[ye]=Tr[At]=Tr[Z]=Tr[le]=Tr[W]=Tr[V]=Tr[Q]=Tr[Se]=Tr[Ae]=Tr[ir]=Tr[mi]=!1;function _F(S){return U(S)&&Fr(S.length)&&!!Tr[Te(S)]}function TF(S){return function(P){return S(P)}}var u1=typeof n=="object"&&n&&!n.nodeType&&n,Wf=u1&&typeof $l=="object"&&$l&&!$l.nodeType&&$l,RF=Wf&&Wf.exports===u1,Xw=RF&&A.process,d1=function(){try{var S=Wf&&Wf.require&&Wf.require("util").types;return S||Xw&&Xw.binding&&Xw.binding("util")}catch{}}(),p1=d1&&d1.isTypedArray,AF=p1?TF(p1):_F,NF=Object.prototype,MF=NF.hasOwnProperty;function KF(S,P){var _=xt(S),K=!_&&Mt(S),G=!_&&!K&&ue(S),q=!_&&!K&&!G&&AF(S),te=_||K||G||q,se=te?F(S.length,String):[],we=se.length;for(var Ge in S)(P||MF.call(S,Ge))&&!(te&&(Ge=="length"||G&&(Ge=="offset"||Ge=="parent")||q&&(Ge=="buffer"||Ge=="byteLength"||Ge=="byteOffset")||Zr(Ge,we)))&&se.push(Ge);return se}var OF=Object.prototype;function FF(S){var P=S&&S.constructor,_=typeof P=="function"&&P.prototype||OF;return S===_}function LF(S,P){return function(_){return S(P(_))}}var UF=LF(Object.keys,Object),WF=Object.prototype,VF=WF.hasOwnProperty;function jF(S){if(!FF(S))return UF(S);var P=[];for(var _ in Object(S))VF.call(S,_)&&_!="constructor"&&P.push(_);return P}function Zw(S){return zs(S)?KF(S):jF(S)}function JF(S){var P=-1,_=S.length;return function(){return++P<_?{value:S[P],key:P}:null}}function BF(S){var P=-1;return function(){var K=S.next();return K.done?null:(P++,{value:K.value,key:P})}}function $F(S){var P=Zw(S),_=-1,K=P.length;return function G(){var q=P[++_];return q==="__proto__"?G():_<K?{value:S[q],key:q}:null}}function qF(S){if(zs(S))return JF(S);var P=fc(S);return P?BF(P):$F(S)}function Qs(S){return function(){if(S===null)throw new Error("Callback was already called.");var P=S;S=null,P.apply(this,arguments)}}function LI(S){return function(P,_,K){if(K=Li(K||Nt),S<=0||!P)return K(null);var G=qF(P),q=!1,te=0,se=!1;function we(Pe,gt){if(te-=1,Pe)q=!0,K(Pe);else{if(gt===Ka||q&&te<=0)return q=!0,K(null);se||Ge()}}function Ge(){for(se=!0;te<S&&!q;){var Pe=G();if(Pe===null){q=!0,te<=0&&K(null);return}te+=1,_(Pe.value,Pe.key,Qs(we))}se=!1}Ge()}}function _u(S,P,_,K){LI(P)(S,E(_),K)}function Ln(S,P){return function(_,K,G){return S(_,P,K,G)}}function HF(S,P,_){_=Li(_||Nt);var K=0,G=0,q=S.length;q===0&&_(null);function te(se,we){se?_(se):(++G===q||we===Ka)&&_(null)}for(;K<q;K++)P(S[K],K,Qs(te))}var GF=Ln(_u,1/0),gc=function(S,P,_){var K=zs(S)?HF:GF;K(S,E(P),_)};function Mp(S){return function(P,_,K){return S(gc,P,E(_),K)}}function m1(S,P,_,K){K=K||Nt,P=P||[];var G=[],q=0,te=E(_);S(P,function(se,we,Ge){var Pe=q++;te(se,function(gt,Ur){G[Pe]=Ur,Ge(gt)})},function(se){K(se,G)})}var UI=Mp(m1),f1=x(UI);function Kp(S){return function(P,_,K,G){return S(LI(_),P,E(K),G)}}var Op=Kp(m1),eE=Ln(Op,1),h1=x(eE);function WI(S,P){for(var _=-1,K=S==null?0:S.length;++_<K&&P(S[_],_,S)!==!1;);return S}function zF(S){return function(P,_,K){for(var G=-1,q=Object(P),te=K(P),se=te.length;se--;){var we=te[S?se:++G];if(_(q[we],we,q)===!1)break}return P}}var QF=zF();function Vf(S,P){return S&&QF(S,P,Zw)}function YF(S,P,_,K){for(var G=S.length,q=_+(K?1:-1);K?q--:++q<G;)if(P(S[q],q,S))return q;return-1}function XF(S){return S!==S}function ZF(S,P,_){for(var K=_-1,G=S.length;++K<G;)if(S[K]===P)return K;return-1}function VI(S,P,_){return P===P?ZF(S,P,_):YF(S,XF,_)}var tE=function(S,P,_){typeof P=="function"&&(_=P,P=null),_=Li(_||Nt);var K=Zw(S),G=K.length;if(!G)return _(null);P||(P=G);var q={},te=0,se=!1,we=Object.create(null),Ge=[],Pe=[],gt={};Vf(S,function(Jr,en){if(!xt(Jr)){Ur(en,[Jr]),Pe.push(en);return}var Un=Jr.slice(0,Jr.length-1),yc=Un.length;if(yc===0){Ur(en,Jr),Pe.push(en);return}gt[en]=yc,WI(Un,function(zf){if(!S[zf])throw new Error("async.auto task `"+en+"` has a non-existent dependency `"+zf+"` in "+Un.join(", "));Oa(zf,function(){yc--,yc===0&&Ur(en,Jr)})})}),EG(),fi();function Ur(Jr,en){Ge.push(function(){Fa(Jr,en)})}function fi(){if(Ge.length===0&&te===0)return _(null,q);for(;Ge.length&&te<P;){var Jr=Ge.shift();Jr()}}function Oa(Jr,en){var Un=we[Jr];Un||(Un=we[Jr]=[]),Un.push(en)}function ls(Jr){var en=we[Jr]||[];WI(en,function(Un){Un()}),fi()}function Fa(Jr,en){if(!se){var Un=Qs(function(zf,uR){if(te--,arguments.length>2&&(uR=e(arguments,1)),zf){var dR={};Vf(q,function(kG,xG){dR[xG]=kG}),dR[Jr]=uR,se=!0,we=Object.create(null),_(zf,dR)}else q[Jr]=uR,ls(Jr)});te++;var yc=E(en[en.length-1]);en.length>1?yc(q,Un):yc(Un)}}function EG(){for(var Jr,en=0;Pe.length;)Jr=Pe.pop(),en++,WI(PG(Jr),function(Un){--gt[Un]===0&&Pe.push(Un)});if(en!==G)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}function PG(Jr){var en=[];return Vf(S,function(Un,yc){xt(Un)&&VI(Un,Jr,0)>=0&&en.push(yc)}),en}};function Fp(S,P){for(var _=-1,K=S==null?0:S.length,G=Array(K);++_<K;)G[_]=P(S[_],_,S);return G}var eL="[object Symbol]";function tL(S){return typeof S=="symbol"||U(S)&&Te(S)==eL}var rL=1/0,g1=ne?ne.prototype:void 0,v1=g1?g1.toString:void 0;function rE(S){if(typeof S=="string")return S;if(xt(S))return Fp(S,rE)+"";if(tL(S))return v1?v1.call(S):"";var P=S+"";return P=="0"&&1/S==-rL?"-0":P}function nL(S,P,_){var K=-1,G=S.length;P<0&&(P=-P>G?0:G+P),_=_>G?G:_,_<0&&(_+=G),G=P>_?0:_-P>>>0,P>>>=0;for(var q=Array(G);++K<G;)q[K]=S[K+P];return q}function iL(S,P,_){var K=S.length;return _=_===void 0?K:_,!P&&_>=K?S:nL(S,P,_)}function oL(S,P){for(var _=S.length;_--&&VI(P,S[_],0)>-1;);return _}function sL(S,P){for(var _=-1,K=S.length;++_<K&&VI(P,S[_],0)>-1;);return _}function aL(S){return S.split("")}var lL="\\ud800-\\udfff",cL="\\u0300-\\u036f",uL="\\ufe20-\\ufe2f",dL="\\u20d0-\\u20ff",pL=cL+uL+dL,mL="\\ufe0e\\ufe0f",fL="\\u200d",hL=RegExp("["+fL+lL+pL+mL+"]");function gL(S){return hL.test(S)}var y1="\\ud800-\\udfff",vL="\\u0300-\\u036f",yL="\\ufe20-\\ufe2f",bL="\\u20d0-\\u20ff",IL=vL+yL+bL,SL="\\ufe0e\\ufe0f",CL="["+y1+"]",nE="["+IL+"]",iE="\\ud83c[\\udffb-\\udfff]",wL="(?:"+nE+"|"+iE+")",b1="[^"+y1+"]",I1="(?:\\ud83c[\\udde6-\\uddff]){2}",S1="[\\ud800-\\udbff][\\udc00-\\udfff]",EL="\\u200d",C1=wL+"?",w1="["+SL+"]?",PL="(?:"+EL+"(?:"+[b1,I1,S1].join("|")+")"+w1+C1+")*",kL=w1+C1+PL,xL="(?:"+[b1+nE+"?",nE,I1,S1,CL].join("|")+")",DL=RegExp(iE+"(?="+iE+")|"+xL+kL,"g");function _L(S){return S.match(DL)||[]}function E1(S){return gL(S)?_L(S):aL(S)}function TL(S){return S==null?"":rE(S)}var RL=/^\s+|\s+$/g;function AL(S,P,_){if(S=TL(S),S&&(_||P===void 0))return S.replace(RL,"");if(!S||!(P=rE(P)))return S;var K=E1(S),G=E1(P),q=sL(K,G),te=oL(K,G)+1;return iL(K,q,te).join("")}var NL=/^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m,ML=/,/,KL=/(=.+)?(\s*)$/,OL=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;function FL(S){return S=S.toString().replace(OL,""),S=S.match(NL)[2].replace(" ",""),S=S?S.split(ML):[],S=S.map(function(P){return AL(P.replace(KL,""))}),S}function P1(S,P){var _={};Vf(S,function(K,G){var q,te=I(K),se=!te&&K.length===1||te&&K.length===0;if(xt(K))q=K.slice(0,-1),K=K[K.length-1],_[G]=q.concat(q.length>0?we:K);else if(se)_[G]=K;else{if(q=FL(K),K.length===0&&!te&&q.length===0)throw new Error("autoInject task functions require explicit parameters.");te||q.pop(),_[G]=q.concat(we)}function we(Ge,Pe){var gt=Fp(q,function(Ur){return Ge[Ur]});gt.push(Pe),E(K).apply(null,gt)}}),tE(_,P)}function as(){this.head=this.tail=null,this.length=0}function k1(S,P){S.length=1,S.head=S.tail=P}as.prototype.removeLink=function(S){return S.prev?S.prev.next=S.next:this.head=S.next,S.next?S.next.prev=S.prev:this.tail=S.prev,S.prev=S.next=null,this.length-=1,S},as.prototype.empty=function(){for(;this.head;)this.shift();return this},as.prototype.insertAfter=function(S,P){P.prev=S,P.next=S.next,S.next?S.next.prev=P:this.tail=P,S.next=P,this.length+=1},as.prototype.insertBefore=function(S,P){P.prev=S.prev,P.next=S,S.prev?S.prev.next=P:this.head=P,S.prev=P,this.length+=1},as.prototype.unshift=function(S){this.head?this.insertBefore(this.head,S):k1(this,S)},as.prototype.push=function(S){this.tail?this.insertAfter(this.tail,S):k1(this,S)},as.prototype.shift=function(){return this.head&&this.removeLink(this.head)},as.prototype.pop=function(){return this.tail&&this.removeLink(this.tail)},as.prototype.toArray=function(){for(var S=Array(this.length),P=this.head,_=0;_<this.length;_++)S[_]=P.data,P=P.next;return S},as.prototype.remove=function(S){for(var P=this.head;P;){var _=P.next;S(P)&&this.removeLink(P),P=_}return this};function x1(S,P,_){if(P==null)P=1;else if(P===0)throw new Error("Concurrency must not be zero");var K=E(S),G=0,q=[],te=!1;function se(gt,Ur,fi){if(fi!=null&&typeof fi!="function")throw new Error("task callback must be a function");if(Pe.started=!0,xt(gt)||(gt=[gt]),gt.length===0&&Pe.idle())return u(function(){Pe.drain()});for(var Oa=0,ls=gt.length;Oa<ls;Oa++){var Fa={data:gt[Oa],callback:fi||Nt};Ur?Pe._tasks.unshift(Fa):Pe._tasks.push(Fa)}te||(te=!0,u(function(){te=!1,Pe.process()}))}function we(gt){return function(Ur){G-=1;for(var fi=0,Oa=gt.length;fi<Oa;fi++){var ls=gt[fi],Fa=VI(q,ls,0);Fa===0?q.shift():Fa>0&&q.splice(Fa,1),ls.callback.apply(ls,arguments),Ur!=null&&Pe.error(Ur,ls.data)}G<=Pe.concurrency-Pe.buffer&&Pe.unsaturated(),Pe.idle()&&Pe.drain(),Pe.process()}}var Ge=!1,Pe={_tasks:new as,concurrency:P,payload:_,saturated:Nt,unsaturated:Nt,buffer:P/4,empty:Nt,drain:Nt,error:Nt,started:!1,paused:!1,push:function(gt,Ur){se(gt,!1,Ur)},kill:function(){Pe.drain=Nt,Pe._tasks.empty()},unshift:function(gt,Ur){se(gt,!0,Ur)},remove:function(gt){Pe._tasks.remove(gt)},process:function(){if(!Ge){for(Ge=!0;!Pe.paused&&G<Pe.concurrency&&Pe._tasks.length;){var gt=[],Ur=[],fi=Pe._tasks.length;Pe.payload&&(fi=Math.min(fi,Pe.payload));for(var Oa=0;Oa<fi;Oa++){var ls=Pe._tasks.shift();gt.push(ls),q.push(ls),Ur.push(ls.data)}G+=1,Pe._tasks.length===0&&Pe.empty(),G===Pe.concurrency&&Pe.saturated();var Fa=Qs(we(gt));K(Ur,Fa)}Ge=!1}},length:function(){return Pe._tasks.length},running:function(){return G},workersList:function(){return q},idle:function(){return Pe._tasks.length+G===0},pause:function(){Pe.paused=!0},resume:function(){Pe.paused!==!1&&(Pe.paused=!1,u(Pe.process))}};return Pe}function D1(S,P){return x1(S,1,P)}var Lp=Ln(_u,1);function vc(S,P,_,K){K=Li(K||Nt);var G=E(_);Lp(S,function(q,te,se){G(P,q,function(we,Ge){P=Ge,se(we)})},function(q){K(q,P)})}function oE(){var S=Fp(arguments,E);return function(){var P=e(arguments),_=this,K=P[P.length-1];typeof K=="function"?P.pop():K=Nt,vc(S,P,function(G,q,te){q.apply(_,G.concat(function(se){var we=e(arguments,1);te(se,we)}))},function(G,q){K.apply(_,[G].concat(q))})}}var _1=function(){return oE.apply(null,e(arguments).reverse())},LL=Array.prototype.concat,jI=function(S,P,_,K){K=K||Nt;var G=E(_);Op(S,P,function(q,te){G(q,function(se){return se?te(se):te(null,e(arguments,1))})},function(q,te){for(var se=[],we=0;we<te.length;we++)te[we]&&(se=LL.apply(se,te[we]));return K(q,se)})},T1=Ln(jI,1/0),R1=Ln(jI,1),A1=function(){var S=e(arguments),P=[null].concat(S);return function(){var _=arguments[arguments.length-1];return _.apply(this,P)}};function jf(S){return S}function Up(S,P){return function(_,K,G,q){q=q||Nt;var te=!1,se;_(K,function(we,Ge,Pe){G(we,function(gt,Ur){gt?Pe(gt):S(Ur)&&!se?(te=!0,se=P(!0,we),Pe(null,Ka)):Pe()})},function(we){we?q(we):q(null,te?se:P(!1))})}}function N1(S,P){return P}var JI=Mp(Up(jf,N1)),Jf=Kp(Up(jf,N1)),BI=Ln(Jf,1);function M1(S){return function(P){var _=e(arguments,1);_.push(function(K){var G=e(arguments,1);typeof console=="object"&&(K?console.error&&console.error(K):console[S]&&WI(G,function(q){console[S](q)}))}),E(P).apply(null,_)}}var K1=M1("dir");function O1(S,P,_){_=Qs(_||Nt);var K=E(S),G=E(P);function q(se){if(se)return _(se);var we=e(arguments,1);we.push(te),G.apply(this,we)}function te(se,we){if(se)return _(se);if(!we)return _(null);K(q)}te(null,!0)}function sE(S,P,_){_=Qs(_||Nt);var K=E(S),G=function(q){if(q)return _(q);var te=e(arguments,1);if(P.apply(this,te))return K(G);_.apply(null,[null].concat(te))};K(G)}function F1(S,P,_){sE(S,function(){return!P.apply(this,arguments)},_)}function L1(S,P,_){_=Qs(_||Nt);var K=E(P),G=E(S);function q(se){if(se)return _(se);G(te)}function te(se,we){if(se)return _(se);if(!we)return _(null);K(q)}G(te)}function U1(S){return function(P,_,K){return S(P,K)}}function $I(S,P,_){gc(S,U1(E(P)),_)}function Bf(S,P,_,K){LI(P)(S,U1(E(_)),K)}var $f=Ln(Bf,1);function aE(S){return I(S)?S:r(function(P,_){var K=!0;P.push(function(){var G=arguments;K?u(function(){_.apply(null,G)}):_.apply(null,G)}),S.apply(this,P),K=!1})}function qI(S){return!S}var HI=Mp(Up(qI,qI)),qf=Kp(Up(qI,qI)),GI=Ln(qf,1);function W1(S){return function(P){return P?.[S]}}function UL(S,P,_,K){var G=new Array(P.length);S(P,function(q,te,se){_(q,function(we,Ge){G[te]=!!Ge,se(we)})},function(q){if(q)return K(q);for(var te=[],se=0;se<P.length;se++)G[se]&&te.push(P[se]);K(null,te)})}function WL(S,P,_,K){var G=[];S(P,function(q,te,se){_(q,function(we,Ge){we?se(we):(Ge&&G.push({index:te,value:q}),se())})},function(q){q?K(q):K(null,Fp(G.sort(function(te,se){return te.index-se.index}),W1("value")))})}function lE(S,P,_,K){var G=zs(P)?UL:WL;G(S,P,E(_),K||Nt)}var zI=Mp(lE),Hf=Kp(lE),QI=Ln(Hf,1);function V1(S,P){var _=Qs(P||Nt),K=E(aE(S));function G(q){if(q)return _(q);K(G)}G()}var YI=function(S,P,_,K){K=K||Nt;var G=E(_);Op(S,P,function(q,te){G(q,function(se,we){return se?te(se):te(null,{key:we,val:q})})},function(q,te){for(var se={},we=Object.prototype.hasOwnProperty,Ge=0;Ge<te.length;Ge++)if(te[Ge]){var Pe=te[Ge].key,gt=te[Ge].val;we.call(se,Pe)?se[Pe].push(gt):se[Pe]=[gt]}return K(q,se)})},j1=Ln(YI,1/0),J1=Ln(YI,1),B1=M1("log");function XI(S,P,_,K){K=Li(K||Nt);var G={},q=E(_);_u(S,P,function(te,se,we){q(te,se,function(Ge,Pe){if(Ge)return we(Ge);G[se]=Pe,we()})},function(te){K(te,G)})}var $1=Ln(XI,1/0),q1=Ln(XI,1);function H1(S,P){return P in S}function G1(S,P){var _=Object.create(null),K=Object.create(null);P=P||jf;var G=E(S),q=r(function(se,we){var Ge=P.apply(null,se);H1(_,Ge)?u(function(){we.apply(null,_[Ge])}):H1(K,Ge)?K[Ge].push(we):(K[Ge]=[we],G.apply(null,se.concat(function(){var Pe=e(arguments);_[Ge]=Pe;var gt=K[Ge];delete K[Ge];for(var Ur=0,fi=gt.length;Ur<fi;Ur++)gt[Ur].apply(null,Pe)})))});return q.memo=_,q.unmemoized=S,q}var ZI;s?ZI=process.nextTick:o?ZI=setImmediate:ZI=a;var z1=l(ZI);function cE(S,P,_){_=_||Nt;var K=zs(P)?[]:{};S(P,function(G,q,te){E(G)(function(se,we){arguments.length>2&&(we=e(arguments,1)),K[q]=we,te(se)})},function(G){_(G,K)})}function Q1(S,P){cE(gc,S,P)}function Y1(S,P,_){cE(LI(P),S,_)}var uE=function(S,P){var _=E(S);return x1(function(K,G){_(K[0],G)},P,1)},X1=function(S,P){var _=uE(S,P);return _.push=function(K,G,q){if(q==null&&(q=Nt),typeof q!="function")throw new Error("task callback must be a function");if(_.started=!0,xt(K)||(K=[K]),K.length===0)return u(function(){_.drain()});G=G||0;for(var te=_._tasks.head;te&&G>=te.priority;)te=te.next;for(var se=0,we=K.length;se<we;se++){var Ge={data:K[se],priority:G,callback:q};te?_._tasks.insertBefore(te,Ge):_._tasks.push(Ge)}u(_.process)},delete _.unshift,_};function Z1(S,P){if(P=Li(P||Nt),!xt(S))return P(new TypeError("First argument to race must be an array of functions"));if(!S.length)return P();for(var _=0,K=S.length;_<K;_++)E(S[_])(P)}function eS(S,P,_,K){var G=e(S).reverse();vc(G,P,_,K)}function tS(S){var P=E(S);return r(function(K,G){return K.push(function(te,se){if(te)G(null,{error:te});else{var we;arguments.length<=2?we=se:we=e(arguments,1),G(null,{value:we})}}),P.apply(this,K)})}function eR(S){var P;return xt(S)?P=Fp(S,tS):(P={},Vf(S,function(_,K){P[K]=tS.call(this,_)})),P}function tR(S,P,_,K){lE(S,P,function(G,q){_(G,function(te,se){q(te,!se)})},K)}var rR=Mp(tR),dE=Kp(tR),nR=Ln(dE,1);function iR(S){return function(){return S}}function rS(S,P,_){var K=5,G=0,q={times:K,intervalFunc:iR(G)};function te(Pe,gt){if(typeof gt=="object")Pe.times=+gt.times||K,Pe.intervalFunc=typeof gt.interval=="function"?gt.interval:iR(+gt.interval||G),Pe.errorFilter=gt.errorFilter;else if(typeof gt=="number"||typeof gt=="string")Pe.times=+gt||K;else throw new Error("Invalid arguments for async.retry")}if(arguments.length<3&&typeof S=="function"?(_=P||Nt,P=S):(te(q,S),_=_||Nt),typeof P!="function")throw new Error("Invalid arguments for async.retry");var se=E(P),we=1;function Ge(){se(function(Pe){Pe&&we++<q.times&&(typeof q.errorFilter!="function"||q.errorFilter(Pe))?setTimeout(Ge,q.intervalFunc(we)):_.apply(null,arguments)})}Ge()}var oR=function(S,P){P||(P=S,S=null);var _=E(P);return r(function(K,G){function q(te){_.apply(null,K.concat(te))}S?rS(S,q,G):rS(q,G)})};function sR(S,P){cE(Lp,S,P)}var nS=Mp(Up(Boolean,jf)),Gf=Kp(Up(Boolean,jf)),iS=Ln(Gf,1);function aR(S,P,_){var K=E(P);UI(S,function(q,te){K(q,function(se,we){if(se)return te(se);te(null,{value:q,criteria:we})})},function(q,te){if(q)return _(q);_(null,Fp(te.sort(G),W1("value")))});function G(q,te){var se=q.criteria,we=te.criteria;return se<we?-1:se>we?1:0}}function lR(S,P,_){var K=E(S);return r(function(G,q){var te=!1,se;function we(){var Ge=S.name||"anonymous",Pe=new Error('Callback function "'+Ge+'" timed out.');Pe.code="ETIMEDOUT",_&&(Pe.info=_),te=!0,q(Pe)}G.push(function(){te||(q.apply(null,arguments),clearTimeout(se))}),se=setTimeout(we,P),K.apply(null,G)})}var VL=Math.ceil,jL=Math.max;function D(S,P,_,K){for(var G=-1,q=jL(VL((P-S)/(_||1)),0),te=Array(q);q--;)te[K?q:++G]=S,S+=_;return te}function L(S,P,_,K){var G=E(_);Op(D(0,S,1),P,G,K)}var $e=Ln(L,1/0),pE=Ln(L,1);function JL(S,P,_,K){arguments.length<=3&&(K=_,_=P,P=xt(S)?[]:{}),K=Li(K||Nt);var G=E(_);gc(S,function(q,te,se){G(P,q,te,se)},function(q){K(q,P)})}function BL(S,P){var _=null,K;P=P||Nt,$f(S,function(G,q){E(G)(function(te,se){arguments.length>2?K=e(arguments,1):K=se,_=te,q(!te)})},function(){P(_,K)})}function $L(S){return function(){return(S.unmemoized||S).apply(null,arguments)}}function cR(S,P,_){_=Qs(_||Nt);var K=E(P);if(!S())return _(null);var G=function(q){if(q)return _(q);if(S())return K(G);var te=e(arguments,1);_.apply(null,[null].concat(te))};K(G)}function qL(S,P,_){cR(function(){return!S.apply(this,arguments)},P,_)}var HL=function(S,P){if(P=Li(P||Nt),!xt(S))return P(new Error("First argument to waterfall must be an array of functions"));if(!S.length)return P();var _=0;function K(q){var te=E(S[_++]);q.push(Qs(G)),te.apply(null,q)}function G(q){if(q||_===S.length)return P.apply(null,arguments);K(e(arguments,1))}K([])},wG={apply:t,applyEach:f1,applyEachSeries:h1,asyncify:d,auto:tE,autoInject:P1,cargo:D1,compose:_1,concat:T1,concatLimit:jI,concatSeries:R1,constant:A1,detect:JI,detectLimit:Jf,detectSeries:BI,dir:K1,doDuring:O1,doUntil:F1,doWhilst:sE,during:L1,each:$I,eachLimit:Bf,eachOf:gc,eachOfLimit:_u,eachOfSeries:Lp,eachSeries:$f,ensureAsync:aE,every:HI,everyLimit:qf,everySeries:GI,filter:zI,filterLimit:Hf,filterSeries:QI,forever:V1,groupBy:j1,groupByLimit:YI,groupBySeries:J1,log:B1,map:UI,mapLimit:Op,mapSeries:eE,mapValues:$1,mapValuesLimit:XI,mapValuesSeries:q1,memoize:G1,nextTick:z1,parallel:Q1,parallelLimit:Y1,priorityQueue:X1,queue:uE,race:Z1,reduce:vc,reduceRight:eS,reflect:tS,reflectAll:eR,reject:rR,rejectLimit:dE,rejectSeries:nR,retry:rS,retryable:oR,seq:oE,series:sR,setImmediate:u,some:nS,someLimit:Gf,someSeries:iS,sortBy:aR,timeout:lR,times:$e,timesLimit:L,timesSeries:pE,transform:JL,tryEach:BL,unmemoize:$L,until:qL,waterfall:HL,whilst:cR,all:HI,allLimit:qf,allSeries:GI,any:nS,anyLimit:Gf,anySeries:iS,find:JI,findLimit:Jf,findSeries:BI,forEach:$I,forEachSeries:$f,forEachLimit:Bf,forEachOf:gc,forEachOfSeries:Lp,forEachOfLimit:_u,inject:vc,foldl:vc,foldr:eS,select:zI,selectLimit:Hf,selectSeries:QI,wrapSync:d};n.default=wG,n.apply=t,n.applyEach=f1,n.applyEachSeries=h1,n.asyncify=d,n.auto=tE,n.autoInject=P1,n.cargo=D1,n.compose=_1,n.concat=T1,n.concatLimit=jI,n.concatSeries=R1,n.constant=A1,n.detect=JI,n.detectLimit=Jf,n.detectSeries=BI,n.dir=K1,n.doDuring=O1,n.doUntil=F1,n.doWhilst=sE,n.during=L1,n.each=$I,n.eachLimit=Bf,n.eachOf=gc,n.eachOfLimit=_u,n.eachOfSeries=Lp,n.eachSeries=$f,n.ensureAsync=aE,n.every=HI,n.everyLimit=qf,n.everySeries=GI,n.filter=zI,n.filterLimit=Hf,n.filterSeries=QI,n.forever=V1,n.groupBy=j1,n.groupByLimit=YI,n.groupBySeries=J1,n.log=B1,n.map=UI,n.mapLimit=Op,n.mapSeries=eE,n.mapValues=$1,n.mapValuesLimit=XI,n.mapValuesSeries=q1,n.memoize=G1,n.nextTick=z1,n.parallel=Q1,n.parallelLimit=Y1,n.priorityQueue=X1,n.queue=uE,n.race=Z1,n.reduce=vc,n.reduceRight=eS,n.reflect=tS,n.reflectAll=eR,n.reject=rR,n.rejectLimit=dE,n.rejectSeries=nR,n.retry=rS,n.retryable=oR,n.seq=oE,n.series=sR,n.setImmediate=u,n.some=nS,n.someLimit=Gf,n.someSeries=iS,n.sortBy=aR,n.timeout=lR,n.times=$e,n.timesLimit=L,n.timesSeries=pE,n.transform=JL,n.tryEach=BL,n.unmemoize=$L,n.until=qL,n.waterfall=HL,n.whilst=cR,n.all=HI,n.allLimit=qf,n.allSeries=GI,n.any=nS,n.anyLimit=Gf,n.anySeries=iS,n.find=JI,n.findLimit=Jf,n.findSeries=BI,n.forEach=$I,n.forEachSeries=$f,n.forEachLimit=Bf,n.forEachOf=gc,n.forEachOfSeries=Lp,n.forEachOfLimit=_u,n.inject=vc,n.foldl=vc,n.foldr=eS,n.select=zI,n.selectLimit=Hf,n.selectSeries=QI,n.wrapSync=d,Object.defineProperty(n,"__esModule",{value:!0})})});var fO=O((gQe,E5)=>{"use strict";function Ade(n){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=o,t.enabled=a,t.humanize=cO(),Object.keys(n).forEach(function(c){t[c]=n[c]}),t.instances=[],t.names=[],t.skips=[],t.formatters={};function e(c){for(var u=0,d=0;d<c.length;d++)u=(u<<5)-u+c.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(c){var u;function d(){if(d.enabled){for(var f=arguments.length,g=new Array(f),b=0;b<f;b++)g[b]=arguments[b];var I=d,E=Number(new Date),x=E-(u||E);I.diff=x,I.prev=u,I.curr=E,u=E,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");var A=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,function(J,ne){if(J==="%%")return J;A++;var H=t.formatters[ne];if(typeof H=="function"){var oe=g[A];J=H.call(I,oe),g.splice(A,1),A--}return J}),t.formatArgs.call(I,g);var T=I.log||t.log;T.apply(I,g)}}return d.namespace=c,d.enabled=t.enabled(c),d.useColors=t.useColors(),d.color=e(c),d.destroy=r,d.extend=i,typeof t.init=="function"&&t.init(d),t.instances.push(d),d}function r(){var c=t.instances.indexOf(this);return c!==-1?(t.instances.splice(c,1),!0):!1}function i(c,u){return t(this.namespace+(typeof u>"u"?":":u)+c)}function o(c){t.save(c),t.names=[],t.skips=[];var u,d=(typeof c=="string"?c:"").split(/[\s,]+/),f=d.length;for(u=0;u<f;u++)d[u]&&(c=d[u].replace(/\*/g,".*?"),c[0]==="-"?t.skips.push(new RegExp("^"+c.substr(1)+"$")):t.names.push(new RegExp("^"+c+"$")));for(u=0;u<t.instances.length;u++){var g=t.instances[u];g.enabled=t.enabled(g.namespace)}}function s(){t.enable("")}function a(c){if(c[c.length-1]==="*")return!0;var u,d;for(u=0,d=t.skips.length;u<d;u++)if(t.skips[u].test(c))return!1;for(u=0,d=t.names.length;u<d;u++)if(t.names[u].test(c))return!0;return!1}function l(c){return c instanceof Error?c.stack||c.message:c}return t.enable(t.load()),t}E5.exports=Ade});var P5=O((Ws,y_)=>{"use strict";function v_(n){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?v_=function(t){return typeof t}:v_=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},v_(n)}Ws.log=Kde;Ws.formatArgs=Mde;Ws.save=Ode;Ws.load=Fde;Ws.useColors=Nde;Ws.storage=Lde();Ws.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Nde(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Mde(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+y_.exports.humanize(this.diff),!!this.useColors){var e="color: "+this.color;n.splice(1,0,e,"color: inherit");var t=0,r=0;n[0].replace(/%[a-zA-Z%]/g,function(i){i!=="%%"&&(t++,i==="%c"&&(r=t))}),n.splice(r,0,e)}}function Kde(){var n;return(typeof console>"u"?"undefined":v_(console))==="object"&&console.log&&(n=console).log.apply(n,arguments)}function Ode(n){try{n?Ws.storage.setItem("debug",n):Ws.storage.removeItem("debug")}catch{}}function Fde(){var n;try{n=Ws.storage.getItem("debug")}catch{}return!n&&typeof process<"u"&&"env"in process&&(n=process.env.DEBUG),n}function Lde(){try{return localStorage}catch{}}y_.exports=fO()(Ws);var Ude=y_.exports.formatters;Ude.j=function(n){try{return JSON.stringify(n)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var x5=O((Mi,S_)=>{"use strict";var Wde=require("tty"),I_=require("util");Mi.init=Hde;Mi.log=Bde;Mi.formatArgs=jde;Mi.save=$de;Mi.load=qde;Mi.useColors=Vde;Mi.colors=[6,2,3,4,5,1];try{b_=pO(),b_&&(b_.stderr||b_).level>=2&&(Mi.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}var b_;Mi.inspectOpts=Object.keys(process.env).filter(function(n){return/^debug_/i.test(n)}).reduce(function(n,e){var t=e.substring(6).toLowerCase().replace(/_([a-z])/g,function(i,o){return o.toUpperCase()}),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),n[t]=r,n},{});function Vde(){return"colors"in Mi.inspectOpts?!!Mi.inspectOpts.colors:Wde.isatty(process.stderr.fd)}function jde(n){var e=this.namespace,t=this.useColors;if(t){var r=this.color,i="\x1B[3"+(r<8?r:"8;5;"+r),o=" ".concat(i,";1m").concat(e," \x1B[0m");n[0]=o+n[0].split(`
`).join(`
`+o),n.push(i+"m+"+S_.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Jde()+e+" "+n[0]}function Jde(){return Mi.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Bde(){return process.stderr.write(I_.format.apply(I_,arguments)+`
`)}function $de(n){n?process.env.DEBUG=n:delete process.env.DEBUG}function qde(){return process.env.DEBUG}function Hde(n){n.inspectOpts={};for(var e=Object.keys(Mi.inspectOpts),t=0;t<e.length;t++)n.inspectOpts[e[t]]=Mi.inspectOpts[e[t]]}S_.exports=fO()(Mi);var k5=S_.exports.formatters;k5.o=function(n){return this.inspectOpts.colors=this.useColors,I_.inspect(n,this.inspectOpts).split(`
`).map(function(e){return e.trim()}).join(" ")};k5.O=function(n){return this.inspectOpts.colors=this.useColors,I_.inspect(n,this.inspectOpts)}});var D5=O((vQe,hO)=>{"use strict";typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?hO.exports=P5():hO.exports=x5()});var A5=O((yQe,R5)=>{var lw=require("path"),_5=require("fs"),T5=parseInt("0777",8);R5.exports=_y.mkdirp=_y.mkdirP=_y;function _y(n,e,t,r){typeof e=="function"?(t=e,e={}):(!e||typeof e!="object")&&(e={mode:e});var i=e.mode,o=e.fs||_5;i===void 0&&(i=T5),r||(r=null);var s=t||function(){};n=lw.resolve(n),o.mkdir(n,i,function(a){if(!a)return r=r||n,s(null,r);switch(a.code){case"ENOENT":if(lw.dirname(n)===n)return s(a);_y(lw.dirname(n),e,function(l,c){l?s(l,c):_y(n,e,s,c)});break;default:o.stat(n,function(l,c){l||!c.isDirectory()?s(a,r):s(null,r)});break}})}_y.sync=function n(e,t,r){(!t||typeof t!="object")&&(t={mode:t});var i=t.mode,o=t.fs||_5;i===void 0&&(i=T5),r||(r=null),e=lw.resolve(e);try{o.mkdirSync(e,i),r=r||e}catch(a){switch(a.code){case"ENOENT":r=n(lw.dirname(e),t,r),n(e,t,r);break;default:var s;try{s=o.statSync(e)}catch{throw a}if(!s.isDirectory())throw a;break}}return r}});var K5=O(vr=>{"use strict";var N5=require("fs"),Gde=require("os"),zde=require("net"),C_=require("path"),M5=w5(),yO=D5(),Qde=A5().mkdirp,gO=yO("portfinder:testPort"),cw=yO("portfinder:getPort"),Yde=yO("portfinder:defaultHosts"),vO={};vO.testPort=function(n,e){e||(e=n,n={}),n.server=n.server||zde.createServer(function(){}),gO("entered testPort(): trying",n.host,"port",n.port);function t(){gO("done w/ testPort(): OK",n.host,"port",n.port),n.server.removeListener("error",r),n.server.close(),e(null,n.port)}function r(i){if(gO("done w/ testPort(): failed",n.host,"w/ port",n.port,"with error",i.code),n.server.removeListener("listening",t),!(i.code=="EADDRINUSE"||i.code=="EACCES"))return e(i);var o=vr.nextPort(n.port);if(o>vr.highestPort)return e(new Error("No open ports available"));vO.testPort({port:o,host:n.host,server:n.server},e)}n.server.once("error",r),n.server.once("listening",t),n.host?n.server.listen(n.port,n.host):n.server.listen(n.port)};vr.basePort=8e3;vr.highestPort=65535;vr.basePath="/tmp/portfinder";vr.getPort=function(n,e){if(e||(e=n,n={}),n.port=Number(n.port)||Number(vr.basePort),n.host=n.host||null,n.stopPort=Number(n.stopPort)||Number(vr.highestPort),!n.startPort){if(n.startPort=Number(n.port),n.startPort<0)throw Error("Provided options.startPort("+n.startPort+") is less than 0, which are cannot be bound.");if(n.stopPort<n.startPort)throw Error("Provided options.stopPort("+n.stopPort+"is less than options.startPort ("+n.startPort+")")}if(n.host){for(var t,r=0;r<vr._defaultHosts.length;r++)if(vr._defaultHosts[r]===n.host){t=!0;break}t||vr._defaultHosts.push(n.host)}var i=[],o;return M5.eachSeries(vr._defaultHosts,function(s,a){return cw("in eachSeries() iteration callback: host is",s),vO.testPort({host:s,port:n.port},function(l,c){return l?(cw("in eachSeries() iteration callback testPort() callback","with an err:",l.code),o=s,a(l)):(cw("in eachSeries() iteration callback testPort() callback","with a success for port",c),i.push(c),a())})},function(s){if(s)if(cw("in eachSeries() result callback: err is",s),s.code==="EADDRNOTAVAIL"||s.code==="EINVAL")if(n.host===o){var a="Provided host "+n.host+" could NOT be bound. Please provide a different host address or hostname";return e(Error(a))}else{var l=vr._defaultHosts.indexOf(o);return vr._defaultHosts.splice(l,1),vr.getPort(n,e)}else return e(s);if(i.sort(function(c,u){return c-u}),cw("in eachSeries() result callback: openPorts is",i),i[0]===i[i.length-1]){if(i[0]<=n.stopPort)return e(null,i[0]);var a="No open ports found in between "+n.startPort+" and "+n.stopPort;return e(Error(a))}else return vr.getPort({port:i.pop(),host:n.host,startPort:n.startPort,stopPort:n.stopPort},e)})};vr.getPortPromise=function(n){if(typeof Promise!="function")throw Error("Native promise support is not available in this version of node.Please install a polyfill and assign Promise to global.Promise before calling this method");return n||(n={}),new Promise(function(e,t){vr.getPort(n,function(r,i){if(r)return t(r);e(i)})})};vr.getPorts=function(n,e,t){t||(t=e,e={});var r=null;M5.timesSeries(n,function(i,o){r&&(e.port=vr.nextPort(r)),vr.getPort(e,function(s,a){s?o(s):(r=a,o(null,a))})},t)};vr.getSocket=function(n,e){e||(e=n,n={}),n.mod=n.mod||parseInt(755,8),n.path=n.path||vr.basePath+".sock";function t(){N5.stat(n.path,function(o){o?o.code=="ENOENT"?e(null,n.path):e(o):(n.path=vr.nextSocket(n.path),vr.getSocket(n,e))})}function r(o){Qde(o,n.mod,function(s){if(s)return e(s);n.exists=!0,t()})}function i(){var o=C_.dirname(n.path);N5.stat(o,function(s,a){if(s||!a.isDirectory())return r(o);n.exists=!0,t()})}return n.exists?t():i()};vr.nextPort=function(n){return n+1};vr.nextSocket=function(n){var e=C_.dirname(n),t=C_.basename(n,".sock"),r=t.match(/^([a-zA-z]+)(\d*)$/i),i=parseInt(r[2]),o=r[1];return isNaN(i)&&(i=0),i+=1,C_.join(e,o+i+".sock")};vr._defaultHosts=function(){var n={};try{n=Gde.networkInterfaces()}catch(l){if(l.syscall!=="uv_interface_addresses")throw l}for(var e=Object.keys(n),t="0.0.0.0",r=[t],i=0;i<e.length;i++)for(var o=n[e[i]],s=0;s<o.length;s++){var a=o[s];r.push(a.address)}return r.push(null),Yde("exports._defaultHosts is: %o",r),r}()});var B5=O(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.encode=Ty.decode=void 0;var V5=require("crypto"),bO="<IDS|MSG>",epe=5;function P_(n){return JSON.parse(n.toString())}function j5(n){return Object.assign({},{header:{},parent_header:{},metadata:{},content:{},idents:[],buffers:[]},n)}function J5(n){let e=n;switch(n){case"hmac-sha256":e="sha256";break}return e}function tpe(n,e,t="sha256"){var r=0;let i=[];for(r=0;r<n.length;r++){var o=n[r];if(o.toString()===bO)break;i.push(o)}if(n.length-r<epe)throw new Error("Message Decoding: Not enough message frames");if(n[r].toString()!==bO)throw new Error("Message Decoding: Missing delimiter");if(e){let u=J5(t);var s=n[r+1].toString(),a=V5.createHmac(u,e);a.update(n[r+2]),a.update(n[r+3]),a.update(n[r+4]),a.update(n[r+5]);var l=a.digest("hex");if(l!==s)throw new Error(`Message Decoding: Incorrect;
Obtained "${s}"
Expected "${l}"`)}var c=j5({idents:i,header:P_(n[r+2]),parent_header:P_(n[r+3]),content:P_(n[r+5]),metadata:P_(n[r+4]),buffers:Array.prototype.slice.apply(n,[r+6])});return c}Ty.decode=tpe;function rpe(n,e,t="sha256"){let r=j5(n),i=J5(t),o=r.idents,s=Buffer.from(JSON.stringify(r.header),"utf-8"),a=Buffer.from(JSON.stringify(r.parent_header),"utf-8"),l=Buffer.from(JSON.stringify(r.metadata),"utf-8"),c=Buffer.from(JSON.stringify(r.content),"utf-8"),u="";if(e){let f=V5.createHmac(i,e);f.update(s),f.update(a),f.update(l),f.update(c),u=f.digest("hex")}var d=o.concat([Buffer.from(bO),Buffer.from(u),s,a,l,c]).concat(r.buffers);return d}Ty.encode=rpe});var nq=O((_et,rq)=>{"use strict";rq.exports=({onlyFirst:n=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,n?void 0:"g")}});var _q=O((cst,Dq)=>{"use strict";var Spe=(n,e={})=>{let t=e.safe===!0||e.keepProtected===!0,r=!1,i=(o,s)=>{let a="",l,c;for(let u of o.nodes)switch(u.type){case"block":if(e.first&&r===!0){a+=i(u,o);break}if(e.preserveNewlines===!0){l=i(u,o),c=l.split(`
`),a+=`
`.repeat(c.length-1);break}if(t===!0&&u.protected===!0){a+=i(u,o);break}r=!0;break;case"line":if(e.first&&r===!0){a+=u.value;break}t===!0&&u.protected===!0&&(a+=u.value),r=!0;break;case"open":case"close":case"text":case"newline":default:{a+=u.value||"";break}}return a};return i(n)};Dq.exports=Spe});var Rq=O((ust,Tq)=>{"use strict";var nT=class{constructor(e){this.type=e.type,e.value&&(this.value=e.value),e.match&&(this.match=e.match),this.newline=e.newline||""}get protected(){return!!this.match&&this.match[1]==="!"}},DO=class extends nT{constructor(e){super(e),this.nodes=e.nodes||[]}push(e){this.nodes.push(e)}get protected(){return this.nodes.length>0&&this.nodes[0].protected===!0}};Tq.exports={Node:nT,Block:DO}});var Nq=O(Aq=>{"use strict";Aq.javascript={BLOCK_OPEN_REGEX:/^\/\*\*?(!?)/,BLOCK_CLOSE_REGEX:/^\*\/(\n?)/,LINE_REGEX:/^\/\/(!?).*/}});var Oq=O((pst,Kq)=>{"use strict";var{Node:ap,Block:Mq}=Rq(),Cpe=Nq(),_O={ESCAPED_CHAR_REGEX:/^\\./,QUOTED_STRING_REGEX:/^(['"`])((?:\\.|[^\1])+?)(\1)/,NEWLINE_REGEX:/^\r*\n/},wpe=(n,e={})=>{if(typeof n!="string")throw new TypeError("Expected input to be a string");let t=new Mq({type:"root",nodes:[]}),r=[t],i=(e.language||"javascript").toLowerCase(),o=Cpe[i];if(typeof o>"u")throw new Error(`Language "${i}" is not supported by strip-comments`);let{LINE_REGEX:s,BLOCK_OPEN_REGEX:a,BLOCK_CLOSE_REGEX:l}=o,c=t,u=n,d,f,g=[a,l].filter(Boolean),b=!1;g.every(T=>T.source==='^"""')&&(b=!0);let I=(T=u[0]||"")=>(u=u.slice(T.length),T),E=(T,J="text")=>{let ne=T.exec(u);if(ne)return I(ne[0]),{type:J,value:ne[0],match:ne}},x=T=>{if(f&&f.type==="text"&&T.type==="text"){f.value+=T.value;return}c.push(T),T.nodes&&(r.push(T),c=T),f=T},A=()=>{if(c.type==="root")throw new SyntaxError("Unclosed block comment");r.pop(),c=r[r.length-1]};for(;u!=="";){if(d=E(_O.ESCAPED_CHAR_REGEX,"text")){x(new ap(d));continue}if(c.type!=="block"&&(!f||!/\w$/.test(f.value))&&!(b&&u.startsWith('"""'))&&(d=E(_O.QUOTED_STRING_REGEX,"text"))){x(new ap(d));continue}if(d=E(_O.NEWLINE_REGEX,"newline")){x(new ap(d));continue}if(a&&e.block&&!(b&&c.type==="block")&&(d=E(a,"open"))){x(new Mq({type:"block"})),x(new ap(d));continue}if(l&&c.type==="block"&&e.block&&(d=E(l,"close"))){d.newline=d.match[1]||"",x(new ap(d)),A();continue}if(s&&c.type!=="block"&&e.line&&(d=E(s,"line"))){x(new ap(d));continue}if(d=E(/^[a-zABD-Z0-9\t ]+/,"text")){x(new ap(d));continue}x(new ap({type:"text",value:I(u[0])}))}return t};Kq.exports=wpe});var Lq=O((mst,Fq)=>{"use strict";var iT=_q(),fw=Oq(),oT=Fq.exports=(n,e)=>{let t={...e,block:!0,line:!0};return iT(fw(n,t),t)};oT.block=(n,e)=>{let t={...e,block:!0};return iT(fw(n,t),t)};oT.line=(n,e)=>{let t={...e,line:!0};return iT(fw(n,t),t)};oT.first=(n,e)=>{let t={...e,block:!0,line:!0,first:!0};return iT(fw(n,t),t)};oT.parse=fw});var PH=O((xwt,EH)=>{var Ype=typeof global=="object"&&global&&global.Object===Object&&global;EH.exports=Ype});var xH=O((Dwt,kH)=>{var Xpe=PH(),Zpe=typeof self=="object"&&self&&self.Object===Object&&self,eme=Xpe||Zpe||Function("return this")();kH.exports=eme});var e0=O((_wt,DH)=>{var tme=xH(),rme=tme.Symbol;DH.exports=rme});var TH=O((Twt,_H)=>{function nme(n,e){for(var t=-1,r=n==null?0:n.length,i=Array(r);++t<r;)i[t]=e(n[t],t,n);return i}_H.exports=nme});var AH=O((Rwt,RH)=>{var ime=Array.isArray;RH.exports=ime});var OH=O((Awt,KH)=>{var NH=e0(),MH=Object.prototype,ome=MH.hasOwnProperty,sme=MH.toString,Aw=NH?NH.toStringTag:void 0;function ame(n){var e=ome.call(n,Aw),t=n[Aw];try{n[Aw]=void 0;var r=!0}catch{}var i=sme.call(n);return r&&(e?n[Aw]=t:delete n[Aw]),i}KH.exports=ame});var LH=O((Nwt,FH)=>{var lme=Object.prototype,cme=lme.toString;function ume(n){return cme.call(n)}FH.exports=ume});var jH=O((Mwt,VH)=>{var UH=e0(),dme=OH(),pme=LH(),mme="[object Null]",fme="[object Undefined]",WH=UH?UH.toStringTag:void 0;function hme(n){return n==null?n===void 0?fme:mme:WH&&WH in Object(n)?dme(n):pme(n)}VH.exports=hme});var BH=O((Kwt,JH)=>{function gme(n){return n!=null&&typeof n=="object"}JH.exports=gme});var qH=O((Owt,$H)=>{var vme=jH(),yme=BH(),bme="[object Symbol]";function Ime(n){return typeof n=="symbol"||yme(n)&&vme(n)==bme}$H.exports=Ime});var XH=O((Fwt,YH)=>{var HH=e0(),Sme=TH(),Cme=AH(),wme=qH(),Eme=1/0,GH=HH?HH.prototype:void 0,zH=GH?GH.toString:void 0;function QH(n){if(typeof n=="string")return n;if(Cme(n))return Sme(n,QH)+"";if(wme(n))return zH?zH.call(n):"";var e=n+"";return e=="0"&&1/n==-Eme?"-0":e}YH.exports=QH});var e4=O((Lwt,ZH)=>{var Pme=XH();function kme(n){return n==null?"":Pme(n)}ZH.exports=kme});var n4=O((Uwt,r4)=>{var xme=e4(),t4=/[\\^$.*+?()[\]{}|]/g,Dme=RegExp(t4.source);function _me(n){return n=xme(n),n&&Dme.test(n)?n.replace(t4,"\\$&"):n}r4.exports=_me});var $fe={};zL($fe,{activate:()=>Ufe,deactivate:()=>Wfe});module.exports=YL($fe);Reflect.metadata===void 0&&ZL();var Yt=require("vscode");function Qf(){try{return(tU(),YL(eU)).isPreRelesVersionOfJupyterExtension===!0}catch{return!0}}var sS={isExiting:!1},mE="_builtin.JupyterServerSelectorForTesting",pR="_builtin.jupyterServerUrlProvider";var rU=!1;function nU(n){rU=n}function Wp(){return rU}var iU=!1;function oU(n){iU=n}function tn(){return iU}var ge="python",aS="markdown",bc="vscode-notebook-cell",MG={scheme:"untitled",language:ge},KG={scheme:"file",language:ge},fE={language:ge},OG={scheme:bc,language:ge},sU=[MG,KG,OG],hE="vscode-interactive-input",St="jupyter-notebook",ft="interactive";var La="GitHub.codespaces",Fe="ms-toolsai.jupyter",aU="ms-toolsai.vscode-jupyter-powertoys",Yf="ms-toolsai.jupyter-hub",lU="0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",Tu="STANDARD_OUTPUT_CHANNEL",lS;(t=>(t.PythonInteractiveHelpLink="https://aka.ms/pyaiinstall",t.JupyterDataRateHelpLink="https://aka.ms/AA5ggm0"))(lS||={});var Qn;(o=>(o.JupyterServerRemoteLaunchNameSeparator=`
`,o.JupyterServerRemoteLaunchService=Fe,o.JupyterServerUriListMax=10,o.IntellisenseTimeout=2e3,o.IntellisenseResolveTimeout=5e3))(Qn||={});var hi=!1;var FG=!1;function Er(){return FG||cS()}var LG=!1;function cS(){return LG}var je;(I=>(I.GeneratedThemeName="ipython-theme",I.MatplotLibDefaultParams="_VSCode_defaultMatplotlib_Params",I.MatplotLibFigureFormats="_VSCode_matplotLib_FigureFormats",I.DefaultCodeCellMarker="# %%",I.DefaultCommTarget="jupyter.widget",I.ALL_VARIABLES="ALL_VARIABLES",I.KERNEL_VARIABLES="KERNEL_VARIABLES",I.DEBUGGER_VARIABLES="DEBUGGER_VARIABLES",I.PYTHON_VARIABLES_REQUESTER="PYTHON_VARIABLES_REQUESTER",I.MULTIPLEXING_DEBUGSERVICE="MULTIPLEXING_DEBUGSERVICE",I.RUN_BY_LINE_DEBUGSERVICE="RUN_BY_LINE_DEBUGSERVICE",I.REMOTE_URI="https://remote/",I.REMOTE_URI_ID_PARAM="id",I.REMOTE_URI_HANDLE_PARAM="uriHandle",I.REMOTE_URI_EXTENSION_ID_PARAM="extensionId"))(je||={});var Xf;(r=>(r.ImportIPython=`{0}
from IPython import get_ipython
{1}`,r.MatplotLibInit=`import matplotlib
%matplotlib inline
${je.MatplotLibDefaultParams} = dict(matplotlib.rcParams)
`,r.DisableJedi="%config Completer.use_jedi = False"))(Xf||={});var Zf="JUPYTER_OUTPUT_CHANNEL",mR="Default Light+",Yn="ms-python.python",eh="ms-toolsai.jupyter-renderers",Vp="ms-python.vscode-pylance",cU=["python","html","xml","javascript","markdown","latex","shellscript","bat","powershell","kusto","ruby","sql","perl","qsharp","raw"],uU=new Map([["bash","shellscript"],["c#","csharp"],["f#","fsharp"],["q#","qsharp"],["c++11","c++"],["c++12","c++"],["c++14","c++"]]),uS=["python","r","julia","c++","c#","f#","q#","powershell","java","scala","haskell","bash","cling","rust","sas","sos","ocaml"];var B;(ye=>(ye.RunAllCells="jupyter.runallcells",ye.RunAllCellsAbove="jupyter.runallcellsabove",ye.RunCellAndAllBelow="jupyter.runcellandallbelow",ye.RunAllCellsAbovePalette="jupyter.runallcellsabove.palette",ye.RunCellAndAllBelowPalette="jupyter.runcurrentcellandallbelow.palette",ye.RunToLine="jupyter.runtoline",ye.RunFromLine="jupyter.runfromline",ye.RunCell="jupyter.runcell",ye.RunCurrentCell="jupyter.runcurrentcell",ye.RunCurrentCellAdvance="jupyter.runcurrentcelladvance",ye.CreateNewInteractive="jupyter.createnewinteractive",ye.ImportNotebook="jupyter.importnotebook",ye.ImportNotebookFile="jupyter.importnotebookfile",ye.ExportFileAsNotebook="jupyter.exportfileasnotebook",ye.ExportFileAndOutputAsNotebook="jupyter.exportfileandoutputasnotebook",ye.InterruptKernel="jupyter.interruptkernel",ye.RestartKernel="jupyter.restartkernel",ye.RestartKernelAndRunAllCells="jupyter.restartkernelandrunallcells",ye.RestartKernelAndRunUpToSelectedCell="jupyter.restartkernelandrunuptoselectedcell",ye.NotebookEditorRemoveAllCells="jupyter.notebookeditor.removeallcells",ye.NotebookEditorRunAllCells="jupyter.notebookeditor.runallcells",ye.NotebookEditorRunSelectedCell="jupyter.notebookeditor.runselectedcell",ye.NotebookEditorAddCellBelow="jupyter.notebookeditor.addcellbelow",ye.ExpandAllCells="jupyter.expandallcells",ye.CollapseAllCells="jupyter.collapseallcells",ye.ExportOutputAsNotebook="jupyter.exportoutputasnotebook",ye.ExecSelectionInInteractiveWindow="jupyter.execSelectionInteractive",ye.RunFileInInteractiveWindows="jupyter.runFileInteractive",ye.DebugFileInInteractiveWindows="jupyter.debugFileInteractive",ye.AddCellBelow="jupyter.addcellbelow",ye.DebugCurrentCellPalette="jupyter.debugcurrentcell.palette",ye.DebugCell="jupyter.debugcell",ye.DebugStepOver="jupyter.debugstepover",ye.DebugContinue="jupyter.debugcontinue",ye.DebugStop="jupyter.debugstop",ye.RunCurrentCellAndAddBelow="jupyter.runcurrentcellandaddbelow",ye.InsertCellBelowPosition="jupyter.insertCellBelowPosition",ye.InsertCellBelow="jupyter.insertCellBelow",ye.InsertCellAbove="jupyter.insertCellAbove",ye.DeleteCells="jupyter.deleteCells",ye.SelectCell="jupyter.selectCell",ye.SelectCellContents="jupyter.selectCellContents",ye.ExtendSelectionByCellAbove="jupyter.extendSelectionByCellAbove",ye.ExtendSelectionByCellBelow="jupyter.extendSelectionByCellBelow",ye.MoveCellsUp="jupyter.moveCellsUp",ye.MoveCellsDown="jupyter.moveCellsDown",ye.ChangeCellToMarkdown="jupyter.changeCellToMarkdown",ye.ChangeCellToCode="jupyter.changeCellToCode",ye.GotoNextCellInFile="jupyter.gotoNextCellInFile",ye.GotoPrevCellInFile="jupyter.gotoPrevCellInFile",ye.ScrollToCell="jupyter.scrolltocell",ye.CreateNewNotebook="jupyter.createnewnotebook",ye.ViewJupyterOutput="jupyter.viewOutput",ye.ExportAsPythonScript="jupyter.exportAsPythonScript",ye.ExportToHTML="jupyter.exportToHTML",ye.ExportToPDF="jupyter.exportToPDF",ye.Export="jupyter.export",ye.NativeNotebookExport="jupyter.notebookeditor.export",ye.LatestExtension="jupyter.latestExtension",ye.EnableLoadingWidgetsFrom3rdPartySource="jupyter.enableLoadingWidgetScriptsFromThirdPartySource",ye.ShowDataViewer="jupyter.showDataViewer",ye.ShowJupyterDataViewer="jupyter.showJupyterDataViewer",ye.RefreshDataViewer="jupyter.refreshDataViewer",ye.ClearSavedJupyterUris="jupyter.clearSavedJupyterUris",ye.OpenVariableView="jupyter.openVariableView",ye.OpenOutlineView="jupyter.openOutlineView",ye.InteractiveClearAll="jupyter.interactive.clearAllCells",ye.InteractiveGoToCode="jupyter.interactive.goToCode",ye.InteractiveCopyCell="jupyter.interactive.copyCell",ye.InteractiveExportAsNotebook="jupyter.interactive.exportasnotebook",ye.InteractiveExportAs="jupyter.interactive.exportas",ye.RunByLine="jupyter.runByLine",ye.RunAndDebugCell="jupyter.runAndDebugCell",ye.RunByLineNext="jupyter.runByLineNext",ye.RunByLineStop="jupyter.runByLineStop",ye.ReplayPylanceLog="jupyter.replayPylanceLog",ye.ReplayPylanceLogStep="jupyter.replayPylanceLogStep",ye.InstallPythonExtensionViaKernelPicker="jupyter.installPythonExtensionViaKernelPicker",ye.InstallPythonViaKernelPicker="jupyter.installPythonViaKernelPicker",ye.ContinueEditSessionInCodespace="jupyter.continueEditSessionInCodespace"))(B||={});var Ru;(r=>(r.DefaultDesignLenses=[B.RunCurrentCell,B.RunAllCellsAbove,B.DebugCell],r.DefaultDebuggingLenses=[B.DebugContinue,B.DebugStop,B.DebugStepOver],r.DebuggerCommands=[B.DebugContinue,B.DebugStop,B.DebugStepOver]))(Ru||={});var mr;(ae=>(ae.HasCodeCells="jupyter.hascodecells",ae.IsInteractiveActive="jupyter.isinteractiveactive",ae.OwnsSelection="jupyter.ownsSelection",ae.HaveNativeCells="jupyter.havenativecells",ae.HaveNative="jupyter.havenative",ae.IsNativeActive="jupyter.isnativeactive",ae.IsInteractiveOrNativeActive="jupyter.isinteractiveornativeactive",ae.IsPythonOrNativeActive="jupyter.ispythonornativeactive",ae.IsPythonOrInteractiveActive="jupyter.ispythonorinteractiveeactive",ae.IsPythonOrInteractiveOrNativeActive="jupyter.ispythonorinteractiveornativeeactive",ae.CanRestartNotebookKernel="jupyter.notebookeditor.canrestartNotebookkernel",ae.CanInterruptNotebookKernel="jupyter.notebookeditor.canInterruptNotebookKernel",ae.CanRestartInteractiveWindowKernel="jupyter.interactive.canRestartNotebookKernel",ae.CanInterruptInteractiveWindowKernel="jupyter.interactive.canInterruptNotebookKernel",ae.RunByLineCells="jupyter.notebookeditor.runByLineCells",ae.RunByLineDocuments="jupyter.notebookeditor.runByLineDocuments",ae.DebugDocuments="jupyter.notebookeditor.debugDocuments",ae.IsPythonNotebook="jupyter.ispythonnotebook",ae.IsJupyterKernelSelected="jupyter.kernel.isjupyter",ae.IsDataViewerActive="jupyter.dataViewerActive",ae.HasNativeNotebookOrInteractiveWindowOpen="jupyter.hasNativeNotebookOrInteractiveWindowOpen",ae.ZmqAvailable="jupyter.zmqavailable",ae.ReplayLogLoaded="jupyter.replayLogLoaded",ae.KernelSource="jupyter.kernelSource"))(mr||={});var jp;(l=>(l.PythonCellMarker=/^(#\s*%%|#\s*\<codecell\>|#\s*In\[\d*?\]|#\s*In\[ \])/,l.PythonMarkdownCellMarker=/^(#\s*%%\s*\[markdown\]|#\s*\<markdowncell\>)/,l.UrlPatternRegEx="(?<PREFIX>https?:\\/\\/)((\\(.+\\s+or\\s+(?<IP>.+)\\))|(?<LOCAL>[^\\s]+))(?<REST>:.+)",l.HttpPattern=/https?:\/\//,l.ShapeSplitterRegEx=/.*,\s*(\d+).*/,l.SvgHeightRegex=/(\<svg.*height=\")(.*?)\"/,l.SvgWidthRegex=/(\<svg.*width=\")(.*?)\"/,l.SvgSizeTagRegex=/\<svg.*tag=\"sizeTag=\{(.*),\s*(.*)\}\"/))(jp||={});var dU=Symbol("DataScienceStartupTime"),fR={major:4,minor:2},Ui="application/vnd.jupyter.widget-view+json";var dS=7,th="unknown";var mS=class{constructor(e,t){this._data=t;this.expiryTime=e+Date.now()}get expired(){let e=this.expiryTime<=Date.now();return e&&(this._data=void 0),e}get data(){return this.expired&&(this._data=void 0),this._data}},pS=new Map;function pU(){return pS}function mU(n,e){let t=e.map(r=>`${JSON.stringify(r)}`).join("-Arg-Separator-");return`KeyPrefix=${n}-Args=${t}`}var Jp=class{constructor(e,t=""){this.expiryDurationMs=e;this.cacheKey=t}get hasData(){let e=pS.get(this.cacheKey);return!!(e&&!e.expired)}get data(){return this.hasData?pS.get(this.cacheKey)?.data:void 0}set data(e){let t=new mS(this.expiryDurationMs,e);pS.set(this.cacheKey,t)}clear(){pS.delete(this.cacheKey)}};var fU=Symbol("MicrotaskDelay");async function gi(n){return new Promise(e=>{setTimeout(()=>e(n),n)})}async function vE(n,e,t){return new Promise(r=>{let i,o=setTimeout(()=>i(!1),e),s=setInterval(()=>{n().then(a=>{a&&i(!0)}).catch(a=>i(!1))},t);i=a=>{clearTimeout(o),clearInterval(s),r(a)}})}function fr(n,e,...t){let r=gE(e)?void 0:e;gE(e)&&t.push(e);let i,o=setTimeout(()=>i?.(r),n);return Promise.race([Promise.race(t).finally(()=>clearTimeout(o)),new Promise(s=>i=s)])}function nh(n,e,...t){let r,i=setTimeout(()=>r?.(e),n);return Promise.race([Promise.race(t).finally(()=>clearTimeout(i)),new Promise((o,s)=>r=s)])}function Au(n){return typeof n?.then=="function"&&typeof n?.catch=="function"}function gE(n){return typeof n?.then=="function"}var hR=class{constructor(e=null){this.scope=e;this._resolved=!1;this._rejected=!1;this._promise=new Promise((t,r)=>{this._resolve=t,this._reject=r})}get value(){return this._value}resolve(e){this._value=e,this._resolve.apply(this.scope?this.scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this.scope?this.scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}};function re(n=null){return new hR(n)}function us(n){let e=re();return n.then(e.resolve.bind(e)).catch(e.reject.bind(e)),e}var rh=class{constructor(){this.currentPromise=Promise.resolve(void 0)}async chain(e){let t=re(),r=this.currentPromise;return this.currentPromise=this.currentPromise.then(async()=>{try{let i=await e();t.resolve(i)}catch(i){throw t.reject(i),i}}),await r,t.promise}chainFinally(e){let t=re();return this.currentPromise=this.currentPromise.finally(()=>e().then(r=>t.resolve(r)).catch(r=>t.reject(r))),t.promise}};var UG=(n,e)=>{let t=!0,r=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(r),t=!1}}},WG=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}},cs=class{constructor(e){this.defaultDelay=e;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((i,o)=>{this.doResolve=i,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let i=this.task;return this.task=null,i()}}),this.completionPromise.catch(h));let r=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===fU?WG(r):UG(t,r),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new Error("Canceled")),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}};function h(){}function Xn(n){try{let e=n();Au(e)&&e.catch(h)}catch{}}function Nu(n){if(!n)return!0;let e=n;return typeof e.path=="string"&&typeof e.scheme=="string"}function fn(n){if(!n)return!1;let e=n;return typeof e.path=="string"&&typeof e.scheme=="string"}function gU(n){let e=fn(n)?n:n.uri;return e.scheme.includes(bc)||e.path.endsWith(".interactive")}function Mu(){return process.platform.toString()==="web"}function hU(n,e){return fn(e)?e.toString():e}function Ys(n,e){return n===e?!0:n&&!e||!n&&e?!1:JSON.stringify(n,hU)===JSON.stringify(e,hU)}var Ue=class{constructor(){this.started=Date.now()}get elapsedTime(){return Date.now()-this.started}reset(){this.started=Date.now()}};var vU=pU();function gR(n){return function(e,t,r){let i=r.value,s=`Cache_Method_Output_${"constructor"in e&&e.constructor.name?e.constructor.name:""}.${t}`;r.value=async function(...a){if(Er())return i.apply(this,a);let l=mU(s,a),c=vU.get(l);if(c&&!c.expired)return p.debug(`Cached data exists ${l}`),Promise.resolve(c.data);let u=i.apply(this,a);return u.then(d=>vU.set(l,new mS(n,d))).catch(h),u}}}function Br(n){return function(e,t,r){let i=r.value,o=`Jupyter Extension (Error in ${n||t}, method:${t}):`;r.value=function(...s){try{let a=i.apply(this,s);if(a&&typeof a.then=="function"&&typeof a.catch=="function")return a.catch(l=>{Er()||p.error(o,l)})}catch(a){if(Er())return;p.error(o,a)}}}}function VG(n,e,t){let r=new Ue;try{t&&n(void 0);let i=e();return Au(i)?i.then(o=>(n({elapsed:r.elapsedTime,returnValue:o}),o)).catch(o=>{n({elapsed:r.elapsedTime,err:o})}):n({elapsed:r.elapsedTime,returnValue:i}),i}catch(i){throw n({elapsed:r.elapsedTime,err:i}),i}}function yU(n,e){return function(t,r,i){let o=i.value;return i.value=function(...s){let a={kind:"Class",name:t&&t.constructor?t.constructor.name:"",args:s,methodName:r,target:t},l=this;return VG(c=>n(a,c),()=>o.apply(l,s),e)},i}}function ih(){return function(n,e,t){let r=t.value;return t.value=function(...i){if(!Er())throw new Error(`Function: ${e} can only be called from test code`);return r.apply(this,i)},t}}function vR(){return function(n,e,t){let r=t.value,i=`chainedPromiseFor_${e}`;return t.value=async function(...o){let s=this[i];s?s=s.then(()=>r.apply(this,o)):s=r.apply(this,o),this[i]=s;let a=s.then(l=>l).catch(l=>{throw this[i]=void 0,l});return a.catch(h),a},t}}function yR(n,e){if(Array.isArray(n))return n.map(t=>yR(t,e)).join(", ");if(n===void 0)return"undefined";if(n===null)return"null";try{return n&&n.path?`<Uri:${n.path}>`:JSON.stringify(n)}catch{return`<${e} cannot be serialized for logging>`}}function bR(n){if(!n)return"";try{return n.map((t,r)=>{let i=yR(t,"argument");return`Arg ${r+1}: ${i}`}).join(", ")}catch{return""}}function bU(n){return`Return Value: ${yR(n,"Return value")}`}function yE(){let n=new Date,e=String(n.getHours()).padStart(2,"0"),t=String(n.getMinutes()).padStart(2,"0"),r=String(n.getSeconds()).padStart(2,"0"),i=String(n.getMilliseconds()).padStart(3,"0");return`${e}:${t}:${r}.${i}`}function Oe(n,e={removeEmptyEntries:!0,trim:!0}){n=n||"";let t=n.split(/\r?\n/g);return e&&e.trim&&(t=t.map(r=>r.trim())),e&&e.removeEmptyEntries&&(t=t.filter(r=>r.length>0)),t}function fS(n){return n&&(n.indexOf(" ")>=0&&!n.startsWith('"')&&!n.endsWith('"')?`"${n}"`:n.toString())}function hS(n){return n&&fS(n).replace(/\\/g,"/")}function Bp(n){return n&&n.replace(/(^['"])|(['"]$)/g,"")}function gS(n,...e){return n.replace(/{(\d+)}/g,(t,r)=>e[r]===void 0?t:e[r])}function oh(n){return n?n.replace(/\$\([a-z0-9\-]+?\)/gi,"").trim():n||""}function sh(n){let e=n.split(`
`),t=e.find(r=>r.trim().length>0&&!r.trim().startsWith("#"));if(t){let r=t.match(/^\s*/)[0];return e.map(i=>i.startsWith(r)?i.replace(r,""):i).join(`
`)}return n}var DR=require("vscode");var IE="en",CE=!1,wE=!1,vS=!1,jG=!1,JG=!1,SR=!1,BG=!1,$G=!1,qG=!1,bE,SE=IE,HG,Ou,ds=typeof self=="object"?self:typeof global=="object"?global:{},Zi;typeof ds.vscode<"u"&&typeof ds.vscode.process<"u"?Zi=ds.vscode.process:typeof process<"u"&&(Zi=process);var IU=typeof Zi?.versions?.electron=="string",SU=IU&&Zi?.type==="renderer",vhe=SU&&Zi?.sandboxed;if(typeof navigator=="object"&&!SU)Ou=navigator.userAgent,CE=Ou.indexOf("Windows")>=0,wE=Ou.indexOf("Macintosh")>=0,$G=(Ou.indexOf("Macintosh")>=0||Ou.indexOf("iPad")>=0||Ou.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,vS=Ou.indexOf("Linux")>=0,SR=!0,bE=navigator.language,SE=bE;else if(typeof Zi=="object"){CE=Zi.platform==="win32",wE=Zi.platform==="darwin",vS=Zi.platform==="linux",jG=vS&&!!Zi.env.SNAP&&!!Zi.env.SNAP_REVISION,BG=IU,qG=!!Zi.env.CI||!!Zi.env.BUILD_ARTIFACTSTAGINGDIRECTORY,bE=IE,SE=IE;let n=Zi.env.VSCODE_NLS_CONFIG;if(n)try{let e=JSON.parse(n),t=e.availableLanguages["*"];bE=e.locale,SE=t||IE,HG=e._translationsConfigFile}catch{}JG=!0}else console.error("Unable to resolve platform.");var IR=0;wE?IR=1:CE?IR=3:vS&&(IR=2);var yS=CE,CU=wE,wU=vS;var EE=SR,yhe=SR&&typeof ds.importScripts=="function";var Ua=Ou,Ku=SE,GG;(r=>{function n(){return Ku}r.value=n;function e(){return Ku.length===2?Ku==="en":Ku.length>=3?Ku[0]==="e"&&Ku[1]==="n"&&Ku[2]==="-":!1}r.isDefaultVariant=e;function t(){return Ku==="en"}r.isDefault=t})(GG||={});var bhe=(()=>{if(typeof ds.postMessage=="function"&&!ds.importScripts){let n=[];ds.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let r=0,i=n.length;r<i;r++){let o=n[r];if(o.id===t.data.vscodeScheduleAsyncWork){n.splice(r,1),o.callback();return}}});let e=0;return t=>{let r=++e;n.push({id:r,callback:t}),ds.postMessage({vscodeScheduleAsyncWork:r},"*")}}return n=>setTimeout(n)})();var zG=!!(Ua&&Ua.indexOf("Chrome")>=0),Ihe=!!(Ua&&Ua.indexOf("Firefox")>=0),She=!!(!zG&&Ua&&Ua.indexOf("Safari")>=0),Che=!!(Ua&&Ua.indexOf("Edg/")>=0),whe=!!(Ua&&Ua.indexOf("Android")>=0);var $p;if(typeof ds.vscode<"u"&&typeof ds.vscode.process<"u"){let n=ds.vscode.process;$p={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"?$p={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:$p={get platform(){return yS?"win32":CU?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var PE=$p.cwd,EU=$p.env,eo=$p.platform,xhe=$p.arch;var YG=65,XG=97,ZG=90,ez=122,Uu=46,Wn=47,to=92,Fu=58,tz=63,kE=class extends Error{constructor(t,r,i){let o;typeof r=="string"&&r.indexOf("not ")===0?(o="must not be",r=r.replace(/^not /,"")):o="must be";let s=t.indexOf(".")!==-1?"property":"argument",a=`The "${t}" ${s} ${o} of type ${r}`;a+=`. Received type ${typeof i}`;super(a);this.code="ERR_INVALID_ARG_TYPE"}};function ln(n,e){if(typeof n!="string")throw new kE(e,"string",n)}function Dt(n){return n===Wn||n===to}function CR(n){return n===Wn}function Lu(n){return n>=YG&&n<=ZG||n>=XG&&n<=ez}function xE(n,e,t,r){let i="",o=0,s=-1,a=0,l=0;for(let c=0;c<=n.length;++c){if(c<n.length)l=n.charCodeAt(c);else{if(r(l))break;l=Wn}if(r(l)){if(!(s===c-1||a===1))if(a===2){if(i.length<2||o!==2||i.charCodeAt(i.length-1)!==Uu||i.charCodeAt(i.length-2)!==Uu){if(i.length>2){let u=i.lastIndexOf(t);u===-1?(i="",o=0):(i=i.slice(0,u),o=i.length-1-i.lastIndexOf(t)),s=c,a=0;continue}else if(i.length!==0){i="",o=0,s=c,a=0;continue}}e&&(i+=i.length>0?`${t}..`:"..",o=2)}else i.length>0?i+=`${t}${n.slice(s+1,c)}`:i=n.slice(s+1,c),o=c-s-1;s=c,a=0}else l===Uu&&a!==-1?++a:a=-1}return i}function PU(n,e){if(e===null||typeof e!="object")throw new kE("pathObject","Object",e);let t=e.dir||e.root,r=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${r}`:`${t}${n}${r}`:r}var In={resolve(...n){let e="",t="",r=!1;for(let i=n.length-1;i>=-1;i--){let o;if(i>=0){if(o=n[i],ln(o,"path"),o.length===0)continue}else e.length===0?o=PE():(o=EU[`=${e}`]||PE(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===to)&&(o=`${e}\\`));let s=o.length,a=0,l="",c=!1,u=o.charCodeAt(0);if(s===1)Dt(u)&&(a=1,c=!0);else if(Dt(u))if(c=!0,Dt(o.charCodeAt(1))){let d=2,f=d;for(;d<s&&!Dt(o.charCodeAt(d));)d++;if(d<s&&d!==f){let g=o.slice(f,d);for(f=d;d<s&&Dt(o.charCodeAt(d));)d++;if(d<s&&d!==f){for(f=d;d<s&&!Dt(o.charCodeAt(d));)d++;(d===s||d!==f)&&(l=`\\\\${g}\\${o.slice(f,d)}`,a=d)}}}else a=1;else Lu(u)&&o.charCodeAt(1)===Fu&&(l=o.slice(0,2),a=2,s>2&&Dt(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(r){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,r=c,c&&e.length>0)break}return t=xE(t,!r,"\\",Dt),r?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){ln(n,"path");let e=n.length;if(e===0)return".";let t=0,r,i=!1,o=n.charCodeAt(0);if(e===1)return CR(o)?"\\":n;if(Dt(o))if(i=!0,Dt(n.charCodeAt(1))){let a=2,l=a;for(;a<e&&!Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){let c=n.slice(l,a);for(l=a;a<e&&Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!Dt(n.charCodeAt(a));)a++;if(a===e)return`\\\\${c}\\${n.slice(l)}\\`;a!==l&&(r=`\\\\${c}\\${n.slice(l,a)}`,t=a)}}}else t=1;else Lu(o)&&n.charCodeAt(1)===Fu&&(r=n.slice(0,2),t=2,e>2&&Dt(n.charCodeAt(2))&&(i=!0,t=3));let s=t<e?xE(n.slice(t),!i,"\\",Dt):"";return s.length===0&&!i&&(s="."),s.length>0&&Dt(n.charCodeAt(e-1))&&(s+="\\"),r===void 0?i?`\\${s}`:s:i?`${r}\\${s}`:`${r}${s}`},isAbsolute(n){ln(n,"path");let e=n.length;if(e===0)return!1;let t=n.charCodeAt(0);return Dt(t)||e>2&&Lu(t)&&n.charCodeAt(1)===Fu&&Dt(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let o=0;o<n.length;++o){let s=n[o];ln(s,"path"),s.length>0&&(e===void 0?e=t=s:e+=`\\${s}`)}if(e===void 0)return".";let r=!0,i=0;if(typeof t=="string"&&Dt(t.charCodeAt(0))){++i;let o=t.length;o>1&&Dt(t.charCodeAt(1))&&(++i,o>2&&(Dt(t.charCodeAt(2))?++i:r=!1))}if(r){for(;i<e.length&&Dt(e.charCodeAt(i));)i++;i>=2&&(e=`\\${e.slice(i)}`)}return In.normalize(e)},relative(n,e){if(ln(n,"from"),ln(e,"to"),n===e)return"";let t=In.resolve(n),r=In.resolve(e);if(t===r||(n=t.toLowerCase(),e=r.toLowerCase(),n===e))return"";let i=0;for(;i<n.length&&n.charCodeAt(i)===to;)i++;let o=n.length;for(;o-1>i&&n.charCodeAt(o-1)===to;)o--;let s=o-i,a=0;for(;a<e.length&&e.charCodeAt(a)===to;)a++;let l=e.length;for(;l-1>a&&e.charCodeAt(l-1)===to;)l--;let c=l-a,u=s<c?s:c,d=-1,f=0;for(;f<u;f++){let b=n.charCodeAt(i+f);if(b!==e.charCodeAt(a+f))break;b===to&&(d=f)}if(f!==u){if(d===-1)return r}else{if(c>u){if(e.charCodeAt(a+f)===to)return r.slice(a+f+1);if(f===2)return r.slice(a+f)}s>u&&(n.charCodeAt(i+f)===to?d=f:f===2&&(d=3)),d===-1&&(d=0)}let g="";for(f=i+d+1;f<=o;++f)(f===o||n.charCodeAt(f)===to)&&(g+=g.length===0?"..":"\\..");return a+=d,g.length>0?`${g}${r.slice(a,l)}`:(r.charCodeAt(a)===to&&++a,r.slice(a,l))},toNamespacedPath(n){if(typeof n!="string")return n;if(n.length===0)return"";let e=In.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===to){if(e.charCodeAt(1)===to){let t=e.charCodeAt(2);if(t!==tz&&t!==Uu)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(Lu(e.charCodeAt(0))&&e.charCodeAt(1)===Fu&&e.charCodeAt(2)===to)return`\\\\?\\${e}`;return n},dirname(n){ln(n,"path");let e=n.length;if(e===0)return".";let t=-1,r=0,i=n.charCodeAt(0);if(e===1)return Dt(i)?n:".";if(Dt(i)){if(t=r=1,Dt(n.charCodeAt(1))){let a=2,l=a;for(;a<e&&!Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&Dt(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!Dt(n.charCodeAt(a));)a++;if(a===e)return n;a!==l&&(t=r=a+1)}}}}else Lu(i)&&n.charCodeAt(1)===Fu&&(t=e>2&&Dt(n.charCodeAt(2))?3:2,r=t);let o=-1,s=!0;for(let a=e-1;a>=r;--a)if(Dt(n.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(t===-1)return".";o=t}return n.slice(0,o)},basename(n,e){e!==void 0&&ln(e,"ext"),ln(n,"path");let t=0,r=-1,i=!0,o;if(n.length>=2&&Lu(n.charCodeAt(0))&&n.charCodeAt(1)===Fu&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=t;--o){let l=n.charCodeAt(o);if(Dt(l)){if(!i){t=o+1;break}}else a===-1&&(i=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(r=o):(s=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(o=n.length-1;o>=t;--o)if(Dt(n.charCodeAt(o))){if(!i){t=o+1;break}}else r===-1&&(i=!1,r=o+1);return r===-1?"":n.slice(t,r)},extname(n){ln(n,"path");let e=0,t=-1,r=0,i=-1,o=!0,s=0;n.length>=2&&n.charCodeAt(1)===Fu&&Lu(n.charCodeAt(0))&&(e=r=2);for(let a=n.length-1;a>=e;--a){let l=n.charCodeAt(a);if(Dt(l)){if(!o){r=a+1;break}continue}i===-1&&(o=!1,i=a+1),l===Uu?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||i===-1||s===0||s===1&&t===i-1&&t===r+1?"":n.slice(t,i)},format:PU.bind(null,"\\"),parse(n){ln(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.length,r=0,i=n.charCodeAt(0);if(t===1)return Dt(i)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(Dt(i)){if(r=1,Dt(n.charCodeAt(1))){let d=2,f=d;for(;d<t&&!Dt(n.charCodeAt(d));)d++;if(d<t&&d!==f){for(f=d;d<t&&Dt(n.charCodeAt(d));)d++;if(d<t&&d!==f){for(f=d;d<t&&!Dt(n.charCodeAt(d));)d++;d===t?r=d:d!==f&&(r=d+1)}}}}else if(Lu(i)&&n.charCodeAt(1)===Fu){if(t<=2)return e.root=e.dir=n,e;if(r=2,Dt(n.charCodeAt(2))){if(t===3)return e.root=e.dir=n,e;r=3}}r>0&&(e.root=n.slice(0,r));let o=-1,s=r,a=-1,l=!0,c=n.length-1,u=0;for(;c>=r;--c){if(i=n.charCodeAt(c),Dt(i)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),i===Uu?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1)}return a!==-1&&(o===-1||u===0||u===1&&o===a-1&&o===s+1?e.base=e.name=n.slice(s,a):(e.name=n.slice(s,o),e.base=n.slice(s,a),e.ext=n.slice(o,a))),s>0&&s!==r?e.dir=n.slice(0,s-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},hr={resolve(...n){let e="",t=!1;for(let r=n.length-1;r>=-1&&!t;r--){let i=r>=0?n[r]:PE();ln(i,"path"),i.length!==0&&(e=`${i}/${e}`,t=i.charCodeAt(0)===Wn)}return e=xE(e,!t,"/",CR),t?`/${e}`:e.length>0?e:"."},normalize(n){if(ln(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===Wn,t=n.charCodeAt(n.length-1)===Wn;return n=xE(n,!e,"/",CR),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return ln(n,"path"),n.length>0&&n.charCodeAt(0)===Wn},join(...n){if(n.length===0)return".";let e;for(let t=0;t<n.length;++t){let r=n[t];ln(r,"path"),r.length>0&&(e===void 0?e=r:e+=`/${r}`)}return e===void 0?".":hr.normalize(e)},relative(n,e){if(ln(n,"from"),ln(e,"to"),n===e||(n=hr.resolve(n),e=hr.resolve(e),n===e))return"";let t=1,r=n.length,i=r-t,o=1,s=e.length-o,a=i<s?i:s,l=-1,c=0;for(;c<a;c++){let d=n.charCodeAt(t+c);if(d!==e.charCodeAt(o+c))break;d===Wn&&(l=c)}if(c===a)if(s>a){if(e.charCodeAt(o+c)===Wn)return e.slice(o+c+1);if(c===0)return e.slice(o+c)}else i>a&&(n.charCodeAt(t+c)===Wn?l=c:c===0&&(l=0));let u="";for(c=t+l+1;c<=r;++c)(c===r||n.charCodeAt(c)===Wn)&&(u+=u.length===0?"..":"/..");return`${u}${e.slice(o+l)}`},toNamespacedPath(n){return n},dirname(n){if(ln(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===Wn,t=-1,r=!0;for(let i=n.length-1;i>=1;--i)if(n.charCodeAt(i)===Wn){if(!r){t=i;break}}else r=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&ln(e,"ext"),ln(n,"path");let t=0,r=-1,i=!0,o;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let s=e.length-1,a=-1;for(o=n.length-1;o>=0;--o){let l=n.charCodeAt(o);if(l===Wn){if(!i){t=o+1;break}}else a===-1&&(i=!1,a=o+1),s>=0&&(l===e.charCodeAt(s)?--s===-1&&(r=o):(s=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(o=n.length-1;o>=0;--o)if(n.charCodeAt(o)===Wn){if(!i){t=o+1;break}}else r===-1&&(i=!1,r=o+1);return r===-1?"":n.slice(t,r)},extname(n){ln(n,"path");let e=-1,t=0,r=-1,i=!0,o=0;for(let s=n.length-1;s>=0;--s){let a=n.charCodeAt(s);if(a===Wn){if(!i){t=s+1;break}continue}r===-1&&(i=!1,r=s+1),a===Uu?e===-1?e=s:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||r===-1||o===0||o===1&&e===r-1&&e===t+1?"":n.slice(e,r)},format:PU.bind(null,"/"),parse(n){ln(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.charCodeAt(0)===Wn,r;t?(e.root="/",r=1):r=0;let i=-1,o=0,s=-1,a=!0,l=n.length-1,c=0;for(;l>=r;--l){let u=n.charCodeAt(l);if(u===Wn){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),u===Uu?i===-1?i=l:c!==1&&(c=1):i!==-1&&(c=-1)}if(s!==-1){let u=o===0&&t?1:o;i===-1||c===0||c===1&&i===s-1&&i===o+1?e.base=e.name=n.slice(u,s):(e.name=n.slice(u,i),e.base=n.slice(u,s),e.ext=n.slice(i,s))}return o>0?e.dir=n.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};hr.win32=In.win32=In;hr.posix=In.posix=hr;var hn=eo==="win32"?In.normalize:hr.normalize,DE=eo==="win32"?In.isAbsolute:hr.isAbsolute,Le=eo==="win32"?In.join:hr.join,kU=eo==="win32"?In.resolve:hr.resolve,_E=eo==="win32"?In.relative:hr.relative,nt=eo==="win32"?In.dirname:hr.dirname,Ce=eo==="win32"?In.basename:hr.basename,Wi=eo==="win32"?In.extname:hr.extname,Dhe=eo==="win32"?In.format:hr.format,xU=eo==="win32"?In.parse:hr.parse,_he=eo==="win32"?In.toNamespacedPath:hr.toNamespacedPath,Tn=eo==="win32"?In.sep:hr.sep,Vn=eo==="win32"?In.delimiter:hr.delimiter;var IS=require("vscode");var rz=require("vscode");var TE=class{constructor(e){this.computeFn=e;this.lastCache=void 0;this.lastArgKey=void 0}get(e){let t=JSON.stringify(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.computeFn(e)),this.lastCache}};var bS=class n{constructor(e){this.executor=e;this._didRun=!1}hasValue(){return this._didRun}getValue(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}map(e){return new n(()=>e(this.getValue()))}};function AU(n,e){return n<e?-1:n>e?1:0}function nz(n,e,t=0,r=n.length,i=0,o=e.length){for(;t<r&&i<o;t++,i++){let l=n.charCodeAt(t),c=e.charCodeAt(i);if(l<c)return-1;if(l>c)return 1}let s=r-t,a=o-i;return s<a?-1:s>a?1:0}function NU(n,e,t=0,r=n.length,i=0,o=e.length){for(;t<r&&i<o;t++,i++){let l=n.charCodeAt(t),c=e.charCodeAt(i);if(l===c)continue;if(l>=128||c>=128)return nz(n.toLowerCase(),e.toLowerCase(),t,r,i,o);DU(l)&&(l-=32),DU(c)&&(c-=32);let u=l-c;if(u!==0)return u}let s=r-t,a=o-i;return s<a?-1:s>a?1:0}function DU(n){return n>=97&&n<=122}function MU(n,e){return n.length===e.length&&NU(n,e)===0}function KU(n,e){let t=e.length;return e.length>n.length?!1:NU(n,e,0,t)===0}var _U=class n{constructor(e){this.confusableDictionary=e}static{this.ambiguousCharacterData=new bS(()=>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,8218,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,8242,96,1370,96,1523,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,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,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,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,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,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,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,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,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,71922,67,71913,67,65315,67,8557,67,8450,67,8493,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,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,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,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,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,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,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,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,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,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,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,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,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,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,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,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,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,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,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,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,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,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,71919,87,71910,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,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,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,66293,90,71909,90,65338,90,8484,90,8488,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,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,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],"_default":[160,32,8211,45,65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,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,65283,35,65292,44,65307,59],"ko":[8211,45,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,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,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,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[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,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,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,65283,35,65307,59]}'))}static{this.cache=new TE(e=>{function t(u){let d=new Map;for(let f=0;f<u.length;f+=2)d.set(u[f],u[f+1]);return d}function r(u,d){let f=new Map(u);for(let[g,b]of d)f.set(g,b);return f}function i(u,d){if(!u)return d;let f=new Map;for(let[g,b]of u)d.has(g)&&f.set(g,b);return f}let o=this.ambiguousCharacterData.getValue(),s=e.filter(u=>!u.startsWith("_")&&u in o);s.length===0&&(s=["_default"]);let a;for(let u of s){let d=t(o[u]);a=i(a,d)}let l=t(o._common),c=r(l,a);return new n(c)})}static getInstance(e){return n.cache.get(Array.from(e))}static{this._locales=new bS(()=>Object.keys(n.ambiguousCharacterData.getValue()).filter(e=>!e.startsWith("_")))}static getLocales(){return n._locales.getValue()}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},TU=class n{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,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,12288,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]")}static{this._data=void 0}static getData(){return this._data||(this._data=new Set(n.getRawData())),this._data}static isInvisibleCharacter(e){return n.getData().has(e)}static get codePoints(){return n.getData()}};function Wu(n){return n===47||n===92}function wR(n){return n.replace(/[\\/]/g,hr.sep)}function OU(n){return n.indexOf("/")===-1&&(n=wR(n)),/^[a-zA-Z]:(\/|$)/.test(n)&&(n="/"+n),n}function ER(n,e=hr.sep){if(!n)return"";let t=n.length,r=n.charCodeAt(0);if(Wu(r)){if(Wu(n.charCodeAt(1))&&!Wu(n.charCodeAt(2))){let o=3,s=o;for(;o<t&&!Wu(n.charCodeAt(o));o++);if(s!==o&&!Wu(n.charCodeAt(o+1))){for(o+=1;o<t;o++)if(Wu(n.charCodeAt(o)))return n.slice(0,o+1).replace(/[\\/]/g,e)}}return e}else if(iz(r)&&n.charCodeAt(1)===58)return Wu(n.charCodeAt(2))?n.slice(0,2)+e:n.slice(0,2);let i=n.indexOf("://");if(i!==-1){for(i+=3;i<t;i++)if(Wu(n.charCodeAt(i)))return n.slice(0,i+1)}return""}function PR(n,e,t,r=Tn){if(n===e)return!0;if(!n||!e||e.length>n.length)return!1;if(t){if(!KU(n,e))return!1;if(e.length===n.length)return!0;let o=e.length;return e.charAt(e.length-1)===r&&o--,n.charAt(o)===r}return e.charAt(e.length-1)!==r&&(e+=r),n.indexOf(e)===0}function iz(n){return n>=65&&n<=90||n>=97&&n<=122}var Wa;(ee=>(ee.inMemory="inmemory",ee.vscode="vscode",ee.internal="private",ee.walkThrough="walkThrough",ee.walkThroughSnippet="walkThroughSnippet",ee.http="http",ee.https="https",ee.file="file",ee.mailto="mailto",ee.untitled="untitled",ee.data="data",ee.command="command",ee.vscodeRemote="vscode-remote",ee.vscodeRemoteResource="vscode-remote-resource",ee.vscodeUserData="vscode-userdata",ee.vscodeCustomEditor="vscode-custom-editor",ee.vscodeNotebook="vscode-notebook",ee.vscodeNotebookCell="vscode-notebook-cell",ee.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",ee.vscodeNotebookCellOutput="vscode-notebook-cell-output",ee.vscodeInteractive="vscode-interactive",ee.vscodeInteractiveInput="vscode-interactive-input",ee.vscodeSettings="vscode-settings",ee.vscodeWorkspaceTrust="vscode-workspace-trust",ee.vscodeTerminal="vscode-terminal",ee.webviewPanel="webview-panel",ee.vscodeWebview="vscode-webview",ee.extension="extension",ee.vscodeFileResource="vscode-file",ee.tmp="tmp",ee.vsls="vsls"))(Wa||={});function Xs(n){return EE?n?.path||"":n?.fsPath||""}var SS=class{constructor(e){this._ignorePathCasing=e}compare(e,t,r=!1){return e===t?0:AU(this.getComparisonKey(e,r),this.getComparisonKey(t,r))}isEqual(e,t,r=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,r)===this.getComparisonKey(t,r)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:void 0}).toString()}ignorePathCasing(e){return this._ignorePathCasing(e)}isEqualOrParent(e,t,r=!1,i=yS?"\\":"/"){if(e.scheme===t.scheme){if(e.scheme===Wa.file)return PR(Xs(e),Xs(t),this._ignorePathCasing(e),i)&&e.query===t.query&&(r||e.fragment===t.fragment);if(FU(e.authority,t.authority))return PR(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(r||e.fragment===t.fragment)}return!1}joinPath(e,...t){return IS.Uri.joinPath(e,...t)}basenameOrAuthority(e){return un(e)||e.authority}basename(e,t){return hr.basename(e.path,t)}extname(e){return hr.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===Wa.file?t=IS.Uri.file(nt(Xs(e))).path:(t=hr.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===Wa.file?t=IS.Uri.file(hn(Xs(e))).path:t=hr.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!FU(e.authority,t.authority))return;if(e.scheme===Wa.file){let o=_E(Xs(e),Xs(t));return yS?wR(o):o}let r=e.path||"/",i=t.path||"/";if(this._ignorePathCasing(e)){let o=0;for(let s=Math.min(r.length,i.length);o<s&&!(r.charCodeAt(o)!==i.charCodeAt(o)&&r.charAt(o).toLowerCase()!==i.charAt(o).toLowerCase());o++);r=i.substr(0,o)+r.substr(o)}return hr.relative(r,i)}resolvePath(e,t){if(e.scheme===Wa.file){let r=IS.Uri.file(kU(Xs(e),t));return e.with({authority:r.authority,path:r.path})}return t=OU(t),e.with({path:hr.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&e.path[0]==="/"}isEqualAuthority(e,t){return e===t||e!==void 0&&t!==void 0&&MU(e,t)}hasTrailingPathSeparator(e,t=Tn){if(e.scheme===Wa.file){let r=Xs(e);return r.length>ER(r).length&&r[r.length-1]===t}else{let r=e.path;return r.length>1&&r.charCodeAt(r.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Tn){return LU(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Tn){let r=!1;if(e.scheme===Wa.file){let i=Xs(e);r=i!==void 0&&i.length===ER(i).length&&i[i.length-1]===t}else{t="/";let i=e.path;r=i.length===1&&i.charCodeAt(i.length-1)===47}return!r&&!LU(e,t)?e.with({path:e.path+"/"}):e}},Gt=new SS(()=>!1),Hhe=new SS(n=>n.scheme===Wa.file?!wU:!0),Ghe=new SS(n=>!0),vi=Gt.isEqual.bind(Gt),ah=Gt.isEqualOrParent.bind(Gt),cn=Gt.getComparisonKey.bind(Gt),zhe=Gt.basenameOrAuthority.bind(Gt),un=Gt.basename.bind(Gt),Vu=Gt.extname.bind(Gt),yi=Gt.dirname.bind(Gt),zt=Gt.joinPath.bind(Gt),Qhe=Gt.normalizePath.bind(Gt),kR=Gt.relativePath.bind(Gt),Yhe=Gt.resolvePath.bind(Gt),Xhe=Gt.isAbsolutePath.bind(Gt),FU=Gt.isEqualAuthority.bind(Gt),LU=Gt.hasTrailingPathSeparator.bind(Gt),Zhe=Gt.removeTrailingPathSeparator.bind(Gt),ege=Gt.addTrailingPathSeparator.bind(Gt),sz;(o=>{o.META_DATA_LABEL="label",o.META_DATA_DESCRIPTION="description",o.META_DATA_SIZE="size",o.META_DATA_MIME="mime";function i(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(u=>{let[d,f]=u.split(":");d&&f&&a.set(d,f)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(o.META_DATA_MIME,c),a}o.parseMetaData=i})(sz||={});function Rr(n=process.platform){return/^win/.test(n)?"Windows":/^darwin/.test(n)?"OSX":/^linux/.test(n)?"Linux":"Unknown"}function lh(n,e){return n.replace(/^~(?=$|\/|\\)/,e)}function az(){if(!Mu())return DR.Uri.file(require("os").homedir())}function ke(n){let e=Rr()==="Windows";if(n){let t=Xs(n);return t&&t.startsWith(Tn)&&t.length>1&&t[1]!==Tn&&e?t.slice(1):t||""}return""}function j(n,e=[],t){t=t||az();let r;typeof n=="string"&&(r=DR.Uri.file(n)),typeof n!="string"&&(r=n);let i=xR(r,void 0,t),o=e.find(l=>r&&ah(r,l.uri,!0));if(e.length>1&&o)return`${o.name}${Tn}${xR(r,o.uri,t)}`;let s=o?[xR(r,o.uri,t)]:[],a=i;return[i,...s].forEach(l=>{l.length<a.length&&(a=l)}),a}function xR(n,e,t){let r=Rr()==="Windows";if(n&&e&&ah(n,e,!0)){let i=kR(e,n);if(i)return r?i.replace(/\//g,"\\"):i}if(n&&t&&ah(n,t,!0)){let i=kR(t,n);if(i)return i=r?i.replace(/\//g,"\\"):i,`~${Tn}${i}`}return ke(n)}var VU=k(UU());function Ft(n){let e=this,t=!1,r;return function(){return t||(t=!0,r=n.apply(e,arguments)),r}}var TR;(E=>{function n(x){return x&&typeof x=="object"&&typeof x[Symbol.iterator]=="function"}E.is=n;let e=Object.freeze([]);function t(){return e}E.empty=t;function*r(x){yield x}E.single=r;function i(x){return n(x)?x:r(x)}E.wrap=i;function o(x){return x||e}E.from=o;function s(x){return!x||x[Symbol.iterator]().next().done===!0}E.isEmpty=s;function a(x){return x[Symbol.iterator]().next().value}E.first=a;function l(x,A){for(let T of x)if(A(T))return!0;return!1}E.some=l;function c(x,A){for(let T of x)if(A(T))return T}E.find=c;function*u(x,A){for(let T of x)A(T)&&(yield T)}E.filter=u;function*d(x,A){let T=0;for(let J of x)yield A(J,T++)}E.map=d;function*f(...x){for(let A of x)for(let T of A)yield T}E.concat=f;function g(x,A,T){let J=T;for(let ne of x)J=A(J,ne);return J}E.reduce=g;function*b(x,A,T=x.length){for(A<0&&(A+=x.length),T<0?T+=x.length:T>x.length&&(T=x.length);A<T;A++)yield x[A]}E.slice=b;function I(x,A=Number.POSITIVE_INFINITY){let T=[];if(A===0)return[T,x];let J=x[Symbol.iterator]();for(let ne=0;ne<A;ne++){let H=J.next();if(H.done)return[T,E.empty()];T.push(H.value)}return[T,{[Symbol.iterator](){return J}}]}E.consume=I})(TR||={});var jU;function JU(n){jU=n}function Zs(n){return jU?.push(n),n}function z(n){if(TR.is(n)){for(let e of n)if(e)try{e.dispose()}catch(t){console.warn(`dispose() failed for ${e}`,t)}return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}var Wr=class n{constructor(...e){this._toDispose=new Set;this._isDisposed=!1;e.forEach(t=>this.add(t)),Zs(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{z(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?n.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(e),e}},Qt=class{constructor(...e){this._store=new Wr;this._isDisposed=!1;e.forEach(t=>this._store.add(t)),Zs(this)}get isDisposed(){return this._isDisposed}dispose(){this._store.dispose(),this._isDisposed=!0}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},jn=class extends Qt{constructor(){super();this._onDidDispose=new VU.EventEmitter,this.onDidDispose=this._onDidDispose.event}dispose(){super.dispose(),this._onDidDispose.fire(),this._onDidDispose.dispose()}};var WU=class{constructor(){this._store=new Map;this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{z(this._store.values())}finally{this._store.clear()}}has(e){return this._store.has(e)}get(e){return this._store.get(e)}set(e,t,r=!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),r||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}};var RE=class{constructor(){this.references=new Map}acquire(e,...t){let r=this.references.get(e);r||(r={counter:0,object:this.createReferencedObject(e,...t)},this.references.set(e,r));let{object:i}=r,o=Ft(()=>{r&&--r.counter===0&&(this.destroyReferencedObject(e,r.object),this.references.delete(e))});return r.counter++,{object:i,dispose:o}}};var w=require("vscode");var Ze=require("vscode"),RR=60,AR=RR*60,CS=AR*24,BU=CS*7,$U=CS*30,qU=CS*365;function ch(n,e,t,r){typeof n!="number"&&(n=n.getTime());let i=Math.round((new Date().getTime()-n)/1e3);if(i<-30)return Ze.l10n.t("in {0}",ch(new Date().getTime()+i*1e3,!1));if(!r&&i<30)return Ze.l10n.t("now");let o;return i<RR?(o=i,e?o===1?t?Ze.l10n.t("{0} second ago",o):Ze.l10n.t("{0} sec ago",o):t?Ze.l10n.t("{0} seconds ago",o):Ze.l10n.t("{0} secs ago",o):o===1?t?Ze.l10n.t("{0} second",o):Ze.l10n.t("{0} sec",o):t?Ze.l10n.t("{0} seconds",o):Ze.l10n.t("{0} secs",o)):i<AR?(o=Math.floor(i/RR),e?o===1?t?Ze.l10n.t("{0} minute ago",o):Ze.l10n.t("{0} min ago",o):t?Ze.l10n.t("{0} minutes ago",o):Ze.l10n.t("{0} mins ago",o):o===1?t?Ze.l10n.t("{0} minute",o):Ze.l10n.t("{0} min",o):t?Ze.l10n.t("{0} minutes",o):Ze.l10n.t("{0} mins",o)):i<CS?(o=Math.floor(i/AR),e?o===1?t?Ze.l10n.t("{0} hour ago",o):Ze.l10n.t("{0} hr ago",o):t?Ze.l10n.t("{0} hours ago",o):Ze.l10n.t("{0} hrs ago",o):o===1?t?Ze.l10n.t("{0} hour",o):Ze.l10n.t("{0} hr",o):t?Ze.l10n.t("{0} hours",o):Ze.l10n.t("{0} hrs",o)):i<BU?(o=Math.floor(i/CS),e?o===1?Ze.l10n.t("{0} day ago",o):Ze.l10n.t("{0} days ago",o):o===1?Ze.l10n.t("{0} day",o):Ze.l10n.t("{0} days",o)):i<$U?(o=Math.floor(i/BU),e?o===1?t?Ze.l10n.t("{0} week ago",o):Ze.l10n.t("{0} wk ago",o):t?Ze.l10n.t("{0} weeks ago",o):Ze.l10n.t("{0} wks ago",o):o===1?t?Ze.l10n.t("{0} week",o):Ze.l10n.t("{0} wk",o):t?Ze.l10n.t("{0} weeks",o):Ze.l10n.t("{0} wks",o)):i<qU?(o=Math.floor(i/$U),e?o===1?t?Ze.l10n.t("{0} month ago",o):Ze.l10n.t("{0} mo ago",o):t?Ze.l10n.t("{0} months ago",o):Ze.l10n.t("{0} mos ago",o):o===1?t?Ze.l10n.t("{0} month",o):Ze.l10n.t("{0} mo",o):t?Ze.l10n.t("{0} months",o):Ze.l10n.t("{0} mos",o)):(o=Math.floor(i/qU),e?o===1?t?Ze.l10n.t("{0} year ago",o):Ze.l10n.t("{0} yr ago",o):t?Ze.l10n.t("{0} years ago",o):Ze.l10n.t("{0} yrs ago",o):o===1?t?Ze.l10n.t("{0} year",o):Ze.l10n.t("{0} yr",o):t?Ze.l10n.t("{0} years",o):Ze.l10n.t("{0} yrs",o))}var b2=k(N());var vh=class{async createHash(e,t="SHA-256"){return na(e,t)}};vh=v([(0,b2.injectable)()],vh);var cP={},y2=!1,uP;typeof window=="object"?uP=window.crypto:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?uP=self.crypto:uP=require("node:crypto").webcrypto;async function na(n,e){let t=n.includes("/")||n.includes("\\")||n.endsWith(".interactive");if(t&&cP[n])return cP[n];let r=await zZ(n,e);return t&&!y2&&(Object.keys(cP).length>1e4&&(y2=!0),cP[n]=r),r}async function zZ(n,e){let t=new TextEncoder().encode(n),r=await uP.subtle.digest({name:e},t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}function Bu(n){if(typeof n=="string")try{let[e,t,r]=`${n.trim()}...`.split(".").map(i=>parseInt(i,10));return isNaN(e)?"":isNaN(t)?e.toString():isNaN(r)?`${e}.${t}`:`${e}.${t}.${r}`}catch(e){return p.error(`Failed to parse version ${n}`,e),""}return n?`${n.major}.${n.minor}.${n.micro}`:""}async function at(n){return na(n,"SHA-256")}var dA=k(I2());var DS=require("vscode");function qr(n){let e=Pr(n);if(e){let l=[];typeof e.version?.major=="number"&&(l.push(e.version.major.toString()),typeof e.version.minor=="number"&&(l.push(e.version.minor.toString()),typeof e.version.micro=="number"&&l.push(e.version.micro.toString())));let c=l.length?l.join("."):"",u=e.environment?.name||(e.environment?un(e.environment?.folderUri):""),d=c?`Python ${c}`:"Python";return Vr(n)&&u?u:u?`${u} (${d})`:d}if(Object.keys(n).length===1&&n.id)return n.id;let t=Bu(Ji(n)||"").trim(),r=Vr(n),i=t?`Python ${t}`:"Python",o=Ro(n);if(r&&o)return o;let s=[];o&&s.push(o);let a=Ve(n);return a&&a!=="Unknown"&&s.push(a),[i,s.length?`(${s.join(": ")})`:""].join(" ").trim()}function Ro(n){let e=Pr(n),t=e?.environment?.name;return!t&&e?.environment?.folderUri&&Ve(n)==="Conda"&&(t=un(e?.environment?.folderUri)),t}var XZ=["Unknown","Conda","PipEnv","Poetry","Pyenv","Venv","VirtualEnv","VirtualEnvWrapper"];function Ve(n){let e=Pr(n);return e?ZZ(e):"Unknown"}function ZZ(n){if(n.environment?.type==="Conda")return"Conda";let e=[["Conda","Conda"],["Pyenv","Pyenv"],["Pipenv","PipEnv"],["Poetry","Poetry"],["VirtualEnvWrapper","VirtualEnvWrapper"],["VirtualEnv","VirtualEnv"],["Venv","Venv"]];for(let[t,r]of e)if(n.tools.includes(t))return r;if(n.environment?.type==="VirtualEnvironment")return"VirtualEnv";for(let t of XZ)if(n.tools.some(r=>r.toLowerCase()===t.toLowerCase()))return t;return"Unknown"}var oo;function S2(n){oo=n}function Vr(n){if(!n||!oo)return!1;let e=Pr(n);return e&&Ve(e)==="Conda"&&!e.executable.uri}function Pr(n){if(n){if(!oo)throw new Error("Python API not initialized");return oo.environments.known.find(e=>e.id===n.id)}}async function ia(n){if(!n?.id)return;if(oo){let r=oo.environments.known.find(i=>i.id===n.id);if(r?.executable?.sysPrefix)return r.executable.sysPrefix}let t=await(await dA.PythonExtension.api()).environments.resolveEnvironment(n.id).then(r=>r?.executable?.sysPrefix);return t||p.warn(`Unable to find sysPrefix for interpreter ${j(n.id)}`),t}function yh(n){if(!n?.id)return;if(!oo)throw new Error("Python API not initialized");return oo.environments.known.find(t=>t.id===n.id)?.executable?.sysPrefix}async function qu(n,e=!1){if(!n?.id)return;if(oo&&!e){let i=oo.environments.known.find(o=>o.id===n.id);if(i?.version)return i.version}let r=await(await dA.PythonExtension.api()).environments.resolveEnvironment(n.id);return r?.version||p.warn(`Unable to find Version for interpreter ${j(n.id)}`),r?.version}function Ji(n){if(!n?.id)return;if(!oo)throw new Error("Python API not initialized");return oo.environments.known.find(t=>t.id===n.id)?.version}function so(){return oo?oo.environments.known:[]}function wi(n){if(!n)return;let e,t=n.id;if(n.executable.uri)e=n.executable.uri;else if(Ve(n)==="Conda")e=Rr()==="Windows"?DS.Uri.joinPath(n.environment?.folderUri||DS.Uri.file(n.path),"python.exe"):DS.Uri.joinPath(n.environment?.folderUri||DS.Uri.file(n.path),"bin","python");else{p.warn(`Python environment ${j(n.id)} excluded as Uri is undefined`);return}return{id:t,uri:e}}function eee(n){return qr(n)}var de;(x=>(x.bannerLabelYes=w.l10n.t("Yes"),x.bannerLabelNo=w.l10n.t("No"),x.canceled=w.l10n.t("Canceled"),x.cancel=w.l10n.t("Cancel"),x.ok=w.l10n.t("Ok"),x.refresh=w.l10n.t("Refresh"),x.refreshing=w.l10n.t("Refreshing..."),x.install=w.l10n.t("Install"),x.loadingExtension=w.l10n.t("Jupyter Extension loading..."),x.handleExtensionActivationError=w.l10n.t("Extension activation failed, run the 'Developer: Toggle Developer Tools' command for more information."),x.doNotShowAgain=w.l10n.t("Do not show again"),x.reload=w.l10n.t("Reload"),x.moreInfo=w.l10n.t("More Info"),x.learnMore=w.l10n.t("Learn more"),x.and=w.l10n.t("and"),x.reportThisIssue=w.l10n.t("Report this issue"),x.clickHereForMoreInfoWithHtml=A=>w.l10n.t("Click <a href='{0}'>here</a> for more info.",A)))(de||={});var zp;(t=>(t.notInGroup=r=>w.l10n.t("User does not belong to experiment group '{0}'",r),t.inGroup=r=>w.l10n.t("User belongs to experiment group '{0}'",r)))(zp||={});var pA;(e=>e.jupyter=w.l10n.t("Jupyter"))(pA||={});var mA;(e=>e.currentWorkingDirectory="cwd:")(mA||={});var fA;(e=>e.bannerMessage=w.l10n.t("Would you like shift-enter to send code to the new Interactive Window experience?"))(fA||={});var hA;(e=>e.bannerMessage=w.l10n.t("Can you please take a minute to tell us about your notebooks experience in VS Code?"))(hA||={});var dP;(t=>(t.bannerLabelYes=w.l10n.t("Yes, take survey now"),t.bannerLabelNo=w.l10n.t("No, thanks")))(dP||={});var y;(D=>(D.warnWhenSelectingKernelWithUnSupportedPythonVersion=w.l10n.t("The version of Python associated with the selected kernel is no longer supported. Please consider selecting a different kernel."),D.installingPythonExtension=w.l10n.t("Installing Python extension and locating kernels."),D.pythonExtensionRequired=w.l10n.t("The Python Extension is required to perform that task. Click Yes to open Python Extension installation page."),D.rendererExtensionRequired=w.l10n.t("The Renderer Extension is required to view IPyWidgets. Click Yes to open Jupyter Notebook Renderer Extension installation page."),D.rendererExtension1015Required=w.l10n.t("The installed version of the Renderer Extension is outdated and requires and update to view IPyWidgets. Click Yes to open Jupyter Notebook Renderer Extension installation page."),D.pythonExtensionInstalled=w.l10n.t("Python Extension is now installed. Some features might not be available until a notebook or interactive window session is restarted."),D.unknownPackage=w.l10n.t("unknown"),D.interactiveWindowTitleFormat=L=>w.l10n.t("Interactive - {0}",L),D.interactiveWindowModeBannerTitle=w.l10n.t({message:"Do you want to open a new Interactive Window for this file? [More Information](command:workbench.action.openSettings?%5B%22jupyter.interactiveWindowMode%22%5D).",args:[],comment:'The string "command:workbench.action.openSettings?%5B%22jupyter.interactiveWindowMode%22%5D" should not be translated. It is a command that opens the settings page with the "jupyter.interactiveWindowMode" setting selected.'}),D.interactiveWindowModeBannerSwitchYes=w.l10n.t("Yes"),D.interactiveWindowModeBannerSwitchNo=w.l10n.t("No"),D.dataExplorerTitle=w.l10n.t("Data Viewer"),D.badWebPanelFormatString=L=>w.l10n.t({message:"<html><body><h1>{0} is not a valid file name</h1></body></html>",args:[L],comment:["Only translate the text within the HTML tags"]}),D.installingMissingDependencies=w.l10n.t("Installing missing dependencies"),D.validatingKernelDependencies=w.l10n.t("Validating kernel dependencies"),D.performingExport=w.l10n.t("Performing Export"),D.exportNotebookToPython=w.l10n.t("Exporting Notebook to Python"),D.sessionDisposed=w.l10n.t("Cannot execute code, session has been disposed. Please try restarting the Kernel."),D.passwordFailure=w.l10n.t("Failed to connect to password protected server. Check that password is correct."),D.incorrectPassword=w.l10n.t("Incorrect Password."),D.exportDialogFilter=w.l10n.t("Jupyter Notebooks"),D.exportDialogComplete=L=>w.l10n.t("Notebook written to {0}",L),D.exportDialogFailed=L=>w.l10n.t("Failed to export notebook. {0}",L),D.exportOpenQuestion1=w.l10n.t("Open in editor"),D.runCellLensCommandTitle=w.l10n.t("Run Cell"),D.importDialogTitle=w.l10n.t("Import Jupyter Notebook"),D.importDialogFilter="Jupyter Notebooks",D.notebookCheckForImportNo=w.l10n.t("Later"),D.libraryRequiredToLaunchJupyterNotInstalled=L=>w.l10n.t("Running cells requires {0} package.",L),D.librariesRequiredToLaunchJupyterNotInstalled=L=>w.l10n.t("Running cells requires {0} package.",L),D.libraryRequiredToLaunchJupyterNotInstalledInterpreter=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package.",L,$e),D.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package.",L,$e),D.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreterAndRequiresUpdate=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package to be installed or requires an update.",L,$e),D.librariesRequiredToLaunchJupyterNotInstalledInterpreter=(L,$e)=>w.l10n.t("Running cells with '{0}' requires the {1} package.",L,$e),D.installPackageInstructions=(L,$e)=>w.l10n.t(`Run the following command to install '{0}' into the Python environment.
Command: '{1}'`,L,$e),D.pythonCondaKernelsWithoutPython=w.l10n.t("The Python Runtime and IPyKernel will be automatically installed upon selecting this environment."),D.selectJupyterInterpreter=w.l10n.t("Select an Interpreter to start Jupyter"),D.jupyterInstall=w.l10n.t("Install"),D.currentlySelectedJupyterInterpreterForPlaceholder=L=>w.l10n.t("Selected Environment {0}",L),D.jupyterNotSupported=L=>w.l10n.t("Jupyter cannot be started. Error attempting to locate Jupyter: {0}",L),D.jupyterNotebookNotInstalledOrNotFound=L=>{if(L){let $e=eee(L);return w.l10n.t("Failed to start Jupyter Server as the packages 'jupyter' and 'notebook' could not be located in the Python environment '{0}'.",$e)}else return w.l10n.t("Failed to start Jupyter Server as the packages 'jupyter' and 'notebook' could not be located in the Python environment.")},D.jupyterNotSupportedBecauseOfEnvironment=(L,$e)=>w.l10n.t("Activating {0} to run Jupyter failed with {1}",L,$e),D.jupyterNbConvertNotSupported=w.l10n.t("Jupyter nbconvert is not installed"),D.jupyterLaunchTimedOut=w.l10n.t("The Jupyter notebook server failed to launch in time"),D.jupyterLaunchNoURL=w.l10n.t("Failed to find the URL of the launched Jupyter notebook server"),D.jupyterSelfCertFail=L=>w.l10n.t(`The security certificate used by server {0} was not issued by a trusted certificate authority.\r
This may indicate an attempt to steal your information.\r
Do you want to enable the Allow Unauthorized Remote Connection setting for this workspace to allow you to connect?`,L),D.jupyterExpiredCertFail=L=>w.l10n.t(`The security certificate used by server {0} has expired.\r
This may indicate an attempt to steal your information.\r
Do you want to enable the Allow Unauthorized Remote Connection setting for this workspace to allow you to connect?`,L),D.jupyterSelfCertFailErrorMessageOnly=w.l10n.t(`The security certificate used by server was not issued by a trusted certificate authority.\r
This may indicate an attempt to steal your information.`),D.jupyterSelfCertExpiredErrorMessageOnly=w.l10n.t(`The security certificate used by server has expired.\r
This may indicate an attempt to steal your information.`),D.jupyterSelfCertEnable=w.l10n.t("Yes, connect anyways"),D.jupyterSelfCertClose=w.l10n.t("No, close the connection"),D.pythonInteractiveHelpLink=w.l10n.t("See <https://aka.ms/pyaiinstall> for help on installing Jupyter."),D.importingFormat=L=>w.l10n.t("Importing {0}",L),D.startingJupyter=w.l10n.t("Starting Jupyter Server"),D.connectingToKernel=L=>w.l10n.t("Connecting to kernel: {0}",L),D.connectingToJupyter=w.l10n.t("Connecting to Jupyter Server"),D.exportingFormat=L=>w.l10n.t("Exporting {0}",L),D.runAllCellsLensCommandTitle=w.l10n.t("Run All Cells"),D.runAllCellsAboveLensCommandTitle=w.l10n.t("Run Above"),D.runCellAndAllBelowLensCommandTitle=w.l10n.t("Run Below"),D.restartKernelMessage=w.l10n.t("Do you want to restart the Jupyter kernel? All variables will be lost."),D.restartKernelMessageYes=w.l10n.t("Restart"),D.restartKernelMessageDontAskAgain=w.l10n.t("Don't Ask Again"),D.automaticallyReconnectingToAKernelProgressMessage=L=>w.l10n.t("Reconnecting to the kernel {0}",L),D.restartingKernelStatus=L=>w.l10n.t("Restarting Kernel {0}",L),D.interruptingKernelFailed=w.l10n.t("Kernel interrupt failed. Jupyter Server is hung. Please reload VS Code."),D.sessionStartFailedWithKernel=L=>w.l10n.t({message:`Failed to start the Kernel '{0}'.
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.failedToStartJupyter=L=>w.l10n.t({message:`Failed to start Jupyter in the environment '{0}'.
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.failedToStartJupyterWithErrorInfo=(L,$e)=>w.l10n.t({message:`Failed to start Jupyter in the environment '{0}'.
{1}
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L,$e],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.failedToStartJupyterDueToOutdatedTraitlets=(L,$e)=>w.l10n.t({message:`Failed to start Jupyter in the environment '{0}' possibly due to an outdated version of 'traitlets'.
{1}
Consider updating the 'traitlets' module to '5.1.1' or later.
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L,$e],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the text 'traitlets', that is a Python module name"]}),D.failedToStartKernel=w.l10n.t("Failed to start the Kernel."),D.failedToRestartKernel=w.l10n.t("Failed to restart the Kernel."),D.failedToInterruptKernel=w.l10n.t("Failed to interrupt the Kernel."),D.rawKernelStartFailedDueToTimeout=L=>w.l10n.t({message:`Unable to start Kernel '{0}' due to a connection timeout.
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.rawKernelStartFailedDueToTimeoutWaitingForPort=L=>w.l10n.t({message:`Unable to start Kernel '{0}' due to a timeout waiting for the ports to get used.
View Jupyter [log](command:jupyter.viewOutput) for further details.`,args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.viewJupyterLogForFurtherInfo=w.l10n.t({message:"View Jupyter [log](command:jupyter.viewOutput) for further details.",comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.kernelDied=L=>w.l10n.t({message:"The kernel died. Error: {0}... View Jupyter [log](command:jupyter.viewOutput) for further details.",args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.kernelDiedWithoutError=L=>w.l10n.t({message:"The kernel '{0}' died. Click [here](https://aka.ms/vscodeJupyterKernelCrash) for more info. View Jupyter [log](command:jupyter.viewOutput) for further details.",args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/vscodeJupyterKernelCrash"]}),D.failedToStartAnUntrustedKernelSpec=(L,$e)=>w.l10n.t({message:`The kernel '{0}' was not started as it is located in an insecure location '{1}'.
Click [here](https://aka.ms/JupyterTrustedKernelPaths) for further details, optionally update the setting [jupyter.kernels.trusted](command:workbench.action.openSettings?["jupyter.kernels.trusted"]) to trust the kernel.`,args:[L,$e],comment:['Do not translate the text "jupyter.kernels.trusted", that is a setting in VS Code','Do not translate the text command:workbench.action.openSettings?["jupyter.kernels.trusted"], that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/JupyterTrustedKernelPaths"]}),D.kernelDiedWithoutErrorAndAutoRestarting=L=>w.l10n.t({message:"The kernel '{0}' died and is being automatically restarted by Jupyter. Click [here](https://aka.ms/vscodeJupyterKernelCrash) for more info. View Jupyter [log](command:jupyter.viewOutput) for further details.",args:[L],comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/vscodeJupyterKernelCrash"]}),D.kernelCrashedDueToCodeInCurrentOrPreviousCell=w.l10n.t({message:`The Kernel crashed while executing code in the current cell or a previous cell.
Please review the code in the cell(s) to identify a possible cause of the failure.
Click <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info.
View Jupyter [log](command:jupyter.viewOutput) for further details.`,comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel',"Do not translate the link https://aka.ms/vscodeJupyterKernelCrash"]}),D.kernelDisconnected=L=>w.l10n.t("Unable to connect to the kernel '{0}', please verify the Jupyter Server connection. View Jupyter [log](command:jupyter.viewOutput) for further details.",L),D.cannotRunCellKernelIsDead=L=>w.l10n.t("Cannot run cells, as the kernel '{0}' is dead.",L),D.showJupyterLogs=w.l10n.t("Show Jupyter Logs."),D.restartKernel=w.l10n.t("Restart Kernel"),D.reloadRequired=w.l10n.t("Please reload the window for new settings to take effect."),D.restartedKernelHeader=L=>w.l10n.t("Restarted {0}",L),D.connectedKernelHeader=L=>w.l10n.t("Connected to {0}",L),D.restartingKernelCustomHeader=L=>w.l10n.t("_Restarting {0}..._",L),D.restartingKernelHeader=w.l10n.t("_Restarting kernel..._"),D.startingNewKernelHeader=w.l10n.t("_Connecting to kernel..._"),D.startingNewKernelCustomHeader=L=>w.l10n.t("_Connecting to {0}..._",L),D.noKernelConnected=w.l10n.t("No kernel connected"),D.jupyterSelectUriCommandLabel=w.l10n.t("Enter the URL of the running Jupyter Server..."),D.jupyterSelectUriInputTitle=w.l10n.t("Enter the URL of the running Jupyter Server"),D.jupyterSelectUriInputPlaceholder=w.l10n.t("Enter the url of the running Jupyter Server"),D.connectToToTheJupyterServer=L=>w.l10n.t("Connect to the Jupyter Server {0}",L),D.enterOrSelectRemoteJupyterPlaceholder=w.l10n.t("Enter a remote url, or select a remote server"),D.selectRemoteJupyterPlaceholder=w.l10n.t("Select a remote server"),D.jupyterServerLastConnectionForQuickPickDescription=L=>w.l10n.t("Last connected {0}",ch(L,!0,!1,!1)),D.jupyterServerNotUsedBeforeQuickPickSeparatorTitle=w.l10n.t("Jupyter Servers"),D.jupyterSelectURIInvalidURI=w.l10n.t("Invalid URL specified"),D.jupyterSelectURIMustBeHttpOrHttps=w.l10n.t("Invalid protocol in URL specified, only HTTP or HTTPS are supported."),D.jupyterSelectLiveRemoteKernelDescription=(L,$e)=>L?$e===0?w.l10n.t("Last activity {0}",ch(L,!0,!1,!1)):$e===1?w.l10n.t("Last activity {0}, 1 connection",ch(L,!0,!1,!1)):w.l10n.t("Last activity {0}, {1} connections",ch(L,!0,!1,!1),$e.toString()):$e===0?"":$e===1?w.l10n.t("1 connection"):w.l10n.t("{0} connections",$e.toString()),D.installJupyterHub=w.l10n.t("Install the JupyterHub extension to connect to JupyterHub servers."),D.useJupyterHubExtension=w.l10n.t("Select 'Existing JupyterHub Server...' from the Kernel Picker"),D.useJupyterHubExtensionDetail=w.l10n.t("Use this option when connecting to JupyterHub servers"),D.installJupyterHubDetail=w.l10n.t("Once installed, open the Kernel Picker and select 'Existing JupyterHub Server...'"),D.jupyterSelectUserAndPasswordTitle=w.l10n.t("Enter your user name and password to connect to Jupyter Hub"),D.jupyterRenameServer=w.l10n.t("Change Server Display Name (Leave Blank To Use URL)"),D.jupyterServerUriDisplayNameInputPlaceholder=w.l10n.t("Enter a display name"),D.jupyterSelectUserPrompt=w.l10n.t("Enter your user name"),D.jupyterSelectPasswordPrompt=w.l10n.t("Enter your password"),D.jupyterSelectPasswordTitle=w.l10n.t("Enter your password for the Jupyter Server"),D.pythonNotInstalled=w.l10n.t(`Python is not installed.
Please download and install Python in order to execute cells in this notebook.
Once installed please reload VS Code.`),D.pleaseReloadVSCodeOncePythonHasBeenInstalled=w.l10n.t("Upon installing Python please reload VS Code."),D.jupyterNotebookFailure=L=>w.l10n.t(`Jupyter notebook failed to launch. \r
{0}`,L),D.remoteJupyterServerProvidedBy3rdPartyExtensionNoLongerValid=L=>w.l10n.t("The remote Jupyter Server contributed by the extension '{0}' is no longer available.",L),D.remoteJupyterConnectionFailedWithServerWithError=(L,$e)=>w.l10n.t("Failed to connect to the remote Jupyter Server '{0}'. Verify the server is running and reachable. ({1}).",L,$e),D.remoteJupyterConnectionFailedWithServer=L=>w.l10n.t("Failed to connect to the remote Jupyter Server '{0}'. Verify the server is running and reachable.",L),D.remoteJupyterConnectionFailedWithoutServerWithError=L=>w.l10n.t("Connection failure. Verify the server is running and reachable. ({0}).",L),D.remoteJupyterConnectionFailedWithoutServerWithErrorWeb=L=>w.l10n.t(`Connection failure. Verify the server is running and reachable from a browser. ({0}).
When connecting from vscode.dev Jupyter servers must be started with specific options to connect.
Click [here](https://aka.ms/vscjremoteweb) for more information.`,L),D.removeRemoteJupyterConnectionButtonText=w.l10n.t("Forget Connection"),D.jupyterNotebookRemoteConnectFailedWeb=L=>w.l10n.t(`Failed to connect to remote Jupyter Server.\r
Check that the Jupyter Server URL can be reached from a browser.\r
{0}. Click [here](https://aka.ms/vscjremoteweb) for more information.`,L),D.packageNotInstalledWindowsLongPathNotEnabledError=(L,$e)=>w.l10n.t(`Support for Windows Long Path has not been enabled, hence the package {0} could not be installed into the Python Environment '{1}'.
Please ensure that support for Windows Long Path is enabled.
See [here](https://pip.pypa.io/warnings/enable-long-paths) for more information.`,L,$e),D.changeRemoteJupyterConnectionButtonText=w.l10n.t("Manage Connections"),D.rawConnectionBrokenError=w.l10n.t("Direct kernel connection broken"),D.jupyterServerCrashed=L=>w.l10n.t(`Jupyter Server crashed. Unable to connect. \r
Error code from Jupyter: {0}`,L.toString()),D.jupyterKernelSpecModuleNotFound=L=>w.l10n.t(`'Kernelspec' module not installed in the selected interpreter ({0}).
Please re-install or update 'jupyter'.`,L),D.interruptKernelStatus=L=>w.l10n.t("Interrupting Kernel {0}",L),D.exportPythonQuickPickLabel=w.l10n.t("Python Script"),D.exportHTMLQuickPickLabel=w.l10n.t("HTML"),D.exportPDFQuickPickLabel=w.l10n.t("PDF"),D.restartKernelAfterInterruptMessage=L=>w.l10n.t("Interrupting the kernel '{0}' timed out. Do you want to restart the kernel instead? All variables will be lost.",L),D.documentMismatch=L=>w.l10n.t("Cannot run cells, duplicate documents for {0} found.",L),D.jupyterGetVariablesBadResults=w.l10n.t("Failed to fetch variable info from the Jupyter Server."),w.l10n.t("Failure to create an 'Interactive' window. Try reinstalling the Python Extension."),D.jupyterGetVariablesExecutionError=L=>w.l10n.t(`Failure during variable extraction: \r
{0}`,L),D.selectKernel=w.l10n.t("Change Kernel"),D.selectDifferentKernel=w.l10n.t("Select a different Kernel"),D.kernelFilterPlaceholder=w.l10n.t("Choose the kernels that are available in the kernel picker."),D.recommendedItemCategoryInQuickPick=w.l10n.t("Recommended"),D.selectedKernelCategoryInQuickPick=w.l10n.t("Selected"),D.createPythonEnvironmentInQuickPick=w.l10n.t("Create Python Environment"),D.createPythonEnvironmentInQuickPickTooltip=w.l10n.t("Create an isolated Python Environment per workspace folder"),D.selectDifferentJupyterInterpreter=w.l10n.t("Change Interpreter"),D.pandasTooOldForViewingFormat=(L,$e)=>w.l10n.t({message:"Python package 'pandas' is version {0}. Version {1} or greater is required for viewing data.",args:[L,$e],comment:["Do not translate 'pandas' as that is a Python module name"]}),D.pandasRequiredForViewing=L=>w.l10n.t({message:"Python package 'pandas' version {0} (or above) is required for viewing data.",args:[L],comment:["Do not translate 'pandas' as that is a Python module name"]}),D.tooManyColumnsMessage=w.l10n.t("Variables with over a 1000 columns may take a long time to display. Are you sure you wish to continue?"),D.tooManyColumnsYes=w.l10n.t("Yes"),D.tooManyColumnsNo=w.l10n.t("No"),D.tooManyColumnsDontAskAgain=w.l10n.t("Don't Ask Again"),D.plotViewerTitle=w.l10n.t("Plots"),D.exportPlotTitle=w.l10n.t("Save plot image"),D.pdfFilter="PDF",D.pngFilter="PNG",D.svgFilter="SVG",D.exportImageFailed=L=>w.l10n.t("Error exporting image: {0}",L),D.jupyterDataRateExceeded=w.l10n.t({message:"Cannot view variable because data rate exceeded. Please restart your server with a higher data rate limit. For example, --NotebookApp.iopub_data_rate_limit=10000000000.0",comment:["Do not translate the text --NotebookApp.iopub_data_rate_limit=10000000000.0 as that is a command argument."]}),D.addCellBelowCommandTitle=w.l10n.t("Add cell"),D.debugCellCommandTitle=w.l10n.t("Debug Cell"),D.debugStepOverCommandTitle=w.l10n.t("Step over"),D.debugContinueCommandTitle=w.l10n.t("Continue"),D.debugStopCommandTitle=w.l10n.t("Stop"),D.runCurrentCellAndAddBelow=w.l10n.t("Run current cell and add empty cell below"),D.jupyterDebuggerNotInstalledError=L=>w.l10n.t("Pip module {0} is required for debugging cells. You will need to install it to debug cells.",L),D.jupyterDebuggerOutputParseError=L=>w.l10n.t("Unable to parse {0} output, please log an issue with https://github.com/microsoft/vscode-jupyter",L),D.cellStopOnErrorMessage=w.l10n.t("Cell was canceled due to an error in a previous cell."),D.scrollToCellTitleFormatMessage=L=>w.l10n.t("Go to [{0}]",L.toString()),D.instructionComments=L=>w.l10n.t(`# To add a new cell, type '{0}'
# To add a new markdown cell, type '{0} [markdown]'
`,L),D.exportButtonTitle=w.l10n.t("Export"),D.exportAsQuickPickPlaceholder=w.l10n.t("Export As..."),D.openExportedFileMessage=w.l10n.t("Would you like to open the exported file?"),D.openExportFileYes=w.l10n.t("Yes"),D.openExportFileNo=w.l10n.t("No"),D.exportFailedGeneralMessage=w.l10n.t({message:"Please check the 'Jupyter' [output](command:jupyter.viewOutput) panel for further details.",comment:['Do not translate the text "command:jupyter.viewOutput", that is a command Id that will be used by VS Code to open the output panel']}),D.exportToPDFDependencyMessage=w.l10n.t(`If you have not installed xelatex (TeX), you will need to do so before you can export to PDF. For further instructions, please see https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex. \r
To avoid installing xelatex (TeX), you might want to try exporting to HTML and using your browser's "Print to PDF" feature.`),D.failedExportMessage=w.l10n.t("Export failed."),D.startingJupyterLogMessage=(L,$e)=>w.l10n.t("Starting Jupyter from {0} with arguments {1}",L,$e),D.waitingForJupyterSessionToBeIdle=w.l10n.t("Waiting for Jupyter Session to be idle"),D.gettingListOfKernelsForRemoteConnection=w.l10n.t("Fetching Kernels"),D.gettingListOfKernelSpecs=w.l10n.t("Fetching Kernel specs"),D.startingJupyterNotebook=w.l10n.t("Starting Jupyter Notebook"),D.registeringKernel=w.l10n.t("Registering Kernel"),D.jupyterCommandLineReloadQuestion=w.l10n.t("Please reload the window when changing the Jupyter command line."),D.jupyterCommandLineReloadAnswer=w.l10n.t("Reload"),D.createdNewKernel=(L,$e)=>w.l10n.t("{0}: Kernel started: {1}",L,$e),D.kernelInvalid=L=>w.l10n.t("Kernel {0} is not usable. Check the Jupyter output tab for more information.",L),D.removeRemoteJupyterServerEntryInQuickPick=w.l10n.t("Remove"),D.loadClassFailedWithNoInternet=(L,$e)=>w.l10n.t("Error loading {0}:{1}. Internet connection required for loading 3rd party widgets.",L,$e),D.useCDNForWidgetsNoInformation=w.l10n.t("Widgets require us to download supporting files from a 3rd party website."),D.enableCDNForWidgetsSetting=(L,$e)=>w.l10n.t("Widgets require us to download supporting files from a 3rd party website. (Error loading {0}:{1}).",L,$e),D.enableCDNForWidgetsButton=w.l10n.t("Enable Downloads"),D.unhandledMessage=(L,$e)=>w.l10n.t("Unhandled kernel message from a widget: {0} : {1}",L,$e),D.cdnWidgetScriptNotAccessibleWarningMessage=(L,$e)=>w.l10n.t("Unable to download widget '{0}' from 3rd party website {1}, due to network access. Expected behavior may be affected. Click [here](https://aka.ms/PVSCIPyWidgets) for more information.",L,$e),D.widgetScriptNotFoundOnCDNWidgetMightNotWork=(L,$e,pE)=>w.l10n.t("Unable to find widget '{0}' version '{1}' from configured widget sources {2}. Expected behavior may be affected. Click [here](https://aka.ms/PVSCIPyWidgets) for more information.",L,$e,pE),D.insecureSessionMessage=w.l10n.t("Connecting over HTTP without a token may be an insecure connection. Do you want to connect to a possibly insecure server?"),D.insecureSessionDenied=w.l10n.t("Denied connection to insecure server."),D.selectKernelForEditor=w.l10n.t("[Select a kernel](command:_notebook.selectKernel) to run cells."),D.needIpykernel6=w.l10n.t("Ipykernel setup required for this feature"),D.setup=w.l10n.t("Setup"),D.showDataViewerFail=w.l10n.t("Failed to create the Data Viewer. Check the Jupyter tab of the Output window for more info."),D.defaultNotebookName=w.l10n.t("default"),D.recommendExtensionForNotebookLanguage=(L,$e)=>w.l10n.t("The {0} extension is recommended for notebooks targeting the language '{1}'",L,$e),D.kernelWasNotStarted=w.l10n.t("Kernel was not started. A kernel session is needed to start debugging."),D.noNotebookToDebug=w.l10n.t("No active notebook document to debug."),D.cantStartDebugging=w.l10n.t("Can't start debugging."),D.restartNotSupported=w.l10n.t("Restarting is not supported in the interactive window."),D.importingIpynb=w.l10n.t("Importing notebook file"),D.exportingToFormat=L=>w.l10n.t("Exporting to {0}",L),D.kernelCategoryForJupyterSession=w.l10n.t("Jupyter Session"),D.kernelDefaultRemoteDisplayName=w.l10n.t("Remote"),D.kernelCategoryForJupyterKernel=w.l10n.t("Jupyter Kernel"),D.kernelCategoryForRemoteJupyterKernel=w.l10n.t("Jupyter Kernel"),D.kernelCategoryForConda=w.l10n.t("Conda Env"),D.kernelCategoryForCondaWithoutPython=w.l10n.t("Conda Env Without Python"),D.kernelCategoryForPoetry=w.l10n.t("Poetry Env"),D.kernelCategoryForPipEnv=w.l10n.t("Pipenv Env"),D.kernelCategoryForPyEnv=w.l10n.t("PyEnv Env"),D.kernelCategoryForGlobal=w.l10n.t("Global Env"),D.kernelCategoryForVirtual=w.l10n.t("Virtual Env"),D.fileSeemsToBeInterferingWithKernelStartup=L=>w.l10n.t("The file '{0}' seems to be overriding built in modules and interfering with the startup of the kernel. Consider renaming the file and starting the kernel again.",L),D.moduleSeemsToBeInterferingWithKernelStartup=L=>w.l10n.t("The module '{0}' seems to be overriding built in modules and interfering with the startup of the kernel. Consider renaming the folder and starting the kernel again.",L),D.pipCondaInstallHoverWarning=(L,$e)=>w.l10n.t("'!{0} install' could install packages into the wrong environment. [More info]({1})",L,$e),D.percentPipCondaInstallInsteadOfBang=L=>w.l10n.t({message:"Use '%{0} install' instead of '!{0} install'",args:[L],comment:['Do not translate the string within quotes, such as "%{0} install" and "!{0} install" as that is a Jupyter Shell Magic command']}),D.replacePipCondaInstallCodeAction=L=>w.l10n.t("Replace with '%{0} install'",L),D.failedToStartKernelDueToMissingModule=L=>w.l10n.t("The kernel failed to start due to the missing module '{0}'. Consider installing this module.",L),D.failedToStartKernelDueToImportFailure=L=>w.l10n.t("The kernel failed to start as the module '{0}' could not be imported.",L),D.failedToStartKernelDueToImportFailureFromFile=(L,$e)=>w.l10n.t("The kernel failed to start as '{0}' could not be imported from '{1}'.",L,$e),D.failedToStartKernelDueToUnknownDllLoadFailure=w.l10n.t("The kernel failed to start as a dll could not be loaded."),D.failedToStartKernelDueToDllLoadFailure=L=>w.l10n.t("The kernel failed to start as the dll '{0}' could not be loaded.",L),D.failedToStartKernelDueToWin32APIFailure=w.l10n.t("The kernel failed to start due to an error with the Win32api module. Consider (re) installing this module."),D.failedToStartKernelDueToPyZmqFailure=w.l10n.t({message:"The kernel failed to start due to an error with the 'pyzmq' module. Consider re-installing this module.",comment:['Do not translate the string "pyzmq" as that is a Python module.']}),D.failedToStartKernelDueToOldIPython=w.l10n.t("The kernel failed to start due to an outdated version of IPython. Consider updating this module to the latest version."),D.failedToStartKernelDueToOldIPyKernel=w.l10n.t("The kernel failed to start due to an outdated version of IPyKernel. Consider updating this module to the latest version."),D.failedToStartKernelDueToMissingPythonEnv=L=>w.l10n.t("The kernel failed to start as the Python Environment '{0}' is no longer available. Consider selecting another kernel or refreshing the list of Python Environments.",L),D.matplotlibWidgetInsteadOfOther=w.l10n.t("'%matplotlib' widget works best inside of VS Code"),D.matplotlibWidgetCodeActionTitle=w.l10n.t("More info"),D.allowExtensionToUseJupyterKernelApi=(L,$e)=>w.l10n.t("Do you want to give the extension '{0}' access to the Jupyter Kernels? Clicking '{1}' would allow this extension to execute code against the Jupyter Kernels.",L,$e),D.thanksForUsingJupyterKernelApiPleaseRegisterWithUs=L=>w.l10n.t("Thank you for trying the Jupyter API. Please file an issue on our repo to allow the extension {0} to use this API in production. This would prevent us from breaking your extension when updating the API (as it is still a work in progress).",L),D.activatingPythonEnvironment=L=>w.l10n.t("Activating Python Environment '{0}'",L),D.runningKernelStartupHooksFor=L=>w.l10n.t("Running Kernel startup hooks in '{0}'",L),D.cellAtFormat=(L,$e)=>w.l10n.t("{0} Cell {1}",L,$e),D.jupyterServerConsoleOutputChannel=w.l10n.t("Jupyter Server Console"),D.kernelConsoleOutputChannel=L=>w.l10n.t("{0} Kernel Console Output",L),D.webNotSupported=w.l10n.t("Operation not supported in web version of Jupyter Extension."),D.failedToInstallPythonExtension=w.l10n.t("Failed to install the Python Extension."),D.filesPossiblyOverridingPythonModulesMayHavePreventedKernelFromStarting=L=>w.l10n.t("Some of the following files found in the working directory may have prevented the Kernel from starting. Consider renaming them.",L),D.listOfFilesWithLinksThatMightNeedToBeRenamed=L=>w.l10n.t("File(s): {0} might need to be renamed.",L),D.failedToGetVersionOfPandas=w.l10n.t("Failed to get version of Pandas to use the Data Viewer."),D.failedToInstallPandas=w.l10n.t("Failed to install Pandas to use the Data Viewer."),D.localKernelSpecs=w.l10n.t("Jupyter Kernel..."),D.localPythonEnvironments=w.l10n.t("Python Environments..."),D.quickPickTitleForSelectionOfJupyterServer=w.l10n.t("Select a Jupyter Server"),D.UserJupyterServerUrlProviderDisplayName=w.l10n.t("Existing Jupyter Server..."),D.UserJupyterServerUrlProviderDetail=w.l10n.t("Connect to an existing Jupyter Server"),D.kernelPickerSelectKernelTitle=w.l10n.t("Select Kernel"),D.kernelPickerSelectLocalKernelSpecTitle=w.l10n.t("Select a Jupyter Kernel"),D.quickPickSelectPythonEnvironmentTitle=w.l10n.t("Select a Python Environment"),D.kernelPickerSelectKernelFromRemoteTitle=L=>w.l10n.t("Select a Kernel from {0}",L),D.kernelPickerSelectKernelFromRemoteTitleWithoutName=w.l10n.t("Select a Jupyter Kernel"),D.installPythonExtensionViaKernelPickerTitle=w.l10n.t("Install Python Extension"),D.installPythonExtensionViaKernelPickerToolTip=w.l10n.t("Python Extension is required to detect and use Python environments for the execution of code cells."),D.installPythonQuickPickTitle=w.l10n.t("Install Python"),D.installPythonQuickPickToolTip=w.l10n.t("Python Environments not detected. Upon installation reload VS Code or refresh the list of Kernels."),D.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickLabel=w.l10n.t({message:"$(error) Unable to connect to the remote server",comment:"Do not translate the string $(error) as that is a VS Code icon."}),D.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickDetail=w.l10n.t("Ensure the server is running and reachable."),D.dataViewerDeprecationMessage=w.l10n.t("The built-in data viewer will be deprecated soon. Please install other data viewing extensions to keep the ability to inspect data."),D.dataViewerDeprecationRecommendationActionMessage=w.l10n.t("See Recommended Extensions")))(y||={});var Kt;(he=>(he.collapseSingle=w.l10n.t("Collapse"),he.expandSingle=w.l10n.t("Expand"),he.noRowsInDataViewer=w.l10n.t("No rows match current filter"),he.sliceIndexError=w.l10n.t({message:"Index {0} out of range for axis {1} with {2} elements",comment:["Do not translate the strings {0}, {1} and {2} as they are variable names and will be replaced later"]}),he.sliceMismatchedAxesError=w.l10n.t({message:"Expected {0} axes, got {1} in slice expression",comment:["Do not translate the strings {0} and {2} as they are variable names and will be replaced later"]}),he.fetchingDataViewer=w.l10n.t("Fetching data ..."),he.dataViewerHideFilters=w.l10n.t("Hide filters"),he.dataViewerShowFilters=w.l10n.t("Show filters"),he.refreshDataViewer=w.l10n.t("Refresh data viewer"),he.sliceSummaryTitle=w.l10n.t("SLICING"),he.sliceData=w.l10n.t("Slice Data"),he.sliceSubmitButton=w.l10n.t("Apply"),he.sliceDropdownAxisLabel=w.l10n.t("Axis"),he.sliceDropdownIndexLabel=w.l10n.t("Index"),he.variableExplorerNameColumn=w.l10n.t("Name"),he.variableExplorerTypeColumn=w.l10n.t("Type"),he.variableExplorerCountColumn=w.l10n.t("Size"),he.variableExplorerValueColumn=w.l10n.t("Value"),he.collapseVariableExplorerLabel=w.l10n.t("Variables"),he.variableLoadingValue=w.l10n.t("Loading..."),he.showDataExplorerTooltip=w.l10n.t("Show variable snapshot in data viewer"),he.noRowsInVariableExplorer=w.l10n.t("No variables defined"),he.loadingRowsInVariableExplorer=w.l10n.t("Loading variables"),he.previousPlot=w.l10n.t("Previous"),he.nextPlot=w.l10n.t("Next"),he.panPlot=w.l10n.t("Pan"),he.zoomInPlot=w.l10n.t("Zoom in"),he.zoomOutPlot=w.l10n.t("Zoom out"),he.exportPlot=w.l10n.t("Export to different formats"),he.deletePlot=w.l10n.t("Remove"),he.selectedImageListLabel=w.l10n.t("Selected Image"),he.selectedImageLabel=w.l10n.t("Image"),he.errorOutputExceedsLinkToOpenFormatString=w.l10n.t({message:"Output exceeds the <a href={0}>size limit</a>. Open the full output data <a href={1}>in a text editor</a>",comment:['Do not translate the the Hyperlink text "<a href={0}>size limit</a>" and "<a href={1}>in a text editor</a>". However the text inside those tags can be translated']}),he.dvDeprecationWarning=w.l10n.t('The built-in data viewer will be deprecated and no longer usable starting with Visual Studio Code 1.92. Please <a href="command:workbench.extensions.search?%22@tag:jupyterVariableViewers%22">install other data viewing extensions</a> to continue inspecting data')))(Kt||={});var _S;(r=>(r.SHOW_DEPRECATED_FEATURE_PROMPT_FORMAT_ON_SAVE=w.l10n.t({message:"The setting 'python.formatting.formatOnSave' is deprecated, please use 'editor.formatOnSave'.",comment:['Do not translate the string "python.formatting.formatOnSave" as that is a setting in VS Code','Do not translate the string "editor.formatOnSave" as that is a setting in VS Code']}),r.SHOW_DEPRECATED_FEATURE_PROMPT_LINT_ON_TEXT_CHANGE=w.l10n.t({message:"The setting 'python.linting.lintOnTextChange' is deprecated, please enable 'python.linting.lintOnSave' and 'files.autoSave'.",comment:['Do not translate the string "python.linting.lintOnTextChange" as that is a setting in VS Code','Do not translate the string "python.linting.lintOnSave" as that is a setting in VS Code']}),r.SHOW_DEPRECATED_FEATURE_PROMPT_FOR_AUTO_COMPLETE_PRELOAD_MODULES=w.l10n.t({message:"The setting 'python.autoComplete.preloadModules' is deprecated, please consider using Pylance Language Server ('python.languageServer' setting).",comment:['Do not translate the string "python.autoComplete.preloadModules" as that is a setting in VS Code','Do not translate the string "python.languageServer" as that is a setting in VS Code']})))(_S||={});var bh;(r=>(r.noCondaOrPipInstaller=w.l10n.t("There is no Conda or Pip installer available in the selected environment."),r.noPipInstaller=w.l10n.t("There is no Pip installer available in the selected environment."),r.searchForHelp=w.l10n.t("Search for help")))(bh||={});var gA;(e=>e.installingModule=t=>w.l10n.t("Installing {0}",t))(gA||={});var w2=vA(),pP=class{constructor(e,t,r){this.channel=e;this.homeReplaceRegEx=t,this.userNameReplaceRegEx=r}format(e,t,...r){let i=e?`${yE()} [${e}] ${w2(t,...r)}`:w2(t,...r);return this.homeReplaceRegEx&&(i=i.replace(this.homeReplaceRegEx,"~")),this.userNameReplaceRegEx&&(i=i.replace(this.userNameReplaceRegEx,"<username>")),i}error(e,...t){this.channel.appendLine(this.format("error",e,...t))}warn(e,...t){this.channel.appendLine(this.format("warn",e,...t))}info(e,...t){this.channel.appendLine(this.format("info",e,...t))}debug(e,...t){this.channel.appendLine(this.format("debug",e,...t))}trace(e,...t){this.channel.appendLine(this.format("trace",e,...t))}ci(e,...t){}};var E2=vA();function TS(n,e,...t){let i=[...t].length===0?E2(e):E2(e,...t);return n?`${n} ${yE()}: ${i}`:i}var mP=class{constructor(e){this.prefix=e}error(e,...t){console.error(TS("error",`${this.prefix||""} ${e}`,...t))}warn(e,...t){console.warn(TS("warn",`${this.prefix||""} ${e}`,...t))}info(e,...t){console.info(TS("info",`${this.prefix||""} ${e}`,...t))}debug(e,...t){console.log(TS("debug",`${this.prefix||""} ${e}`,...t))}trace(e,...t){console.trace(TS("trace",`${this.prefix||""} ${e}`,...t))}ci(e,...t){}};var hP="",D2=3,Hu=[],Gu=Yt.LogLevel.Info,p={error:(n,...e)=>tee(n,...e),warn:(n,...e)=>A2(n,...e),info:(n,...e)=>ree(n,...e),debug:(n,...e)=>nee(n,...e),trace:(n,...e)=>iee(n,...e),ci:(n,...e)=>{e&&Array.isArray(e)?x2(n,...e):x2(n)}};function _2(n){Gu=k2(),Zs(Yt.workspace.onDidChangeConfiguration(t=>{t.affectsConfiguration("jupyter.logging")&&(Gu=k2())}));let e=Yt.window.createOutputChannel(pA.jupyter,"log");return P2(new pP(e,n?.userNameRegEx,n?.homePathRegEx)),P2(new mP(hi?void 0:"Jupyter Extension:")),e}function P2(n){return Hu.push(n),{dispose:()=>{Hu=Hu.filter(e=>e!==n)}}}function k2(){try{let{level:n}=Yt.workspace.getConfiguration("jupyter").get("logging",{level:"Info"});switch(n){case"debug":case"Debug":return Yt.LogLevel.Debug;case"warn":case"Warn":case"warning":case"Warning":return Yt.LogLevel.Warning;case"Off":case"off":return Yt.LogLevel.Off;case"Error":case"error":return Yt.LogLevel.Error;case"Trace":case"trace":return Yt.LogLevel.Trace;default:return Yt.LogLevel.Info}}catch(n){return console.error("Failed to get logging level from configuration",n),Yt.LogLevel.Info}}function T2(n){hP=n.toLowerCase()}function R2(...n){return Gu<=Yt.LogLevel.Debug?n:n.map(t=>{if(!(t instanceof Error)||!("isJupyterError"in t))return t;let r=[`${t.name}: ${t.message}`.trim()];if("kernelConnectionMetadata"in t&&t.kernelConnectionMetadata&&typeof t.kernelConnectionMetadata=="object"&&"id"in t.kernelConnectionMetadata&&(r.push(`Kernel Id = ${t.kernelConnectionMetadata.id}`),"interpreter"in t.kernelConnectionMetadata&&t.kernelConnectionMetadata.interpreter&&typeof t.kernelConnectionMetadata.interpreter=="object"&&"id"in t.kernelConnectionMetadata.interpreter&&typeof t.kernelConnectionMetadata.interpreter.id=="string"&&r.push(`Interpreter Id = ${j(t.kernelConnectionMetadata.interpreter.id)}`)),t.stack){let o=Oe(t.stack),s=o.find(a=>a.indexOf("at ")===0);o.length===1||(o.length===1?r.push(o[0]):o.length>1&&s?.length?r.push(s):r.push(o[0]))}let i=["stack","message","name","kernelConnectionMetadata","category","exitCode","isJupyterError"];return Object.keys(t).filter(o=>i.indexOf(o)===-1).forEach(o=>r.push(`${o} = ${String(t[o]).trim()}`)),r.filter(o=>o.trim().length).map((o,s)=>s===0?o:` > ${o}`).join(`
`)})}function tee(n,...e){Gu<=Yt.LogLevel.Error&&(e=R2(...e),Hu.forEach(t=>t.error(n,...e)))}function A2(n,...e){Gu<=Yt.LogLevel.Warning&&(e=R2(...e),Hu.forEach(t=>t.warn(n,...e)))}function ree(n,...e){Gu<=Yt.LogLevel.Info&&Hu.forEach(t=>t.info(n,...e))}function nee(n,...e){Gu<=Yt.LogLevel.Debug&&Hu.forEach(t=>t.debug(n,...e))}function iee(n,...e){Gu<=Yt.LogLevel.Trace&&Hu.forEach(t=>t.trace(n,...e))}function x2(n,...e){if(hi)if(typeof n=="function"){let r=n(),i="",o=[];typeof r=="string"?i=r:(i=r.shift(),o=r),p.info(i,...o)}else p.info(n,...e)}function Zn(n,e=D2){return N2({message:n,opts:e,level:Yt.LogLevel.Debug})}function Sh(n){return N2({message:n,opts:D2,level:Yt.LogLevel.Error})}var Cc=new WeakMap;function wc(n){return(e,t,r)=>{Cc.has(e)||Cc.set(e,new Map);let i=Cc.get(e);i||Cc.set(e,i=new Map),i.has(t)||i.set(t,[]),i.get(t).push({parameterIndex:r,propertyOfParameterToLog:n})}}function zu(){return(n,e,t)=>{Cc.has(n)||Cc.set(n,new Map);let r=Cc.get(n);r||Cc.set(n,r=new Map),r.has(e)||r.set(e,[]),r.get(e).push({parameterIndex:t,ignore:!0})}}function N2(n){return yU((e,t)=>cee(n,t,e),(n.opts&4)>0)}function oee(n){let{kind:e,name:t,args:r}=n;return(!e||e==="")&&(e="Function"),(!t||t==="")&&(t="<anon>"),r||(r=[]),{kind:e,name:t,args:r,methodName:n.methodName||"",target:n.target||void 0}}function see(n){if(!n)return!1;let e=n;return typeof e.path=="string"&&typeof e.scheme=="string"}function yA(n){let e=hP?n.toLowerCase().indexOf(hP):-1;return e===-1?n:`~${n.substring(e+hP.length)}`}function aee(n,e,t,r){if(see(t))return yA(t.path);if(!t)return t;let o=Cc.get(n)?.get(e)?.find(a=>a.parameterIndex===r);if(!o)return typeof t=="string"?yA(t):t;if("ignore"in o&&o.ignore)return"";let s=t;return"propertyOfParameterToLog"in o&&o.propertyOfParameterToLog&&(s=t[o.propertyOfParameterToLog]),typeof s=="string"?yA(s):s}function lee(n,e,t){t=oee(t);let r=[n.message];return r.push(`${t.kind} name = ${t.name}`.trim()),e?(r.push(`completed in ${e.elapsed}ms`),r.push(`has a ${e.returnValue?"truthy":"falsy"} return value`)):r[r.length-1]=`${r[r.length-1]} (started execution)`,(n.opts&1)===1&&(n.level===Yt.LogLevel.Debug?r.push(bR(t.args.map((i,o)=>t?aee(t.target,t.methodName,i,o):i))):r.push(bR(t.args))),e&&(n.opts&2)===2&&r.push(bU(e.returnValue)),r.join(", ")}function cee(n,e,t){let r=lee(n,e,t);e?e.err===void 0?n.level&&n.level===Yt.LogLevel.Error||(n.level?fP(n.level,r):fP(Yt.LogLevel.Info,r)):fP(Yt.LogLevel.Error,r,e.err):n.level&&n.level!==Yt.LogLevel.Error&&fP(n.level,r)}function fP(n,e,...t){switch(n){case Yt.LogLevel.Error:p.error(e,...t);break;case Yt.LogLevel.Warning:A2(e,...t);break;case Yt.LogLevel.Info:p.info(e,...t);break;case Yt.LogLevel.Debug:case Yt.LogLevel.Trace:p.debug(e,...t);break;default:break}}var Ma=require("vscode");var cN=require("vscode");var M2=Symbol("IsDevMode"),Ao=Symbol("IOutputChannel"),K2=Symbol("IS_WINDOWS"),M=Symbol("IDisposableRegistry"),We=Symbol("IGlobalMemento"),lt=Symbol("IGlobalMemento"),ei=Symbol("IWorkspaceMemento");var il=Symbol("IPersistentStateFactory"),tye=Symbol("IRandom"),ie=Symbol("IConfigurationService"),et=Symbol("ExtensionContext"),oa=Symbol("IExtensions"),O2=Symbol("IJupyterExtensionBanner"),gP=Symbol("IFeaturesManager"),Ch=Symbol("ICryptoUtils"),No=Symbol("IAsyncDisposableRegistry");var gs=Symbol("IExperimentService"),wh=Symbol("IDataScienceCommandListener"),Eh=Symbol("IVariableScriptGenerator"),Ph=Symbol("IDataFrameScriptGenerator");var Sj=require("vscode");var F2=require("events"),RS=k(N());try{(0,RS.decorate)((0,RS.injectable)(),F2.EventEmitter)}catch(n){p.warn("Failed to decorate EventEmitter for DI (possibly already decorated by another Extension)",n)}var be=class{constructor(e){this.container=e;be._instance=this}static get instance(){return be._instance}get(e,t){return t?this.container.getNamed(e,t):this.container.get(e)}getAll(e,t){return t?this.container.getAllNamed(e,t):this.container.getAll(e)}tryGet(e,t){try{return t?this.container.getNamed(e,t):this.container.get(e)}catch{}}};be=v([(0,RS.injectable)()],be);var It=require("vscode");var Ht=Symbol("IPythonApi"),Be=Symbol("IPythonExtensionChecker");var Cs=k(N());var AS="Python Kernel Debug Adapter",NS="Python Interactive Window Debug Adapter";var bP=require("node-fetch"),OS=k(L2());var kh=require("vscode");var qe=class extends Error{constructor(t,r){super(r);this.category=t;this.isJupyterError=!0}},rn=class n extends qe{constructor(t,r,i){super(i||bA(r),t);this.originalException=r;r&&(this.stack=`${new Error("").stack}
${r.stack}`)}static from(t,r){return r instanceof qe?r:new n(t,r)}static unwrap(t){return t&&(t instanceof n&&t.originalException&&t.originalException instanceof qe&&(t=t.originalException),t)}};function bA(n){return n&&n instanceof qe?n.category:"unknown"}var vs=class extends qe{constructor(t,r,i){super("jupyterconnection",t+(r?`
${r}`:""));this.interpreter=i}};var dn=class extends qe{constructor(){super("sessionDisposed",y.sessionDisposed)}};var vP=class{static outputHasModuleNotInstalledError(e,t){return!!(t&&(t.indexOf(`No module named ${e}`)>0||t.indexOf(`No module named '${e}'`)>0))}};function xh(n=""){if(!n)return;let e=/\S+Error: /g,t=`${n.trim()}: `.split(`
`).filter(s=>s.trim().length).reverse();if(t.length===0)return;let r=t[0],o=((r.match(e)?r:void 0)||"").split(":");return o.length&&o[0].endsWith("Error")?o[0]:void 0}function yP(n=""){let e=W2(n);return e?e[1]:void 0}function W2(n=""){if(!n)return;let e=n.trim().split(`
`).map(t=>t.trim()).filter(t=>t.trim().length).reverse();if(e.length!==0&&e[0].includes("Error"))return[e.length>1?e[1]:"",e[0]]}function V2(n){if(!n)return;let t=(Array.isArray(n)?n[0]:n).split(`
`).map(l=>l.trim().toLowerCase()).filter(l=>l.length).reverse().find(l=>l.startsWith("file ")&&l.includes(", line ")&&l.includes(".py")&&l.includes(".py"));if(!t)return;let i=(t.substring(0,t.lastIndexOf(".py"))+".py").replace(/\\/g,"/").split("/"),o=i.indexOf("site-packages"),s=o>=0&&i.length>o+1?i[o+1]:"",a=i.reverse();if(!(a.length<2))return{fileName:a[0],folderName:a[1],packageName:s}}function Qp(n,e,t,r="",i=[]){let o=e instanceof qe?e.stdErr||e.stack||"":e.toString(),s=W2(o),a=o.toLowerCase();if(e instanceof dn)return{reason:"sessionDisposed",message:y.sessionDisposed,moreInfoLink:"https://aka.ms/kernelDisposedCannotRunCell",telemetrySafeTags:["deadSession"]};if(a.includes("ImportError: No module named 'win32api'".toLowerCase()))return{reason:"importWin32apiFailure",message:y.failedToStartKernelDueToWin32APIFailure,moreInfoLink:"https://aka.ms/kernelFailuresWin32Api",telemetrySafeTags:["win32api"]};if(a.includes("ImportError: DLL load failed".toLowerCase())&&a.includes("win32api"))return{reason:"importWin32apiFailure",message:y.failedToStartKernelDueToWin32APIFailure,moreInfoLink:"https://aka.ms/kernelFailuresWin32Api",telemetrySafeTags:["dll.load.failed","win32api"]};if(a.includes("ImportError: DLL load failed".toLowerCase())){let u=s&&s[0].toLowerCase().startsWith("import")?s[0].substring(6).trim():void 0;return{reason:"dllLoadFailure",moduleName:u,message:u?y.failedToStartKernelDueToDllLoadFailure(u):y.failedToStartKernelDueToUnknownDllLoadFailure,moreInfoLink:"https://aka.ms/kernelFailuresDllLoad",telemetrySafeTags:["dll.load.failed"]}}if(a.includes("AssertionError: Couldn't find Class NSProcessInfo".toLowerCase()))return{reason:"oldIPythonFailure",message:y.failedToStartKernelDueToOldIPython,moreInfoLink:"https://aka.ms/kernelFailuresOldIPython",telemetrySafeTags:["oldipython"]};if(a.includes("NotImplementedError".toLowerCase())&&a.includes("asyncio".toLowerCase())&&a.includes("events.py".toLowerCase()))return{reason:"oldIPyKernelFailure",message:y.failedToStartKernelDueToOldIPyKernel,moreInfoLink:"https://aka.ms/kernelFailuresOldIPyKernel",telemetrySafeTags:["oldipykernel"]};{let u=[];if(a.includes("ImportError: cannot import name".toLowerCase())&&a.includes("from partially initialized module".toLowerCase())&&a.includes("zmq.backend.cython".toLowerCase())&&u.push("zmq.backend.cython"),a.includes("zmq".toLowerCase())&&a.includes("cython".toLowerCase())&&a.includes("__init__.py".toLowerCase())&&u.push("zmq.cython"),a.includes("zmq.error.ZMQError")&&u.push("zmq.error"),u.length)return{reason:"zmqModuleFailure",message:y.failedToStartKernelDueToPyZmqFailure,moreInfoLink:"https://aka.ms/kernelFailuresPyzmq",telemetrySafeTags:u}}if(s&&s[1].toLowerCase().startsWith("importerror")){let u=U2(s[1]);if(u&&r){let d=pee(u.moduleName,u.fileName,n,r);return d||{reason:"importFailure",moduleName:u.moduleName,fileName:u.fileName,message:u.fileName?y.failedToStartKernelDueToImportFailureFromFile(u.moduleName,u.fileName):y.failedToStartKernelDueToImportFailure(u.moduleName),moreInfoLink:u.fileName?"https://aka.ms/kernelFailuresModuleImportErrFromFile":"https://aka.ms/kernelFailuresModuleImportErr",telemetrySafeTags:["import.error"]}}}let l="No module named".toLowerCase(),c="is not a package".toLowerCase();if(a.includes(l)&&!c){let u=Oe(o).map(f=>f.trim()).filter(f=>f.length).find(f=>f.toLowerCase().includes(l)),d=u?u.substring(u.toLowerCase().indexOf(l)+l.length).trim():"";if(u)return{reason:"moduleNotFound",moduleName:d,message:y.failedToStartKernelDueToMissingModule(d),moreInfoLink:"https://aka.ms/kernelFailuresMissingModule",telemetrySafeTags:["module.notfound.error"]}}else if(a.includes(l)&&c){let u=Oe(o).map(I=>I.trim()).filter(I=>I.length).find(I=>I.toLowerCase().includes(l)),d=u?u.substring(u.toLowerCase().indexOf(l)+l.length).trim():"",f="",g="";d.split("'").length>2&&(f=d.split("'").slice(-2)[0]||"",f=f?`${f}.py`:"",g=f||"",d=d.split("'")[1]||d);let b=i.filter(I=>un(I).toLowerCase()==="__init__.py").map(I=>un(yi(I)));return d&&f&&d!==f&&i.some(I=>un(I).toLowerCase()===f.toLowerCase())?{reason:"overridingBuiltinModules",fileName:f,moduleName:d,message:y.fileSeemsToBeInterferingWithKernelStartup(f),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}:d&&b&&d!==g&&b.some(I=>I.toLowerCase()===g.toLowerCase())?{reason:"overridingBuiltinModules",folderName:g,moduleName:d,message:y.moduleSeemsToBeInterferingWithKernelStartup(g),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}:{reason:"moduleNotFound",moduleName:d,message:y.failedToStartKernelDueToMissingModule(d),moreInfoLink:"https://aka.ms/kernelFailuresMissingModule",telemetrySafeTags:["module.notfound.error"]}}else if(e instanceof qe&&e.category==="invalidkernel"&&i.length){let u=un(i[0]);return{reason:"overridingBuiltinModules",fileName:u,moduleName:un(i[0],".py"),message:y.fileSeemsToBeInterferingWithKernelStartup(u),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}}else if(s&&s[1].toLowerCase().startsWith("ModuleNotFoundError".toLowerCase())){let u=U2(s[1]);if(u)return{reason:"moduleNotFound",moduleName:u.moduleName,message:y.failedToStartKernelDueToMissingModule(u.moduleName),moreInfoLink:"https://aka.ms/kernelFailuresMissingModule",telemetrySafeTags:["module.notfound.error"]}}if(e instanceof vs){let u=Oe(o).map(E=>E.trim()).reverse().find(E=>E.toLowerCase().includes("error: ")),d="AttributeError: 'Namespace' object has no attribute '_flags'",f=["jupyter.startup.failure"],g,b="jupyterStartFailure",I=Oe(e.message,{removeEmptyEntries:!0,trim:!0}).reverse().find(E=>E.toLowerCase().includes("error: "));if(I=I||Oe(e.stdErr||"",{removeEmptyEntries:!0,trim:!0}).reverse().find(E=>E.toLowerCase().includes("error: ")),a.includes(d.toLowerCase())?(b="jupyterStartFailureOutdatedTraitlets",u=y.failedToStartJupyterDueToOutdatedTraitlets(t||"",I||""),f.push("outdated.traitlets"),g="https://aka.ms/kernelFailuresJupyterTrailtletsOutdated"):(u=I?y.failedToStartJupyterWithErrorInfo(t||"",I):y.failedToStartJupyter(t||""),g=void 0),u)return{reason:b,message:u,pythonError:I,moreInfoLink:g,telemetrySafeTags:f}}}function U2(n){n=n.replace(/"/g,"'");let e=n.match(/'[^\\']*(\\'[^\\']*)*'/g),t=n.match(/\((.*?)\)/g),r,i;return e&&e[0].length>2&&(r=e[0],r=r.substring(1,r.length-1)),t&&t[0].length>2&&(i=t[0],i=i.substring(1,i.length-1)),r?{moduleName:r,fileName:i}:void 0}function pee(n,e,t,r){if(r&&t.length!==0&&e&&!e.toLowerCase().startsWith(r)&&t.some(i=>e.toLowerCase().startsWith(i.uri.fsPath.toLowerCase())))return{reason:"overridingBuiltinModules",fileName:e,moduleName:n,message:y.fileSeemsToBeInterferingWithKernelStartup(j(kh.Uri.file(e),t||[])),moreInfoLink:"https://aka.ms/kernelFailuresOverridingBuiltInModules",telemetrySafeTags:["import.error","override.modules"]}}function Dh(n){if(!n)return;let e=/\[([^\[\]]*)\]\((.*?)\)/gm,t;for(;(t=e.exec(n))!==null;)t.length===3&&(n=n.replace(t[0],`<a href='${t[2]}'>${t[1]}</a>`));let r=Oe(n,{removeEmptyEntries:!1,trim:!1}).map(i=>`\x1B[1;31m${i}`).join(`
`);return new kh.NotebookCellOutput([kh.NotebookCellOutputItem.error({message:"",name:"",stack:r})])}var mee=[fee,hee];function j2(n){let e=[],t=Array.isArray(n)?n[0].toLowerCase():n.toLowerCase();mee.forEach(i=>i(t,e));let r=Qp([],t,void 0);return r?.telemetrySafeTags.length&&e.push(...r.telemetrySafeTags),Array.from(new Set(e)).join(",")}function fee(n,e=[]){n.includes("ChildProcess.exithandler".toLowerCase())&&e.push("childproc.exit")}function hee(n,e=[]){n.includes("KernelRestarter: restart failed".toLowerCase())&&e.push("KernelRestarter.failed")}function J2(){return(new Error().stack||"").split(`
`).filter(n=>n.includes(Fe))}async function B2(n,e){n.failed=!0,n.failureCategory=n.failureCategory||bA(e);let t=!bP.FetchError&&e?.name==="TypeError"&&e?.message==="Failed to fetch",i=(t||bP.FetchError!==void 0)&&yee(e,t?TypeError:bP.FetchError);n.failureCategory==="unknown"&&i&&(n.failureCategory="fetcherror"),n.stackTrace=gee(e),typeof e=="string"&&(n.failureSubCategory="errorisstring");let o=e.stdErr?e.stdErr:e.stack||"";if(!o)return;n.failureSubCategory=n.failureSubCategory||j2(o);let s=V2(o);s&&([n.pythonErrorFile,n.pythonErrorFolder,n.pythonErrorPackage]=await Promise.all([Promise.resolve(n.pythonErrorFile||at(s.fileName)),Promise.resolve(n.pythonErrorFolder||at(s.folderName)),Promise.resolve(n.pythonErrorPackage||at(s.packageName))]))}function IA(n){if(n.stack&&Array.isArray(n.stack)){let e={...n,stack:n.stack.join(`
`)};return OS.parse.call(OS,e)}return OS.parse.call(OS,n)}function gee(n){let e="";for(let t of IA(n)){let r=t.getFileName();if(r){let i=t.getLineNumber(),o=t.getColumnNumber();e+=`
at ${vee(t)} ${r}:${i}:${o}`}else e+=`
at <anonymous>`}return e.trim().replace(/\\/g,"/")}function vee(n){let e=[];return typeof n.getTypeName()=="string"&&n.getTypeName().length>0&&e.push(n.getTypeName()),typeof n.getMethodName()=="string"&&n.getMethodName().length>0&&e.push(n.getMethodName()),typeof n.getFunctionName()=="string"&&n.getFunctionName().length>0&&(e.length!==2||e.join(".")!==n.getFunctionName())&&e.push(n.getFunctionName()),e.join(".")}function yee(n,e){return e?n instanceof e||n instanceof rn&&n.originalException instanceof e:(console.error("Error type is not defined",n),!1)}var IP=require("vscode");function bee(){try{return require("vscode")===void 0?!1:H2()!==void 0}catch{return!1}}function CP(){return IP.workspace.getConfiguration("telemetry").inspect("enableTelemetry").globalValue===!1}function wP(n){return IP.workspace.onDidChangeConfiguration(e=>{if(!e.affectsConfiguration("telemetry"))return;let r=IP.workspace.getConfiguration("telemetry").inspect("enableTelemetry").globalValue===!1;n(r)})}var SP={};function _h(n,e){let t=n;cS()&&t.startsWith("ds_")||(e===void 0?delete SP[t]:SP[t]=e)}var SA;function H2(){if(SA)return SA;let n=require("@vscode/extension-telemetry").default;return SA=new n(lU)}function $2(n,e){let t={};return Object.getOwnPropertyNames(e).forEach(r=>{if(!(e[r]===void 0||e[r]===null))try{t[r]=typeof e[r]=="string"?e[r]:typeof e[r]=="object"?"object":e[r].toString()}catch(i){p.error(`Failed to serialize ${r} for ${n}`,i)}}),t}function R(n,e,t,r){!G2(n.toString())&&(Er()||!bee())||Iee(n,e,t,r)}function G2(n){return n==="DATASCIENCE.JUPYTER_NOTEBOOK_EDIT_PERFORMANCE"||n==="DATASCIENCE.JUPYTER_JUPYTER_NOTEBOOK_EXEC_PERFORMANCE"||n==="DATASCIENCE.JUPYTER_NOTEBOOK_EXEC_PERFORMANCE"}function Iee(n,e,t,r){let i=H2(),o={},s=n;r?(o={},Object.assign(o,SP),Object.assign(o,t||{}),B2(o,r).then(()=>{o=$2(s,o),i.sendTelemetryEvent(s,o,e)}).catch(h)):(t&&(o=$2(s,t)),Object.assign(o,SP),G2(s)?i.sendDangerousTelemetryEvent(s,o,e):i.sendTelemetryEvent(s,o,e))}var q2=new Set;function or(n,e){return function(t,r,i){let o=i.value;return i.value=function(...s){let a=e||{},l=new Ue,c=`${n.toString()}${JSON.stringify(a)}`,u=!q2.has(c);q2.add(c);let d=o.apply(this,s);return d&&typeof d.then=="function"&&typeof d.catch=="function"?d.then(f=>{let g={...a};return u&&(g.firstTime=u),R(n,l?{duration:l?.elapsedTime}:void 0,g),f}).catch(f=>{let g={...a};g.failed=!0,R(n,l?{duration:l?.elapsedTime}:{},g,f)}):R(n,l?{duration:l?.elapsedTime}:void 0,a),d},i}}function Hr(n,e){return function(t,r,i){let o=i.value;return i.value=function(...s){return R(n,void 0,e),o.apply(this,s)},i}}function See(){return{isInsiderExtension:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Whether this is the Insider version of the Jupyter extension or not. Common to all events."},isPythonExtensionInstalled:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Whether Python extension is installed or not. Common to all events."},rawKernelSupported:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Whether the raw kernel is supported or not. Common to all events."}}}function vt(){return{duration:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth",isMeasurement:!0}}}function ao(){return{resourceType:{classification:"PublicNonPersonalData",comment:"",purpose:"FeatureInsight"}}}function Ec(){return{failed:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},failureCategory:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},failureSubCategory:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonErrorFile:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonErrorFolder:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonErrorPackage:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},stackTrace:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"}}}function Ei(){return{properties:{actionSource:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},disableUI:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},userExecutedCell:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},resourceHash:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},pythonEnvironmentVersion:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonEnvironmentType:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonEnvironmentPath:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},pythonEnvironmentPackages:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelSessionId:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelLanguage:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelSpecHash:{classification:"EndUserPseudonymizedInformation",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},kernelConnectionType:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},isUsingActiveInterpreter:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},capturedEnvVars:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},newKernelPicker:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"},...ao()}}}var Yye={...vt(),...Ec(),...See()};var Cee,wee,Eee,Pee,kee,xee,Dee,_ee,Tee,Ree,Aee,Nee,Mee,Kee,Oee,Fee,Lee,Uee,Wee,Vee,jee,Jee,Bee,$ee,qee,Hee,Gee,zee,Qee,Yee,Xee,Zee,ete,tte,rte,nte,ite,ote,ste,ate,lte,cte,ute,dte,pte,mte,fte,hte,gte,vte,yte,bte,Ite,Ste,Cte,wte,Ete,Pte,kte,xte,Dte,_te,Tte,Rte,Ate,Nte,Mte,Kte,Ote,Fte,Lte,Ute,Wte,Vte,jte,Jte,Bte,$te,qte,Hte,Gte,zte,Qte,Yte,Xte,Zte,ere,tre,rre,nre,ire,ore,sre,are,lre,cre,ure,dre,pre,mre,fre,hre,gre,vre,yre,bre,Ire,Sre,Cre,wre,Ere,Pre,kre,xre,Dre,_re,Tre,Rre,Are,Nre,Mre,Kre,Ore,Fre,Lre,Ure,Wre,Vre,jre,Jre,Bre,$re,qre,Hre,Gre,zre,Qre,Yre,Xre,Zre,ene,tne,rne,nne,ine,one,sne,ane,lne,cne,une,dne,pne,mne,fne,hne,gne,vne,yne,bne,Ine,Sne,z2=class{constructor(){this[Cee]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{totalActivateTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},codeLoadingTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},workspaceFolderCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}}};this[wee]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:vt()};this[Eee]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[Pee]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[kee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{hashedNamev2:{classification:"SystemMetaData",purpose:"FeatureInsight"},when:{classification:"SystemMetaData",purpose:"FeatureInsight"},...ao()}};this[xee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{firstTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:vt()};this[Dee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{mimeType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},when:{classification:"SystemMetaData",purpose:"FeatureInsight"},...ao()}};this[_ee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{envType:{classification:"SystemMetaData",purpose:"FeatureInsight"},failed:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},reason:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},source:{classification:"SystemMetaData",purpose:"FeatureInsight"}},measures:vt()};this[Tee]={owner:"IanMatthewHuff",source:"User Action",feature:["DataFrameViewer","VariableViewer"]};this[Ree]={owner:"IanMatthewHuff",source:"N/A",feature:["DataFrameViewer","VariableViewer"]};this[Aee]={owner:"IanMatthewHuff",source:"User Action",feature:["DataFrameViewer","VariableViewer"]};this[Nee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action",measures:vt()};this[Mee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action",measures:vt()};this[Kee]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:{codeLensUpdateTime:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},maxCellCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[Oee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Fee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Lee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Uee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Wee]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Vee]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{...Ec(),failed:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},reason:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Reason for failure to fetch kernel specs"},sessionManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},specsManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},wasSessionManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},wasSpecsManagerReady:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:vt()};this[jee]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{kernelSpecHash:{classification:"EndUserPseudonymizedInformation",purpose:"FeatureInsight"},serverIdHash:{classification:"SystemMetaData",purpose:"FeatureInsight"},providerExtensionId:{classification:"SystemMetaData",purpose:"FeatureInsight"},baseUrlHash:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelId:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelConnectionType:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelLanguage:{classification:"SystemMetaData",purpose:"FeatureInsight"},envType:{classification:"SystemMetaData",purpose:"FeatureInsight"},isArgv0SameAsInterpreter:{classification:"SystemMetaData",purpose:"FeatureInsight"},argv0:{classification:"SystemMetaData",purpose:"FeatureInsight"},argv:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Jee]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{serverIdHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},baseUrlHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},failed:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},isLocalHost:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},isJupyterHub:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"},reason:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"}}};this[Bee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[$ee]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[qee]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:Ei().properties,measures:{...vt()}};this[Hee]={owner:"IanMatthewHuff",feature:["Import-Export","InteractiveWindow"],source:"User Action"};this[Gee]={owner:"IanMatthewHuff",feature:["Import-Export","InteractiveWindow"],source:"User Action"};this[zee]={owner:"IanMatthewHuff",feature:["Import-Export","InteractiveWindow"],source:"User Action",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Qee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"N/A",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"},cancelled:{classification:"SystemMetaData",purpose:"FeatureInsight"},successful:{classification:"SystemMetaData",purpose:"FeatureInsight"},opened:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Yee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"User Action",properties:{scope:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Xee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"User Action",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Zee]={owner:"IanMatthewHuff",feature:["Import-Export"],source:"N/A",properties:{format:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[ete]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[tte]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[rte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"FeatureInsight"},info:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[nte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ite]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ote]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ste]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[ate]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{nbformat:{classification:"PublicNonPersonalData",isMeasurement:!0,purpose:"FeatureInsight"},nbformat_minor:{classification:"PublicNonPersonalData",isMeasurement:!0,purpose:"FeatureInsight"}}};this[lte]={owner:"IanMatthewHuff",feature:["PlotViewer"],source:"User Action"};this[cte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[ute]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[dte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[pte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[mte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[fte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[hte]={owner:"amunger",feature:["InteractiveWindow"],source:"User Action"};this[gte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[vte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[yte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[bte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ite]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ste]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Cte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[wte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ete]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Pte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[kte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[xte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Dte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[_te]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Tte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Rte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Ate]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",measures:vt()};this[Nte]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[Mte]={owner:"donjayamanne",feature:"N/A",source:"N/A"};this[Kte]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"]};this[Ote]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[Fte]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"]};this[Lte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[Ute]={owner:"IanMatthewHuff",feature:["KernelPicker"],source:"User Action",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Wte]={owner:"donjayamanne",feature:["KernelPicker"],source:"User Action",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Vte]={owner:"donjayamanne",feature:["KernelPicker"],source:"User Action",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[jte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{action:{classification:"SystemMetaData",purpose:"FeatureInsight"},isModulePresent:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},moduleName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pythonEnvType:{classification:"SystemMetaData",purpose:"FeatureInsight"},resourceHash:{classification:"SystemMetaData",purpose:"FeatureInsight"},...ao()},measures:vt()};this[Jte]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[Bte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action",measures:vt()};this[$te]={owner:"IanMatthewHuff",source:"N/A",feature:["DataFrameViewer"],measures:{rows:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",isMeasurement:!0},columns:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",isMeasurement:!0}}};this[qte]={owner:"IanMatthewHuff",source:"N/A",feature:["DataFrameViewer"],measures:{rowsTimer:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}}};this[Hte]={owner:"IanMatthewHuff",feature:["DataFrameViewer","VariableViewer"],source:"N/A"};this[Gte]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action"};this[zte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"FeatureInsight"},fallbackTried:{classification:"SystemMetaData",purpose:"FeatureInsight"},alpine:{classification:"SystemMetaData",purpose:"FeatureInsight"},zmqarch:{classification:"SystemMetaData",purpose:"FeatureInsight"},libc:{classification:"SystemMetaData",purpose:"FeatureInsight"},armv:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_id:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_version_id:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Qte]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"FeatureInsight"},fallbackTried:{classification:"SystemMetaData",purpose:"FeatureInsight"},alpine:{classification:"SystemMetaData",purpose:"FeatureInsight"},zmqarch:{classification:"SystemMetaData",purpose:"FeatureInsight"},libc:{classification:"SystemMetaData",purpose:"FeatureInsight"},armv:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_id:{classification:"SystemMetaData",purpose:"FeatureInsight"},distro_version_id:{classification:"SystemMetaData",purpose:"FeatureInsight"},errorMessage:{classification:"CallstackOrException",purpose:"FeatureInsight"},fallbackErrorMessage:{classification:"CallstackOrException",purpose:"FeatureInsight"},zmqBinaries:{classification:"CallstackOrException",purpose:"FeatureInsight"}}};this[Yte]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A",measures:vt()};this[Xte]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A",measures:{variableCount:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",isMeasurement:!0}}};this[Zte]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{kind:{classification:"SystemMetaData",purpose:"FeatureInsight"},language:{classification:"SystemMetaData",purpose:"FeatureInsight"},usesShell:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[ere]={owner:"donjayamanne",feature:"N/A",source:"N/A",tags:["KernelStartup"],properties:{...Ec(),...ao()},measures:{...vt()}};this[tre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{kernelConnectionType:{classification:"SystemMetaData",purpose:"FeatureInsight"},pythonPathDefined:{classification:"SystemMetaData",purpose:"FeatureInsight"},pythonEnvFound:{classification:"SystemMetaData",purpose:"FeatureInsight"},language:{classification:"SystemMetaData",purpose:"FeatureInsight"},kernelSpecHash:{classification:"EndUserPseudonymizedInformation",purpose:"FeatureInsight"},argv0:{classification:"SystemMetaData",purpose:"FeatureInsight"},isCreatedByUs:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[rre]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A"};this[nre]={owner:"amunger",feature:["InteractiveWindow"],source:"N/A",properties:{hasKernel:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"If the kernel was known at the time of creation"},hasOwner:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"If the window was created for a text file"},mode:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Creation mode: multiple, perfile or single"},restored:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Was the window restored from a previous session"}},measures:{windowCount:{classification:"SystemMetaData",purpose:"FeatureInsight",comment:"Number of active interactive windows the user has open",isMeasurement:!0}}};this[ire]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{cdnSearched:{classification:"SystemMetaData",purpose:"FeatureInsight"},hashedName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},source:{classification:"SystemMetaData",purpose:"FeatureInsight"},moduleName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},modelName:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[ore]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{type:{classification:"SystemMetaData",purpose:"FeatureInsight"}},measures:vt()};this[sre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A"};this[are]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{moduleHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[lre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{timedout:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},isOnline:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},moduleHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[cre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{moduleHash:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},moduleVersion:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[ure]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A"};this[dre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{selection:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[pre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A"};this[mre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],tags:["Widgets"],source:"N/A",properties:{msg_type:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"}}};this[fre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",tags:["KernelStartup"],measures:{...vt(),attempts:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}},properties:{...Ei().properties,timedout:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}}};this[hre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",tags:["KernelStartup"],measures:vt()};this[gre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",tags:["Cell Execution"],measures:{...vt()},properties:{...Ei().properties,...Ec()}};this[vre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",tags:["Code Execution"],measures:vt(),properties:{...Ei().properties,...Ec(),extensionId:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[yre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",tags:["Cell Execution"],properties:{...Ei().properties,...Ec()}};this[bre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",tags:["KernelStartup"],properties:{...Ei().properties,...Ec()}};this[Ire]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:Ei().properties};this[Sre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",properties:{result:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},...ao(),...Ec(),...Ei().properties},measures:{...vt()}};this[Cre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"User Action",properties:{...ao(),...Ec(),...Ei().properties},measures:vt()};this[wre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{...ao(),...Ei().properties},measures:{reason:{classification:"SystemMetaData",isMeasurement:!0,purpose:"PerformanceAndHealth"}}};this[Ere]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{exitReason:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},...ao(),...Ei().properties},measures:{exitCode:{classification:"CallstackOrException",purpose:"PerformanceAndHealth",isMeasurement:!0}}};this[Pre]={owner:"donjayamanne",feature:["Notebook"],source:"N/A",properties:{...ao(),...Ei().properties,manuallySelectedKernel:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},wasAlreadyOpen:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:{...vt(),computeCwd:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},duration:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},envVars:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},executeCell:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},getConnection:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},interruptHandle:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelIdle:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelInfo:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelReady:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},portUsage:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},postKernelStart:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},preExecuteCellTelemetry:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},pythonEnvVars:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},sessionTelemetry:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},spawn:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},startKernel:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},startupCode:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},updateConnection:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},codeCellCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},mdCellCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},codeCellCharLength:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},mdCellCharLength:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},outputCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},outputsByteSize:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},attachmentCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},attachmentCharLength:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[kre]={owner:"donjayamanne",feature:["Notebook"],source:"N/A",properties:{...ao(),...Ei().properties,wasAlreadyOpen:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}},measures:{...vt(),callPythonApi:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},activatePython:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},discoverEnv:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},createController:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},selectController:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[xre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{isRequestToShutdownRestartSession:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},stacktrace:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},...ao(),...Ei().properties}};this[Dre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{stacktrace:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},...ao(),...Ei().properties}};this[_re]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Tre]={owner:"donjayamanne",feature:["KernelPicker"],source:"N/A",measures:{kernelSpecCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelInterpreterCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},kernelLiveCount:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0},localKernelSpecCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},remoteKernelSpecCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}}};this[Rre]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{outputType:{classification:"PublicNonPersonalData",purpose:"PerformanceAndHealth"}}};this[Are]={owner:"IanMatthewHuff",feature:["InteractiveWindow"],tags:["IntelliSense"],source:"N/A",measures:vt(),properties:{isResultNull:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Nre]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A",measures:vt()};this[Mre]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A"};this[Kre]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A",measures:vt()};this[Ore]={owner:"IanMatthewHuff",feature:["PlotViewer"],source:"N/A",measures:vt()};this[Fre]={owner:"amunger",feature:"N/A",source:"N/A",properties:{command:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Lre]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action",properties:{newState:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Ure]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A",measures:{numberOfDimensions:{classification:"SystemMetaData",purpose:"FeatureInsight",isMeasurement:!0}}};this[Wre]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"User Action",properties:{source:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Vre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{failed:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},reason:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},dependenciesInstalled:{classification:"SystemMetaData",purpose:"FeatureInsight"},envType:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[jre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"SystemMetaData",purpose:"FeatureInsight"},action:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Jre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Bre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[$re]={owner:"roblourens",feature:["Debugger"],properties:{status:{classification:"SystemMetaData",purpose:"FeatureInsight"}},source:"N/A"};this[qre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Hre]={owner:"roblourens",feature:["Debugger"],source:"N/A"};this[Gre]={owner:"roblourens",feature:["Debugger"],source:"N/A"};this[zre]={owner:"roblourens",feature:["Debugger"],source:"User Action"};this[Qre]={owner:"roblourens",feature:["Debugger"],source:"N/A"};this[Yre]={owner:"roblourens",feature:["Debugger"],source:"N/A",properties:{reason:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[Xre]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{...vt(),requestDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},timesExceededTimeout:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0},completionItems:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",isMeasurement:!0}},properties:{kernelConnectionType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelLanguage:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},monacoLanguage:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelled:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},completed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelStatusAfterRequest:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelStatusBeforeRequest:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},requestSent:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[Zre]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{kernelConnectionType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelLanguage:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[ene]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[tne]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{executionCount:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"}},properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[rne]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{accessAllowed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[nne]={owner:"donjayamanne",feature:"N/A",source:"N/A",measures:{executionCount:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},cancelledAfter:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},requestAcknowledgedAfter:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},requestSentAfter:{classification:"SystemMetaData",isMeasurement:!0,purpose:"FeatureInsight"},...vt()},properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},kernelId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelled:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},requestAcknowledged:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},requestSent:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelledBeforeRequestAcknowledged:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},cancelledBeforeRequestSent:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},mimeTypes:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},failed:{classification:"PublicNonPersonalData",comment:"",purpose:"PerformanceAndHealth"}}};this[ine]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{clientExtId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},pemUsed:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}}};this[one]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},allowed:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[sne]={owner:"donjayamanne",feature:"N/A",source:"N/A",properties:{extensionId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"},providerId:{classification:"PublicNonPersonalData",purpose:"FeatureInsight"}},measures:vt()};this[ane]={owner:"IanMatthewHuff",feature:["VariableViewer"],source:"N/A"};this[lne]={owner:"roblourens",feature:["InteractiveWindow","Debugger"],source:"N/A"};this[cne]={owner:"donjayamanne",feature:["Notebook","InteractiveWindow"],source:"N/A",properties:{...Ei().properties,...ao()}};this[une]={owner:"donjayamanne",source:"N/A",feature:["KernelPicker"]};this[dne]={owner:"donjayamanne",source:"User Action",feature:["KernelPicker"]};this[pne]={owner:"amunger",feature:"N/A",source:"N/A",properties:{testName:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},testResult:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},perfWarmup:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},commitHash:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},timedCheckpoints:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"}}};this[mne]={owner:"donjayamanne",feature:["KernelPicker"],source:"N/A",measures:{matchedReason:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[fne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{requireEntryPointCount:{classification:"SystemMetaData",isMeasurement:!0,purpose:"PerformanceAndHealth"}},properties:{failed:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},failure:{classification:"CallstackOrException",purpose:"PerformanceAndHealth"},patternUsedToRegisterRequireConfig:{classification:"SystemMetaData",purpose:"PerformanceAndHealth"},widgetFolderNameHash:{classification:"SystemMetaData",purpose:"FeatureInsight"}}};this[hne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:vt()};this[gne]={owner:"donjayamanne",feature:["DataFrameViewer"],source:"N/A"};this[vne]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[yne]={owner:"IanMatthewHuff",feature:["DataFrameViewer"],source:"N/A"};this[bne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{...vt(),codeCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of code cells.",isMeasurement:!0},markdownCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of markdown cells.",isMeasurement:!0},preExecuteDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total time spent in VS Code before starting execution.",isMeasurement:!0},executeDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total time spent executing cells.",isMeasurement:!0},postExecuteDuration:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total time spent in VS Code after executing cells.",isMeasurement:!0}},properties:{outputType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",comment:"The kind of outputs generated in the notebook, text, html or images."}}};this[Ine]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{...vt(),codeCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of code cells.",isMeasurement:!0},markdownCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of markdown cells.",isMeasurement:!0}},properties:{outputType:{classification:"PublicNonPersonalData",purpose:"FeatureInsight",comment:"The kind of outputs generated in the notebook, text, html or images."}}};this[Sne]={owner:"donjayamanne",feature:["Notebook","Notebook"],tags:["Widgets"],source:"N/A",measures:{...vt(),codeCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of code cells.",isMeasurement:!0},markdownCellCount:{classification:"SystemMetaData",purpose:"PerformanceAndHealth",comment:"Total number of markdown cells.",isMeasurement:!0}}}}static{Cee="EXTENSION.LOAD",wee="DS_INTERNAL.EXPERIMENT_LOAD",Eee="ENVFILE_VARIABLE_SUBSTITUTION",Pee="ENVFILE_WORKSPACE",kee="HASHED_PACKAGE_NAME",xee="DS_INTERNAL.ACTIVE_INTERPRETER_LISTING_PERF",Dee="DS_INTERNAL.CELL_OUTPUT_MIME_TYPE",_ee="DS_INTERNAL.GET_ACTIVATED_ENV_VARIABLES",Tee="OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_REQUEST_EX",Ree="OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_ERROR_EX",Aee="OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_SUCCESS_EX",Nee="DATASCIENCE.ADD_CELL_BELOW",Mee="DS_INTERNAL.CODE_LENS_ACQ_TIME",Kee="DS_INTERNAL.DOCUMENT_WITH_CODE_CELLS",Oee="DATASCIENCE.DEBUG_CONTINUE",Fee="DATASCIENCE.DEBUG_CURRENT_CELL",Lee="DATASCIENCE.DEBUG_STEP_OVER",Uee="DATASCIENCE.DEBUG_STOP",Wee="DATASCIENCE.DEBUG_FILE_INTERACTIVE",Vee="DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",jee="DS_INTERNAL.JUPYTER_KERNEL_SPEC",Jee="DATASCIENCE.ENTER_REMOTE_JUPYTER_URL",Bee="DATASCIENCE.DISABLE_INTERACTIVE_SHIFT_ENTER",$ee="DATASCIENCE.ENABLE_INTERACTIVE_SHIFT_ENTER",qee="DS_INTERNAL.PERCEIVED_JUPYTER_STARTUP_NOTEBOOK",Hee="DATASCIENCE.EXPORT_PYTHON_FILE",Gee="DATASCIENCE.EXPORT_PYTHON_FILE_AND_OUTPUT",zee="DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",Qee="DATASCIENCE.EXPORT_NOTEBOOK_AS",Yee="DATASCIENCE.IMPORT_NOTEBOOK",Xee="DATASCIENCE.EXPORT_NOTEBOOK_AS_COMMAND",Zee="DATASCIENCE.EXPORT_NOTEBOOK_AS_FAILED",ete="DS_INTERNAL.GET_PASSWORD_FAILURE",tte="DS_INTERNAL.GET_PASSWORD_SUCCESS",rte="DS_INTERNAL.JUPYTER_HUB_PASSWORD",nte="DS_INTERNAL.SHOW_DATA_NO_PANDAS",ite="DS_INTERNAL.SHOW_DATA_PANDAS_TOO_OLD",ote="DS_INTERNAL.SHOW_DATA_PANDAS_OK",ste="DS_INTERNAL.SHOW_DATA_PANDAS_INSTALL_CANCELED",ate="DATASCIENCE.NATIVE.OPEN_NOTEBOOK_ALL",lte="DATASCIENCE.OPEN_PLOT_VIEWER",cte="DATASCIENCE.RUN_ALL_CELLS",ute="DATASCIENCE.RUN_SELECTION_OR_LINE",dte="DATASCIENCE.RUN_CURRENT_CELL",pte="DATASCIENCE.RUN_ALL_CELLS_ABOVE",mte="DATASCIENCE.RUN_CELL_AND_ALL_BELOW",fte="DATASCIENCE.RUN_CURRENT_CELL_AND_ADVANCE",hte="DATASCIENCE.RUN_FILE_INTERACTIVE",gte="DATASCIENCE.RUN_TO_LINE",vte="DATASCIENCE.RUN_FROM_LINE",yte="DATASCIENCE.RUN_INSERT_CELL_BELOW_POSITION",bte="DATASCIENCE.RUN_INSERT_CELL_BELOW",Ite="DATASCIENCE.RUN_INSERT_CELL_ABOVE",Ste="DATASCIENCE.RUN_DELETE_CELLS",Cte="DATASCIENCE.RUN_SELECT_CELL",wte="DATASCIENCE.RUN_SELECT_CELL_CONTENTS",Ete="DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_ABOVE",Pte="DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_BELOW",kte="DATASCIENCE.RUN_MOVE_CELLS_UP",xte="DATASCIENCE.RUN_MOVE_CELLS_DOWN",Dte="DATASCIENCE.RUN_CHANGE_CELL_TO_MARKDOWN",_te="DATASCIENCE.RUN_CHANGE_CELL_TO_CODE",Tte="DATASCIENCE.GOTO_NEXT_CELL_IN_FILE",Rte="DATASCIENCE.GOTO_PREV_CELL_IN_FILE",Ate="DATASCIENCE.RUN_CURRENT_CELL_AND_ADD_BELOW",Nte="DATASCIENCE.SELFCERTSMESSAGECLOSE",Mte="DATASCIENCE.SELFCERTSMESSAGEENABLED",Kte="DATASCIENCE.USER_INSTALLED_JUPYTER",Ote="DATASCIENCE.USER_INSTALLED_PANDAS",Fte="DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER",Lte="DATASCIENCE.USER_DID_NOT_INSTALL_PANDAS",Ute="DS_INTERNAL.PYTHON_NOT_INSTALLED",Wte="DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",Vte="DS_INTERNAL.PYTHON_EXTENSION_INSTALLED_VIA_KERNEL_PICKER",jte="DS_INTERNAL.PYTHON_MODULE_INSTALL",Jte="DS_INTERNAL.SHIFTENTER_BANNER_SHOWN",Bte="DATASCIENCE.START_SHOW_DATA_EXPLORER",$te="DATASCIENCE.SHOW_DATA_EXPLORER",qte="DATASCIENCE.SHOW_DATA_EXPLORER_ROWS_LOADED",Hte="DATASCIENCE.FAILED_SHOW_DATA_EXPLORER",Gte="DATASCIENCE.REFRESH_DATA_VIEWER",zte="DS_INTERNAL.JUPYTER_ZMQ_SUPPORT",Qte="DS_INTERNAL.JUPYTER_ZMQ_SUPPORT_FAILURE",Yte="DS_INTERNAL.VARIABLE_EXPLORER_FETCH_TIME",Xte="DS_INTERNAL.VARIABLE_EXPLORER_VARIABLE_COUNT",Zte="DATASCIENCE.KERNEL_SPEC_LANGUAGE",ere="DS_INTERNAL.KERNEL_LAUNCHER_PERF",tre="GLOBAL_PYTHON_KERNELSPEC",rre="DS_INTERNAL.NEW_FILE_USED_IN_INTERACTIVE",nre="DS_INTERNAL.CREATED_INTERACTIVE_WINDOW",ire="DS_INTERNAL.IPYWIDGET_USED_BY_USER",ore="DS_INTERNAL.IPYWIDGET_DISCOVER_WIDGETS_NB_EXTENSIONS",sre="DS_INTERNAL.IPYWIDGET_DISCOVERY_ERRORED",are="DS_INTERNAL.IPYWIDGET_LOAD_SUCCESS",lre="DS_INTERNAL.IPYWIDGET_LOAD_FAILURE",cre="DS_INTERNAL.IPYWIDGET_WIDGET_VERSION_NOT_SUPPORTED_LOAD_FAILURE",ure="DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN",dre="DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN_SELECTION",pre="DS_INTERNAL.IPYWIDGET_RENDER_FAILURE",mre="DS_INTERNAL.IPYWIDGET_UNHANDLED_MESSAGE",fre="DS_INTERNAL.RAWKERNEL_INFO_RESPONSE",hre="DS_INTERNAL.RAWKERNEL_PROCESS_LAUNCH",gre="DATASCIENCE.EXECUTE_CELL",vre="DATASCIENCE.EXECUTE_CODE",yre="DATASCIENCE.RESUME_EXECUTE_CELL",bre="DATASCIENCE.NOTEBOOK_START",Ire="DS_INTERNAL.SWITCH_KERNEL",Sre="DATASCIENCE.NOTEBOOK_INTERRUPT",Cre="DATASCIENCE.NOTEBOOK_RESTART",wre="DS_INTERNAL.RAWKERNEL_SESSION_NO_IPYKERNEL",Ere="DS_INTERNAL.RAWKERNEL_SESSION_KERNEL_PROCESS_EXITED",Pre="DATASCIENCE.NOTEBOOK_FIRST_START_BREAKDOWN",kre="DATASCIENCE.NOTEBOOK_FIRST_KERNEL_AUTO_SELECTION_BREAKDOWN",xre="DS_INTERNAL.RAWKERNEL_SESSION_SHUTDOWN",Dre="DS_INTERNAL.RAWKERNEL_SESSION_DISPOSED",_re="DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER",Tre="DS_INTERNAL.KERNEL_COUNT",Rre="DS_INTERNAL.VSCNOTEBOOK_CELL_TRANSLATION_FAILED",Are="DS_INTERNAL.INTERACTIVE_FILE_TOOLTIPS_PERF",Nre="DS_INTERNAL.NATIVE_VARIABLE_VIEW_LOADED",Mre="DS_INTERNAL.NATIVE_VARIABLE_VIEW_MADE_VISIBLE",Kre="DATAVIEWER.WEBVIEW_LOADED",Ore="PLOTVIEWER.WEBVIEW_LOADED",Fre="DS_INTERNAL.COMMAND_EXECUTED",Lre="DATASCIENCE.DATA_VIEWER_SLICE_ENABLEMENT_STATE_CHANGED",Ure="DATASCIENCE.DATA_VIEWER_DATA_DIMENSIONALITY",Wre="DATASCIENCE.DATA_VIEWER_SLICE_OPERATION",Vre="DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",jre="DATASCIENCE.RECOMMENT_EXTENSION",Jre="DATASCIENCE.DEBUGGING.CLICKED_ON_SETUP",Bre="DATASCIENCE.DEBUGGING.CLOSED_MODAL",$re="DATASCIENCE.DEBUGGING.IPYKERNEL6_STATUS",qre="DATASCIENCE.DEBUGGING.CLICKED_RUNBYLINE",Hre="DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUNBYLINE",Gre="DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_IW_JUPYTER",zre="DATASCIENCE.DEBUGGING.CLICKED_RUN_AND_DEBUG_CELL",Qre="DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUN_AND_DEBUG_CELL",Yre="DATASCIENCE.DEBUGGING.ENDED_SESSION",Xre="DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION",Zre="DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION_CANNOT_RESOLVE",ene="DATASCIENCE.JUPYTER_KERNEL_API_USAGE",tne="DATASCIENCE.JUPYTER_NEW_KERNEL_API_USAGE",rne="DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",nne="DATASCIENCE.JUPYTER_NEW_KERNEL_API_EXEC",ine="DATASCIENCE.JUPYTER_API_USAGE",one="DATASCIENCE.JUPYTER_KERNEL_API_ACCESS",sne="DATASCIENCE.JUPYTER_KERNEL_STARTUP_HOOK",ane="DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE",lne="DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE",cne="DATASCIENCE.KERNEL_CRASH",une="DATASCIENCE.JUPYTER_KERNEL_HIDDEN_VIA_FILTER",dne="DATASCIENCE.JUPYTER_KERNEL_FILTER_USED",pne="DS_INTERNAL.RUNTEST",mne="DS_INTERNAL.PREFERRED_KERNEL_EXACT_MATCH",fne="DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",hne="DS_INTERNAL.IPYWIDGET_TIME_TO_COPY_NBEXTENSIONS_DIR",gne="DATASCIENCE.NO_ACTIVE_KERNEL_SESSION",vne="DATAVIEWER.USING_INTERPRETER",yne="DATAVIEWER.USING_KERNEL",bne="DATASCIENCE.JUPYTER_NOTEBOOK_EXEC_PERFORMANCE",Ine="DATASCIENCE.JUPYTER_JUPYTER_NOTEBOOK_EXEC_PERFORMANCE",Sne="DATASCIENCE.JUPYTER_NOTEBOOK_EDIT_PERFORMANCE"}};var Qu=require("vscode");function sl(n){let e=ol(n.uri);return at(e.path)}function Mo(n=Qu.Uri.file(""),e=Qu.Uri.file(""),t=Rr(),r=!1){let i=ol(n,t,t=="Windows"||r),o=ol(e,t,t=="Windows"||r);return i===o||vi(i,o,!0)}function ol(n=Qu.Uri.file(""),e=Rr(),t=!1){let r=ke(n);return t&&(r=r.toLowerCase()),r.endsWith("/bin/python")?["Linux","OSX"].includes(e)?r.endsWith("/bin/python")&&r.split("/").length>4?Qu.Uri.file(r.replace("/bin/python","/python")):Qu.Uri.file(r):Qu.Uri.file(r):Qu.Uri.file(r)}var Q2=require("vscode");var lo=class{constructor(){this.promises=new Set;this._onStateChange=new Q2.EventEmitter;this.onStateChange=this._onStateChange.event}get isComplete(){return this.promises.size===0}dispose(){this._onStateChange.dispose()}push(e){this.promises.add(e),this._onStateChange.fire(),e.finally(()=>{this.promises.delete(e),this.isComplete&&this._onStateChange.fire()}).catch(h)}};var EP=class extends rn{constructor(e){super("Python Extension failed to activate",e,"pythonExtension")}};var PP=class extends qe{constructor(){super("pythonExtension","Python Extension API not exported")}};var DV=k(Fh());var tm=require("vscode");var KP=class{};function bs(n,e=""){let t=n?tm.workspace.getWorkspaceFolder(n):tm.workspace.workspaceFolders?tm.workspace.workspaceFolders[0]:void 0;return t?hn(Rr()==="Windows"?t.uri.path.toUpperCase():t.uri.path):e}function ll(){return(Array.isArray(tm.workspace.workspaceFolders)&&tm.workspace.workspaceFolders.length>0?tm.workspace.workspaceFolders[0]:void 0)?.uri}var im=require("vscode");var mV=k(Fh());var rm=require("vscode");function sa(n){return(e,t=null,r)=>{let i=!1,o;return o=n(s=>{if(!i)return o?o.dispose():i=!0,e.call(t,s)},null,r),i&&o.dispose(),o}}function JS(n,e=null,t){return new Promise(r=>sa(n)(r,e,t))}var iie={output_type:"stream",name:"stdout",text:""},oie={output_type:"error",ename:"",evalue:"",traceback:[""]},sie={output_type:"display_data",data:{},metadata:{}},aie={output_type:"execute_result",execution_count:0,data:{},metadata:{}},Ebe={stream:new Set(Object.keys(iie)),error:new Set(Object.keys(oie)),display_data:new Set(Object.keys(sie)),execute_result:new Set(Object.keys(aie))};function $i(n){return n&&Vu(n).toLowerCase().endsWith("ipynb")?"notebook":"interactive"}function cl(n){return n=n.toLowerCase(),n.length===2&&n.endsWith("#")?`${n.substring(0,1)}sharp`:uU.get(n)||n}function Et(n){return typeof n=="string"?n===St||n===ft:n.notebookType===St||n.notebookType===ft}function co(n){let e=n.metadata;return JSON.parse(JSON.stringify(e?.metadata||{}))}function fV(n){let e=n.metadata;return{nbformat:e?.nbformat,nbformat_minor:e?.nbformat_minor}}async function hV(n,e){let t=new rm.WorkspaceEdit;t.set(n.uri,[rm.NotebookEdit.updateNotebookMetadata(VA({...n.metadata||{},metadata:e}))]),await rm.workspace.applyEdit(t)}function Lh(n){return rm.workspace.notebookDocuments.find(e=>Et(e)&&e.getCells().some(t=>t.document===n))}function Is(n){if(Array.isArray(n)){let e="";for(let t=0;t<n.length;t+=1){let r=n[t];t<n.length-1&&!r.endsWith(`
`)?e=e.concat(`${r}
`):e=e.concat(r)}return e}return n.toString()}function Uh(n){if(Array.isArray(n))return n;let e=n.toString();if(e.length>0){let t=e.split(`
`);return t.map((r,i)=>i<t.length-1?`${r}
`:r).filter(r=>r.length>0)}return[]}function lie(n){let e=n;do n=e,e=n.replace(/[^\n]\x08/gm,"");while(e.length<n.length);return n}function cie(n){for(n=n.replace(/\r+\n/gm,`
`);n.search(/\r[^$]/g)>-1;){var e=n.match(/^(.*)\r+/m)[1],t=n.match(/\r+(.*)$/m)[1];t=t+e.slice(t.length,e.length),n=n.replace(/\r+.*$/m,"\r").replace(/^.*\r/m,t)}return n}function gV(n){return cie(lie(n))}var OP="'''",FP='"""';function nm(n,e,t){let r,i,o=0;for(let s of n){let a=s.trim(),l=a.startsWith(OP)?OP:a.startsWith(FP)?FP:void 0,c=a.includes(OP)?OP:a.includes(FP)?FP:void 0;if(i)i===c&&(i=void 0),t(s,o);else if(r)r===l&&(r=void 0),r&&e(s,o);else if(c&&!l){let u=a.indexOf(c);i=a.lastIndexOf(c)!==u?void 0:c,t(s,o)}else if(l){let u=a.indexOf(l,3);r=u>=0?void 0:l,a.length>3&&e(a.slice(3,u>=0?u:void 0),o)}else a.startsWith("#")?e(a.slice(1),o):t(s,o);o+=1}}function Wh(n,e=`
`,t){return n.map((r,i)=>{let o=t?t(r):r;return i===n.length-1?`${o}`:`${o}${e}`})}function uie(n){let e=[];return nm(n,t=>e.push(t),t=>{}),e}function LP(n){return Wh(uie(n.slice(n.length>1?1:0)))}function vV(n){let e=n.length,t=-1;return n.forEach((r,i)=>{r.trim()&&(e=i,t<0&&(t=i))}),t>=0?n.slice(t,e+1):[]}function UP(n){let e=/^\s*(\d+)\.(\d+)\.(.+)\s*$/.exec(n);if(e&&e.length>2){let t=parseInt(e[1],10),r=parseInt(e[2],10),i=parseInt(e[3],10);return(0,mV.parse)(`${t}.${r}.${i}`,!0)??void 0}}function Yu(n){let e=JSON.parse(JSON.stringify(n.metadata||{}))||{metadata:{}};return e.metadata=e.metadata||{},e}function VA(n){return die(n)}function die(n){return Array.isArray(n)?n.map(VA):n!=null&&typeof n=="object"&&Object.keys(n).length>0?Object.keys(n).sort().reduce((e,t)=>(e[t]=VA(n[t]),e),{}):n}async function Ss(n,e=[]){let t=JS(n.onDidDispose,void 0,e);n.dispose(),await t}var WP=new Map,JA=new Map,jA;function yV(n){jA=n}function BA(n,e){if(!n.pythonEnvironmentPath)return;let t=re();pie({interpreterHash:n.pythonEnvironmentPath}).then(r=>{n.pythonEnvironmentPackages=r||n.pythonEnvironmentPackages,e&&(e.pythonEnvironmentPackages=r||e.pythonEnvironmentPackages)}).catch(()=>{}).finally(()=>{t.resolve()})}async function pie(n){if(!jA)return p.error("Python package provider is not initialized."),"{}";let e;if("interpreter"in n?e=n.interpreter:e=JA.get(n.interpreterHash),!e)return"{}";let t=await jA(e);return!t||t.size===0?"{}":JSON.stringify(Object.fromEntries(t))}async function bV(n){if(!n)return{};let e=WP.get(cn(n)),t=$i(n);if(!e&&t)return{resourceType:t,resourceHash:n?await at(n.toString()):void 0};if(!e)return{};let r=JSON.parse(JSON.stringify(e[0]));return BA(e[0],r),r}function Pt(n,e,t,r,i){bV(n).then(o=>{Object.assign(o,r||{}),R(e,t,o,i)}).catch(h)}var En=!1,Vh=new WeakMap,VP=new Map,jh,SV=0;function Pn(n){if(!n)return;if(fn(n)&&!VP.has(n.toString())){let t=im.workspace.notebookDocuments.find(r=>r.uri.toString()===n.toString());t&&VP.set(n.toString(),new WeakRef(t))}let e=fn(n)?VP.get(n.toString())?.deref():n;if(e)return Vh.get(e)?.tracker}function CV(n){let e=new Wr;return jh=n,SV=n.elapsedTime,im.workspace.notebookDocuments.forEach(t=>Vh.set(t,IV(t,!0,n))),e.add(im.workspace.onDidOpenNotebookDocument(t=>{!Vh.has(t)&&!En&&Vh.set(t,IV(t,!1,n))})),e.add(im.workspace.onDidCloseNotebookDocument(t=>{Vh.delete(t),VP.delete(t.uri.toString())})),e}function wV(n){Vh.get(n)?.tracker.kernelManuallySelected()}var jP={starAfter:-1,completedAfter:-1},$A=new Map,EV=new Map,mie=new Map,PV=Ft(()=>(jP.starAfter=jh?.elapsedTime,{stop:Ft(()=>{jP.completedAfter=jh.elapsedTime})}));function kV(n,e){$A.set(n,jh?.elapsedTime),mie.set(n,e||"")}function xV(n){n.executable.uri&&EV.set(n.id,jh?.elapsedTime)}function IV(n,e,t){let r=jh.elapsedTime,i=t.elapsedTime,o={openedAfter:i},s=c=>(c==="executeCell"&&(En=!0),o[`${c}StartedAfter`]=t.elapsedTime,{stop:Ft(()=>{o[`${c}CompletedAfter`]=t.elapsedTime})}),a={wasAlreadyOpen:e},l=()=>{};return{measures:o,info:a,tracker:{kernelSelected:Ft((c,u)=>{let d=$A.get(c);typeof d=="number"&&(a.wasAlreadyOpen?o.controllerCreatedAfter=$A.get(c):o.controllerCreatedAfter=r-d),o.interpreterDiscoveredAfter=EV.get(u||""),o.kernelSelectedAfter=t.elapsedTime,a.manuallySelectedKernel||gie(n,{wasAlreadyOpen:a.wasAlreadyOpen},{controllerCreatedAfter:o.controllerCreatedAfter,kernelSelectedAfter:o.kernelSelectedAfter,openedAfter:i,interpreterDiscoveredAfter:o.interpreterDiscoveredAfter})}),kernelManuallySelected:Ft(()=>a.manuallySelectedKernel=!0),cellExecutionCount:En?l:Ft(c=>o.executeCellCount=c),preExecuteCellTelemetry:En?l:Ft(()=>s("preExecuteCellTelemetry")),startKernel:En?l:Ft(()=>s("startKernel")),executeCell:En?l:Ft(()=>s("executeCell")),executeCellAcknowledged:En?l:Ft(()=>{o.executeCellAcknowledgedAfter=t.elapsedTime,fie(n,a,o)}),jupyterSessionTelemetry:En?l:Ft(()=>s("sessionTelemetry")),postKernelStartup:En?l:Ft(()=>s("postKernelStart")),computeCwd:En?l:Ft(()=>s("computeCwd")),getConnection:En?l:Ft(()=>s("getConnection")),updateConnection:En?l:Ft(()=>s("updateConnection")),kernelReady:En?l:Ft(()=>s("kernelReady")),portUsage:En?l:Ft(()=>s("portUsage")),spawn:En?l:Ft(()=>s("spawn")),pythonEnvVars:En?l:Ft(()=>s("pythonEnvVars")),envVars:En?l:Ft(()=>s("envVars")),interruptHandle:En?l:Ft(()=>s("interruptHandle")),kernelInfo:En?l:Ft(()=>s("kernelInfo")),kernelIdle:En?l:Ft(()=>s("kernelIdle"))}}}var fie=Ft(function(n,e,t){if(typeof t.preExecuteCellTelemetryStartedAfter!="number"||typeof t.preExecuteCellTelemetryCompletedAfter!="number"||typeof t.executeCellAcknowledgedAfter!="number"||typeof t.startKernelStartedAfter!="number"||typeof t.startKernelCompletedAfter!="number"||typeof t.executeCellStartedAfter!="number"||typeof t.sessionTelemetryStartedAfter!="number"||typeof t.sessionTelemetryCompletedAfter!="number"||typeof t.postKernelStartStartedAfter!="number"||typeof t.postKernelStartCompletedAfter!="number"||typeof t.kernelInfoStartedAfter!="number"||typeof t.kernelInfoCompletedAfter!="number"||typeof t.kernelIdleStartedAfter!="number"||typeof t.kernelIdleCompletedAfter!="number"||typeof t.computeCwdStartedAfter!="number"||typeof t.computeCwdCompletedAfter!="number"||typeof t.kernelReadyStartedAfter!="number"||typeof t.kernelReadyCompletedAfter!="number"||typeof t.getConnectionStartedAfter!="number"||typeof t.getConnectionCompletedAfter!="number"||typeof t.updateConnectionStartedAfter!="number"||typeof t.updateConnectionCompletedAfter!="number"||typeof t.portUsageStartedAfter!="number"||typeof t.portUsageCompletedAfter!="number"||typeof t.spawnStartedAfter!="number"||typeof t.spawnCompletedAfter!="number"||typeof t.pythonEnvVarsStartedAfter!="number"||typeof t.pythonEnvVarsCompletedAfter!="number"||typeof t.envVarsStartedAfter!="number"||typeof t.envVarsCompletedAfter!="number")return;let r={duration:0,preExecuteCellTelemetry:0,startKernel:0,executeCell:0};{let c=[{name:"preExecuteCellTelemetry",start:t.preExecuteCellTelemetryStartedAfter,end:t.preExecuteCellTelemetryCompletedAfter},{name:"startKernel",start:t.startKernelStartedAfter,end:t.startKernelCompletedAfter},{name:"executeCell",start:t.executeCellStartedAfter,end:t.executeCellAcknowledgedAfter}],u=t.executeCellAcknowledgedAfter-t.preExecuteCellTelemetryStartedAfter;r.duration=u,BS(r,c,u,t.openedAfter)}let i={sessionTelemetry:0,postKernelStart:0,computeCwd:0,getConnection:0,updateConnection:0,kernelReady:0,portUsage:0,spawn:0};{let c=[{name:"sessionTelemetry",start:t.sessionTelemetryStartedAfter,end:t.sessionTelemetryCompletedAfter},{name:"postKernelStart",start:t.postKernelStartStartedAfter,end:t.postKernelStartCompletedAfter},{name:"computeCwd",start:t.computeCwdStartedAfter,end:t.computeCwdCompletedAfter},{name:"getConnection",start:t.getConnectionStartedAfter,end:t.getConnectionCompletedAfter},{name:"updateConnection",start:t.updateConnectionStartedAfter,end:t.updateConnectionCompletedAfter},{name:"spawn",start:t.spawnStartedAfter,end:t.spawnCompletedAfter},{name:"portUsage",start:t.portUsageStartedAfter,end:t.portUsageCompletedAfter},{name:"kernelReady",start:t.kernelReadyStartedAfter,end:t.kernelReadyCompletedAfter}],u=t.startKernelCompletedAfter-t.startKernelStartedAfter;BS(i,c,u,t.openedAfter)}let o={startupCode:0,kernelInfo:0,kernelIdle:0};{let c=[{name:"startupCode",start:t.postKernelStartStartedAfter,end:t.kernelInfoStartedAfter},{name:"kernelInfo",start:t.kernelInfoStartedAfter,end:t.kernelInfoCompletedAfter},{name:"kernelIdle",start:t.kernelIdleStartedAfter,end:t.kernelIdleCompletedAfter}],u=t.postKernelStartCompletedAfter-t.postKernelStartStartedAfter;BS(o,c,u,t.openedAfter)}let s={pythonEnvVars:0,envVars:0,interruptHandle:0};{let c=[{name:"pythonEnvVars",start:t.pythonEnvVarsStartedAfter,end:t.pythonEnvVarsCompletedAfter},{name:"envVars",start:t.envVarsStartedAfter,end:t.envVarsCompletedAfter},{name:"interruptHandle",start:t.interruptHandleStartedAfter||0,end:t.interruptHandleCompletedAfter||0}],u=t.spawnCompletedAfter-t.spawnStartedAfter;BS(s,c,u,t.openedAfter)}let a=hie(n),l={...r,...i,...o,...s,...a};Pt(n.uri,"DATASCIENCE.NOTEBOOK_FIRST_START_BREAKDOWN",l,e)});function hie(n){let e={attachmentCharLength:0,attachmentCount:0,codeCellCharLength:0,codeCellCount:0,mdCellCharLength:0,mdCellCount:0,outputCount:0,outputsByteSize:0};return n.getCells().forEach(t=>{let r=t.document.lineAt(t.document.lineCount-1).range.end,i=t.document.offsetAt(r);if(t.kind===im.NotebookCellKind.Markup){e.mdCellCount+=1,e.mdCellCharLength+=i;try{let s=Yu(t).attachments||{};Object.keys(s).forEach(a=>{e.attachmentCount+=1;let l=s[a];typeof l=="object"&&Object.keys(l).forEach(c=>{let u=l[c];u&&typeof u=="string"&&(e.attachmentCharLength+=u.length)})})}catch(o){p.warn("Error parsing attachments in cell metadata",o)}}else e.codeCellCount+=1,e.codeCellCharLength+=i,e.outputCount+=t.outputs.length,e.outputsByteSize+=t.outputs.reduce((o,s)=>o+s.items.reduce((a,l)=>a+l.data.byteLength,0),0)}),e}var gie=Ft(function(n,e,t){if(t.pythonExtensionActivationStartedAfter=jP.starAfter,t.pythonExtensionActivationCompletedAfter=jP.completedAfter,typeof t.controllerCreatedAfter>"u"||typeof t.interpreterDiscoveredAfter>"u"||typeof t.pythonExtensionActivationCompletedAfter>"u"||typeof t.pythonExtensionActivationStartedAfter>"u")return;let r=[{name:"callPythonApi",start:SV,end:t.pythonExtensionActivationStartedAfter},{name:"activatePython",start:t.pythonExtensionActivationStartedAfter,end:t.pythonExtensionActivationCompletedAfter},{name:"discoverEnv",start:t.pythonExtensionActivationCompletedAfter,end:t.interpreterDiscoveredAfter},{name:"createController",start:t.interpreterDiscoveredAfter,end:t.controllerCreatedAfter},{name:"selectController",start:t.controllerCreatedAfter,end:t.kernelSelectedAfter}],i=t.kernelSelectedAfter-t.openedAfter,o={duration:i};BS(o,r,i,t.openedAfter),Pt(n.uri,"DATASCIENCE.NOTEBOOK_FIRST_KERNEL_AUTO_SELECTION_BREAKDOWN",o,e)});function BS(n,e,t,r){e.sort((i,o)=>i.start-o.start).forEach(i=>{typeof r=="number"&&r>=i.start&&r<=i.end?n[i.name]=(i.end-r)*100/t:typeof r=="number"&&r>i.end?n[i.name]=0:(typeof r=="number"&&r<i.start||typeof r!="number")&&(n[i.name]=(i.end-i.start)*100/t)})}function $S(n,e){if(n){let t={...n,uri:It.Uri.file(n.path||""),id:e||n.id};return delete t.path,t}}function _V(n){let e,t=n.id;if(n.executable.uri)e=n.executable.uri;else if(Ve(n)==="Conda")e=Rr()==="Windows"?It.Uri.joinPath(n.environment?.folderUri||It.Uri.file(n.path),"python.exe"):It.Uri.joinPath(n.environment?.folderUri||It.Uri.file(n.path),"bin","python");else{p.warn(`Python environment ${j(n.id)} excluded as Uri is undefined`);return}return{id:t,uri:e}}function om(n){if(n){let e=Object.assign({},n,{path:ke(n.uri)});return delete e.uri,e}}var Jh=class{constructor(e,t){this.disposables=e;this.extensionChecker=t;this.api=re();this.didActivatePython=new It.EventEmitter;this._pythonExtensionHooked=re();this.extensionChecker.isPythonExtensionInstalled||It.extensions.onDidChange(async()=>{this.extensionChecker.isPythonExtensionInstalled&&await this.registerHooks()},this,this.disposables),this.disposables.push(this.didActivatePython)}get onDidActivatePythonExtension(){return this.didActivatePython.event}get pythonExtensionHooked(){return this._pythonExtensionHooked.promise}get pythonExtensionVersion(){return this._pythonExtensionVersion}getApi(){return this.init().catch(h),this.api.promise}async getNewApi(){await this.init();let e=It.extensions.getExtension(Yn);return e?.packageJSON?.version&&(this._pythonExtensionVersion=new DV.SemVer(e?.packageJSON?.version)),e?.exports&&(S2(e.exports),e.exports.environments.known.forEach(t=>{xV(t)})),e?.exports}setApi(e){this.api.resolved||!It.workspace.isTrusted||this.api.resolve(e)}async init(){if(this.initialized)return;It.extensions.getExtension(Yn)?await this.registerHooks():await this.extensionChecker.showPythonExtensionInstallRequiredPrompt(),this.initialized=!0}async registerHooks(){if(this.hooksRegistered)return;let e=It.extensions.getExtension(Yn);if(!e)return;let t=!1;if(!e.isActive){let r=PV();try{let i=e.activate();i.then(()=>r.stop(),()=>r.stop()),await i,t=!0}catch(i){p.error("Failed activating the python extension: ",i),this.api.reject(new EP(i));return}}this.hooksRegistered||(this.hooksRegistered=!0,t&&this.didActivatePython.fire(),e.exports?.jupyter?e.exports.jupyter.registerHooks():(p.error("Python extension is not exporting the jupyter API"),this.api.reject(new PP)),this._pythonExtensionHooked.resolve())}};Jh=v([(0,Cs.injectable)(),m(0,(0,Cs.inject)(M)),m(1,(0,Cs.inject)(Be))],Jh);var Xu=class{constructor(e){this.disposables=e;this.pythonExtensionInstallationStatusChanged=new It.EventEmitter;It.extensions.onDidChange(this.extensionsChangeHandler.bind(this),this,this.disposables),this.previousInstallState=this.isPythonExtensionInstalled}get onPythonExtensionInstallationStatusChanged(){return this.pythonExtensionInstallationStatusChanged.event}get isPythonExtensionInstalled(){return It.extensions.getExtension(Yn)!==void 0}get isPythonExtensionActive(){return It.extensions.getExtension(Yn)?.isActive===!0}async directlyInstallPythonExtension(){return It.commands.executeCommand("workbench.extensions.installExtension",Yn,{context:{skipWalkthrough:!0}})}async showPythonExtensionInstallRequiredPrompt(){if(!It.workspace.isTrusted)return;Xu.promptDisplayed=!0;let e=de.bannerLabelYes;R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"displayed"}),await It.window.showInformationMessage(y.pythonExtensionRequired,{modal:!0},e)===e?(R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"download"}),await this.installPythonExtension()):R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"dismissed"})}async installPythonExtension(){It.commands.executeCommand("extension.open",Yn).then(h,h)}async extensionsChangeHandler(){let e=this.isPythonExtensionInstalled;e!==this.previousInstallState&&(this.pythonExtensionInstallationStatusChanged.fire(e?"installed":"uninstalled"),this.previousInstallState=e)}};Xu=v([(0,Cs.injectable)(),m(0,(0,Cs.inject)(M))],Xu);var Bh=class{constructor(e,t,r,i){this.apiProvider=e;this.extensionChecker=t;this.disposables=r;this.context=i;this.didChangeInterpreter=new It.EventEmitter;this.didChangeInterpreters=new It.EventEmitter;this._onDidEnvironmentVariablesChange=new It.EventEmitter;this._onDidRemoveInterpreter=new It.EventEmitter;this.onDidRemoveInterpreter=this._onDidRemoveInterpreter.event;this.onDidEnvironmentVariablesChange=this._onDidEnvironmentVariablesChange.event;this._status="idle";this._onDidChangeStatus=new It.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this.refreshPromises=new lo;this.onResumeEnvDetection=new It.EventEmitter;this.workspaceCachedActiveInterpreter=new Set;this.lastLoggedResourceAndInterpreterId="";this.pythonEnvHashes=new Map;this.loggedEnvsWithoutInterpreterPath=new Set;this.pendingInterpreterChangeEventTriggers=new Map;this.pendingInterpretersChangeEventTriggers=new Map;this.extensionChecker.isPythonExtensionInstalled&&!this.extensionChecker.isPythonExtensionActive&&this.apiProvider.onDidActivatePythonExtension(()=>{this.hookupOnDidChangeInterpreterEvent()},this,this.disposables),It.workspace.onDidGrantWorkspaceTrust(()=>this.refreshInterpreters(!0),this,this.disposables),this.disposables.push(this._onDidChangeStatus),this.disposables.push(this.refreshPromises),this.disposables.push(this.onResumeEnvDetection),this.refreshPromises.onStateChange(()=>{this.status=this.refreshPromises.isComplete?"idle":"refreshing"})}get status(){return this._status}set status(e){this._status!==e&&(this._status=e,this._onDidChangeStatus.fire())}initialize(){this.hookupOnDidChangeInterpreterEvent()}async resolveEnvironment(e){return this.getApi().then(t=>{if(!t)return;let r=typeof e=="string"?t.environments.known.find(i=>i.id===e||i.path===e):e;return t.environments.resolveEnvironment(r||e)})}get onDidChangeInterpreter(){return this.hookupOnDidChangeInterpreterEvent(),this.didChangeInterpreter.event}get onDidChangeInterpreters(){return this.hookupOnDidChangeInterpreterEvent(),this.didChangeInterpreters.event}async refreshInterpreters(e=!1){let t=(async()=>{let r=await this.getApi();if(r)try{await r.environments.refreshEnvironments({forceRefresh:e}),this.hookupOnDidChangeInterpreterEvent(),p.debug("Refreshed Environments")}catch{p.error("Failed to refresh the list of interpreters")}})();this.refreshPromises.push(t),this.refreshPromises.push(t.then(()=>gi(1e3))),await t}async getActiveInterpreter(e){if(!It.workspace.isTrusted)return;let t=new Ue;this.hookupOnDidChangeInterpreterEvent(),!e&&It.workspace.workspaceFolders?.length===1&&(e=It.workspace.workspaceFolders[0].uri),It.workspace.workspaceFolders?.length&&(e=(e?It.workspace.getWorkspaceFolder(e)?.uri:void 0)||It.workspace.workspaceFolders[0].uri);let r=bs(e),i=this.getApi().then(async o=>{if(!o)return;let s=o.environments.getActiveEnvironmentPath(e),a=await o.environments.resolveEnvironment(s);return this.trackResolvedEnvironment(a)});return i.then(()=>{this.workspaceCachedActiveInterpreter.has(r)||(this.workspaceCachedActiveInterpreter.add(r),R("DS_INTERNAL.ACTIVE_INTERPRETER_LISTING_PERF",{duration:t.elapsedTime},{firstTime:!0}))}).catch(o=>{p.warn(`Failed to get active interpreter from Python for workspace ${r}`,o)}),(hi||[It.ExtensionMode.Development,It.ExtensionMode.Test].includes(this.context.extensionMode))&&i.then(o=>{let s=`${j(e)}'-${j(o?.id)}`;if(this.lastLoggedResourceAndInterpreterId===s)return;this.lastLoggedResourceAndInterpreterId=s;let a=Ji(o);p.trace(`Active Interpreter ${e?`for '${j(e)}' `:""}is ${j(o?.id)} (${o&&Ve(o)}, '${o?Ro(o):""}', ${a?.major}.${a?.minor}.${a?.micro})`)}).catch(h),i}getInterpreterHash(e){return this.pythonEnvHashes.get(e)}async getInterpreterDetails(e,t){if(!It.workspace.isTrusted)throw new Error("Unable to determine active Interpreter as Workspace is not trusted");this.hookupOnDidChangeInterpreterEvent();try{return await this.getApi().then(async r=>{if(!r||t?.isCancellationRequested)return;let i=r.environments.known.find(l=>fn(e)?Mo(l.executable.uri,e):typeof e=="string"?l.id===e:Mo(It.Uri.file(l.path),It.Uri.file(e.path))),o=fn(e)?j(e):typeof e=="string"?e:j(It.Uri.file(e.path));if(i){let l=await r.environments.resolveEnvironment(i),c=this.trackResolvedEnvironment(l);return p.ci(`Interpreter details for ${o} from Python is ${JSON.stringify(l)} and our mapping is ${JSON.stringify(c)}`),c}let s=o;if(this.loggedEnvsWithoutInterpreterPath.has(s)||(this.loggedEnvsWithoutInterpreterPath.add(s),p.warn(`No interpreter with path ${o} found in Python API, will convert Uri path to string as Id ${o}`)),t?.isCancellationRequested)return;let a=await r.environments.resolveEnvironment(fn(e)?e.fsPath:typeof e=="string"?e:e.path);return this.trackResolvedEnvironment(a)})}catch(r){p.warn(`Failed to get Python interpreter details from Python Extension API for ${typeof e=="string"?e:j(fn(e)?e:It.Uri.file(e.path))}`,r);return}}trackResolvedEnvironment(e){if(e){let t=wi(e);return t?(sl(t).then(r=>{this.pythonEnvHashes.set(t.id,r)}).catch(h),this.triggerEventIfAllowed("interpretersChangeEvent",t),t):void 0}}triggerEventIfAllowed(e,t){e==="interpreterChangeEvent"?this.pendingInterpreterChangeEventTriggers.set(t?.id||"",t):this.pendingInterpretersChangeEventTriggers.set(t?.id||"",t),this.triggerPendingEvents()}triggerPendingEvents(){this.pendingInterpreterChangeEventTriggers.forEach(t=>this.didChangeInterpreter.fire(t)),this.pendingInterpreterChangeEventTriggers.clear();let e=Array.from(this.pendingInterpretersChangeEventTriggers.values());if(e.length){let t=e.filter(r=>!!r);t.length!==e.length&&t.length===0?this.didChangeInterpreters.fire([]):this.didChangeInterpreters.fire(t)}this.pendingInterpretersChangeEventTriggers.clear()}async getApi(){if(this.extensionChecker.isPythonExtensionInstalled)return this.apiPromise||(this.apiPromise=this.apiProvider.getNewApi()),this.apiPromise}hookupOnDidChangeInterpreterEvent(){this.eventHandlerAdded||this.getApi().then(e=>{!this.eventHandlerAdded&&e&&(this.eventHandlerAdded=!0,e.environments.onDidEnvironmentVariablesChange(t=>{p.debug(`Detected changes to env file ${t.resource?.uri?.path} in PythonApi`),this._onDidEnvironmentVariablesChange.fire()},this,this.disposables),e.environments.onDidChangeActiveEnvironmentPath(()=>{p.trace("Detected change in Active Python environment via Python API"),this.workspaceCachedActiveInterpreter.clear(),this.triggerEventIfAllowed("interpreterChangeEvent",void 0)},this,this.disposables),e.environments.onDidChangeEnvironments(async t=>{if(p.trace(`Python API env change detected, ${t.type} => '${t.env.id}'`),t.type==="remove"){this.triggerEventIfAllowed("interpreterChangeEvent",void 0),this.triggerEventIfAllowed("interpretersChangeEvent",void 0),this._onDidRemoveInterpreter.fire({id:t.env.id});return}let r=wi(Pr(t.env));r&&(this.triggerEventIfAllowed("interpreterChangeEvent",r),this.triggerEventIfAllowed("interpretersChangeEvent",r))},this,this.disposables),this.didChangeInterpreters.fire(so().map(wi).filter(t=>!!t).map(t=>t)))}).catch(h)}};Bh=v([(0,Cs.injectable)(),m(0,(0,Cs.inject)(Ht)),m(1,(0,Cs.inject)(Be)),m(2,(0,Cs.inject)(M)),m(3,(0,Cs.inject)(et))],Bh);var $h=require("vscode");function JP(n,e){let t=n.length>0?`?token=${n}`:"";return`${e}${t}`}function BP(n,e,t){return n?t.createSystemVariables(e).resolve(n):e?nt(ke(e)):process.cwd()}async function $P(n,e){let t=y.jupyterSelfCertEnable,r=y.jupyterSelfCertClose,i=await $h.window.showErrorMessage(y.jupyterSelfCertFail(e),{modal:!0},t,r);return i===t?(R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await n.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,$h.ConfigurationTarget.Workspace),!0):(i===r&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE"),!1)}async function qP(n,e){let t=y.jupyterSelfCertEnable,r=y.jupyterSelfCertClose,i=await $h.window.showErrorMessage(y.jupyterExpiredCertFail(e),{modal:!0},t,r);return i===t?(R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await n.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,$h.ConfigurationTarget.Workspace),!0):(i===r&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE"),!1)}function qS(n,e,t,r,i,o,s){let a=e.baseUrl,l=e.token,c=new URL(e.baseUrl).hostname,u=e.authorizationHeader&&Object.keys(e?.authorizationHeader??{}).length>0?e.authorizationHeader:void 0,d=u?()=>u:void 0,f={baseUrl:a,appUrl:"",wsUrl:a.replace("http","ws"),fetch:e.fetch,WebSocket:e.WebSocket},g=t.getRequestInit();(!(l===""||l==="null")||d)&&(f={...f,token:l,appendToken:!0});let I=i.getSettings(void 0).allowUnauthorizedRemoteConnection;if(a.startsWith("https")&&I&&r){let A=r.createHttpRequestAgent();g={...g,agent:A}}let{ServerConnection:E}=require("@jupyterlab/services");return f={...f,init:g,WebSocket:e.WebSocket?t.wrapWebSocketCtor(e.WebSocket):t.getWebsocketCtor(void 0,I,d),fetch:e.fetch||t.getFetchMethod(),Request:t.getRequestCtor(void 0,I,d),Headers:t.getHeadersCtor()},{baseUrl:a,providerId:n.id,serverProviderHandle:n,token:l,hostName:c,displayName:e&&e.displayName?e.displayName:JP(l,a),dispose:()=>s?.dispose(),rootDirectory:o,getAuthHeader:d,settings:E.makeSettings(f)}}async function TV(n){let e=Ot(n);return na(e,"SHA-256")}var vie=new Set([Fe,"ms-toolsai.vscode-ai","GitHub.codespaces"].map(n=>n.toLowerCase()));function Ot(n){return vie.has(n.extensionId.toLowerCase())?`${je.REMOTE_URI}?${je.REMOTE_URI_ID_PARAM}=${n.id}&${je.REMOTE_URI_HANDLE_PARAM}=${encodeURI(n.handle)}`:`${je.REMOTE_URI}?${je.REMOTE_URI_ID_PARAM}=${n.id}&${je.REMOTE_URI_HANDLE_PARAM}=${encodeURI(n.handle)}&${je.REMOTE_URI_EXTENSION_ID_PARAM}=${encodeURI(n.extensionId)}`}async function HP(n){if(!Mu()&&n.interpreter?.uri){let e=n.interpreter.uri.fsPath,t=ol(n.interpreter.uri).fsPath,r=n.id.replace(e,t);return at(r)}return at(n.id)}var ws=class{static fromJSON(e){let t=Object.assign(e,{});switch(t.interpreter&&(t.interpreter=$S(t.interpreter,"")),e.kind){case"startUsingLocalKernelSpec":return Zu.create(t);case"connectToLiveRemoteKernel":return HS.create(t);case"startUsingRemoteKernelSpec":return GS.create(t);case"startUsingPythonInterpreter":return Ko.create(t);default:throw new Error(`Invalid object to be deserialized into a connection, kind = ${t.kind}`)}}},HS=class n{constructor(e){this.kind="connectToLiveRemoteKernel";this.kernelModel=e.kernelModel,this.interpreter=e.interpreter,this.baseUrl=e.baseUrl,this.id=e.id,this.serverProviderHandle=e.serverProviderHandle,zP(this)}static create(e){return new n(e)}updateModel(e){Object.assign(this.kernelModel,e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kind:this.kind,baseUrl:this.baseUrl,interpreter:om(this.interpreter),kernelModel:this.kernelModel,serverProviderHandle:this.serverProviderHandle}}static fromJSON(e){return ws.fromJSON(e)}},Zu=class n{constructor(e){this.kind="startUsingLocalKernelSpec";this.kernelSpec=e.kernelSpec,this.interpreter=e.interpreter,this.id=e.id,zP(this)}static create(e){return new n(e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kernelSpec:this.kernelSpec,interpreter:om(this.interpreter),kind:this.kind}}static fromJSON(e){return ws.fromJSON(e)}},GS=class n{constructor(e){this.kind="startUsingRemoteKernelSpec";this.interpreter=e.interpreter,this.kernelSpec=e.kernelSpec,this.baseUrl=e.baseUrl,this.id=e.id,this.serverProviderHandle=e.serverProviderHandle,zP(this)}static create(e){return new n(e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kernelSpec:this.kernelSpec,interpreter:om(this.interpreter),baseUrl:this.baseUrl,kind:this.kind,serverProviderHandle:this.serverProviderHandle}}static fromJSON(e){return ws.fromJSON(e)}},Ko=class n{constructor(e){this.kind="startUsingPythonInterpreter";this.kernelSpec=e.kernelSpec,this.interpreter=e.interpreter,this.id=e.id,zP(this)}static create(e){return new n(e)}getHashId(){return HP(this)}toJSON(){return{id:this.id,kernelSpec:this.kernelSpec,interpreter:om(this.interpreter),kind:this.kind}}updateInterpreter(e){Object.assign(this.interpreter,e)}static fromJSON(e){return ws.fromJSON(e)}};function ct(n){return n.kind==="startUsingLocalKernelSpec"||n.kind==="startUsingPythonInterpreter"}function _t(n){return!ct(n)}var De=Symbol("IKernelProvider"),sm=Symbol("IThirdPartyKernelProvider");var GP=Symbol("IJupyterServerConnector"),zS=Symbol("IKernelSessionFactory");var Es=Symbol("IKernelDependencyService"),kr=Symbol("IKernelFinder"),qh=Symbol("ITracebackFormatter");var kc=Symbol("IStartupCodeProviders"),RV=new Set;function zP(n){if(RV.has(n.id))return;RV.add(n.id);let e="kernelSpec"in n?n.kernelSpec:void 0,t=e?.language||(n.kind==="startUsingPythonInterpreter"?ge:void 0),r="",i="",o="interpreter"in n?n.interpreter:void 0,s="<#>",a;e&&Array.isArray(e.argv)&&e.argv.length>0&&(r=e.argv[0],a=r.toLowerCase()===o?.uri?.fsPath?.toLowerCase(),Ce(r)!==r&&(r=`<P>${Ce(r)}`),i=e.argv.map(g=>g.includes("/")||g.includes("\\")?`<P>${Ce(g)}`:g).join(s));let l="kernelSpec"in n&&n.kernelSpec.specFile?at(n.kernelSpec.specFile):Promise.resolve(""),c=at(n.id),u=_t(n)?at(Ot(n.serverProviderHandle)):Promise.resolve(""),d=_t(n)?n.serverProviderHandle.extensionId:Fe,f=_t(n)?at(n.baseUrl.toLowerCase()):Promise.resolve("");Promise.all([l,c,u,f]).then(([g,b,I,E])=>R("DS_INTERNAL.JUPYTER_KERNEL_SPEC",void 0,{kernelId:b,serverIdHash:I,kernelSpecHash:g,baseUrlHash:E,providerExtensionId:d,kernelConnectionType:n.kind,kernelLanguage:t,envType:o&&Ve(o),isArgv0SameAsInterpreter:a,argv0:r,argv:i})).catch(h)}var kn=require("vscode");var Oie=k(BV()),xc=require("vscode");var ed=class{constructor(e,t,r,i){this.specFile=t;this.interpreterPath=r;this.isRegisteredByVSC=i;this.name=e.name,this.argv=e.argv,this.language=e.language,this.executable=e.argv&&e.argv.length>0?e.argv[0]:"",this.display_name=e.display_name,this.metadata=e.metadata,this.env=e.env,this.interrupt_mode=e.interrupt_mode}};var An=require("vscode"),XV=k(zA());var QA=class{constructor(e,t,r,i=!1){this._impl=e;this.controllerId=t;this._endCallback=r;this.clearOutputOnStartWithTime=i;this._started=!1}get started(){return this._started}get cell(){return this._impl.cell}get token(){return this._impl.token}get executionOrder(){return this._impl.executionOrder}set executionOrder(e){e&&Pn(this._impl.cell.notebook)?.executeCellAcknowledged(),this._impl.executionOrder=e}startIfNecessary(){this.started||this._impl.start()}start(e){this.started||(this._started=!0,this._impl.start(e),this._startTime=e,this.clearOutputOnStartWithTime?(p.trace(`Start cell ${this.cell.index} execution @ ${e} (clear output)`),this._impl.clearOutput().then(h,h)):p.trace(`Start cell ${this.cell.index} execution @ ${e}`))}end(e,t){if(this._endCallback)try{this._impl.end(e,t,this.errorInfo),p.trace(`Cell ${this.cell.index} completed in ${((t||0)-(this._startTime||0))/1e3}s (start: ${this._startTime}, end: ${t})`)}finally{this._endCallback(),this._endCallback=void 0}}clearOutput(e){return this.startIfNecessary(),this._impl.clearOutput(e)}replaceOutput(e,t){return this.startIfNecessary(),this._impl.replaceOutput(e,t)}appendOutput(e,t){return this.startIfNecessary(),this._impl.appendOutput(e,t)}replaceOutputItems(e,t){return this.startIfNecessary(),this._impl.replaceOutputItems(e,t)}appendOutputItems(e,t){return this.startIfNecessary(),this._impl.appendOutputItems(e,t)}},Pi=class n{static{this._map=new WeakMap}static getOrCreate(e,t,r=!1){let i,o=e.document;if(i=this.get(e),!i)i=n.create(o,e,t,r);else if(i.controllerId!==t.id){let s=i;s.end(void 0),i=n.create(o,e,t,r),s.started&&i.start(new Date().getTime())}return i}static get(e){let t=e.document;return n._map.get(t)}static create(e,t,r,i=!1){let o=new QA(r.createNotebookCellExecution(t),r.id,()=>{n._map.delete(e)},i);return n._map.set(e,o),o}};function Hh(n){return typeof Buffer<"u"&&typeof Buffer.from=="function"?Buffer.from(n,"base64"):Uint8Array.from(atob(n),e=>e.charCodeAt(0))}var Tie=new TextDecoder;function YP(n){if(typeof Buffer<"u"&&typeof Buffer.from=="function")return Buffer.from(n).toString("base64");{let e=Tie.decode(n);return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(t,r){return String.fromCharCode(Number.parseInt("0x"+r))}))}}var GV=["application/vnd.*","application/vdom.*","application/geo+json","application/x-nteract-model-debug+json","text/html","application/javascript","image/gif","text/latex","text/markdown","image/png","image/svg+xml","image/jpeg","application/json","text/plain"];function zV(n){if(n.mime.startsWith("application/vnd."))try{return new TextDecoder().decode(n.data).length===0}catch{}return!1}function Rie(n){return n.sort((e,t)=>{let r=(s,a)=>(s.endsWith(".*")&&(s=s.substr(0,s.indexOf(".*"))),a.startsWith(s)),i=GV.findIndex(s=>r(s,e.mime)),o=GV.findIndex(s=>r(s,t.mime));return zV(e)&&(i=-1),zV(t)&&(o=-1),i=i==-1?100:i,o=o==-1?100:o,i-o})}var td=class n{static{this.cellStates=new WeakMap}static getCellState(e){return n.cellStates.get(e)?.state}static getCellStatus(e){return(n.cellStates.get(e)?.stateTransition||[]).join(", ")||""}static setCellState(e,t){let r=n.cellStates.get(e)?.start||new Ue,i=n.cellStates.get(e)?.stateTransition||[];i.push(`${t} ${i.length===0?"@ start":`After ${r.elapsedTime}ms`}`),n.cellStates.set(e,{stateTransition:i,state:t,start:r})}};function ut(n,e){let t=typeof e=="string"?()=>e:e;p.ci(()=>`Cell Index:${n.index}, of document ${un(n.notebook.uri)} with state:${td.getCellStatus(n)}, exec: ${n.executionSummary?.executionOrder}. ${t()}. called from ${J2()}`)}var zh=new Map;zh.set("display_data",ZP);zh.set("error",Kie);zh.set("execute_result",ZP);zh.set("stream",Aie);zh.set("update_display_data",ZP);function uo(n){let e=zh.get(n.output_type),t;return e?t=e(n):(p.warn(`Unable to translate cell from ${n.output_type} to NotebookCellData for VS Code.`),t=ZP(n)),t}function YA(n){let e={outputType:n.output_type};switch(n.transient&&(e.transient=n.transient),n.output_type){case"display_data":case"execute_result":case"update_display_data":{e.executionCount=n.execution_count,e.metadata=n.metadata?JSON.parse(JSON.stringify(n.metadata)):{};break}default:break}return e}function am(n){return n.metadata}function ZP(n){let e=YA(n);("image/svg+xml"in n.data||"image/png"in n.data)&&(e.__displayOpenPlotIcon=!0);let t=[];if(n.data)for(let r in n.data)t.push(Mie(r,n.data[r]));return new An.NotebookCellOutput(Rie(t),e)}function Aie(n){let e=Is(n.text),t=n.name==="stderr"?An.NotebookCellOutputItem.stderr:An.NotebookCellOutputItem.stdout;return new An.NotebookCellOutput([t(e)],YA(n))}function Nie(n){if(n.items.length>0)return n.items[0].mime==="application/vnd.code.notebook.stderr"?"stderr":"stdout"}function QV(n){let e=n.items[0];if(!e.data)return{output_type:"error",ename:"",evalue:"",traceback:[]};let t=n.metadata?.originalError,r=JSON.parse(new TextDecoder().decode(e.data));return{output_type:"error",ename:r.name,evalue:r.message,traceback:t?.traceback||Uh(r.stack||r.message||"")}}var Gh=new TextDecoder,ZV=["text/plain","text/markdown","application/vnd.code.notebook.stderr","application/vnd.code.notebook.stdout"];function XP(n,e){if(!e)return"";try{if(n==="application/vnd.code.notebook.error"){let t=Gh.decode(e);return JSON.parse(t)}else if(n.startsWith("text/")||ZV.includes(n)){let t=Gh.decode(e);return Uh(t)}else{if(n.startsWith("image/")&&n!=="image/svg+xml")return YP(e);if(n.toLowerCase().startsWith("application/vnd.holoviews_load.v")&&n.toLowerCase().endsWith("+json")){let t=Gh.decode(e);try{return t.length>0?JSON.parse(t):t}catch{return t}}else if(n.toLowerCase().includes("json")){let t=Gh.decode(e);return t.length>0?JSON.parse(t):t}else return Gh.decode(e)}}catch(t){return p.error(`Failed to convert ${n} output from a buffer ${typeof e}, ${e}`,t),""}}function Mie(n,e){if(!e)return An.NotebookCellOutputItem.text("",n);try{if((n.startsWith("text/")||ZV.includes(n))&&(Array.isArray(e)||typeof e=="string")){let t=Array.isArray(e)?Is(e):e;return An.NotebookCellOutputItem.text(t,n)}else return n.startsWith("image/")&&typeof e=="string"&&n!=="image/svg+xml"?new An.NotebookCellOutputItem(Hh(e),n):typeof e=="object"&&e!==null&&!Array.isArray(e)?An.NotebookCellOutputItem.text(JSON.stringify(e),n):(e=Array.isArray(e)?Is(e):e,An.NotebookCellOutputItem.text(e,n))}catch(t){return p.error(`Failed to convert ${n} output to a buffer ${typeof e}, ${e}`,t),An.NotebookCellOutputItem.text("")}}function YV(n){let e=[];n.items.filter(r=>r.mime==="application/vnd.code.notebook.stderr"||r.mime==="application/vnd.code.notebook.stdout").map(r=>Gh.decode(r.data)).forEach(r=>{let i=r.split(`
`);e.length&&i.length&&i[0].length>0&&(e[e.length-1]=`${e[e.length-1]}${i.shift()}`);for(let o of i)e.push(o)});for(let r=0;r<e.length-1;r++)e[r]=`${e[r]}
`;return e.length&&e[e.length-1].length===0&&e.pop(),{output_type:"stream",name:Nie(n)||"stdout",text:e}}function XA(n){let e=n.metadata,t;switch(e?.outputType){case"error":{t=QV(n);break}case"stream":{t=YV(n);break}case"display_data":{t={output_type:"display_data",data:n.items.reduce((i,o)=>(i[o.mime]=XP(o.mime,o.data),i),{}),metadata:e?.metadata||{}};break}case"execute_result":{t={output_type:"execute_result",data:n.items.reduce((i,o)=>(i[o.mime]=XP(o.mime,o.data),i),{}),metadata:e?.metadata||{},execution_count:typeof e?.executionCount=="number"?e?.executionCount:null};break}case"update_display_data":{t={output_type:"update_display_data",data:n.items.reduce((i,o)=>(i[o.mime]=XP(o.mime,o.data),i),{}),metadata:e?.metadata||{}};break}default:{let i=n.items.length===1&&n.items.every(l=>l.mime==="application/vnd.code.notebook.error"),o=n.items.every(l=>l.mime==="application/vnd.code.notebook.stderr"||l.mime==="application/vnd.code.notebook.stdout");if(i)return QV(n);let s=e?.outputType||(o?"stream":"display_data");R("DS_INTERNAL.VSCNOTEBOOK_CELL_TRANSLATION_FAILED",void 0,{outputType:s});let a;s==="stream"?a=YV(n):s==="display_data"?a={data:{},metadata:{},output_type:"display_data"}:a={output_type:s},e?.metadata&&(a.metadata=e.metadata),n.items.length>0&&(a.data=n.items.reduce((l,c)=>(l[c.mime]=XP(c.mime,c.data),l),{})),t=a;break}}return t&&e&&e.transient&&(t.transient=e.transient),t}function Kie(n){return n=n||{output_type:"error",ename:"",evalue:"",traceback:[]},new An.NotebookCellOutput([An.NotebookCellOutputItem.error({name:n?.ename||"",message:n?.evalue||"",stack:(n?.traceback||[]).join(`
`)})],{...YA(n),originalError:n})}async function ej(n,e,t){let r=!1,i;if(!n)return{changed:r,kernelId:i};n?.language_info?.name||(n.language_info=n.language_info||{name:""});let o;switch(e?.kind){case"connectToLiveRemoteKernel":o=e.kernelModel.language;break;case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":o=e.kernelSpec.language;break;case"startUsingPythonInterpreter":o=ge;break;default:break}if(n.language_info.name!==o&&o&&(n.language_info.name=o,r=!0),t&&"language_info"in t&&t.language_info)(0,XV.default)(n.language_info,t.language_info)||(n.language_info=JSON.parse(JSON.stringify(t.language_info)),r=!0);else{let a=dt(e),l=a?rj(e):void 0,c=await qu(l),u=c?`${c.major}.${c.minor}.${c.micro}`:"";l&&c&&n&&n.language_info&&n.language_info.version!==u?(n.language_info.version=u,r=!0):!l&&n?.language_info&&a&&(n.language_info=void 0,r=!0)}let s=e&&Qh(e)?e.kernelModel:e&&"kernelSpec"in e?e.kernelSpec:void 0;if(e?.kind==="startUsingPythonInterpreter"){let a=e.kernelSpec,l=a.display_name||Pr(e.interpreter)?.environment?.name||"",c="";switch(Nn(a)){case"registeredByOldVersionOfExt":case"registeredByNewVersionOfExt":c="python3";break;case"registeredByNewVersionOfExtForCustomKernelSpec":{c=(a.metadata?.vscode?.originalSpecFile?Ce(nt(a.metadata.vscode.originalSpecFile)):void 0)||a.name,l=a.metadata?.vscode?.originalDisplayName||l;break}default:c=a.name;break}n.kernelspec?.name!==c&&(r=!0,n.kernelspec={name:c,language:ge,display_name:l},"vscode"in n&&delete n.vscode,"interpreter"in n&&delete n.interpreter)}else if(s&&!n.kernelspec){let a=s.metadata?.vscode?.originalSpecFile?Ce(nt(s.metadata.vscode.originalSpecFile)):void 0;n.kernelspec={name:a||s.name||s.display_name||"",display_name:s.metadata?.vscode?.originalDisplayName||s.display_name||s.name||""},s.language&&(n.kernelspec.language=s.language),i=s.id,r=!0}else if(s&&n.kernelspec){let l=(s.metadata?.vscode?.originalSpecFile?Ce(nt(s.metadata.vscode.originalSpecFile)):void 0)||s.name||s.display_name||"",c=s.metadata?.vscode?.originalDisplayName||s.display_name||s.name||"",u=s.language||s.language||"";(n.kernelspec.name!==l||n.kernelspec.language!==u||n.kernelspec.display_name!==c||i!==s.id)&&(r=!0,n.kernelspec.name=l,n.kernelspec.display_name=c,n.kernelspec.language=u,i=s.id);try{delete n.kernelspec.metadata}catch{}}return{changed:r,kernelId:i}}async function rd(n,e,t,r){let i=Dh(t);if(!i){let a=Pi.get(n);r&&a?.started&&a.end(r?void 0:!1,n.executionSummary?.timing?.endTime);return}Pi.get(n)||(r=!0);let o=Pi.getOrCreate(n,e),s=o.executionOrder;o.started||(o.start(n.executionSummary?.timing?.startTime),o.executionOrder=n.executionSummary?.executionOrder||s),await o.appendOutput(i),o.end(r?void 0:!1,n.executionSummary?.timing?.endTime)}function tj(n,e){let t=/Cell\s+(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\],\s*line (?<lineNumber>\d+).*/,r=/Input\s+?(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\][^<]*<cell line:\s?(?<lineNumber>\d+)>.*/,i;for(let s of n){let a=t.exec(s)??r.exec(s);if(a&&a.groups){i=parseInt(a.groups.lineNumber);break}}let o;if(i&&i>0&&i<=e.document.lineCount){let s=e.document.lineAt(i-1),a=s.text.split("#")[0].trimEnd().length;o=new An.Range(new An.Position(s.lineNumber,s.firstNonWhitespaceCharacterIndex),new An.Position(s.lineNumber,a))}return o}function QS(n){if(n.hasOwnProperty("text/html")){let e=n["text/html"];typeof e=="string"&&e.includes('<iframe id="tensorboard-frame-')&&(n["text/html"]=e.replace(/new URL\((.*), window.location\)/,'new URL("http://localhost")'))}return n}var lm="{connection_file}";function nj(n){return n.argv.findIndex(e=>e.includes(lm))}var Yh="-jvsc-",Fie=/^python\d*.?\d*$/;async function Ps(n,e){return Lie(await rN(n),n,e)}function Lie(n,e,t){let r=e?{path:ke(e.uri)}:{},i={name:n,language:"python",display_name:(e?Pr(e)?.environment?.name:"")||"Python 3",metadata:{interpreter:r},argv:["python","-m","ipykernel_launcher","-f",lm],env:{},resources:{}},o=t&&i.name?zt(t,i.name,"kernel.json"):void 0;return new ed(i,o?ke(o):void 0,ke(e?.uri),"registeredByNewVersionOfExt")}function ij(n){let e=JSON.parse(JSON.stringify(n));return e.env&&Object.keys(e.env).forEach(r=>{if(e.env){let i=e.env[r];i!=null&&(e.env[r]=i.toString())}}),e}function ek(n){let e=n?.kernelspec;return n?.language_info?.name&&n.language_info.name!==ge?!1:e?.name?.includes(ge)?!0:e?.language===ge||n?.language_info?.name===ge}function XS(n){let e=n.metadata?.vscode?.originalSpecFile||n.metadata?.originalSpecFile,t=e?Ce(nt(e)):n.name||"",r=n.metadata?.vscode?.originalDisplayName||n.display_name||"";return!!(t.toLowerCase().match(Fie)||r.toLowerCase()==="python 3 (ipykernel)"||r.toLowerCase()==="python 3")}function Uie(n){if(n.includes(Yh)){let e=/[a-f0-9]$/;if(n.substring(n.lastIndexOf(Yh)+Yh.length).search(e)!==-1){let t=n.substring(0,n.lastIndexOf(Yh));return t.toLowerCase().endsWith(".ipynb")||t.toLowerCase().endsWith(".py")?t:`${t}.ipynb`}}return n}function tk(n){return n.kind!=="connectToLiveRemoteKernel"}function Qh(n){return n.kind==="connectToLiveRemoteKernel"}function ki(n,e,t){e=ZA(n)?e:void 0;let r=n.name,i=Nn(n);if(i&&r.includes(YS)&&(r=r.substring(r.indexOf(YS)),i==="registeredByNewVersionOfExtForCustomKernelSpec")){let c=n.metadata?.vscode?.originalSpecFile||n.metadata?.originalSpecFile;c&&(r=`${r}#${Ce(nt(c))}`)}let o="";ZA(n)?o=n.argv.slice(1).filter(c=>!["-f","{connection_file}"].includes(c)).join("#").toLowerCase():o=n.argv.join("#").toLowerCase();let s=t?`${t}.`:"",a=ke(ol(n.interpreterPath?xc.Uri.file(n.interpreterPath):xc.Uri.file(n.executable))),l=ke(ol(e?.uri))||"";return`${s}${n.id||""}.${r}.${a}.${l}.${o}`}function it(n){let e=Wie(n);if(!n)return e;switch(n.kind){case"connectToLiveRemoteKernel":{let r=Uie(n.kernelModel?.notebook?.path||n.kernelModel?.model?.path||"");return r?`${e} (${r})`:e}case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":if(n.interpreter&&Ve(n.interpreter)!=="Unknown"){let r=Ro(n.interpreter);if(n.kernelSpec.language===ge){let i=`Python ${Bu(Ji(n.interpreter))||""}`.trim();return r?`${e} (${i})`:e}else return r?`${e} (${r})`:e}else return e;case"startUsingPythonInterpreter":let t=(Bu(Ji(n.interpreter))||"").trim();if(n.interpreter&&Ve(n.interpreter)!=="Unknown"){if(n.kernelSpec.display_name&&Nn(n.kernelSpec)==="registeredByNewVersionOfExtForCustomKernelSpec")return n.kernelSpec.display_name;let r=Vr(n.interpreter),i=t.trim()?`Python ${t}`:"Python",o=Ro(n.interpreter);return r&&o?o:o?`${o} (${i})`:i}else return`Python ${t}`.trim()}return e}function Wie(n){if(!n)return"";let e=n.kind==="connectToLiveRemoteKernel"?n.kernelModel.display_name:n.kernelSpec?.display_name,t=n.kind==="connectToLiveRemoteKernel"?n.kernelModel.name:n.kernelSpec?.name,r=n.kind==="startUsingPythonInterpreter"?qr(n.interpreter):void 0;return[e,t,r,""].find(i=>typeof i=="string"&&i.length>0)||""}function Xh(n,e=""){return n?n.kind==="connectToLiveRemoteKernel"?n.kernelModel.name:n.kernelSpec?.name:e}function Vie(n){if(!n)return;let e=Qh(n)?n.kernelModel:void 0,t=tk(n)?n.kernelSpec:void 0;if(n.kind==="startUsingPythonInterpreter"||(n.kind==="startUsingRemoteKernelSpec"||n.kind==="startUsingLocalKernelSpec")&&n.kernelSpec.language===ge){let r=t?.metadata?.interpreter?.path||t?.interpreterPath||t?.executable;if(r==="/python"||r==="python"){let i=Pr(n.interpreter);return i?.environment?.folderUri||(i?xc.Uri.file(i.path):void 0)}return r?xc.Uri.file(r):void 0}else{let r=e?.executable||t?.executable||t?.metadata?.interpreter?.path||t?.interpreterPath;return r?xc.Uri.file(r):void 0}}function eN(n,e=""){if(n?.kind==="connectToLiveRemoteKernel"){let t;if(typeof n.kernelModel.lastActivityTime=="string")try{t=new Date(n.kernelModel.lastActivityTime)}catch(r){p.debug(`Error parsing date ${r}`)}else t=n.kernelModel.lastActivityTime;return y.jupyterSelectLiveRemoteKernelDescription(t,n.kernelModel.numberOfConnections)}return e}function tN(n,e){if(n?.kind==="connectToLiveRemoteKernel")return;let t=Vie(n),r=xc.workspace.workspaceFolders?xc.workspace.workspaceFolders:[];return t?j(t,r,e.homeDir):""}function rj(n){if(!n)return;if(n.interpreter)return n.interpreter;let e=Qh(n)?n.kernelModel:void 0;if(e?.metadata?.interpreter)return $S(e?.metadata?.interpreter,"");let t=tk(n)?n.kernelSpec:void 0;return $S(t?.metadata?.interpreter,"")}function Zh(n){return n.kind==="startUsingLocalKernelSpec"||n.kind==="startUsingPythonInterpreter"&&n.kernelSpec&&Nn(n.kernelSpec)==="registeredByNewVersionOfExtForCustomKernelSpec"}function dt(n){if(!n)return!1;if(n.kind==="startUsingPythonInterpreter")return!0;let e=Qh(n)?n.kernelModel:void 0,t=tk(n)?n.kernelSpec:void 0;return e?.language===ge||ZA(t)}function ZA(n){return(n?.language||"").toLowerCase()===ge}function po(n){if(!n)return;if(n.kind==="startUsingPythonInterpreter")return ge;let e=Qh(n)?n.kernelModel:void 0,t=tk(n)?n.kernelSpec:void 0;return e?.language||oj(t)}function rk(n){if(!n)return;let e=n.kernelspec;return oj(e)||n.language_info?.name}function oj(n){return n?.language}var YS="jvsc74a57bd0";async function rN(n){let t=(Bu(Ji(n))||"3").replace(/\./g,""),r=n?`python${t}`:"";return n?`${r}${YS}${await sl(n)}`:"python3"}function Nn(n){if(n.isRegisteredByVSC)return n.isRegisteredByVSC;if(!n.name)return;let e=n.metadata?.vscode?.originalSpecFile||n.metadata?.originalSpecFile,t=e?Ce(nt(e)):n.name,r=XS({...n,name:t})?Object.keys(n.env||{}).length>0:typeof e=="string"&&!e.includes(YS);if(n.name.includes(YS))return r?"registeredByNewVersionOfExtForCustomKernelSpec":"registeredByNewVersionOfExt";let i=/[a-f0-9]{32}$/;if(n.metadata?.interpreter&&n.name.toLowerCase().search(i)!==-1)return"registeredByOldVersionOfExt"}function sj(n,e){return!n&&!e?!0:!n&&e||n&&!e?!1:n?.id===e?.id}async function pn(n,e,t){p.trace(`Executing silently Code (${n.status}) = ${Oe(e.substring(0,100)).join("\\n")}`);let r=require("@jupyterlab/services"),i=n.requestExecute({code:e.replace(/\r\n/g,`
`),silent:!1,stop_on_error:!1,allow_stdin:!0,store_history:!1},!0),o=[];i.onIOPub=a=>{if(r.KernelMessage.isStreamMsg(a))if(p.ci(`Got io pub message (stream), ${Oe(a.content.text.substr(0,100)).join("\\n")}`),o.length>0&&o[o.length-1].output_type==="stream"&&o[o.length-1].name===a.content.name){let l=o[o.length-1];l.text+=a.content.text}else{let l={name:a.content.name,text:a.content.text,output_type:"stream"};o.push(l)}else if(r.KernelMessage.isExecuteResultMsg(a)){p.ci("Got io pub message (execresult)}");let l={data:a.content.data,execution_count:a.content.execution_count,metadata:a.content.metadata,output_type:"execute_result"};o.push(l)}else if(r.KernelMessage.isDisplayDataMsg(a)){p.ci("Got io pub message (displaydata)}");let l={data:a.content.data,metadata:a.content.metadata,output_type:"display_data"};o.push(l)}else if(r.KernelMessage.isErrorMsg(a)){if(p.ci(`Got io pub message (error), ${a.content.ename},${a.content.evalue}, ${a.content.traceback.join().substring(0,100)}}`),t?.traceErrors){let c=`${t.traceErrorsMessage||"Failed to execute (silent) code against the kernel"},
Code = ${e}
Error details: `;p.error(`${c} ${a.content.ename},${a.content.evalue}, ${a.content.traceback.join()}`)}let l={ename:a.content.ename,evalue:a.content.evalue,traceback:a.content.traceback,output_type:"error"};o.push(l)}else p.ci(`Got io pub message (${a.header.msg_type})`)},await i.done;let s=Oe(e.substring(0,100)).join("\\n");return t&&jie(o,t,s),p.trace(`Executing silently Code (completed) = ${s} with ${o.length} output(s)`),o}function aj(n,e,t,r){e=e.replace(/\r\n/g,`
`);let i=require("@jupyterlab/services"),o=n.requestExecute({code:e,silent:!1,stop_on_error:!1,allow_stdin:!1,store_history:!1},!0),s=Ft(t);return o.onIOPub=a=>{s(),i.KernelMessage.isStreamMsg(a)?r(uo({output_type:"stream",name:a.content.name,text:a.content.text})):i.KernelMessage.isExecuteResultMsg(a)?r(uo({output_type:"execute_result",data:a.content.data,metadata:a.content.metadata,transient:a.content.transient,execution_count:a.content.execution_count})):i.KernelMessage.isDisplayDataMsg(a)?r(uo({output_type:"display_data",data:QS(a.content.data),metadata:a.content.metadata,transient:a.content.transient})):i.KernelMessage.isUpdateDisplayDataMsg(a)?r(uo({output_type:"display_data",data:QS(a.content.data),metadata:a.content.metadata,transient:a.content.transient})):i.KernelMessage.isErrorMsg(a)?r(uo({output_type:"error",ename:a.content.ename,evalue:a.content.evalue,traceback:a.content.traceback})):i.KernelMessage.isExecuteInputMsg(a)||i.KernelMessage.isStatusMsg(a)||p.warn(`Got unexpected io pub message when executing code sillenty (${a.header.msg_type})`)},o}function jie(n,e,t){n.filter(r=>r.output_type==="error").forEach(r=>{let i=r,o=`${i.ename}: ${i.evalue}
${i.traceback.map(a=>` ${a}`).join(`
`)}`,s=`${e.traceErrorsMessage||""} ${t} ${o}`;e.traceErrors?p.error(s):p.warn(s),e.telemetryName&&R(e.telemetryName)})}var nk="application/vnd.vscode.chat_message",lj=`
def __VSCODE_inject_module():
def __VSCODE_call_function(function, callback, data=None):
__VSCODE_send_chat_message__(function, data, callback=callback)
def __VSCODE_send_chat_message__(function, data, callback):
requests = {}
try:
requests = __VSCODE_send_chat_message__.__requests
except Exception:
__VSCODE_send_chat_message__.__requests = requests
import uuid as __VSCODE_send_chat_message__uuid
import IPython.display as __VSCODE_send_chat_message__ipython_display
id = str(__VSCODE_send_chat_message__uuid.uuid4())
requests[id] = callback
data_is_none = data is None
__VSCODE_send_chat_message__ipython_display.display({"${nk}": data}, metadata={"id":id, "function": function, "dataIsNone": data_is_none}, raw=True)
del __VSCODE_send_chat_message__ipython_display
del __VSCODE_send_chat_message__uuid
def __VSCODE_on_chat_message(id, data):
requests = {}
try:
requests = __VSCODE_send_chat_message__.__requests
except Exception:
__VSCODE_send_chat_message__.__requests = requests
if id in requests:
requests[id](data)
del requests[id]
else:
raise NotImplementedError(f"Callback not found for message {id}")
import sys as __VSCODE_send_chat_message__sys
import IPython as __VSCODE_send_chat_message__IPython
chat = type(__VSCODE_send_chat_message__IPython)("chat")
chat.send_message = __VSCODE_send_chat_message__
chat.call_function = __VSCODE_call_function
chat.__on_message = __VSCODE_on_chat_message
__VSCODE_send_chat_message__sys.modules["vscode"] = type(__VSCODE_send_chat_message__IPython)("vscode")
__VSCODE_send_chat_message__sys.modules["vscode"].chat = chat
del __VSCODE_send_chat_message__sys
del __VSCODE_send_chat_message__IPython
__VSCODE_inject_module()
del __VSCODE_inject_module
`,Jie=[[new RegExp("\\\\","g"),"\\\\"],[new RegExp('"',"g"),'\\"'],[new RegExp("'","g"),"'"],[new RegExp("\\\b","g"),"\\b"],[new RegExp("\\f","g"),"\\f"],[new RegExp("\\n","g"),"\\n"],[new RegExp("\\r","g"),"\\r"],[new RegExp("\\t","g"),"\\t"]];function cj(n,e){let t=ZS(e),r=typeof t=="string"?`"${t}"`:"None";return`
import vscode as __vscode
try:
__vscode.chat.__on_message('${n}', ${r})
finally:
del __vscode
`}function ZS(n){if(typeof n!="string")return n;for(let[e,t]of Jie)n=n.replace(e,t);return n}var eC=new WeakMap;function ik(n,e,t){let i=am(t)?.transient?.display_id;if(t.metadata?.outputType!=="display_data"||!i)return;let o=eC.get(e)||new Map;eC.set(e,o);let s=o.get(n)||[];o.set(n,s),s.push(i),s.length>1e3&&s.shift()}function uj(n,e){let t=eC.get(n)||new Map;for(let r of t.values())if(r.includes(e))return!0;return!1}function dj(n,e,t){return((eC.get(e)||new Map).get(n)||[]).includes(t)}function pj(n,e){let t=eC.get(n)||new Map;for(let r of t.values()){let i=r.indexOf(e);i>=0&&r.splice(i,1)}}var gn=require("vscode");var eg=new Map,mj=new Set,ak=new gn.EventEmitter;Zs(ak);function fj(n){return ak.event(n)}async function hj(n){if(!gn.workspace.isTrusted)return{accessAllowed:!1};if(n===Fe)return{accessAllowed:!0};let e=eg.get(n);return e||(e=Bie(n),eg.set(n,e),e.then(({result:t})=>{(t==="learnMore"||t==="cancelled")&&eg.get(n)===e&&(eg.delete(n),mj.add(n))})),e.then(({result:t})=>({accessAllowed:t==="allowed"}))}async function Bie(n){let e=await nN();if(e.get(n)===!0)return{result:"allowed"};if(e.get(n)===!1)return{result:"denied"};let t=gn.extensions.getExtension(n)?.packageJSON?.displayName;if(!t)return p.error(`Kernel API access revoked, as extension ${n} does not exist!`),{result:"denied"};let r=gn.l10n.t("Allow"),i=gn.l10n.t("Deny"),o=await gn.window.showInformationMessage(gn.l10n.t("Do you want to grant Kernel access to the extension {0} ({1})?",t,n),{modal:!0,detail:gn.l10n.t("This allows the extension to execute code against Jupyter Kernels.")},r,de.learnMore,i);switch(o===de.learnMore?gn.env.openExternal(gn.Uri.parse("https://aka.ms/vscodeJupyterKernelApiAccess")).then(h,h):(o===r||o===i)&&await $ie(n,o===r),o){case r:return{result:"allowed"};case de.learnMore:return{result:"learnMore"};case i:return{result:"denied"};default:return{result:"cancelled"}}}async function gj(){let n=new Set,[e]=await Promise.all([nN().then(t=>new Map(t)),...Array.from(eg.entries()).map(async([t,r])=>{(await r).result!=="allowed"&&n.add(t)})]);return n.forEach(t=>e.set(t,!1)),mj.forEach(t=>e.set(t,e.get(t)===!0)),e}var ok="API.Access",nd;async function nN(n=!1){let e=be.instance.get(et);if(e.extensionMode===gn.ExtensionMode.Test)return new Map;if(Ft(()=>{be.instance.get(M).push(e.secrets.onDidChange(i=>{i.key===ok&&(nd=void 0)}))})(),nd&&!n)return nd;let t="";try{return t=await e.secrets.get(ok),!t||t.length===0?new Map:(nd=new Map(Object.entries(JSON.parse(t))),nd)}catch(r){return p.error(`Failed to parse API access information ${t}`,r),new Map}}var sk=Promise.resolve();async function vj(n){return sk=sk.then(async()=>{await Promise.all(Array.from(eg.entries()).map(async([t,r])=>{let i=await r;i.result=n.includes(t)===!0?"allowed":"denied"})),nd=new Map(n.map(t=>[t,!0]));let e=be.instance.get(et);if(e.extensionMode!==gn.ExtensionMode.Test)try{await e.secrets.store(ok,JSON.stringify(Object.fromEntries(nd))),ak.fire()}catch(t){p.error(`Failed to update API access information ${JSON.stringify(Object.fromEntries(nd))}`,t)}})}async function $ie(n,e){return sk=sk.then(async()=>{let t=be.instance.get(et);if(t.extensionMode===gn.ExtensionMode.Test)return;let r=await nN(!0);if(e!==r.get(n)){r.set(n,e);try{await t.secrets.store(ok,JSON.stringify(Object.fromEntries(r))),ak.fire()}catch(i){p.error(`Failed to store API access information ${JSON.stringify(Object.fromEntries(r))}`,i)}}})}var yj=" (Interactive)",ot=Symbol("IControllerRegistration");var lk=Symbol("IRemoteNotebookKernelSourceSelector"),ck=Symbol("ILocalNotebookKernelSourceSelector"),cm=Symbol("ILocalPythonNotebookKernelSourceSelector"),id=Symbol("IConnectionDisplayData");var oN=class extends RE{constructor(t,r){super();this.controller=t;this.notebook=r}dispose(){this.disposeExistingExecution()}createReferencedObject(t,...r){return this.existingExecutions||(this.existingExecutions=this.controller.createNotebookExecution(this.notebook),this.existingExecutions.start()),this.existingExecutions}destroyReferencedObject(t,r){this.disposeExistingExecution()}disposeExistingExecution(){try{this.existingExecutions?.end()}catch{}this.existingExecutions=void 0}},sN=class n{constructor(e,t,r){this.extensionId=e;this.kernel=t;this.executionRefCountedDisposableFactory=r?new oN(r,t.notebook):void 0;let i=kn.extensions.getExtension(e)?.packageJSON?.displayName||e;this.notebook=kn.workspace.notebookDocuments.find(o=>o.uri.toString()===t.resourceUri?.toString()),this.controllerDisplayName=it(t.kernelConnectionMetadata),this.title=kn.l10n.t("Executing code in {0} from {1}",this.controllerDisplayName,i),this.eventHandler=kn.window.onDidChangeVisibleNotebookEditors(this.showProgressImpl,this)}static{this.notificationsPerExtension=new WeakMap}dispose(){this.eventHandler.dispose(),this.disposable?.dispose(),this.executionRefCountedDisposableFactory?.dispose()}show(){let e=this.executionRefCountedDisposableFactory?.acquire("");if(this.deferred&&!this.deferred.completed){let t=this.deferred;this.deferred=re(),t.resolve()}else this.deferred=re(),this.showProgress().catch(h);return this.disposable=new kn.Disposable(()=>{e?.dispose(),this.deferred?.resolve()})}async showProgress(){await gi(1e3),!(!this.deferred||this.deferred.completed||this.displayInProgress)&&(this.shouldDisplayProgress=!0,await Promise.all([this.showProgressImpl(),this.waitUntilCompleted()]),this.shouldDisplayProgress=!1)}async showProgressImpl(){let e=n.notificationsPerExtension.get(this.kernel)||new Set;n.notificationsPerExtension.set(this.kernel,e),!e.has(this.extensionId)&&(e.add(this.extensionId),!(!this.notebook||!this.shouldDisplayProgress)&&kn.window.visibleNotebookEditors.some(t=>t.notebook===this.notebook)&&(this.displayInProgress=!0,await kn.window.withProgress({location:kn.ProgressLocation.Notification,title:this.title},async()=>this.waitUntilCompleted()),this.displayInProgress=!1))}async waitUntilCompleted(){let e=this.deferred;for(;e&&!e.completed;)await e.promise,e=this.deferred}},aN=class n extends Qt{constructor(t,r,i,o){super();this.extensionId=t;this.kernel=r;this.execution=i;this._onDidChangeStatus=this._register(new kn.EventEmitter);this._onDidReceiveDisplayUpdate=this._register(new kn.EventEmitter);this.progress=this._register(new sN(t,r,o)),this._register(sa(r.onDisposed)(()=>this.progress.dispose())),this.language=r.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel"?ge:r.kernelConnectionMetadata.kernelSpec.language||ge,this._register(this.kernel.onStatusChanged(()=>this._onDidChangeStatus.fire(this.kernel.status))),this._register(i.onDidReceiveDisplayUpdate(a=>{let l=this.kernel.session,c=am(a);c?.outputType==="display_data"&&c?.transient?.display_id&&l&&dj(this.extensionId,l,c?.transient?.display_id)&&this._onDidReceiveDisplayUpdate.fire(a)}));let s=this;this._api=Object.freeze({language:this.language,get status(){return s.kernel.status},onDidChangeStatus:s.onDidChangeStatus.bind(this),get onDidReceiveDisplayUpdate(){if(![Fe,aU].includes(t))throw new Error(`Proposed API is not supported for extension ${t}`);return s.onDidReceiveDisplayUpdate.bind(this)},executeCode:(a,l)=>this.executeCode(a,l),executeChatCode:(a,l,c)=>this.executeChatCode(a,l,c)})}get status(){return this.kernel.status}get onDidChangeStatus(){return this._onDidChangeStatus.event}get onDidReceiveDisplayUpdate(){return this._onDidReceiveDisplayUpdate.event}static createApiKernel(t,r,i,o){let s=new n(t,r,i,o);return be.instance.get(M).push(s),s._api}async checkAccess(){if(this.extensionId===Fe)return;if(this.accessAllowed||(this.accessAllowed=this.doCheckAccess(),this._register(fj(()=>this.accessAllowed=void 0))),!await this.accessAllowed)throw new Error(kn.l10n.t("Access to Jupyter Kernel has been revoked"))}async doCheckAccess(){let r=(await hj(this.extensionId)).accessAllowed;return R("DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",void 0,{extensionId:this.extensionId,pemUsed:"getKernel",accessAllowed:r}),r}async*executeCode(t,r){await this.checkAccess();for await(let i of this.executeCodeInternal(t,void 0,r))yield i}async*executeChatCode(t,r,i){if(await this.checkAccess(),!["ms-vscode.dscopilot-agent",Fe].includes(this.extensionId.toLowerCase()))throw new Error(`Proposed API is not supported for extension ${this.extensionId}`);if(!dt(this.kernel.kernelConnectionMetadata))throw new Error("Chat code execution is only supported for Python kernels");for await(let s of this.executeCodeInternal(t,r,i))yield s}async*executeCodeInternal(t,r={},i){let o=!1,s={executionCount:this.execution.executionCount,requestSentAfter:0,requestAcknowledgedAfter:0,cancelledAfter:0,duration:0},a={kernelId:"",extensionId:this.extensionId,cancelled:!1,requestSent:!1,requestAcknowledged:!1,cancelledBeforeRequestSent:!1,cancelledBeforeRequestAcknowledged:!1,mimeTypes:"",failed:!1},l=new Ue,c=new Set;if(qie(this.extensionId,this.kernel,"executeCode",s.executionCount).catch(h),this.kernel.disposed)throw a.failed=!0,iN(this.kernel,s,a).catch(h),new Error("Kernel is disposed");if(!this.kernel.session?.kernel)throw a.failed=!0,iN(this.kernel,s,a).catch(h),this.kernel.status==="dead"||this.kernel.status==="terminating"?new Error("Kernel is dead or terminating"):new Error("Kernel connection not available to execute 3rd party code");let u=[];u.push({dispose:()=>{s.duration=l.elapsedTime,a.mimeTypes=Array.from(c).join(","),o=!0,iN(this.kernel,s,a).catch(h)}});let d=be.instance.get(De).getKernelExecution(this.kernel),f={started:new kn.EventEmitter,executionAcknowledged:new kn.EventEmitter};f.started.event(()=>{a.requestSent=!0,s.requestSentAfter=l.elapsedTime,!i.isCancellationRequested&&this.extensionId!==Fe&&u.push(this.progress.show())},this,u),f.executionAcknowledged.event(()=>{a.requestAcknowledged=!0,s.requestAcknowledgedAfter=l.elapsedTime},this,u),i.onCancellationRequested(()=>{o||(a.cancelled=!0,s.cancelledAfter=l.elapsedTime,a.cancelledBeforeRequestSent=!a.requestSent,a.cancelledBeforeRequestAcknowledged=!a.requestAcknowledged,p.debug(`Code execution cancelled by extension ${this.extensionId}`))},this,u);try{for await(let g of d.executeCode(t,this.extensionId,f,i))if(ik(this.extensionId,this.kernel.session,g),g.items.forEach(b=>c.add(b.mime)),r&&bj(g))for await(let b of this.handleChatOutput(g,d,f,c,r,i))yield b;else yield g}finally{z(u)}}async*handleChatOutput(t,r,i,o,s={},a){let l=t.items.find(E=>E.mime===nk);if(!l)return;let c=(t.metadata||{}).metadata,u=c.function,d=c.id,f=c.dataIsNone?void 0:new TextDecoder().decode(l.data),g=s[u];if(!g)throw new Error(`Chat Function ${u} not found`);let b=await g(f),I=cj(d,b);for await(let E of r.executeCode(I,this.extensionId,i,a))if(E.items.forEach(x=>o.add(x.mime)),bj(E))for await(let x of this.handleChatOutput(E,r,i,o,s,a))yield x;else yield E}};function bj(n){return n.items.some(e=>e.mime===nk)}async function qie(n,e,t,r){let i=await at(e.id);R("DATASCIENCE.JUPYTER_NEW_KERNEL_API_USAGE",{executionCount:r},{kernelId:i,pemUsed:t,extensionId:n})}async function iN(n,e,t){t.kernelId=await at(n.id),R("DATASCIENCE.JUPYTER_NEW_KERNEL_API_EXEC",e,t)}function uk(n,e){let t=be.instance.get(De),r=be.instance.get(ot).getSelected(e.notebook)?.controller;return aN.createApiKernel(n,e,t.getKernelExecution(e),r)}var Ij=new WeakMap;function Cj(n){return{async getKernel(e){let t,r=be.instance.get(De),i=Sj.workspace.notebookDocuments.find(l=>l.uri.toString()===e.toString()),o=r.get(i||e);if(!o||!o.startedAtLeastOnce){R("DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",void 0,{extensionId:n,pemUsed:"getKernel",accessAllowed:t});return}let s=r.getKernelExecution(o);if(!_t(o.kernelConnectionMetadata)&&s.executionCount===0){R("DATASCIENCE.JUPYTER_NEW_KERNELS_API_USAGE",void 0,{extensionId:n,pemUsed:"getKernel",accessAllowed:t});return}let a=Ij.get(o)||uk(n,o);return Ij.set(o,a),a}}}var od=Symbol("JupyterServerHelper"),dk=Symbol("INotebookImporter"),tg=Symbol("INotebookExporter"),sd=Symbol("IJupyterInterpreterDependencyManager"),rg=Symbol("INbConvertInterpreterDependencyChecker"),pk=Symbol("INbConvertExportToPythonService"),ng=Symbol("IJupyterServerProvider"),$t=Symbol("IJupyterServerUriStorage"),mk=Symbol("IJupyterKernelService"),ad=Symbol("IJupyterRequestAgentCreator"),Dc=Symbol("IJupyterRequestCreator"),fk=Symbol("INotebookStarter"),um=Symbol("ILiveRemoteKernelConnectionUsageTracker"),hk=Symbol("IJupyterRemoteCachedKernelValidator"),jt=Symbol("IJupyterServerProviderRegistry");function gk(n,e,t,r,i){R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:r,pemUsed:"createJupyterServerCollection"});let s=i.get(jt).createJupyterServerCollection(r,n,oh(e),t);return{dispose:()=>{s?.dispose()},get id(){return n},set label(l){s.label=oh(l)},get label(){return s.label},set documentation(l){s.documentation=l},get documentation(){return s.documentation},set commandProvider(l){s.commandProvider=l},get commandProvider(){return s.commandProvider}}}var wj=!1;function Ej(n,e){if(wj)return;wj=!0,e.get(Ht).setApi(n)}var dd=require("vscode");var ig=k(N());var fl=k(N());var ld=class extends qe{constructor(t,r){super("remotejupyterserveruriprovider",r.message||r.toString());this.serverProviderHandle=t;this.originalError=r}};var Oo=class extends qe{constructor(e){super("jupyterselfcert",e)}static isSelfCertsError(e){return e.message.indexOf("reason: self signed certificate")>=0}};var pl=class extends qe{constructor(e){super("jupyterselfexpiredcert",e)}static isSelfCertsExpiredError(e){return e.message.indexOf("reason: certificate has expired")>=0}};var Gr=Symbol("IDataScienceErrorHandler"),xn=class extends qe{constructor(t,r,i){super(t,r);this.kernelConnectionMetadata=i}},ml=class extends rn{constructor(t,r,i){super(t,r);this.kernelConnectionMetadata=i}};var xi=class extends qe{constructor(t,r,i){super("remotejupyterserverconnection",y.remoteJupyterConnectionFailedWithServerWithError(Pj(t),i.message||i.toString()));this.url=t;this.serverProviderHandle=r;this.originalError=i;this.baseUrl=Pj(t)}};function Pj(n){let e=new URL(n);return`${e.protocol}//${e.host}/`}var tC=require("vscode");var kj=require("vscode");var cd=class n extends jn{constructor(t){super();this.serverSettings=t;this._isDisposing=!1;this.kernelSpecManager=new this.jupyterlab.KernelSpecManager({serverSettings:this.serverSettings}),this.kernelManager=new this.jupyterlab.KernelManager({serverSettings:this.serverSettings}),this.sessionManager=new this.jupyterlab.SessionManager({serverSettings:this.serverSettings,kernelManager:this.kernelManager}),this.contentsManager=new this.jupyterlab.ContentsManager({serverSettings:this.serverSettings})}get jupyterlab(){return this._jupyterlab||(this._jupyterlab=require("@jupyterlab/services")),this._jupyterlab}static create(t){return new n(t)}dispose(){this.isDisposed||this._isDisposing||(this._isDisposing=!0,(async()=>{p.trace("Disposing Jupyter Lab Helper");try{this.contentsManager&&(p.trace("SessionManager - dispose contents manager"),this.contentsManager.dispose()),this.sessionManager&&!this.sessionManager.isDisposed&&(p.trace("ShutdownSessionAndConnection - dispose session manager"),await fr(1e4,this.sessionManager.ready),this.sessionManager.dispose()),this.kernelManager?.isDisposed||this.kernelManager?.dispose(),this.kernelSpecManager?.isDisposed||this.kernelSpecManager?.dispose()}catch(t){p.error("Exception on Jupyter Lab Helper shutdown: ",t)}finally{p.trace("Finished disposing Jupyter Lab Helper")}})().catch(h).finally(()=>super.dispose()))}async getRunningSessions(){if(!this.sessionManager)return[];await fr(1e4,this.sessionManager.ready).catch(h),await this.sessionManager.refreshRunning();let t=[],r=this.sessionManager.running(),i=r.next();for(;i;)t.push(i),i=r.next();return t}async getRunningKernels(){let t=await this.jupyterlab.KernelAPI.listRunning(this.serverSettings),r=new Set;return t.map(i=>{let o=i;return{id:i.id,name:i.name,lastActivityTime:o.last_activity?new Date(Date.parse(o.last_activity.toString())):new Date,numberOfConnections:o.connections?parseInt(o.connections.toString(),10):0}}).filter(i=>r.has(i.id)?!1:(r.add(i.id),!0))}async getKernelSpecs(){if(!this.serverSettings||!this.sessionManager||!this.contentsManager)throw new dn;try{let t=new Ue,r=this.kernelSpecManager;if(!r)return p.error(`No SessionManager to enumerate kernelspecs (no specs manager). Returning a default kernel. Specs ${JSON.stringify(this.kernelSpecManager?.specs?.kernelspecs||{})}.`),R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",void 0,{failed:!0,reason:"NoSpecsManager"}),[await Ps()];let i={wasSessionManagerReady:this.sessionManager.isReady,wasSpecsManagerReady:r.isReady,sessionManagerReady:this.sessionManager.isReady,specsManagerReady:r.isReady,waitedForChangeEvent:!1},o=(c={})=>r.specs&&Object.keys(r.specs.kernelspecs).length?r.specs.kernelspecs:c,s=o();await fr(1e4,this.sessionManager.ready),i.sessionManagerReady=this.sessionManager.isReady,await fr(1e4,r.refreshSpecs()),i.specsManagerReady=r.isReady;let a=!1;if(r&&Object.keys(r.specs?.kernelspecs||{}).length===0){let c=[],u=re(),d=u.resolve.bind(u);r.specsChanged.connect(d),c.push(new kj.Disposable(()=>r.specsChanged.disconnect(d)));let f=Promise.all([u.promise,r.ready,r.refreshSpecs(),this.sessionManager.ready]);await fr(1e4,f),i.waitedForChangeEvent=!0,u.completed||(a=!0,R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",void 0,{failed:!0,sessionManagerReady:this.sessionManager.isReady,specsManagerReady:r.isReady,reason:r.isReady?this.sessionManager.isReady?"SpecsDidNotChangeInTime":"SessionManagerIsNotReady":"SpecManagerIsNotReady"})),z(c)}let l=o(s);if(Object.keys(l||{}).length){let c=[];return Object.entries(l).forEach(([u,d])=>{d&&c.push(new ed(d))}),R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",{duration:t.elapsedTime},i),c}else return p.error(`Jupyter Lab Helper cannot enumerate kernelspecs. Returning a default kernel. Specs ${JSON.stringify(l)}.`),a||R("DATASCIENCE.JUPYTER_KERNEL_SPEC_FETCH_FAILURE",void 0,{failed:!0,reason:"NoSpecsEventAfterRefresh"}),[await Ps()]}catch(t){return p.error("Jupyter Lab Helper:getKernelSpecs failure: ",t),[]}}};var on=class{constructor(e,t,r,i,o){this.jupyterPickerRegistration=e;this.configService=t;this.errorHandler=r;this.requestAgentCreator=i;this.requestCreator=o}async createConnectionInfo(e){let t=await this.getJupyterServerUri(e);if(!t)throw new Error(`Unable to get resolved server information for ${e.extensionId}:${e.id}:${e.handle}`);let r={baseUrl:t.connectionInformation.baseUrl.toString(!0),displayName:t.label,token:t.connectionInformation.token||"",authorizationHeader:t.connectionInformation.headers||{},fetch:t.connectionInformation.fetch,mappedRemoteNotebookDir:void 0,WebSocket:t.connectionInformation.WebSocket};return qS(e,r,this.requestCreator,this.requestAgentCreator,this.configService,tC.Uri.file(""))}async validateRemoteUri(e,t,r){let i;if(!t){let s=await this.getJupyterServerUri(e);if(s)t={baseUrl:s.connectionInformation.baseUrl.toString(!0),displayName:s.label,token:s.connectionInformation.token||"",authorizationHeader:s.connectionInformation.headers||{},fetch:s.connectionInformation.fetch,mappedRemoteNotebookDir:void 0,WebSocket:s.connectionInformation.WebSocket};else throw new Error(`Unable to get resolved server information for ${e.extensionId}:${e.id}:${e.handle}`)}let o=qS(e,t,this.requestCreator,this.requestAgentCreator,this.configService,tC.Uri.file(""));try{i=cd.create(o.settings),await Promise.all([i.getRunningKernels(),i.getKernelSpecs()])}catch(s){if(Oo.isSelfCertsError(s)){if(!await $P(this.configService,s.message))throw s}else if(pl.isSelfCertsExpiredError(s)){if(!await qP(this.configService,s.message))throw s}else throw t&&!r&&await this.errorHandler.handleError(new xi(t.baseUrl,e,s)),s}finally{o.dispose(),i&&i.dispose()}}async getJupyterServerUri(e){let t=new tC.CancellationTokenSource;try{let r=this.jupyterPickerRegistration.jupyterCollections.find(l=>l.extensionId===e.extensionId&&l.id===e.id)||await this.jupyterPickerRegistration.activateThirdPartyExtensionAndFindCollection(e.extensionId,e.id);if(!r)return;let i=await Promise.resolve(r.serverProvider.provideJupyterServers(t.token)),o=i?.find(l=>l.id===e.handle);if(!o&&i?.length===0)try{o=await r.serverProvider.resolveJupyterServer({id:e.handle,label:""},t.token)}catch{}if(!o)return;if(o.connectionInformation)return o;let s=await Promise.resolve(r.serverProvider.resolveJupyterServer(o,t.token));if(!s?.connectionInformation)return;let a=Object.assign({},o);return a.connectionInformation=s.connectionInformation,a}catch(r){throw r instanceof qe?r:new ld(e,r)}finally{t.dispose()}}};on=v([(0,fl.injectable)(),m(0,(0,fl.inject)(jt)),m(1,(0,fl.inject)(ie)),m(2,(0,fl.inject)(Gr)),m(3,(0,fl.inject)(ad)),m(3,(0,fl.optional)()),m(4,(0,fl.inject)(Dc))],on);var aa=class{constructor(e,t,r){this.serverUriStorage=e;this.jupyterConnection=t;this.serverProviderRegistry=r}async addJupyterServer(e){if(e.extensionId.toLowerCase()!=La.toLowerCase())throw new Error("Deprecated API");try{await this.jupyterConnection.validateRemoteUri(e)}catch(t){p.error(`Error in validating the Remote Uri ${e.id}.${e.handle}`,t);return}this.serverProviderRegistry.jupyterCollections.some(t=>t.extensionId===e.extensionId)||await this.serverUriStorage.add(e)}};aa=v([(0,ig.injectable)(),m(0,(0,ig.inject)($t)),m(1,(0,ig.inject)(on)),m(2,(0,ig.inject)(jt))],aa);var xj=k(N()),hl=require("vscode");var ud=require("vscode");function sr(n,e=!1){return typeof n!="object"||!n?!1:!!(n instanceof ud.CancellationError||e&&(n.message.includes("Canceled")||n.message.includes(de.canceled)))}async function Xt(n,e,...t){let r;return gE(e)?(t.push(e),r=void 0):r=e,n?n.isCancellationRequested?r:new Promise((i,o)=>{if(n.isCancellationRequested)return i(r);let s=n.onCancellationRequested(()=>{s.dispose(),i(r)});Promise.race(t).then(i,o).finally(()=>s.dispose())}):await Promise.race(t)}async function Zt(n,...e){if(!n)return Promise.race(e);if(n.isCancellationRequested)throw new ud.CancellationError;return new Promise((t,r)=>{if(n.isCancellationRequested)return r(new ud.CancellationError);let i=n.onCancellationRequested(()=>{i.dispose(),r(new ud.CancellationError)});Promise.race(e).then(t,r).finally(()=>i.dispose())})}function og(...n){let e=new ud.CancellationTokenSource,t=[];for(let i of n)i&&(i.isCancellationRequested&&e.cancel(),i.onCancellationRequested(()=>e.cancel(),void 0,t));let r=e.dispose.bind(e);return e.dispose=()=>{r(),z(t)},e}var vn;(e=>{function n(t){if(t?.isCancellationRequested)throw new ud.CancellationError}e.throwIfCanceled=n})(vn||={});function Dj(n){let e=new Map,t=(a,l)=>{if(!e.has(a)){let c={id:a,label:l.displayName,connectionInformation:{baseUrl:hl.Uri.parse(l.baseUrl),token:l.token,fetch:l.fetch,headers:l.authorizationHeader,WebSocket:l.WebSocket}};e.set(a,{serverUri:l,server:c})}return e.get(a).server},r=new hl.EventEmitter,i={async provideJupyterServers(a){let l=n.getHandles?await Zt(a,n.getHandles()):[];return!l||l.length===0?[]:Zt(a,Promise.all(l.map(c=>n.getServerUri(c).then(u=>t(c,u)))))},resolveJupyterServer(a,l){return a},onDidChangeServers:r.event};if(!n.handleQuickPick||!n.getQuickPickEntryItems)return{serverProvider:i};let o=new Map;return{serverProvider:i,commandProvider:{async handleCommand(a,l){let c=o.get(a.label);if(!c||!n.handleQuickPick)return;let u=await Zt(l,n.handleQuickPick(c,!0));if(u==="back")return;if(!u)throw new hl.CancellationError;let d=await n.getServerUri(u);return t(u,d)},async provideCommands(a,l){return n.getQuickPickEntryItems?(await Zt(l,Promise.resolve(n.getQuickPickEntryItems()))).map(u=>{let d={label:oh(u.label),canBeAutoSelected:u.default,description:oh(u.description)};return o.set(d.label,u),d}):[]}}}}var lN=class extends jn{constructor(t,r,i,o){super();this.extensionId=t;this.id=r;this.label=i;this.serverProvider=o;this._onDidChangeProvider=new hl.EventEmitter;this.onDidChangeProvider=this._onDidChangeProvider.event}set commandProvider(t){this._commandProvider=t,this._onDidChangeProvider.fire()}get commandProvider(){return this._commandProvider}},sg=class extends Qt{constructor(){super();this._onDidChangeCollections=new hl.EventEmitter;this._collections=new Map;be.instance.get(M).push(this)}get onDidChangeCollections(){return this._onDidChangeCollections.event}get jupyterCollections(){return Array.from(this._collections.values())}async activateThirdPartyExtensionAndFindCollection(t,r){return await this.loadExtension(t,r).catch(h),this.jupyterCollections.find(i=>i.extensionId===t&&i.id===r)}async loadExtension(t,r){if(t===Fe)return;let i=hl.extensions.getExtension(t);if(!i)throw new Error(`Extension '${t}' that provides Jupyter Server '${r}' not found`);i.isActive||await i.activate().then(h,h)}createJupyterServerCollection(t,r,i,o){let s=`${t}#${r}`;if(this._collections.has(s)&&t!==Fe)throw new Error(`Jupyter Server Provider with id ${s} already exists`);let a=new lN(t,r,i,o);return this._collections.set(s,a),this._onDidChangeCollections.fire({added:[a],removed:[]}),this._register(a.onDidDispose(()=>{this._collections.delete(s),this._onDidChangeCollections.fire({removed:[a],added:[]})},this)),a}};sg=v([(0,xj.injectable)()],sg);var vk=Symbol("IExportedKernelServiceFactory");function Hie(n,e){return new Promise(t=>{e.onDidChange(r=>{for(let i of r.added)_t(i.connection)&&i.connection.serverProviderHandle.id===n.id&&i.connection.serverProviderHandle.handle===n.handle&&t()})})}function _j(n,e){let t=e.get(oa),r=n.id.startsWith("_builtin")?Fe:t.determineExtensionFromCallStack().extensionId;if(p.error(`The API registerRemoteServerProvider has being deprecated and will be removed soon, please use createJupyterServerCollection (extension ${r}).`),r.toLowerCase()!=La.toLowerCase())throw new Error("Deprecated API");R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:r,pemUsed:"registerRemoteServerProvider"});let{serverProvider:i,commandProvider:o}=Dj(n),s=gk(n.id,n.displayName||n.detail||n.id,i,r,e);return o&&(s.commandProvider=o),{dispose:()=>{s.dispose()}}}function Tj(n){return n.then(()=>void 0).catch(e=>(p.error("Failure during activation.",e),Promise.reject(e)))}function Rj(n){let e=n.get(oa);return R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:e.determineExtensionFromCallStack().extensionId,pemUsed:"registerRemoteServerProvider"}),n.get(vk).getService()}async function Aj(n,e,t){let r=t.get(oa);p.error("The API addRemoteJupyterServer has being deprecated and will be removed soon, please use createJupyterServerCollection.");let i=r.determineExtensionFromCallStack().extensionId;if(i.toLowerCase()!=La.toLowerCase())throw new Error("Deprecated API");R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:i,pemUsed:"addRemoteJupyterServer"});let o=t.get(aa),s=t.get(ot),a=Hie({id:n,handle:e},s);await o.addJupyterServer({id:n,handle:e,extensionId:i}),await a}async function Nj(n,e,t){let r=t.get(oa);R("DATASCIENCE.JUPYTER_API_USAGE",void 0,{clientExtId:r.determineExtensionFromCallStack().extensionId,pemUsed:"openNotebook"});let i=t.get(ot),o=typeof e=="string"?e:void 0,s=typeof e=="string"?void 0:e,a=o&&i.all.find(c=>c.id===e)?.id;if(!a&&s&&!Mu()&&(a=i.all.find(c=>c.kind==="startUsingPythonInterpreter"&&c.interpreter.id===s.id)?.id,!a)){let u=await t.get(cm).getKernelConnection(s);a=u&&i.all.find(d=>d.id===u?.id)?.id}if(!a)throw new Error(`Kernel ${e} not found.`);let l=dd.window.activeNotebookEditor?.notebook?.uri?.toString()===n.toString()?dd.window.activeNotebookEditor:await dd.window.showNotebookDocument(await dd.workspace.openNotebookDocument(n));return await dd.commands.executeCommand("notebook.selectKernel",{notebookEditor:l,id:a,extension:Fe}),l.notebook}function Mj(n,e,t,r){let i=t.get(oa),o={ready:Tj(n),registerPythonApi:s=>Ej(s,t),registerRemoteServerProvider:s=>_j(s,t),getKernelService:()=>Rj(t),addRemoteJupyterServer:(s,a)=>Aj(s,a,t),openNotebook:async(s,a)=>Nj(s,a,t),createJupyterServerCollection:(s,a,l)=>gk(s,a,l,i.determineExtensionFromCallStack().extensionId,t),get kernels(){return Cj(i.determineExtensionFromCallStack().extensionId)}};return(Er()||r.extensionMode===cN.ExtensionMode.Development||r.extensionMode===cN.ExtensionMode.Test)&&(o.serviceContainer=t,o.serviceManager=e),o}var Kj=require("vscode"),Oj={codeLoadingTime:0,endActivateTime:0,startActivateTime:0,totalActivateTime:0,workspaceFolderCount:0};function Fj(n,e){if(!Er())try{n.endActivateTime=e.elapsedTime,n.totalActivateTime=e.elapsedTime,Object.assign(Oj,n),Uj(n),R("EXTENSION.LOAD",n)}catch(t){p.error("sendStartupTelemetry() failed.",t)}}function Lj(n,e,t){try{let r={};e.endActivateTime=t.elapsedTime,e.totalActivateTime=t.elapsedTime,Object.assign(Oj,e),Uj(e),R("EXTENSION.LOAD",e,r,n)}catch(r){p.error("sendErrorTelemetry() failed.",r)}}function Uj(n){let e=Kj.workspace.workspaceFolders?.length??0;n.workspaceFolderCount=e}var yk=Symbol("IExtensionActivationManager"),me=Symbol("IExtensionSyncActivationService");var _c=k(N());var gl=Symbol("IEnvironmentVariablesService"),vl=Symbol("ICustomEnvironmentVariablesProvider");var Xe=Symbol("IInterpreterService");var Sk=k(N()),yl=require("vscode");var Gie={JupyterSessionWaitForIdleSession:y.waitingForJupyterSessionToBeIdle,KernelsGetKernelForRemoteConnection:y.gettingListOfKernelsForRemoteConnection,KernelsGetKernelSpecs:y.gettingListOfKernelSpecs,KernelsRegisterKernel:y.registeringKernel,NotebookConnect:y.connectingToJupyter,NotebookStart:y.startingJupyterNotebook,InstallingMissingDependencies:y.installingMissingDependencies,ExportNotebookToPython:y.exportNotebookToPython,PerformingExport:y.performingExport};function Ik(n){return Gie[n]}var st=class{constructor(e){this.kernelResourceProgressReporter=new Map;e.push(this),st.instance=this}activate(){}dispose(){z(Array.from(st.disposables))}static createProgressReporter(e,t,r){if(!st.instance)return new yl.Disposable(h);let i=e?cn(e):"";return st.instance.kernelResourceProgressReporter.has(i)?st.reportProgress(e,t):st.createProgressReporterInternal(i,t,r)}static wrapAndReportProgress(e,t,r){let i=e?cn(e):"";if(!st.instance)return r();let o=st.reportProgressInternal(i,t);return r().finally(()=>o?.dispose())}static reportProgress(e,t){let r=Ik(t)||t,i=e?cn(e):"";return r?st.reportProgressInternal(i,r||""):new yl.Disposable(()=>h)}static reportProgressInternal(e,t){if(!st.instance)return new yl.Disposable(h);let r=st.instance.kernelResourceProgressReporter.get(e);if(r||(r={title:t,pendingProgress:[],progressList:[],dispose:h},st.instance.kernelResourceProgressReporter.set(e,r)),r.reporter)r.progressList.push(t),r.reporter.report({message:t});else{if(r.progressList.includes(t))return new yl.Disposable(h);r.pendingProgress.push(t)}return{dispose:()=>{try{if(!r)return;let i=r.progressList.findIndex(o=>o===t);if(i>=0&&r.progressList.splice(i),r.progressList.length>0){let o=r.progressList[r.progressList.length-1];r.reporter&&r.reporter.report({message:o===r.title&&r.reporter?"":o})}else st.instance.kernelResourceProgressReporter.delete(e),r.dispose()}catch(i){p.error(`Failed to dispose Progress reporter for ${e}`,i)}}}}static createProgressReporterInternal(e,t,r){let i=re(),o=new yl.Disposable(()=>i.resolve()),s=st.instance.kernelResourceProgressReporter.get(e)||{title:t,pendingProgress:[],progressList:[],tokenSources:[],dispose:()=>{o.dispose()}},a=!1,l=()=>{a||(a=!0,yl.window.withProgress({location:yl.ProgressLocation.Notification,title:t},async(c,u)=>{let d=st.instance.kernelResourceProgressReporter.get(e);if(d){for(d.reporter=c;d.pendingProgress.length>0;){let f=d.pendingProgress.shift();f===t?d.progressList.push(f):f!==t&&f&&(d.progressList.push(f),c.report({message:f}))}await Xt(u,i.promise),st.instance.kernelResourceProgressReporter.get(e)===d&&st.instance.kernelResourceProgressReporter.delete(e),st.disposables.delete(o)}}).then(h,h))};return st.instance.kernelResourceProgressReporter.set(e,{...s,dispose:()=>o.dispose(),show:l}),st.disposables.add(o),s.pendingProgress.push(t),r||l(),{dispose:()=>o.dispose(),show:l}}};st.disposables=new Set,st=v([(0,Sk.injectable)(),m(0,(0,Sk.inject)(M))],st);var ag=k(N()),Ck=require("vscode");var br=Symbol("IPlatformService"),tt=Symbol("IFileSystem");var KEe=Symbol("IBufferDecoder"),Di=Symbol("IProcessServiceFactory"),rC=class extends qe{constructor(e){super("unknown",e)}};var uN=class{constructor(e,t){this.uri=e;this.value=t}};function zie(n){return Array.isArray(n)}var Qie,mo=class n{constructor(e,t){this[Qie]="ResourceMap";if(e instanceof n)this.map=new Map(e.map),this.toKey=t??n.defaultToKey;else if(zie(e)){this.map=new Map,this.toKey=t??n.defaultToKey;for(let[r,i]of e)this.set(r,i)}else this.map=new Map,this.toKey=e??n.defaultToKey}static{this.defaultToKey=e=>e.toString()}set(e,t){return this.map.set(this.toKey(e),new uN(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(let[,r]of this.map)e(r.value,r.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(Qie=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},Yie,bl=class{constructor(e,t){this[Yie]="ResourceSet";!e||typeof e=="function"?this._map=new mo(e):(this._map=new mo(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((r,i)=>e.call(t,i,i,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(Yie=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var Xie,Wj=class{constructor(){this[Xie]="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(e){return this._map.has(e)}get(e,t=0){let r=this._map.get(e);if(r)return t!==0&&this.touch(r,t),r.value}set(e,t,r=0){let i=this._map.get(e);if(i)i.value=t,r!==0&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.key,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return i}values(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:r.value,done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return i}entries(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let o={value:[r.key,r.value],done:!1};return r=r.next,o}else return{value:void 0,done:!0}}};return i}[(Xie=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}};var Il=class{constructor(e,t,r){this.processFactory=e;this.platform=t;this.fs=r;this.userSitePaths=new mo}async getExecutablesPath(e){let t=e.executable.uri;if(!(Ve(e)!=="Unknown"||!t)){if(!this.userSitePaths.has(t)){let r=this.getUserSitePathImpl(t);r.catch(()=>{this.userSitePaths.get(t)===r&&this.userSitePaths.delete(t)}),this.userSitePaths.set(t,r)}return this.userSitePaths.get(t)}}async getUserSitePathImpl(e){let t=await this.processFactory.create(void 0),r="USER_BASE_VALUE",i=this.platform.isWindows?"USER_SITE":"USER_BASE",{stdout:o}=await t.exec(e.fsPath,["-c",`import site;print("${r}");print(site.${i});print("${r}");`]);if(o.includes(r)){let s=o.substring(o.indexOf(r)+r.length,o.lastIndexOf(r)).trim(),a=Ck.Uri.file(s),l;if(this.platform.isWindows?l=Ck.Uri.joinPath(yi(a),"Scripts"):l=Ck.Uri.joinPath(a,"bin"),!l||!this.fs.exists(l))throw new Error(`USER_SITE ${l.fsPath} dir does not exist for the interpreter ${j(e)}`);return p.trace(`USER_SITE for ${j(e)} is ${l.fsPath}`),l}else throw new Error(`USER_SITE not found for the interpreter ${j(e)}. Stdout: ${o}`)}};v([Br()],Il.prototype,"getExecutablesPath",1),Il=v([(0,ag.injectable)(),m(0,(0,ag.inject)(Di)),m(1,(0,ag.inject)(br)),m(2,(0,ag.inject)(tt))],Il);var dN=require("vscode");var Vj=6e4,pd=class{constructor(e,t,r,i,o,s){this.interpreterService=e;this.customEnvVarsService=t;this.apiProvider=r;this.extensionChecker=i;this.envVarsService=o;this.globalExecPaths=s;this.disposables=[];this.activatedEnvVariablesCache=new Map;this.cachedEnvVariables=new Map;this.customEnvVarsService.onDidEnvironmentVariablesChange(this.clearCache,this,this.disposables),this.interpreterService.onDidChangeInterpreter(this.clearCache,this,this.disposables),this.interpreterService.onDidEnvironmentVariablesChange(this.clearCache,this,this.disposables)}clearCache(){this.activatedEnvVariablesCache.clear(),this.cachedEnvVariables.clear()}dispose(){this.disposables.forEach(e=>e.dispose())}async getActivatedEnvironmentVariables(e,t,r){let i=y.activatingPythonEnvironment(qr(t));return st.wrapAndReportProgress(e,i,async()=>this.getActivatedEnvironmentVariablesImplWithCaching(e,t.id,r))}async getActivatedEnvironmentVariablesImplWithCaching(e,t,r){let i=await this.interpreterService.resolveEnvironment(t);if(!i){p.warn(`Failed to resolve environment for ${t}`);return}let o=`${e?.toString()||""}${t}`,s=this.activatedEnvVariablesCache.get(o);if(s&&s.time.elapsedTime>=Vj&&this.activatedEnvVariablesCache.delete(o),!this.activatedEnvVariablesCache.has(o)){let l=this.getActivatedEnvironmentVariablesImpl(e,i,r);l.catch(h),this.activatedEnvVariablesCache.set(o,{promise:l,time:new Ue})}let a=this.activatedEnvVariablesCache.get(o).promise;return r?a:Xt(r,a)}async getActivatedEnvironmentVariablesImpl(e,t,r){if(!this.extensionChecker.isPythonExtensionInstalled)return;let i=new Ue;return this.getActivatedEnvironmentVariablesFromPython(e,t,r).then(o=>{if(!r?.isCancellationRequested)return o}).catch(o=>{p.error(`Failed to get env vars with python ${j(t.id)} in ${i.elapsedTime}ms`,o)})}async getActivatedEnvironmentVariablesFromPython(e,t,r){let i=`${e?.toString()||""}${t.id||""}`,o=this.cachedEnvVariables.get(i);if(o&&o.lastRequestedTime.elapsedTime>Vj&&this.cachedEnvVariables.delete(i),!this.cachedEnvVariables.has(i)){let s=this.getActivatedEnvironmentVariablesFromPythonImpl(e,t,r);this.cachedEnvVariables.set(i,{promise:s,lastRequestedTime:new Ue})}return Xt(r,this.cachedEnvVariables.get(i).promise)}async getActivatedEnvironmentVariablesFromPythonImpl(e,t,r){e=e||(dN.workspace.workspaceFolders?.length?dN.workspace.workspaceFolders[0].uri:void 0);let i=new Ue,o=this.customEnvVarsService.getEnvironmentVariables(e,"RunPythonCode").catch(()=>{}),s="emptyVariables",a,l=await this.apiProvider.getApi().then(u=>u.getActivatedEnvironmentVariables(e,t,!1).catch(d=>{p.error(`Failed to get activated env variables from Python Extension for ${j(t.path)}`,d),s="failedToGetActivatedEnvVariablesFromPython"}));if(r?.isCancellationRequested)return;let c=Ve(t);if(R("DS_INTERNAL.GET_ACTIVATED_ENV_VARIABLES",{duration:i.elapsedTime},{envType:c,source:"python",failed:Object.keys(l||{}).length===0,reason:s},a),l?p.debug(`Got env vars from Python Ext in ${i.elapsedTime}ms for ${j(t.path)}, with env var count ${Object.keys(l||{}).length}.`):c==="Conda"?p.error(`Failed to get activated conda env vars for ${j(t.path)}
in ${i.elapsedTime}ms`):p.warn(`Failed to get activated env vars for ${j(t.path)} in ${i.elapsedTime}ms`),!l){let u=await o;if(l={},Ve(t)==="Conda"){let I=await ia(t);I?l.CONDA_PREFIX=I:p.warn(`Failed to get the SysPrefix for the Conda Environment ${j(t.path)}}`)}this.envVarsService.mergeVariables(process.env,l),this.envVarsService.mergeVariables(u,l),this.envVarsService.mergePaths(process.env,l),process.env.PYTHONPATH&&(l.PYTHONPATH=process.env.PYTHONPATH);let d=u?Object.keys(u).find(I=>I.toLowerCase()=="path"):void 0;d&&u[d]&&this.envVarsService.appendPath(l,u[d]),u.PYTHONPATH&&this.envVarsService.appendPythonPath(l,u.PYTHONPATH);let f=await this.globalExecPaths.getExecutablesPath(t).catch(h);if(r?.isCancellationRequested)return;let g=l.PATH||l.Path,b=g?g.split(Vn):[];f&&b[1]!==f.fsPath?(p.trace(`Prepend PATH with user site path for ${j(t.path)}, user site ${f.fsPath}`),this.envVarsService.prependPath(l,f.fsPath)):Vr(t)||p.error(`Unable to determine site packages path for python ${j(t.path)} (${Ve(t)})`),!l.PATH&&l.Path&&(l.PATH=l.Path)}return t.executable.uri&&(p.trace(`Prepend PATH with python bin for ${j(t.path)}`),this.envVarsService.prependPath(l,nt(t.executable.uri.fsPath))),l}};v([Zn("Getting activated env variables",1),m(1,wc("id"))],pd.prototype,"getActivatedEnvironmentVariablesImpl",1),v([m(1,wc("id")),m(2,zu())],pd.prototype,"getActivatedEnvironmentVariablesFromPython",1),pd=v([(0,_c.injectable)(),m(0,(0,_c.inject)(Xe)),m(1,(0,_c.inject)(vl)),m(2,(0,_c.inject)(Ht)),m(3,(0,_c.inject)(Be)),m(4,(0,_c.inject)(gl)),m(5,(0,_c.inject)(Il))],pd);var ks=Symbol("IEnvironmentActivationService");var cg=k(N()),ug=require("vscode");var lg=class{constructor(e,t,r){this.disposables=e;this.extensionChecker=t;this.pythonApi=r;this._changed=new ug.EventEmitter;this._registered=!1;ug.window.onDidChangeActiveNotebookEditor(()=>{this._changed.fire()},this,e)}activate(){this.extensionChecker.isPythonExtensionActive?this.registerStatusFilter():this.pythonApi.onDidActivatePythonExtension(this.registerStatusFilter,this,this.disposables)}get changed(){return this._changed.event}get hidden(){return!!(ug.window.activeNotebookEditor&&Et(ug.window.activeNotebookEditor.notebook))}registerStatusFilter(){this._registered||(this._registered=!0,this.pythonApi.getApi().then(e=>{e.registerInterpreterStatusFilter&&(e.registerInterpreterStatusFilter(this),this._changed.fire())}).catch(h))}};lg=v([(0,cg.injectable)(),m(0,(0,cg.inject)(M)),m(1,(0,cg.inject)(Be)),m(2,(0,cg.inject)(Ht))],lg);function jj(n){n.addSingleton(Ht,Jh),n.addSingleton(Be,Xu),n.addSingleton(Xe,Bh),n.addSingleton(me,lg),n.addSingleton(ks,pd)}var Jj=k(N());var nC=require("vscode");var dg=class{activate(){nC.commands.registerCommand("jupyter.reloadVSCode",this.onReloadVSCode,this)}async onReloadVSCode(e){await nC.window.showInformationMessage(e,de.reload)===de.reload&&nC.commands.executeCommand("workbench.action.reloadWindow").then(h,h)}};dg=v([(0,Jj.injectable)()],dg);var Bj=k(N()),qi=require("vscode");var Tc=class{get activeDebugConsole(){return qi.debug.activeDebugConsole}get activeDebugSession(){return p.ci(`Getting active debug session, ${qi.debug.activeDebugSession?.name}`),qi.debug.activeDebugSession}get breakpoints(){return qi.debug.breakpoints}get onDidChangeActiveDebugSession(){return qi.debug.onDidChangeActiveDebugSession}get onDidStartDebugSession(){return qi.debug.onDidStartDebugSession}get onDidReceiveDebugSessionCustomEvent(){return qi.debug.onDidReceiveDebugSessionCustomEvent}get onDidTerminateDebugSession(){return qi.debug.onDidTerminateDebugSession}get onDidChangeBreakpoints(){return qi.debug.onDidChangeBreakpoints}registerDebugConfigurationProvider(e,t){return qi.debug.registerDebugConfigurationProvider(e,t)}registerDebugAdapterTrackerFactory(e,t){return qi.debug.registerDebugAdapterTrackerFactory(e,t)}startDebugging(e,t,r){return qi.debug.startDebugging(e,t,r)}addBreakpoints(e){qi.debug.addBreakpoints(e)}removeBreakpoints(e){qi.debug.removeBreakpoints(e)}};Tc.instance=new Tc,Tc=v([(0,Bj.injectable)()],Tc);var wk=k(N()),pN=require("vscode");var pg=class{constructor(e){this.extensionContext=e;this.testingState=new Map}async store(e,t,r){if(hi&&this.extensionContext.extensionMode!==pN.ExtensionMode.Production){this.testingState.set(`${e}#${t}`,r||"");return}if(r)await this.extensionContext.secrets.store(`${e}.${t}`,r);else try{await this.extensionContext.secrets.delete(`${e}.${t}`)}catch(i){p.error(i)}}async retrieve(e,t){if(hi&&this.extensionContext.extensionMode!==pN.ExtensionMode.Production)return this.testingState.get(`${e}#${t}`);try{return await this.extensionContext.secrets.get(`${e}.${t}`)}catch{try{await this.extensionContext.secrets.delete(`${e}.${t}`);return}catch(i){p.error(i)}}}};pg=v([(0,wk.injectable)(),m(0,(0,wk.inject)(et))],pg);var Ek=k(N()),iC=require("vscode");var mg=class{constructor(e){this._extensions=[];e.push(iC.extensions.onDidChange(()=>this._extensions=iC.extensions.all)),this._extensions=iC.extensions.all}get extensions(){return this._extensions}determineExtensionFromCallStack(e){e=e||new Error().stack;try{let t=iC.extensions.getExtension(Fe).extensionUri.toString().toLowerCase(),r=[];if(e){r=e.split(`
`).map(l=>{let c=/\((.*)\)/.exec(l),u=c?c[1]:void 0;try{let d=/\((.*)\:\d*\:\d*\)/.exec(l);if(!d)return u;if(!u||u.startsWith(d[1]))return d[1]}catch{}return u}).filter(l=>l&&!l.toLowerCase().startsWith(t));let i=t.split(/[\\/]/),o=i.findIndex(l=>l.startsWith(Fe)),s=o===-1?void 0:i[o-1];IA(new Error("Ex")).forEach(l=>{let c=l.getFileName();c&&!c.toLowerCase().startsWith(t)&&r.push(c)});for(let l of r){let c=this.extensions.find(u=>u.id!==Fe&&(l.toLowerCase().startsWith(u.extensionUri.fsPath.toLowerCase())||l.toLowerCase().startsWith(u.extensionUri.path.toLowerCase())));if(c)return{extensionId:c.id,displayName:c.packageJSON.displayName}}let a=r.find(l=>l.includes(Fe));if(a&&(a=a.substring(0,a.indexOf(Fe)-1)),!s||!a)return{extensionId:th,displayName:y.unknownPackage};for(let l of r.filter(c=>c.startsWith(a)&&!c.includes(Fe))){let c=l.substring(a.length).substring(1).split(/[\\/]/)[0];c.includes("-")&&(c=c.substring(0,c.lastIndexOf("-")));let u=this.extensions.find(d=>d.id===c);if(u)return{extensionId:u.id,displayName:u.packageJSON.displayName}}}return p.error("Unable to determine the caller of the extension API for trace stack",e),p.error("Jupyter Root",t),p.error("Frames",r),{extensionId:th,displayName:y.unknownPackage}}catch(t){return p.error("Unable to determine the caller of the extension API for trace stack.",e),p.error("Failure error",t),{extensionId:th,displayName:y.unknownPackage}}}};mg=v([(0,Ek.injectable)(),m(0,(0,Ek.inject)(M))],mg);var Pk=Symbol("IWorkspaceService"),_i=Symbol("IDebugManager"),Sl=Symbol("IApplicationEnvironment"),oke=Symbol("IWebviewPanelMessageListener"),ske=Symbol("IWebviewViewMessageListener"),ake=Symbol("IWebview"),lke=Symbol("IWebviewView"),cke=Symbol("IWebviewPanel"),md=Symbol("IWebviewPanelProvider"),kk=Symbol("IWebviewViewProvider"),oC=Symbol("IEncryptedStorage");var $j=k(N());var fg=class{constructor(){this._list=[]}async dispose(){let e=this._list.map(t=>t.dispose());await Promise.all(e),this._list=[]}push(e){e&&this._list.push(e)}get list(){return this._list}};fg=v([(0,$j.injectable)()],fg);var vd=k(N()),c9=require("vscode"),sC=k(l9());var Lk=class{setSharedProperty(e,t){_h(e,t)}postEvent(e,t){let r={};t.forEach((i,o)=>{r[o]=i}),R(e,void 0,r)}};var DN=k(require("vscode")),Uk=k(N());var yg=class{constructor(e){this.extensionContext=e}get extensionVersion(){return this.extensionContext.extension.packageJSON.version}};yg=v([(0,Uk.injectable)(),m(0,(0,Uk.inject)(et))],yg);function xs(){return DN.env.appName.indexOf("Insider")>0||DN.env.appName.indexOf("Code - OSS Dev")>=0?"insiders":"stable"}var boe="VSCode.ABExp.FeatureData",_N="vscode",bg=class{constructor(e,t,r){this.configurationService=e;this.appEnvironment=t;this.globalState=r;this._optInto=[];this._optOutFrom=[];this.settings=e.getSettings(void 0);let i=this.settings.experiments.optInto,o=this.settings.experiments.optOutFrom;if(this._optInto=i.filter(l=>!l.endsWith("control")),this._optOutFrom=o.filter(l=>!l.endsWith("control")),!this.enabled)return;let s;xs()==="insiders"?s=sC.TargetPopulation.Insiders:s=sC.TargetPopulation.Public;let a=new Lk;this.experimentationService=(0,sC.getExperimentationService)(Fe,this.appEnvironment.extensionVersion,s,a,this.globalState)}get enabled(){return this.settings.experiments.enabled&&!this.settings.experiments.optOutFrom.includes("All")}async activate(){this.experimentationService&&this.enabled&&(await this.experimentationService.initializePromise,this.getFeatures().length===0&&await this.experimentationService.initialFetch,this.logExperiments())}inExperiment(e){return!this.experimentationService||!this.enabled||this._optOutFrom.includes(e.toString())?!1:this._optInto.includes(e.toString())||this._optInto.includes("All")?(this.experimentationService.getTreatmentVariable(_N,e),!0):e==="DoNotWaitForZmqPortsToBeUsed"&&(xs()==="insiders"||Qf())||e==="DataViewerContribution"&&(xs()==="insiders"||Qf())?!0:this.experimentationService.getTreatmentVariable(_N,e)===!0}async getExperimentValue(e){if(!(!this.experimentationService||!this.enabled||this._optOutFrom.includes(e)))return this.experimentationService.getTreatmentVariable(_N,e)}getFeatures(){return this.globalState.get(boe,{features:[]}).features}logExperiments(){let e=c9.workspace.getConfiguration("telemetry"),t=!1;if(e&&e.get("enableTelemetry")===!1&&(p.info("Telemetry is disabled"),t=!0),e&&e.get("telemetryLevel")==="off"&&(p.info("Telemetry level is off"),t=!0),t&&p.info("Experiments are disabled, only manually opted experiments are active."),this._optOutFrom.includes("All"))return;if(this._optInto.includes("All")){p.info(zp.inGroup("All"));return}let r=new Set(this._optInto),i=new Set;this._optOutFrom.filter(o=>o!=="All").forEach(o=>{p.info(zp.notInGroup(o))}),this._optInto.filter(o=>o!=="All").forEach(o=>{i.add(o),p.info(zp.inGroup(o))}),t&&!i.has("DoNotWaitForZmqPortsToBeUsed")&&(xs()==="insiders"||Qf())&&p.info(zp.inGroup("DoNotWaitForZmqPortsToBeUsed")),t||this.getFeatures().forEach(o=>{o.toLowerCase().startsWith("jupyter")&&!this._optOutFrom.includes(o)&&!this._optInto.includes(o)&&(r.add(o),p.info(zp.inGroup(o)))})}};bg=v([(0,vd.injectable)(),m(0,(0,vd.inject)(ie)),m(1,(0,vd.inject)(Sl)),m(2,(0,vd.inject)(We)),m(2,(0,vd.named)(lt))],bg);var jk=k(N()),Fo=require("vscode");var Vk=require("vscode");function yd(n){Vk.env.openExternal(typeof n=="string"?Vk.Uri.parse(n):n).then(h,h)}var Ioe=[{doNotDisplayPromptStateKey:"SHOW_DEPRECATED_FEATURE_PROMPT_FORMAT_ON_SAVE",message:_S.SHOW_DEPRECATED_FEATURE_PROMPT_FORMAT_ON_SAVE,moreInfoUrl:"https://github.com/Microsoft/vscode-python/issues/309",setting:{setting:"formatting.formatOnSave",values:["true",!0]}},{doNotDisplayPromptStateKey:"SHOW_DEPRECATED_FEATURE_PROMPT_LINT_ON_TEXT_CHANGE",message:_S.SHOW_DEPRECATED_FEATURE_PROMPT_LINT_ON_TEXT_CHANGE,moreInfoUrl:"https://github.com/Microsoft/vscode-python/issues/313",setting:{setting:"linting.lintOnTextChange",values:["true",!0]}},{doNotDisplayPromptStateKey:"SHOW_DEPRECATED_FEATURE_PROMPT_FOR_AUTO_COMPLETE_PRELOAD_MODULES",message:_S.SHOW_DEPRECATED_FEATURE_PROMPT_FOR_AUTO_COMPLETE_PRELOAD_MODULES,moreInfoUrl:"https://github.com/Microsoft/vscode-python/issues/1704",setting:{setting:"autoComplete.preloadModules"}}],Ig=class{constructor(e){this.persistentStateFactory=e;this._onDidChangeFeatures=new Fo.EventEmitter;this.onDidChangeFeatures=this._onDidChangeFeatures.event;this._features={};this.disposables=[];this._updateFeatures(),this.disposables.push(Fo.workspace.onDidChangeConfiguration(()=>{this._updateFeatures()}))}get features(){return this._features}set features(e){this._features=e,this._onDidChangeFeatures.fire()}_updateFeatures(){this.features={}}dispose(){this.disposables.forEach(e=>e.dispose())}initialize(){Ioe.forEach(this.registerDeprecation.bind(this))}registerDeprecation(e){Array.isArray(e.commands)&&e.commands.forEach(t=>{this.disposables.push(Fo.commands.registerCommand(t,()=>this.notifyDeprecation(e),this))}),e.setting&&this.checkAndNotifyDeprecatedSetting(e)}async notifyDeprecation(e){let t=this.persistentStateFactory.createGlobalPersistentState(e.doNotDisplayPromptStateKey,!0);if(!t.value)return;let r="Learn more",i="Never show again",o=await Fo.window.showInformationMessage(e.message,r,i);if(o)switch(o){case r:{yd(e.moreInfoUrl);break}case i:{await t.updateValue(!1);break}default:throw new Error("Selected option not supported.")}}checkAndNotifyDeprecatedSetting(e){let t=!1;Array.isArray(Fo.workspace.workspaceFolders)&&Fo.workspace.workspaceFolders.length>0?Fo.workspace.workspaceFolders.forEach(r=>{t||(t=this.isDeprecatedSettingAndValueUsed(Fo.workspace.getConfiguration("jupyter",r.uri),e.setting))}):t=this.isDeprecatedSettingAndValueUsed(Fo.workspace.getConfiguration("jupyter"),e.setting),t&&this.notifyDeprecation(e).catch(r=>p.debug("Jupyter Extension: notifyDeprecation",r))}isDeprecatedSettingAndValueUsed(e,t){if(!e.has(t.setting))return!1;let r=e.get(t.setting);return!Array.isArray(t.values)||t.values.length===0?Array.isArray(r)?r.length>0:!0:!Array.isArray(t.values)||t.values.length===0?r===void 0?!1:Array.isArray(r)?r.length>0:!0:t.values.indexOf(e.get(t.setting))>=0}};Ig=v([(0,jk.injectable)(),m(0,(0,jk.inject)(il))],Ig);var bd=k(N());var Jk=class{constructor(e,t,r,i){this.storage=e;this.key=t;this.defaultValue=r;this.expiryDurationMs=i}get value(){if(this.expiryDurationMs){let e=this.storage.get(this.key,{data:this.defaultValue});return!e||!e.expiry||e.expiry<Date.now()?this.defaultValue:e.data}else return this.storage.get(this.key,this.defaultValue)}async updateValue(e){this.expiryDurationMs?await this.storage.update(this.key,{data:e,expiry:Date.now()+this.expiryDurationMs}):await this.storage.update(this.key,e)}},Sg=class{constructor(e,t){this.globalState=e;this.workspaceState=t}createGlobalPersistentState(e,t,r){return new Jk(this.globalState,e,t,r)}createWorkspacePersistentState(e,t,r){return new Jk(this.workspaceState,e,t,r)}};Sg=v([(0,bd.injectable)(),m(0,(0,bd.inject)(We)),m(0,(0,bd.named)(lt)),m(1,(0,bd.inject)(We)),m(1,(0,bd.named)(ei))],Sg);var u9="Path",d9="PATH",p9=/^win/.test(process.platform);var m9=k(N()),wl=require("vscode");var _e=class n extends Error{static{this.back=new n("back")}static{this.cancel=new n("cancel")}static{this.resume=new n("resume")}},aC=class{constructor(){this.steps=[]}run(e,t){return this.stepThrough(e,t)}async showQuickPick(e){return this.showLazyLoadQuickPick(e).selection}showLazyLoadQuickPick({title:e,step:t,totalSteps:r,items:i,activeItem:o,placeholder:s,buttons:a,shouldResume:l,matchOnDescription:c,matchOnDetail:u,acceptFilterBoxTextAsSelection:d,startBusy:f,stopBusy:g,validate:b,onDidTriggerItemButton:I,onDidTriggerButton:E,supportBackInFirstStep:x,onDidChangeItems:A,ignoreFocusOut:T}){let J=[],ne=re(),H=wl.window.createQuickPick();return H.title=e,H.step=t,H.totalSteps=r,H.placeholder=s,H.ignoreFocusOut=T??!0,H.items=i,g&&(H.busy=f??!1,g(()=>{H.enabled&&(H.busy=!1)},this,J)),A&&(H.keepScrollPosition=!0,A(oe=>{H.items=oe},this,J)),I&&H.onDidTriggerItemButton(oe=>I(oe),void 0,J),H.matchOnDescription=c||!1,H.matchOnDetail=u||!1,o?H.activeItems=[o]:H.activeItems=[],H.buttons=[...this.steps.length>1||x?[wl.QuickInputButtons.Back]:[],...a||[]],J.push(H.onDidTriggerButton(oe=>{oe===wl.QuickInputButtons.Back?ne.reject(_e.back):E?E(oe):ne.resolve(oe)}),H.onDidChangeSelection(async oe=>{let ae=oe.length?oe[0].label:"",Y=!!ae;if(ae&&b&&oe.length){H.enabled=!1,H.busy=!0;let Ie=await b(oe[0]);Ie&&(Y=!1,await wl.window.showErrorMessage(Ie,{modal:!0})),H.enabled=!0,H.busy=!1}Y&&ne.resolve(oe[0])}),H.onDidHide(()=>{(async()=>{ne.reject(l&&await l()?_e.resume:_e.cancel)})().catch(ne.reject)})),d&&J.push(H.onDidAccept(async()=>{if(!H.busy){let oe=b?await b(H):void 0;oe?(H.enabled=!1,H.busy=!0,await wl.window.showErrorMessage(oe),H.enabled=!0,H.busy=!1):ne.resolve(H.value)}})),this.current&&this.current.dispose(),this.current=H,this.current.show(),ne.promise.finally(()=>z(J)).catch(h),{quickPick:H,selection:ne.promise}}async showInputBox({title:e,step:t,totalSteps:r,value:i,prompt:o,validate:s,password:a,buttons:l,shouldResume:c,validationMessage:u}){let d=[];try{return await new Promise((f,g)=>{let b=wl.window.createInputBox();b.title=e,b.step=t,b.totalSteps=r,b.password=!!a,b.value=i||"",b.prompt=o,b.validationMessage=u||"",b.ignoreFocusOut=!0,b.validationMessage=u||"",b.buttons=[...this.steps.length>1?[wl.QuickInputButtons.Back]:[],...l||[]],d.push(b.onDidTriggerButton(I=>{I===wl.QuickInputButtons.Back?g(_e.back):f(I)}),b.onDidAccept(async()=>{let I=b.value;b.enabled=!1,b.busy=!0;let E=await s(I);E?(b.validationMessage=E,b.show()):(b.validationMessage="",f(I)),b.enabled=!0,b.busy=!1}),b.onDidChangeValue(async()=>{b.validationMessage=""}),b.onDidHide(()=>{(async()=>{b.busy||g(c&&await c()?_e.resume:_e.cancel)})().catch(g)})),this.current&&this.current.dispose(),this.current=b,this.current.show()})}finally{d.forEach(f=>f.dispose())}}async stepThrough(e,t){let r=e;for(;r;){this.steps.push(r),this.current&&(this.current.enabled=!1,this.current.busy=!0);try{r=await r(this,t)}catch(i){if(i===_e.back)this.steps.pop(),r=this.steps.pop();else if(i===_e.resume)r=this.steps.pop();else if(i===_e.cancel)r=void 0;else throw i;if(!r)return i}}this.current&&this.current.dispose()}},wg=Symbol("IMultiStepInputFactory"),Cg=class{create(){return new aC}};Cg=v([(0,m9.injectable)()],Cg);var f9=k(N()),h9=require("vscode");var Eg=class{activate(){h9.languages.getLanguages().then(e=>{e.map(t=>t.toLowerCase()).forEach(t=>{uS.includes(t)||uS.push(t)})},h)}};Eg=v([(0,f9.injectable)()],Eg);var g9=Symbol("IServiceManager"),rt=Symbol("IServiceContainer");var Ac=k(kl());function Cd(n){return Rr()==="Windows"?hn(n).toUpperCase():hn(n)}function wd(n,e){return Cd(n)===Cd(e)}function _g(n,e){return e.endsWith(Tn)||(e+=Tn),n.endsWith(Tn)||(n+=Tn),Cd(n).startsWith(Cd(e))}var vB=require("os"),YN;function yB(n){YN=n}async function bB(n,e={}){return(await YN.get(Di).create(void 0)).shellExec(n,e)}function Tg(n){return Ac.pathExists(n)}function XN(n){return Ac.pathExistsSync(n)}function IB(n){return Ac.readFile(n,"utf-8")}function SB(n){return Ac.readFileSync(n,"utf-8")}var CB=n=>lh(n,(0,vB.homedir)());function wB(n){return YN.get(ie).getSettings()[n]}var xB=k(N()),ym=k(require("os")),DB=k(Fh()),eM=require("vscode");var ZN=require("vscode"),PB=k(require("os"));var EB=PB.homedir();function vm(n){return process.env[n]}function Rg(){if(Rr()==="Windows")return ZN.Uri.file(vm("USERPROFILE")||EB);let n=vm("HOME")||vm("HOMEPATH")||EB;return ZN.Uri.file(n.replace(/\\/g,"/"))}var Ag=k(Fh());function kB(n){n=n.replace(/\.00*(?=[1-9]|0\.)/,".");let e=Ag.coerce(n);return e===null||!Ag.valid(e)?new Ag.SemVer("0.0.0"):e}var xl=class{constructor(){this._homeDir=Rg()||eM.Uri.file(ym.homedir());this._tempDir=eM.Uri.file(ym.tmpdir());this.osType=Rr();this.osType,"Unknown"}get homeDir(){return this._homeDir}get tempDir(){return this._tempDir}get pathVariableName(){return this.isWindows?u9:d9}async getVersion(){if(this.version)return this.version;switch(this.osType){case"Windows":case"OSX":try{let e=(0,DB.coerce)(ym.release());if(e)return this.version=e;throw new Error("Unable to parse version")}catch{return kB(ym.release())}default:throw new Error("Not Supported")}}get isWindows(){return this.osType==="Windows"}get isMac(){return this.osType==="OSX"}get isLinux(){return this.osType==="Linux"}};xl=v([(0,xB.injectable)()],xl);function _B(n){n.addSingleton(br,xl),yB(n.get(rt))}var sx=k(N()),AB=require("vscode");var bm=require("child_process"),ox=require("vscode");var tM="utf8";var nx=require("vscode"),TB=require("os"),ix=nx.Uri.file((0,TB.homedir)());function RB(n,e){let t=e?[{uri:nx.Uri.file(e),name:"",index:0}]:[];return j(n?nx.Uri.file(n):void 0,t,ix)}function zr(n,e=[]){return j(n,e,ix)}function rM(n,e,t){let r=e.reduce((o,s,a)=>{let l=fS(s);return(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'")&&(s.includes("/")||s.includes("\\")))&&(l=`${s[0]}${zr(s.substr(1))}`),a===0?l:`${o} ${l}`},""),i=[`Process Execution: ${zr(n)} ${r}`];t&&t.cwd&&i.push(` > ${mA.currentWorkingDirectory} ${zr(t.cwd.toString())}`),p.info(i.join(`
`))}var nM=class{decode(e){return Buffer.concat(e).toString(tM)}},Ed=class Ed{constructor(e){this.env=e;this.processesToKill=new Set;this.decoder=new nM}static isAlive(e){try{return e?(process.kill(e,0),!0):!1}catch{return!1}}static kill(e){try{if(!e)return;process.platform==="win32"?(0,bm.execSync)(`taskkill /pid ${e} /T /F`):process.kill(e)}catch{}}dispose(){this.processesToKill.forEach(e=>{try{e.dispose()}catch{}})}execObservable(e,t,r={}){let i=this.getDefaultOptions(r),o=(0,bm.spawn)(e,t,i),s=!1;p.ci(`Exec observable ${e}, ${t.join(" ")}`);let a=[],l={dispose:function(){o&&!o.killed&&!s&&Ed.kill(o.pid),o&&o.unref(),z(a)}};this.processesToKill.add(l);let c=oae();a.push(c);let u=(f,g,b)=>{f.on(g,b),a.push({dispose:()=>f.removeListener(g,b)})};r.token&&a.push(r.token.onCancellationRequested(()=>{!s&&!o.killed&&(Ed.kill(o.pid),s=!0)}));let d=(f,g)=>{let b=this.decoder.decode([g]);f==="stderr"&&r.throwOnStdErr?c.reject(new rC(b)):c.fire({source:f,out:b})};return u(o.stdout,"data",f=>d("stdout",f)),u(o.stderr,"data",f=>d("stderr",f)),o.once("close",()=>{s=!0,c.resolve(),a.forEach(f=>f.dispose())}),o.once("exit",()=>{s=!0,c.resolve(),a.forEach(f=>f.dispose())}),o.once("error",f=>{s=!0,c.reject(f),a.forEach(g=>g.dispose())}),rM(e,t,r),{proc:o,out:c,dispose:l.dispose}}exec(e,t,r={}){let i=this.getDefaultOptions(r),o=(0,bm.spawn)(e,t,i),s=re(),a={dispose:()=>{!o.killed&&!s.completed&&Ed.kill(o.pid)}};this.processesToKill.add(a);let l=[],c=(f,g,b)=>{f.on(g,b),l.push({dispose:()=>f.removeListener(g,b)})};r.token&&l.push(r.token.onCancellationRequested(a.dispose));let u=[];c(o.stdout,"data",f=>u.push(f));let d=[];return c(o.stderr,"data",f=>{r.mergeStdOutErr&&u.push(f),d.push(f)}),o.once("close",()=>{if(s.completed)return;let f=d.length===0?void 0:this.decoder.decode(d);if(f&&f.length>0&&r.throwOnStdErr)s.reject(new rC(f));else{let g=this.decoder.decode(u);s.resolve({stdout:g,stderr:f})}l.forEach(g=>g.dispose())}),o.once("error",f=>{s.reject(f),l.forEach(g=>g.dispose())}),rM(e,t,r),s.promise}shellExec(e,t={}){let r=this.getDefaultOptions(t);return new Promise((i,o)=>{let s,a=(0,bm.exec)(e,r,(c,u,d)=>{s?.dispose(),c&&c!==null?o(c):r.throwOnStdErr&&d&&d.length?o(new Error(d)):i({stderr:d&&d.length>0?d:void 0,stdout:u})});t.token&&(s=t.token.onCancellationRequested(()=>{a.exitCode===null&&!a.killed&&(o(new ox.CancellationError),Ed.kill(a.pid))}));let l={dispose:()=>{a.killed||Ed.kill(a.pid)}};this.processesToKill.add(l)})}getDefaultOptions(e){let t={...e},r=t;if(r){let i=r.encoding=typeof r.encoding=="string"&&r.encoding.length>0?r.encoding:tM;delete r.encoding,r.encoding=i}if(!t.env||Object.keys(t.env).length===0){let i=this.env?this.env:process.env;t.env={...i}}else t.env={...t.env};return t.env.PYTHONUNBUFFERED="1",t.env.PYTHONIOENCODING||(t.env.PYTHONIOENCODING="utf-8"),t.env.PYTHON_FROZEN_MODULES||(t.env.PYTHON_FROZEN_MODULES="on"),t}};v([Zn("Execing shell command",5),m(1,zu())],Ed.prototype,"shellExec",1);var Dl=Ed;function oae(){let n=new ox.EventEmitter,e=re();return e.promise.catch(h),{get onDidChange(){return n.event},get done(){return e.promise},resolve:e.resolve.bind(e),reject:e.reject.bind(e),fire:n.fire.bind(n),dispose:()=>{n.dispose()}}}var Im=class{constructor(e){this.envVarsService=e}async create(e,t){if(!AB.workspace.isTrusted)throw new Error("Workspace not trusted");let r=await this.envVarsService.getEnvironmentVariables(e,"RunNonPythonCode",t);return Zs(new Dl(r))}};v([Zn("Create ProcessService",5)],Im.prototype,"create",1),Im=v([(0,sx.injectable)(),m(0,(0,sx.inject)(vl))],Im);function NB(n){n.addSingleton(Di,Im)}var KB=k(require("os")),lx=k(N());var Ng=k(require("vscode")),MB;(l=>{let n=Ng.FileSystemError.FileNotFound().name,e=Ng.FileSystemError.FileExists().name,t=Ng.FileSystemError.FileIsADirectory().name,r=Ng.FileSystemError.FileNotADirectory().name,i=Ng.FileSystemError.NoPermissions().name,o=[n,e,t,r,i];function s(c,u){if(o.includes(c.name))return c.name===u}function a(c){return s(c,n)}l.isFileNotFound=a})(MB||={});function sae(n,e){let t=n.code;if(t)return t===e}function ax(n){let e=MB.isFileNotFound(n);return e!==void 0?e:sae(n,"ENOENT")}var OB=require("vscode");var Mg=class{constructor(e){this.fs=e}async parseFile(e,t){if(e)try{return aae(await this.fs.readFile(OB.Uri.file(e)),t)}catch(r){ax(r)||p.error(`Failed to parse env file ${e}`,r)}}mergeVariables(e,t){t&&Object.keys(e).forEach(r=>{let i=r.toLowerCase();if(i=="pythonpath"||i=="path")return;let o=Object.keys(t).find(s=>s.toLowerCase()===i)||r;t[o]=e[r]})}mergePaths(e,t){let r=Object.keys(e).find(o=>o.toLowerCase()==="path"),i=Object.keys(t).find(o=>o.toLowerCase()==="path")||r;r&&i&&(t[i]=e[r])}appendPythonPath(e,...t){return this.appendPaths(e,"PYTHONPATH",!0,...t)}appendPath(e,...t){return this.appendPaths(e,"PATH",!0,...t)}prependPath(e,...t){return this.appendPaths(e,"PATH",!1,...t)}appendPaths(e,t,r,...i){let o=i.filter(f=>typeof f=="string"&&f.trim().length>0).map(f=>f.trim()).join(Vn);if(o.length===0)return e;let s=t.toLowerCase(),a=e?Object.keys(e).find(f=>f.toLowerCase()==s):void 0,l=e&&a?e[a]:void 0,c=a||t;l&&typeof l=="string"&&l.length>0?r&&!(e[c]||"").endsWith(Vn+o)?e[c]=l+Vn+o:!r&&!(e[c]||"").startsWith(o+Vn)&&(e[c]=o+Vn+l):e[c]=o;let d=["Path","PATH"].find(f=>f!==c);if(KB.platform()==="win32"&&d&&d in e&&typeof e[d]=="string"){let f=e[d],g=d;f&&typeof f=="string"&&f.length>0?r&&!(e[g]||"").endsWith(Vn+o)?e[g]=f+Vn+o:!r&&!(e[g]||"").startsWith(o+Vn)&&(e[g]=o+Vn+f):e[g]=o}return e}};Mg=v([(0,lx.injectable)(),m(0,(0,lx.inject)(tt))],Mg);function aae(n,e){let t=e||{},r={};return n.toString().split(`
`).forEach((i,o)=>{let[s,a]=lae(i);s!==""&&(r[s]=uae(a,r,t))}),r}function lae(n){let e=n.match(/^\s*([a-zA-Z]\w*)\s*=\s*(.*?)?\s*$/);if(!e)return["",""];let t=e[1],r=e[2];return r&&r!==""?r[0]==="'"&&r[r.length-1]==="'"?(r=r.substring(1,r.length-1),r=r.replace(/\\n/gm,`
`)):r[0]==='"'&&r[r.length-1]==='"'&&(r=r.substring(1,r.length-1),r=r.replace(/\\n/gm,`
`)):r="",[t,r]}var cae=/\${([a-zA-Z]\w*)?([^}\w].*)?}/g;function uae(n,e,t,r=""){let i=!1,o=n;return o=o.replace(cae,(s,a,l,c,u)=>c>0&&u[c-1]==="\\"?s:l&&l!==""||!a||a===""?(i=!0,s):e[a]||t[a]||r),!i&&o!==n&&(n=o,R("ENVFILE_VARIABLE_SUBSTITUTION")),n.replace(/\\\$/g,"$")}var _l=k(N());var go=require("vscode");var ca=require("vscode");var iM={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};function oM(n){return Array.isArray?Array.isArray(n):!!(n&&typeof n.length===iM.number&&n.constructor===Array)}function cx(n){return typeof n===iM.string||n instanceof String}function sM(n){return typeof n===iM.object&&n!==null&&!Array.isArray(n)&&!(n instanceof RegExp)&&!(n instanceof Date)}var ux=class{resolve(e){return cx(e)?this.__resolveString(e):oM(e)?this.__resolveArray(e):sM(e)?this.__resolveLiteral(e):e}resolveAny(e){return cx(e)?this.__resolveString(e):oM(e)?this.__resolveAnyArray(e):sM(e)?this.__resolveAnyLiteral(e):e}__resolveString(e){let t=/\$\{(.*?)\}/g;return e.replace(t,(r,i)=>{let o=this[i];return cx(o)?o:r&&(r.indexOf("env.")>0||r.indexOf("env:")>0)?"":r})}__resolveLiteral(e){let t=Object.create(null);return Object.keys(e).forEach(r=>{let i=e[r];t[r]=this.resolve(i)}),t}__resolveAnyLiteral(e){let t=Object.create(null);return Object.keys(e).forEach(r=>{let i=e[r];t[r]=this.resolveAny(i)}),t}__resolveArray(e){return e.map(t=>this.__resolveString(t))}__resolveAnyArray(e){return e.map(t=>this.resolveAny(t))}};var Kg=class extends ux{constructor(t,r){super();let i=t?ca.workspace.getWorkspaceFolder(t):void 0;this._workspaceFolder=i?i.uri.fsPath:r?.fsPath||__dirname,this._workspaceFolderName=Ce(this._workspaceFolder),this._filePath=t?t.fsPath:void 0,ca.window&&ca.window.activeTextEditor&&(this._lineNumber=ca.window.activeTextEditor.selection.anchor.line+1,this._selectedText=ca.window.activeTextEditor.document.getText(new ca.Range(ca.window.activeTextEditor.selection.start,ca.window.activeTextEditor.selection.end))),this._execPath=process.execPath,Object.keys(process.env).forEach(o=>{this[`env:${o}`]=this[`env.${o}`]=process.env[o]})}get cwd(){return this.workspaceFolder}get workspaceRoot(){return this._workspaceFolder}get workspaceFolder(){return this._workspaceFolder}get workspaceRootFolderName(){return this._workspaceFolderName}get workspaceFolderBasename(){return this._workspaceFolderName}get file(){return this._filePath}get relativeFile(){return this.file?_E(this._workspaceFolder,this.file):void 0}get relativeFileDirname(){return this.relativeFile?nt(this.relativeFile):void 0}get fileBasename(){return this.file?Ce(this.file):void 0}get fileBasenameNoExtension(){return this.file?xU(this.file).name:void 0}get fileDirname(){return this.file?nt(this.file):void 0}get fileExtname(){return this.file?Wi(this.file):void 0}get lineNumber(){return this._lineNumber}get selectedText(){return this._selectedText}get execPath(){return this._execPath}};var px=require("vscode"),fC,dx=!1;function FB(){WB()&&UB()}async function LB(n,e){if(WB()){let r=new Kg(e,void 0).resolveAny(VB());await n.exists(px.Uri.file(r))&&UB()}}function UB(){R("ENVFILE_WORKSPACE"),dx=!0}function WB(){return!dx}function VB(){return fC||(fC=px.workspace.getConfiguration("python").inspect("envFile")?.defaultValue||""),fC}var pae;(t=>{function n({telemetrySent:r,defaultSetting:i}){r!==void 0&&(dx=r),VB!==void 0&&(fC=i)}t.setState=n;function e(){fC=void 0,dx=!1}t.resetState=e})(pae||={});var mae=60*1e3,Sm=class{constructor(e,t,r,i,o=mae){this.envVarsService=e;this.extensionChecker=r;this.pythonApi=i;this.cacheDuration=o;this.trackedWorkspaceFolders=new Set;this.fileWatchers=new Set;this.disposables=[];this.changeEventEmitter=new go.EventEmitter;t.push(this)}get onDidEnvironmentVariablesChange(){return this.changeEventEmitter.event}dispose(){this.changeEventEmitter.dispose(),z(this.disposables)}async getEnvironmentVariables(e,t,r){if(e=e||(go.workspace.workspaceFolders?.length?go.workspace.workspaceFolders[0].uri:void 0),t==="RunPythonCode")return this._getEnvironmentVariables(e,t,r);let i=new Jp(this.cacheDuration,this.getCacheKeyForMergedVars(e));if(i.hasData&&i.data)return p.debug(`Cached data exists getEnvironmentVariables, ${e?e.fsPath:"<No Resource>"}`),i.data;let o=this._getEnvironmentVariables(e,t,r);return o.then(s=>{r?.isCancellationRequested||(i.data=s)}).catch(h),o}async getCustomEnvironmentVariables(e,t,r){e=e||(go.workspace.workspaceFolders?.length?go.workspace.workspaceFolders[0].uri:void 0);let i=this.getWorkspaceFolderUri(e);if(!i){p.ci(`No workspace folder found for ${e?e.fsPath:"<No Resource>"}`);return}if(t==="RunPythonCode"&&this.extensionChecker.isPythonExtensionInstalled){let l=await this.pythonApi.getNewApi();if(l&&!r?.isCancellationRequested)return this.pythonEnvVarChangeEventHooked||(this.pythonEnvVarChangeEventHooked=!0,l.environments.onDidEnvironmentVariablesChange(c=>{p.debug(`Python env vars changed ${c.resource?.uri?.path}`),this.onEnvironmentFileChanged(c.resource?.uri),this.changeEventEmitter.fire(c.resource?.uri)},this,this.disposables)),l.environments.getEnvironmentVariables(i)}let o=new Jp(this.cacheDuration,this.getCacheKeyForCustomVars(e));if(o.hasData)return p.debug(`Cached custom vars data exists getCustomEnvironmentVariables, ${e?e.fsPath:"<No Resource>"}`),o.data;if(r?.isCancellationRequested)return;this.trackedWorkspaceFolders.add(i.fsPath||"");let s=this.getEnvFile(i);this.createFileWatcher(s,i);let a=this.envVarsService.parseFile(s,process.env);return a.then(l=>{r?.isCancellationRequested||(o.data=l)}).catch(h),a}createFileWatcher(e,t){let r=this.getCacheKeyForMergedVars(t);if(this.fileWatchers.has(r))return;let i=new go.RelativePattern(go.Uri.file(nt(e)),Ce(e)),o=go.workspace.createFileSystemWatcher(i,!1,!1,!1);o?(this.disposables.push(o),this.fileWatchers.add(r),o.onDidChange(()=>this.onEnvironmentFileChanged(t),this,this.disposables),o.onDidCreate(()=>this.onEnvironmentFileCreated(t),this,this.disposables),o.onDidDelete(()=>this.onEnvironmentFileChanged(t),this,this.disposables)):p.error("Failed to create file watcher for environment file")}getEnvFile(e){return Le(e.fsPath,".env")}async _getEnvironmentVariables(e,t,r){let i=await this.getCustomEnvironmentVariables(e,t,r);if(r?.isCancellationRequested)return{};if(i&&t==="RunPythonCode"&&this.extensionChecker.isPythonExtensionInstalled)return i;i||(i={});let o={};this.envVarsService.mergeVariables(process.env,o),this.envVarsService.mergeVariables(i,o),this.envVarsService.mergePaths(process.env,o),process.env.PYTHONPATH&&(o.PYTHONPATH=process.env.PYTHONPATH);let s=i?Object.keys(i).find(a=>a.toLowerCase()=="path"):void 0;return s&&i[s]&&this.envVarsService.appendPath(o,i[s]),i.PYTHONPATH&&this.envVarsService.appendPythonPath(o,i.PYTHONPATH),o}getWorkspaceFolderUri(e){let t=go.workspace.workspaceFolders||[],r=t.length===1?t[0].uri:void 0;return e&&go.workspace.getWorkspaceFolder(e)?.uri||r}onEnvironmentFileCreated(e){this.onEnvironmentFileChanged(e),FB()}onEnvironmentFileChanged(e){new Jp(this.cacheDuration,this.getCacheKeyForMergedVars(e)).clear(),new Jp(this.cacheDuration,this.getCacheKeyForCustomVars(e)).clear(),this.changeEventEmitter.fire(e)}getCacheKeyForMergedVars(e){return`${bs(e)}:RunNonPythonCode`}getCacheKeyForCustomVars(e){return`${bs(e)}:RunNonPythonCode:CustomVars`}};v([Zn("Get Custom Env Variables",1)],Sm.prototype,"getEnvironmentVariables",1),Sm=v([(0,_l.injectable)(),m(0,(0,_l.inject)(gl)),m(1,(0,_l.inject)(M)),m(2,(0,_l.inject)(Be)),m(3,(0,_l.inject)(Ht)),m(4,(0,_l.inject)("number")),m(4,(0,_l.optional)())],Sm);function jB(n){n.addSingleton(gl,Mg),n.addSingleton(vl,Sm)}var JB=k(N()),Pd=require("vscode");var aM=require("vscode");var Og=class{activate(){Pd.commands.registerCommand("jupyter.runInDedicatedExtensionHost",this.updateAffinity,this)}async updateAffinity(){let e=aM.workspace.getConfiguration("extensions").get("experimental.affinity"),t=0;e&&Object.values(e).forEach(o=>{t=Math.max(t,o)});let r=t+1,i={"ms-toolsai.jupyter":r,"ms-toolsai.jupyter-renderers":r};Pd.extensions.getExtension(Yn)&&(i[Yn]=r),Pd.extensions.getExtension(Vp)&&(i[Vp]=r),await aM.workspace.getConfiguration("extensions").update("experimental.affinity",{...e??{},...i},Pd.ConfigurationTarget.Global),Pd.commands.executeCommand("workbench.action.reloadWindow").then(h,h)}};Og=v([(0,JB.injectable)()],Og);var hC=require("vscode");var Tl=k(N());var BB=["currentServerHash","connectToLocalKernelsOnly","JUPYTER_LOCAL_KERNELSPECS","JUPYTER_LOCAL_KERNELSPECS_V1","JUPYTER_LOCAL_KERNELSPECS_V2","JUPYTER_LOCAL_KERNELSPECS_V3","JUPYTER_REMOTE_KERNELSPECS","JUPYTER_REMOTE_KERNELSPECS_V1","JUPYTER_REMOTE_KERNELSPECS_V2","JUPYTER_REMOTE_KERNELSPECS_V3","JUPYTER_LOCAL_KERNELSPECS_V4","JUPYTER_REMOTE_KERNELSPECS_V4-","LOCAL_KERNEL_SPECS_CACHE_KEY_V_2022_10","LOCAL_KERNEL_PYTHON_AND_RELATED_SPECS_CACHE_KEY_V_2022_10","user-jupyter-server-uri-list-v2","REGISTRATION_ID_EXTENSION_OWNER_MEMENTO_KEY","jupyter.jupyterServer.uriList"],Fg=class{constructor(e,t,r,i){this.globalState=e;this.crypto=t;this.workspaceState=r;this.extensionContext=i}activate(){this.removeOldCachedItems().then(h,h)}async removeOldCachedItems(){await Promise.all([await this.getUriAccountKey()].concat(BB).filter(t=>this.globalState.get(t,void 0)!==void 0).map(t=>this.globalState.update(t,void 0).then(h,h)));let e=this.workspaceState.keys().filter(t=>t.startsWith("LAST_EXECUTED_CELL_")&&!t.startsWith("LAST_EXECUTED_CELL_V2_"));await Promise.all(e.map(t=>this.workspaceState.update(t,void 0))),await Promise.all(BB.map(t=>this.globalState.keys().filter(r=>r.startsWith(t)).map(r=>this.globalState.update(r,void 0).then(h,h))).flat()),await this.extensionContext.secrets.delete(`${Qn.JupyterServerRemoteLaunchService}.remote-uri-list`).then(h,h)}async getUriAccountKey(){let e=ll();return e?this.crypto.createHash(ke(e),"SHA-512"):hC.workspace.workspaceFile?this.crypto.createHash(ke(hC.workspace.workspaceFile),"SHA-512"):hC.env.machineId}};Fg=v([(0,Tl.injectable)(),m(0,(0,Tl.inject)(We)),m(0,(0,Tl.named)(lt)),m(1,(0,Tl.inject)(Ch)),m(2,(0,Tl.inject)(We)),m(2,(0,Tl.named)(ei)),m(3,(0,Tl.inject)(et))],Fg);function $B(n){n.addSingletonInstance(K2,p9),n.addSingleton(oa,mg),n.addSingleton(il,Sg),n.addSingleton(_i,Tc),n.addSingleton(Sl,yg),n.addSingleton(oC,pg),n.addSingleton(Ch,vh),n.addSingleton(gs,bg),n.addSingleton(gP,Ig),n.addSingleton(No,fg),n.addSingleton(wg,Cg),n.addSingleton(me,Eg),n.addSingleton(me,Fg),n.addSingleton(me,dg),n.addSingleton(me,Og),_B(n),NB(n),jB(n)}var fx=k(N());var jo=Le(__dirname,"..");var lM=Le(jo,"pythonFiles"),fae=lM;function qB(){let e=[Le(fae,"normalizeSelection.py")];function t(r){return r}return[e,t]}var Ti=require("vscode");var mx=class{async normalizeLines(e,t){return e}async getFileToExecute(){let e=Ti.window.activeTextEditor;if(!e){Ti.window.showErrorMessage("No open file to run in terminal").then(h,h);return}if(e.document.isUntitled){Ti.window.showErrorMessage("The active file needs to be saved before it can be run").then(h,h);return}if(e.document.languageId!==ge){Ti.window.showErrorMessage("The active file is not a Python source file").then(h,h);return}return e.document.isDirty&&await e.document.save(),e.document.uri}getSelectedTextToExecute(e){if(!e)return;let t=e.selection,r;return t.isEmpty?r=e.document.lineAt(t.start.line).text:t.isSingleLine?r=this.getSingleLineSelectionText(e):r=this.getMultiLineSelectionText(e),sh(r.trimEnd())}async saveFileIfDirty(e){let t=Ti.workspace.textDocuments.filter(r=>r.uri.path===e.path);t.length===1&&t[0].isDirty&&await t[0].save()}getSingleLineSelectionText(e){let t=e.selection,r=new Ti.Range(t.start,t.end),i=e.document.getText(r),o=e.document.lineAt(t.start.line).text;return i.trim()===o.trim()?o:i}getMultiLineSelectionText(e){let t=e.selection,r=new Ti.Range(t.start,t.end),i=e.document.getText(r),o=new Ti.Range(new Ti.Position(t.start.line,0),new Ti.Position(t.end.line,e.document.lineAt(t.end.line).text.length)),s=e.document.getText(o);if(i.trim()===s.trim())return s;let a=e.document.lineAt(t.start.line).text,l=new Ti.Range(t.start,new Ti.Position(t.start.line,a.length)),c=e.document.getText(l);return c.trimStart()===a.trimStart()?a+i.substring(c.length):i}};var Lg=class extends mx{constructor(t){super();this.processServiceFactory=t.get(Di),this.interpreterService=t.get(Xe)}async normalizeLines(t,r){let i=[];try{let o=t.trim();if(o.length===0)return"";if(t=t.replace(new RegExp("\\r","g"),""),o.indexOf(`
`)===-1)return o+`
`;let s=await this.interpreterService.getActiveInterpreter(r),a=await this.processServiceFactory.create(r),[l,c]=qB(),u=a.execObservable(ke(s?.uri)||"python",l,{throwOnStdErr:!0}),d="";u.out.onDidChange(A=>{A.source==="stdout"&&(d+=A.out)},this,i);let f=JSON.stringify({code:t});u.proc?.stdin?.write(f),u.proc?.stdin?.end(),await u.out.done;let b=JSON.parse(d),I=c(b.normalized),E=Oe(t,{trim:!0,removeEmptyEntries:!1}).findIndex(A=>A.length),x=Oe(I,{trim:!0,removeEmptyEntries:!1}).findIndex(A=>A.length);if(E>x){let A=E-x;return`${`
`.repeat(A)}${I}`}return I}catch(o){return p.error(o,"Python: Failed to normalize code for execution in Interactive Window"),t}finally{z(i)}}};Lg=v([(0,fx.injectable)(),m(0,(0,fx.inject)(rt))],Lg);var hx=Symbol("ICodeExecutionHelper");function HB(n){n.addSingleton(hx,Lg)}var kd=k(N()),zB=k(Fh()),gC=require("vscode");var GB="CONDA_INFORMATION_CACHE";function cM(n){return n&&DE(n.fsPath)&&n.fsPath.startsWith(Tn)&&`${Tn}${Ce(n.fsPath)}`===n.fsPath?Ce(n.fsPath):n?.fsPath}var _s=class{constructor(e,t,r){this.pythonApi=e;this.globalState=t;this.fs=r}async getCondaVersion(){if(this._version)return this._version;if(this._previousVersionCall)return this._previousVersionCall;let e=async()=>{let t=this.getCondaVersionFromPython();t.then(i=>{this._version=i,this.updateCache().catch(h)}).catch(h);let r=us(this.getCachedInformation());return await Promise.race([r.promise,t]),r.completed&&r.value?.version?this._version=r.value.version:t};return this._previousVersionCall=e(),this._previousVersionCall}async getCondaFile(){if(this._file)return cM(this._file);if(this._previousFileCall)return this._previousFileCall.then(cM);let e=async()=>{let t=this.pythonApi.getApi().then(i=>i.getCondaFile?i.getCondaFile():void 0);t.then(i=>{p.trace(`Conda file is ${i}`),this._file=i?gC.Uri.file(i):void 0,this.updateCache().catch(h)}).catch(h);let r=us(this.getCachedInformation());return await Promise.race([r.promise,t]),r.completed&&r.value?.file?this._file=r.value.file:t.then(i=>i?gC.Uri.file(i):void 0)};return this._previousFileCall=e(),this._previousFileCall.then(cM)}async isCondaAvailable(){return typeof this.isAvailable=="boolean"?this.isAvailable:this.getCondaVersion().then(e=>this.isAvailable=e!==void 0).catch(()=>this.isAvailable=!1)}async updateCache(){if(!this._file||!this._version)return;let e=this._file.fsPath.toLowerCase().endsWith("conda")?"":await this.fs.getFileHash(this._file);await this.globalState.update(GB,{version:this._version.raw,file:this._file.fsPath,fileHash:e})}async getCachedInformation(){let e=this.globalState.get(GB,void 0);if(!e)return;let t=e.file.toLowerCase().endsWith("conda")?"":await this.fs.getFileHash(gC.Uri.file(e.file));if(e.fileHash===t)return{version:new zB.SemVer(e.version),file:gC.Uri.file(e.file)}}async getCondaVersionFromPython(){return this.pythonApi.getApi().then(e=>e.getCondaVersion?e.getCondaVersion():void 0)}};_s=v([(0,kd.injectable)(),m(0,(0,kd.inject)(Ht)),m(1,(0,kd.inject)(We)),m(1,(0,kd.named)(lt)),m(2,(0,kd.inject)(tt))],_s);var vC=k(N());var YB=k(gx());var QB="_VSCODE_getDataFrame",vx=YB.default`
try:
del _VSCODE_getDataFrame
except:
pass
`,Rl=class{constructor(e,t){this.fs=e;this.context=t}async generateCodeToGetDataFrameInfo(e){let t=await this.getContentsOfDataFrameScript(),r=e.isDebugging?"True":"False",i=`${QB}("info", ${r}, ${e.variableName})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:vx}:{code:`${t}
${i}
${vx}`}}async generateCodeToGetDataFrameRows(e){let t=await this.getContentsOfDataFrameScript(),r=e.isDebugging?"True":"False",i=`${QB}("rows", ${r}, ${e.variableName}, ${e.startIndex}, ${e.endIndex})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:vx}:{code:`${t}
${i}
${vx}`}}async getContentsOfDataFrameScript(){if(Rl.contentsOfDataFrameScript)return Rl.contentsOfDataFrameScript;let e=zt(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","dataframes","vscodeDataFrame.py"),t=await this.fs.readFile(e);return Rl.contentsOfDataFrameScript=t,t}};Rl=v([(0,vC.injectable)(),m(0,(0,vC.inject)(tt)),m(1,(0,vC.inject)(et))],Rl);var bC=k(N());function yx(n,e){e===void 0&&(e=!1);var t=n.length,r=0,i="",o=0,s=16,a=0,l=0,c=0,u=0,d=0;function f(T,J){for(var ne=0,H=0;ne<T||!J;){var oe=n.charCodeAt(r);if(oe>=48&&oe<=57)H=H*16+oe-48;else if(oe>=65&&oe<=70)H=H*16+oe-65+10;else if(oe>=97&&oe<=102)H=H*16+oe-97+10;else break;r++,ne++}return ne<T&&(H=-1),H}function g(T){r=T,i="",o=0,s=16,d=0}function b(){var T=r;if(n.charCodeAt(r)===48)r++;else for(r++;r<n.length&&Ug(n.charCodeAt(r));)r++;if(r<n.length&&n.charCodeAt(r)===46)if(r++,r<n.length&&Ug(n.charCodeAt(r)))for(r++;r<n.length&&Ug(n.charCodeAt(r));)r++;else return d=3,n.substring(T,r);var J=r;if(r<n.length&&(n.charCodeAt(r)===69||n.charCodeAt(r)===101))if(r++,(r<n.length&&n.charCodeAt(r)===43||n.charCodeAt(r)===45)&&r++,r<n.length&&Ug(n.charCodeAt(r))){for(r++;r<n.length&&Ug(n.charCodeAt(r));)r++;J=r}else d=3;return n.substring(T,J)}function I(){for(var T="",J=r;;){if(r>=t){T+=n.substring(J,r),d=2;break}var ne=n.charCodeAt(r);if(ne===34){T+=n.substring(J,r),r++;break}if(ne===92){if(T+=n.substring(J,r),r++,r>=t){d=2;break}var H=n.charCodeAt(r++);switch(H){case 34:T+='"';break;case 92:T+="\\";break;case 47:T+="/";break;case 98:T+="\b";break;case 102:T+="\f";break;case 110:T+=`
`;break;case 114:T+="\r";break;case 116:T+=" ";break;case 117:var oe=f(4,!0);oe>=0?T+=String.fromCharCode(oe):d=4;break;default:d=5}J=r;continue}if(ne>=0&&ne<=31)if(yC(ne)){T+=n.substring(J,r),d=2;break}else d=6;r++}return T}function E(){if(i="",d=0,o=r,l=a,u=c,r>=t)return o=t,s=17;var T=n.charCodeAt(r);if(dM(T)){do r++,i+=String.fromCharCode(T),T=n.charCodeAt(r);while(dM(T));return s=15}if(yC(T))return r++,i+=String.fromCharCode(T),T===13&&n.charCodeAt(r)===10&&(r++,i+=`
`),a++,c=r,s=14;switch(T){case 123:return r++,s=1;case 125:return r++,s=2;case 91:return r++,s=3;case 93:return r++,s=4;case 58:return r++,s=6;case 44:return r++,s=5;case 34:return r++,i=I(),s=10;case 47:var J=r-1;if(n.charCodeAt(r+1)===47){for(r+=2;r<t&&!yC(n.charCodeAt(r));)r++;return i=n.substring(J,r),s=12}if(n.charCodeAt(r+1)===42){r+=2;for(var ne=t-1,H=!1;r<ne;){var oe=n.charCodeAt(r);if(oe===42&&n.charCodeAt(r+1)===47){r+=2,H=!0;break}r++,yC(oe)&&(oe===13&&n.charCodeAt(r)===10&&r++,a++,c=r)}return H||(r++,d=1),i=n.substring(J,r),s=13}return i+=String.fromCharCode(T),r++,s=16;case 45:if(i+=String.fromCharCode(T),r++,r===t||!Ug(n.charCodeAt(r)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=b(),s=11;default:for(;r<t&&x(T);)r++,T=n.charCodeAt(r);if(o!==r){switch(i=n.substring(o,r),i){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return i+=String.fromCharCode(T),r++,s=16}}function x(T){if(dM(T)||yC(T))return!1;switch(T){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function A(){var T;do T=E();while(T>=12&&T<=15);return T}return{setPosition:g,getPosition:function(){return r},scan:e?A:E,getToken:function(){return s},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return r-o},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return o-u},getTokenError:function(){return d}}}function dM(n){return n===32||n===9||n===11||n===12||n===160||n===5760||n>=8192&&n<=8203||n===8239||n===8287||n===12288||n===65279}function yC(n){return n===10||n===13||n===8232||n===8233}function Ug(n){return n>=48&&n<=57}var bx;(function(n){n.DEFAULT={allowTrailingComma:!1}})(bx||(bx={}));function XB(n,e){var t=[],r=new Object,i=void 0,o={value:{},offset:0,length:0,type:"object",parent:void 0},s=!1;function a(l,c,u,d){o.value=l,o.offset=c,o.length=u,o.type=d,o.colonOffset=void 0,i=o}try{fM(n,{onObjectBegin:function(l,c){if(e<=l)throw r;i=void 0,s=e>l,t.push("")},onObjectProperty:function(l,c,u){if(e<c||(a(l,c,u,"property"),t[t.length-1]=l,e<=c+u))throw r},onObjectEnd:function(l,c){if(e<=l)throw r;i=void 0,t.pop()},onArrayBegin:function(l,c){if(e<=l)throw r;i=void 0,t.push(0)},onArrayEnd:function(l,c){if(e<=l)throw r;i=void 0,t.pop()},onLiteralValue:function(l,c,u){if(e<c||(a(l,c,u,ZB(l)),e<=c+u))throw r},onSeparator:function(l,c,u){if(e<=c)throw r;if(l===":"&&i&&i.type==="property")i.colonOffset=c,s=!1,i=void 0;else if(l===","){var d=t[t.length-1];typeof d=="number"?t[t.length-1]=d+1:(s=!0,t[t.length-1]=""),i=void 0}}})}catch(l){if(l!==r)throw l}return{path:t,previousNode:i,isAtPropertyKey:s,matches:function(l){for(var c=0,u=0;c<l.length&&u<t.length;u++)if(l[c]===t[u]||l[c]==="*")c++;else if(l[c]!=="**")return!1;return c===l.length}}}function pM(n,e,t){e===void 0&&(e=[]),t===void 0&&(t=bx.DEFAULT);var r={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(l){r.type==="property"&&(r.length=l-r.offset,r=r.parent)}function o(l){return r.children.push(l),l}var s={onObjectBegin:function(l){r=o({type:"object",offset:l,length:-1,parent:r,children:[]})},onObjectProperty:function(l,c,u){r=o({type:"property",offset:c,length:-1,parent:r,children:[]}),r.children.push({type:"string",value:l,offset:c,length:u,parent:r})},onObjectEnd:function(l,c){i(l+c),r.length=l+c-r.offset,r=r.parent,i(l+c)},onArrayBegin:function(l,c){r=o({type:"array",offset:l,length:-1,parent:r,children:[]})},onArrayEnd:function(l,c){r.length=l+c-r.offset,r=r.parent,i(l+c)},onLiteralValue:function(l,c,u){o({type:ZB(l),offset:c,length:u,parent:r,value:l}),i(c+u)},onSeparator:function(l,c,u){r.type==="property"&&(l===":"?r.colonOffset=c:l===","&&i(c))},onError:function(l,c,u){e.push({error:l,offset:c,length:u})}};fM(n,s,t);var a=r.children[0];return a&&delete a.parent,a}function mM(n,e){if(n){for(var t=n,r=0,i=e;r<i.length;r++){var o=i[r];if(typeof o=="string"){if(t.type!=="object"||!Array.isArray(t.children))return;for(var s=!1,a=0,l=t.children;a<l.length;a++){var c=l[a];if(Array.isArray(c.children)&&c.children[0].value===o){t=c.children[1],s=!0;break}}if(!s)return}else{var u=o;if(t.type!=="array"||u<0||!Array.isArray(t.children)||u>=t.children.length)return;t=t.children[u]}}return t}}function Ix(n){switch(n.type){case"array":return n.children.map(Ix);case"object":for(var e=Object.create(null),t=0,r=n.children;t<r.length;t++){var i=r[t],o=i.children[1];o&&(e[i.children[0].value]=Ix(o))}return e;case"null":case"string":case"number":case"boolean":return n.value;default:return}}function fM(n,e,t){t===void 0&&(t=bx.DEFAULT);var r=yx(n,!1);function i(Y){return Y?function(){return Y(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:function(){return!0}}function o(Y){return Y?function(Ie){return Y(Ie,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter())}:function(){return!0}}var s=i(e.onObjectBegin),a=o(e.onObjectProperty),l=i(e.onObjectEnd),c=i(e.onArrayBegin),u=i(e.onArrayEnd),d=o(e.onLiteralValue),f=o(e.onSeparator),g=i(e.onComment),b=o(e.onError),I=t&&t.disallowComments,E=t&&t.allowTrailingComma;function x(){for(;;){var Y=r.scan();switch(r.getTokenError()){case 4:A(14);break;case 5:A(15);break;case 3:A(13);break;case 1:I||A(11);break;case 2:A(12);break;case 6:A(16);break}switch(Y){case 12:case 13:I?A(10):g();break;case 16:A(1);break;case 15:case 14:break;default:return Y}}}function A(Y,Ie,Ke){if(Ie===void 0&&(Ie=[]),Ke===void 0&&(Ke=[]),b(Y),Ie.length+Ke.length>0)for(var pt=r.getToken();pt!==17;){if(Ie.indexOf(pt)!==-1){x();break}else if(Ke.indexOf(pt)!==-1)break;pt=x()}}function T(Y){var Ie=r.getTokenValue();return Y?d(Ie):a(Ie),x(),!0}function J(){switch(r.getToken()){case 11:var Y=r.getTokenValue(),Ie=Number(Y);isNaN(Ie)&&(A(2),Ie=0),d(Ie);break;case 7:d(null);break;case 8:d(!0);break;case 9:d(!1);break;default:return!1}return x(),!0}function ne(){return r.getToken()!==10?(A(3,[],[2,5]),!1):(T(!1),r.getToken()===6?(f(":"),x(),ae()||A(4,[],[2,5])):A(5,[],[2,5]),!0)}function H(){s(),x();for(var Y=!1;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(Y||A(4,[],[]),f(","),x(),r.getToken()===2&&E)break}else Y&&A(6,[],[]);ne()||A(4,[],[2,5]),Y=!0}return l(),r.getToken()!==2?A(7,[2],[]):x(),!0}function oe(){c(),x();for(var Y=!1;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(Y||A(4,[],[]),f(","),x(),r.getToken()===4&&E)break}else Y&&A(6,[],[]);ae()||A(4,[],[4,5]),Y=!0}return u(),r.getToken()!==4?A(8,[4],[]):x(),!0}function ae(){switch(r.getToken()){case 3:return oe();case 1:return H();case 10:return T(!0);default:return J()}}return x(),r.getToken()===17?t.allowEmptyContent?!0:(A(4,[],[]),!1):ae()?(r.getToken()!==17&&A(9,[],[]),!0):(A(4,[],[]),!1)}function ZB(n){switch(typeof n){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(n){if(Array.isArray(n))return"array"}else return"null";return"object"}default:return"null"}}var hM=XB;var e3=pM,t3=mM;var r3=Ix;var vM=require("vscode");var Sx=k(N()),Nc=require("vscode");var ri=class{constructor(e){this.disposables=[];this._onDidChange=new Nc.EventEmitter;e.push(this),tn()||Nc.workspace.onDidChangeConfiguration(t=>{t.affectsConfiguration("jupyter.kernels.excludePythonEnvironments")&&this._onDidChange.fire()},this,this.disposables)}get onDidChange(){return this._onDidChange.event}dispose(){this._onDidChange.dispose(),z(this.disposables)}isPythonEnvironmentExcluded(e){if(tn())return!1;let t=this.getExcludedPythonEnvironments(),r=gM(e,t),i="uri"in e?e.uri:e.executable.uri;return r&&(R("DATASCIENCE.JUPYTER_KERNEL_HIDDEN_VIA_FILTER"),p.debug(`Python Env hidden via filter: ${j(i)}`)),r}getExcludedPythonEnvironments(){if(!Nc.workspace.workspaceFolders||Nc.workspace.workspaceFolders.length===0)return Nc.workspace.getConfiguration("jupyter",void 0).get("kernels.excludePythonEnvironments",[]);let e=[];return Nc.workspace.workspaceFolders.forEach(t=>{e.push(...Nc.workspace.getConfiguration("jupyter",t.uri).get("kernels.excludePythonEnvironments",[]))}),e}};ri=v([(0,Sx.injectable)(),m(0,(0,Sx.inject)(M))],ri);function gM(n,e){let t="uri"in n?n.envPath:n.environment?.folderUri,r="uri"in n?n.uri:n.executable.uri;return!r&&!t?!1:e.some(o=>{let s=j(o.trim()).toLowerCase().replace(/\\/g,"/");if(o=o.trim().toLowerCase().replace(/\\/g,"/"),o.length===0||s.length===0)return!1;let a=j(r).toLowerCase().replace(/\\/g,"/"),l=r?r.fsPath.toLowerCase().replace(/\\/g,"/"):"";if(o===a||s===a||o===l||s===l)return!0;let c=j(t||"").toLowerCase().replace(/\\/g,"/"),u=j(t||"").toLowerCase().replace(/\\/g,"/");return o===c||s===c||o===u||s===u})}var xd=class{constructor(e,t){this.disposableRegistry=e;this.pythonExtChecker=t;this.supportedWorkspaceTypes={untrustedWorkspace:!1,virtualWorkspace:!1}}async activate(){this.disposableRegistry.push(vM.languages.registerCompletionItemProvider({language:"json"},this,",","[")),this.disposableRegistry.push(vM.languages.registerCompletionItemProvider({language:"jsonc"},this,",","["))}async provideCompletionItems(e,t,r){if(!this.pythonExtChecker.isPythonExtensionInstalled||!this.pythonExtChecker.isPythonExtensionActive||so().length===0||!xd.canProvideCompletions(e,t))return[];let i=this.getCurrentItemsInList(e,t);return so().filter(o=>!gM(o,i)).map(o=>{let s=qr(o),a=j(o.executable.uri);return{label:s,detail:a,insertText:`"${a.replace(/\\/g,"\\\\")}"`,filterText:`${s} ${a}`}})}static canProvideCompletions(e,t){if(Ce(e.uri.fsPath)!=="settings.json")return!1;let r=hM(e.getText(),e.offsetAt(t));return r.path[0]==="jupyter.kernels.excludePythonEnvironments"&&r.path.length===2}getCurrentItemsInList(e,t){try{let r=e.getText(),i=hM(r,e.offsetAt(t)),o=e3(r),s=t3(o,[i.path[0]]);if(!s)return[];let a=r3(s);return Array.isArray(a)?a:[]}catch(r){return p.warn("Failed to provide completions for python env filter",r),[]}}};xd=v([(0,bC.injectable)(),m(0,(0,bC.inject)(M)),m(1,(0,bC.inject)(Be))],xd);var n3=k(N()),Ri=require("vscode");var Wg=class{activate(){this.migrateFilters().catch(h)}async migrateFilters(){let e=Array.isArray(Ri.workspace.workspaceFolders)?Ri.workspace.workspaceFolders:[];await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",void 0),Ri.ConfigurationTarget.Global),e.length===0?await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",void 0),Ri.ConfigurationTarget.Global):e.length===1?await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",e[0].uri),Ri.ConfigurationTarget.WorkspaceFolder):(await this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",void 0),Ri.ConfigurationTarget.Workspace),await Promise.all(e.map(t=>this.migrateWorkspaceFilters(Ri.workspace.getConfiguration("jupyter",t.uri),Ri.ConfigurationTarget.WorkspaceFolder))))}async migrateWorkspaceFilters(e,t){let r=e.inspect("kernels.filter"),i=[];switch(t){case Ri.ConfigurationTarget.Global:i=r?.globalValue||[];break;case Ri.ConfigurationTarget.Workspace:i=r?.workspaceValue||[];break;default:i=r?.workspaceFolderValue||[]}let o=i.filter(s=>s.type==="pythonEnvironment").map(s=>s.path);i.length&&await e.update("kernels.filter",void 0,t),o.length&&await e.update("kernels.excludePythonEnvironments",Array.from(new Set(o)),t)}};Wg=v([(0,n3.injectable)()],Wg);var Cx=k(N());var yM=require("vscode");var Vg=class{constructor(e){this.disposables=e}activate(){this.disposables.push(yM.commands.registerCommand("jupyter.filterKernels",()=>yM.commands.executeCommand("workbench.action.openSettings","jupyter.kernels.excludePythonEnvironments").then(h,h),this))}};Vg=v([(0,Cx.injectable)(),m(0,(0,Cx.inject)(M))],Vg);var Ex=k(N());var Cm=Symbol("IModuleInstaller"),b1e=Symbol("IPythonInstallation"),wx=Symbol("IInstallationChannelManager"),IC=Symbol("IProductService"),SC=Symbol("IProductPathService");var Ai=Symbol("IInstaller");var Jg=require("vscode");var jg=class{constructor(e){this.serviceContainer=e}async getInstallationChannel(e,t){let r=await this.getInstallationChannels(t);if(r.length>=1)return r[0];if(r.length===0){await this.showNoInstallersMessage(t);return}}async getInstallationChannels(e){let t=this.serviceContainer.getAll(Cm),r=[];if(t.length===0)return[];t.sort((o,s)=>s.priority-o.priority);let i=t[0].priority;for(let o of t){if(o.priority!==i){if(r.length>0)break;i=o.priority}await o.isSupported(e)&&r.push(o)}return r}async showNoInstallersMessage(e){let t=Ve(e);if(await Jg.window.showErrorMessage(t==="Conda"?bh.noCondaOrPipInstaller:bh.noPipInstaller,{modal:!0},bh.searchForHelp)===bh.searchForHelp){let i=this.serviceContainer.get(br),o=i.isWindows?"Windows":i.isMac?"MacOS":"Linux";Jg.env.openExternal(Jg.Uri.parse(`https://www.bing.com/search?q=Install Pip ${o} ${t==="Conda"?"Conda":""}`))}}};jg=v([(0,Ex.injectable)(),m(0,(0,Ex.inject)(rt))],jg);var xx=k(N());var Px=require("vscode");function Gi(n){switch(n){case 18:return"jupyter";case 20:return"notebook";case 23:return"pandas";case 19:return"ipykernel";case 22:return"nbconvert";case 21:return"kernelspec";case 27:return"pip";case 28:return"ensurepip";default:throw new Error(`Product ${n} cannot be installed as a Python Module.`)}}var i3=require("os");var Bg=class extends qe{constructor(t,r,i){super("windowsLongPathNotEnabled",i);this.product=t;this.interpreter=r;this.originalMessage=i}};var Nr=Symbol("IPythonExecutionFactory"),O1e=Symbol("IPythonExecutionService");var Al=class{constructor(e){this.serviceContainer=e}async installModule(e,t,r,i){let o=typeof e=="string"?e:Gi(e),s=await this.getExecutionArgs(o,t,i),a=this.serviceContainer.get(Nr),l=this.serviceContainer.get(Di),c=this.serviceContainer.get(ks),u=this.serviceContainer.get(gl);if(r.token.isCancellationRequested)return;let d=async(g,b)=>{let I=re(),E=[];b.onCancellationRequested(()=>{r.cancel(),I.resolve()},this,E);let x;if(s.useShellExec){let H=await l.create(void 0);if(r.token.isCancellationRequested)return;try{let oe=await H.shellExec(s.args.join(" "),{cwd:s.cwd});p.debug(oe.stdout),I.resolve()}catch(oe){I.reject(oe)}}else if(s.exe){let H=await c.getActivatedEnvironmentVariables(void 0,t);if(r.token.isCancellationRequested)return;let oe={...process.env};u.mergeVariables(H||{},oe),u.mergePaths(H||{},oe);let ae=await l.create(void 0);if(r.token.isCancellationRequested)return;x=ae.execObservable(s.exe,s.args,{encoding:"utf-8",token:b,env:oe,cwd:s.cwd})}else{let H=await a.createActivatedEnvironment({interpreter:t});if(r.token.isCancellationRequested)return;x=H.execObservable(s.args,{encoding:"utf-8",token:b,cwd:s.cwd})}let A,T,J=[".","..","..."],ne=0;return x&&(x.out.onDidChange(H=>{let oe=J[ne%3],ae=H.out.trim();ne+=1;let Y=ae.length>28?`${ae.substring(0,28)}${oe}`:ae;g.report({message:Y}),p.debug(H.out),H.source==="stderr"&&(T?T+=H.out:!T&&H.out.includes("ERROR: Could not install packages")&&(T=H.out.substring(H.out.indexOf("ERROR: Could not install packages"))),A=H.out)},this,E),x.out.done.then(()=>{x?.proc?.exitCode!==0?T&&T.includes("https://pip.pypa.io/warnings/enable-long-paths")?(T=Oe(T,{trim:!0,removeEmptyEntries:!0}).filter(H=>!H.startsWith("[notice]")).join(i3.EOL),I.reject(new Bg(e,t,T))):I.reject(A||x?.proc?.exitCode):I.resolve()},H=>{I.reject(H)}).finally(()=>z(E))),I.promise},f={location:Px.ProgressLocation.Notification,cancellable:!0,title:gA.installingModule(o)};await Px.window.withProgress(f,async(g,b)=>d(g,b))}};var Cae=[Gi(18),Gi(20)];function kx(n,e){return Cae.includes(e)?n==="pip"?["jupyter-client<8","pyzmq<25"]:["jupyter_client<8","pyzmq<25"]:[]}var o3=require("vscode");var $g=class extends Al{constructor(t){super(t)}get name(){return"Conda"}get displayName(){return"Conda"}get type(){return"Conda"}get priority(){return 0}async isSupported(t){if(this._isCondaAvailable===!1)return!1;let r=this.serviceContainer.get(_s);return this._isCondaAvailable=await r.isCondaAvailable(),this._isCondaAvailable?Ve(t)==="Conda":!1}async installModule(t,r,i,o){if(await super.installModule(t,r,i,o),Vr(r)){if(!this.serviceContainer.get(Be).isPythonExtensionActive)return;let l=await this.serviceContainer.get(Xe).getInterpreterDetails(r.id);l&&!Vr(l)&&Object.assign(r,l)}}async getExecutionArgs(t,r,i=0){let s=await this.serviceContainer.get(_s).getCondaFile(),a=Pr(r)?.environment?.name,l=this.getEnvironmentPath(r),c=[i&1?"update":"install"];return[19,23,22,18,20].map(Gi).includes(t)&&c.push("-c","conda-forge"),a?(c.push("--name"),c.push(fS(a))):l&&(c.push("--prefix"),c.push(hS(l))),i&2&&c.push("--update-deps"),i&4&&c.push("--force-reinstall"),c.push(t),c.push(...kx("conda",t)),c.push("-y"),{exe:s,args:c}}getEnvironmentPath(t){let r,i=Pr(t);if(i?.environment?.folderUri)return i.environment.folderUri.fsPath;r=i?.executable.uri||o3.Uri.file(t.id);let o=nt(r.fsPath),s=Ce(o);return["BIN","SCRIPTS"].indexOf(s.toUpperCase())!==-1?Le(o,".."):o}};$g=v([(0,xx.injectable)(),m(0,(0,xx.inject)(rt))],$g);var _x=k(N());function wae(){let n=vm("PIPENV_MAX_DEPTH");if(n===void 0)return 3;let e=parseInt(n,10);return isNaN(e)?(p.error(`PIPENV_MAX_DEPTH is incorrectly set. Converting value '${n}' to number results in NaN`),1):e}async function s3(n,e){let t=vm("PIPENV_PIPFILE")||"Pipfile",r=e.lookIntoParentDirectories?wae():1;for(;r>0&&!wd(n,nt(n));){let i=Le(n,t);if(await Tg(i))return i;n=nt(n),r-=1}}async function Eae(n){let e=Le(n,".project");if(!await Tg(e))return;let t=await IB(e);if(!await Tg(t)){p.error(`The .project file inside environment folder: ${n} doesn't contain a valid path to the project`);return}return t}async function Pae(n){let e=nt(nt(n.fsPath)),t=await Eae(e);if(!(t===void 0||!Ce(Cd(e)).startsWith(`${Ce(Cd(t))}-`)))return s3(t,{lookIntoParentDirectories:!1})}async function a3(n,e){let t=await Pae(n);if(!t)return!1;let r=vm("PIPENV_NO_INHERIT")===void 0,i=await s3(e.fsPath,{lookIntoParentDirectories:r});return i?wd(t,i):!1}var Dx=require("vscode");function CC(n){let e="executable"in n?n.executable.uri||Dx.Uri.file(n.path):n.uri;return Dx.workspace.getWorkspaceFolder(e)?.uri||ll()}var c3=require("vscode");var l3="pipenv",qg=class extends Al{constructor(e){super(e)}get name(){return"pipenv"}get type(){return"Pipenv"}get displayName(){return l3}get priority(){return 10}async isSupported(e){if(Nu(e)){let t=await this.serviceContainer.get(Xe).getActiveInterpreter(e),r=e?c3.workspace.getWorkspaceFolder(e):void 0;return!t||!r||Ve(t)!=="PipEnv"?!1:a3(t.uri,r.uri)}else return Ve(e)==="PipEnv"}async getExecutionArgs(e,t,r=0){let o=[r&4||r&2||r&1?"update":"install",e,"--dev"],s=CC(t);return{args:o,exe:l3,cwd:s?ke(s):void 0}}};qg=v([(0,_x.injectable)(),m(0,(0,_x.inject)(rt))],qg);var Tx=k(N());var u3=require("vscode");var Hg=class extends Al{constructor(e){super(e)}get name(){return"Pip"}get type(){return"Pip"}get displayName(){return"Pip"}get priority(){return 0}async isSupported(e){switch(Ve(e)){case"Conda":case"PipEnv":case"Poetry":return!1}return this.isPipAvailable(e)}async getExecutionArgs(e,t,r=0){if(e===Gi(27))return await this.serviceContainer.get(Ai).isInstalled(28,t)?{args:["-m","ensurepip"]}:{args:[Le(lM,"get-pip.py")]};let i=[],o=u3.workspace.getConfiguration("http").get("proxy","");return o.length>0&&(i.push("--proxy"),i.push(o)),i.push("install","-U"),r&4&&i.push("--force-reinstall"),Ve(t)==="Unknown"&&i.push("--user"),{args:["-m","pip",...i,e].concat(kx("pip",e))}}isPipAvailable(e){return this.serviceContainer.get(Nr).create({resource:void 0,interpreter:e}).then(r=>r.isModuleInstalled("pip")).catch(()=>!1)}};Hg=v([(0,Tx.injectable)(),m(0,(0,Tx.inject)(rt))],Hg);var wC=k(N());var kae=5e4,Mc=class Mc{constructor(e,t){this.command=e;this.cwd=t;this.fixCwd()}static{this.poetryPromise=new Map}static async getPoetry(e){if(xae(e))return(Mc.poetryPromise.get(e)===void 0||Er())&&Mc.poetryPromise.set(e,Mc.locate(e)),Mc.poetryPromise.get(e)}static async locate(e){p.debug(`Getting poetry for cwd ${e}`);function*t(){let r=wB("poetryPath");r&&r!=="poetry"&&(yield r),yield"poetry";let i=Rg();if(i){let o=Le(i.fsPath,".poetry","bin","poetry");XN(o)&&(yield o)}}for(let r of t()){p.debug(`Probing poetry binary for ${e}: ${r}`);let i=new Mc(r,e);if(await i.getEnvList()!==void 0)return p.debug(`Found poetry via filesystem probing for ${e}: ${r}`),i;p.debug(`Failed to find poetry for ${e}: ${r}`)}p.debug(`No poetry binary found for ${e}`)}async getEnvList(){return this.getEnvListCached(this.command,this.cwd)}async getEnvListCached(e,t){let r=await this.safeShellExecute(`${e} env list --full-path`);if(!r)return;let i="(Activated)";return(await Promise.all(Oe(r.stdout).map(async s=>{s.endsWith(i)&&(s=s.slice(0,-i.length));let a=s.trim();return await Tg(a)?a:void 0}))).filter(s=>s!==void 0).map(s=>s)}async getActiveEnvPath(){return this.getActiveEnvPathCached(this.cwd)}async getActiveEnvPathCached(e){let t=await this.safeShellExecute(`${this.command} env info -p`,!0);if(t)return t.stdout.trim()}async getVirtualenvsPathSetting(){let e=await this.safeShellExecute(`${this.command} config virtualenvs.path`);if(e)return e.stdout.trim()}fixCwd(){if(Rr()==="Windows"&&/^[a-z]:/.test(this.cwd)){let e=this.cwd.split(":");e[0]=e[0].toUpperCase(),this.cwd=e.join(":")}}async safeShellExecute(e,t=!1){let r=new Ue,i=await bB(e,{cwd:this.cwd,throwOnStdErr:!0,timeout:kae}).catch(o=>{t?p.debug(o):p.error(o)});return p.debug(`Time taken to run ${e} in ms`,r.elapsedTime),i}};v([gR(3e4)],Mc.prototype,"getEnvListCached",1),v([gR(2e4)],Mc.prototype,"getActiveEnvPathCached",1);var Rx=Mc;async function d3(n,e,t){let i=await(t?new Rx(t,e):await Rx.getPoetry(e))?.getActiveEnvPath();return i?_g(n,i):!1}function xae(n){let e=Le(n,"pyproject.toml");return!(!XN(e)||!SB(e).includes("[tool.poetry]"))}var p3=require("vscode");var Dae="poetry",Gg=class extends Al{constructor(t,r){super(t);this.configurationService=r}get name(){return"poetry"}get type(){return"Poetry"}get displayName(){return Dae}get priority(){return 10}async isSupported(t){if(Ve(t)!=="Poetry")return!1;let r=CC(t);if(r){let i="executable"in t?t.executable.uri||p3.Uri.file(t.path):t.uri;return d3(i.fsPath,r.fsPath,this.configurationService.getSettings(void 0).poetryPath)}return!1}async getExecutionArgs(t,r){let o=[this.configurationService.getSettings(void 0).poetryPath,"add","--dev",t],s=CC(r)?.fsPath;return{useShellExec:!0,args:o,cwd:s}}};Gg=v([(0,wC.injectable)(),m(0,(0,wC.inject)(rt)),m(1,(0,wC.inject)(ie))],Gg);var Nl=k(N()),y3=require("vscode");var ar=new Map;ar.set(18,"jupyter");ar.set(20,"notebook");ar.set(19,"ipykernel");ar.set(22,"nbconvert");ar.set(21,"kernelspec");ar.set(23,"pandas");ar.set(27,"pip");ar.set(28,"ensurepip");var Dd=k(N());var m3=new Set(["ipykernel","ipython-genutils","jupyter","jupyter-client","jupyter-core","ipywidgets","nbconvert","nbformat","notebook","pyzmq","pyzmq32","tornado","traitlets"].map(n=>n.toLowerCase())),f3="NOT INSTALLED",Ts=class{constructor(e,t,r,i,o){this.pythonExtensionChecker=e;this.interpreterService=t;this.executionFactory=r;this.apiProvider=i;this.disposables=o;this.interpreterInformation=new Map;this.pendingInterpreterInformation=new Map;this.pendingInterpreterBeforeActivation=new Set;this.interpreterPackages=new Map;Ts._instance=this,this.apiProvider.onDidActivatePythonExtension(()=>this.pendingInterpreterBeforeActivation.forEach(s=>this.trackPackages(s)),this,this.disposables)}static get instance(){return Ts._instance}getPackageVersions(e){if(!this.pythonExtensionChecker.isPythonExtensionInstalled)return Promise.resolve(new Map);let t=cn(e.uri),r=this.interpreterInformation.get(t);return r||(r=re(),this.interpreterInformation.set(t,r),this.trackInterpreterPackages(e).catch(h)),r.promise}async getPackageVersion(e,t){if(!this.pythonExtensionChecker.isPythonExtensionInstalled)return Promise.resolve(void 0);let r=await this.getPackageVersions(e),i=await at(t.toLocaleLowerCase());if(!r.has(i))return;let o=r.get(i);if(o)return o===f3?void 0:o}trackPackages(e,t){this.trackPackagesInternal(e,t).catch(h)}async listPackages(e){if(!this.pythonExtensionChecker.isPythonExtensionInstalled)return[];let t=bs(e);if(!this.interpreterPackages.has(t)){let r=this.listPackagesImpl(e);this.interpreterPackages.set(t,r),r.catch(i=>{this.interpreterPackages.get(t)===r&&this.interpreterPackages.delete(t),p.warn(`Failed to get list of installed packages for ${t}`,i)})}return this.interpreterPackages.get(t).then(r=>Array.from(r))}async listPackagesImpl(e){let t=await this.interpreterService.getActiveInterpreter(e);if(!t)return new Set;let r=await this.executionFactory.createActivatedEnvironment({interpreter:t,resource:e}),i="389a87b7-288f-4235-92bf-73bf19bf6491",o=`import pkgutil;import json;print("${i}");print(json.dumps(list([x.name for x in pkgutil.iter_modules()])));print("${i}");`,s=await r.exec(["-c",o],{throwOnStdErr:!1});if(s.stdout){let a=JSON.parse(s.stdout.split(i)[1].trim());return new Set(a.concat(a.map(l=>l.toLowerCase())))}else return p.error(`Failed to get list of installed packages for ${zr(t.uri)}`,s.stderr),new Set}async trackPackagesInternal(e,t){if(!this.pythonExtensionChecker.isPythonExtensionActive){this.pendingInterpreterBeforeActivation.add(e);return}let r;if(Nu(e)){let i=await this.interpreterService.getActiveInterpreter(e);if(!i)return;r=i}else r=e;this.trackInterpreterPackages(r,t).catch(h)}async trackInterpreterPackages(e,t){let r=cn(e.uri);if(this.pendingInterpreterInformation.has(r)&&!t)return;let i=this.getPackageInformation({interpreter:e});i.finally(()=>{let o=setTimeout(()=>{this.pendingInterpreterInformation.get(r)===i&&this.pendingInterpreterInformation.delete(r)},3e5),s={dispose:()=>clearTimeout(o)};this.disposables.push(s)}).catch(h),this.pendingInterpreterInformation.set(r,i)}async getPackageInformation({interpreter:e}){if(Vr(e))return;let r=await(await this.executionFactory.createActivatedEnvironment({interpreter:e})).execModule("pip",["list"],{throwOnStdErr:!1,mergeStdOutErr:!0}),i=new Map;await Promise.all(Array.from(m3).map(async a=>{i.set(await at(a),f3)})),await Promise.all(r.stdout.split(`
`).map(a=>a.trim().toLowerCase()).filter(a=>a.length>0).map(async a=>{let l=a.split(" ").filter(f=>f.trim().length);if(l.length<2)return;let[c,u]=l;if(!m3.has(c.toLowerCase().trim()))return;let d=Bu(u);i.set(await at(c),d||"")}));let o=cn(e.uri),s=this.interpreterInformation.get(o);s||(s=re(),this.interpreterInformation.set(o,s)),s.resolve(i)}};Ts=v([(0,Dd.injectable)(),m(0,(0,Dd.inject)(Be)),m(1,(0,Dd.inject)(Xe)),m(2,(0,Dd.inject)(Nr)),m(3,(0,Dd.inject)(Ht)),m(4,(0,Dd.inject)(M))],Ts);async function Ax(n,e,t){if(Nu(t))return;let r=`${await sl(t)}#${ar.get(e)}`;await n.update(r,!0)}async function h3(n,e,t){let r=`${await sl({uri:t})}#${ar.get(e)}`;await n.update(r,void 0)}async function g3(n,e,t){let r=`${await sl(t)}#${ar.get(e)}`;return n.get(r,!1)}var Nx=Symbol("IReservedPythonNamedProvider"),_d=Symbol("IInterpreterPackages"),Mx=Symbol("IWorkspaceInterpreterTracker");async function b3(n,e,t){let r=`${await sl(t)}#${ar.get(e)}`;if(n.get(r,!1))return!0;let i=Gi(e),o=Ts.instance?Ts.instance.getPackageVersion(t,i).then(s=>typeof s=="string"?"found":"notfound").catch(s=>{p.error("Failed to get interpreter package version",s)}):Promise.resolve(void 0);try{let s=await fr(500,o);if(typeof s=="string")return s==="found"}catch{p.error(`Failed to check if package exists ${ar.get(e)}`)}}var Kx=class{constructor(e,t){this.serviceContainer=e;this.configService=e.get(ie),this.productService=e.get(IC),this.persistentStateFactory=e.get(il)}async install(e,t,r,i,o){let a=await this.serviceContainer.get(wx).getInstallationChannel(e,t);if(!a)return 2;if(r.token.isCancellationRequested)return 3;let l=i===!0?6:void 0;return o===!0&&(l=l?l|8:8),await a.installModule(e,t,r,l),r.token.isCancellationRequested?3:this.isInstalled(e,t).then(c=>c?0:2)}async isInstalled(e,t){let r=this.getExecutableNameFromSettings(e,void 0);return this.isExecutableAModule(e,void 0)?(await this.serviceContainer.get(Nr).createActivatedEnvironment({resource:void 0,interpreter:t})).isModuleInstalled(r):(await this.serviceContainer.get(Di).create(void 0)).exec(r,["--version"],{mergeStdOutErr:!0}).then(()=>!0).catch(()=>!1)}getExecutableNameFromSettings(e,t){let r=this.productService.getProductType(e);return this.serviceContainer.get(SC,r).getExecutableNameFromSettings(e,t)}isExecutableAModule(e,t){let r=this.productService.getProductType(e);return this.serviceContainer.get(SC,r).isExecutableAModule(e,t)}};v([Zn("Checking if product is installed"),m(1,wc("path"))],Kx.prototype,"isInstalled",1);var zg=class{constructor(e,t,r,i){this.serviceContainer=e;this.interpreterPackages=t;this.memento=r;this.output=i;this._onInstalled=new y3.EventEmitter;this.productService=e.get(IC)}get onInstalled(){return this._onInstalled.event}dispose(){}async install(e,t,r,i,o){t&&this.interpreterPackages.trackPackages(t);let s="installed";try{let a=await this.createInstaller(e).install(e,t,r,i,o);switch(Ax(this.memento,e,t).catch(h),a===0&&this._onInstalled.fire({product:e,resource:t}),a){case 3:s="cancelled";break;case 0:s="installed";break;case 2:s="ignored";break;case 1:s="disabled";break;default:break}return a}catch(a){throw s="failed",a}finally{R("DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:s,moduleName:ar.get(e)})}}async isInstalled(e,t){return this.createInstaller(e).isInstalled(e,t)}translateProductToModuleName(e){return Gi(e)}createInstaller(e){switch(this.productService.getProductType(e)){case"DataScience":return new Kx(this.serviceContainer,this.output);default:break}throw new Error(`Unknown product ${e}`)}};zg=v([(0,Nl.injectable)(),m(0,(0,Nl.inject)(rt)),m(1,(0,Nl.inject)(_d)),m(2,(0,Nl.inject)(We)),m(2,(0,Nl.named)(lt)),m(3,(0,Nl.inject)(Ao)),m(3,(0,Nl.named)(Tu))],zg);var Ox=k(N());var CM=class{constructor(e){this.serviceContainer=e;this.configService=e.get(ie),this.productInstaller=e.get(Ai)}isExecutableAModule(e,t){if(e===21)return!1;let r;try{r=this.productInstaller.translateProductToModuleName(e,2)}catch{}let i=this.getExecutableNameFromSettings(e,t);return typeof r=="string"&&r.length>0&&Ce(i)===i}},Qg=class extends CM{constructor(e){super(e)}getExecutableNameFromSettings(e,t){return this.productInstaller.translateProductToModuleName(e,2)}};Qg=v([(0,Ox.injectable)(),m(0,(0,Ox.inject)(rt))],Qg);var I3=k(N());var Yg=class{constructor(){this.ProductTypes=new Map;this.ProductTypes.set(18,"DataScience"),this.ProductTypes.set(20,"DataScience"),this.ProductTypes.set(19,"DataScience"),this.ProductTypes.set(22,"DataScience"),this.ProductTypes.set(21,"DataScience"),this.ProductTypes.set(23,"DataScience"),this.ProductTypes.set(27,"DataScience"),this.ProductTypes.set(28,"DataScience")}getProductType(e){return this.ProductTypes.get(e)}};Yg=v([(0,I3.injectable)()],Yg);var Fx=k(N());var Xg=class{constructor(e){this.interpreterService=e}activate(){this.interpreterService.initialize()}};Xg=v([(0,Fx.injectable)(),m(0,(0,Fx.inject)(Xe))],Xg);var wM=require("vscode"),Zg=k(N());var Rs=class{constructor(e,t,r){this.title=y.localPythonEnvironments;this._onDidChange=new wM.EventEmitter;this._onDidChangeStatus=new wM.EventEmitter;this.onDidChange=this._onDidChange.event;this.onDidChangeStatus=this._onDidChangeStatus.event;this.refreshedOnceBefore=!1;this.disposables=[];this.promiseMonitor=new lo;this._status="idle";r.push(this),this.promiseMonitor.onStateChange(()=>this.status=this.promiseMonitor.isComplete?"idle":"discovering",this,this.disposables);let i=()=>{let o=e.getNewApi();this.promiseMonitor.push(o),o.then(s=>{if(this.api=s,!s){this.status="idle",this._onDidChangeStatus.fire();return}this._onDidChange.fire(),s.environments.onDidChangeEnvironments(()=>this._onDidChange.fire(),this,this.disposables)}).catch(s=>p.error("Failed to get python api",s))};t.isPythonExtensionInstalled?i():t.onPythonExtensionInstallationStatusChanged(()=>{t.isPythonExtensionInstalled&&i()},this,this.disposables)}get items(){return this.api?(this.refreshedOnceBefore||(this.refreshedOnceBefore=!0,this.refresh().catch(h)),this.api.environments.known):[]}get status(){return this._status}set status(e){this._status=e,this._onDidChangeStatus.fire()}activate(){}dispose(){z(this.disposables)}async refresh(){if(!this.api)return;let e=this.api.environments.refreshEnvironments();this.promiseMonitor.push(e),await e.catch(h)}withFilter(e){return new Proxy(this,{get(t,r){switch(r){case"items":return t.items.filter(e);case"dispose":return h;default:return t[r]}}})}};Rs=v([(0,Zg.injectable)(),m(0,(0,Zg.inject)(Ht)),m(1,(0,Zg.inject)(Be)),m(2,(0,Zg.inject)(M))],Rs);var tv=k(N());function EM(n,e){if(Array.isArray(n)){let t=n.slice(1);return e&&t.push(...e),{args:t,command:n[0],python:[...n],pythonExecutable:n[n.length-1]}}return{command:n,args:e||[],python:[n],pythonExecutable:n}}function S3(n,e){let t={command:n.command,args:[...n.args],python:[...n.python],pythonExecutable:n.pythonExecutable};return e&&t.args.push(...e),t.pythonExecutable===void 0&&(t.pythonExecutable=t.python[t.python.length-1]),t}var P3=require("vscode");function PM(n,e){return["-m",n,...e]}function C3(){let n=["-c","import sys;print(sys.executable)"];function e(t){return t.trim()}return[n,e]}function w3(n){let e=["-c",`import ${n};print('6af208d0-cb9c-427f-b937-ff563e17efdf')`];function t(r){return r.includes("6af208d0-cb9c-427f-b937-ff563e17efdf")?!0:(p.debug(`Module ${n} is not installed. Output ${r}`),!1)}return[e,t]}async function k3(n,e){let[t,r]=C3(),i=S3(n,t),o=await e(i.command,i.args);return P3.Uri.file(r(o.stdout))}var Lx=class{constructor(e,t){this.deps=t;if(this.pythonEnvId=e.id,"executable"in e){if(!e.executable.uri)throw new Error(`interpreter.executable.uri is not defined for ${e.id}`);this.executable=e.executable.uri}else this.executable=e.uri}getExecutionInfo(e=[]){let t=this.deps.getPythonArgv(this.executable);return EM(t,e)}getExecutionObservableInfo(e=[]){let t=this.deps.getObservablePythonArgv(this.executable);return EM(t,e)}async getExecutablePath(){if(await this.deps.isValidExecutable(this.executable))return this.executable;let e=this.getExecutionInfo();return k3(e,this.deps.exec)}async isModuleInstalled(e){let[t,r]=w3(e),i=this.getExecutionInfo(t);try{let o=await this.deps.exec(i.command,i.args,{throwOnStdErr:!1});return r(o.stdout)}catch(o){return p.warn(`Module ${e} not installed in environment ${this.pythonEnvId}`,o),!1}}};function x3(n,e,t,r,i){return{getPythonArgv:o=>e||[ke(o)],getObservablePythonArgv:o=>t||[ke(o)],isValidExecutable:n,exec:async(o,s,a)=>r(o,s,Object.assign({throwOnStdErr:!0},a||{})),shellExec:async(o,s)=>i(o,{timeout:s})}}function D3(n,e,t){let r=x3(async i=>t.exists(i),void 0,void 0,(i,o,s)=>e.exec(i,o,s),(i,o)=>e.shellExec(i,o));return new Lx(n,r)}function _3(n,e,t,r,i){let o=["run"];e.name===""?o.push("-p",e.path):o.push("-n",e.name);let s=[n,...o,"python"],a=x3(async l=>i.exists(l),s,void 0,(l,c,u)=>r.exec(l,c,u),(l,c)=>r.shellExec(l,c));return new Lx(t,a)}var Ux=class extends qe{constructor(t){super("notinstalled",`Module '${t}' not installed.`);this.moduleName=t}};var kM=class{constructor(e){this.deps=e}execObservable(e,t){let r={...t},i=this.deps.getExecutionObservableInfo(e);return this.deps.execObservable(i.command,i.args,r)}execModuleObservable(e,t,r){let i=PM(e,t),o={...r},s=this.deps.getExecutionObservableInfo(i),a={...r};return a.token=void 0,this.deps.execObservable(s.command,s.args,o)}async exec(e,t){let r={...t},i=this.deps.getExecutionInfo(e);return this.deps.exec(i.command,i.args,r)}async execModule(e,t,r){let i=PM(e,t),o={...r},s=this.deps.getExecutionInfo(i),a=await this.deps.exec(s.command,s.args,o);if(e&&vP.outputHasModuleNotInstalledError(e,a.stderr)&&!await this.deps.isModuleInstalled(e))throw new Ux(e);return a}};function T3(n,e){let t={isModuleInstalled:async r=>e.isModuleInstalled(r),getExecutionInfo:r=>e.getExecutionInfo(r),getExecutionObservableInfo:r=>e.getExecutionObservableInfo(r),exec:async(r,i,o)=>n.exec(r,i,o),execObservable:(r,i,o)=>n.execObservable(r,i,o)};return new kM(t)}var Wx=require("vscode");var ev=class{constructor(e,t,r){this.serviceContainer=e;this.activationHelper=t;this.processServiceFactory=r;this.disposables=this.serviceContainer.get(M),this.fileSystem=this.serviceContainer.get(tt)}async create(e){let t=await this.processServiceFactory.create(e.resource);return R3(e.interpreter,t,this.fileSystem,void 0)}async createActivatedEnvironment(e){if(e.resource=e.resource?e.resource:Wx.workspace.workspaceFolders?.length?Wx.workspace.workspaceFolders[0].uri:void 0,!Wx.workspace.isTrusted)throw new Error("Workspace not trusted");let t=await this.activationHelper.getActivatedEnvironmentVariables(e.resource,e.interpreter);if(!(t&&Object.keys(t).length>0))return this.create({resource:e.resource,interpreter:e.interpreter});let i=new Dl({...t});return this.disposables.push(i),R3(e.interpreter,i,this.fileSystem)}};ev=v([(0,tv.injectable)(),m(0,(0,tv.inject)(rt)),m(1,(0,tv.inject)(ks)),m(2,(0,tv.inject)(Di))],ev);function R3(n,e,t,r){let i=D3(n,e,t);if(r){let[s,a]=r;i=_3(s,a,n,e,t)}let o=T3(e,i);return{isModuleInstalled:s=>i.isModuleInstalled(s),execObservable:(s,a)=>o.execObservable(s,a),execModuleObservable:(s,a,l)=>o.execModuleObservable(s,a,l),exec:(s,a)=>o.exec(s,a),execModule:(s,a,l)=>o.execModule(s,a,l)}}var Kc=k(N()),Oc=require("vscode");var A3="https://aka.ms/JupyterKernelStartFailureOverrideReservedName",N3=["abc","aifc","antigravity","argparse","array","ast","asynchat","asyncio","asyncore","atexit","audioop","base64","bdb","binascii","binhex","bisect","builtins","bz2","cProfile","calendar","cgi","cgitb","chunk","cmath","cmd","code","codecs","codeop","collections","colorsys","compileall","concurrent","configparser","contextlib","contextvars","copy","copyreg","crypt","csv","ctypes","curses","dataclasses","datetime","dbm","decimal","difflib","dis","distutils","doctest","email","encodings","ensurepip","enum","errno","faulthandler","fcntl","filecmp","fileinput","fnmatch","formatter","fractions","ftplib","functools","gc","genericpath","getopt","getpass","gettext","glob","graphlib","grp","gzip","hashlib","heapq","hmac","html","http","idlelib","imaplib","imghdr","imp","importlib","inspect","io","ipaddress","itertools","json","keyword","lib2to3","linecache","locale","logging","lzma","mailbox","mailcap","marshal","math","mimetypes","mmap","modulefinder","multiprocessing","netrc","nis","nntplib","ntpath","nturl2path","numbers","opcode","operator","optparse","os","parser","pathlib","pdb","pickle","pickletools","pipes","pkgutil","platform","plistlib","poplib","posix","posixpath","pprint","profile","pstats","pty","pwd","py_compile","pyclbr","pydoc","pydoc_data","queue","quopri","random","re","readline","reprlib","resource","rlcompleter","runpy","sched","secrets","select","selectors","shelve","shlex","shutil","signal","site","smtpd","smtplib","sndhdr","socket","socketserver","sqlite3","sre_compile","sre_constants","sre_parse","ssl","stat","statistics","string","stringprep","struct","subprocess","sunau","symbol","symtable","sys","sysconfig","syslog","tabnanny","tarfile","telnetlib","tempfile","termios","textwrap","this","threading","time","timeit","tkinter","token","tokenize","trace","traceback","tracemalloc","tty","turtle","turtledemo","types","typing","unicodedata","unittest","urllib","uu","uuid","warnings","wave","weakref","webbrowser","wsgiref","xdrlib","xml","xmlrpc","zipapp","zipfile","zipimport","zlib","zoneinfo"];var e6=k(PC());var lr=Symbol("IFileSystemNode");var Qae="jupyter.pythonPackages",AM="diagnostics.reservedPythonNames.exclude",nv=class{constructor(e,t,r,i){this.cache=e;this.platform=t;this.fs=i;this.ignoredFiles=new Set;this.cachedModules=new Set;this.pendingUpdate=Promise.resolve();this.disposables=[];r.push(this),this.cachedModules=new Set(this.cache.get(Qae,N3).map(o=>o.toLowerCase())),Oc.workspace.onDidChangeConfiguration(o=>{o.affectsConfiguration(`jupyter.${AM}`)&&this.initializeIgnoreList()},this,this.disposables),this.initializeIgnoreList()}dispose(){z(this.disposables)}async getUriOverridingReservedPythonNames(e){let[t,r]=await Promise.all([this.fs.searchLocal("*.py",e.fsPath,!0),this.fs.searchLocal("*/__init__.py",e.fsPath,!0)]),i=[],o=Promise.all(t.map(a=>Oc.Uri.joinPath(e,a)).map(async a=>{await this.isReserved(a)&&i.push({uri:a,type:"file"})})),s=Promise.all(r.map(a=>Oc.Uri.joinPath(e,a)).map(async a=>{await this.isReserved(a)&&i.push({uri:a,type:"__init__"})}));return await Promise.all([o,s]),i}async isReserved(e){if(!e.fsPath.toLowerCase().endsWith(".py"))return!1;await this.pendingUpdate;let t=this.platform.isWindows?e.fsPath.toLowerCase():e.fsPath;if(Array.from(this.ignoredFiles).some(o=>{if(o===t||(0,e6.default)(t,o,{dot:!0}))return!0}))return!1;let r=un(e,Vu(e)).toLowerCase(),i=r==="__init__"?un(yi(e)).toLowerCase():r;return this.cachedModules.has(i)}async addToIgnoreList(e){await this.pendingUpdate;let t=Oc.workspace.getConfiguration("jupyter"),r=this.platform.isWindows?e.fsPath.toLowerCase():e.fsPath;this.initializeIgnoreList();let i=this.ignoredFiles.size;if(this.ignoredFiles.add(r),i!==this.ignoredFiles.size)return this.pendingUpdate=this.pendingUpdate.finally(()=>t.update(AM,Array.from(this.ignoredFiles),Oc.ConfigurationTarget.Global)),this.pendingUpdate}initializeIgnoreList(){let t=Oc.workspace.getConfiguration("jupyter").get(AM,[]);this.platform.isWindows&&(t=t.map(r=>r.toLowerCase())),this.ignoredFiles=new Set(t)}};nv=v([(0,Kc.injectable)(),m(0,(0,Kc.inject)(We)),m(0,(0,Kc.named)(lt)),m(1,(0,Kc.inject)(br)),m(2,(0,Kc.inject)(M)),m(3,(0,Kc.inject)(lr))],nv);var kC=k(N());var MM=k(gx());var NM="_VSCODE_getVariable",iv=MM.default`
try:
del _VSCODE_getVariable
except:
pass
`,Bo=class{constructor(e,t){this.fs=e;this.context=t}async generateCodeToGetVariableInfo(e){let t=await this.getContentsOfScript(),r=e.isDebugging?"True":"False",i=`${NM}("info", ${r}, ${e.variableName})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:iv}:{code:`${t}
${i}
${iv}`}}async generateCodeToGetVariableProperties(e){let t=await this.getContentsOfScript(),r=e.isDebugging?"True":"False",i=`${NM}("properties", ${r}, ${e.variableName}, ${e.stringifiedAttributeNameList})`;return e.isDebugging?{initializeCode:t,code:i,cleanupCode:iv}:{code:`${t}
${i}
${iv}`}}async generateCodeToGetAllVariableDescriptions(e){let t=await this.getContentsOfVariablesScript();return e?t=t+`
return _VSCODE_getAllChildrenDescriptions('${e.root}', ${JSON.stringify(e.propertyChain)}, ${e.startIndex})`:t=t+`
variables= %who_ls
return _VSCODE_getVariableDescriptions(variables)`,t}async generateCodeToGetVariableTypes(e){let r=`${await this.getContentsOfScript()}
_VSCODE_rwho_ls = %who_ls
`,i=e.isDebugging?"True":"False",o=MM.default`
try:
del _VSCODE_rwho_ls
except:
pass
`,s=`${NM}("types", ${i}, _VSCODE_rwho_ls)`;return e.isDebugging?{initializeCode:r,code:s,cleanupCode:`${iv}
${o}`}:{code:`${r}${s}
${iv}
${o}`}}async generateCodeToGetVariableValueSummary(e){let t=await this.getContentsOfVariablesScript();return t=t+`
variables= %who_ls
return _VSCODE_getVariableSummary(${e})`,t}async getContentsOfScript(){if(Bo.contentsOfScript)return Bo.contentsOfScript;let e=zt(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","getVariableInfo","vscodeGetVariableInfo.py"),t=await this.fs.readFile(e);return Bo.contentsOfScript=t,t}async getContentsOfVariablesScript(){if(Bo.contentsOfVariablesScript)return Bo.contentsOfVariablesScript;let e=zt(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","getVariableInfo","vscodeGetVariablesForProvider.py"),t=await this.fs.readFile(e);return Bo.contentsOfVariablesScript=t,t}};Bo=v([(0,kC.injectable)(),m(0,(0,kC.inject)(tt)),m(1,(0,kC.inject)(et))],Bo);var ov=k(N());var ua=class{constructor(e){this.workspaceInterpreterTracker=e;ua.isActiveWorkspaceInterpreter=this.isActiveWorkspaceInterpreterImpl.bind(this)}activate(){this.workspaceInterpreterTracker?.activate()}isActiveWorkspaceInterpreterImpl(e,t){return this.workspaceInterpreterTracker?.isActiveWorkspaceInterpreter(e,t)??!1}};ua.isActiveWorkspaceInterpreter=()=>!1,ua=v([(0,ov.injectable)(),m(0,(0,ov.inject)(Mx)),m(0,(0,ov.optional)())],ua);var xC=require("vscode");var av=k(N());var sv=class{constructor(e,t,r){this.pythonExtensionChecker=e;this.disposables=t;this.interpreterService=r;this.workspaceInterpreters=new Map}activate(){this.trackActiveInterpreters(),xC.extensions.onDidChange(this.trackActiveInterpreters,this,this.disposables)}isActiveWorkspaceInterpreter(e,t){if(!t)return!1;let r=bs(e),i=this.workspaceInterpreters.get(r);return i?Mo(i,t.uri):!1}trackActiveInterpreters(){tn()||this.trackingInterpreters||!this.pythonExtensionChecker.isPythonExtensionActive||(this.trackingInterpreters=!0,this.interpreterService.onDidChangeInterpreter(async()=>{let e=Array.isArray(xC.workspace.workspaceFolders)?xC.workspace.workspaceFolders.map(t=>t.uri):[];await Promise.all(e.map(async t=>{try{let r=bs(t),i=await this.interpreterService.getActiveInterpreter(t);this.workspaceInterpreters.set(r,i?.uri)}catch{}}))},this,this.disposables))}};sv=v([(0,av.injectable)(),m(0,(0,av.inject)(Be)),m(1,(0,av.inject)(M)),m(2,(0,av.inject)(Xe))],sv);function t6(n){n.addSingleton(Nr,ev),n.addSingleton(_s,_s),n.addSingleton(Il,Il),n.addSingleton(_d,Ts),n.addSingleton(me,ua),n.addSingleton(me,Xg),n.addSingleton(Mx,sv),n.addSingleton(me,Wg),n.addSingleton(me,Vg),n.addSingleton(me,xd),n.addSingleton(ri,ri),n.addSingleton(Nx,nv),n.addSingleton(Eh,Bo),n.addSingleton(Ph,Rl),n.addSingleton(Cm,$g),n.addSingleton(Cm,Hg),n.addSingleton(Cm,qg),n.addSingleton(Cm,Gg),n.addSingleton(wx,jg),n.addSingleton(IC,Yg),n.addSingleton(Ai,zg),n.addSingleton(SC,Qg,"DataScience"),n.addSingleton(Rs,Rs),n.addBinding(Rs,me)}var o6=k(N()),cv=require("vscode");var n6=new Set;function i6(n){n6.add(n)}function r6(n){try{n6.forEach(e=>e.report(n))}catch(e){p.error("Failed to report progress",e)}}function lv(n){return function(e,t,r){let i=r.value;r.value=async function(...o){return r6({action:n,phase:"started"}),i.apply(this,o).finally(()=>{r6({action:n,phase:"completed"})})}}}var $o=class{constructor(){this.progressReporters=[];this.actionPhases=new Map;this.currentActions=[];i6(this)}get currentAction(){return this.currentActions.length===0?void 0:this.currentActions[this.currentActions.length-1]}createProgressIndicator(e,t=!1){let r=new cv.CancellationTokenSource,i=re(),o={location:cv.ProgressLocation.Notification,cancellable:t,title:e};return cv.window.withProgress(o,async(s,a)=>{a.onCancellationRequested(()=>{a.isCancellationRequested&&r.cancel(),i.resolve()}),r.token.onCancellationRequested(()=>{i.resolve()}),this.progressReporters.push(s),await i.promise}).then(h,h),{token:r.token,dispose:()=>i.resolve()}}report(e){if(this.progressReporters.length!==0&&(this.actionPhases.set(e.action,e.phase),e.phase==="started"&&this.currentActions.push(e.action),!!this.currentAction)){for(;this.actionPhases.get(this.currentAction)&&this.actionPhases.get(this.currentAction)!=="started";)this.actionPhases.delete(this.currentAction),this.currentActions.pop();this.updateProgressMessage()}}updateProgressMessage(){if(!this.currentAction||this.progressReporters.length===0)return;let e=Ik(this.currentAction);e&&this.progressReporters.forEach(t=>t.report({message:e}))}};$o=v([(0,o6.injectable)()],$o);var s6=k(N());var qn=require("vscode");var Fc=require("vscode");var DC=class n{constructor(e){this.jupyterConfig=e}static{this.migratedSettings={interactiveWindowMode:"interactiveWindow.creationMode",interactiveWindowViewColumn:"interactiveWindow.viewColumn",splitRunFileIntoCells:"interactiveWindow.splitRunFileIntoCells",sendSelectionToInteractiveWindow:"interactiveWindow.textEditor.executeSelection",normalizeSelectionForInteractiveWindow:"interactiveWindow.textEditor.normalizeSelection",magicCommandsAsComments:"interactiveWindow.textEditor.magicCommandsAsComments",enableAutoMoveToNextCell:"interactiveWindow.textEditor.autoMoveToNextCell",newCellOnRunLast:"interactiveWindow.textEditor.autoAddNewCell",pythonCellFolding:"interactiveWindow.textEditor.cellFolding",enableCellCodeLens:"interactiveWindow.codeLens.enable",addGotoCodeLenses:"interactiveWindow.codeLens.enableGotoCell",codeLenses:"interactiveWindow.codeLens.commands",debugCodeLenses:"interactiveWindow.codeLes.debugCommands",codeRegularExpression:"interactiveWindow.cellMarker.codeRegex",markdownRegularExpression:"interactiveWindow.cellMarker.markdownRegex",decorateCells:"interactiveWindow.cellMarker.decorateCells",defaultCellMarker:"interactiveWindow.cellMarker.default",enableExtendedKernelCompletions:"enableExtendedPythonKernelCompletions"}}static{this.fullSettingIds={...this.migratedSettings}}async migrateSettings(){let e=[];for(let t of Object.keys(n.migratedSettings))e.push(...this.migrateSetting(t,n.migratedSettings[t]));e.push(this.migrateIntellisenseSettings());try{await Promise.all(e)}catch(t){uv(t)}}async migrateIntellisenseSettings(){let e="pythonCompletionTriggerCharacters",t="completionTriggerCharacters",r=this.jupyterConfig.inspect(e),i=this.jupyterConfig.inspect(t);try{if(r?.globalValue===r?.defaultValue||!i||i?.globalValue&&i.globalValue[ge])return;if(typeof r?.globalValue=="string"){let o=i.globalValue||i.defaultValue||{};o[ge]=r.globalValue.split(""),await this.jupyterConfig.update(t,o,Fc.ConfigurationTarget.Global).then(h,uv)}}finally{r?.globalValue&&await this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.Global).then(h,uv)}}migrateSetting(e,t){let r=this.jupyterConfig.inspect(e),i=this.jupyterConfig.inspect(t),o=[];if(r?.workspaceValue!==void 0){let s=Promise.resolve();i?.workspaceValue===void 0&&(s=this.jupyterConfig.update(t,r.workspaceValue,Fc.ConfigurationTarget.Workspace)),o.push(s.then(()=>this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.Workspace),uv))}if(r?.workspaceFolderValue!==void 0){let s=Promise.resolve();i?.workspaceFolderValue===void 0&&(s=this.jupyterConfig.update(t,r.workspaceFolderValue,Fc.ConfigurationTarget.WorkspaceFolder)),o.push(s.then(()=>this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.WorkspaceFolder),uv))}if(r?.globalValue!==void 0){let s=Promise.resolve();i?.globalValue===void 0&&(s=this.jupyterConfig.update(t,r.globalValue,Fc.ConfigurationTarget.Global)),o.push(s.then(()=>this.jupyterConfig.update(e,void 0,Fc.ConfigurationTarget.Global),uv))}return o}};function uv(n){p.warn("Error migrating Jupyter configuration",n)}function Yae(n){return(e,t,r)=>{let i=null,o=null;if(typeof r.value=="function"?(i="value",o=r.value):typeof r.get=="function"&&(i="get",o=r.get),!o)throw new Error("not supported");r[i]=n(o,t)}}function dv(n,e,t){return Yae((r,i)=>{let o=`$debounce$${i}`,s=`$debounce$result$${i}`;return function(...a){this[s]||(this[s]=t?t():void 0),clearTimeout(this[o]),e&&(this[s]=e(this[s],...a),a=[this[s]]),this[o]=setTimeout(()=>{r.apply(this,a),this[s]=t?t():void 0},n)}})}var da=class da{constructor(e,t,r){this._systemVariablesCtor=t;this._type=r;this.allowUnauthorizedRemoteConnection=!1;this.jupyterInterruptTimeout=1e4;this.jupyterLaunchTimeout=6e4;this.jupyterLaunchRetries=3;this.notebookFileRoot="";this.useDefaultConfigForJupyter=!1;this.sendSelectionToInteractiveWindow=!1;this.normalizeSelectionForInteractiveWindow=!0;this.splitRunFileIntoCells=!0;this.markdownRegularExpression="";this.codeRegularExpression="";this.errorBackgroundColor="";this.variableExplorerExclude="";this.decorateCells="currentCell";this.enableCellCodeLens=!1;this.askForLargeDataFrames=!1;this.enableAutoMoveToNextCell=!1;this.askForKernelRestart=!1;this.codeLenses="";this.debugCodeLenses="";this.debugpyDistPath="";this.stopOnFirstLineWhileDebugging=!1;this.magicCommandsAsComments=!1;this.pythonExportMethod="direct";this.stopOnError=!1;this.addGotoCodeLenses=!1;this.runStartupCommands=[];this.debugJustMyCode=!1;this.defaultCellMarker="";this.themeMatplotlibPlots=!1;this.disableJupyterAutoStart=!1;this.enablePythonKernelLogging=!1;this.jupyterCommandLineArguments=[];this.widgetScriptSources=[];this.interactiveWindowMode="multiple";this.pythonCellFolding=!0;this.interactiveWindowViewColumn="secondGroup";this.disableZMQSupport=!1;this.forceIPyKernelDebugger=!1;this.verboseLogging=!1;this.showVariableViewWhenDebugging=!0;this.newCellOnRunLast=!0;this.logKernelOutputSeparately=!1;this.development=!1;this.poetryPath="";this.excludeUserSitePackages=!1;this.enableExtendedPythonKernelCompletions=!1;this.formatStackTraces=!1;this._changeEmitter=new qn.EventEmitter;this._disposables=[];this._workspaceRoot=e,this.initialize(),qn.workspace.isTrusted===!1&&(this.disableJupyterAutoStart=!0)}get onDidChange(){return this._changeEmitter.event}static{this.jupyterSettings=new Map}static getInstance(e,t,r){let i=da.getSettingsUriAndTarget(e).uri,o=i?i.path:"",s=da.jupyterSettings.get(o);return s?s._type==="web"&&r==="node"&&(s._systemVariablesCtor=t,s._type=r):(s=new da(i,t,r),da.jupyterSettings.set(o,s)),s}static getSettingsUriAndTarget(e){let t=e?qn.workspace.getWorkspaceFolder(e):void 0,r=t?t.uri:void 0;!r&&Array.isArray(qn.workspace.workspaceFolders)&&qn.workspace.workspaceFolders.length>0&&(r=qn.workspace.workspaceFolders[0].uri);let i=r?qn.ConfigurationTarget.WorkspaceFolder:qn.ConfigurationTarget.Global;return{uri:r,target:i}}static dispose(){if(!Er())throw new Error("Dispose can only be called from unit tests");da.jupyterSettings.forEach(e=>e&&e.dispose()),da.jupyterSettings.clear()}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}createSystemVariables(e){return new this._systemVariablesCtor(e,this._workspaceRoot)}toJSON(){let e={};return this.getSerializableKeys().forEach(r=>e[r]=this[r]),e}update(e,t){let r=this.createSystemVariables(void 0),i=r.resolveAny(e.get("experiments"));this.experiments?Object.assign(this.experiments,i):this.experiments=i,this.experiments=this.experiments?this.experiments:{enabled:!0,optInto:[],optOutFrom:[]};let o=(a,l)=>{let c=DC.fullSettingIds[a],u=c&&l.get(c)!==void 0?l.get(c):l.get(a),d=r.resolveAny(u);d!==void 0&&(this[a]=d)};this.getSerializableKeys().filter(a=>a!=="experiments"&&a!=="logging"&&a!=="kernelPickerType").forEach(a=>o(a,e)),t&&o("poetryPath",t)}onWorkspaceFoldersChanged(){let e=(qn.workspace.workspaceFolders||[]).map(i=>i.uri.path),r=Array.from(da.jupyterSettings.keys()).filter(i=>e.indexOf(i)<0);if(r.length>0)for(let i of r)da.jupyterSettings.delete(i)}initialize(){let e=()=>{let i=qn.workspace.getConfiguration("jupyter",this._workspaceRoot),o=qn.workspace.getConfiguration("python",this._workspaceRoot);this.update(i,o),this.debounceChangeNotification()};this._disposables.push(qn.workspace.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged,this)),this._disposables.push(qn.workspace.onDidChangeConfiguration(i=>{i.affectsConfiguration("jupyter")&&e(),i.affectsConfiguration("python.poetryPath")&&e()}));let t=qn.workspace.getConfiguration("jupyter",this._workspaceRoot),r=qn.workspace.getConfiguration("python",this._workspaceRoot);t&&(this.update(t,r),this.migrateSettings(t).catch(h))}async migrateSettings(e){await new DC(e).migrateSettings()}debounceChangeNotification(){this._changeEmitter.fire()}fireChangeNotification(){this._changeEmitter.fire()}getSerializableKeys(){return Object.getOwnPropertyNames(this).filter(e=>!e.startsWith("_"))}};v([dv(1)],da.prototype,"debounceChangeNotification",1);var pv=da;var Ml=require("vscode");var Jx=class{async updateSectionSetting(e,t,r,i,o){let a={uri:i,target:o||Ml.ConfigurationTarget.WorkspaceFolder};e==="jupyter"&&o!==Ml.ConfigurationTarget.Global&&(a=pv.getSettingsUriAndTarget(i));let l=Ml.workspace.getConfiguration(e,a.uri),c=l.inspect(t);c!==void 0&&(o===Ml.ConfigurationTarget.Global&&c.globalValue===r||o===Ml.ConfigurationTarget.Workspace&&c.workspaceValue===r||o===Ml.ConfigurationTarget.WorkspaceFolder&&c.workspaceFolderValue===r)||(await l.update(t,r,o),o&&await this.verifySetting(l,o,t,r))}async updateSetting(e,t,r,i){return this.updateSectionSetting("jupyter",e,t,r,i)}async verifySetting(e,t,r,i){if(Er()&&!cS()){let o=0;do{let s=e.inspect(r);if(!s&&i===void 0||s&&i!==void 0&&(t===Ml.ConfigurationTarget.Global?s.globalValue:t===Ml.ConfigurationTarget.Workspace?s.workspaceValue:s.workspaceFolderValue)===i)break;await new Promise(a=>setTimeout(a,250)),o+=1}while(o<20)}}};var mv=class extends Jx{getSettings(e){return pv.getInstance(e,Kg,"node")}};mv=v([(0,s6.injectable)()],mv);var Kn=k(kl()),t7=k(HM()),r7=k(N()),n7=k(G6()),i7=require("util");var Z6=k(N()),Kd=k(require("vscode"));var Y6=k(Q6()),X6=require("vscode"),Kl=class{constructor(e=Y6.fetch){this.fetchImplementation=e;this.requestOptions={};let t=X6.workspace.getConfiguration("http").get("proxy","");t&&(this.requestOptions={headers:{proxy:t}})}async downloadFile(e){return this.fetchImplementation(e,this.requestOptions)}async exists(e){try{return(await this.downloadFile(e)).status===200}catch(t){return p.debug(`HttpClient - Failure checking for file ${e}: ${t}`),!1}}};var e7="utf8",yv=class{constructor(){this.vscfs=Kd.workspace.fs}arePathsSame(e,t){return vi(e,t)}async getFiles(e){return(await this.vscfs.readDirectory(e)).filter(r=>r[1]===Kd.FileType.File).map(r=>Kd.Uri.file(r[0]))}async copy(e,t,r){await this.vscfs.copy(e,t,r)}async createDirectory(e){await this.vscfs.createDirectory(e)}async delete(e){await this.vscfs.delete(e)}async readFile(e){let t=await this.vscfs.readFile(e);return new TextDecoder().decode(t)}async stat(e){return this.vscfs.stat(e)}async writeFile(e,t){return this.vscfs.writeFile(e,typeof t=="string"?new TextEncoder().encode(t):t)}async exists(e,t){if(e.scheme.toLowerCase()==="http"||e.scheme.toLowerCase()==="https")return new Kl().exists(e.toString());let r;try{r=await this.stat(e)}catch(i){return ax(i)||p.error(`stat() failed for "${e}"`,i),!1}return t===void 0?!0:t===Kd.FileType.Unknown?r.type===Kd.FileType.Unknown:(r.type&t)===t}async getFileHash(e){let t=await this.stat(e),r=`${t.ctime}-${t.mtime}`;return na(r,"SHA-512")}};yv=v([(0,Z6.injectable)()],yv);var o7=require("vscode");var Wc=class extends yv{constructor(){super();this.globFiles=(0,i7.promisify)(t7.default)}createLocalWriteStream(t){return Kn.createWriteStream(t)}async createTemporaryLocalFile(t){let r=typeof t=="string"?t:t.fileExtension,i=t&&typeof t=="object"?t.prefix:void 0,o={postfix:r,prefix:i};return new Promise((s,a)=>{n7.file(o,(l,c,u,d)=>{if(l)return a(l);s({filePath:c,dispose:d})})})}async searchLocal(t,r,i){let o;r&&(o={...o,cwd:r}),i&&(o={...o,dot:i});let s=await this.globFiles(t,o);return Array.isArray(s)?s:[]}async writeLocalFile(t,r){return await Kn.ensureDir(nt(t)),Kn.writeFile(t,r)}async readFile(t){if(Dm(t)){let r=await Kn.readFile(ke(t));return Buffer.from(r).toString(e7)}else return super.readFile(t)}async delete(t){Dm(t)?await this.exists(t)&&((await this.stat(t)).type===o7.FileType.Directory?await new Promise(i=>Kn.rm(ke(t),{force:!0,recursive:!0},i)):await Kn.unlink(ke(t))):await super.delete(t)}async exists(t,r){return Dm(t)?Kn.pathExists(ke(t)):super.exists(t,r)}async createDirectory(t){Dm(t)?await Kn.ensureDir(ke(t)):await this.vscfs.createDirectory(t)}async writeFile(t,r){if(Dm(t)){let i=ke(t);return await Kn.ensureDir(nt(i)),Kn.writeFile(i,typeof r=="string"?Buffer.from(r):r)}else await this.vscfs.writeFile(t,typeof r=="string"?new TextEncoder().encode(r):r)}async copy(t,r,i){if(Dm(t)&&Dm(r)){let o=typeof i===void 0||typeof i?.overwrite==null?!0:i?.overwrite;await Kn.copy(ke(t),ke(r),{overwrite:o})}else await super.copy(t,r,i)}};Wc=v([(0,r7.injectable)()],Wc);function Dm(n){return n.scheme==="file"}var KC=k(kl());var s7=k(N()),a7=require("vscode");var bv=class extends KP{async computeWorkingDirectory(e){return OC(e)}};bv=v([(0,s7.injectable)()],bv);async function OC(n){let e=n&&n.scheme==="file"?await KC.pathExists(n.fsPath):!1;return(n&&n.scheme==="file"?await KC.pathExists(nt(n.fsPath)):!1)&&n&&n.fsPath.includes(".")?nt(n.fsPath):e&&n&&(await KC.stat(n.fsPath)).isDirectory()?n.fsPath:n&&a7.workspace.getWorkspaceFolder(n)?.uri.fsPath||ll()?.fsPath||process.cwd()}var _m=k(N());var l7=require("vscode");var Iv=class{constructor(e,t){this.jupyterOutput=e;this.disposableRegistry=t}register(){this.disposableRegistry.push(l7.commands.registerCommand(B.ViewJupyterOutput,this.viewJupyterOutput,this))}viewJupyterOutput(){this.jupyterOutput.show(!0)}};Iv=v([(0,_m.injectable)(),m(0,(0,_m.inject)(Ao)),m(0,(0,_m.named)(Tu)),m(1,(0,_m.inject)(M))],Iv);var FC=k(N()),u7=require("vscode");var c7=require("vscode");var Sv=class{constructor(e,t,r,i=[]){this.fs=e;this.disposableRegistry=t;this.options=r;this.loadFailedEmitter=new c7.EventEmitter;let o={enableScripts:!0,localResourceRoots:[this.options.rootPath,this.options.cwd,...i]};r.webviewHost?(this.webviewHost=r.webviewHost,this.webviewHost.webview.options=o):this.webviewHost=this.createWebview(o),this.loadPromise=this.load()}get loadFailed(){return this.loadFailedEmitter.event}asWebviewUri(e){if(!this.webviewHost?.webview)throw new Error("WebView not initialized, too early to get a Uri");return this.webviewHost.webview.asWebviewUri(e)}postMessage(e){this.webviewHost?.webview&&this.webviewHost?.webview.postMessage(e)}async generateLocalReactHtml(){if(!this.webviewHost?.webview)throw new Error("WebView not initialized, too early to get a Uri");let e=this.webviewHost.webview.asWebviewUri(this.options.cwd).toString(),t=this.options.scripts.map(o=>this.webviewHost.webview.asWebviewUri(o)),r=this.webviewHost.webview.asWebviewUri(this.options.rootPath).toString(),i="false";return`<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<meta http-equiv="Content-Security-Policy" content="img-src 'self' data: https: http: blob: ${this.webviewHost.webview.cspSource}; default-src 'unsafe-inline' 'unsafe-eval' data: https: http: blob: ${this.webviewHost.webview.cspSource};">
<meta name="theme-color" content="#000000">
<meta name="theme" content="${je.GeneratedThemeName}"/>
<title>VS Code Python React UI</title>
<base href="${e}${e.endsWith("/")?"":"/"}"/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="text/javascript">
// Public path that will be used by webpack.
window.__PVSC_Public_Path = "${r}/";
function resolvePath(relativePath) {
if (relativePath && relativePath[0] == '.' && relativePath[1] != '.') {
return "${e}" + relativePath.substring(1);
}
return "${e}" + relativePath;
}
function forceTestMiddleware() {
return ${i};
}
</script>
${t.map(o=>`<script type="text/javascript" src="${o}"></script>`).join(`
`)}
</body>
</html>`}async load(){try{this.webviewHost?.webview&&((await Promise.all(this.options.scripts.map(t=>this.fs.exists(t)))).every(t=>t===!0)?(this.webviewHost.webview.html=await this.generateLocalReactHtml(),this.postLoad(this.webviewHost)):this.webviewHost.webview.html=y.badWebPanelFormatString(this.options.scripts.join(", ")))}catch(e){p.error(`Error Loading WebviewPanel: ${e}`),this.loadFailedEmitter.fire()}}};var lK=class extends Sv{constructor(t,r,i,o=[]){super(t,r,i,o);this.panelOptions=i;this._onDidChangeVisibility=new u7.EventEmitter}get visible(){return this.webviewHost?this.webviewHost.visible:!1}get onDidChangeVisibility(){return this._onDidChangeVisibility.event}createWebview(t){throw new Error("Webview Views must be passed in an initial view")}postLoad(t){this.disposableRegistry.push(t.onDidDispose(()=>{this.webviewHost=void 0,this.panelOptions.listener.dispose()})),this.disposableRegistry.push(t.webview.onDidReceiveMessage(r=>{this.panelOptions.listener.onMessage(r.type,r.payload)})),this.disposableRegistry.push(t.onDidChangeVisibility(()=>{this._onDidChangeVisibility.fire()})),this._onDidChangeVisibility.fire()}},Cv=class{constructor(e,t){this.disposableRegistry=e;this.fs=t}async create(e){return new lK(this.fs,this.disposableRegistry,e)}};Cv=v([(0,FC.injectable)(),m(0,(0,FC.inject)(M)),m(1,(0,FC.inject)(tt))],Cv);var Ev=k(N()),Qx=require("vscode");var cK=class extends Sv{get panel(){return this.webviewHost}get panelOptions(){return this.options}constructor(e,t,r,i=[]){super(e,t,r,i)}async show(e){await this.loadPromise,this.panel&&(e?this.panel.visible||this.panel.reveal(this.panel.viewColumn,e):this.panel.active||this.panel.reveal(this.panel.viewColumn,e))}close(){this.panel&&this.panel.dispose()}get viewColumn(){return this.panel?.viewColumn}isVisible(){return this.panel?this.panel.visible:!1}isActive(){return this.panel?this.panel.active:!1}setTitle(e){this.panelOptions.title=e,this.panel&&(this.panel.title=e)}createWebview(e){return Qx.window.createWebviewPanel(this.panelOptions.title.toLowerCase().replace(" ",""),this.panelOptions.title,{viewColumn:this.panelOptions.viewColumn,preserveFocus:!0},{retainContextWhenHidden:!0,enableFindWidget:!0,...e})}postLoad(e){this.disposableRegistry.push(e.onDidDispose(()=>{this.webviewHost=void 0,this.panelOptions.listener.dispose()})),this.disposableRegistry.push(e.webview.onDidReceiveMessage(t=>{this.panelOptions.listener.onMessage(t.type,t.payload)})),this.disposableRegistry.push(e.onDidChangeViewState(t=>{this.panelOptions.listener.onChangeViewState(this)})),this.panelOptions.listener.onChangeViewState(this)}},wv=class{constructor(e,t,r){this.disposableRegistry=e;this.fs=t;this.context=r}async create(e){let t=[Qx.Uri.file(Le(this.context.extensionPath,"temp"))];return Array.isArray(e.additionalPaths)&&t.push(...e.additionalPaths),new cK(this.fs,this.disposableRegistry,e,t)}};wv=v([(0,Ev.injectable)(),m(0,(0,Ev.inject)(M)),m(1,(0,Ev.inject)(tt)),m(2,(0,Ev.inject)(et))],wv);function d7(n){n.addSingleton(Wc,Wc),n.addBinding(Wc,lr),n.addBinding(Wc,tt),n.addSingleton(Pk,bv),n.addSingleton(ie,mv),jj(n),$B(n),HB(n),t6(n),n.addSingletonInstance(dU,Date.now()),n.addSingleton($o,$o),n.addSingleton(me,st),n.addSingleton(wh,Iv),n.add(kk,Cv),n.add(md,wv)}var Tm=k(N()),v7=require("vscode");var Ld=k(N()),xv=require("vscode");var LC=k(N()),Vc=require("vscode");var Pv=Symbol("IJupyterCommandFactory"),Od=Symbol("IJupyterSubCommandExecutionService");function jle(n){n.sort((e,t)=>e===18?-1:t===18?1:e===20?-1:t===20?1:0)}function uK(n,e){let t=qr(e)||qr(e)||Pr(e)?.environment?.folderUri?.fsPath||e.uri.fsPath,r=n.map(i=>ar.get(i)).filter(i=>!!i).map(i=>i);switch(r.length){case 0:return"";case 1:return t?y.libraryRequiredToLaunchJupyterNotInstalledInterpreter(t,r[0]):y.libraryRequiredToLaunchJupyterNotInstalled(r[0]);default:{let i=r.pop();return t?y.librariesRequiredToLaunchJupyterNotInstalledInterpreter(t,`${r.join(", ")} ${de.and} ${i}`):y.librariesRequiredToLaunchJupyterNotInstalled(`${r.join(", ")} ${de.and} ${i}`)}}}var As=class{constructor(e,t){this.installer=e;this.commandFactory=t;this.dependenciesInstalledInInterpreter=new Set}async installMissingDependencies(e,t){let r=new Vc.CancellationTokenSource;try{let i=Ve(e)==="Conda"?Promise.resolve(void 0):this.installer.isInstalled(27,e),[o,s]=await Promise.all([this.getDependenciesNotInstalled(e,void 0),i]);if(o.length===0)return 0;let a=uK(s===!1?[27].concat(o):o,e);switch(R("DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"displayed",moduleName:ar.get(18),pythonEnvType:Ve(e)}),await Vc.window.showErrorMessage(a,{modal:!0},y.jupyterInstall,y.selectDifferentJupyterInterpreter)){case y.jupyterInstall:{o.includes(21)&&!o.includes(18)&&o.push(18);let c=o.filter(d=>d!==21);jle(c);let u=c.shift();for(;u;)if(await Xt(r.token,2,this.installer.install(u,e,r,void 0,s===!1))===0){u=c.shift();continue}else return 2;return R("DATASCIENCE.USER_INSTALLED_JUPYTER"),this.checkKernelSpecAvailability(e)}case y.selectDifferentJupyterInterpreter:return R("DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER"),1;case y.pythonInteractiveHelpLink:return Vc.env.openExternal(Vc.Uri.parse(lS.PythonInteractiveHelpLink)),R("DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER"),2;default:return R("DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER"),2}}finally{r.dispose()}}async areDependenciesInstalled(e,t){return this.getDependenciesNotInstalled(e,t).then(r=>r.length===0)}async getDependenciesNotInstalled(e,t){let r=cn(e.uri);if(this.dependenciesInstalledInInterpreter.has(r))return[];let i=[];if(await Xt(t,Promise.all([this.installer.isInstalled(18,e).then(s=>s?void 0:i.push(18)),this.installer.isInstalled(20,e).then(s=>s?void 0:i.push(20))])),i.length>0)return i;if(t?.isCancellationRequested)return[];let o=await this.isKernelSpecAvailable(e,t).then(s=>s?[]:[21]);return o.length===0&&this.dependenciesInstalledInInterpreter.add(r),o}async isKernelSpecAvailable(e,t){return this.commandFactory.createInterpreterCommand("kernelspec","jupyter",["-m","jupyter","kernelspec"],e,!1).exec(["--version"],{throwOnStdErr:!0}).then(()=>!0).catch(i=>(p.error("Kernel spec not found: ",i),!1))}async checkKernelSpecAvailability(e,t){return await this.isKernelSpecAvailable(e)?0:t?.isCancellationRequested?2:await Vc.window.showErrorMessage(y.jupyterKernelSpecModuleNotFound(e.uri.fsPath),{modal:!0},y.selectDifferentJupyterInterpreter)===y.selectDifferentJupyterInterpreter?1:2}};v([lv("InstallingMissingDependencies")],As.prototype,"installMissingDependencies",1),As=v([(0,LC.injectable)(),m(0,(0,LC.inject)(Ai)),m(1,(0,LC.inject)(Pv))],As);var tD=k(N());var rD=require("vscode");var m7=require("vscode");function Yx(n,e){let t=qr(n),i={label:`${n.id===e.recommended?.id?"$(star-full) ":Vr(n)?"$(warning) ":""}${t}`};return i.description=j(n.executable.uri||n.path,m7.workspace.workspaceFolders||[],new xl().homeDir),i.tooltip=Vr(n)?y.pythonCondaKernelsWithoutPython:"",i}function Xx(n){switch(Ve(n)){case"Conda":return Vr(n)?{label:y.kernelCategoryForCondaWithoutPython,sortKey:"Z"}:{label:y.kernelCategoryForConda};case"PipEnv":return{label:y.kernelCategoryForPipEnv};case"Poetry":return{label:y.kernelCategoryForPoetry};case"Pyenv":return{label:y.kernelCategoryForPyEnv};case"Venv":case"VirtualEnv":case"VirtualEnvWrapper":return{label:y.kernelCategoryForVirtual};default:return{label:y.kernelCategoryForGlobal}}}var Ns=k(N()),f7=require("vscode");var Zx="INTERPRETER_PATH_SELECTED_FOR_JUPYTER_SERVER",dK="INTERPRETER_PATH_WAS_SELECTED_FOR_JUPYTER_SERVER",pa=class{constructor(e){this.memento=e}get interpreterSetAtleastOnce(){return!!this.selectedPythonPath||this.memento.get(dK,!1)}get selectedPythonPath(){if(this._interpreterPath)return this._interpreterPath;let e=this.memento.get(Zx,void 0);if(e)return f7.Uri.parse(e)}updateSelectedPythonPath(e){this._interpreterPath=e,this.memento.update(Zx,e?.toString()).then(h,h),this.memento.update(dK,!0).then(h,h)}};pa=v([(0,Ns.injectable)(),m(0,(0,Ns.inject)(We)),m(0,(0,Ns.named)(lt))],pa);var kv=class{constructor(e,t,r,i){this.api=e;this.memento=t;this.checker=r;this.disposables=i}activate(){this.activateBackground().catch(h),this.api.onDidActivatePythonExtension(this.activateBackground,this,this.disposables)}async activateBackground(){!this.memento.get(Zx)&&this.checker.isPythonExtensionActive&&await this.migrateSettings()}async migrateSettings(){if(this.settingsMigrated)return;this.settingsMigrated=!0;let t=(await this.api.getApi()).getInterpreterPathSelectedForJupyterServer();await this.memento.update(Zx,t),await this.memento.update(dK,!0)}};kv=v([(0,Ns.injectable)(),m(0,(0,Ns.inject)(Ht)),m(1,(0,Ns.inject)(We)),m(1,(0,Ns.named)(lt)),m(2,(0,Ns.inject)(Be)),m(3,(0,Ns.inject)(M))],kv);var qo=require("vscode");var pK=class{constructor(e){this.label=e}},eD=class extends pK{constructor(t,r){super(t);this.sortKey=r;this.kind=qo.QuickPickItemKind.Separator}},Fd=class extends Qt{constructor(t,r,i,o,s,a){super();this.provider=t;this.createQuickPickItem=r;this.getCategory=i;this.options=o;this.createErrorQuickPickItem=s;this._title=a;this.categories=new Map;this.quickPickItems=[];this.previouslyEnteredValue="";this.commands=new Set;this._placeholder="";this.quickPickItemMap=new WeakSet;this.errorQuickPickItemMap=new WeakSet}set recommended(t){let r=this._recommended?.id!==t?.id;this._recommended=t,r&&this.quickPick&&this.rebuildQuickPickItems(this.quickPick)}get recommended(){return this._recommended}set placeholder(t){this.quickPick&&(this.quickPick.placeholder=t),this._placeholder=t}get placeholder(){return this._placeholder}set selected(t){let r=this._selected!==t;this._selected=t,r&&this.quickPick&&this.rebuildQuickPickItems(this.quickPick)}get selected(){return this._selected}createQuickPick(){let t=[],r={iconPath:new qo.ThemeIcon("refresh"),tooltip:de.refresh},i=this.quickPick=qo.window.createQuickPick();return t.push(i),this.quickPickItems=[],i.placeholder=this.placeholder,i.matchOnDescription=!0,i.buttons=this.options.supportsBack?[qo.QuickInputButtons.Back,r]:[r],i.ignoreFocusOut=!0,i.busy=!0,i.value=this.previouslyEnteredValue,i.onDidChangeValue(o=>this.previouslyEnteredValue=o,this,t),i.onDidHide(()=>z(t),this,t),i.title=this._title||y.kernelPickerSelectKernelFromRemoteTitleWithoutName,this.provider.then(o=>{this.resolvedProvider=o,this._title||(i.title=y.kernelPickerSelectKernelFromRemoteTitle(o.title)),i.busy=o.status==="discovering",o.onDidChange(()=>this.updateQuickPickItems(i,o),this,t),i.onDidTriggerButton(async a=>{a===r&&(i.busy=!0,await o.refresh().catch(h),this.updateQuickPickItems(i,o),i.busy=!1)},this,t);let s;o.onDidChangeStatus(()=>{switch(s&&clearTimeout(s),o.status){case"discovering":i.busy=!0;break;case"idle":s=setTimeout(()=>i.busy=!1,500),t.push(new qo.Disposable(()=>s&&clearTimeout(s)));break}},this,t),h7(o.items.map(a=>this.toQuickPickItem(a)),(a,l)=>g7(this.getCategory(a.item,this),this.getCategory(l.item,this))).forEach(a=>{let l=this.connectionToCategory(a[0].item);this.quickPickItems.push(l),a.sort((c,u)=>c.label.localeCompare(u.label)),this.quickPickItems.push(...a),this.categories.set(l,new Set(a))}),this.updateQuickPickItems(i,o)}).catch(o=>p.error(`Failed to get quick pick items for ${i.title}`,o)),t.forEach(o=>this._register(o)),{quickPick:i,disposables:t}}isCommandQuickPickItem(t){return this.commands.has(t)}addCommand(t,r){let i=t;return i.execute=r,this.commands.add(i),this.quickPick&&this.rebuildQuickPickItems(this.quickPick),{dispose:()=>{this.commands.delete(i)}}}async selectItem(t){for(;!t.isCancellationRequested;){let{quickPick:r,disposables:i}=this.createQuickPick();r.show();try{this.previouslySelectedItem=void 0;let o=await new Promise((s,a)=>{r.onDidChangeSelection(l=>{if(l.length){let c=l[0];this.isSelectorQuickPickItem(c)?s(c.item):this.isCommandQuickPickItem(c)?s(c):this.isErrorQuickPickItem(c)}}),r.onDidTriggerButton(l=>l===qo.QuickInputButtons.Back?s(_e.back):void 0,this,i),r.onDidHide(()=>s(void 0),this,i)});if(t.isCancellationRequested||!o)return;if(o instanceof _e)return o===_e.back?_e.back:void 0;if(o&&"label"in o&&this.isCommandQuickPickItem(o)){this.previouslySelectedItem=o;let s=await o.execute();if(!s||s===_e.back)continue;return s instanceof _e,s}return o||void 0}finally{z(i)}}}updateQuickPickItems(t,r){let i=new Map(t.items.filter(a=>this.isSelectorQuickPickItem(a)).map(a=>a).map(a=>[a.item.id,a.item])),o=new Map(r.items.map(a=>[a.id,a]));this.quickPickItems=this.quickPickItems.map(a=>{if(this.isSelectorQuickPickItem(a)){let l=i.get(a.item.id);if(l&&l!==a.item)return this.toQuickPickItem(l);let c=o.get(a.item.id);if(c){let u=this.toQuickPickItem(c);if(JSON.stringify({...a,item:""})!==JSON.stringify({...u,item:""}))return this.toQuickPickItem(c)}}return a});let s=r.items.filter(a=>!i.has(a.id)).map(a=>this.toQuickPickItem(a));this.removeOutdatedQuickPickItems(t,r),h7(s,(a,l)=>g7(this.getCategory(a.item,this),this.getCategory(l.item,this))).forEach(a=>{a.sort((u,d)=>u.label.localeCompare(d.label));let l=this.connectionToCategory(a[0].item),c=this.quickPickItems.find(u=>u.kind===qo.QuickPickItemKind.Separator&&u.label===l.label);if(c){let u=this.quickPickItems.indexOf(c),d=this.categories.get(c),f=new Map(Array.from(d).map(I=>[I.item.id,I])),g=d.size;a.forEach(I=>{let E=f.get(I.item.id);E&&d.delete(E),d.add(I)});let b=Array.from(d);b.sort((I,E)=>I.label.localeCompare(E.label)),this.quickPickItems.splice(u+1,g,...b)}else{let u=this.quickPickItems.filter(g=>g instanceof eD).map((g,b)=>[g,b]);u.push([l,-1]),u.sort((g,b)=>g[0].sortKey.localeCompare(b[0].sortKey));let d=u.findIndex(g=>g[1]===-1),f=0;d>0&&(f=u.length===d+1?this.quickPickItems.length:u[d+1][1]),a.sort((g,b)=>g.label.localeCompare(b.label)),this.quickPickItems.splice(f,0,l,...a),this.categories.set(l,new Set(a))}}),this.rebuildQuickPickItems(t)}rebuildQuickPickItems(t){let r=this.recommended?this.toQuickPickItem(this.recommended):void 0,i=[];r&&i.push({label:y.recommendedItemCategoryInQuickPick,kind:qo.QuickPickItemKind.Separator},r);let o=r;o=this.selected?this.quickPickItems.filter(d=>this.isSelectorQuickPickItem(d)).map(d=>d).find(d=>d.item.id===this.selected?.id):o;let s=this.quickPickItems.filter(d=>!this.isSelectorQuickPickItem(d)||d.item.id!==r?.item?.id),a=t.activeItems.length?t.activeItems[0]:void 0;o&&a&&(this.isSelectorQuickPickItem(a)?a.item.id!==o.item.id&&(o=void 0):o=void 0);let l=this.resolvedProvider?.lastError?this.toErrorQuickPickItem(this.resolvedProvider.lastError):void 0,c=[].concat(Array.from(this.commands.values())).concat(i).concat(s).concat(l?[l]:[]),u=o?[o]:t.activeItems.length?[t.activeItems[0]]:[];if(u.length&&!c.includes(u[0])){let d=u[0],f=this.isSelectorQuickPickItem(d)&&c.find(g=>this.isSelectorQuickPickItem(g)&&g.item.id===d.item.id);f?u[0]=f:u.length=0}t.items=c,t.activeItems=u,!t.activeItems.length&&this.previouslySelectedItem&&c.includes(this.previouslySelectedItem)&&(t.activeItems=[this.previouslySelectedItem])}isErrorQuickPickItem(t){return this.errorQuickPickItemMap.has(t)}toErrorQuickPickItem(t){if(!this.createErrorQuickPickItem)return;let r=this.createErrorQuickPickItem(t,this);return this.errorQuickPickItemMap.add(r),r}isSelectorQuickPickItem(t){return this.quickPickItemMap.has(t)}toQuickPickItem(t){let r=this.createQuickPickItem(t,this);return r.item=t,this.quickPickItemMap.add(r),r}removeOutdatedQuickPickItems(t,r){let i=t.items.filter(a=>this.isSelectorQuickPickItem(a)).map(a=>a).map(a=>a.item.id),o=new Map(r.items.map(a=>[a.id,a])),s=i.filter(a=>!o.has(a));if(s.length){let a=[];this.categories.forEach((l,c)=>{l.forEach(u=>{s.includes(u.item.id)&&(l.delete(u),a.push(u))}),l.size||(a.push(c),this.categories.delete(c))}),this.quickPickItems=this.quickPickItems.filter(l=>!a.includes(l)),this.rebuildQuickPickItems(t)}}connectionToCategory(t){let r=this.getCategory(t,this);return new eD(r.label,r.sortKey||r.label)}};function h7(n,e){let t=[],r;for(let i of n.slice(0).sort(e))!r||e(r[0],i)!==0?(r=[i],t.push(r)):r.push(i);return t}function g7(n,e){return(n.sortKey||n.label).localeCompare(e.sortKey||e.label,void 0,{sensitivity:"accent"})}var jc=class{constructor(e){this.serviceContainer=e}async selectPythonInterpreter(){let e=await this.selectPythonEnvironment();return e?.executable?.uri&&await this.serviceContainer.get(Xe).getInterpreterDetails(e.executable.uri)}async selectPythonEnvironment(){let e=new rD.CancellationTokenSource,t=new xl,r=this.serviceContainer.get(pa).selectedPythonPath,i=be.instance.get(ri),o=be.instance.get(Rs).withFilter(u=>!Vr(u)&&!i.isPythonEnvironmentExcluded(u)),s=()=>o.items.find(u=>Mo(u.executable.uri,r,t.osType)),a=r?y.currentlySelectedJupyterInterpreterForPlaceholder(j(r,rD.workspace.workspaceFolders||[],t.homeDir)):"",l=[],c=new Fd(Promise.resolve(o),Yx,Xx,{supportsBack:!1},void 0,y.quickPickSelectPythonEnvironmentTitle);c.placeholder=a,c.selected=s(),l.push(c),l.push(e);try{if(!c.selected&&r){let d=o.onDidChange(()=>{c.selected=s(),c.selected&&d.dispose()});l.push(d)}let u=await c.selectItem(e.token);return!u||u instanceof _e?void 0:u}catch(u){p.error("Failed to select a Python Environment to start Jupyter",u)}finally{z(l)}}};jc=v([(0,tD.injectable)(),m(0,(0,tD.inject)(rt))],jc);var ii=class{constructor(e,t,r,i,o){this.interpreterSelectionState=e;this.jupyterInterpreterSelector=t;this.interpreterConfiguration=r;this.interpreterService=i;this._onDidChangeInterpreter=new xv.EventEmitter;xv.workspace.onDidGrantWorkspaceTrust(()=>{this.getInitialInterpreterPromiseFailed&&(this.getInitialInterpreterPromise=void 0,this.getInitialInterpreterPromiseFailed=!1)},this,o)}get onDidChangeInterpreter(){return this._onDidChangeInterpreter.event}async getSelectedInterpreter(e){return await this.setInitialInterpreter(e),this._selectedInterpreter}async setInitialInterpreter(e){return this.getInitialInterpreterPromise||(this.getInitialInterpreterPromise=this.getInitialInterpreterImpl(e).then(t=>(t&&this.changeSelectedInterpreterProperty(t),t)),this.getInitialInterpreterPromise.catch(()=>this.getInitialInterpreterPromiseFailed=!0)),this.getInitialInterpreterPromise}async selectInterpreter(){let e=await this.jupyterInterpreterSelector.selectPythonInterpreter();if(!e)return;switch(await this.interpreterConfiguration.installMissingDependencies(e,void 0)){case 0:return await this.setAsSelectedInterpreter(e),e;case 2:return;default:return this.selectInterpreter()}}async installMissingDependencies(e){let t=await this.getSelectedInterpreter(),r=t;if(!r&&(r=await this.interpreterService.getActiveInterpreter(void 0),!r))return e&&await xv.window.showErrorMessage(e.message,{modal:!0},y.selectDifferentJupyterInterpreter)!==y.selectDifferentJupyterInterpreter?2:(await this.selectInterpreter(),1);let i=await this.interpreterConfiguration.installMissingDependencies(r,e);return i===1?(r=await this.selectInterpreter(),r?0:2):(i===0&&r!==t&&await this.setAsSelectedInterpreter(r),i)}async setAsSelectedInterpreter(e){await this.setInitialInterpreter(),this.changeSelectedInterpreterProperty(e)}changeSelectedInterpreterProperty(e){this._selectedInterpreter=e,this._onDidChangeInterpreter.fire(e),this.interpreterSelectionState.updateSelectedPythonPath(e.uri)}async validateInterpreterPath(e,t){try{let r=await Xt(t,this.interpreterService.getInterpreterDetails(e));if(r&&await this.interpreterConfiguration.areDependenciesInstalled(r,t))return r}catch{}}async getInitialInterpreterImpl(e){let t;if(this.interpreterSelectionState.selectedPythonPath&&(t=await this.validateInterpreterPath(this.interpreterSelectionState.selectedPythonPath,e),t||this.interpreterSelectionState.updateSelectedPythonPath(void 0)),!t){let r=await this.interpreterService.getActiveInterpreter(void 0);r&&await this.interpreterConfiguration.areDependenciesInstalled(r,e)&&(t=r)}return t}};ii=v([(0,Ld.injectable)(),m(0,(0,Ld.inject)(pa)),m(1,(0,Ld.inject)(jc)),m(2,(0,Ld.inject)(As)),m(3,(0,Ld.inject)(Xe)),m(4,(0,Ld.inject)(M))],ii);var nD=Symbol("IKernelLauncher"),oi=Symbol("IRawNotebookSupportedService"),iD=Symbol("IRawKernelSessionFactory");var Dv=class{constructor(e,t,r,i){this.jupyterInterpreterService=e;this.disposables=t;this.rawSupported=r;this.extensionChecker=i;this.notebookOpened=!1}activate(){this.disposables.push(v7.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebookEditor,this)),this.disposables.push(this.jupyterInterpreterService.onDidChangeInterpreter(this.onDidChangeInterpreter,this))}onDidOpenNotebookEditor(e){Et(e)&&(this.notebookOpened=!0,R("DATASCIENCE.NATIVE.OPEN_NOTEBOOK_ALL",fV(e)),!this.rawSupported.isSupported&&this.extensionChecker.isPythonExtensionInstalled&&this.jupyterInterpreterService.setInitialInterpreter().catch(h))}onDidChangeInterpreter(){this.notebookOpened&&!this.rawSupported.isSupported&&this.extensionChecker.isPythonExtensionInstalled&&this.jupyterInterpreterService.setInitialInterpreter().catch(h)}};Dv=v([(0,Tm.injectable)(),m(0,(0,Tm.inject)(ii)),m(1,(0,Tm.inject)(M)),m(2,(0,Tm.inject)(oi)),m(3,(0,Tm.inject)(Be))],Dv);var oD=k(N()),y7=require("vscode");var Qr=class{static dispose(){z(Qr.disposables)}constructor(e){e.push({dispose:()=>{Qr.dispose()}})}activate(){y7.workspace.onDidChangeNotebookDocument(e=>{Et(e.notebook)&&e.cellChanges.filter(t=>t.outputs?.length===0).map(t=>{let r=Qr.cellToDisplayIdMapping.get(t.cell);r&&(Qr.cellToDisplayIdMapping.delete(t.cell),Qr.displayIdCellOutputMappingPerDocument.get(e.notebook)?.delete(r))})})}static trackOutputByDisplayId(e,t,r,i){let o=Qr.displayIdCellOutputMappingPerDocument.get(e.notebook);o||(o=new Map,Qr.displayIdCellOutputMappingPerDocument.set(e.notebook,o)),o.set(t,{outputContainer:r,cell:e,outputItems:i}),Qr.cellToDisplayIdMapping.set(e,t)}static getMappedOutput(e,t){let r=Qr.displayIdCellOutputMappingPerDocument.get(e);if(!r)return;let i=r.get(t);return i?.cell.document.isClosed?void 0:i}};Qr.displayIdCellOutputMappingPerDocument=new WeakMap,Qr.cellToDisplayIdMapping=new WeakMap,Qr.disposables=[],Qr=v([(0,oD.injectable)(),m(0,(0,oD.inject)(M))],Qr);var Rm=k(N());var mK="Active_Kernel_Id_List",Jle=100,Ho=class{constructor(e,t){this.globalMemento=e;this.crypto=t}async getPreferredRemoteKernelId(e){let t=this.globalMemento.get(mK,[]);if(t.length){let r=e.uri,i=await this.crypto.createHash(r.toString()),o=t.find(s=>s.fileHash===i);return p.trace(`Preferred Remote kernel for ${j(r)} is ${o?.kernelId}`),o?.kernelId}}async clearPreferredRemoteKernelId(e){await this.updatePreferredRemoteKernelIdInternal(e)}async storePreferredRemoteKernelId(e,t){await this.updatePreferredRemoteKernelIdInternal(e,t)}async updatePreferredRemoteKernelIdInternal(e,t){let r=!1,i=JSON.parse(JSON.stringify(this.globalMemento.get(mK,[]))),o=await this.crypto.createHash(e.toString()),s=i.findIndex(a=>a.fileHash===o);for(s>=0&&(r=!0,i.splice(s,1)),t&&(r=!0,i.push({fileHash:o,kernelId:t}),p.trace(`Storing Preferred remote kernel for ${j(e)} is ${t}`));i.length>Jle;)r=!0,i.shift();r&&await this.globalMemento.update(mK,i)}};Ho=v([(0,Rm.injectable)(),m(0,(0,Rm.inject)(We)),m(0,(0,Rm.named)(lt)),m(1,(0,Rm.inject)(Ch))],Ho);var Tv=k(N());var sD=require("vscode");var er;(r=>{let n=Zs(new sD.EventEmitter);r.onDidChangeNotebookCellExecutionState=n.event;function t(i,o,s){if(o!==1||!s){n.fire({cell:i,state:o});return}let a=Zs(sD.workspace.onDidChangeNotebookDocument(l=>{if(l.notebook!==i.notebook)return;l.cellChanges.find(u=>u.cell===i)?.cell?.executionSummary?.executionOrder===s&&(a.dispose(),n.fire({cell:i,state:1}))}))}r.changeCellState=t})(er||={});var Ble=1e3,_v=class{constructor(e,t,r){this.serverStorage=e;this.kernelProvider=t;this.disposables=[];this.timeouts=new Set;this.kernelSpecificUpdates=new WeakMap;r.push(this)}dispose(){z(this.disposables),z(Array.from(this.timeouts.values()))}activate(){this.disposables.push(er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this))}onDidChangeNotebookCellExecutionState(e){let t=this.kernelProvider.get(e.cell.notebook);if(!t)return;let r=t.kernelConnectionMetadata;if(!_t(r))return;let i=this.kernelSpecificUpdates.get(t)||new cs(Ble);this.kernelSpecificUpdates.set(t,i),i.trigger(()=>{t.disposed||t.disposing||this.serverStorage.update(r.serverProviderHandle).catch(h)})}};_v=v([(0,Tv.injectable)(),m(0,(0,Tv.inject)($t)),m(1,(0,Tv.inject)(De)),m(2,(0,Tv.inject)(M))],_v);var ma=k(N()),UC=require("vscode");var b7=require("vscode"),Jt=class{constructor(e){this._event=new b7.EventEmitter;this._disableUI=e}get disableUI(){return this._disableUI}set disableUI(e){let t=this._disableUI!==e;this._disableUI=e,t&&this._event.fire()}get onDidChangeDisableUI(){return this._event.event}dispose(){this._event.dispose()}};var $le="last-python-notebook-created",I7="last-notebook-created",Rv=class{constructor(e,t,r,i,o,s){this.configService=e;this.serverConnector=t;this.disposables=r;this.rawKernelSupport=i;this.mementoStorage=o;this.kernelProvider=s;UC.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebook.bind(this),this,r)}activate(){this.checkDateForServerStart(),this.disposables.push(this.kernelProvider.onDidStartKernel(this.kernelStarted,this))}get lastNotebookCreated(){let e=this.mementoStorage.get(I7);return e?new Date(e):void 0}checkDateForServerStart(){this.shouldAutoStartStartServer(this.lastNotebookCreated)&&this.createServerIfNecessary().catch(h)}shouldAutoStartStartServer(e){if(!e)return!1;let r=new Date().getTime()-e.getTime();return Math.floor(r/(24*3600*1e3))<=7}async createServerIfNecessary(){if(!UC.workspace.isTrusted||this.rawKernelSupport.isSupported)return;let e=new UC.CancellationTokenSource,t=new Jt(!0);try{p.info("Attempting to start a server because of preload conditions ..."),this.configService.getSettings(void 0).disableJupyterAutoStart||await this.serverConnector.connect({resource:void 0,ui:t,token:e.token})}catch(r){p.error("Error starting server in serverPreload: ",r)}finally{t.dispose(),e.dispose()}}onDidOpenNotebook(e){Et(e)&&this.createServerIfNecessary().catch(h)}kernelStarted(e){let t=po(e.kernelConnectionMetadata);this.mementoStorage.update(I7,Date.now()).then(h,h),t===ge&&this.mementoStorage.update($le,Date.now()).then(h,h)}};Rv=v([(0,ma.injectable)(),m(0,(0,ma.inject)(ie)),m(1,(0,ma.inject)(GP)),m(2,(0,ma.inject)(M)),m(3,(0,ma.inject)(oi)),m(4,(0,ma.inject)(We)),m(4,(0,ma.named)(ei)),m(5,(0,ma.inject)(De))],Rv);var bo=k(N());var Ms=k(N());var zi=class extends qe{constructor(e){super("jupyterinstall",e)}};var xr=require("vscode");var Am=class extends xn{constructor(e){super("timeout",y.rawKernelStartFailedDueToTimeout(it(e)),e)}};var Ud=class extends ml{constructor(t,r,i,o){super(t,i,o);this.stdErr=r}};var Av=class extends xn{constructor(e){super("timeout",y.rawKernelStartFailedDueToTimeoutWaitingForPort(it(e)),e)}};var Ol=class extends xn{constructor(t=-1,r,i){super("kerneldied",y.kernelDied(r.trim()),i);this.exitCode=t;this.stdErr=r}};var Nm=class extends xn{constructor(t,r){super("noipykernel",y.kernelInvalid(it(r)),r);this.reason=t}};var Wd=class extends ml{constructor(e){super(y.kernelDiedWithoutError(it(e)),void 0,e)}};var aD=class extends qe{constructor(e){super("jupyterexpiredcert",e)}};var Vd=class extends qe{constructor(t){super("invalidremotejupyterserverurihandle","Server handle not in list of known handles");this.serverProviderHandle=t}};var Jc=class extends qe{constructor(t,r,i){super("jupyternotebooknotinstalled",t+(r?`
${r}`:""));this.interpreter=i}};var S7=new Map;function lD(n,e){S7.set(Ot(n),e)}function Nv(n,e,t){let r=e.jupyterCollections.find(i=>i.extensionId===n.extensionId&&i.id===n.id);return S7.get(Ot(n))||r?.label||t||`${n.id}:${n.handle}`}var Kv=class{constructor(e,t,r,i,o,s,a){this.dependencyManager=e;this.configuration=t;this.kernelDependency=r;this.serverUriStorage=i;this.jupyterUriProviderRegistration=o;this.fs=s;this.interpreterService=a;this.handledErrors=new WeakSet;this.handledKernelErrors=new WeakSet}async handleError(e){if(p.warn("DataScience Error",e),e=rn.unwrap(e),!this.handledErrors.has(e)){if(this.handledErrors.add(e),e instanceof zi)await this.dependencyManager?.installMissingDependencies(e);else if(e instanceof Oo)await $P(this.configuration,e.message);else if(e instanceof aD)await qP(this.configuration,e.message);else if(!sr(e))if(e instanceof Am||e instanceof Av)xr.window.showErrorMessage(e.message).then(h,h);else if(e instanceof Ud||e instanceof Ol||e instanceof Jc||e instanceof vs)xr.window.showErrorMessage(Mv(e)).then(h,h);else if(e instanceof xi&&tn())xr.window.showErrorMessage(y.jupyterNotebookRemoteConnectFailedWeb(e.baseUrl)).then(h,h);else if(e instanceof xi){let t=await this.handleJupyterServerConnectionError(e,void 0);xr.window.showErrorMessage(t).then(h,h)}else if(e instanceof ld){let t=await this.handleJupyterServerUriProviderError(e,void 0);xr.window.showErrorMessage(t).then(h,h)}else{let t=C7(e.message||e.toString());xr.window.showErrorMessage(t).then(h,h)}}}async getErrorMessageForDisplayInCell(e,t,r){if(e=rn.unwrap(e),sr(e)||p.error("Error in execution (get message for cell)",e),e instanceof Wd)return"";if(e instanceof Nm)return fK(e.kernelConnectionMetadata)||e.message;if(e instanceof zi)return Gle(e)||e.message;if(e instanceof xi&&!tn())return e.message;if(e instanceof xi&&tn())return y.jupyterNotebookRemoteConnectFailedWeb(e.baseUrl);if(sr(e))return"";if(e instanceof Bg){let i=typeof e.product=="string"?e.product:ar.get(e.product)||`${e.product}`,o=qr(e.interpreter)||e.interpreter.id||"",s=Pr(e.interpreter),a=j(s?.executable.uri),l=o?` ${o} (${a})`:a;return y.packageNotInstalledWindowsLongPathNotEnabledError(i,l)}else{if((e instanceof Ud||e instanceof Ol)&&(e.kernelConnectionMetadata.kind==="startUsingLocalKernelSpec"||e.kernelConnectionMetadata.kind==="startUsingPythonInterpreter")&&e.kernelConnectionMetadata.interpreter&&!await this.fs.exists(e.kernelConnectionMetadata.interpreter.uri))return y.failedToStartKernelDueToMissingPythonEnv(qr(e.kernelConnectionMetadata.interpreter)||Ro(e.kernelConnectionMetadata.interpreter)||j(e.kernelConnectionMetadata.interpreter.uri));if((e instanceof Ud||e instanceof Ol)&&(e.kernelConnectionMetadata.kind==="startUsingLocalKernelSpec"||e.kernelConnectionMetadata.kind==="startUsingPythonInterpreter")&&e.kernelConnectionMetadata.interpreter&&this.kernelDependency&&!await this.kernelDependency.areDependenciesInstalled(e.kernelConnectionMetadata,void 0,!0))return fK(e.kernelConnectionMetadata)||e.message;if(e instanceof xn||e instanceof ml){let[i,o]=await Promise.all([this.getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(r),ia(e.kernelConnectionMetadata.interpreter)]),s=Qp(xr.workspace.workspaceFolders||[],e,it(e.kernelConnectionMetadata),o,i.map(a=>a.uri));if(s){if(s.reason==="moduleNotFound"&&["ipykernel_launcher","ipykernel"].includes(s.moduleName))return fK(e.kernelConnectionMetadata)||e.message;let a=[s.message];return s.moreInfoLink&&a.push(de.clickHereForMoreInfoWithHtml(s.moreInfoLink)),ct(e.kernelConnectionMetadata)&&s.reason==="moduleNotFound"&&!["ipykernel_launcher","ipykernel"].includes(s.moduleName)&&await this.addErrorMessageIfPythonArePossiblyOverridingPythonModules(a,r),a.join(`
`)}}else{if(e instanceof xi)return this.handleJupyterServerConnectionError(e,t);if(e instanceof ld)return this.handleJupyterServerUriProviderError(e,t);if(e instanceof Vd){let i=xr.extensions.getExtension(e.serverProviderHandle.extensionId)?.packageJSON.displayName||e.serverProviderHandle.extensionId;return Mv(y.remoteJupyterServerProvidedBy3rdPartyExtensionNoLongerValid(i),t)}}}return Mv(e,t)}async handleJupyterServerUriProviderError(e,t){let r=await Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration),i=e.originalError?.message||e.message;return Mv(y.remoteJupyterConnectionFailedWithServerWithError(r,i),t)}async handleJupyterServerConnectionError(e,t){let r=await Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration,e.baseUrl),i=e.originalError.message||"";return Mv(y.remoteJupyterConnectionFailedWithServerWithError(r,i),t)}async handleJupyterServerProviderConnectionError(e,t){let r=new xr.CancellationTokenSource;try{let i=await Promise.resolve(t.serverProvider.provideJupyterServers(r.token));return i&&(i.find(o=>o.id===e.handle)||await this.serverUriStorage.remove(e).catch(h)),!0}catch{return!1}finally{r.dispose()}}async handleKernelError(e,t,r,i,o){if(sr(e)||p.warn(`Kernel Error, context = ${t}`,e),e=rn.unwrap(e),sr(e))return this.sendKernelTelemetry(e,t,i,"cancelled"),1;if(e instanceof Nm)if(p.warn(`Jupyter Kernel Dependency Error, reason=${e.reason}`,e),this.sendKernelTelemetry(e,t,i,e.category),e.reason===4&&this.kernelDependency){let s=new xr.CancellationTokenSource;try{let a=o==="3rdPartyExtension";return this.kernelDependency.installMissingDependencies({resource:i,kernelConnection:r,ui:new Jt(!1),token:s.token,ignoreCache:!0,cannotChangeKernels:a})}finally{s.dispose()}}else return e.reason;else{if((t==="start"||t==="restart")&&e instanceof zi)return this.sendKernelTelemetry(e,t,i,e.category),(this.dependencyManager?await this.dependencyManager.installMissingDependencies(e):2)===0?0:1;if(e instanceof xi||e instanceof ld||e instanceof Vd){this.sendKernelTelemetry(e,t,i,e.category);let s=e instanceof Vd?"":e instanceof xi?e.originalError.message||"":e.originalError?.message||e.message,a=e.serverProviderHandle.extensionId,l=e.serverProviderHandle.id,c=this.jupyterUriProviderRegistration.jupyterCollections.find(I=>I.extensionId===a&&I.id==l);if(!c||await this.handleJupyterServerProviderConnectionError(e.serverProviderHandle,c))return 3;let u=e instanceof xi?e.baseUrl:"",d=Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration,u),f=e instanceof Vd?xr.extensions.getExtension(e.serverProviderHandle.extensionId)?.packageJSON.displayName||e.serverProviderHandle.extensionId:"",g=o==="jupyterExtension"?[y.selectDifferentKernel]:[];switch(await xr.window.showErrorMessage(e instanceof Vd?y.remoteJupyterServerProvidedBy3rdPartyExtensionNoLongerValid(f):y.remoteJupyterConnectionFailedWithServer(d),{detail:s,modal:!0},y.removeRemoteJupyterConnectionButtonText,y.changeRemoteJupyterConnectionButtonText,...g)){case y.removeRemoteJupyterConnectionButtonText:return await this.serverUriStorage.remove(e.serverProviderHandle).catch(h),1;case y.changeRemoteJupyterConnectionButtonText:return 1;case y.selectDifferentKernel:return 3}return 1}else if(e instanceof Oo){this.sendKernelTelemetry(e,t,i,e.category);let s=y.jupyterSelfCertEnable,a=y.jupyterSelfCertClose;return xr.window.showErrorMessage(y.jupyterSelfCertFail(e.message),s,a).then(l=>{l===s?(R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),this.configuration.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,xr.ConfigurationTarget.Workspace).catch(h)):l===a&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE")}).then(h,h),2}else{if((t==="start"||t==="restart")&&r.kind==="startUsingPythonInterpreter"&&this.interpreterService&&!await this.fs.exists(r.interpreter.uri))return this.sendKernelTelemetry(e,t,i,"pythonEnvironmentMissing"),xr.window.showErrorMessage(y.failedToStartKernelDueToMissingPythonEnv(qr(r.interpreter)||Ro(r.interpreter)||j(r.interpreter.uri))).then(h,h),this.interpreterService.refreshInterpreters(!0).catch(h),2;if((t==="start"||t==="restart")&&this.kernelDependency&&!await this.kernelDependency.areDependenciesInstalled(r,void 0,!0)){this.sendKernelTelemetry(e,t,i,"noipykernel");let s=new xr.CancellationTokenSource;try{let a=o==="3rdPartyExtension";return this.kernelDependency.installMissingDependencies({resource:i,kernelConnection:r,ui:new Jt(!1),token:s.token,ignoreCache:!0,cannotChangeKernels:a})}finally{s.dispose()}}else{let[s,a]=await Promise.all([this.getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(i),ia(r.interpreter)]),l=Qp(xr.workspace.workspaceFolders||[],e,it(r),a,s.map(c=>c.uri));return this.sendKernelTelemetry(e,t,i,l?.reason),l?this.showMessageWithMoreInfo(l.message,l?.moreInfoLink).catch(h):this.showMessageWithMoreInfo(Mv(e,t)).catch(h),2}}}}sendKernelTelemetry(e,t,r,i){this.handledKernelErrors.has(e)||(this.handledKernelErrors.add(e),t==="start"&&Pt(r,"DATASCIENCE.NOTEBOOK_START",void 0,{disableUI:!1,failureCategory:i},e))}async showMessageWithMoreInfo(e,t){e.includes(B.ViewJupyterOutput)||(e=`${e}
${y.viewJupyterLogForFurtherInfo}`);let r=t?[de.learnMore]:[];await xr.window.showErrorMessage(e,...r).then(i=>{i===de.learnMore&&t&&xr.env.openExternal(xr.Uri.parse(t))})}};Kv=v([m(0,(0,Ms.inject)(sd)),m(0,(0,Ms.optional)()),m(1,(0,Ms.inject)(ie)),m(2,(0,Ms.inject)(Es)),m(2,(0,Ms.optional)()),m(3,(0,Ms.inject)($t)),m(4,(0,Ms.inject)(jt)),m(5,(0,Ms.inject)(tt)),m(6,(0,Ms.inject)(Xe)),m(6,(0,Ms.optional)())],Kv);var qle={restart:y.failedToRestartKernel,start:y.failedToStartKernel,interrupt:y.failedToInterruptKernel,execution:""};function Mv(n,e){n=typeof n=="string"?n:rn.unwrap(n);let t=e?qle[e]:"",r="";return n instanceof Jc?r=y.jupyterNotebookNotInstalledOrNotFound(n.interpreter):n instanceof qe?r=yP(n.stdErr)||n.stdErr||n.message:r=typeof n=="string"?n:n.message,C7(t,r)}function Hle(n){return(new RegExp(/\[([^\[]+)\]\((.*)\)/).exec(n)?.length??0)>0}function C7(n="",e=""){n&&e.startsWith(n.substring(0,n.length-1))&&(n="");let t=[n,e].map(r=>r.trim()).filter(r=>r.length>0).join(`
`);return!Hle(t)&&t.length&&t.indexOf("command:jupyter.viewOutput")===-1?`${t.endsWith(".")?t:t+"."}
${y.viewJupyterLogForFurtherInfo}`:t}function fK(n){if(n.kind==="connectToLiveRemoteKernel"||n.kind==="startUsingRemoteKernelSpec"||!n.interpreter)return;let e=qr(n.interpreter)||ke(n.interpreter.uri),t=ar.get(19),r=Gi(19),i=`${hS(ke(n.interpreter.uri))} -m pip install ${r} -U --force-reinstall`;if(n.interpreter&&Ve(n.interpreter)==="Conda"){let a=Pr(n.interpreter);a?.environment?.name?i=`conda install -n ${a?.environment?.name} ${r} --update-deps --force-reinstall`:a?.environment?.folderUri&&(i=`conda install -p ${ke(a?.environment?.folderUri)} ${r} --update-deps --force-reinstall`)}else n.interpreter&&Ve(n.interpreter)==="Unknown"&&(i=`${hS(ke(n.interpreter.uri))} -m pip install ${r} -U --user --force-reinstall`);let o=y.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter(e,ar.get(19)),s=y.installPackageInstructions(t,i);return o+`
`+s}function Gle(n){let e=`${ar.get(18)} ${de.and} ${ar.get(20)}`,t=[18,20].map(Gi).join(" "),r=`python -m pip install ${t} -U
or
conda install ${t} -U`,i=y.installPackageInstructions(e,r);return n.message+`
`+i+`
`+de.clickHereForMoreInfoWithHtml("https://aka.ms/installJupyterForVSCode")}var Ov=class extends Kv{constructor(t,r,i,o,s,a,l,c){super(t,r,i,o,s,l,c);this.reservedPythonNames=a}async addErrorMessageIfPythonArePossiblyOverridingPythonModules(t,r){let i=await this.getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(r);if(i.length>0){let o=r?yi(r):void 0,s=i.map(l=>{if(l.type==="file"){let c=r?j(l.uri,[],o):un(l.uri);return`<a href='${l.uri.toString()}?line=1'>${c}</a>`}else{let c=r?j(l.uri,[],o):`${un(yi(l.uri))}/__init__.py`;return`<a href='${l.uri.toString()}?line=1'>${c}</a>`}}),a="";s.length===1?a=s[0]:a=`${s.slice(0,-1).join(", ")} ${de.and} ${s.slice(-1)}`,t.push(y.filesPossiblyOverridingPythonModulesMayHavePreventedKernelFromStarting(a)),t.push(y.listOfFilesWithLinksThatMightNeedToBeRenamed(a)),t.push(de.clickHereForMoreInfoWithHtml(A3))}}async getFilesInWorkingDirectoryThatCouldPotentiallyOverridePythonModules(t){return t?this.reservedPythonNames.getUriOverridingReservedPythonNames(yi(t)):[]}};Ov=v([(0,bo.injectable)(),m(0,(0,bo.inject)(sd)),m(0,(0,bo.optional)()),m(1,(0,bo.inject)(ie)),m(2,(0,bo.inject)(Es)),m(2,(0,bo.optional)()),m(3,(0,bo.inject)($t)),m(4,(0,bo.inject)(jt)),m(5,(0,bo.inject)(Nx)),m(6,(0,bo.inject)(tt)),m(7,(0,bo.inject)(Xe))],Ov);var uD=k(N());var WC=class{constructor(e,t,r,i){this.moduleName=e;this.args=t;this.pythonExecutionFactory=r;this._interpreter=i;this.interpreterPromise=Promise.resolve(this._interpreter),this.pythonLauncher=this.interpreterPromise.then(async o=>r.createActivatedEnvironment({interpreter:o}))}interpreter(){return this.interpreterPromise}async exec(e,t){let r={...t},i=await this.pythonLauncher,o=[...this.args,...e],s=o[1];return o.shift(),o.shift(),i.execModule(s,o,r)}},hK=class extends WC{constructor(e,t,r,i){super(e,t,r,i)}},gK=class extends WC{constructor(e,t,r,i){super(e,t,r,i)}async exec(e,t){let r,i={stdout:""};try{i=await super.exec(e,t)}catch(a){r=a}if(!i.stderr&&!r)return i;let o=()=>{if(r)throw p.error("Exception attempting to enumerate kernelspecs: ",r),r;return i},s=await this.interpreter();if(!s||this.moduleName.toLowerCase()!=="jupyter"||this.args.join(" ").toLowerCase()!=="-m jupyter kernelspec".toLowerCase())return o();try{if(e.join(" ").toLowerCase()==="list --json")return i=await this.getKernelSpecList(s,t),i;if(e.join(" ").toLowerCase()==="--version")return i=await this.getKernelSpecVersion(s,t),i}catch(a){p.error("Failed to get a list of the kernelspec using python script",a)}return o()}async getKernelSpecList(e,t){return(await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:e})).exec([Le(jo,"pythonFiles","vscode_datascience_helpers","getJupyterKernels.py")],{...t,throwOnStdErr:!0})}async getKernelSpecVersion(e,t){return(await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:e})).exec([Le(jo,"pythonFiles","vscode_datascience_helpers","getJupyterKernelspecVersion.py")],{...t,throwOnStdErr:!0})}},Fv=class{constructor(e){this.executionFactory=e}createInterpreterCommand(e,t,r,i){return e==="notebook"?new hK(t,r,this.executionFactory,i):e==="kernelspec"?new gK(t,r,this.executionFactory,i):new WC(t,r,this.executionFactory,i)}};Fv=v([(0,uD.injectable)(),m(0,(0,uD.inject)(Nr))],Fv);var VC=k(N());var w7=require("vscode");var Lv=class{constructor(e,t){this.service=e;this.disposables=t}activate(){this.disposables.push(w7.commands.registerCommand("jupyter.selectJupyterInterpreter",()=>{this.service.selectInterpreter().catch(h)}))}};Lv=v([(0,VC.injectable)(),m(0,(0,VC.inject)(ii)),m(1,(0,VC.inject)(M))],Lv);var Os=k(N());var Ks=k(N());var Ir=require("vscode");var E7=k(kl()),P7=require("vscode");async function dD(n){try{let e=await E7.realpath(n.fsPath);return Rr()!="Windows"&&(e=e.replace(/\\/g,"/")),P7.Uri.file(e)}catch{return n}}var zle=Le("AppData","Roaming","jupyter","kernels"),k7=Le(".local","share","jupyter","kernels"),x7=Le("Library","Jupyter","kernels"),Qle=Le("AppData","Roaming","jupyter","runtime"),Yle=Le("Library","Jupyter","runtime"),D7=Le("share","jupyter","kernels"),pD="CACHE_KEY_FOR_JUPYTER_KERNELSPEC_ROOT_PATH.",vK="CACHE_KEY_FOR_JUPYTER_KERNEL_PATHS_.",Mr=class{constructor(e,t,r,i,o,s,a){this.platformService=e;this.envVarsProvider=t;this.globalState=i;this.fs=o;this.context=s;this.pythonExecFactory=a;this.cachedDataDirs=new Map;this.envVarsProvider.onDidEnvironmentVariablesChange(()=>{this.cachedJupyterKernelPaths=void 0,this.cachedJupyterPaths=void 0},this,r)}async getKernelSpecTempRegistrationFolder(){let e=zt(this.context.extensionUri,"temp","jupyter","kernels");return await this.fs.createDirectory(e),e}async getKernelSpecRootPath(){let e=this.getCachedRootPath();return e||this.cachedKernelSpecRootPath?e||this.cachedKernelSpecRootPath:(this.cachedKernelSpecRootPath=(async()=>{let t=this.platformService.homeDir;if(t)return this.platformService.isWindows?dD(zt(t,zle)):this.platformService.isMac?zt(t,x7):zt(t,k7)})(),this.cachedKernelSpecRootPath.then(t=>{p.trace(`Getting Jupyter KernelSpec Root Path ${t?.toString()}`),this.updateCachedRootPath(t)}).catch(h),this.cachedKernelSpecRootPath)}async getRuntimeDir(){let e,t=this.platformService.homeDir;if(t&&(this.platformService.isWindows?e=await dD(zt(t,Qle)):this.platformService.isMac?e=zt(t,Yle):e=process.env.$XDG_RUNTIME_DIR?Ir.Uri.file(Le(process.env.$XDG_RUNTIME_DIR,"jupyter","runtime")):zt(t,".local","share","jupyter","runtime")),!e){p.error("Failed to determine Jupyter runtime directory");return}try{return await this.fs.createDirectory(e),e}catch(r){p.error(`Failed to create runtime directory, reverting to temp directory ${e}`,r)}}async getDataDirs(e){let t=e.interpreter?e.interpreter.uri.toString():"";return this.cachedDataDirs.has(t)||this.cachedDataDirs.set(t,this.getDataDirsImpl(e.resource,e.interpreter)),this.cachedDataDirs.get(t)}async getDataDirsImpl(e,t){let r=new mo,i=await this.getJupyterPaths();for(let f of i)f&&!r.has(f)&&r.set(f,r.size);if(t)try{p.ci(`Getting Jupyter Data Dir for ${t.uri.fsPath}`);let f=await this.pythonExecFactory.createActivatedEnvironment({interpreter:t,resource:e}),g=Ir.Uri.joinPath(this.context.extensionUri,"pythonFiles","printJupyterDataDir.py"),b=await f.exec([g.fsPath],{});if(b.stdout.trim().length){let I=Ir.Uri.file(b.stdout.trim());await this.fs.exists(I)&&(r.has(I)||r.set(I,r.size))}else p.debug(`Got an empty Jupyter Data Dir from ${t.id}, stderr = ${b.stderr}`)}catch(f){p.error(`Failed to get DataDir based on ENABLE_USER_SITE for ${qr(t)}`,f)}let o;t&&(o=await ia(t));let s=o?Ir.Uri.joinPath(Ir.Uri.file(o),"share","jupyter"):void 0,a=this.getSystemJupyterPaths(),l=s?new bl(a).has(s)?void 0:s:void 0,c=this.getJupyterDataDir(),u=(process.env.JUPYTER_PREFER_ENV_PATH||"no").toLowerCase();return["no","n","false","off","0","0.0"].includes(u)?[c,l].forEach(f=>{f&&!r.has(f)&&r.set(f,r.size)}):[l,c].forEach(f=>{f&&!r.has(f)&&r.set(f,r.size)}),a.forEach(f=>{f&&!r.has(f)&&r.set(f,r.size)}),Array.from(r.entries()).sort((f,g)=>f[1]-g[1]).map(f=>f[0])}getJupyterConfigDir(){return process.env.JUPYTER_CONFIG_DIR?Ir.Uri.file(hn(process.env.JUPYTER_CONFIG_DIR)):this.platformService.homeDir?Ir.Uri.joinPath(this.platformService.homeDir,".jupyter"):void 0}getSystemJupyterPaths(){if(this.platformService.isWindows){let e=process.env.PROGRAMDATA?hn(process.env.PROGRAMDATA):void 0;return e?[Ir.Uri.joinPath(Ir.Uri.file(e),"jupyter")]:[]}else return[Ir.Uri.file("/usr/local/share/jupyter"),Ir.Uri.file("/usr/share/jupyter")]}getJupyterDataDir(){if(process.env.JUPYTER_DATA_DIR)return Ir.Uri.file(hn(process.env.JUPYTER_DATA_DIR));if(this.platformService.homeDir)switch(this.platformService.osType){case"OSX":return Ir.Uri.joinPath(this.platformService.homeDir,"Library","Jupyter");case"Windows":let e=process.env.APPDATA?Ir.Uri.file(hn(process.env.APPDATA)):"";if(e)return Ir.Uri.joinPath(e,"jupyter");let t=this.getJupyterConfigDir();return t?Ir.Uri.joinPath(t,"data"):Ir.Uri.joinPath(this.platformService.homeDir,"Library","Jupyter");default:{let r=process.env.XDG_DATA_HOME?Ir.Uri.file(hn(process.env.XDG_DATA_HOME)):Ir.Uri.joinPath(this.platformService.homeDir,".local","share");return Ir.Uri.joinPath(r,"jupyter")}}}async getKernelSpecRootPaths(e){if(this.cachedKernelSpecRootPaths?.promise&&this.cachedKernelSpecRootPaths.stopWatch.elapsedTime<=6e4)return this.cachedKernelSpecRootPaths.promise;let t=new Ue,r=this.getKernelSpecRootPathsImpl(e);this.cachedKernelSpecRootPaths={promise:r,stopWatch:t};let i=e.onCancellationRequested(()=>{this.cachedKernelSpecRootPaths?.promise===r&&(this.cachedKernelSpecRootPaths=void 0)},this);return r.finally(()=>i.dispose()).catch(h),r}async getKernelSpecRootPathsImpl(e){let t=new bl(await this.getJupyterPathKernelPaths(e));if(e.isCancellationRequested)return[];if(this.platformService.isWindows){let r=await this.getKernelSpecRootPath();if(e.isCancellationRequested)return[];r&&t.add(r),process.env.PROGRAMDATA&&t.add(Ir.Uri.file(Le(process.env.PROGRAMDATA,"jupyter","kernels")))}else{let r=this.platformService.isMac?x7:k7;t.add(Ir.Uri.file(Le("/","usr","share","jupyter","kernels"))),t.add(Ir.Uri.file(Le("/","usr","local","share","jupyter","kernels"))),this.platformService.homeDir&&t.add(zt(this.platformService.homeDir,r))}return p.debug(`Kernel Spec Root Paths, ${Array.from(t).map(r=>j(r)).join(", ")}`),Array.from(t)}async getJupyterPathKernelPaths(e){return this.cachedJupyterKernelPaths=this.cachedJupyterKernelPaths||this.getJupyterPathSubPaths(e,"kernels"),this.cachedJupyterKernelPaths.then(t=>{t.length>0&&this.updateCachedPaths(t).then(h,h)},h),this.getCachedPaths().length>0?this.getCachedPaths():this.cachedJupyterKernelPaths}async getJupyterPaths(e){return this.cachedJupyterPaths=this.cachedJupyterPaths||this.getJupyterPathSubPaths(e),this.cachedJupyterPaths}async getJupyterPathSubPaths(e,t){let r=new bl,i=await this.envVarsProvider.getEnvironmentVariables(void 0,"RunPythonCode");if(e?.isCancellationRequested)return[];let o=i.JUPYTER_PATH?i.JUPYTER_PATH.split(Vn).map(s=>t?Le(s,t):s):[];return o.length>0&&(await Promise.all(o.map(async a=>dD(Ir.Uri.file(a))))).forEach(a=>{a&&r.add(a)}),p.debug(`Jupyter Paths ${j(t)}: ${Array.from(r).map(s=>j(s))}`),Array.from(r)}getCachedPaths(){return this.globalState.get(vK,[]).map(e=>Ir.Uri.parse(e))}async updateCachedPaths(e){let t=this.globalState.get(vK,[]),r=e.map(Ir.Uri.toString);t.join(",")!==r.join(",")&&await this.globalState.update(vK,r)}getCachedRootPath(){if(this.globalState.get(pD)){let e=this.globalState.get(pD);if(e)return Ir.Uri.parse(e)}}updateCachedRootPath(e){e?this.globalState.update(pD,e.toString()).then(h,h):this.globalState.update(pD,void 0).then(h,h)}};v([Zn("getDataDirsImpl",7),m(1,wc("id"))],Mr.prototype,"getDataDirsImpl",1),v([m(0,zu())],Mr.prototype,"getJupyterPathKernelPaths",1),Mr=v([(0,Ks.injectable)(),m(0,(0,Ks.inject)(br)),m(1,(0,Ks.inject)(vl)),m(2,(0,Ks.inject)(M)),m(3,(0,Ks.inject)(We)),m(3,(0,Ks.named)(lt)),m(4,(0,Ks.inject)(lr)),m(5,(0,Ks.inject)(et)),m(6,(0,Ks.inject)(Nr))],Mr);var Mm=class{constructor(e,t,r,i,o,s,a){this.jupyterInterpreter=e;this.interpreterService=t;this.jupyterDependencyService=r;this.pythonExecutionFactory=i;this.jupyterOutputChannel=o;this.jupyterPaths=s;this.activationHelper=a}async refreshCommands(){}async isNotebookSupported(e){let t=await this.jupyterInterpreter.getSelectedInterpreter(e);return t?this.jupyterDependencyService.areDependenciesInstalled(t,e):!1}async getReasonForJupyterNotebookNotBeingSupported(e){let t=await this.jupyterInterpreter.getSelectedInterpreter(e);if(!t&&(t=await this.interpreterService.getActiveInterpreter(void 0),!t))return y.selectJupyterInterpreter;let r=await this.jupyterDependencyService.getDependenciesNotInstalled(t,e);return r.length===0?"":r.length===1&&r[0]===21?y.jupyterKernelSpecModuleNotFound(t.uri.fsPath):uK(r,t)}async getSelectedInterpreter(e){return this.jupyterInterpreter.getSelectedInterpreter(e)}async startNotebook(e,t){let r=await this.getSelectedInterpreterAndThrowIfNotAvailable(t.token);this.jupyterOutputChannel.appendLine(y.startingJupyterLogMessage(zr(r.uri),e.join(" ")));let i=await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:r}),o={...t};o.token=void 0;let s=await this.activationHelper.getActivatedEnvironmentVariables(void 0,r)||process.env,a=(process.env.JUPYTER_PATH||s.JUPYTER_PATH||"").split(Vn).filter(c=>c.trim().length);a.push(yi(await this.jupyterPaths.getKernelSpecTempRegistrationFolder()).fsPath),o.env={...s,JUPYTER_PATH:a.join(Vn)},p.trace(`Start Jupyter Notebook with JUPYTER_PATH=${a.join(Vn)}`),p.trace(`Start Jupyter Notebook with PYTHONPATH=${s.PYTHONPATH||""}`);let l=Object.keys(s).filter(c=>c.toLowerCase()==="path");if(l.length){let c=l.map(u=>`${u}=${s[u]}`).join(",");p.trace(`Start Jupyter Notebook with PATH variable. ${c}`)}else p.error("Start Jupyter Notebook without a PATH variable");return i.execModuleObservable("jupyter",["notebook"].concat(e),o)}async getRunningJupyterServers(e){let t=await this.getSelectedInterpreterAndThrowIfNotAvailable(e),r=await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:t}),i={mergeStdOutErr:!0,token:e},o=Le(jo,"pythonFiles","vscode_datascience_helpers","getServerInfo.py"),s=await r.exec([o],i),a;try{a=JSON.parse(s.stdout.trim())}catch(l){p.warn("Failed to parse JSON when getting server info out from getServerInfo.py",l);return}return a}async installMissingDependencies(e){return this.jupyterInterpreter.installMissingDependencies(e)}async getSelectedInterpreterAndThrowIfNotAvailable(e){let t=await this.jupyterInterpreter.getSelectedInterpreter(e);if(!t){let r=await this.getReasonForJupyterNotebookNotBeingSupported();throw new zi(r)}return t}};Mm=v([(0,Os.injectable)(),m(0,(0,Os.inject)(ii)),m(1,(0,Os.inject)(Xe)),m(2,(0,Os.inject)(As)),m(3,(0,Os.inject)(Nr)),m(4,(0,Os.inject)(Ao)),m(4,(0,Os.named)(Zf)),m(5,(0,Os.inject)(Mr)),m(6,(0,Os.inject)(ks))],Mm);var mD=k(N());var Km=class{constructor(e){this.pythonExecutionFactory=e}async exportNotebookToPython(e,t,r,i){let o=await this.pythonExecutionFactory.createActivatedEnvironment({resource:e,interpreter:t}),s=r?[e.fsPath,"--to","python","--stdout","--template",r]:[e.fsPath,"--to","python","--stdout"];return o.execModule("jupyter",["nbconvert"].concat(s),{throwOnStdErr:!1,encoding:"utf8",token:i}).then(a=>{if(a.stdout==="")throw p.error("nbconvert zero size output"),new Error(a.stderr);return a.stdout})}};v([lv("ExportNotebookToPython")],Km.prototype,"exportNotebookToPython",1),Km=v([(0,mD.injectable)(),m(0,(0,mD.inject)(Nr))],Km);var jC=k(N());var Uv=class{constructor(e,t){this.installer=e;this.commandFactory=t;this.nbconvertInstalledInInterpreter=new bl}async isNbConvertInstalled(e,t){if(this.nbconvertInstalledInInterpreter.has(e.uri))return!0;let r=!!await this.installer.isInstalled(22,e)&&!!await this.installer.isInstalled(18,e);return r===!0&&this.nbconvertInstalledInInterpreter.add(e.uri),r}async getNbConvertVersion(e,t){let i=await this.commandFactory.createInterpreterCommand("nbconvert","jupyter",["-m","jupyter","nbconvert"],e,!1).exec(["--version"],{throwOnStdErr:!0});return UP(i.stdout)}};Uv=v([(0,jC.injectable)(),m(0,(0,jC.inject)(Ai)),m(1,(0,jC.inject)(Pv))],Uv);var Lm=k(N());var Wv=require("vscode");var jd=k(N());var T7=require("vscode");async function Qi(n,e){if(!n)return;let t=cn(n),[r,i]=WP.get(t)||[{resourceType:$i(n),resourceHash:n?await at(n.toString()):void 0,kernelSessionId:await at(Date.now().toString()),capturedEnvVars:void 0,userExecutedCell:void 0,disableUI:void 0,kernelLanguage:void 0,kernelId:void 0,kernelSpecHash:void 0,isUsingActiveInterpreter:void 0,pythonEnvironmentType:void 0,pythonEnvironmentPath:void 0,pythonEnvironmentVersion:void 0,kernelConnectionType:void 0},{previouslySelectedKernelConnectionId:""}];typeof e.capturedEnvVars=="boolean"&&(r.capturedEnvVars=e.capturedEnvVars),e.userExecutedCell&&(r.userExecutedCell=!0),typeof e.disableUI=="boolean"&&(r.disableUI=e.disableUI);let o=e.kernelConnection;if(o){let s=o.id;i.previouslySelectedKernelConnectionId!==s&&(r.userExecutedCell=e.userExecutedCell,r.disableUI=e.disableUI),i.previouslySelectedKernelConnectionId&&i.previouslySelectedKernelConnectionId!==s&&(r.kernelSessionId=await at(Date.now().toString()));let a;switch(o.kind){case"connectToLiveRemoteKernel":a=o.kernelModel.language;break;case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":a=o.kernelSpec.language;break;case"startUsingPythonInterpreter":a=ge;break;default:break}let l="kernelSpec"in o&&o.kernelSpec.specFile?at(o.kernelSpec.specFile):Promise.resolve("");r.kernelLanguage=a,[r.kernelId,r.kernelSpecHash]=await Promise.all([at(o.id),l]),i.previouslySelectedKernelConnectionId=o.id;let c=o.interpreter;if(c){r.isUsingActiveInterpreter=ua.isActiveWorkspaceInterpreter(n,c),r.pythonEnvironmentType=Ve(c);let[u,d]=await Promise.all([at(ke(ol(c.uri))),qu(c)]);r.pythonEnvironmentPath=u,JA.set(r.pythonEnvironmentPath,c),d?r.pythonEnvironmentVersion=`${d.major}.${d.minor}.${d.micro}`:r.pythonEnvironmentVersion=void 0,BA(r)}r.kernelConnectionType=r.kernelConnectionType||o?.kind}else i.previouslySelectedKernelConnectionId="";WP.set(t,[r,i])}async function Fs(n,e){await Qi(n,{kernelConnection:e,userExecutedCell:!0})}var fa=class{constructor(e,t,r,i,o){this.interpreterService=e;this.envActivation=t;this.envVarsService=r;this.customEnvVars=i;this.configService=o}async getEnvironmentVariables(e,t,r,i){let o=r.env&&Object.keys(r.env).length>0?r.env:void 0,s=(r.language||"").toLowerCase()===ge;if(!t&&r.interpreterPath&&(t=await this.interpreterService.getInterpreterDetails(T7.Uri.file(r.interpreterPath),i).catch(d=>{p.error("Failed to fetch interpreter information for interpreter that owns a kernel",d)})),i?.isCancellationRequested)return;let[a,l]=await Promise.all([this.customEnvVars.getCustomEnvironmentVariables(e,s?"RunPythonCode":"RunNonPythonCode",i).catch(h),t?this.envActivation.getActivatedEnvironmentVariables(e,t,i).catch(d=>{p.error("Failed to get env variables for interpreter, hence no variables for Kernel",d)}):void 0]);if(i?.isCancellationRequested)return;await Qi(e,{capturedEnvVars:Object.keys(l||{}).length>0}),!l&&Object.keys(a||{}).length===0&&p.debug("No custom variables nor do we have a conda environment");let c={...process.env};process.platform==="win32"&&(c={},Object.keys(process.env).forEach(d=>{c[d.toUpperCase()]=process.env[d]})),o=o||{},a=a||{};let u={};for(let[d,f]of Object.entries(o||{}))typeof f=="string"&&_7(d,f,process.env)!==f&&(u[d]=f,delete o[d]);s||t?(l=l||a,Object.assign(c,l,o),this.configService.getSettings(void 0).excludeUserSitePackages&&(p.info(`Adding env Variable PYTHONNOUSERSITE to ${j(t?.uri)}`),c.PYTHONNOUSERSITE="True"),s&&(c.PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING="1")):(this.envVarsService.mergeVariables(o,c),this.envVarsService.mergeVariables(a,c));for(let[d,f]of Object.entries(u))c[d]=_7(d,f,c);return c}};fa=v([(0,jd.injectable)(),m(0,(0,jd.inject)(Xe)),m(1,(0,jd.inject)(ks)),m(2,(0,jd.inject)(gl)),m(3,(0,jd.inject)(vl)),m(4,(0,jd.inject)(ie))],fa);var Xle=/\${([a-zA-Z]\w*)?([^}\w].*)?}/g;function _7(n,e,t){if(!e.includes("$"))return e;let r=!1,i=e;return i=i.replace(Xle,(o,s,a,l,c)=>l>0&&c[l-1]==="\\"?o:a&&a!==""||!s||s===""?(r=!0,o):t[s]||""),!r&&i!==e&&(p.debug(`${n} value in kernelSpec updated from ${e} to ${i}`),e=i),e.replace(/\\\$/g,"$")}var R7=require("vscode");async function A7(n,e,t){if(!t.interpreter||!dt(t)||!n.kernel||n.kernel.status==="dead"||n.kernel.status==="terminating"||t.kind!=="startUsingLocalKernelSpec"&&t.kind!=="startUsingPythonInterpreter")return;let r=new Ue;try{let i=await pn(n.kernel,`import sys as _VSCODE_sys
print(_VSCODE_sys.executable); del _VSCODE_sys`);if(i.length===0)return;let o=i[0];if(o.name!=="stdout"&&o.output_type!=="stream")return;let s=Is(o.text).trim().toLowerCase(),a=Mo(t.interpreter.uri,R7.Uri.file(s));await Qi(e,{interpreterMatchesKernel:a})}catch(i){p.error(`Failed to compare interpreters after ${r.elapsedTime}ms`,i)}}function Zle(n){let e="kernelSpec"in n?n:void 0;if(e?.kind==="startUsingPythonInterpreter")return!0;if(e&&!ct(e))return!1;let t=e?e.kernelSpec:n;return fD(t.argv[0])}function Om(n){let e="kernelSpec"in n?n:void 0;if(e?.kind==="startUsingPythonInterpreter")return!0;if(e&&!ct(e))return!1;let t=e?e.kernelSpec:n;if(t.language&&t.language.toLowerCase()!==ge||!Zle(n))return!1;let r=t.argv.indexOf("-m");if(r===-1)return!1;let i=t.argv.length-1>=r?t.argv[r+1].toLowerCase():void 0;return i?i.includes("ipykernel_launcher")||i.includes("ipykernel"):!1}function fD(n){return n=Ce(n).trim().toLowerCase(),n==="python"||n==="python3"||n==="python.exe"||n==="python3.exe"}var Fm=class{constructor(e,t,r,i){this.kernelDependencyService=e;this.fs=t;this.jupyterPaths=r;this.kernelEnvVars=i}async ensureKernelIsUsable(e,t,r,i,o){if(p.debug(`Check if a kernel ${t.id} is usable`),Om(t)&&t.interpreter){let a=await this.kernelDependencyService.installMissingDependencies({resource:e,kernelConnection:t,ui:r,token:i,ignoreCache:!0,cannotChangeKernels:o});switch(a){case 1:case 3:case 2:case 4:throw new Nm(a,t);default:break}}var s=void 0;ct(t)&&(s=t.kernelSpec.specFile,!s||!await this.fs.exists(Wv.Uri.file(s))?s=await this.registerKernel(t,i):t.interpreter&&s&&Ce(nt(s)).toLowerCase()!=t.kernelSpec.name.toLowerCase()&&(s=await this.registerKernel(t,i)),t.interpreter&&s?(p.debug(`Updating Kernel Environment for ${t.id} for interpreter ${t.interpreter.id}`),await this.updateKernelEnvironment(e,t,s,i)):p.trace(`Not Updating Kernel Environment for ${t.id}`))}async registerKernel(e,t){let r=await this.jupyterPaths.getKernelSpecTempRegistrationFolder();if(!e.kernelSpec||t.isCancellationRequested||!e.kernelSpec.name)return;let i=zt(r,e.kernelSpec.name,"kernel.json");if(await this.fs.exists(i))return p.info(`Kernel spec file for ${e.id} already exists ${j(i)}`),i.fsPath;let o={...e.kernelSpec};if(e.kernelSpec.specFile&&!wd(ke(i),e.kernelSpec.specFile)&&(o.metadata=o.metadata||{},o.metadata={...o.metadata,vscode:{...o.metadata.vscode||{},originalSpecFile:e.kernelSpec.metadata?.vscode?.originalSpecFile||e.kernelSpec.specFile,originalDisplayName:e.kernelSpec.metadata?.vscode?.originalDisplayName||e.kernelSpec.display_name}}),e.interpreter&&(o.metadata={...o.metadata,interpreter:om(e.interpreter)}),p.info(`RegisterKernel for ${e.id} into ${j(i)}`),p.debug(`RegisterKernel for ${e.id} into ${j(i)} with contents ${JSON.stringify(o)}`),await this.fs.writeFile(i,JSON.stringify(o,void 0,4)),t.isCancellationRequested)return;let s=o.metadata?.vscode?.originalSpecFile||o.metadata?.originalSpecFile;if(s){let a=nt(s),l=nt(i.fsPath),c=await this.fs.searchLocal("*.*[^json]",a);await Promise.all(c.map(async u=>{let d=Le(a,u),f=Le(l,u);await this.fs.copy(Wv.Uri.file(d),Wv.Uri.file(f))}))}return i.fsPath}async updateKernelEnvironment(e,t,r,i){let o=t.interpreter,s=t.kernelSpec,a=await this.jupyterPaths.getKernelSpecTempRegistrationFolder(),l=s;if(r&&a){let c=Ce(r).toLowerCase()===s.name.toLowerCase()?r:zt(a,s.name,"kernel.json").fsPath;if(!await this.fs.exists(Wv.Uri.file(c))){p.warn(`Spec file for ${t.id} does not exist ${c} hence not updating env vars.`);return}let u=Wv.Uri.file(c);try{let d=JSON.parse(await this.fs.readFile(u));if(i?.isCancellationRequested||(d.metadata?.interpreter?(Om(s)&&(p.debug(`Python KernelSpec argv[0] updated for ${t.id} from '${d.argv[0]}' to '${j(o.uri)}'`),d.argv[0]=o.uri.fsPath),d.metadata=d.metadata||{},d.metadata.interpreter=o):p.trace(`KernelSpec argv[0] not updated for ${t.id} ('${d.argv[0]}')`),d.env=await this.kernelEnvVars.getEnvironmentVariables(e,o,l),d=ij(d),await this.fs.writeFile(u,JSON.stringify(d,void 0,2)),p.debug(`Updated kernel spec for ${t.id} with environment variables for ${j(u)}`),i?.isCancellationRequested))return;l.metadata=d.metadata}catch(d){if(i?.isCancellationRequested)return;throw p.error(`Failed to update kernel spec for ${t.id} with environment variables for ${j(u)}`,d),d}}else p.warn(`Either Kernel spec file or root spec file path does not exist for ${t.id}.`)}};v([Sh("Failed to register an interpreter as a kernel")],Fm.prototype,"registerKernel",1),Fm=v([(0,Lm.injectable)(),m(0,(0,Lm.inject)(Es)),m(1,(0,Lm.inject)(lr)),m(2,(0,Lm.inject)(Mr)),m(3,(0,Lm.inject)(fa))],Fm);var JC=k(N());var N7=require("vscode");var Vv=class{constructor(e,t){this.liveKernelConnectionTracker=e;this.providerRegistration=t}async isValid(e){if(!this.liveKernelConnectionTracker.wasKernelUsed(e))return!1;let t=await this.providerRegistration.jupyterCollections.find(i=>i.extensionId===e.serverProviderHandle.extensionId&&i.id===e.serverProviderHandle.id);if(!t)return p.warn(`Extension ${e.serverProviderHandle.extensionId} may have been uninstalled for provider ${e.serverProviderHandle.id}, handle ${e.serverProviderHandle.handle}`),!1;let r=new N7.CancellationTokenSource;try{let i=await Promise.resolve(t.serverProvider.provideJupyterServers(r.token));return i?i.map(o=>o.id).includes(e.serverProviderHandle.handle)?!0:(p.warn(`Hiding remote kernel ${e.id} for ${t.id} as the remote Jupyter Server ${e.serverProviderHandle.extensionId}:${e.serverProviderHandle.id}:${e.serverProviderHandle.handle} is no longer available`),!1):!1}catch(i){return p.warn(`Failed to fetch remote servers from ${e.serverProviderHandle.extensionId}:${e.serverProviderHandle.id}`,i),!1}finally{r.dispose()}}};Vv=v([(0,JC.injectable)(),m(0,(0,JC.inject)(um)),m(1,(0,JC.inject)(jt))],Vv);var W7=k(Io()),hD=require("vscode"),Ls=k(N());var jv=class extends xn{constructor(e){super("timeout",y.jupyterLaunchTimedOut,e)}};var Jv=class extends jn{constructor(t,r,i,o,s,a){super();this.interpreterService=t;this.disposableRegistry=r;this.configuration=o;this.notebookStarter=s;this.jupyterInterpreterService=a;this._isDisposing=!1;this.disposableRegistry.push(this.interpreterService.onDidChangeInterpreter(()=>this.onSettingsChanged())),this.disposableRegistry.push(this),hD.workspace.onDidChangeConfiguration(l=>{l.affectsConfiguration("python.dataScience",void 0)&&this.onSettingsChanged()},this,this.disposableRegistry),i.push({dispose:()=>Ss(this)})}dispose(){this._isDisposing||(this._isDisposing=!0,this.cache?this.cache.then(t=>t.dispose()).catch(h).finally(()=>super.dispose()):super.dispose())}async startServer(t,r){if(this.isDisposed||this._isDisposing)throw new Error("Notebook server is disposed");if(!this.cache){let i=this.cache=this.startJupyterWithRetry(t,r);i.catch(o=>{p.error("Failed to start the Jupyter Server",o),this.cache===i&&(this.cache=void 0)})}return this.cache}async refreshCommands(){await this.jupyterInterpreterService?.refreshCommands()}async isJupyterServerSupported(t){return this.jupyterInterpreterService?this.jupyterInterpreterService.isNotebookSupported(t):!1}async getJupyterServerError(){return this.jupyterInterpreterService?this.jupyterInterpreterService.getReasonForJupyterNotebookNotBeingSupported():y.webNotSupported}async getUsableJupyterPython(t){return!this.usablePythonInterpreter&&!this.isDisposed&&!this._isDisposing&&this.jupyterInterpreterService&&(this.usablePythonInterpreter=await Zt(t,this.jupyterInterpreterService.getSelectedInterpreter(t))),this.usablePythonInterpreter}startJupyterWithRetry(t,r){return Zt(r,(async()=>{let o,s=1,a=Math.max(1,this.configuration.getSettings(void 0).jupyterLaunchRetries),l;for(;s<=a&&!this.isDisposed&&!this._isDisposing;){try{return o=await this.startImpl(t,r),p.trace("Connection complete server"),o}catch(c){if(l=c,c instanceof jv&&s<a)p.info("Retry because of wait for idle problem."),o?.dispose(),s+=1;else throw o&&(this.isDisposed||this._isDisposing),c}throw l}throw new Error("Max number of attempts reached")})())}async startImpl(t,r){p.debug("Launching server");let i=this.configuration.getSettings(t),o=i.useDefaultConfigForJupyter,s=await OC(t),a=ll(),l=BP(s,a?zt(a,`${(0,W7.default)()}.txt`):void 0,i);if(!this.notebookStarter)throw new Error("Notebook Starter cannot be undefined");return this.notebookStarter.start(t,o,this.configuration.getSettings(void 0).jupyterCommandLineArguments,hD.Uri.file(l),r)}onSettingsChanged(){this.usablePythonInterpreter=void 0}};Jv=v([(0,Ls.injectable)(),m(0,(0,Ls.inject)(Xe)),m(1,(0,Ls.inject)(M)),m(2,(0,Ls.inject)(No)),m(3,(0,Ls.inject)(ie)),m(4,(0,Ls.inject)(fk)),m(4,(0,Ls.optional)()),m(5,(0,Ls.inject)(Od)),m(5,(0,Ls.optional)())],Jv);var $C=k(N());var gD=class extends rn{constructor(){super("Python Extension not installed",void 0,"pythonExtension")}};var Bv=class{constructor(e,t){this.jupyterServerProvider=e;this.extensionChecker=t;this.startupUi=new Jt(!0)}async connect(e){e.ui.disableUI||(this.startupUi.disableUI=!1);let t=e.ui.onDidChangeDisableUI(()=>{e.ui.disableUI||(this.startupUi.disableUI=!1,t.dispose())});if(e.ui=this.startupUi,this.extensionChecker.isPythonExtensionInstalled)return this.jupyterServerProvider.getOrStartServer(e).finally(()=>t.dispose());throw t.dispose(),this.startupUi.disableUI||await this.extensionChecker.showPythonExtensionInstallRequiredPrompt(),new gD}};Bv=v([(0,$C.injectable)(),m(0,(0,$C.inject)(ng)),m(1,(0,$C.inject)(Be))],Bv);var Um=k(N());var vD=class extends qe{constructor(){super("nodeonly",y.webNotSupported)}};var $v=class{constructor(e,t){this.jupyterServerHelper=e;this.interpreterService=t}async getOrStartServer(e){if(!this.serverPromise){let t=this.serverPromise=this.startServerImpl(e);t.catch(()=>{t===this.serverPromise&&(this.serverPromise=void 0)})}return this.serverPromise}async startServerImpl(e){let t=this.jupyterServerHelper;if(!t)throw new vD;try{if(p.trace("Checking for server usability."),!await this.checkUsable())throw p.trace("Server not usable (should ask for install now)"),new zi(y.jupyterNotSupported(await t.getJupyterServerError()));p.debug("Starting notebook server.");let i=await t.startServer(e.resource,e.token);return vn.throwIfCanceled(e.token),i}catch(r){throw e.token?.isCancellationRequested&&sr(r)||await t.refreshCommands(),r}}async checkUsable(){try{return this.jupyterServerHelper?!!await this.jupyterServerHelper.getUsableJupyterPython():!0}catch(e){let t=await this.interpreterService.getActiveInterpreter(void 0);if(t){let r=qr(t)||ke(t.uri);throw new Error(y.jupyterNotSupportedBecauseOfEnvironment(r,e.toString()))}else throw new zi(y.jupyterNotSupported(this.jupyterServerHelper?await this.jupyterServerHelper.getJupyterServerError():"Error"))}}};$v=v([(0,Um.injectable)(),m(0,(0,Um.inject)(od)),m(0,(0,Um.optional)()),m(1,(0,Um.inject)(Xe))],$v);var V7=k(require("child_process")),Bc=k(N()),j7=k(require("os"));var J7=k(Io()),qC=require("vscode");var bD=require("vscode");var qv=class extends qe{constructor(t,r,i){super("jupytercannotbelaunchedwitheroot",t+(r?`
${r}`:""));this.interpreter=i}};var oce=new RegExp(jp.UrlPatternRegEx),yD=class{constructor(e,t,r,i,o,s){this.launchResult=e;this.notebookDir=t;this.rootDir=r;this.getServerInfo=i;this.serviceContainer=o;this.interpreter=s;this.startPromise=re();this.output="";this.subscriptions=[];this.ready=this.startPromise.promise;let l=o.get(ie).getSettings(void 0).jupyterLaunchTimeout;this.launchTimeout=setTimeout(()=>{this.startPromise.completed||this.rejectStartPromise(y.jupyterLaunchTimedOut)},l);let c=0;e.proc&&e.proc.on("exit",u=>c=u||0),this.subscriptions.push(e.out.onDidChange(u=>{p.trace(u.out),this.output+=u.out,jp.HttpPattern.exec(this.output)&&!this.startPromise.completed&&this.getServerInfo().then(d=>this.getJupyterURL(d,this.output)).catch(d=>p.warn("Failed to get server info",d))})),e.out.done.then(()=>this.rejectStartPromise(y.jupyterServerCrashed(c))).catch(u=>this.rejectStartPromise(u))}dispose(){clearTimeout(this.launchTimeout),z(this.subscriptions)}getJupyterURL(e,t){if(e&&e.length>0&&!this.startPromise.completed){let r=e.find(i=>wd(ke(this.notebookDir),ke(bD.Uri.file(i.notebook_dir))));if(r){let i=r.url,o=r.token;this.resolveStartPromise(i,o)}}if(!this.startPromise.completed){let i=oce.exec(t)?.groups;if(!this.startPromise.completed&&i&&(i.LOCAL||i.IP)){let o=i.LOCAL?i.LOCAL:i.IP,s=`${i.PREFIX}${o}${i.REST}`,a;try{a=new URL(s)}catch(c){p.error(`Failed to parse ${s}`,c),this.rejectStartPromise(y.jupyterLaunchNoURL);return}let l=a.pathname.endsWith("/tree")?a.pathname.replace("/tree",""):a.pathname;this.resolveStartPromise(`${a.protocol}//${a.host}${l}`,`${a.searchParams.get("token")}`)}}}resolveStartPromise(e,t){if(clearTimeout(this.launchTimeout),!this.startPromise.rejected){let r=this.serviceContainer.get(ie),i=this.serviceContainer.get(Dc),o=this.serviceContainer.get(ad),s=qS({handle:"",id:"_builtin.jupyterServerLauncher",extensionId:Fe},{baseUrl:e,token:t,displayName:JP(t,e)},i,o,r,this.rootDir,new bD.Disposable(()=>this.launchResult.dispose()));this.startPromise.resolve(s)}}rejectStartPromise(e){if(clearTimeout(this.launchTimeout),!this.startPromise.resolved){e=typeof e=="string"?e:e.message;let t,r=this.output;r.includes("Jupyter command `jupyter-notebook` not found")?t=new Jc(e,r,this.interpreter):r.includes("Running as root is not recommended. Use --allow-root to bypass")?t=new qv(e,r,this.interpreter):t=new vs(e,r,this.interpreter),this.startPromise.reject(t)}}};var Hv=require("vscode");var Us=new Set;function ID(...n){let e=new Wr;try{let t=new class{async providePortAttributes(r,i){if(n.includes(r.port))return new Hv.PortAttributes(Hv.PortAutoForwardAction.Ignore)}};for(let r of n){let i={portRange:r};e.add(Hv.workspace.registerPortAttributesProvider(i,t))}}catch(t){p.error("Failure in registering port attributes",t)}return e}var Gv=class{constructor(e,t,r,i){this.jupyterInterpreterService=e;this.fs=t;this.serviceContainer=r;this.jupyterOutputChannel=i;this.disposables=[]}dispose(){for(;this.disposables.length>0;){let e=this.disposables.shift();try{e&&e.dispose()}catch{}}}async start(e,t,r,i,o){p.info("Starting Jupyter Server");let s=0,a,l=[],c=st.reportProgress(e,"NotebookStart");try{let u=this.generateTempDir();u.then(E=>this.disposables.push(E)).catch(h);let d=await this.generateArguments(t,r,u,i.fsPath);vn.throwIfCanceled(o);let[f,g,b]=await Promise.all([this.jupyterInterpreterService.startNotebook(d||[],{throwOnStdErr:!1,encoding:"utf8",token:o}),u,this.jupyterInterpreterService.getSelectedInterpreter(o).catch(()=>{})]);f.proc&&(f.proc.on("exit",E=>s=E),f.out.onDidChange(E=>this.jupyterOutputChannel.append(E.out))),f&&o.onCancellationRequested(()=>{f.dispose()},this,l),p.debug("Waiting for Jupyter Notebook"),a=new yD(f,qC.Uri.file(g.path),i,()=>this.jupyterInterpreterService.getRunningJupyterServers(o),this.serviceContainer,b),vn.throwIfCanceled(o);let I=await Zt(o,a.ready);try{let E=parseInt(new URL(I.baseUrl).port||"0",10);if(E&&!isNaN(E)){let x=ID(E);f.proc&&f.proc.on("exit",()=>{Us.delete(E),x.dispose()}),Us.add(E)}}catch(E){p.error(`Parsing failed ${I.baseUrl}`,E)}return z(l),I}catch(u){throw z(l),sr(u)||u instanceof vs||u instanceof qv||u instanceof Jc?u:await this.jupyterInterpreterService.isNotebookSupported()?s!==0?new Error(y.jupyterServerCrashed(s)):rn.from(y.jupyterNotebookFailure(u),u):new zi(await this.jupyterInterpreterService.getReasonForJupyterNotebookNotBeingSupported())}finally{c.dispose(),a?.dispose()}}async generateDefaultArguments(e,t,r){let i=[];i.push(Promise.resolve("--no-browser")),i.push(Promise.resolve(this.getNotebookDirArgument(r))),e&&i.push(this.getConfigArgument(t)),i.push(Promise.resolve("--NotebookApp.iopub_data_rate_limit=10000000000.0"));let[o,s]=await Promise.all([Promise.all(i),this.getDockerArguments()]),a=process.env&&process.env.VSCODE_JUPYTER_DEBUG_JUPYTER?["--debug"]:[];return[...o,...s,...a]}async generateCustomArguments(e){return[...["--no-browser","--NotebookApp.iopub_data_rate_limit=10000000000.0","--KernelManager.autorestart=False"],...e]}async generateArguments(e,t,r,i){return!t||t.length===0?this.generateDefaultArguments(e,r,i):this.generateCustomArguments(t)}getNotebookDirArgument(e){return`--notebook-dir="${e.replace(/\\/g,"\\\\")}"`}async getConfigArgument(e){let t=await e,r=Le(t.path,"jupyter_notebook_config.py");return await this.fs.writeFile(qC.Uri.file(r),""),p.debug(`Generating custom default config at ${r}`),`--config=${r}`}async getDockerArguments(){let e=[];try{let t=await this.fs.readFile(qC.Uri.file("/proc/self/cgroup")).catch(()=>"");return!t.includes("docker")&&!t.includes("kubepods")?e:(e.push("--ip"),e.push("127.0.0.1"),new Promise(r=>{V7.exec("id",{encoding:"utf-8"},(i,o)=>{o&&o.toString().includes("(root)")&&e.push("--allow-root"),r(e)})}))}catch{return e}}async generateTempDir(){let e=qC.Uri.file(Le(j7.tmpdir(),(0,J7.default)()));return await this.fs.createDirectory(e),{path:ke(e),dispose:async()=>{let t=0;for(;t<10;)try{await this.fs.delete(e),t=10}catch{t+=1}}}}};Gv=v([(0,Bc.injectable)(),m(0,(0,Bc.inject)(Od)),m(1,(0,Bc.inject)(tt)),m(2,(0,Bc.inject)(rt)),m(3,(0,Bc.inject)(Ao)),m(3,(0,Bc.named)(Zf))],Gv);var Fl=require("vscode"),Wm=k(N());var zv=class extends Qt{constructor(t,r){super();this._onDidLoad=this._register(new Fl.EventEmitter);this._onDidChangeUri=this._register(new Fl.EventEmitter);this._onDidRemoveUris=this._register(new Fl.EventEmitter);this._onDidAddUri=this._register(new Fl.EventEmitter);this._all=[];r.push(this),this.newStorage=this._register(new yK(t))}get onDidLoad(){return this._onDidLoad.event}get onDidChange(){return this._onDidChangeUri.event}get onDidRemove(){return this._onDidRemoveUris.event}get onDidAdd(){return this._onDidAddUri.event}get all(){return this.updateStore(),this._all}hookupStorageEvents(){this.storageEventsHooked||(this.storageEventsHooked=!0,this._register(this.newStorage.onDidAdd(t=>this._onDidAddUri.fire(t),this)),this._register(this.newStorage.onDidChange(t=>this._onDidChangeUri.fire(t),this)),this._register(this.newStorage.onDidRemove(t=>this._onDidRemoveUris.fire(t),this)))}updateStore(){this.hookupStorageEvents();let t=this._all;return this._all=this.newStorage.getAll(),(t.length!==this._all.length||JSON.stringify(this._all)!==JSON.stringify(t))&&this._onDidLoad.fire(),this._all}async clear(){this.hookupStorageEvents(),await this.newStorage.clear(),this._all=[],this._onDidLoad.fire()}async add(t,r){this.hookupStorageEvents(),p.ci(`setUri: ${t.id}.${t.handle}`);let i={time:r?.time??Date.now(),displayName:"",provider:t};await this.newStorage.add(i),this.updateStore()}async update(t){this.hookupStorageEvents(),await this.newStorage.update(t),this.updateStore()}async remove(t){this.hookupStorageEvents(),await this.newStorage.remove(t),this.updateStore()}};zv=v([(0,Wm.injectable)(),m(0,(0,Wm.inject)(We)),m(0,(0,Wm.named)(lt)),m(1,(0,Wm.inject)(M))],zv);var yK=class{constructor(e){this.memento=e;this._onDidChangeUri=new Fl.EventEmitter;this._onDidRemoveUris=new Fl.EventEmitter;this._onDidAddUri=new Fl.EventEmitter;this.updatePromise=Promise.resolve();this.mementoKey=`MEMENTO_KEY_FOR_STORING_USED_JUPYTER_PROVIDERS_${Fl.env.machineId}`}get onDidChange(){return this._onDidChangeUri.event}get onDidRemove(){return this._onDidRemoveUris.event}get onDidAdd(){return this._onDidAddUri.event}dispose(){this._onDidAddUri.dispose(),this._onDidChangeUri.dispose(),this._onDidRemoveUris.dispose()}async add(e){return this.updatePromise=this.updatePromise.then(async()=>{let t=this.getAll(),r=t.find(a=>Ot(a.provider)===Ot(e.provider)),o=[{displayName:e.displayName||r?.displayName||Ot(e.provider),serverHandle:e.provider,time:e.time}].concat(t.sort((a,l)=>l.time-a.time).filter(a=>Ot(a.provider)!==Ot(e.provider)).map(a=>({displayName:a.displayName,serverHandle:a.provider,time:a.time}))),s=o.splice(Qn.JupyterServerUriListMax);if(await this.memento.update(this.mementoKey,o),r||this._onDidAddUri.fire(e),s.length){let a=s.map(l=>({provider:l.serverHandle,time:l.time,displayName:l.displayName||""}));this._onDidRemoveUris.fire(a.map(l=>l.provider))}this._onDidChangeUri.fire()}).catch(h)}async update(e){let r=this.getAll().find(o=>o.provider.id===e.id&&o.provider.handle===e.handle),i={provider:e,time:Date.now(),displayName:r?.displayName||""};await this.add(i)}async remove(e){await(this.updatePromise=this.updatePromise.then(async()=>{let t=!1;try{let r=this.getAll();if(r.length===0)return;let i=r.filter(s=>s.provider.id!==e.id||s.provider.handle!==e.handle),o=r.filter(s=>s.provider.id===e.id&&s.provider.handle===e.handle);if(i.length===0)await this.clear();else if(o.length){let s=i.map(a=>({displayName:a.displayName,serverHandle:a.provider,time:a.time}));t=!0,await this.memento.update(this.mementoKey,s),this._onDidRemoveUris.fire(o.map(a=>a.provider))}}finally{t||this._onDidRemoveUris.fire([e])}}).catch(t=>p.error(`Failed to remove Server handle ${JSON.stringify(e)}`,t)))}getAll(){let e=this.memento.get(this.mementoKey,[]),t=[];return e.forEach(async r=>{let i=Ot(r.serverHandle),o={time:r.time,displayName:r.displayName||i,provider:r.serverHandle};t.push(o)}),t}async clear(){let e=this.getAll();await this.memento.update(this.mementoKey,[]),e.length&&this._onDidRemoveUris.fire(e.map(t=>t.provider))}};var Jd=k(N());var SD="removeKernelUrisAndSessionsUsedByResources",Qv=class{constructor(e,t,r){this.disposables=e;this.uriStorage=t;this.memento=r;this.usedRemoteKernelServerIdsAndSessions={}}activate(){this.usedRemoteKernelServerIdsAndSessions=this.memento.get(SD,{}),this.uriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables)}wasKernelUsed(e){let t=Ot(e.serverProviderHandle);return t in this.usedRemoteKernelServerIdsAndSessions&&typeof e.kernelModel.id=="string"&&e.kernelModel.id in this.usedRemoteKernelServerIdsAndSessions[t]}trackKernelIdAsUsed(e,t,r){let i=Ot(t);this.usedRemoteKernelServerIdsAndSessions[i]=this.usedRemoteKernelServerIdsAndSessions[i]||{},this.usedRemoteKernelServerIdsAndSessions[i][r]=this.usedRemoteKernelServerIdsAndSessions[i][r]||[];let o=this.usedRemoteKernelServerIdsAndSessions[i][r];o.includes(e.toString())||(o.push(e.toString()),this.memento.update(SD,this.usedRemoteKernelServerIdsAndSessions).then(h,h))}trackKernelIdAsNotUsed(e,t,r){let i=Ot(t);if(!(i in this.usedRemoteKernelServerIdsAndSessions)||!(r in this.usedRemoteKernelServerIdsAndSessions[i]))return;let o=this.usedRemoteKernelServerIdsAndSessions[i][r];!Array.isArray(o)||!o.includes(e.toString())||(o.splice(o.indexOf(e.toString()),1),o.length===0&&delete this.usedRemoteKernelServerIdsAndSessions[i][r],Object.keys(this.usedRemoteKernelServerIdsAndSessions[i]).length===0&&delete this.usedRemoteKernelServerIdsAndSessions[i],this.memento.update(SD,this.usedRemoteKernelServerIdsAndSessions).then(h,h))}onDidRemoveServers(e){e.forEach(t=>{let r=Ot(t);delete this.usedRemoteKernelServerIdsAndSessions[r],this.memento.update(SD,this.usedRemoteKernelServerIdsAndSessions).then(h,h)})}};Qv=v([(0,Jd.injectable)(),m(0,(0,Jd.inject)(M)),m(1,(0,Jd.inject)($t)),m(2,(0,Jd.inject)(We)),m(2,(0,Jd.named)(lt))],Qv);var Bm=k(require("node-fetch")),t8=k(Z$());var e8=require("vscode");function GK(n){return class extends n{constructor(...r){super(...r);this._onAnyMessage=new e8.EventEmitter;this.onAnyMessage=this._onAnyMessage.event;this.msgChain=Promise.resolve(),this.sendChain=Promise.resolve(),this.receiveHooks=[],this.sendHooks=[]}patchSuperEmit(r){super.emit=r}send(r,i){this.sendHooks?this.sendChain=this.sendChain.then(()=>Promise.all(this.sendHooks.map(o=>o(r,i)))).then(()=>super.send(r,i)):super.send(r,i)}handleEvent(r,i,...o){return i==="message"&&this.receiveHooks.length?(this.msgChain=this.msgChain.then(()=>Promise.all(this.receiveHooks.map(s=>s(o[0])))).then(()=>r(i,...o)).catch(s=>p.error(`Exception while handling messages: ${s}`)),!0):r(i,...o)}emit(r,...i){return this.handleEvent((o,...s)=>super.emit(o,...s),r,...i)}addReceiveHook(r){this.receiveHooks.push(r)}removeReceiveHook(r){this.receiveHooks=this.receiveHooks.filter(i=>i!==r)}addSendHook(r){this.sendHooks.push(r)}removeSendHook(r){this.sendHooks=this.sendHooks.filter(i=>i!==r)}}}var r8=k(N());var Yi=new Map;var Zv=class{getRequestCtor(e,t,r){class i extends Bm.Request{constructor(s,a){super(s,a);let l=this.headers,c=r();Object.keys(c).forEach(f=>l.append(f,c[f].toString())),l.set("Content-Type","application/json");let d=l.append.bind(l);l.append=(f,g)=>{f.toLowerCase()!=="authorization"&&d(f,g)}}}return r&&Object.keys(r()||{}).length?i:Bm.Request}getWebsocketCtor(e,t,r){let i=()=>{let s={},a;if(t&&(s={...s,rejectUnauthorized:!1}),e&&(a={Cookie:e}),r){let l=r();a=a?{...a,...l}:l}return a&&(s={...s,headers:a}),s};class o extends GK(t8.default){constructor(l,c){super(l,c,i());let u,d=/.*\/kernels\/(.*)\/.*/.exec(l);d&&d.length>1&&(this.kernelId=d[1]),this.kernelId?(Yi.set(this.kernelId,this),this.on("close",()=>{u&&this.timer!==u&&clearInterval(u),Yi.get(this.kernelId)===this&&Yi.delete(this.kernelId)})):p.error("KernelId not extracted from Kernel WebSocket URL"),u=this.timer=setInterval(()=>this.ping(h),3e4)}}return o}wrapWebSocketCtor(e){class t extends GK(e){constructor(o,s,a){super(o,s,a);let l,c=/.*\/kernels\/(.*)\/.*/.exec(o);c&&c.length>1&&(this.kernelId=c[1]),this.kernelId?(Yi.set(this.kernelId,this),this.on("close",()=>{l&&this.timer!==l&&clearInterval(l),Yi.get(this.kernelId)===this&&Yi.delete(this.kernelId)})):p.error("KernelId not extracted from Kernel WebSocket URL"),l=this.timer=setInterval(()=>this.ping(h),3e4)}}return t}getFetchMethod(){return Bm.default}getHeadersCtor(){return Bm.Headers}getRequestInit(){return{cache:"no-store",credentials:"same-origin"}}};Zv=v([(0,r8.injectable)()],Zv);var n8=require("https"),i8=k(N());var ey=class{createHttpRequestAgent(){return new n8.Agent({rejectUnauthorized:!1})}};ey=v([(0,i8.injectable)()],ey);var zo=k(N());var Go=require("vscode");var pue=["/bin/sh","/bin/bash","/bin/zsh"];function AD(n,e){let t=(n.argv||[]).some(r=>(r=r.toLowerCase(),pue.some(i=>r.includes(i))));R("DATASCIENCE.KERNEL_SPEC_LANGUAGE",void 0,{language:n.language,kind:e,usesShell:t})}var ty="remoteKernelSpecCache.json";var mue=2e3,ND=class extends jn{constructor(t,r,i,o,s,a,l,c,u,d){super();this.id=t;this.displayName=r;this.env=i;this.cachedRemoteKernelValidator=o;this.kernelProvider=a;this.serverProviderHandle=l;this.jupyterConnection=c;this.fs=u;this.context=d;this._status="idle";this._onDidChangeStatus=new Go.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this.promiseMonitor=new lo;this.kernelIdsToHide=new Set;this.kind="remote";this.cache=[];this._onDidChangeKernels=new Go.EventEmitter;this.onDidChangeKernels=this._onDidChangeKernels.event;this._onDidChange=new Go.EventEmitter;this.onDidChange=this._onDidChange.event;this.cacheFile=Go.Uri.joinPath(d.globalStorageUri,ty),this.cacheKey=Ot(l),this._register(s.registerKernelFinder(this)),this._register(this._onDidChangeKernels.event(()=>this._onDidChange.fire(),this)),this._register(this._onDidChangeKernels),this._register(this._onDidChange),this._register(this._onDidChangeStatus),this._register(this.promiseMonitor)}get status(){return this._status}set status(t){this._status!==t&&(this._status=t,this._onDidChangeStatus.fire())}get lastError(){return this._lastError}get kernels(){return this.cache}get items(){return this.kernels}get title(){return this.displayName}dispose(){super.dispose(),this._cacheUpdateCancelTokenSource?.dispose(),this.kernelDisposeDelayTimer?.dispose()}async activate(){this.promiseMonitor.onStateChange(()=>{this.status=this.promiseMonitor.isComplete?"idle":"discovering"}),this.loadCache().then(h,h),this._register(this.kernelProvider.onDidStartKernel(t=>{_t(t.kernelConnectionMetadata)&&this.updateCache().then(h,h)},this)),this._register(this.kernelProvider.onDidDisposeKernel(t=>{if(t&&_t(t.kernelConnectionMetadata)){this.kernelDisposeDelayTimer?.dispose();let r=setTimeout(()=>{this.updateCache().then(h,h)},mue);return this.kernelDisposeDelayTimer=new Go.Disposable(()=>clearTimeout(r)),r}},this))}async refresh(){await this.loadCache(!0,!0)}getListOfKernelsWithCachedConnection(t,r=!1){return(!this.cachedConnection||r)&&(this.cachedConnection=this.getRemoteConnectionInfo(t)),this.cachedConnection.then(i=>i?(this.cachedConnection=Promise.resolve(i),this.listKernelsFromConnection(i)):Promise.resolve([])).catch(i=>this.isDisposed?Promise.reject(i):r?(this.cachedConnection=void 0,Promise.reject(i)):this.getListOfKernelsWithCachedConnection(t,!0))}async loadCache(t=!1,r=!1){p.ci(`Remote Kernel Finder load cache Server: ${this.id}`);let i=(async()=>{let o=t?[]:await this.getFromCache(),s=[];if(!t&&Array.isArray(o)&&o.length>0)s=o,this.updateCache().then(h,h),this.loadCache(!0).then(h,h);else try{s=await this.getListOfKernelsWithCachedConnection(r),this._lastError=void 0}catch(a){a instanceof Go.CancellationError||(p.error("UniversalRemoteKernelFinder: Failed to get kernels without cache",a),this._lastError=a,this._onDidChange.fire())}await this.writeToCache(s)})();this.promiseMonitor.push(i),await i}async updateCache(){let t=(async()=>{let r=[];this._cacheUpdateCancelTokenSource?.dispose();let i=new Go.CancellationTokenSource;this._cacheUpdateCancelTokenSource=i;try{r=await this.getListOfKernelsWithCachedConnection(!1)}catch(o){p.warn(`Could not fetch kernels from the ${this.kind} server, falling back to cache: ${o}`),r=await this.getFromCache(i.token),r=r.filter(s=>s.kind==="connectToLiveRemoteKernel")}i.token.isCancellationRequested||await this.writeToCache(r)})();this.promiseMonitor.push(t),await t}async getRemoteConnectionInfo(t=!0){let r=[];return t&&r.push(st.createProgressReporter(void 0,y.connectingToJupyter)),this.jupyterConnection.createConnectionInfo(this.serverProviderHandle).finally(()=>z(r))}async getFromCache(t){try{if(t?.isCancellationRequested)throw new Go.CancellationError;let r=this.cache;(!r||r.length===0)&&(r=await this.getCacheContents());let i=[],o=Promise.all(r.map(async s=>{await this.isValidCachedKernel(s)&&i.push(s)}));return await Xt(t,o),i}catch(r){p.error("UniversalRemoteKernelFinder: Failed to get from cache",r)}return[]}async getCacheContents(){try{let t=await this.fs.readFile(this.cacheFile),r=JSON.parse(t);if(r.extensionVersion!==this.env.extensionVersion)return[];let i=r.data[this.cacheKey]||[];return Array.isArray(i)?i.map(o=>ws.fromJSON(o)):[]}catch{return[]}}async listKernelsFromConnection(t){let r=[];try{let i=cd.create(t.settings);r.push({dispose:()=>Ss(i)});let[o,s,a,l]=await Promise.all([i.getRunningKernels(),i.getKernelSpecs(),i.getRunningSessions(),TV(t.serverProviderHandle)]),c=s.map(f=>(AD(f,"remote"),GS.create({kernelSpec:f,id:ki(f,void 0,l),baseUrl:t.baseUrl,serverProviderHandle:t.serverProviderHandle})));return[...a.map(f=>{let g=f.kernel,b=g.last_activity?new Date(Date.parse(g.last_activity.toString())):new Date,I=g.connections?parseInt(g.connections.toString(),10):0,E=o.find(T=>T.id===f.kernel?.id)||{},x=s.find(T=>T.name===f.kernel?.name)||{};return HS.create({kernelModel:{...f.kernel,...x,...E,name:f.kernel?.name||"",lastActivityTime:b,numberOfConnections:I,model:f},baseUrl:t.baseUrl,id:f.kernel?.id||"",serverProviderHandle:t.serverProviderHandle})}).filter(f=>!this.kernelIdsToHide.has(f.kernelModel.id||"")),...c]}catch(i){throw p.error(`Error fetching kernels from ${t.baseUrl} (${t.displayName}):`,i),i}finally{await Promise.all(r.map(i=>i.dispose().catch(h)))}}async writeToCache(t){try{p.trace(`UniversalRemoteKernelFinder: Writing ${t.length} remote kernel connection metadata to cache`);let r=this.cache,i=new Map(r.map(f=>[f.id,f])),o=new Map(t.map(f=>[f.id,f])),s=t.filter(f=>!i.has(f.id)),a=t.filter(f=>i.has(f.id)&&!Ys(f,i.get(f.id))),l=r.filter(f=>!o.has(f.id)),c=this.cacheKey;this.cache=r.filter(f=>o.has(f.id)).concat(s),this.cache.forEach(f=>{let g=o.get(f.id);f!==g&&g.kind==="connectToLiveRemoteKernel"&&f.kind==="connectToLiveRemoteKernel"&&f.updateModel(g.kernelModel)});let u=t.map(f=>f.toJSON()),d={extensionVersion:this.env.extensionVersion,data:{}};try{let f=await this.fs.readFile(this.cacheFile),g=JSON.parse(f);g.extensionVersion===this.env.extensionVersion&&(d=g)}catch{}d.data[c]=u,await this.fs.createDirectory(this.context.globalStorageUri).then(()=>this.fs.writeFile(this.cacheFile,JSON.stringify(d))).catch(f=>{p.error("Failed to cache the remote kernels.",f)}),(s.length||a.length||l.length)&&this._onDidChangeKernels.fire({removed:l})}catch(r){p.error("UniversalRemoteKernelFinder: Failed to write to cache",r)}}async isValidCachedKernel(t){switch(t.kind){case"startUsingRemoteKernelSpec":return!1;case"connectToLiveRemoteKernel":return this.cachedRemoteKernelValidator.isValid(t)}}};var MD=require("vscode");var zc=class{constructor(e,t,r,i,o,s,a,l,c,u){this.serverUriStorage=e;this.env=t;this.cachedRemoteKernelValidator=r;this.kernelFinder=i;this.kernelProvider=o;this.jupyterConnection=s;this.disposables=a;this.fs=l;this.context=c;this.jupyterServerProviderRegistry=u;this.serverFinderMapping=new Map;this.handledProviders=new WeakSet;this.mappedProviders=new WeakSet;this.mappedServers=new Set}activate(){this.serverUriStorage.onDidAdd(e=>this.validateAndCreateFinder(e),this,this.disposables),this.serverUriStorage.onDidChange(this.buildListOfFinders,this,this.disposables),this.serverUriStorage.onDidLoad(this.handleProviderChanges,this,this.disposables),this.serverUriStorage.onDidLoad(this.buildListOfFinders,this,this.disposables),this.jupyterServerProviderRegistry.onDidChangeCollections(this.handleProviderHandleChanges,this,this.disposables),this.serverUriStorage.onDidRemove(this.urisRemoved,this,this.disposables),this.jupyterServerProviderRegistry.onDidChangeCollections(this.handleProviderChanges,this,this.disposables),this.buildListOfFinders(),this.handleProviderChanges().catch(h)}buildListOfFinders(){this.serverUriStorage.all.map(e=>this.validateAndCreateFinder(e).catch(h))}handleProviderHandleChanges(){this.jupyterServerProviderRegistry.jupyterCollections.forEach(e=>{this.handledProviders.has(e)||(this.handledProviders.add(e),e.serverProvider.onDidChangeServers&&e.serverProvider.onDidChangeServers(this.buildListOfFinders,this,this.disposables))}),this.buildListOfFinders()}async handleProviderChanges(){if(!this.serverUriStorage.all.length)return;let e=new MD.CancellationTokenSource;this.disposables.push(e),await Promise.all(this.jupyterServerProviderRegistry.jupyterCollections.map(t=>{let r=t.serverProvider;if(!(!r||this.mappedProviders.has(r)))return this.mappedProviders.add(r),r?.onDidChangeServers&&r?.onDidChangeServers(()=>this.lookForServersInCollectionAndRemoveOldServers(t),this,this.disposables),this.serverUriStorage.onDidLoad(()=>this.lookForServersInCollectionAndRemoveOldServers(t),this,this.disposables),this.lookForServersInCollectionAndRemoveOldServers(t).catch(h)})),e.dispose()}async lookForServersInCollectionAndRemoveOldServers(e){if(!this.serverUriStorage.all.length)return;let t=new Set(this.serverUriStorage.all.map(o=>Ot(o.provider))),r=e.serverProvider;if(!r)return;let i=new MD.CancellationTokenSource;try{let o=await Promise.resolve(r.provideJupyterServers(i.token)),s=new Set;(o||[]).forEach(a=>{let l={extensionId:e.extensionId,handle:a.id,id:e.id},c=Ot(l);s.add(c),lD(l,a.label),!(this.mappedServers.has(c)||!t.has(c))&&(this.mappedServers.add(c),this.createRemoteKernelFinder(l,a.label))}),this.serverFinderMapping.forEach((a,l)=>{a.serverProviderHandle.extensionId===e.extensionId&&a.serverProviderHandle.id===e.id&&!s.has(Ot(a.serverProviderHandle))&&(a.dispose(),this.serverFinderMapping.delete(l))})}catch(o){p.error(`Failed to get servers for Collection ${e.id} in ${e.extensionId}`,o)}finally{i.dispose()}}async validateAndCreateFinder(e){let t=Ot(e.provider);if(this.serverFinderMapping.has(t))return;let r=new MD.CancellationTokenSource,i=async()=>{let s=this.jupyterServerProviderRegistry.jupyterCollections.find(c=>c.extensionId===e.provider.extensionId&&c.id===e.provider.id);if(!s||!s.serverProvider)return;let l=(await Promise.resolve(s.serverProvider.provideJupyterServers(r.token)))?.find(c=>c.id===e.provider.handle)?.label;l&&this.createRemoteKernelFinder(e.provider,l)},o=async()=>{let s=await this.jupyterServerProviderRegistry.jupyterCollections.find(a=>a.extensionId===e.provider.extensionId&&a.extensionId===La&&a.id===e.provider.id)?.label;s&&this.createRemoteKernelFinder(e.provider,s)};await Promise.all([i().catch(h),o().catch(h)]),r.dispose()}getOrCreateRemoteKernelFinder(e,t){let r=Ot(e);if(!this.serverFinderMapping.has(r)){let i=new ND(`remote-${r}`,t,this.env,this.cachedRemoteKernelValidator,this.kernelFinder,this.kernelProvider,e,this.jupyterConnection,this.fs,this.context);this.disposables.push(i),this.serverFinderMapping.set(r,i),i.activate().then(h,h)}return this.serverFinderMapping.get(r)}createRemoteKernelFinder(e,t){this.getOrCreateRemoteKernelFinder(e,t)}urisRemoved(e){e.forEach(t=>{let r=Ot(t),i=this.serverFinderMapping.get(r);i&&i.dispose(),this.serverFinderMapping.delete(r)})}dispose(){this.serverFinderMapping.forEach(e=>e.dispose())}};v([Br("Handle Jupyter Provider Changes")],zc.prototype,"handleProviderChanges",1),v([Br("Check Servers in Jupyter Server Provider")],zc.prototype,"lookForServersInCollectionAndRemoveOldServers",1),v([Br("Failed to create a Remote Kernel Finder")],zc.prototype,"validateAndCreateFinder",1),zc=v([(0,zo.injectable)(),m(0,(0,zo.inject)($t)),m(1,(0,zo.inject)(Sl)),m(2,(0,zo.inject)(hk)),m(3,(0,zo.inject)(kr)),m(4,(0,zo.inject)(De)),m(5,(0,zo.inject)(on)),m(6,(0,zo.inject)(M)),m(7,(0,zo.inject)(tt)),m(8,(0,zo.inject)(et)),m(9,(0,zo.inject)(jt))],zc);var qd=k(N());var jD=require("vscode");var JD=k(Io());var jl=k(N());var KD=class extends qe{constructor(t){super("localjupyterserverconnection",y.jupyterNotebookFailure(t.message||t.toString()));this.originalError=t}};function ny(n){if(Er()){let e=n;if(e&&e._futures){let t=e._futures;t.forEach&&t.forEach(r=>{r._status!==void 0&&(r._status|=4)})}e&&e._reconnectLimit&&(e._reconnectLimit=0)}}var ry=class extends rn{constructor(e){super(e.message,e)}};var YC=require("vscode");var $m=class extends xn{constructor(e){super("invalidkernel",y.kernelInvalid(it(e)),e)}};async function iy(n,e,t,r,i){if(!t.kernel)throw new $m(n);let o=st.reportProgress(e,y.waitingForJupyterSessionToBeIdle),s=[];o&&s.push(o);try{p.trace(`Waiting for idle on (kernel): ${t.kernel.id} -> ${t.kernel.status}`);let a=re();i.onCancellationRequested(()=>a.reject(new YC.CancellationError),void 0,s);let l=(f,g)=>{p.trace(`Got status ${g} in waitForIdleOnSession`),g=="idle"&&a.resolve(g)};t.kernel.statusChanged?.connect(l),s.push(new YC.Disposable(()=>Xn(()=>t.kernel?.statusChanged?.disconnect(l)))),t.kernel.status=="idle"&&a.resolve(t.kernel.status);let c=re(),u=()=>c.resolve("");t.disposed.connect(u,c),s.push(new YC.Disposable(()=>Xn(()=>t.disposed.disconnect(u,c)))),c.promise.catch(h),a.promise.catch(h);let d=await fr(r,"",a.promise,c.promise);if(t.isDisposed)throw p.error("Session disposed while waiting for session to be idle."),new $m(n);if(p.trace(`Finished waiting for idle on (kernel): ${t.kernel.id} -> ${t.kernel.status}`),d=="idle")return;throw p.error(`Shutting down after failing to wait for idle on (kernel): ${t.kernel.id} -> ${t.kernel.status}`),new jv(n)}catch(a){throw p.ci("Error waiting for idle",a),a}finally{z(s)}}var VD=require("vscode");var Vl=k(UD()),zK=require("vscode");var oy=class extends jn{constructor(t,r){super();this.kind=t;this.session=r;this.propertyChanged=new Vl.Signal(this);this.kernelChanged=new Vl.Signal(this);this.statusChanged=new Vl.Signal(this);this.connectionStatusChanged=new Vl.Signal(this);this.iopubMessage=new Vl.Signal(this);this.unhandledMessage=new Vl.Signal(this);this.anyMessage=new Vl.Signal(this);this.disposed=new Vl.Signal(this);this.didShutdown=this._register(new zK.EventEmitter);this._onDidKernelSocketChange=this._register(new zK.EventEmitter);r.propertyChanged.connect(this.onPropertyChanged,this),r.kernelChanged.connect(this.onKernelChanged,this),r.statusChanged.connect(this.onStatusChanged,this),r.connectionStatusChanged.connect(this.onConnectionStatusChanged,this),r.iopubMessage.connect(this.onIOPubMessage,this),r.unhandledMessage.connect(this.onUnhandledMessage,this),r.anyMessage.connect(this.onAnyMessage,this),this._register({dispose:()=>{this.session.propertyChanged.disconnect(this.onPropertyChanged,this),this.session.kernelChanged.disconnect(this.onKernelChanged,this),this.session.statusChanged.disconnect(this.onStatusChanged,this),this.session.connectionStatusChanged.disconnect(this.onConnectionStatusChanged,this),this.session.iopubMessage.disconnect(this.onIOPubMessage,this),this.session.unhandledMessage.disconnect(this.onUnhandledMessage,this),this.session.anyMessage.disconnect(this.onAnyMessage,this)}})}get id(){return this.session.id}get path(){return this.session.path}get name(){return this.session.name}get type(){return this.session.type}get serverSettings(){return this.session.serverSettings}get model(){return this.session.model}get kernel(){return this.isDisposed||!this.session.kernel?null:this.session.kernel}get onDidShutdown(){return this.didShutdown.event}get kernelId(){return this.session?.kernel?.id||""}get onDidKernelSocketChange(){return this._onDidKernelSocketChange.event}dispose(){this.isDisposed||(super.dispose(),this.statusChanged.emit("dead"),this.disposed.emit(),Vl.Signal.disconnectAll(this))}async restart(){await this.session.kernel?.restart(),this.initializeKernelSocket(),p.info(`Restarted ${this.session?.kernel?.id}`)}initializeKernelSocket(){if(!this.session.kernel)throw new Error("Kernel not initialized in Session");let t={kernel:this.session.kernel,options:{clientId:this.session.kernel.clientId,id:this.session.kernel.id,model:{...this.session.kernel.model},userName:this.session.kernel.username},socket:Yi.get(this.session.kernel.id)};JSON.stringify(this.previousKernelSocketInformation?.kernel.model)===JSON.stringify(t.kernel.model)&&this.previousKernelSocketInformation?.kernel===t.kernel&&this.previousKernelSocketInformation?.kernel.id===t.kernel.id&&this.previousKernelSocketInformation?.socket===t.socket||(this.previousKernelSocketInformation=t,this.session.kernel?.connectionStatusChanged.disconnect(this.onKernelConnectionStatusHandler,this),this.session.kernel?.connectionStatusChanged.connect(this.onKernelConnectionStatusHandler,this),this._onDidKernelSocketChange.fire())}onPropertyChanged(t,r){this.propertyChanged.emit(r)}onKernelChanged(t,r){this.kernelChanged.emit(r)}onStatusChanged(t,r){this.statusChanged.emit(r);let i=this.status;p.ci(`Server Status = ${i}`)}onConnectionStatusChanged(t,r){this.connectionStatusChanged.emit(r)}onIOPubMessage(t,r){this.iopubMessage.emit(r)}onUnhandledMessage(t,r){p.warn(`Unhandled message found: ${r.header.msg_type}`),this.unhandledMessage.emit(r)}onAnyMessage(t,r){this.anyMessage.emit(r)}setPath(t){return this.session.setPath(t)}setName(t){return this.session.setName(t)}setType(t){return this.session.setType(t)}changeKernel(t){return this.session.changeKernel(t)}onKernelConnectionStatusHandler(t,r){p.ci(`Server Kernel Status = ${r}`)}};var WD=class extends oy{constructor(t,r,i,o,s){super(ct(i)?"localJupyter":"remoteJupyter",t);this.resource=r;this.kernelConnectionMetadata=i;this.kernelService=o;this.creator=s;this.isShuttingDown=!1;this.initializeKernelSocket()}get status(){return this.isDisposed?"dead":this.session?.kernel?this.session.kernel.status:(p.ci(`Kernel status not started because real session is ${this.session?"defined":"undefined"} & real kernel is ${this.session?.kernel?"defined":"undefined"}`),"unknown")}dispose(){this.restartToken?.cancel(),this.restartToken?.dispose(),this.shutdownImplementation(!1).finally(()=>super.dispose())}async waitForIdle(t,r){try{await iy(this.kernelConnectionMetadata,this.resource,this.session,t,r)}catch(i){throw p.ci("Error waiting for idle",i),await this.shutdown().catch(h),i}}async restart(){let t=[],r=new VD.CancellationTokenSource;this.restartToken=r;let i=new Jt(!1);t.push(i),t.push(r);try{await this.validateLocalKernelDependencies(r.token,i),await super.restart()}finally{z(t)}}async validateLocalKernelDependencies(t,r){if(!(!this.kernelConnectionMetadata?.interpreter||!ct(this.kernelConnectionMetadata)||!this.kernelService)){if(t.isCancellationRequested)throw new VD.CancellationError;await this.kernelService.ensureKernelIsUsable(this.resource,this.kernelConnectionMetadata,r,t,this.creator==="3rdPartyExtension")}}async shutdown(){return this.restartToken?.cancel(),this.restartToken?.dispose(),this.shutdownImplementation(!0)}async shutdownImplementation(t){if(this.isDisposed||this.isShuttingDown)return;this.isShuttingDown=!0;let r=(new Error().stack||"").split(`
`).filter(o=>o.includes(Fe));p.trace(`Shutdown session - current session, called from
${r.map(o=>` ${o}`).join(`
`)}`);let i=`${this.session.kernel?.id}, ${this.kernelConnectionMetadata.id}`;p.debug(`shutdownSession ${i} - start`);try{if(t||this.canShutdownSession())try{p.debug(`Session can be shutdown ${this.kernelConnectionMetadata.id}`),ny(this.session.kernel),this.session.isDisposed||await fr(1e3,this.session.shutdown().catch(h))}catch{try{this.session.isDisposed||this.session.dispose()}catch(o){p.warn("Failures in disposing the session",o)}}finally{this.didShutdown.fire()}else p.debug(`Session cannot be shutdown ${this.kernelConnectionMetadata.id}`);try{this.session.isDisposed||this.session.dispose()}catch(o){p.warn("Failures in disposing the session",o)}super.dispose(),p.trace("Shutdown session -- complete")}catch(o){p.warn("Failures in disposing the session",o)}p.debug(`shutdownSession ${i} - shutdown complete`)}canShutdownSession(){return ct(this.kernelConnectionMetadata)?!0:this.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel"?!1:this.resource&&$i(this.resource)==="interactive"?!0:!(this.resource&&$i(this.resource)==="notebook"&&_t(this.kernelConnectionMetadata))}};var Qc=class{constructor(e,t,r,i,o){this.jupyterNotebookProvider=e;this.jupyterConnection=t;this.asyncDisposables=r;this.kernelService=i;this.configService=o}async create(e){let t=[],r,i=()=>{e.ui.disableUI||r||(r=st.createProgressReporter(e.resource,_t(e.kernelConnection)?y.connectingToJupyter:y.startingJupyter),t.push(r))};e.ui.disableUI&&e.ui.onDidChangeDisableUI(i,this,t),i();let o,s=[],a=this.configService.getSettings(e.resource).jupyterLaunchTimeout;try{o=_t(e.kernelConnection)?await Zt(e.token,this.jupyterConnection.createConnectionInfo(e.kernelConnection.serverProviderHandle)):await this.jupyterNotebookProvider.getOrStartServer({resource:e.resource,token:e.token,ui:e.ui}),await Zt(e.token,this.validateLocalKernelDependencies(e));let l=cd.create(o.settings);this.asyncDisposables.push({dispose:()=>Ss(l)}),s.push(l),await Zt(e.token,this.validateRemoteServer(e,l));let c=await this.connectToOrCreateSession({...e,contentsManager:l.contentsManager,sessionManager:l.sessionManager,kernelManager:l.kernelManager,kernelSpecManager:l.kernelSpecManager,idleTimeout:a,connection:o});e.token.isCancellationRequested&&(await c.shutdown().catch(h),Xn(()=>c.dispose())),vn.throwIfCanceled(e.token),p.info(`Started session for kernel ${e.kernelConnection.kind}:${e.kernelConnection.id}`);let u=new WD(c,e.resource,e.kernelConnection,this.kernelService,e.creator),d=c.disposed,f=()=>{l.dispose(),d.disconnect(f)};this.asyncDisposables.push({dispose:()=>u.shutdown().finally(()=>u.dispose())}),c.disposed.connect(f);let g=u.onDidDispose(f);return this.asyncDisposables.push(g),u}catch(l){throw z(s),_t(e.kernelConnection)?o?Oo.isSelfCertsError(l)?new Oo(o.baseUrl):pl.isSelfCertsExpiredError(l)?new pl(o.baseUrl):new xi(o.baseUrl,e.kernelConnection.serverProviderHandle,l):l:l instanceof qe?l:new KD(l)}finally{z(t)}}async validateRemoteServer(e,t){if(t.isDisposed)throw new dn;if(!ct(e.kernelConnection))try{await Promise.all([t.getRunningKernels(),t.getKernelSpecs()])}catch(r){throw p.error("Failed to fetch running kernels from remote server, connection may be outdated or remote server may be unreachable",r),new xi(e.kernelConnection.baseUrl,e.kernelConnection.serverProviderHandle,r)}}async validateLocalKernelDependencies(e){if(e.token.isCancellationRequested)throw new jD.CancellationError;e.kernelConnection?.interpreter&&ct(e.kernelConnection)&&this.kernelService&&await this.kernelService.ensureKernelIsUsable(e.resource,e.kernelConnection,e.ui,e.token,e.creator==="3rdPartyExtension")}async connectToOrCreateSession(e){if(e.token.isCancellationRequested)throw new jD.CancellationError;let t;try{if(e.kernelConnection&&e.kernelConnection.kind==="connectToLiveRemoteKernel"&&e.kernelConnection.kernelModel.id&&e.kernelConnection.kernelModel.model){if(!e.kernelConnection.kernelModel.model)throw new Error("Kernel model not defined when connecting to an existing session");t=e.sessionManager.connectTo({...e.kernelConnection.kernelModel,model:e.kernelConnection.kernelModel.model}),await Zt(e.token,vE(async()=>t.kernel?.connectionStatus==="connected"||e.token.isCancellationRequested,e.idleTimeout,100))}else p.trace(`createNewKernelSession ${e.kernelConnection?.id}`),t=await this.createNewSession(e),await iy(e.kernelConnection,e.resource,t,e.idleTimeout,e.token).catch(h);if(e.token.isCancellationRequested)throw new jD.CancellationError;return t}catch(r){let i=e.ui.disableUI?p.debug:p.error;throw r instanceof qe?(i("Failed to change kernel, re-throwing",r),r):(i("Failed to change kernel",r),new $m(e.kernelConnection))}}async createNewSession(e){let t=(e.connection,e.resource,void 0),r=t?.path,i=Xh(e.kernelConnection)??e.kernelSpecManager?.specs?.default??"",o;if(t?.name)o=t.name;else{let a=e.resource?Vu(e.resource):"";o=`${e.resource?un(e.resource,a):""}-${(0,JD.default)()}${a}`}let s={path:r||gue(e.resource),kernel:{name:i},name:o,type:(e.resource?.path||"").toLowerCase().endsWith(".ipynb")?"notebook":"console"};try{let a=await Zt(e.token,e.sessionManager.startNew(s,{kernelConnectionOptions:{handleComms:!0}}));if(!a.kernel)throw new ry(new Error("No kernel created"));return p.info(y.createdNewKernel(e.connection.baseUrl,a?.kernel?.id||"")),a}catch(a){throw a instanceof ry?a:new ry(a)}}};Qc=v([(0,jl.injectable)(),m(0,(0,jl.inject)(ng)),m(1,(0,jl.inject)(on)),m(2,(0,jl.inject)(No)),m(3,(0,jl.inject)(mk)),m(3,(0,jl.optional)()),m(4,(0,jl.inject)(ie))],Qc);function hue(){return`${Yh}${(0,JD.default)()}`}function gue(n){let e=`${hue()}${(0,JD.default)()}.ipynb`;return n?`${un(n,".ipynb")}${e}`:`${y.defaultNotebookName}${e}`}var sy=class{constructor(e,t,r){this.rawKernelSupported=e;this.newRawKernelSessionFactory=t;this.newJupyterSessionFactory=r}async create(e){let t=e.kernelConnection;return this.rawKernelSupported.isSupported&&ct(t)&&this.newRawKernelSessionFactory?this.newRawKernelSessionFactory.create({...e,kernelConnection:t}):this.newJupyterSessionFactory.create(e)}};sy=v([(0,qd.injectable)(),m(0,(0,qd.inject)(oi)),m(1,(0,qd.inject)(iD)),m(1,(0,qd.optional)()),m(2,(0,qd.inject)(Qc))],sy);var XC=Symbol("RemoteKernelFinderController");function u8(n,e){n.add(Pv,Fv),n.addSingleton(me,Lv),n.addSingleton(me,kv),n.addSingleton(od,Jv),n.addSingleton(As,As),n.addSingleton(rg,Uv),n.addSingleton(pk,Km),n.addSingleton(jc,jc),n.addSingleton(ii,ii),n.addSingleton(pa,pa),n.addSingleton(aa,aa),n.addSingleton(mk,Fm),n.addSingleton(ng,$v),n.addSingleton(sd,Mm),n.addSingleton(Od,Mm),n.addSingleton($t,zv),n.addSingleton(fk,Gv),n.addSingleton(GP,Bv),n.addSingleton(zS,sy),n.addSingleton(Qc,Qc),n.addSingleton(Dc,Zv),n.addSingleton(ad,ey),n.addSingleton(on,on),n.addSingleton(um,Qv),n.addBinding(um,me),n.addSingleton(hk,Vv),n.addSingleton(Gr,Ov),n.addSingleton(XC,zc),n.addBinding(XC,me),n.addSingleton(jt,sg)}var qm=k(N()),Yc=require("vscode");var ay=class{constructor(e,t,r,i){this.disposableRegistry=e;this.kernelProvider=t;this.serverUriStorage=r;this.jupyterUriProviderRegistration=i;this.kernelsStartedSuccessfully=new WeakSet;this.kernelDisposables=new WeakMap;this.kernelConnectionToKernelMapping=new WeakMap;this.kernelsRestarting=new WeakSet;this.kernelReconnectProgress=new WeakMap;this.lastExecutedCellPerKernel=new WeakMap}activate(){this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposableRegistry),this.disposableRegistry.push(this.kernelProvider.onDidDisposeKernel(e=>{this.kernelDisposables.get(e)?.dispose(),this.kernelDisposables.delete(e),this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e)},this)),this.disposableRegistry.push(this.kernelProvider.onDidRestartKernel(e=>{this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e)},this)),this.disposableRegistry.push(er.onDidChangeNotebookCellExecutionState(e=>{if(!Et(e.cell.notebook)||e.state!==1)return;let t=this.kernelProvider.get(e.cell.notebook);!t||this.lastExecutedCellPerKernel.get(t)!==e.cell||this.lastExecutedCellPerKernel.delete(t)}))}getKernelSpecificDisposables(e){let t=this.kernelDisposables.get(e)||new Wr;return this.disposableRegistry.push(t),this.kernelDisposables.set(e,t),t}onDidStartKernel(e){if(this.kernelsStartedSuccessfully.has(e)||!e.session?.kernel)return;let t=this.getKernelSpecificDisposables(e);t.add(er.onDidChangeNotebookCellExecutionState(r=>{r.cell.notebook===e.notebook&&this.kernelProvider.get(r.cell.notebook)===e&&r.state===3&&this.lastExecutedCellPerKernel.set(e,r.cell)},this)),this.kernelsStartedSuccessfully.add(e),this.kernelConnectionToKernelMapping.set(e.session.kernel,e),e.session?.kernel?.connectionStatusChanged.connect(this.onKernelStatusChanged,this),t.add(e.addHook("willRestart",async()=>{this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e),this.kernelsRestarting.add(e)},this)),t.add(e.onRestarted(()=>this.kernelsRestarting.delete(e),this))}onKernelStatusChanged(e,t){let r=this.kernelConnectionToKernelMapping.get(e);if(r&&!this.kernelsRestarting.has(r))switch(t){case"connected":{this.kernelReconnectProgress.get(r)?.dispose(),this.kernelReconnectProgress.delete(r);return}case"disconnected":{this.kernelReconnectProgress.has(r)&&(this.kernelReconnectProgress.get(r)?.dispose(),this.kernelReconnectProgress.delete(r),this.onKernelDisconnected(r)?.catch(h));return}case"connecting":this.kernelReconnectProgress.has(r)||this.onKernelConnecting(r)?.catch(h);return;default:return}}async onKernelConnecting(e){let t=this.getKernelSpecificDisposables(e),r=re(),i=new Yc.Disposable(()=>r.resolve());if(this.kernelReconnectProgress.set(e,i),_t(e.kernelConnectionMetadata)&&await this.handleRemoteServerShutdown(e,e.kernelConnectionMetadata))return;let o=y.automaticallyReconnectingToAKernelProgressMessage(it(e.kernelConnectionMetadata));Yc.window.withProgress({location:Yc.ProgressLocation.Notification,title:o},async()=>r.promise).then(h,h),t.add(i)}async onKernelDisconnected(e){if(e.disposed||e.disposing||(Pt(e.resourceUri,"DATASCIENCE.KERNEL_CRASH"),_t(e.kernelConnectionMetadata)&&await this.handleRemoteServerShutdown(e,e.kernelConnectionMetadata)))return;let t=ct(e.kernelConnectionMetadata)?y.kernelDisconnected(it(e.kernelConnectionMetadata)):y.remoteJupyterConnectionFailedWithServer(e.kernelConnectionMetadata.baseUrl);Yc.window.showErrorMessage(t).then(h,h);try{let r=this.lastExecutedCellPerKernel.get(e);if(!r||r.document.isClosed||r.notebook.isClosed||r.executionSummary?.success===!1)return;await rd(r,e.controller,t,!1)}finally{await e.dispose()}}async handleRemoteServerShutdown(e,t){let r=this.jupyterUriProviderRegistration.jupyterCollections.find(o=>o.extensionId===t.serverProviderHandle.extensionId&&o.id===t.serverProviderHandle.id);if(!r)return!1;let i=new Yc.CancellationTokenSource;try{return(await Promise.resolve(r.serverProvider.provideJupyterServers(i.token))||[]).map(a=>a.id).includes(t.serverProviderHandle.handle)?!1:(await this.serverUriStorage.remove(t.serverProviderHandle),this.kernelReconnectProgress.get(e)?.dispose(),this.kernelReconnectProgress.delete(e),!0)}catch{return!1}finally{i.dispose()}}};ay=v([(0,qm.injectable)(),m(0,(0,qm.inject)(M)),m(1,(0,qm.inject)(De)),m(2,(0,qm.inject)($t)),m(3,(0,qm.inject)(jt))],ay);var ZC=k(N());var ly=class{constructor(e,t){this.disposableRegistry=e;this.kernelProvider=t;this.kernelsStartedSuccessfully=new WeakSet;this.kernelRestartProgress=new WeakMap}activate(){this.kernelProvider.onKernelStatusChanged(this.onKernelStatusChanged,this,this.disposableRegistry),this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposableRegistry),this.disposableRegistry.push(this.kernelProvider.onDidDisposeKernel(e=>{this.kernelRestartProgress.get(e)?.dispose(),this.kernelRestartProgress.delete(e)},this)),this.disposableRegistry.push(this.kernelProvider.onDidRestartKernel(e=>{this.kernelRestartProgress.get(e)?.dispose(),this.kernelRestartProgress.delete(e)},this))}onDidStartKernel(e){this.kernelsStartedSuccessfully.add(e)}onKernelStatusChanged({kernel:e}){if(!(!this.kernelsStartedSuccessfully.has(e)||!e.session||e.session.kind==="localRaw"))if(e.status==="autorestarting"){let t=st.createProgressReporter(e.resourceUri,y.restartingKernelStatus(it(e.kernelConnectionMetadata)));this.kernelRestartProgress.set(e,t)}else e.status!=="starting"&&e.status!=="busy"&&e.status!=="unknown"&&this.kernelRestartProgress.has(e)&&(this.kernelRestartProgress.get(e)?.dispose(),this.kernelRestartProgress.delete(e))}};ly=v([(0,ZC.injectable)(),m(0,(0,ZC.inject)(M)),m(1,(0,ZC.inject)(De))],ly);var ew=k(N()),QK=require("vscode");var Hm=class{constructor(e,t){this.disposableRegistry=e;this.kernelProvider=t;this.lastExecutedCellPerKernel=new WeakMap;this.kernelsStartedSuccessfully=new WeakSet}activate(){this.kernelProvider.onKernelStatusChanged(this.onKernelStatusChanged,this,this.disposableRegistry),this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposableRegistry)}onDidStartKernel(e){this.kernelsStartedSuccessfully.add(e),er.onDidChangeNotebookCellExecutionState(t=>{t.cell.notebook===e.notebook&&this.kernelProvider.get(t.cell.notebook)===e&&this.lastExecutedCellPerKernel.set(e,t.cell)})}async onKernelStatusChanged({kernel:e}){this.kernelsStartedSuccessfully.has(e)&&(e.disposed||e.disposing||!e.session||(e.session.kind==="localRaw"&&e.status==="dead"&&(QK.window.showErrorMessage(y.kernelDiedWithoutError(it(e.kernelConnectionMetadata))).then(h,h),await this.endCellAndDisplayErrorsInCell(e)),e.session.kind!=="localRaw"&&e.status==="autorestarting"&&(QK.window.showErrorMessage(y.kernelDiedWithoutErrorAndAutoRestarting(it(e.kernelConnectionMetadata))).then(h,h),await this.endCellAndDisplayErrorsInCell(e))))}async endCellAndDisplayErrorsInCell(e){let t=this.lastExecutedCellPerKernel.get(e);if(Pt(e.resourceUri,"DATASCIENCE.KERNEL_CRASH"),!!t)return rd(t,e.controller,y.kernelCrashedDueToCodeInCurrentOrPreviousCell,!1)}};v([Br()],Hm.prototype,"onKernelStatusChanged",1),Hm=v([(0,ew.injectable)(),m(0,(0,ew.inject)(M)),m(1,(0,ew.inject)(De))],Hm);var Xc=k(N()),Gd=require("vscode");var Hd=class{constructor(e,t,r,i){this.installer=e;this.memento=t;this.rawSupport=r;this.serviceContainer=i;this.installPromises=new Map}async installMissingDependencies({resource:e,kernelConnection:t,ui:r,token:i,ignoreCache:o,cannotChangeKernels:s,installWithoutPrompting:a}){if(!ct(t)||!dt(t)||!t.interpreter)return 0;p.info(`Check & install missing Kernel dependencies for ${j(t.interpreter?.uri)}, ui.disabled=${r.disableUI} for resource '${j(e)}'`);let l=async()=>{if(await st.wrapAndReportProgress(e,y.validatingKernelDependencies,()=>this.areDependenciesInstalled(t,i,o)))return 0;if(i?.isCancellationRequested)return 1};if(!a){let g=await l();if(g===0||g===1)return g}let c=cn(t.interpreter.uri),u=this.installPromises.get(c),d;if(!u){let g=new Gd.CancellationTokenSource,b=i.onCancellationRequested(()=>{g.cancel(),b.dispose()});u=st.wrapAndReportProgress(e,y.installingMissingDependencies,async()=>{if(a){let I=await l();if(I===0||I===1)return I}return this.runInstaller(e,t.interpreter,r,g,s,a)}),u.finally(()=>{b.dispose(),g.dispose()}).catch(h),this.installPromises.set(c,u)}let f=2;try{f=await u,(d?.token?.isCancellationRequested||i.isCancellationRequested)&&(f=1)}catch(g){p.ci("Failed to install kernel dependency",g),f=2}finally{this.installPromises.delete(c)}return f}async areDependenciesInstalled(e,t,r){if(e.kind==="connectToLiveRemoteKernel"||e.kind==="startUsingRemoteKernelSpec"||e.interpreter===void 0)return!0;if(!r&&this.rawSupport.isSupported&&await g3(this.memento,19,e.interpreter))return p.info(`IPyKernel found previously in this environment ${j(e.interpreter.uri)}`),!0;let i=this.installer.isInstalled(19,e.interpreter).then(o=>o===!0);return i.then(o=>{o&&Ax(this.memento,19,e.interpreter).catch(h)},h),Xt(t,!1,i)}async runInstaller(e,t,r,i,o,s){if(p.ci(`Run Installer for ${j(e)} ui.disableUI=${r.disableUI}, cancelTokenSource.token.isCancellationRequested=${i.token.isCancellationRequested}`),r.disableUI)return 4;let a=Ve(t),[l,c]=await Promise.all([b3(this.memento,19,t),a==="Conda"?void 0:await this.installer.isInstalled(27,t)]);if(i.token.isCancellationRequested)return 1;let u=l?y.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreterAndRequiresUpdate:y.libraryRequiredToLaunchJupyterKernelNotInstalledInterpreter,d=c===!1?[19,27]:[19],f=u(qr(t)||t.uri.fsPath,d.map(J=>ar.get(J)).join(` ${de.and} `)),g=d.map(J=>ar.get(J)).join(", "),b=e?$i(e):void 0,I=e?await at(e.toString()):void 0;Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"displayed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a});let E=de.install,x=y.selectKernel,A=de.moreInfo,T=[E];e&&!o&&T.push(x),T.push(A);try{(!Wp()||!s)&&Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"prompted",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a});let J;do J=Wp()||s?E:await Xt(i.token,Gd.window.showInformationMessage(f,{modal:!0},...T)),J===A&&(Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"moreInfo",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),Gd.env.openExternal(Gd.Uri.parse("https://aka.ms/AAhi594")));while(J===A);if(i.token.isCancellationRequested)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"dismissed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),1;if(J===x)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"differentKernel",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),3;if(J===E){Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"install",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a});let ne=await Xt(i.token,3,this.installer.install(19,t,i,l===!0,c===!1));if(ne===0)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"installed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),0;if(ne===2)return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"failed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),2}return Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"dismissed",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),1}catch(J){throw p.error(`Failed to install ${g}`,J),Pt(e,"DS_INTERNAL.PYTHON_MODULE_INSTALL",void 0,{action:"error",moduleName:g,resourceType:b,resourceHash:I,pythonEnvType:a}),J}}};v([Zn("Install Missing Dependencies")],Hd.prototype,"installMissingDependencies",1),v([Zn("Are Dependencies Installed"),m(0,wc("id"))],Hd.prototype,"areDependenciesInstalled",1),Hd=v([(0,Xc.injectable)(),m(0,(0,Xc.inject)(Ai)),m(1,(0,Xc.inject)(We)),m(1,(0,Xc.named)(lt)),m(2,(0,Xc.inject)(oi)),m(3,(0,Xc.inject)(rt))],Hd);var BD=k(N()),uy=require("vscode");var cy=class extends Qt{constructor(t){super();this._onDidChangeRegistrations=this._register(new uy.EventEmitter);this.onDidChangeRegistrations=this._onDidChangeRegistrations.event;this._finders=[];this.connectionFinderMapping=new Map;this._onDidChangeKernels=this._register(new uy.EventEmitter);this.onDidChangeKernels=this._onDidChangeKernels.event;this._status="idle";this._onDidChangeStatus=this._register(new uy.EventEmitter);t.push(this),this._register(this._onDidChangeStatus),this._register(this._onDidChangeRegistrations)}get status(){return this._status}set status(t){this._status!=t&&(this._status=t,this._onDidChangeStatus.fire())}get onDidChangeStatus(){return this._onDidChangeStatus.event}registerKernelFinder(t){this._finders.push(t);let r=()=>{this.status=this._finders.every(s=>s.status==="idle")?"idle":"discovering"};r();let i=this._register(new Wr),o=()=>{let s=this._finders.findIndex(a=>a===t);s>=0&&this._finders.splice(s,1),i.dispose(),r(),this._onDidChangeKernels.fire(),this._onDidChangeRegistrations.fire({added:[],removed:[t]})};return i.add(t.onDidChangeStatus(r,this)),i.add(t.onDidChangeKernels(()=>this._onDidChangeKernels.fire())),i.add(t.onDidDispose(()=>o())),this._onDidChangeKernels.fire(),this._onDidChangeRegistrations.fire({added:[t],removed:[]}),new uy.Disposable(()=>o())}get kernels(){let t=[];this.connectionFinderMapping.clear();let r=new Set;this._finders.filter(o=>o.kind==="localPythonEnvironment").forEach(o=>{o.kernels.forEach(s=>{(s.kind==="startUsingLocalKernelSpec"||s.kind==="startUsingPythonInterpreter")&&s.kernelSpec.specFile&&r.add(s.kernelSpec.specFile),t.push(s),this.connectionFinderMapping.set(s.id,o)})}),this._finders.filter(o=>o.kind==="localKernelSpec").forEach(o=>{o.kernels.forEach(s=>{(s.kind==="startUsingLocalKernelSpec"||s.kind==="startUsingPythonInterpreter")&&s.kernelSpec.specFile&&r.has(s.kernelSpec.specFile)||(t.push(s),this.connectionFinderMapping.set(s.id,o))})});let i=this._finders.filter(o=>o.kind==="remote");for(let o of i){let s=o.kernels;s.forEach(a=>{this.connectionFinderMapping.set(a.id,o)}),t.push(...s)}return t}getFinderForConnection(t){return this.connectionFinderMapping.get(t.id)}get registered(){return this._finders}};cy=v([(0,BD.injectable)(),m(0,(0,BD.inject)(M))],cy);var an=k(N());var ai=require("vscode");var $D=class{constructor(e,t){this.asyncDisposables=e;this.disposables=t;this.executions=new WeakMap;this.kernelsByNotebook=new WeakMap;this.kernelsById=new Map;this.pendingDisposables=new Set;this._onDidRestartKernel=new ai.EventEmitter;this._onDidStartKernel=new ai.EventEmitter;this._onDidCreateKernel=new ai.EventEmitter;this._onDidDisposeKernel=new ai.EventEmitter;this._onKernelStatusChanged=new ai.EventEmitter;this.onKernelStatusChanged=this._onKernelStatusChanged.event;this.asyncDisposables.push(this),ai.workspace.onDidCloseNotebookDocument(r=>this.disposeOldKernel(r),this,t),t.push(this._onDidDisposeKernel),t.push(this._onDidRestartKernel),t.push(this._onKernelStatusChanged),t.push(this._onDidStartKernel),t.push(this._onDidCreateKernel)}get kernels(){let e=new Set;return ai.workspace.notebookDocuments.forEach(t=>{let r=this.get(t);r&&e.add(r)}),Array.from(e)}get onDidDisposeKernel(){return this._onDidDisposeKernel.event}get onDidRestartKernel(){return this._onDidRestartKernel.event}get onDidStartKernel(){return this._onDidStartKernel.event}get onDidCreateKernel(){return this._onDidCreateKernel.event}get(e){if(fn(e)){let t=ai.workspace.notebookDocuments.find(r=>r.uri.toString()===e.toString());return t?this.get(t):void 0}else return typeof e=="string"?this.kernelsById.get(e)?.kernel:this.kernelsByNotebook.get(e)?.kernel}getKernelExecution(e){return this.executions.get(e)}getInternal(e){return this.kernelsByNotebook.get(e)}async dispose(){p.ci("Disposing all kernels from kernel provider");let e=Array.from(this.pendingDisposables.values());this.pendingDisposables.clear(),await Promise.all(e),await Promise.all(this.kernels.map(t=>t.dispose()))}storeKernel(e,t,r){this.kernelsByNotebook.set(e,{options:t,kernel:r}),this.kernelsById.set(r.id,{options:t,kernel:r}),this._onDidCreateKernel.fire(r)}deleteMappingIfKernelIsDisposed(e){e.onDisposed(()=>{this.get(e.notebook)===e&&(this.kernelsByNotebook.delete(e.notebook),this.kernelsById.delete(e.id),p.debug(`Kernel got disposed, hence there is no longer a kernel associated with ${j(e.uri)}`)),this.pendingDisposables.delete(e)},this,this.disposables)}disposeOldKernel(e){let t=this.kernelsByNotebook.get(e);t&&(p.debug(`Disposing kernel associated with ${j(e.uri)}, isClosed=${e.isClosed}`),this.kernelsById.delete(t.kernel.id),this.pendingDisposables.add(t.kernel),t.kernel.dispose().catch(r=>p.warn("Failed to dispose old kernel",r)).finally(()=>this.pendingDisposables.delete(t.kernel)).catch(h)),this.kernelsByNotebook.delete(e)}handleServerRemoval(e){ai.workspace.notebookDocuments.forEach(t=>{let r=this.kernelsByNotebook.get(t);if(r){let i=r.options.metadata;(i.kind==="connectToLiveRemoteKernel"||i.kind==="startUsingRemoteKernelSpec")&&e.find(s=>s.id===i.serverProviderHandle.id&&s.handle===i.serverProviderHandle.handle)&&(this.kernelsByNotebook.delete(t),this.kernelsById.delete(r.kernel.id))}})}},qD=class{constructor(e,t){this.asyncDisposables=e;this.disposables=t;this.kernelsByUri=new Map;this.kernelsById=new Map;this.pendingDisposables=new Set;this._onDidRestartKernel=new ai.EventEmitter;this._onDidStartKernel=new ai.EventEmitter;this._onDidCreateKernel=new ai.EventEmitter;this._onDidDisposeKernel=new ai.EventEmitter;this._onKernelStatusChanged=new ai.EventEmitter;this.onKernelStatusChanged=this._onKernelStatusChanged.event;this.asyncDisposables.push(this),ai.workspace.onDidCloseNotebookDocument(r=>{p.debug(`Notebook document ${j(r.uri)} got closed`),this.disposeOldKernel(r.uri)},this,t),t.push(this._onDidDisposeKernel),t.push(this._onDidRestartKernel),t.push(this._onKernelStatusChanged),t.push(this._onDidStartKernel),t.push(this._onDidCreateKernel)}get kernels(){return Array.from(this.kernelsByUri.values()).map(e=>e.kernel)}get onDidDisposeKernel(){return this._onDidDisposeKernel.event}get onDidRestartKernel(){return this._onDidRestartKernel.event}get onDidStartKernel(){return this._onDidStartKernel.event}get onDidCreateKernel(){return this._onDidCreateKernel.event}get(e){return this.kernelsByUri.get(e.toString())?.kernel||this.kernelsById.get(e.toString())?.kernel}getInternal(e){return this.kernelsByUri.get(e.toString())}async dispose(){p.ci("Disposing all kernels from kernel provider");let e=Array.from(this.pendingDisposables.values());this.pendingDisposables.clear(),await Promise.all(e),await Promise.all(this.kernels.map(t=>t.dispose()))}storeKernel(e,t,r){this.kernelsByUri.set(e.toString(),{options:t,kernel:r}),this.kernelsById.set(r.id,{options:t,kernel:r}),this._onDidCreateKernel.fire(r)}deleteMappingIfKernelIsDisposed(e,t){t.onDisposed(()=>{this.get(e)===t&&(this.kernelsByUri.delete(e.toString()),this.kernelsById.delete(t.id),p.debug(`Kernel got disposed, hence there is no longer a kernel associated with ${j(e)}`)),this.pendingDisposables.delete(t)},this,this.disposables)}disposeOldKernel(e){let t=this.kernelsByUri.get(e.toString());t&&(p.ci(`Disposing kernel associated with ${j(e)}`),this.kernelsById.delete(t.kernel.id),this.pendingDisposables.add(t.kernel),t.kernel.dispose().catch(r=>p.warn("Failed to dispose old kernel",r)).finally(()=>this.pendingDisposables.delete(t.kernel)).catch(h)),this.kernelsByUri.delete(e.toString())}};var XK=k(Io()),Dr=require("vscode");var m8=k(gx());var YK="KERNEL_INFO",vue=1e3*60*60*24*2;async function p8(n,e,t){let r=[],i={banner:"",help_links:[],implementation:"",implementation_version:"",language_info:{name:"",version:""},protocol_version:"",status:"ok"};if(!n.kernel)return;n.kernel?.info&&(r.push(n.kernel.info),n.kernel.info.then(a=>d8(t,e,a)).catch(h));let o=n.kernel.requestKernelInfo().then(a=>a?.content);if(r.push(o),o.then(a=>d8(t,e,a)).catch(h),e.kind==="connectToLiveRemoteKernel"){let a=yue(t,e);a?r.push(Promise.resolve(a)):r.push(gi(5e3).then(()=>i))}let s=await Promise.race(r);return s===i?p.warn("Failed to Kernel info in a timely manner, defaulting to empty info!"):p.trace("Got Kernel info"),s}async function d8(n,e,t){if(!t||!_t(e))return;let r=n.get(YK,[]).filter(i=>Date.now()-i.age<vue).filter(i=>i.id!==e.id);r.push({id:e.id,age:Date.now(),info:t}),await n.update(YK,r)}function yue(n,e){if(_t(e))return n.get(YK,[]).find(t=>t.id===e.id)?.info}var HD=class extends xn{constructor(e){super("kernelpromisetimeout",y.interruptingKernelFailed,e)}};var GD="e976ee50-99ed-4aba-9b6b-9dcd5634d07d:IPyWidgets:";function XD(n){let e=typeof n=="string"?n:"";return typeof n!="string"&&"content"in n&&"code"in n.content&&typeof n.content.code=="string"&&(e=n.content.code),!e.includes(GD)}function ZD(n){return n.status==="dead"||n.status==="terminating"&&!n.disposed&&!n.disposing||!n.disposed&&!n.disposing&&(n.session?.status=="unknown"||n.session?.kernel?.status=="unknown")&&(n.session.kernel?.isDisposed||n.session.isDisposed)}function f8(n){return n.status==="dead"||n.status==="terminating"&&!n.isDisposed||!n.isDisposed&&(n.status=="unknown"||n.kernel?.status=="unknown")&&(n.kernel?.isDisposed||n.isDisposed)}var zD=class{constructor(e,t,r,i,o,s,a,l,c){this.id=e;this.uri=t;this.resourceUri=r;this.kernelConnectionMetadata=i;this.sessionCreator=o;this.kernelSettings=s;this.startupCodeProviders=a;this._creator=l;this.workspaceMemento=c;this.disposables=[];this._onIPyWidgetVersionResolved=new Dr.EventEmitter;this._onDidKernelSocketChange=new Dr.EventEmitter;this._onStatusChanged=new Dr.EventEmitter;this._onRestarted=new Dr.EventEmitter;this._onStarted=new Dr.EventEmitter;this._onDisposed=new Dr.EventEmitter;this.hookedSessionForEvents=new WeakSet;this.hooks=new Map;this.startCancellation=new Dr.CancellationTokenSource;this.startupUI=new Jt(!0);this.disposables.push(this._onStatusChanged),this.disposables.push(this._onRestarted),this.disposables.push(this._onStarted),this.disposables.push(this._onDisposed),this.disposables.push(this._onIPyWidgetVersionResolved),this.disposables.push(this._onDidKernelSocketChange),Qi(this.resourceUri,{kernelConnection:this.kernelConnectionMetadata,actionSource:this.creator,disableUI:this.startupUI.disableUI}).catch(h),this.startupUI.onDidChangeDisableUI(()=>{this.startupUI.disableUI||Qi(this.resourceUri,{disableUI:!1}).catch(h)},this.disposables)}get ipywidgetsVersion(){return this._ipywidgetsVersion}get onIPyWidgetVersionResolved(){return this._onIPyWidgetVersionResolved.event}get onStatusChanged(){return this._onStatusChanged.event}get onRestarted(){return this._onRestarted.event}get onStarted(){return this._onStarted.event}get onDisposed(){return this._onDisposed.event}get creator(){return this._creator}get startedAtLeastOnce(){return this._startedAtLeastOnce}get info(){return this._info}get status(){return this._jupyterSessionPromise&&!this._session?"starting":this._session?.status??(this.isKernelDead?"dead":"unknown")}get disposed(){return this._disposed===!0||this._session?.isDisposed===!0}get disposing(){return this._disposing===!0}get onDidKernelSocketChange(){return this._onDidKernelSocketChange.event}get session(){return this._session}get restarting(){return this._restartPromise||Promise.resolve()}addHook(e,t,r,i){let o=this.hooks.get(e)||new Set;this.hooks.set(e,o),t=r?t.bind(r):t,o.add(t);let s={dispose:()=>{o.delete(t)}};return i&&i.push(s),s}async start(e){return this.startCancellation.token.isCancellationRequested&&(this.startCancellation.dispose(),this.startCancellation=new Dr.CancellationTokenSource),this.startJupyterSession(e)}async interrupt(){let e=Promise.all(Array.from(this.hooks.get("willInterrupt")||new Set).map(r=>r()));p.info(`Interrupt requested ${j(this.resourceUri||this.uri)}`);let t;try{let r=this._jupyterSessionPromise?await this._jupyterSessionPromise.catch(()=>{}):void 0;p.info("Interrupt kernel execution"),r?(t=this._interruptPromise?await this._interruptPromise:await(this._interruptPromise=this.interruptExecution(r,e)),this._interruptPromise=void 0):(p.info("No kernel session to interrupt"),this._interruptPromise=void 0,t="success")}finally{await Promise.all(Array.from(this.hooks.get("interruptCompleted")||new Set).map(r=>r())).catch(h)}if(p.info(`Interrupt requested & sent for ${j(this.uri)} in notebookEditor.`),t==="timeout"){let r=y.restartKernelAfterInterruptMessage(it(this.kernelConnectionMetadata)),i=y.restartKernelMessageYes;await Dr.window.showInformationMessage(r,{modal:!0},i)===i&&await this.restart()}}async dispose(){if(p.info(`Dispose Kernel '${j(this.uri)}' associated with '${j(this.resourceUri)}'`),this._disposing=!0,this.disposingPromise)return this.disposingPromise;this._ignoreJupyterSessionDisposedErrors=!0,this.startCancellation.cancel();let e=async()=>{let t=[];t.push(Promise.all(Array.from(this.hooks.get("willCancel")||new Set).map(r=>r())).then(h).catch(h)),this._session=this._session?this._session:this._jupyterSessionPromise?await this._jupyterSessionPromise.catch(()=>{}):void 0,this._jupyterSessionPromise=void 0,this._session&&(t.push(Ss(this._session,this.disposables)),this._session=void 0),this._disposed=!0,this._onDisposed.fire(),this._onStatusChanged.fire("dead");try{await Promise.all(t)}finally{this.startCancellation.dispose(),z(this.disposables)}};this.disposingPromise=e(),await this.disposingPromise}async restart(){try{let e=$i(this.resourceUri);p.info(`Restart requested ${j(this.uri)}`),await Promise.all(Array.from(this.hooks.get("willRestart")||new Set).map(r=>r(this._jupyterSessionPromise))),this.startCancellation.cancel(),this.startCancellation.dispose();let t=new Ue;try{let r=this._jupyterSessionPromise?await this._jupyterSessionPromise.catch(()=>{}):void 0;r?(this._restartPromise||(this._restartPromise=r.restart(),this._restartPromise.finally(()=>this._restartPromise=void 0).catch(h)),await this._restartPromise,this.startCancellation=new Dr.CancellationTokenSource):await this.start(new Jt(!1)),Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_RESTART",{duration:t.elapsedTime},{resourceType:e})}catch(r){p.error(`Restart failed ${j(this.uri)}`,r),this._ignoreJupyterSessionDisposedErrors=!0;let i=this._session;throw this._session=void 0,this._jupyterSessionPromise=void 0,Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_RESTART",{duration:t.elapsedTime},void 0,r),i&&await Ss(i,this.disposables),this._ignoreJupyterSessionDisposedErrors=!1,r}await this.initializeAfterStart(this._session),this._onRestarted.fire()}catch(e){throw p.error(`Failed to restart kernel ${j(this.uri)}`,e),e}finally{Promise.all(Array.from(this.hooks.get("restartCompleted")||new Set).map(e=>e())).catch(h)}}async startJupyterSession(e=new Jt(!1)){if(this._startedAtLeastOnce=!0,e.disableUI||(this.startupUI.disableUI=!1),e.onDidChangeDisableUI(()=>{!e.disableUI&&this.startupUI.disableUI&&(this.startupUI.disableUI=!1)},this.disposables),this.startupUI.disableUI&&this.startupUI.onDidChangeDisableUI(()=>{this.disposing||this.disposed||this.startupUI.disableUI||Fs(this.resourceUri,this.kernelConnectionMetadata).catch(h)},this,this.disposables),this.disposing)throw new Dr.CancellationError;if(vn.throwIfCanceled(this.startCancellation.token),!this._jupyterSessionPromise){let t=new Ue;this._jupyterSessionPromise=this.createJupyterSession();try{let r=await this._jupyterSessionPromise;return Pt(this.resourceUri,"DS_INTERNAL.PERCEIVED_JUPYTER_STARTUP_NOTEBOOK",{duration:t.elapsedTime}),r}catch(r){throw p.ci(`Failed to create Jupyter Session in Kernel.startNotebook for ${j(this.uri)}`),this.startCancellation.cancel(),this._jupyterSessionPromise=void 0,r}}return this._jupyterSessionPromise}async interruptExecution(e,t){let r=re(),i=new Ue,o=[],s=c=>{(c==="restarting"||c==="autorestarting")&&(p.warn("Kernel restarting during interrupt"),r.resolve(!0))},a=(c,u)=>s(u);return e.statusChanged.connect(a),o.push(new Dr.Disposable(()=>Xn(()=>e.statusChanged.disconnect(a)))),e&&e.kernel&&(p.info(`Interrupting kernel: ${e.kernel.name}`),await nh(this.kernelSettings.interruptTimeout,new HD(this.kernelConnectionMetadata),e.kernel.interrupt()).catch(c=>{p.warn(`Error during interrupt: ${c}`),r.resolve(!0)})),(async()=>{let c=re();this.status==="busy"&&(this.onDisposed(()=>c.resolve("dead"),this,o),this.onStatusChanged(()=>this.status==="dead"?c.resolve("dead"):void 0,this,o));try{return await fr(this.kernelSettings.interruptTimeout,"timeout",t.then(()=>"success"),r.promise.then(()=>"restart"),c.promise)}catch(u){if(r.completed)return"restart";throw Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_INTERRUPT",{duration:i.elapsedTime},void 0,u),u}finally{z(o)}})().then(c=>(Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_INTERRUPT",{duration:i.elapsedTime},{result:c}),c))}async createJupyterSession(){let e=Dr.workspace.notebookDocuments.find(i=>i.uri.toString()===this.uri.toString()),t=e?Pn(e)?.jupyterSessionTelemetry():void 0;if(await Qi(this.resourceUri,{kernelConnection:this.kernelConnectionMetadata,actionSource:this.creator,userExecutedCell:!this.startupUI.disableUI}),t?.stop(),this.disposing)throw new Dr.CancellationError;vn.throwIfCanceled(this.startCancellation.token);let r=[];try{p.info(`Starting Kernel ${Iue(this,this.startupUI)}`),this.createProgressIndicator(r),this.isKernelDead=!1,this._onStatusChanged.fire("starting");let i=await this.sessionCreator.create({resource:this.resourceUri,ui:this.startupUI,kernelConnection:this.kernelConnectionMetadata,token:this.startCancellation.token,creator:this.creator});if(this.disposing)throw new Dr.CancellationError;if(vn.throwIfCanceled(this.startCancellation.token),await this.initializeAfterStart(i),this.disposing)throw new Dr.CancellationError;return this.sendKernelStartedTelemetry(),this._session=i,this._onStarted.fire(),p.info("Kernel successfully started"),i}catch(i){if(this.startupUI.disableUI?p.trace(`failed to create IJupyterKernelConnectionSession in kernel, UI Disabled = ${this.startupUI.disableUI}`,i):!this.startCancellation.token&&!sr(i)&&p.error(`failed to create IJupyterKernelConnectionSession in kernel, UI Disabled = ${this.startupUI.disableUI}`,i),vn.throwIfCanceled(this.startCancellation.token),i instanceof vs)throw i;let o=y.sessionStartFailedWithKernel(it(this.kernelConnectionMetadata));throw rn.from(o+" "+("message"in i?i.message:i.toString()),i)}finally{z(r)}}sendKernelStartedTelemetry(){this.uiWasDisabledWhenKernelStartupTelemetryWasLastSent&&this.uiWasDisabledWhenKernelStartupTelemetryWasLastSent===this.startupUI.disableUI||this.startTelemetrySent&&!this.startupUI.disableUI||(this.uiWasDisabledWhenKernelStartupTelemetryWasLastSent=this.startupUI.disableUI===!0,this.startTelemetrySent=!0,Pt(this.resourceUri,"DATASCIENCE.NOTEBOOK_START",void 0,{disableUI:this.startupUI.disableUI}))}createProgressIndicator(e){let t=st.createProgressReporter(this.resourceUri,y.connectingToKernel(it(this.kernelConnectionMetadata)),this.startupUI.disableUI);e.push(t),this.startupUI.disableUI&&this.startupUI.onDidChangeDisableUI(()=>{this.disposing||this.disposed||this.startupUI.disableUI||t.show&&t.show()},this,e)}async initializeAfterStart(e){let t=Dr.workspace.notebookDocuments.find(o=>o.uri.toString()===this.uri.toString()),r=Pn(t),i=t?r?.postKernelStartup():void 0;try{if(await Promise.all(Array.from(this.hooks.get("didStart")||new Set).map(a=>a(e,this.startCancellation.token).catch(h))),p.trace(`Started running kernel initialization for ${j(this.uri)}`),!e){p.trace("Not running kernel initialization");return}if(!this.hookedSessionForEvents.has(e)){this.hookedSessionForEvents.add(e),e.onDidKernelSocketChange(l=>this._onDidKernelSocketChange.fire(l)),e.onDidDispose(()=>{if(p.ci(`Kernel got disposed as a result of session.onDisposed (1) ${j(this.resourceUri||this.uri)}`),!this._ignoreJupyterSessionDisposedErrors){p.info(`Kernel got disposed as a result of session.onDisposed ${j(this.resourceUri||this.uri)} & _ignoreJupyterSessionDisposedErrors = false.`);let l=this._session===e;this._jupyterSessionPromise=void 0,this._session=void 0,l&&(this.isKernelDead=!0,this._onStatusChanged.fire("dead"))}});let a=(l,c)=>this._onStatusChanged.fire(c);e.statusChanged.connect(a),this.disposables.push(new Dr.Disposable(()=>Xn(()=>e.statusChanged.disconnect(a))))}if(e.kernel?.registerCommTarget(je.DefaultCommTarget,h),this.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel")this.determineVersionOfIPyWidgets(e).catch(a=>p.error("Failed to determine IPyWidget version",a)),this.gatherInternalStartupCode().then(a=>this.executeSilently(e,a,{traceErrors:!0,traceErrorsMessage:"Error executing jupyter extension internal startup code"})).catch(a=>p.error("Failed to execute internal startup code",a));else{await this.determineVersionOfIPyWidgets(e);let a=await this.gatherInternalStartupCode();await this.executeSilently(e,a,{traceErrors:!0,traceErrorsMessage:"Error executing jupyter extension internal startup code"}),await this.executeSilently(e,this.getUserStartupCommands(),{traceErrors:!1})}i?.stop();let o=r?.kernelInfo();try{p.debug("Requesting Kernel info"),this._info=await p8(e,this.kernelConnectionMetadata,this.workspaceMemento)}catch(a){p.warn("Failed to request KernelInfo",a)}o?.stop();let s=r?.kernelIdle();this.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"&&(p.trace("End running kernel initialization, now waiting for idle"),await e.waitForIdle(this.kernelSettings.launchTimeout,this.startCancellation.token),p.trace("End running kernel initialization, session is idle")),s?.stop()}finally{i?.stop()}}async determineVersionOfIPyWidgets(e){if(!dt(this.kernelConnectionMetadata)){this._ipywidgetsVersion==dS,this._onIPyWidgetVersionResolved.fire(dS);return}let t=async()=>{let r=m8.default`
try:
import ipywidgets as _VSCODE_ipywidgets
print("${GD}" + _VSCODE_ipywidgets.__version__)
del _VSCODE_ipywidgets
except:
pass
`,i=await this.executeSilently(e,[r]).catch(o=>p.error("Failed to determine version of IPyWidgets",o));if(Array.isArray(i)){let o=i.some(l=>(l.text||"")?.toString().includes(`${GD}8.`)),s=i.some(l=>(l.text||"")?.toString().includes(`${GD}7.`)),a=this._ipywidgetsVersion=s?7:o?8:void 0;p.trace(`Determined IPyWidgets Version as ${a}`),this._ipywidgetsVersion==a,this._onIPyWidgetVersionResolved.fire(a)}else p.warn("Failed to determine IPyKernel Version",JSON.stringify(i))};if(await t(),!this._ipywidgetsVersion&&this.session?.kernel){let r=(i,o)=>{if(o.direction==="send")return;let s=o.msg;s.content&&"data"in s.content&&s.content.data&&(s.content.data[Ui]||"target_name"in s.content&&s.content.target_name===je.DefaultCommTarget)&&(this._ipywidgetsVersion||(t().catch(h),this.session?.kernel&&this.session.kernel.anyMessage.disconnect(r,this)))};this.session.kernel.anyMessage.connect(r,this)}}async gatherInternalStartupCode(){let e=[],t=await Promise.all(this.startupCodeProviders.sort((r,i)=>i.priority-r.priority).map(r=>r.getCode(this)));for(let r of t)e.push(...r);if(dt(this.kernelConnectionMetadata)&&this.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"){let r=ke(this.resourceUri);r&&e.push(`__vsc_ipynb_file__ = "${r.replace(/\\/g,"\\\\")}"`),this.kernelSettings.enableExtendedPythonKernelCompletions||e.push(Xf.DisableJedi),e.push(...bue(this.getMatplotLibInitializeCode(),"Failed to initialize matplotlib startup code. Matplotlib might be missing."))}return e}getMatplotLibInitializeCode(){let e=[];if(this.kernelSettings.themeMatplotlibPlots){p.ci(`Initialize config for plots for ${j(this.resourceUri||this.uri)}`);let t=Xf.MatplotLibInit;p.trace(`Initialize matplotlib for ${j(this.resourceUri||this.uri)}`),e.push(...Oe(t,{trim:!1}));let r=Dr.window.activeColorTheme.kind===Dr.ColorThemeKind.Dark;e.push(r?"matplotlib.style.use('dark_background')":`matplotlib.rcParams.update(${je.MatplotLibDefaultParams})`)}return e}getUserStartupCommands(){let e=this.kernelSettings.runStartupCommands;if(Array.isArray(e)&&(e=e.join(`
`)),e){let t=e.replace(/\\n/g,`
`);return Oe(t,{trim:!1})}return[]}async executeSilently(e,t,r){if(t.join("").trim().length!==0){if(!e.kernel){p.trace(`Not executing startup as there is no session, code: ${t}`);return}return pn(e.kernel,t.join(`
`),r)}}},QD=class extends zD{get creator(){return"3rdPartyExtension"}constructor(e,t,r,i,o,s,a){super(`3rdPartyKernel_${(0,XK.default)()}`,e,t,r,i,o,s,"3rdPartyExtension",a)}},YD=class extends zD{constructor(t,r,i,o,s,a,l,c){super((0,XK.default)(),r.uri,t,i,o,s,l,"jupyterExtension",c);this.notebook=r;this.controller=a}get creator(){return"jupyterExtension"}};function bue(n,e){return!n||n.length===0||(n=n.map(t=>` ${t}`),n.unshift("try:"),n.push("except:",` print('${e}')`)),n}function e_(n){if(n.length>0){let e=n[0].data;if(e&&e.hasOwnProperty("text/plain"))return Is(e["text/plain"]);if(n[0].output_type==="stream"){let t=n[0];return Is(t.text)}}}function Iue(n,e){let t=n.kernelConnectionMetadata.interpreter,r=[];if(t){r.push(`Python Path: ${j(t.uri)}`),r.push(t?Ve(t):"");let i=Ji(t);i&&r.push(`${i.major}.${i.minor}.${i.micro}`)}else(n.kernelConnectionMetadata.kind==="startUsingLocalKernelSpec"||n.kernelConnectionMetadata.kind==="startUsingRemoteKernelSpec")&&r.push(n.kernelConnectionMetadata.kernelSpec.display_name);return`(${r.filter(i=>i).join(", ")}) for '${j(n.uri)}' (disableUI=${e.disableUI})`}function ZK(n,e){return{get enableExtendedPythonKernelCompletions(){return n.getSettings(e).enableExtendedPythonKernelCompletions},get interruptTimeout(){return n.getSettings(e).jupyterInterruptTimeout},get launchTimeout(){return n.getSettings(e).jupyterLaunchTimeout},get runStartupCommands(){return n.getSettings(e).runStartupCommands},get themeMatplotlibPlots(){return n.getSettings(e).themeMatplotlibPlots}}}var Gm=require("vscode");var tO=require("vscode");var eO=k(zA()),Sr=require("vscode");var dy=new WeakMap;function Zc(n){if(n.parent_header&&"msg_id"in n.parent_header)return n.parent_header.msg_id}var zd=class zd{constructor(e,t,r,i,o,s,a,l){this.cell=e;this.controller=t;this.context=r;this.formatters=i;this.kernel=o;this.request=s;this._onErrorHandlingIOPubMessage=new Sr.EventEmitter;this.onErrorHandlingExecuteRequestIOPubMessage=this._onErrorHandlingIOPubMessage.event;this.outputsAreSpecificToAWidget=[];this.commIdsMappedToParentWidgetModel=new Map;this.disposables=[];this.prompts=new Set;this.ownedCommIds=new Set;this.commIdsMappedToWidgetOutputModels=new Set;this.ownedRequestMsgIds=new Set;this._completed=re();this.gotIdleIOPubStatus=!1;this.gotShellReply=!1;this.streamsReAttachedToExecutingCell=!1;this._completed.promise.catch(h),this.executeRequestMessageId=l,this.ownedRequestMsgIds.add(l),Sr.workspace.onDidChangeNotebookDocument(c=>{if(!Et(c.notebook))return;let u=c.cellChanges.find(({cell:d})=>d===this.cell);u&&u.outputs?.length===0&&(this.clearLastUsedStreamOutput(),this.cellHasErrorsInOutput=!1)},this,this.disposables),this.execution=a,this.kernel.anyMessage.connect(this.onKernelAnyMessage,this),this.kernel.iopubMessage.connect(this.onKernelIOPubMessage,this),s&&(s.onIOPub=()=>{this.cell.document.isClosed&&!this.completedExecution&&s.dispose()},s.onReply=c=>{if(this.cell.document.isClosed){s.dispose();return}this.handleReply(c)},s.onStdin=this.handleInputRequest.bind(this),s.done.finally(()=>{this.completedExecution=!0,this.endCellExecution()}).catch(h))}static{this.modelIdsOwnedByCells=new WeakMap}get hasErrorOutput(){return this.cellHasErrorsInOutput===!0}static{this.outputsOwnedByWidgetModel=new Map}get completed(){return this._completed.promise}dispose(){this.disposed||(this.disposed=!0,ut(this.cell,"Execution Message Handler disposed"),z(this.disposables),this.prompts.forEach(e=>e.dispose()),this.prompts.clear(),this.request&&this.clearLastUsedStreamOutput(),this.execution=void 0,this.kernel.anyMessage.disconnect(this.onKernelAnyMessage,this),this.kernel.iopubMessage.disconnect(this.onKernelIOPubMessage,this),this._onErrorHandlingIOPubMessage.dispose())}endCellExecution(){this.prompts.forEach(e=>e.dispose()),this.prompts.clear(),this.request&&this.clearLastUsedStreamOutput(),this.execution=void 0,this._completed.resolve()}onKernelAnyMessage(e,{direction:t,msg:r}){if(this.cell.document.isClosed)return this.endCellExecution();let i=require("@jupyterlab/services");if(!this.request&&t==="recv"){let o=Zc(r);i.KernelMessage.isStatusMsg(r)&&r.content.execution_state==="idle"&&o===this.executeRequestMessageId&&(this.gotIdleIOPubStatus=!0),r.channel==="shell"&&o===this.executeRequestMessageId&&(this.gotShellReply=!0);let s=i.KernelMessage.isStatusMsg(r)&&r.content.execution_state!=="idle"&&o!==this.executeRequestMessageId;typeof r.parent_header=="object"&&r.parent_header&&"msg_type"in r.parent_header&&r.parent_header.msg_type;let a=o?o!==this.executeRequestMessageId&&!s:!1,l=typeof r.parent_header=="object"&&r.parent_header&&"msg_type"in r.parent_header&&r.parent_header.msg_type==="interrupt_request",c=this.gotIdleIOPubStatus&&this.gotShellReply,u=["kernel_info_reply","execute_input","execute_reply"],d="msg_type"in r&&typeof r.msg_type=="string"&&u.includes(r.msg_type);if(!this.completedExecution&&c)return this.completedExecution=!0,this.endAbnormallyTimeout&&clearTimeout(this.endAbnormallyTimeout),this.endCellExecution();if(!this.completedExecution&&(d||a)){this.endAbnormallyTimeout&&clearTimeout(this.endAbnormallyTimeout),this.endAbnormallyTimeout=setTimeout(()=>(this.completedExecution=!0,this.endAbnormallyTimeout=void 0,this.endCellExecution()),l?1e3:100),this.disposables.push(new Sr.Disposable(()=>{clearTimeout(this.endAbnormallyTimeout),this.endAbnormallyTimeout=void 0}));return}}t!=="send"||!this.completedExecution||i.KernelMessage.isCommMsgMsg(r)&&this.ownedCommIds.has(r.content.comm_id)&&this.ownedRequestMsgIds.add(r.header.msg_id)}onKernelIOPubMessage(e,t){if(this.cell.document.isClosed)return this.endCellExecution();if(!(!t.parent_header||!("msg_id"in t.parent_header)||!this.ownedRequestMsgIds.has(t.parent_header.msg_id)||t.channel!=="iopub"))try{this.handleIOPub(t)}catch(r){p.error("Failed to handle iopub message as a result of some comm message",t,r),!this.completedExecution&&!this.cell.document.isClosed&&this._onErrorHandlingIOPubMessage.fire(r)}}clearLastUsedStreamOutput(){this.lastUsedStreamOutput=void 0}createTemporaryTask(){if(this.cell.document.isClosed)return;let e=dy.get(this.cell.notebook);return e||(this.previousResultsToRestore={...this.cell.executionSummary||{}},this.temporaryExecution=Pi.getOrCreate(this.cell,this.controller),this.temporaryExecution?.start(),this.previousResultsToRestore?.executionOrder&&this.temporaryExecution&&(this.temporaryExecution.executionOrder=this.previousResultsToRestore.executionOrder),this.temporaryExecution)}endTemporaryTask(){this.previousResultsToRestore?.executionOrder&&this.execution&&(this.execution.executionOrder=this.previousResultsToRestore.executionOrder),this.previousResultsToRestore&&this.temporaryExecution?(this.previousResultsToRestore.executionOrder&&(this.temporaryExecution.executionOrder=this.previousResultsToRestore.executionOrder),this.temporaryExecution.end(this.previousResultsToRestore.success,this.previousResultsToRestore.timing?.endTime)):this.temporaryExecution?.end(void 0),this.previousResultsToRestore=void 0,this.temporaryExecution=void 0}handleIOPub(e){this.startTime||(this.startTime=new Date().getTime(),this.execution?.start(this.startTime),p.debug(`Kernel acknowledged execution of cell ${this.cell.index} @ ${this.startTime}`));let t=require("@jupyterlab/services");if(t.KernelMessage.isCommOpenMsg(e))this.handleCommOpen(e);else if(t.KernelMessage.isExecuteResultMsg(e))this.handleExecuteResult(e);else if(t.KernelMessage.isExecuteInputMsg(e))this.handleExecuteInput(e);else if(t.KernelMessage.isStatusMsg(e)){let r=e;this.handleStatusMessage(r)}else t.KernelMessage.isStreamMsg(e)?this.handleStreamMessage(e):t.KernelMessage.isDisplayDataMsg(e)?this.handleDisplayData(e):t.KernelMessage.isUpdateDisplayDataMsg(e)?this.handleUpdateDisplayDataMessage(e):t.KernelMessage.isClearOutputMsg(e)?this.handleClearOutput(e):t.KernelMessage.isErrorMsg(e)?this.handleError(e):t.KernelMessage.isCommOpenMsg(e)||(t.KernelMessage.isCommMsgMsg(e)?this.handleCommMsg(e):t.KernelMessage.isCommCloseMsg(e)||p.warn(`Unknown message ${e.header.msg_type} : hasData=${"data"in e.content}`));"execution_count"in e.content&&typeof e.content.execution_count=="number"&&this.execution&&(this.execution.executionOrder=e.content.execution_count)}handleCommOpen(e){this.ownedCommIds.add(e.content.comm_id);let t=e.content.data?.state||void 0;e.content.target_name===je.DefaultCommTarget&&t&&t._model_module==="@jupyter-widgets/output"&&this.commIdsMappedToWidgetOutputModels.add(e.content.comm_id)}handleCommMsg(e){let t=e.content.data;if(!(!t||t.method!=="update"||typeof t.state!="object")){if("msg_id"in t.state&&typeof t.state.msg_id=="string"){let r="msg_id"in e.parent_header?e.parent_header:void 0;(this.ownedRequestMsgIds.has(e.content.comm_id)||r&&this.ownedRequestMsgIds.has(r.msg_id))&&(t.state.msg_id?this.outputsAreSpecificToAWidget.push({handlingCommId:e.content.comm_id,msgIdsToSwallow:t.state.msg_id}):this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].handlingCommId===e.content.comm_id&&this.outputsAreSpecificToAWidget.pop())}else if("children"in t.state&&Array.isArray(t.state.children)&&this.ownedCommIds.has(e.content.comm_id)){let r="IPY_MODEL_";t.state.children.forEach(i=>{if(typeof i!="string")return p.warn("Came across a comm update message a child that isn't a string",i);if(!i.startsWith(r))return p.warn(`Came across a comm update message a child that start start with ${r}`,i);let o=i.substring(r.length);this.ownedCommIds.add(o),this.commIdsMappedToParentWidgetModel.set(o,e.content.comm_id)})}}}clearOutputIfNecessary(e){return this.clearOutputOnNextUpdateToOutput?(ut(this.cell,"Clear cell output"),this.clearLastUsedStreamOutput(),e?.clearOutput().then(h,h),this.clearOutputOnNextUpdateToOutput=!1,{previousValueOfClearOutputOnNextUpdateToOutput:!0}):{previousValueOfClearOutputOnNextUpdateToOutput:!1}}addToCellData(e,t){if(e.data&&typeof e.data=="object"&&Ui in e.data){let l=e.data[Ui];if(l&&this.context.extensionMode===Sr.ExtensionMode.Test&&(l._vsc_test_cellIndex=this.cell.index),l&&"model_id"in l){let c=zd.modelIdsOwnedByCells.get(this.cell)||new Set;c.add(l.model_id),zd.modelIdsOwnedByCells.set(this.cell,c)}}let r=uo(e),i="transient"in e&&typeof e.transient=="object"&&e.transient&&"display_id"in e.transient&&typeof e.transient?.display_id=="string"?e.transient?.display_id:void 0;if(this.cell.document.isClosed)return;ut(this.cell,()=>`Update output with mimes ${r.items.map(l=>l.mime).toString()}`);let o=this.execution||this.createTemporaryTask();this.clearOutputIfNecessary(o),i&&Qr.trackOutputByDisplayId(this.cell,i,r,r.items),this.clearLastUsedStreamOutput(),ut(this.cell,"Append output in addToCellData");let s=!0,a=Zc(t);(this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow===a&&r.items.every(l=>this.canMimeTypeBeRenderedByWidgetManager(l))||this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow===a&&this.updateJupyterOutputWidgetWithOutput({commId:this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].handlingCommId,outputToAppend:r},o)?.outputAdded)&&(s=!1),s&&o?.appendOutput([r]).then(h,h),this.endTemporaryTask()}canMimeTypeBeRenderedByWidgetManager(e){let t=e.mime;if(t=="application/vnd.code.notebook.stderr"||t=="application/vnd.code.notebook.stdout"||t=="application/vnd.code.notebook.error")return!0;if(t===Ui){let r=JSON.parse(new TextDecoder().decode(e.data));return!(typeof r.model_id=="string"&&this.commIdsMappedToWidgetOutputModels.has(r.model_id))}return!t.startsWith("application/vnd")}updateJupyterOutputWidgetWithOutput(e,t){let r=this.outputsAreSpecificToAWidget.length?this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].handlingCommId:void 0,i="commId"in e?e.commId:r;if(!i)return;let o="outputToAppend"in e?e.outputToAppend:void 0,s=this.commIdsMappedToParentWidgetModel.get(i)||i,a=this.cell.notebook.getCells().find(E=>zd.modelIdsOwnedByCells.get(E)?.has(s));if(!a){p.warn(`Unable to find a cell that owns the model ${s}`);return}let l=a.outputs.find(E=>E.items.find(x=>{if(x.mime!==Ui)return!1;try{return JSON.parse(new TextDecoder().decode(x.data)).model_id===s}catch(A){p.warn("Failed to deserialize the widget data",A)}return!1}));if(!l)return;let c=zd.outputsOwnedByWidgetModel.get(s)||new Set,d=("clearOutput"in e?e.clearOutput:!1)||(this.outputsAreSpecificToAWidget.length?this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].clearOutputOnNextUpdateToOutput===!0:!1);this.outputsAreSpecificToAWidget.length&&(this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].clearOutputOnNextUpdateToOutput=!1);let f=a.outputs.slice().filter(E=>d?!c.has(E.id):!0),g=f.slice(0,f.indexOf(l)+1),b=f.slice(f.indexOf(l)+1);zd.outputsOwnedByWidgetModel.set(s,c),o&&c.add(o.id);let I=o?g.concat(o).concat(b):g.concat(b);return b.length===0&&o?t?.appendOutput(o,a).then(h,h):d&&!o&&b.length===0||t?.replaceOutput(I,a).then(h,h),{outputAdded:!0}}async handleInputRequest(e){if(e.content&&"prompt"in e.content){let t=new Sr.CancellationTokenSource;this.prompts.add(t);let r=e.content.password!==null&&e.content.password;await Sr.window.showInputBox({prompt:e.content.prompt?e.content.prompt.toString():"",ignoreFocusOut:!0,password:r},t.token).then(i=>{this.kernel.sendInputReply({value:i||"",status:"ok"})},h),this.prompts.delete(t)}}handleExecuteResult(e){this.addToCellData({output_type:"execute_result",data:e.content.data,metadata:e.content.metadata,transient:e.content.transient,execution_count:e.content.execution_count},e)}handleExecuteReply(e){let t=e.content;t.payload&&t.payload.forEach(r=>{r.source&&r.source==="set_next_input"&&"text"in r&&"replace"in r&&this.handleSetNextInput(r),r.data&&r.data.hasOwnProperty("text/plain")&&this.addToCellData({output_type:"stream",text:r.data["text/plain"].toString(),name:"stdout",metadata:{},execution_count:t.execution_count},e)})}handleSetNextInput(e){let t=new Sr.WorkspaceEdit;if(e.replace)t.replace(this.cell.document.uri,new Sr.Range(this.cell.document.lineAt(0).range.start,this.cell.document.lineAt(this.cell.document.lineCount-1).range.end),e.text);else{ut(this.cell,"Create new cell after current");let r=new Sr.NotebookCellData(Sr.NotebookCellKind.Code,e.text,this.cell.document.languageId);r.outputs=[],r.metadata={};let i=Sr.NotebookEdit.insertCells(this.cell.index+1,[r]);t.set(this.cell.notebook.uri,[i])}Sr.workspace.applyEdit(t).then(h,h)}handleExecuteInput(e){e.content.execution_count&&this.execution&&(this.execution.executionOrder=e.content.execution_count)}handleStatusMessage(e){ut(this.cell,`Kernel switching to ${e.content.execution_state}`)}handleStreamMessage(e){if(Zc(e)&&this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow==Zc(e))return;ut(this.cell,`Update streamed output, new output '${e.content.text.substring(0,100)}'`);let t=this.execution||this.createTemporaryTask(),r=e.content.name==="stdout"?Sr.NotebookCellOutputItem.stdout("").mime:Sr.NotebookCellOutputItem.stderr("").mime;!this.request&&!this.streamsReAttachedToExecutingCell&&!this.lastUsedStreamOutput&&this.cell.outputs.length&&this.cell.outputs[this.cell.outputs.length-1].items.length>=1&&this.cell.outputs[this.cell.outputs.length-1].items.every(o=>o.mime===r)&&(this.lastUsedStreamOutput={output:this.cell.outputs[0],stream:e.content.name}),this.streamsReAttachedToExecutingCell=!0;let{previousValueOfClearOutputOnNextUpdateToOutput:i}=this.clearOutputIfNecessary(t);if(this.lastUsedStreamOutput?.stream===e.content.name){let o=uo({output_type:"stream",name:e.content.name,text:e.content.text});ut(this.cell,`Append output items '${e.content.text.substring(0,100)}`),t?.appendOutputItems(o.items,this.lastUsedStreamOutput.output).then(h,h)}else if(i){let o=Is(e.content.text),s=uo({output_type:"stream",name:e.content.name,text:o});this.lastUsedStreamOutput={output:s,stream:e.content.name},ut(this.cell,`Replace output with '${o.substring(0,100)}'`),t?.replaceOutput([s]).then(h,h)}else{let o=gV(Is(e.content.text)),s=uo({output_type:"stream",name:e.content.name,text:o});this.lastUsedStreamOutput={output:s,stream:e.content.name},ut(this.cell,`Append new output '${o.substring(0,100)}'`),t?.appendOutput([s]).then(h,h)}this.endTemporaryTask()}handleDisplayData(e){let t={output_type:"display_data",data:QS(e.content.data),metadata:e.content.metadata,transient:e.content.transient};this.addToCellData(t,e)}handleClearOutput(e){if(this.outputsAreSpecificToAWidget.length&&this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].msgIdsToSwallow===Zc(e)){if(e.content.wait)this.outputsAreSpecificToAWidget.length&&(this.outputsAreSpecificToAWidget[this.outputsAreSpecificToAWidget.length-1].clearOutputOnNextUpdateToOutput=!0);else{let t=this.execution||this.createTemporaryTask();this.updateJupyterOutputWidgetWithOutput({clearOutput:!0},t),this.endTemporaryTask()}return}if(e.content.wait)this.clearOutputOnNextUpdateToOutput=!0;else{let t=this.execution||this.createTemporaryTask();this.clearLastUsedStreamOutput(),t?.clearOutput().then(h,h),this.endTemporaryTask()}}handleError(e){let t=e.content.traceback;p.ci(`Traceback for error ${t}`),this.formatters.forEach(i=>{t=i.format(this.cell,t)}),p.ci(`Traceback for error after formatting ${t}`);let r={output_type:"error",ename:e.content.ename,evalue:e.content.evalue,traceback:t};if(this.cell.notebook.notebookType!=="interactive"){let i=Pi.get(this.cell);i&&e.content.ename!=="KeyboardInterrupt"&&(i.errorInfo={message:`${e.content.ename}: ${e.content.evalue}`,location:tj(e.content.traceback,this.cell),uri:this.cell.document.uri,stack:e.content.traceback.join(`
`)})}this.addToCellData(r,e),this.cellHasErrorsInOutput=!0}handleReply(e){require("@jupyterlab/services").KernelMessage.isExecuteReplyMsg(e)&&(this.handleExecuteReply(e),"execution_count"in e.content&&typeof e.content.execution_count=="number"&&this.execution&&(this.execution.executionOrder=e.content.execution_count))}handleUpdateDisplayDataMessage(e){let t=e.content.transient.display_id;if(!t){p.warn("Update display data message received, but no display id",e.content);return}let r=Qr.getMappedOutput(this.cell.notebook,t);if(!r){p.trace("Update display data message received, but no output found to update",e.content);return}if(r.cell.document.isClosed){p.warn("Update display data message received, but output cell is closed",e.content);return}let i=XA(new Sr.NotebookCellOutput(r.outputItems,r.outputContainer.metadata)),o=uo({...i,data:e.content.data,metadata:e.content.metadata});if(r.outputItems.length===0&&o.items.length===0){p.trace("Update display data message received, but no output to update",e.content);return}let s=!1;if(r.outputItems.length===o.items.length){let l=!0;if((0,eO.default)(r.outputContainer.metadata||{},o.metadata||{})||(s=!0,l=!1),l){for(let c=0;c<r.outputItems.length;c++)if(!(0,eO.default)(r.outputItems[c],o.items[c])){l=!1;break}}if(l){p.trace("Update display data message received, but no output to update (data is the same)",e.content);return}}let a=this.execution||this.createTemporaryTask();if(ut(this.cell,`Replace output items in display data ${o.items.length}`),s){let l=r.cell.outputs.map(c=>{let u=XA(c);return u.output_type==="display_data"&&"transient"in u&&u.transient&&typeof u.transient=="object"&&"display_id"in u.transient&&typeof u.transient.display_id=="string"&&u.transient.display_id===t?o:c});a?.replaceOutput(l,r.cell).then(h,h),Qr.trackOutputByDisplayId(r.cell,t,o,o.items)}else a?.replaceOutputItems(o.items,r.outputContainer).then(h,h),Qr.trackOutputByDisplayId(r.cell,t,r.outputContainer,o.items);this.endTemporaryTask()}};v([Br()],zd.prototype,"handleReply",1);var tw=zd;var Qd=class extends Error{constructor(t){super(t.evalue||t.ename);this.ename=t.ename,this.evalue=t.evalue,this.traceback=t.traceback}};var t_=class{constructor(e,t){this.controller=e;this.requestListener=t}create(e,t,r,i){return rO.fromCell(e,t,r,this.controller,this.requestListener,i)}},rO=class n{constructor(e,t,r,i,o,s){this.cell=e;this.codeOverride=t;this.kernelConnection=r;this.controller=i;this.requestListener=o;this.resumeExecution=s;this.type="cell";this._result=re();this.cancelHandled=!1;this.disposables=[];if(tO.workspace.onDidCloseTextDocument(a=>{if(a===this.cell.document){p.info(`Disposing request as the cell (${this.cell.index}) was deleted ${j(this.cell.notebook.uri)}`);try{this.request?.dispose()}catch(l){p.error(`Error during cell execution dispose: ${l}`)}this.started&&!this._completed&&this.completedDueToCancellation()}},this,this.disposables),this.canExecuteCell())this.execution=Pi.getOrCreate(e,this.controller,!s?.msg_id),td.setCellState(e,2);else{let a=Pi.get(e);a&&(a.start(),a.end(void 0))}}get result(){return this._result.promise}get executionOrder(){return this._executionOrder}static fromCell(e,t,r,i,o,s){return new n(e,t,r,i,o,s)}async start(e){if(this.session=e,this.resumeExecution?.msg_id)return this.resume(e,this.resumeExecution);if(this.cancelHandled){ut(this.cell,"Not starting as it was cancelled");return}if(ut(this.cell,"Start execution"),p.ci(`Cell Exec contents ${this.cell.document.getText().substring(0,50)}...`),!this.canExecuteCell()){this.execution?.end(void 0),this.execution=void 0,this._result.resolve();return}return e.kind==="remoteJupyter"&&e.status==="unknown"&&(!e.kernel||e.kernel.isDisposed||e.isDisposed)?(this.execution?.start(),this.execution?.clearOutput().then(h,h),this.completedWithErrors(new dn),this.result):this.started?(ut(this.cell,"Cell has already been started yet CellExecution.Start invoked again"),p.error(`Cell has already been started yet CellExecution.Start invoked again ${this.cell.index}`),this.result):(this.started=!0,dy.set(this.cell.notebook,this.execution),td.setCellState(this.cell,3),this.execute(this.codeOverride||this.cell.document.getText().replace(/\r\n/g,`
`),e).catch(t=>this.completedWithErrors(t)).catch(h),this.result)}async resume(e,t){if(this.cancelHandled){ut(this.cell,"Not resuming as it was cancelled");return}if(!e.kernel)throw new Error("Kernel not available to resume execution");if(ut(this.cell,"Start resuming execution"),p.ci(`Cell Exec (resuming) contents ${this.cell.document.getText().substring(0,50)}...`),!this.canExecuteCell()){this.execution?.end(void 0),this.execution=void 0,this._result.resolve();return}return this.started?(p.error(`Cell has already been started yet CellExecution.resume invoked again ${this.cell.index}`),this.result):(this.started=!0,dy.set(this.cell.notebook,this.execution),this.execution?.start(t.startTime),t.executionCount&&this.execution&&(this.execution.executionOrder=t.executionCount),td.setCellState(this.cell,3),this.cellExecutionHandler=this.requestListener.registerListenerForResumingExecution(this.cell,{kernel:e.kernel,cellExecution:this.execution,msg_id:t.msg_id}),this.cellExecutionHandler.onErrorHandlingExecuteRequestIOPubMessage(r=>{p.error(`Cell (index = ${this.cell.index}) execution completed with errors (2).`,r),this.completedWithErrors(r.error)},this,this.disposables),this.cellExecutionHandler.completed.finally(()=>this.completedSuccessfully()).catch(h),this.result)}async cancel(e=!1){if(!this.cancelHandled){if(this.cancelRequested=!0,this.started&&!e&&this.execution?.started){ut(this.cell,"Cell is already running, waiting for it to finish or kernel to start"),await this.result.catch(h);return}this.cancelHandled||this._completed||(ut(this.cell,"Execution cancelled"),this.cancelHandled=!0,this.completedDueToCancellation(),this.dispose())}}dispose(){this.disposed||(this.disposed=!0,ut(this.cell,"Execution disposed"),z(this.disposables))}completedWithErrors(e,t,r=!0){if(!this.cancelHandled){if(!this.disposed&&!this.cancelRequested?p.warn("Cell completed with errors",e):p.warn(`Cell completed with errors (${this.disposed?"disposed":"cancelled"})`),ut(this.cell,"Completed with errors"),r){let i,o;e&&!(e instanceof qe)&&e.message?.includes("Canceled future for execute_request message before replies were done")&&this.session&&f8(this.session)&&(e=new dn),e&&(e instanceof qe?i=Qp(tO.workspace.workspaceFolders||[],e,it(this.kernelConnection),yh(this.kernelConnection.interpreter))?.message:i=e.message||e.name||e.stack),o=Dh(i||""),o&&this.execution?.appendOutput(o).then(h,h)}this.endCellTask("failed",t),ut(this.cell,"Completed with errors, & resolving"),this._result.reject(e)}}get isEmptyCodeCell(){return this.cell.document.getText().trim().length===0}completedSuccessfully(e){ut(this.cell,"Completed successfully");let t="success";this.endCellTask("success",e),ut(this.cell,`Completed successfully & resolving with status = ${t}`),this._result.resolve()}endCellTask(e,t=new Date().getTime()){if(!this._completed){if(this._completed=!0,this.isEmptyCodeCell)this.execution&&(this.execution.executionOrder=void 0),this.execution?.end(void 0);else if(e==="success"||e==="failed")this.endTime=t,this.execution?.end(e==="success",this.endTime);else{try{this.request?.dispose()}catch{}this.execution?.end(void 0)}dy.get(this.cell.notebook)===this.execution&&dy.set(this.cell.notebook,void 0),this._executionOrder=this.execution?.executionOrder,td.setCellState(this.cell,1),this.execution=void 0}}completedDueToCancellation(){ut(this.cell,"Completed due to cancellation"),this.endCellTask("cancelled"),ut(this.cell,"Cell cancelled & resolving"),this._result.resolve()}canExecuteCell(){return this.cell.document.languageId==="raw"?!1:!this.cell.document.isClosed}async execute(e,t){if(!t.kernel)throw new Error("No kernel available to execute code");if(ut(this.cell,"Send code for execution"),e.trim().length===0||this.cell.document.isClosed)return e.trim().length===0&&(this.execution?.start(this.resumeExecution?.startTime),this.execution?.clearOutput()?.then(h,h)),ut(this.cell,"Empty cell execution"),this.completedSuccessfully();let r={cellId:this.cell.document.uri.toString(),...Yu(this.cell).metadata},i=t.kernel;try{er.changeCellState(this.cell,3),p.trace(`Cell Index:${this.cell.index} sent to kernel`),this.request=i.requestExecute({code:e,silent:!1,stop_on_error:!1,allow_stdin:!0,store_history:!0},!1,r),this.request.done.then(h,h)}catch(o){return p.error(`Cell execution failed without request, for cell Index ${this.cell.index}`,o),this.completedWithErrors(o)}this.cellExecutionHandler=this.requestListener.registerListenerForExecution(this.cell,{kernel:i,cellExecution:this.execution,request:this.request}),this.cellExecutionHandler.onErrorHandlingExecuteRequestIOPubMessage(o=>{p.error(`Cell (index = ${this.cell.index}) execution completed with errors (2).`,o),this.completedWithErrors(o.error)},this,this.disposables);try{ut(this.cell,"Wait for jupyter execution");let o=await this.request.done,s=new Date().getTime();ut(this.cell,"Jupyter execution completed"),o.content.status==="error"?this.completedWithErrors(new Qd(o.content),s,!1):this.completedSuccessfully(s),ut(this.cell,"Executed successfully in executeCell")}catch(o){if(this.cancelHandled)return;!this.disposed&&!this.cancelRequested&&p.error("Error in waiting for cell to complete",o),ut(this.cell,"Some other execution error"),o&&o instanceof Error&&sr(o,!0)?this.completedWithErrors({message:o.message}):this.completedWithErrors(o)}}};var h8=require("vscode");var r_=class{constructor(e,t,r,i){this.controller=e;this.context=t;this.formatters=r;this.notebook=i;this.disposables=[];this.messageHandlers=new WeakMap;h8.workspace.onDidChangeNotebookDocument(o=>{o.notebook===this.notebook&&o.contentChanges.forEach(s=>s.removedCells.forEach(a=>this.messageHandlers.get(a)?.dispose()))},this,this.disposables)}dispose(){z(this.disposables),this.notebook&&this.notebook.getCells().forEach(e=>this.messageHandlers.get(e)?.dispose())}registerListenerForExecution(e,t){this.messageHandlers.get(e)?.dispose();let r=new tw(e,this.controller,this.context,this.formatters,t.kernel,t.request,t.cellExecution,t.request.msg.header.msg_id);return this.messageHandlers.set(e,r),r}registerListenerForResumingExecution(e,t){this.messageHandlers.get(e)?.dispose();let r=new tw(e,this.controller,this.context,this.formatters,t.kernel,void 0,t.cellExecution,t.msg_id);return this.messageHandlers.set(e,r),r}};var n_=require("vscode");function Jl(n,e,t){n!==Fe&&p.trace(`Execution Id:${e}. ${t}.`)}var g8=new Map,py=class n{constructor(e,t){this.code=e;this.extensionId=t;this.type="code";this._onDidEmitOutput=new n_.EventEmitter;this.onDidEmitOutput=this._onDidEmitOutput.event;this._onRequestSent=new n_.EventEmitter;this.onRequestSent=this._onRequestSent.event;this._onRequestAcknowledge=new n_.EventEmitter;this.onRequestAcknowledged=this._onRequestAcknowledge.event;this._done=re();this.cancelHandled=!1;this.disposables=[];let r=g8.get(t)||0;r+=1,g8.set(t,r),this.executionId=`${t}-${r}`,this.disposables.push(this._onDidEmitOutput)}get done(){return this._done.promise}get result(){return this._done.promise}static fromCode(e,t){return new n(e,t)}async start(e){if(this.session=e,this.cancelHandled){Jl(this.extensionId,this.executionId,"Not starting as it was cancelled");return}if(Jl(this.extensionId,this.executionId,"Start Code execution"),p.ci(`Code Exec contents ${this.code.substring(0,50)}...`),!e.kernel||e.kernel.isDisposed||e.isDisposed){this._done.reject(new dn);return}if(this.started)return Jl(this.extensionId,this.executionId,"Code has already been started yet CodeExecution.Start invoked again"),p.error(`Code has already been started yet CodeExecution.Start invoked again ${this.executionId}`),this.done;await this.execute(this.code.replace(/\r\n/g,`
`),e).catch(h)}async cancel(){if(!(this.cancelHandled||this._completed)){if(this.cancelRequested=!0,this.started){Jl(this.extensionId,this.executionId,"Code is already running, interrupting and waiting for it to finish or kernel to start");let e=this.session?.kernel;e&&this.extensionId!==Fe&&await e.interrupt().catch(h),this.request?.dispose(),await this.request?.done.catch(h)}this.cancelHandled||this._completed||(Jl(this.extensionId,this.executionId,"Execution cancelled"),this.cancelHandled=!0,this._done.resolve(),this.dispose())}}dispose(){this.disposed||(this.disposed=!0,this._completed||Jl(this.extensionId,this.executionId,"Execution disposed"),z(this.disposables))}async execute(e,t){if(!t.kernel){let i=new Error("No kernel available to execute code");throw this._done.resolve(),i}Jl(this.extensionId,this.executionId,"Send code for execution");let r=t.kernel;try{this.started=!0,this._onRequestSent.fire(),Jl(this.extensionId,this.executionId,"Execution Request Sent to Kernel"),this.request=aj(r,e,()=>this._onRequestAcknowledge.fire(),i=>this._onDidEmitOutput.fire(i)),this.request.done.then(h,h)}catch(i){p.error(`Code execution failed without request, for exec ${this.executionId}`,i),this._completed=!0,this._done.reject(i);return}try{let i=await this.request.done;this._completed=!0,i.content.status==="error"?(Jl(this.extensionId,this.executionId,"Executed with errors"),this._done.reject(new Qd(i.content))):(Jl(this.extensionId,this.executionId,"Executed successfully"),this._done.resolve())}catch(i){if(this._completed=!0,this.cancelHandled)return;!this.disposed&&!this.cancelRequested&&p.error(`Error in waiting for code ${this.executionId} to complete`,i),this._done.reject(i)}}};var i_=class{constructor(e,t,r,i){this.session=e;this.executionFactory=t;this.metadata=r;this.resourceUri=i;this.queueOfItemsToExecute=[];this.cancelledOrCompletedWithErrors=!1;this.startedRunningCells=!1;this.disposables=[]}get queueOfCellsToExecute(){return this.queueOfItemsToExecute.filter(e=>e.type==="cell").map(e=>e)}get isEmpty(){return this.queueOfItemsToExecute.length===0}get failed(){return this.cancelledOrCompletedWithErrors}get queue(){return this.queueOfCellsToExecute.map(e=>e.cell)}dispose(){this.disposables.forEach(e=>e.dispose()),this.lastCellExecution?.dispose()}queueCell(e,t){this.enqueue({cell:e,codeOverride:t})}queueCode(e,t,r){return this.enqueue({code:e,extensionId:t,token:r})}enqueue(e){let t;if("cell"in e){let{cell:r,codeOverride:i}=e,o=this.queueOfCellsToExecute.find(a=>a.cell===r);if(o)return ut(r,"Use existing cell execution"),o;let s=this.executionFactory.create(r,i,this.metadata);t=s,this.disposables.push(s),this.queueOfItemsToExecute.push(s),ut(r,"User queued cell for execution")}else{let{code:r,extensionId:i,token:o}=e,s=py.fromCode(r,i);t=s,this.disposables.push(s),this.queueOfItemsToExecute.push(s),this.disposables.push(sa(o.onCancellationRequested)(()=>s.cancel()))}return this.startExecutingCells(),t}resumeCell(e,t){if(this.queueOfCellsToExecute.find(o=>o.cell===e)){ut(e,"Use existing cell execution");return}let i=this.executionFactory.create(e,"",this.metadata,t);this.disposables.push(i),this.queueOfItemsToExecute.push(i),ut(e,"User queued cell for execution"),this.startExecutingCells()}async cancel(e){this.cancelledOrCompletedWithErrors=!0,p.debug("Cancel pending cells"),await Promise.all(this.queueOfItemsToExecute.map(t=>t.cancel(e))),this.lastCellExecution?.dispose(),this.queueOfItemsToExecute.splice(0,this.queueOfItemsToExecute.length)}async cancelQueuedCells(){this.cancelledOrCompletedWithErrors=!0,p.debug("Cancel pending cells"),await Promise.all(this.queueOfCellsToExecute.map(e=>e.cancel())),this.lastCellExecution?.type==="cell"&&this.lastCellExecution?.dispose(),this.queueOfItemsToExecute.push(...this.queueOfItemsToExecute.filter(e=>e.type==="code"))}async waitForCompletion(e){let t=e?this.queueOfCellsToExecute.filter(r=>e===r.cell):this.queueOfItemsToExecute;await Promise.all(t.map(r=>r.result))}startExecutingCells(){this.startedRunningCells||this.start().catch(h),this.startedRunningCells=!0}async start(){try{await this.executeQueuedCells()}catch(e){p.error("Failed to execute cells in CellExecutionQueue",e),this.cancelledOrCompletedWithErrors=!0,await this.cancelQueuedCells()}}async executeQueuedCells(){let e,t=await this.session;for(this.queueOfItemsToExecute.forEach(r=>r.type==="cell"&&ut(r.cell,"Ready to execute"));this.queueOfItemsToExecute.length;){this.lastCellExecution?.dispose();let r=this.queueOfItemsToExecute[0];this.lastCellExecution=r,r.type==="cell"&&ut(r.cell,"Before Execute individual cell");let i=!0;try{r.type==="cell"&&r.cell.notebook.isClosed?e=!0:r.type==="cell"&&this.cancelledOrCompletedWithErrors||(i=await r.start(t).then(()=>!0).catch(()=>!1))}finally{r.type==="cell"&&ut(r.cell,`After Execute individual cell ${i}`);let s=this.queueOfItemsToExecute.indexOf(r);s>=0&&this.queueOfItemsToExecute.splice(s,1),r.type==="cell"&&er.changeCellState(r.cell,1,r.executionOrder)}let o=!1;if(r.type==="cell"&&Yu(r.cell).metadata?.tags?.includes("raises-exception")&&(o=!0),e||this.cancelledOrCompletedWithErrors||!i&&!o){this.cancelledOrCompletedWithErrors=!0;let s=[];if(this.cancelledOrCompletedWithErrors&&s.push("cancellation or failure in execution"),e&&s.push("Notebook being closed"),typeof i=="number"&&!i&&s.push("failure in cell execution"),s.length===0&&s.push("an unknown reason"),this.queueOfCellsToExecute.length>0&&this.queueOfCellsToExecute.length===this.queueOfItemsToExecute.length){p.warn(`Cancel all remaining cells due to ${s.join(" or ")}`),await this.cancel();break}else if(this.queueOfCellsToExecute.length>0&&this.queueOfCellsToExecute.length!==this.queueOfItemsToExecute.length)p.warn(`Cancel all remaining cells due to ${s.join(" or ")}`),await this.cancelQueuedCells();else if(e){p.warn(`Cancel all remaining cells due to ${s.join(" or ")}`),await this.cancel();break}}if(t.status==="dead"||t.status==="terminating"){this.cancelledOrCompletedWithErrors=!0,p.warn("Cancel all remaining cells due to dead kernel"),await this.cancel();break}}}};var o_=class{constructor(e,t,r,i){this.kernel=e;this.notebook=i;this.disposables=[];this._visibleExecutionCount=0;this.documentExecutions=new WeakMap;this._onDidReceiveDisplayUpdate=new Gm.EventEmitter;this.onDidReceiveDisplayUpdate=this._onDidReceiveDisplayUpdate.event;this.hookedSesions=new WeakSet;let o=new r_(e.controller,t,r,i);this.disposables.push(o),this.executionFactory=new t_(e.controller,o),er.onDidChangeNotebookCellExecutionState(s=>{s.cell.notebook===e.notebook&&s.state===1&&s.cell.executionSummary?.executionOrder&&(this._visibleExecutionCount=Math.max(this._visibleExecutionCount,s.cell.executionSummary.executionOrder))}),e.onRestarted(()=>this._visibleExecutionCount=0,this,this.disposables),e.onStarted(()=>this._visibleExecutionCount=0,this,this.disposables),e.addHook("willInterrupt",this.onWillInterrupt,this,this.disposables),e.addHook("willCancel",this.onWillCancel,this,this.disposables),e.addHook("willRestart",s=>this.onWillRestart(s),this,this.disposables),e.onStatusChanged(this.hookupIOPubHandler,this,this.disposables),e.onRestarted(this.hookupIOPubHandler,this,this.disposables),this.hookupIOPubHandler()}get executionCount(){return this._visibleExecutionCount}hookupIOPubHandler(){let e=this.kernel.session;if(!e||this.hookedSesions.has(e))return;this.hookedSesions.add(e);let t=(r,i)=>{if(i.header.msg_type!=="update_display_data"&&i.header.msg_type!=="display_data")return;let o=i,s=o.content.transient?.display_id;if(!s||!uj(e,s))return;let a=uo({output_type:"display_data",data:o.content.data,metadata:o.content.metadata,transient:o.content.transient});this._onDidReceiveDisplayUpdate.fire(a)};e.iopubMessage.connect(t),this.disposables.push({dispose:()=>{e?.iopubMessage.disconnect(t)}})}get pendingCells(){return this.documentExecutions.get(this.notebook)?.queue||[]}async resumeCellExecution(e,t){if(ut(e,`NotebookKernelExecution.resumeCellExecution (start), ${j(e.notebook.uri)}`),e.kind==Gm.NotebookCellKind.Markup)return;await Fs(this.kernel.resourceUri,this.kernel.kernelConnectionMetadata),Pt(this.kernel.resourceUri,"DATASCIENCE.RESUME_EXECUTE_CELL");let r=this.kernel.start(new Jt(!1)),i=this.getOrCreateCellExecutionQueue(e.notebook,r);i.resumeCell(e,t);let o=await i.waitForCompletion(e).then(()=>!0).catch(()=>!1);ut(e,`NotebookKernelExecution.resumeCellExecution (completed), ${j(e.notebook.uri)}`),p.trace(`Cell ${e.index} executed ${o?"successfully":"with an error"}`)}async executeCell(e,t){ut(e,`NotebookKernelExecution.executeCell (1), ${j(e.notebook.uri)}`);let r=new Ue;if(e.kind==Gm.NotebookCellKind.Markup)return;ut(e,`NotebookKernelExecution.executeCell, ${j(e.notebook.uri)}`),await Fs(this.kernel.resourceUri,this.kernel.kernelConnectionMetadata);let i=this.kernel.start(new Jt(!1));await this.kernel.restarting,ut(e,`NotebookKernelExecution.executeCell (2), ${j(e.notebook.uri)}`);let o=this.getOrCreateCellExecutionQueue(e.notebook,i);o.queueCell(e,t);let s=!0;try{await o.waitForCompletion(e)}catch(a){throw s=!1,a}finally{ut(e,`NotebookKernelExecution.executeCell completed (3), ${j(e.notebook.uri)}`),p.trace(`Cell ${e.index} executed ${s?"successfully":"with an error"}`),Pt(this.kernel.resourceUri,"DATASCIENCE.EXECUTE_CELL",{duration:r.elapsedTime})}}async*executeCode(e,t,r,i){let o=new Ue;await Fs(this.kernel.resourceUri,this.kernel.kernelConnectionMetadata);let s=this.kernel.start(new Jt(!1));await this.kernel.restarting;let a=this.getOrCreateCellExecutionQueue(this.notebook,s),l;t===Fe?(l=py.fromCode(e,t),s.then(b=>l.start(b))):l=a.queueCode(e,t,i),t!==Fe&&p.trace(`Queue code ${l.executionId} from ${t} after ${o.elapsedTime}ms:
${e}`);let c=!1,u=[];l.result.finally(()=>{c=!0,!i.isCancellationRequested&&p.debug(`Execution of code ${l.executionId} completed in ${o.elapsedTime}ms`),t!==Fe&&Pt(this.kernel.resourceUri,"DATASCIENCE.EXECUTE_CODE",{duration:o.elapsedTime},{extensionId:t}),z(u)}).catch(h);let d=us(l.result),f=[],g=re();for(u.push(l.onRequestSent(()=>r.started.fire())),u.push(l.onRequestAcknowledged(()=>r.executionAcknowledged.fire())),l.onDidEmitOutput(b=>{f.push(b),g.resolve(),g=re()},this,u),i.onCancellationRequested(()=>{c||p.debug(`Code execution cancelled by extension ${t}`)},this,u);;){await Promise.race([g.promise,d.promise]),c&&(g=re());let b=this.kernel.session;for(;f.length;){let I=f.shift();b&&ik(t,b,I),yield I}if(d.completed)break}}executeHidden(e){return this.kernel.start().then(r=>r.kernel?pn(r.kernel,e):Promise.reject(new dn))}async onWillInterrupt(){let e=this.documentExecutions.get(this.notebook);!e&&this.kernel.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"||(p.info("Interrupt kernel execution"),e&&(await e.cancel(),await e.waitForCompletion().catch(h)))}async onWillCancel(){let e=this.documentExecutions.get(this.notebook);e&&await e.cancel(!0)}async onWillRestart(e){let t=this.documentExecutions.get(this.notebook),r=e?await e.catch(()=>{}):void 0,i=t?t.cancel(!0).then(()=>t.waitForCompletion().catch(h)):Promise.resolve();r||(p.info("No kernel session to interrupt"),await i)}getOrCreateCellExecutionQueue(e,t){let r=this.documentExecutions.get(e);if(r&&!r.isEmpty&&!r.failed)return r;let i=new i_(t,this.executionFactory,this.kernel.kernelConnectionMetadata,this.kernel.resourceUri);return this.disposables.push(i),Gm.workspace.onDidCloseNotebookDocument(async o=>{o===e&&(p.debug(`Cancel executions after closing notebook ${j(o.uri)}`),(!i.failed||!i.isEmpty)&&await i.cancel(!0))},this,this.disposables),this.documentExecutions.set(e,i),i}};var my=class extends $D{constructor(t,r,i,o,s,a,l,c,u){super(t,r);this.sessionCreator=i;this.configService=o;this.context=s;this.formatters=l;this.startupCodeProviders=c;this.workspaceStorage=u;r.push(a.onDidRemove(this.handleServerRemoval.bind(this)))}getOrCreate(t,r){let i=this.getInternal(t);if(i&&i.options.metadata.id===r.metadata.id)return i.kernel;this.disposeOldKernel(t);let o=t.notebookType===ft?r.resourceUri:t.uri,s=ZK(this.configService,o),a=t.uri.path.endsWith(".interactive")||r.resourceUri?.path.endsWith(".interactive")?ft:St,l=new YD(o,t,r.metadata,this.sessionCreator,s,r.controller,this.startupCodeProviders.getProviders(a),this.workspaceStorage);return l.onRestarted(()=>this._onDidRestartKernel.fire(l),this,this.disposables),l.onDisposed(()=>{this._onDidDisposeKernel.fire(l)},this,this.disposables),l.onStarted(()=>this._onDidStartKernel.fire(l),this,this.disposables),l.onStatusChanged(c=>this._onKernelStatusChanged.fire({kernel:l,status:c}),this,this.disposables),this.executions.set(l,new o_(l,this.context,this.formatters,t)),this.asyncDisposables.push(l),this.storeKernel(t,r,l),this.deleteMappingIfKernelIsDisposed(l),l}};my=v([(0,an.injectable)(),m(0,(0,an.inject)(No)),m(1,(0,an.inject)(M)),m(2,(0,an.inject)(zS)),m(3,(0,an.inject)(ie)),m(4,(0,an.inject)(et)),m(5,(0,an.inject)($t)),m(6,(0,an.multiInject)(qh)),m(7,(0,an.inject)(kc)),m(8,(0,an.inject)(We)),m(8,(0,an.named)(ei))],my);var fy=class extends qD{constructor(t,r,i,o,s,a){super(t,r);this.sessionCreator=i;this.configService=o;this.startupCodeProviders=s;this.workspaceStorage=a}getOrCreate(t,r){let i=this.getInternal(t);if(i&&i.options.metadata.id===r.metadata.id)return i.kernel;this.disposeOldKernel(t);let o=t,s=ZK(this.configService,o),a=o.path.endsWith(".interactive")?ft:St,l=new QD(t,o,r.metadata,this.sessionCreator,s,this.startupCodeProviders.getProviders(a),this.workspaceStorage);return l.onRestarted(()=>this._onDidRestartKernel.fire(l),this,this.disposables),l.onDisposed(()=>{this._onDidDisposeKernel.fire(l)},this,this.disposables),l.onStarted(()=>this._onDidStartKernel.fire(l),this,this.disposables),l.onStatusChanged(c=>this._onKernelStatusChanged.fire({kernel:l,status:c}),this,this.disposables),this.asyncDisposables.push(l),this.storeKernel(t,r,l),this.deleteMappingIfKernelIsDisposed(t,l),l}};fy=v([(0,an.injectable)(),m(0,(0,an.inject)(No)),m(1,(0,an.inject)(M)),m(2,(0,an.inject)(zS)),m(3,(0,an.inject)(ie)),m(4,(0,an.inject)(kc)),m(5,(0,an.inject)(We)),m(5,(0,an.named)(ei))],fy);var zm=k(N()),eu=require("vscode");var hy=class{constructor(e,t,r,i){this.extensionChecker=t;this.interpreterService=r;this.kernelFinder=i;this.refreshedOnceBefore=!1;this.disposables=[];e.push(this)}dispose(){z(this.disposables)}activate(){this.extensionChecker.isPythonExtensionInstalled?this.startRefreshWithPython():(this.startRefreshWithoutPython(),this.extensionChecker.onPythonExtensionInstallationStatusChanged(()=>{this.extensionChecker.isPythonExtensionInstalled&&this.startRefreshWithPython()},this,this.disposables))}startRefreshWithoutPython(){if(this.refreshedOnceBefore)return;this.refreshedOnceBefore=!0;let e=()=>{let t=Date.now().toString();p.debug(`Start refreshing Kernel Picker (${t})`);let r=eu.notebooks.createNotebookControllerDetectionTask(St),i=eu.notebooks.createNotebookControllerDetectionTask(ft);this.disposables.push(r),this.disposables.push(i),this.kernelFinder.onDidChangeStatus(()=>{this.kernelFinder.status==="idle"&&(p.debug(`End refreshing Kernel Picker (${t})`),r.dispose(),i.dispose())},this,this.disposables)};if(this.kernelFinder.status==="discovering")return e();this.kernelFinder.onDidChangeStatus(()=>{this.kernelFinder.status==="discovering"&&e()},this,this.disposables)}startRefreshWithPython(){if(this.refreshedOnceBefore)return;this.refreshedOnceBefore=!0;let e=!1;eu.window.onDidChangeActiveNotebookEditor(o=>{!e&&o&&Et(o.notebook)&&(e=!0,p.debug("Start refreshing Interpreter Kernel Picker"),this.interpreterService.refreshInterpreters().catch(h))},this,this.disposables),eu.workspace.onDidOpenNotebookDocument(o=>{!e&&Et(o)&&(e=!0,p.debug("Start refreshing Interpreter Kernel Picker"),this.interpreterService.refreshInterpreters().catch(h))},this,this.disposables);let t,r="",i=()=>(t&&!t.isDisposed||(r=Date.now().toString(),p.debug(`Start refreshing Kernel Picker (${r})`),t=new Wr(eu.notebooks.createNotebookControllerDetectionTask(St),eu.notebooks.createNotebookControllerDetectionTask(ft)),this.disposables.push(t)),t);this.kernelFinder.status==="idle"?(p.debug(`End refreshing Kernel Picker (${r})`),t?.dispose()):i(),this.kernelFinder.onDidChangeStatus(()=>{this.kernelFinder.status==="idle"?(p.debug(`End refreshing Kernel Picker (${r})`),t?.dispose()):i()},this,this.disposables)}};hy=v([(0,zm.injectable)(),m(0,(0,zm.inject)(M)),m(1,(0,zm.inject)(Be)),m(2,(0,zm.inject)(Xe)),m(3,(0,zm.inject)(kr))],hy);var v8=k(N());var gy=class{constructor(){this.providers=new Map}getProviders(e){return(this.providers.get(e)||[]).slice()}register(e,t){this.providers.set(t,this.providers.get(t)||[]),this.providers.get(t).push(e)}};gy=v([(0,v8.injectable)()],gy);var rw=k(N());var vy=class{constructor(e,t){this.kernelProvider=e;this.disposables=t}activate(){this.kernelProvider.onDidCreateKernel(e=>this.addOnStartHooks(e),this,this.disposables)}addOnStartHooks(e){e.addHook("didStart",async t=>{t&&await A7(t,e.resourceUri,e.kernelConnectionMetadata)},this,this.disposables)}};vy=v([(0,rw.injectable)(),m(0,(0,rw.inject)(De)),m(1,(0,rw.inject)(M))],vy);var nw=k(N());var y8=require("vscode");var yy=class{constructor(e,t){this.kernelProvider=e;this.disposables=[];this.restartProgress=new WeakMap;this.interruptProgress=new WeakMap;t.push(this)}dispose(){z(this.disposables)}activate(){this.kernelProvider.onDidCreateKernel(this.onDidCreateKernel,this,this.disposables),this.kernelProvider.onDidDisposeKernel(e=>{this.restartProgress.get(e)?.dispose(),this.interruptProgress.get(e)?.dispose()},this,this.disposables)}onDidCreateKernel(e){e.addHook("willRestart",async()=>{this.restartProgress.get(e)?.dispose();let t=st.createProgressReporter(e.resourceUri,y.restartingKernelStatus(`: ${it(e.kernelConnectionMetadata)}`));this.restartProgress.set(e,t)},this,this.disposables),e.addHook("restartCompleted",async()=>{this.restartProgress.get(e)?.dispose(),this.interruptProgress.get(e)?.dispose()},this,this.disposables),e.addHook("willInterrupt",async()=>{let t=new Wr,r=setTimeout(()=>{t.isDisposed||t.add(st.createProgressReporter(e.resourceUri,y.interruptKernelStatus(it(e.kernelConnectionMetadata))))},1e3);t.add(new y8.Disposable(()=>clearTimeout(r))),this.interruptProgress.set(e,t)},this,this.disposables),e.addHook("interruptCompleted",async()=>this.interruptProgress.get(e)?.dispose(),this,this.disposables)}};yy=v([(0,nw.injectable)(),m(0,(0,nw.inject)(De)),m(1,(0,nw.inject)(M))],yy);var ru=k(N()),ow=require("vscode");var ga=k(N()),iw=require("vscode");var Qo=require("vscode");var Sue=/python\s\d*.?\d*$/,nO="__old_vscode_kernelspecs",iO=class{constructor(e,t,r){this.fs=e;this.globalState=t;this.jupyterPaths=r;this.findKernelSpecsInPathCache=new Map;this.pathToKernelSpec=new Map;this.disposables=[];this.oldKernelSpecsFolder&&p.trace(`Old kernelSpecs (created by Jupyter Extension) stored in directory ${this.oldKernelSpecsFolder}`)}get oldKernelSpecsFolder(){return this._oldKernelSpecsFolder||this.globalState.get("OLD_KERNEL_SPECS_FOLDER__","")}set oldKernelSpecsFolder(e){this._oldKernelSpecsFolder=e,this.globalState.update("OLD_KERNEL_SPECS_FOLDER__",e).then(h,h)}clearCache(){this.pathToKernelSpec.clear(),this.findKernelSpecsInPathCache.clear()}dispose(){z(this.disposables)}async loadKernelSpec(e,t,r){if(e.fsPath.includes(nO))return;let i=cn(e);if(!this.pathToKernelSpec.has(i)){let o=this.loadKernelSpecImpl(e,t,r).then(async s=>{let a=await this.jupyterPaths.getKernelSpecRootPath(),l=s&&a&&Nn(s)&&s.specFile&&ah(Qo.Uri.file(s.specFile),a);if(s&&!l)return s;s?.specFile&&l&&this.deleteOldKernelSpec(s.specFile).catch(h),this.pathToKernelSpec.get(i)===o&&this.pathToKernelSpec.delete(i),this.cache=this.cache?.filter(c=>vi(c.kernelSpecFile,e))});this.pathToKernelSpec.set(i,o),o.finally(()=>{t.isCancellationRequested&&this.pathToKernelSpec.get(i)===o&&this.pathToKernelSpec.delete(i)}).catch(h)}return this.pathToKernelSpec.get(i)}async deleteOldKernelSpec(e){let t=Ce(nt(e)),r=Le(nt(nt(e)),nO);this.oldKernelSpecsFolder=r;let i=Le(r,t,Ce(e));await this.fs.createDirectory(Qo.Uri.file(nt(i))),await this.fs.copy(Qo.Uri.file(e),Qo.Uri.file(i)).catch(h),await this.fs.delete(Qo.Uri.file(e)),p.trace(`Old KernelSpec '${e}' deleted and backup stored in ${r}`)}async loadKernelSpecImpl(e,t,r){return Cue(e,this.fs,t,r)}async findKernelSpecsInPaths(e,t){let r=cn(e),i=this.findKernelSpecsInPathCache.get(r);if(i)return i;let o=(async()=>await this.fs.exists(e)?t.isCancellationRequested?[]:(await this.fs.searchLocal("**/kernel.json",e.fsPath,!0)).map(l=>zt(e,l)):[])();this.findKernelSpecsInPathCache.set(r,o);let s=t.onCancellationRequested(()=>{this.findKernelSpecsInPathCache.get(r)===o&&this.findKernelSpecsInPathCache.delete(r)});return o.finally(()=>{t.isCancellationRequested&&this.findKernelSpecsInPathCache.get(r)===o&&this.findKernelSpecsInPathCache.delete(r),s.dispose()}).catch(h),o.catch(a=>{this.findKernelSpecsInPathCache.get(r)===o&&this.findKernelSpecsInPathCache.delete(r),p.warn(`Failed to search for kernels in ${j(e)} with an error`,a)}),o}},by=class{constructor(e,t,r,i,o,s){this.fs=e;this.extensionChecker=t;this.memento=r;this.env=o;this.jupyterPaths=s;this.disposables=[];this._status="idle";this.promiseMonitor=new lo;this._onDidChangeStatus=new Qo.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this._onDidChangeKernels=new Qo.EventEmitter;this.onDidChangeKernels=this._onDidChangeKernels.event;this.timeouts=new Map;i.push(this),this.disposables.push(this.promiseMonitor),this.promiseMonitor.onStateChange(()=>{this.status=this.promiseMonitor.isComplete?"idle":"discovering"}),this.kernelSpecFinder=new iO(e,r,s),this.disposables.push(this.kernelSpecFinder),this.disposables.push(new Qo.Disposable(()=>z(Array.from(this.timeouts.values()))))}get status(){return this._status}set status(e){this._status!==e&&(this._status=e,this._onDidChangeStatus.fire())}clearCache(){this.kernelSpecFinder.clearCache()}async listKernelsFirstTimeFromMemento(e){let t=(async()=>{let r=this.memento.get(e,JSON.stringify({kernels:[],extensionVersion:""})),i=JSON.parse(r),o=[];i&&Array.isArray(i.kernels)&&i.extensionVersion===this.env.extensionVersion&&(o=i.kernels.map(a=>ws.fromJSON(a)));let s=[];return await Promise.all(o.map(async a=>{await this.isValidCachedKernel(a)&&s.push(a)})),s})();return this.promiseMonitor.push(t),t}writeToMementoCache(e,t){this.timeouts.get(t)?.dispose();let r=setTimeout(()=>{this.memento.update(t,JSON.stringify({kernels:e.map(i=>i.toJSON()),extensionVersion:this.env.extensionVersion}))},500);this.timeouts.set(t,{dispose:()=>Ft(clearTimeout)(r)})}async isValidCachedKernel(e){switch(e.kind){case"startUsingPythonInterpreter":return this.fs.exists(e.interpreter.uri);case"startUsingLocalKernelSpec":return(e.kernelSpec.specFile?this.fs.exists(Qo.Uri.file(e.kernelSpec.specFile)):Promise.resolve(!0)).then(r=>r&&e.interpreter?this.fs.exists(e.interpreter.uri):Promise.resolve(!0))}}};async function Cue(n,e,t,r){if(n.fsPath.includes(nO))return;let i;try{i=JSON.parse(await e.readFile(n))}catch(c){p.error(`Failed to parse kernelspec ${n}`,c);return}if(t.isCancellationRequested||(i.name=r?await rN(r):i.name,t.isCancellationRequested))return;if(!i.display_name.toLowerCase().match(Sue)&&i.language===ge&&i.argv.length>2){let c=i.argv.slice(1).map(u=>u.toLowerCase()).filter(u=>!["-m","ipykernel","ipykernel_launcher","-f","{connection_file}"].includes(u));c.length&&(i.name=`${i.name}.${c.join("#")}`)}i.metadata=i.metadata||{},i.metadata.vscode=i.metadata.vscode||{},i.metadata.vscode.originalSpecFile||(i.metadata.vscode.originalSpecFile=n.fsPath),i.metadata.vscode.originalDisplayName||(i.metadata.vscode.originalDisplayName=i.display_name),i.metadata.originalSpecFile&&(i.metadata.vscode.originalSpecFile=i.metadata.originalSpecFile,delete i.metadata.originalSpecFile);let s=new ed(i,n.fsPath,r?.uri.fsPath||i?.metadata?.interpreter?.path,Nn(i));s.name=i?.name||Ce(nt(n.fsPath));let a=r?.uri.fsPath||i?.metadata?.interpreter?.path,l=Vr(r);if(!(a&&!l&&!await e.exists(Qo.Uri.file(a))))return i.isRegisteredByVSC=Nn(i),s}function b8(){return`LOCAL_KERNEL_SPECS_CACHE_KEY_V_2023_2:${iw.env.appHost}:${iw.env.remoteName||""}`}var Yo=class extends by{constructor(t,r,i,o,s,a){super(t,i,o,s,a,r);this._kernels=new Map}activate(){this.listKernelsFirstTimeFromMemento(b8()).then(t=>{this._kernels.size===0&&t.length&&(t.forEach(r=>this._kernels.set(r.id,r)),this._onDidChangeKernels.fire())}).catch(h),this.refresh().then(h,h)}get kernels(){return Array.from(this._kernels.values())}dispose(){this._onDidChangeKernels.dispose()}async refresh(){this.clearCache(),await this.refreshData()}async refreshData(){let t=new iw.CancellationTokenSource;try{await this.listKernelSpecs(t.token)}finally{t.dispose()}}writeKernelsToMemento(){this.writeToMementoCache(Array.from(this._kernels.values()),b8())}async listKernelSpecs(t){let i=(async()=>{let o=await this.findKernelSpecs(t);if(t.isCancellationRequested)return[];let s=Array.from(this._kernels.values()).sort((u,d)=>u.id.localeCompare(d.id)),a=o.sort((u,d)=>u.id.localeCompare(d.id)),l=new Set(o.map(u=>u.id)),c=s.filter(u=>!l.has(u.id));return o.forEach(u=>this._kernels.set(u.id,u)),c.length&&(p.debug(`Local kernel spec connection deleted ${c.map(u=>`${u.kind}:'${u.id}'`)}`),c.forEach(u=>this._kernels.delete(u.id))),(s.length!==a.length||c.length||JSON.stringify(s)!==JSON.stringify(a))&&(this._onDidChangeKernels.fire(),this.writeKernelsToMemento()),o})();return this.promiseMonitor.push(i),i}async findKernelSpecs(t){let r=await this.jupyterPaths.getKernelSpecRootPaths(t);if(t.isCancellationRequested)return[];let i=await Promise.all(r.map(l=>this.kernelSpecFinder.findKernelSpecsInPaths(l,t)));if(t.isCancellationRequested)return[];let o=new Set,s=[],a=new Map;return await Promise.all(i.flat().map(async l=>{try{let c=await this.kernelSpecFinder.loadKernelSpec(l,t);if(!c||t.isCancellationRequested)return;if(AD(c,"local"),c.metadata?.originalSpecFile){if(o.has(c.metadata.originalSpecFile))return;o.add(c.metadata.originalSpecFile)}if(c.specFile){if(o.has(c.specFile))return;o.add(c.specFile)}let u=a.get(c.display_name),d=Zu.create({kernelSpec:c,interpreter:void 0,id:ki(c)});u&&u.executable!==c.executable?(s.push(d),Ys(d,this._kernels.get(d.id))||(this._kernels.set(d.id,d),this._onDidChangeKernels.fire(),this.writeKernelsToMemento())):u?p.warn(`Duplicate kernel found ${c.display_name} ${c.executable} in ${c.specFile}`):(s.push(d),a.set(c.display_name,c),Ys(d,this._kernels.get(d.id))||(this._kernels.set(d.id,d),this._onDidChangeKernels.fire(),this.writeKernelsToMemento()))}catch(c){p.error(`Failed to load kernelSpec for ${l}`,c);return}})),s}};v([dv(100)],Yo.prototype,"writeKernelsToMemento",1),Yo=v([(0,ga.injectable)(),m(0,(0,ga.inject)(lr)),m(1,(0,ga.inject)(Mr)),m(2,(0,ga.inject)(Be)),m(3,(0,ga.inject)(We)),m(3,(0,ga.named)(lt)),m(4,(0,ga.inject)(M)),m(5,(0,ga.inject)(Sl))],Yo);var wo=k(N()),I8=require("vscode");var Yd=Symbol("ITrustedKernelPaths");var Hn=require("vscode");function oO(){return`LOCAL_KERNEL_PYTHON_AND_RELATED_SPECS_CACHE_KEY_V_2023_3:${Hn.env.appHost}:${Hn.env.remoteName||""}`}async function wue(n,e,t,r,i){let o=await ia(n);if(!o){p.warn(`Failed to get sysPrefix for interpreter ${zr(n.id)}`);return}let s=Hn.Uri.file(Le(o,D7)),a=await t.getKernelSpecRootPaths(e);if(e.isCancellationRequested||a.some(d=>vi(d,s)))return;let l=await r.findKernelSpecsInPaths(s,e);if(e.isCancellationRequested)return;let c=new Set,u=new Map;await Promise.all(l.map(async d=>{try{let f=await r.loadKernelSpec(d,e,n);if(e.isCancellationRequested||!f)return;if(f.metadata?.originalSpecFile){if(c.has(f.metadata.originalSpecFile))return;c.add(f.metadata.originalSpecFile)}if(f.specFile){if(c.has(f.specFile))return;c.add(f.specFile)}let g=u.get(f.display_name);g&&g.executable!==f.executable?i.fire(f):g||(u.set(f.display_name,f),i.fire(f))}catch(f){p.error(`Failed to load kernel spec ${d}`,f)}}))}var s_=class extends Qt{constructor(t,r,i,o,s){super();this.interpreter=t;this.interpreterService=r;this.jupyterPaths=i;this.extensionChecker=o;this.kernelSpecFinder=s;this.cancelToken=new Hn.CancellationTokenSource;this._kernels=new Map;this._onDidChangeKernels=this._register(new Hn.EventEmitter);this.onDidChangeKernels=this._onDidChangeKernels.event;this.lastKnownInterpreterVersion=Ji(t),this.lastKnownInterpreterSysPrefix=yh(t),this.lastKnownEnvFolder=Pr(t)?.environment?.folderUri,this._register({dispose:()=>this.cancelToken.cancel()}),this._register(this.cancelToken),this._register(this.interpreterService.onDidChangeInterpreter(this.clearCacheWhenInterpretersChange,this)),this._register(this.interpreterService.onDidChangeInterpreters(this.clearCacheWhenInterpretersChange,this))}async listKernelSpecs(t){return this.extensionChecker.isPythonExtensionInstalled?!t&&this.kernelSpecPromise?this.kernelSpecPromise:(this.cancelToken.cancel(),this.cancelToken.dispose(),this.cancelToken=this._register(new Hn.CancellationTokenSource),this.kernelSpecPromise=this.listKernelSpecsImpl(),this.kernelSpecPromise.then(()=>{switch(this._kernels.size){case 0:p.trace(`No Kernels found in interpreter ${this.interpreter.id}`);break;case 1:break;default:p.trace(`Kernels for interpreter ${this.interpreter.id} are ${Array.from(this._kernels.keys()).join(", ")}`)}}),this.kernelSpecPromise):[]}clearCacheWhenInterpretersChange(){let t=Pr({id:this.interpreter.id});if(!t)return;let r=Ji(t),i=yh(t);(this.lastKnownEnvFolder?.fsPath!==t.environment?.folderUri?.fsPath||this.lastKnownInterpreterVersion?.sysVersion!==r?.sysVersion||Ve(this.interpreter)!==Ve(t)||this.lastKnownInterpreterSysPrefix!==i)&&(this.lastKnownInterpreterVersion=r,this.lastKnownInterpreterSysPrefix=i,this.listKernelSpecs(!0).catch(h))}async listKernelSpecsImpl(){let t=this.cancelToken.token;if(!yh(this.interpreter))return;p.trace(`Search for KernelSpecs in Interpreter ${zr(this.interpreter.uri)}`);let i=new Map,o=new Hn.EventEmitter,s=o.event(f=>{if(t.isCancellationRequested)return;if(f.language===ge&&(!f.env||Object.keys(f.env).length===0)&&XS(f)){p.trace(`Hiding default KernelSpec ${zr(f.argv[0])} for interpreter ${zr(f.interpreterPath)} (KernelSpec file ${zr(f.specFile)})`);return}let g=Om(f)?Ko.create({kernelSpec:f,interpreter:this.interpreter,id:ki(f,this.interpreter)}):Zu.create({kernelSpec:f,interpreter:this.interpreter,id:ki(f,this.interpreter)});g&&!this._kernels.has(g.id)&&(this._kernels.set(g.id,g),this._onDidChangeKernels.fire({added:[g],removed:[]})),g&&!i.has(g.id)&&i.set(g.id,g)}),[a]=await Promise.all([this.jupyterPaths.getKernelSpecTempRegistrationFolder(),wue(this.interpreter,t,this.jupyterPaths,this.kernelSpecFinder,o)]);if(o.dispose(),s.dispose(),t.isCancellationRequested)return;let c=await Ps(this.interpreter,a);if(t.isCancellationRequested)return;let u=Ko.create({kernelSpec:c,interpreter:this.interpreter,id:ki(c,this.interpreter)});this._kernels.has(u.id)||(this._kernels.set(u.id,u),this._onDidChangeKernels.fire({added:[u],removed:[]})),i.has(u.id)||i.set(u.id,u);let d=Array.from(this._kernels.keys()).filter(f=>!i.has(f)).map(f=>this._kernels.get(f));d.forEach(f=>this._kernels.delete(f.id)),this._onDidChangeKernels.fire({added:[],removed:d})}},a_=class n{constructor(e,t,r,i){this.interpreterService=e;this.kernelSpecsFromKnownLocations=t;this.extensionChecker=r;this.trustedKernels=i;this.kernelsPerInterpreter=new Map;this.disposables=[];this.cancelToken=new Hn.CancellationTokenSource;this.lastKnownGlobalPythonKernelSpecs=[];t.onDidChangeKernels(()=>{let o=this.lastKnownGlobalPythonKernelSpecs,s=this.listGlobalPythonKernelSpecs();if(o.length!==s.length||!Ys(o,s)){this.kernelSpecPromise=void 0;return}})}static{this.globalPythonKernelSpecsForWhichWeCouldNotFindInterpreterInfo=new Set}dispose(){z(this.disposables),this.cancelToken.dispose()}async listKernelSpecs(e){return this.extensionChecker.isPythonExtensionInstalled?!e&&this.kernelSpecPromise?this.kernelSpecPromise:(this.clear(),this.cancelToken=new Hn.CancellationTokenSource,this.kernelSpecPromise=this.listKernelSpecsImpl(),this.kernelSpecPromise):[]}clear(){this.kernelsPerInterpreter.clear(),this.cancelToken.cancel(),this.cancelToken.dispose(),this.kernelSpecPromise=void 0}async findMatchingInterpreter(e,t,r){let i=this.extensionChecker.isPythonExtensionInstalled?so():[],o=e&&Array.isArray(e.argv)&&e.argv.length>0?e.argv[0]:void 0,s=e.language||"",a=e.specFile?await at(e.specFile):"",l=!!Nn(e);if(e.language&&e.language!==ge){!l&&o&&e.specFile&&fD(o)&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:Ce(o)!==o,argv0:Ce(o),language:s,isCreatedByUs:l});return}let c=i.find(u=>e.metadata?.interpreter?.path&&Mo(Hn.Uri.file(e.metadata.interpreter.path),u.executable.uri)?(p.trace(`Kernel ${e.name} matches ${zr(u.id)} based on metadata.interpreter.`),!0):!1);if(c)return wi(c);if(o&&Ce(o)===o&&e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!1,argv0:Ce(o),language:s,isCreatedByUs:l}),o&&Ce(o)!==o){let u=Hn.Uri.file(o),d=i.find(f=>Mo(u,f.executable.uri)?(p.trace(`Kernel ${e.name} matches ${zr(f.id)} based on argv.`),!0):!1);if(d)return e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"found",language:s,isCreatedByUs:l}),wi(d);if(!e.specFile||this.trustedKernels.isTrusted(Hn.Uri.file(e.specFile))){let f=await this.interpreterService.getInterpreterDetails(u,r);if(r?.isCancellationRequested)return;if(f)return e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"foundViaGetEnvDetails",language:s,isCreatedByUs:l}),f;e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"notFound",language:s,isCreatedByUs:l})}else e.specFile&&!l&&R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:Ce(o),pythonEnvFound:"notTrusted",language:s,isCreatedByUs:l})}if(e.interpreterPath){let u=Hn.Uri.file(e.interpreterPath),d=i.find(f=>e.interpreterPath&&Mo(u,f.executable.uri)?(p.trace(`Kernel ${e.name} matches ${zr(f.id)} based on interpreterPath.`),!0):!1);if(d)return wi(d);if(!e.specFile||this.trustedKernels.isTrusted(Hn.Uri.file(e.specFile))){let f=await this.interpreterService.getInterpreterDetails(u,r);if(f)return f}}if(!r?.isCancellationRequested)return wi(i.find(u=>e.display_name===Pr(u)?.environment?.name?(p.trace(`Kernel ${e.name} matches ${zr(u.id)} based on display name`),R("GLOBAL_PYTHON_KERNELSPEC",void 0,{kernelSpecHash:a,kernelConnectionType:t,pythonPathDefined:!0,argv0:o?Ce(o):"",pythonEnvFound:"matchDisplayName",language:s,isCreatedByUs:l}),!0):!1))}listGlobalPythonKernelSpecs(){return this.lastKnownGlobalPythonKernelSpecs=this.kernelSpecsFromKnownLocations.kernels.filter(e=>e.kernelSpec.language===ge)}warnAboutPythonKernelSpecWithInvalidPythonExec(e){let t=e.specFile||JSON.stringify(e);n.globalPythonKernelSpecsForWhichWeCouldNotFindInterpreterInfo.has(t)||(n.globalPythonKernelSpecsForWhichWeCouldNotFindInterpreterInfo.add(t),p.warn(`Kernel Spec for '${e.display_name}' (${zr(e.specFile)}) hidden, as we cannot find a matching interpreter argv = '${e.argv[0]}'. To resolve this, please change '${e.argv[0]}' to point to the fully qualified Python executable.`))}async listKernelSpecsImpl(){let e=this.cancelToken.token,t=this.listGlobalPythonKernelSpecs().filter(s=>!Nn(s.kernelSpec)),r=s=>{if(s.kernelSpec.language!==ge)return!1;let a=s.kernelSpec.argv.map(u=>u.toLowerCase()),l=a.indexOf("-m");if(l===-1)return!1;let c=a.length-1>=l?a[l+1]:void 0;return c?c!=="ipykernel_launcher":!1},i=new Map,o=new Set;return await Promise.all(t.filter(s=>{let a=Nn(s.kernelSpec);return!a&&(r(s)||Object.keys(s.kernelSpec.env||{}).length>0)||!a&&s.kernelSpec.language===ge&&!XS(s.kernelSpec)?!0:(p.trace(`Kernel Spec for '${s.kernelSpec.display_name}' (${zr(s.kernelSpec.specFile)}) is hidden. (isDefaultKernelSpec = ${XS(s.kernelSpec)}, language = ${s.kernelSpec.language}, registrationInfo = ${a})`),!1)}).map(async s=>{let a=await this.findMatchingInterpreter(s.kernelSpec,"startUsingLocalKernelSpec",e);if(e.isCancellationRequested)return;if(!a){let c=s.kernelSpec.argv.length?s.kernelSpec.argv[0].toLowerCase():"";if(fD(c)){this.warnAboutPythonKernelSpecWithInvalidPythonExec(s.kernelSpec);return}}let l=Zu.create({kernelSpec:s.kernelSpec,interpreter:a,id:ki(s.kernelSpec,a)});i.set(l.id,l),l.kernelSpec.specFile&&o.add(l.kernelSpec.specFile)})),e.isCancellationRequested?[]:e.isCancellationRequested?[]:Array.from(i.values())}};var tu=class extends by{constructor(t,r,i,o,s,a,l,c,u){super(r,o,a,l,c,i);this.interpreterService=t;this.kernelSpecsFromKnownLocations=s;this._kernels=new Map;this._kernelsExcludingCachedItems=new Map;this._kernelsFromCache=[];this.cachedInformationForPythonInterpreter=new Map;this.updateCachePromise=Promise.resolve();this.discoveredKernelSpecFiles=new Set;this.lastKnownGlobalPythonKernelSpecs=[];this.interpreterKernelSpecs=new Map;this.globalPythonKernelSpecFinder=new a_(this.interpreterService,this.kernelSpecsFromKnownLocations,this.extensionChecker,u),this.disposables.push(this._onDidChangeKernels),t.onDidChangeInterpreters(()=>{this.refreshCancellation?.cancel(),this.refreshData().catch(h)},this,this.disposables),t.onDidRemoveInterpreter(async d=>{if(await gi(1e3),Pr(d))return;p.debug(`Interpreter removed ${d.id}`);let f=[];this._kernels.forEach(g=>{g.interpreter?.id===d.id&&(p.debug(`Interpreter ${d.id} deleted, hence deleting corresponding kernel ${g.kind}:'${g.id}`),f.push(g),this._kernels.delete(g.id))}),f.length&&(p.debug(`Local Python connection deleted ${f.map(g=>`${g.kind}:'${g.id}: (interpreter id=${zr(g.interpreter?.id)})'`)}`),this.updateCache().catch(h))},this,this.disposables)}activate(){this.listKernelsFirstTimeFromMemento(oO()).then(t=>{t.length&&(t.filter(r=>!this._kernels.has(r.id)).forEach(r=>{this._kernelsFromCache.push(r),this._kernels.set(r.id,r)}),this._onDidChangeKernels.fire())}).finally(async()=>{this.refreshCancellation?.cancel(),this.refreshData().catch(h),this.kernelSpecsFromKnownLocations.onDidChangeKernels(()=>{let t=this.lastKnownGlobalPythonKernelSpecs,r=this.listGlobalPythonKernelSpecsIncludingThoseRegisteredByUs();(t.length!==r.length||!Ys(t,r))&&(this.refreshCancellation?.cancel(),this.refreshData().catch(h))},this,this.disposables)}).catch(h)}get kernels(){return Array.from(this._kernels.values())}dispose(){z(this.disposables)}async refresh(){this.globalPythonKernelSpecFinder.clear(),this.clearCache(),this.cachedInformationForPythonInterpreter.clear(),this.discoveredKernelSpecFiles.clear(),this.interpreterService.refreshInterpreters(!0).catch(h),await this.refreshData(!0)}refreshData(t=!1){if(!t&&this.refreshCancellation&&!this.refreshCancellation.token.isCancellationRequested&&this.previousRefresh)return this.previousRefresh;this.refreshCancellation?.cancel(),this.refreshCancellation?.dispose();let r=this.refreshCancellation=new I8.CancellationTokenSource,i=(async()=>{if(await this.listKernelsImplementation(r.token,t).catch(o=>p.error("Failure in listKernelsImplementation",o)),!r.token.isCancellationRequested){if(this.interpreterService.status==="idle"){let o=this._kernelsFromCache.filter(c=>!this._kernelsExcludingCachedItems.has(c.id)),s=[];o.length&&(p.warn(`Kernels ${o.map(c=>`${c.kind}:'${c.id}'`).join(", ")} found in cache but not discovered in current session ${Array.from(this._kernelsExcludingCachedItems.values()).map(c=>`${c.kind}:'${c.id}'`).join(", ")}`),o.forEach(c=>{this._kernels.delete(c.id),s.push(c)}));let a=new Set(so().map(c=>c.id)),l=Array.from(this._kernels.values()).filter(c=>!!(c.interpreter&&!a.has(c.interpreter.id)));l.length&&(p.warn(`The following kernels use interpreters that are no longer valid or not recognized by Python extension, Kernels ${l.map(c=>`${c.kind}:'id=${c.id}'(interpreterId='${zr(c.interpreter?.id)}')`).join(",")} and valid interpreter ids include ${Array.from(a).join(", ")}`),l.forEach(c=>{this._kernels.delete(c.id),s.push(c)})),s.length&&(p.debug(`Local Python connection deleted ${s.map(c=>`${c.kind}:'${c.id}: (interpreter id=${zr(c.interpreter?.id)})'`)}`),await this.updateCache())}t&&(this._kernelsFromCache=[])}})().catch(o=>p.error("Failed to discover kernels in interpreters",o)).finally(()=>{r===this.refreshCancellation&&(this.refreshCancellation?.cancel(),this.refreshCancellation?.dispose(),this.refreshCancellation=void 0)});return this.previousRefresh=i,this.promiseMonitor.push(i),i}async updateCache(){this._onDidChangeKernels.fire();let t=Array.from(this._kernels.values());return this.updateCachePromise=this.updateCachePromise.finally(()=>this.writeToMementoCache(t,oO())),this.updateCachePromise}async listKernelsImplementation(t,r){let i=this.extensionChecker.isPythonExtensionInstalled?so():[],o=Promise.all(i.map(async a=>{let l=this.interpreterKernelSpecs.get(a.id);l||(l=new s_(wi(a),this.interpreterService,this.jupyterPaths,this.extensionChecker,this.kernelSpecFinder),this.disposables.push(l),this.interpreterKernelSpecs.set(a.id,l),l.onDidChangeKernels(c=>{c.removed.forEach(u=>this._kernels.delete(u.id)),this.appendNewKernels(c.added),!c.added.length&&c.removed.length&&this.updateCache()},this,this.disposables)),await Xt(t,[],l.listKernelSpecs(r))})),s=Xt(t,[],this.globalPythonKernelSpecFinder.listKernelSpecs(r)).then(a=>this.appendNewKernels(a));await Promise.all([o,s])}async appendNewKernels(t){if(t.length)return t.forEach(r=>{ct(r)&&r.kernelSpec.specFile?(this._kernelsExcludingCachedItems.set(r.id,r),this._kernels.has(r.id)?this._kernels.set(r.id,r):this._kernels.set(r.id,r)):p.warn(`Found a kernel ${r.kind}:'${r.id}', but excluded as specFile is undefined`)}),this.updateCache()}listGlobalPythonKernelSpecs(t){return this.kernelSpecsFromKnownLocations.kernels.filter(i=>i.kernelSpec.language===ge).filter(i=>t?!0:!Nn(i.kernelSpec))}listGlobalPythonKernelSpecsIncludingThoseRegisteredByUs(){return this.lastKnownGlobalPythonKernelSpecs=this.listGlobalPythonKernelSpecs(!0)}};tu=v([(0,wo.injectable)(),m(0,(0,wo.inject)(Xe)),m(1,(0,wo.inject)(lr)),m(2,(0,wo.inject)(Mr)),m(3,(0,wo.inject)(Be)),m(4,(0,wo.inject)(Yo)),m(5,(0,wo.inject)(We)),m(5,(0,wo.named)(ei)),m(6,(0,wo.inject)(M)),m(7,(0,wo.inject)(Sl)),m(8,(0,wo.inject)(Yd))],tu);var Qm=class extends jn{constructor(t,r,i,o,s,a){super();this.nonPythonKernelFinder=t;this.pythonKernelFinder=r;this.disposables=o;this.extensionChecker=s;this.interpreters=a;this._status="idle";this._onDidChangeStatus=new ow.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this.promiseMonitor=new lo;this.kind="localKernelSpec";this.id="localKernelSpec";this.displayName=y.localKernelSpecs;this._onDidChangeKernels=new ow.EventEmitter;this.onDidChangeKernels=this._onDidChangeKernels.event;this.wasPythonInstalledWhenFetchingControllers=!1;this.cache=[];this.disposables.push(this),i.registerKernelFinder(this),this.disposables.push(this._onDidChangeStatus),this.disposables.push(this._onDidChangeKernels),this.disposables.push(this.promiseMonitor)}get status(){return this._status}set status(t){this._status!==t&&(this._status=t,this._onDidChangeStatus.fire())}activate(){this.promiseMonitor.onStateChange(()=>{this.status=this.promiseMonitor.isComplete&&this.interpreters.status==="idle"&&this.nonPythonKernelFinder.status==="idle"&&this.pythonKernelFinder.status==="idle"?"idle":"discovering"}),this.updateCache();let t,r=()=>{[this.nonPythonKernelFinder.status,this.pythonKernelFinder.status,this.interpreters.status==="refreshing"?"discovering":"idle"].includes("discovering")?t||(t=re(),this.promiseMonitor.push(t.promise)):(t?.resolve(),t=void 0)};r(),this.nonPythonKernelFinder.onDidChangeStatus(r,this,this.disposables),this.pythonKernelFinder.onDidChangeStatus(r,this,this.disposables),this.interpreters.onDidChangeStatus(r,this,this.disposables),this.updateCache(),this.interpreters.onDidChangeInterpreters(this.updateCache,this,this.disposables),ow.extensions.onDidChange(()=>{!this.wasPythonInstalledWhenFetchingControllers&&this.extensionChecker.isPythonExtensionInstalled&&this.updateCache()},this,this.disposables),this.nonPythonKernelFinder.onDidChangeKernels(this.updateCache,this,this.disposables),this.pythonKernelFinder.onDidChangeKernels(this.updateCache,this,this.disposables),this.wasPythonInstalledWhenFetchingControllers=this.extensionChecker.isPythonExtensionInstalled}async refresh(){let t=(async()=>{await this.nonPythonKernelFinder.refresh(),await this.pythonKernelFinder.refresh(),this.updateCache()})();this.promiseMonitor.push(t),await t}updateCache(){try{let t=[],r=this.nonPythonKernelFinder.kernels.filter(o=>this.extensionChecker.isPythonExtensionInstalled?o.kernelSpec.language!==ge:!0),i=this.pythonKernelFinder.kernels.filter(o=>Zh(o));t=t.concat(r).concat(i),this.writeToCache(t)}catch(t){p.error("Exception Saving loaded kernels",t)}}get kernels(){let t=new Set,r=[];return this.pythonKernelFinder.kernels.forEach(i=>{let o=Nn(i.kernelSpec);i.kernelSpec.specFile&&o==="registeredByNewVersionOfExtForCustomKernelSpec"&&(t.add(i.kernelSpec.specFile),r.push(i))}),this.cache.forEach(i=>{i.kernelSpec.specFile&&t.has(i.kernelSpec.specFile)||r.push(i)}),r}writeToCache(t){let r=new Set;t=t.filter(u=>r.has(u.id)?!1:(r.add(u.id),!0));let i=this.cache,o=new Map(i.map(u=>[u.id,u])),s=new Map(t.map(u=>[u.id,u])),a=t.filter(u=>!o.has(u.id)),l=t.filter(u=>o.has(u.id)&&!Ys(u,o.get(u.id))),c=i.filter(u=>!s.has(u.id));this.cache=t,(a.length||l.length||c.length)&&this._onDidChangeKernels.fire({removed:c})}};v([Sh("List kernels failed")],Qm.prototype,"updateCache",1),Qm=v([(0,ru.injectable)(),m(0,(0,ru.inject)(Yo)),m(1,(0,ru.inject)(tu)),m(2,(0,ru.inject)(kr)),m(3,(0,ru.inject)(M)),m(4,(0,ru.inject)(Be)),m(5,(0,ru.inject)(Xe))],Qm);var Iy=k(N());var sw=require("vscode"),C8=require("os");function S8(n){let e=Ve(n);return!!(w8(n)&&(e==="Unknown"||e==="Pyenv"||e==="Conda"))}function w8(n){let e=Ji(n)?.major??3,t=Ji(n)?.minor??6;return e>=3&&t>=6}var nu=class{constructor(e,t,r){this.pythonExecutionFactory=e;this.disposableRegistry=t;this.context=r;this.messages=new Map;this.requestCounter=0}async createInterrupter(e,t){try{return await this.createInterrupterImpl(e,t)}catch(r){return p.error("Failed to create interrupter, trying again",r),this.createInterrupterImpl(e,t)}}async createInterrupterImpl(e,t){let r=await this.sendCommand({command:"INITIALIZE_INTERRUPT"},e,t);if(!r)throw p.error("Unable to initialize interrupt handle"),new Error("Unable to initialize interrupt handle");return{handle:r,interrupt:async()=>{await this.sendCommand({command:"INTERRUPT",handle:r},e,t)},dispose:()=>{this.sendCommand({command:"DISPOSE_INTERRUPT_HANDLE",handle:r},e,t).catch(i=>p.error(`Failed to dispose interrupt handle for ${e.id}`,i))}}}async getInterpreter(e){if(e&&S8(e))return e;let t=so();return t.length===0?e:wi(t.find(S8))||wi(t.find(w8))||e}async initializeInterrupter(e,t){if(this.startupPromise)return this.startupPromise;let r=(async()=>{let i=await this.getInterpreter(e),o=await this.pythonExecutionFactory.createActivatedEnvironment({interpreter:i,resource:t}),s=sw.Uri.joinPath(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers"),a=sw.Uri.joinPath(s,"kernel_interrupt_daemon.py"),l=o.execObservable([a.fsPath,"--ppid",process.pid.toString()],{cwd:s.fsPath});return await new Promise((c,u)=>{let d=!1,f=l.out.onDidChange(g=>{if(p.ci(`Output from interrupt daemon started = ${d}, output (${g.source}) = ${g.out} ('END)`),g.source==="stdout"&&g.out.trim().includes("DAEMON_STARTED:")&&!d)d=!0,c();else if(g.source==="stderr"&&g.out.includes("INTERRUPT:")&&g.out.includes("ERROR: handling command :INITIALIZE_INTERRUPT:")&&d)Oe(g.out,{trim:!0,removeEmptyEntries:!0}).filter(b=>b.includes("INTERRUPT:")).forEach(b=>{try{let I=b.split(":"),E=parseInt(I[I.indexOf("INITIALIZE_INTERRUPT")+1],10),x=this.messages.get(E);x&&(p.error(`Failed to initialize interrupt daemon for ${E}, ${g.out}`),x.deferred.reject(new Error(`Failed to start interrupt daemon ${g.out}`)),this.messages.delete(E))}catch(I){p.error(`Failed to parse interrupt daemon response, ${g.out}`,I)}});else if(g.source==="stdout"&&g.out.includes("INTERRUPT:")&&d)Oe(g.out,{trim:!0,removeEmptyEntries:!0}).filter(b=>b.includes("INTERRUPT:")).forEach(b=>{try{let[I,E,x]=b.split(":"),A=this.messages.get(parseInt(E,10));A?(p.trace(`Got a response of ${x} for ${I}:${E}`),A.deferred.resolve(x),this.messages.delete(parseInt(E,10))):p.error(`Got a response of ${x} for ${I}:${E} but no command entry found in ${g.out}`)}catch(I){p.error(`Failed to parse interrupt daemon response, ${g.out}`,I)}});else if(g.out.includes("ERROR: handling command")){if(p.warn(`Error output in interrupt daemon response ${g.out} ('END')`),!d)return u(new Error(`Interrupt daemon failed to start, ${g.out}`));try{let b=g.out.split(":")[2],I=this.messages.get(parseInt(b,10));if(I){I.deferred.reject(new Error(g.out)),this.messages.delete(parseInt(b,10));return}}catch(b){p.error(`Failed to parse interrupt daemon response, ${g.out}`,b)}}});this.disposableRegistry.push(f)}),this.disposableRegistry.push(new sw.Disposable(()=>Xn(()=>l.proc?.kill()))),l.proc?.on("close",()=>{p.ci("Interrupt daemon closed"),this.startupPromise=void 0}),l.proc?.on("exit",()=>{p.ci("Interrupt daemon exited"),this.startupPromise=void 0}),l})();return r.catch(i=>p.error(`Failed to start interrupt daemon for (${e.id})`,i)),this.startupPromise=r,r}async sendCommand(e,t,r){let i=re(),o=this.requestCounter++;this.messages.set(o,{command:e,deferred:i});let s=e.command==="INITIALIZE_INTERRUPT"?`${e.command}:${o}`:`${e.command}:${o}:${e.handle}`,{proc:a}=await this.initializeInterrupter(t,r);if(!a||!a.stdin)throw p.error("No process or stdin"),new Error("No process or stdin");a.stdin.write(`${s}${C8.EOL}`),p.ci(`Sending Interrupt Request id=${o}, Command ${e.command} for ${t.id}`);let l=await i.promise;if(p.ci(`Got Interrupt Response id=${o}, Command ${e.command} for ${t.id}`),e.command==="INITIALIZE_INTERRUPT")return parseInt(l,10)}};nu=v([(0,Iy.injectable)(),m(0,(0,Iy.inject)(Nr)),m(1,(0,Iy.inject)(M)),m(2,(0,Iy.inject)(et))],nu);var l_=k(N());var aw=require("vscode");var Bl=class{constructor(e){this.platform=e;this.programData=process.env.PROGRAMDATA?aw.Uri.file(hn(process.env.PROGRAMDATA)):void 0}get trustedKernelSpecs(){return aw.workspace.getConfiguration("jupyter",void 0).get("kernels.trusted",[])}isTrusted(e){let t=this.isTrustedImpl(e);return!t&&!Bl.IsKernelSpecHidden.completed&&Bl.IsKernelSpecHidden.resolve(!0),t}isTrustedImpl(e){return e.scheme!=="file"||this.trustedKernelSpecs.map(t=>this.platform.isWindows?t.toLowerCase():t).map(t=>aw.Uri.file(t).path).includes(this.platform.isWindows?e.path.toLowerCase():e.path)?!0:this.platform.isWindows&&this.programData?!e.path.toLowerCase().startsWith(this.programData.path.toLowerCase()):!0}};Bl.IsKernelSpecHidden=re(),Bl=v([(0,l_.injectable)(),m(0,(0,l_.inject)(br))],Bl);var O5=k(kl()),Zo=k(N()),F5=k(require("os"));var L5=require("util"),U5=k(Io()),w_=require("vscode");var I5=require("process"),S5=k(kl()),xy=k(require("os"));var Dy=require("vscode");var C5=k(F8());var v5="To connect another client to this kernel, use:",y5=["NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.","To exit, you will have to explicitly quit this process, by either sending",'"quit" from a client, or using Ctrl-\\ in UNIX-like environments.',"To read more about this, see https://github.com/ipython/ipython/issues/2049","It seems that frozen modules are being used, which may","make the debugger miss breakpoints. Please pass -Xfrozen_modules=off","to python to disable frozen modules","Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION"],ky=class extends jn{constructor(t,r,i,o,s,a,l,c,u,d,f,g,b){super();this.processExecutionFactory=t;this._connection=r;this.fileSystem=o;this.resource=s;this.extensionChecker=a;this.kernelEnvVarsService=l;this.pythonExecFactory=c;this.outputChannel=u;this.jupyterSettings=d;this.jupyterPaths=f;this.pythonKernelInterruptDaemon=g;this.platform=b;this.exitEvent=new Dy.EventEmitter;this.exitEventFired=!1;this._kernelConnectionMetadata=i}get pid(){return this._pid}get exited(){return this.exitEvent.event}get kernelConnectionMetadata(){return this._kernelConnectionMetadata}get connection(){return this._connection}get isPythonKernel(){return dt(this.kernelConnectionMetadata)&&Om(this.kernelConnectionMetadata)}get canInterrupt(){return this._kernelConnectionMetadata.kernelSpec.interrupt_mode!=="message"}async interrupt(){if(this.canInterrupt)if(this._kernelConnectionMetadata.kernelSpec.interrupt_mode!=="message"&&this._process&&!this.interrupter)p.info("Interrupting kernel via SIGINT"),this._process.pid&&(0,I5.kill)(this._process.pid,"SIGINT");else{if(this._kernelConnectionMetadata.kernelSpec.interrupt_mode!=="message"&&this._process&&this.interrupter&&dt(this._kernelConnectionMetadata))return p.info("Interrupting kernel via custom event (Win32)"),this.interrupter.interrupt();p.error("No process to interrupt in KernleProcess.ts")}else throw new Error("Kernel interrupt not supported in KernelProcess.ts")}async launch(t,r,i){if(this.launchedOnce)throw new Error("Kernel has already been launched.");this.launchedOnce=!0;let o=Pn(this.resource),s=o?.updateConnection();await this.updateConnectionArgs(),s?.stop(),vn.throwIfCanceled(i);let a=o?.spawn(),l=await this.launchAsObservable(t,i);a?.stop();let c=l.proc;if(i.isCancellationRequested)throw new Dy.CancellationError;p.debug(`Kernel process ${c?.pid}.`);let u="",d,f=re();if(f.promise.catch(h),c){let b=c.pid;c.on("exit",E=>{if(E=E||d,this.isDisposed){p.debug(`KernelProcess Exited ${b}, Exit Code - ${E}`);return}p.debug(`KernelProcess Exited ${b}, Exit Code - ${E}`,u),this.exitEventFired||(this.exitEvent.fire({exitCode:E||void 0,reason:xh(u)||u,stderr:u}),this.exitEventFired=!0),i.isCancellationRequested||(p.ci("KernelProcessExitedError raised",u),f.reject(new Ol(E||-1,u,this.kernelConnectionMetadata)))});let I=!1;c.stdout?.on("data",E=>{let x=(E||"").toString();dt(this.kernelConnectionMetadata)&&!I&&(x=b5(x),x.includes(v5)&&(x=x.trimStart())),x.includes(v5)&&(I=!0),p.debug(`Kernel output ${b}: ${x}`),this.sendToOutput(x)}),c.stderr?.on("data",E=>{let x=b5((E||"").toString());u+=x,x.trim().length&&!x.includes("It seems that frozen modules are being used, which may")&&!x.includes("make the debugger miss breakpoints. Please pass -Xfrozen_modules=off")&&!x.includes("to python to disable frozen modules")&&!x.includes("Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION")&&(p.debug(`KernelProcess error ${b}: ${x}`),this.sendToOutput(x))})}l.out.done.catch(b=>{if(this.isDisposed){p.warn("Kernel died",b,u);return}p.error("Kernel died",b,u),f.reject(b)});let g=Pn(this.resource)?.portUsage();try{f.rejected&&await f.promise;let b=be.instance.get(gs).inExperiment("DoNotWaitForZmqPortsToBeUsed"),I=(await Promise.resolve().then(()=>k(g5()))).default,E=new Ue,x=b?Promise.resolve():Promise.all([I.waitUntilUsed(this.connection.shell_port,200,r),I.waitUntilUsed(this.connection.iopub_port,200,r)]).catch(A=>{if(!(i.isCancellationRequested||f.rejected)&&(p.warn(`Waited ${E.elapsedTime}ms for kernel to start`,A),!b))return Promise.reject(new Av(this.kernelConnectionMetadata))});await Zt(i,x,f.promise)}catch(b){let I=(u||"").trim();if(!i?.isCancellationRequested&&!sr(b)&&(p.error("Disposing kernel process due to an error",b),b&&b instanceof Error&&I.length&&b.message.includes(I)||p.error(I)),await this.dispose(),!i?.isCancellationRequested&&b instanceof qe)throw b;{i?.isCancellationRequested&&p.debug("User cancelled the kernel launch");let E=yP(I)||I.substring(0,100);throw p.ci("KernelDiedError raised",E,u+`
`+u+`
`),new Ud(y.kernelDied(E),u+`
`+u+`
`,b,this.kernelConnectionMetadata)}}finally{g?.stop()}}dispose(){if(this._disposingPromise||this.isDisposed)return;let t=this._process?.pid;p.debug(`Dispose Kernel process ${t}.`),this._disposingPromise=(async()=>{await fr(1e3,this.killChildProcesses(this._process?.pid).catch(h));try{this.interrupter?.dispose(),this._process?.kill(),this.exitEventFired||this.exitEvent.fire({stderr:""})}catch(r){p.error(`Error disposing kernel process ${t}`,r)}this.connectionFile&&await this.fileSystem.delete(this.connectionFile).catch(r=>p.warn(`Failed to delete connection file ${this.connectionFile} for pid ${t}`,r)),p.debug(`Disposed Kernel process ${t}.`)})(),this._disposingPromise.finally(()=>super.dispose()).catch(h)}async killChildProcesses(t){if(!(!t||!Dl.isAlive(t)))try{if(this.platform.isWindows){let r=process.env.WINDIR||"C:\\Windows",i=Le(r,"System32","taskkill.exe");await new Dl().exec(i,["/F","/T","/PID",t.toString()])}else await new Promise(r=>{(0,C5.default)(t,(i,o)=>{i?p.warn(`Failed to kill children for ${t}`,i):o.forEach(s=>Dl.kill(s)),r()})})}catch(r){p.warn(`Failed to kill children for ${t}`,r)}}sendToOutput(t){this.outputChannel&&this.outputChannel.append(t)}get launchKernelSpec(){if(this._launchKernelSpec)return this._launchKernelSpec;let t=this._kernelConnectionMetadata.kernelSpec;if(!t)throw new Error("KernelSpec cannot be empty in KernelProcess.ts");return Array.isArray(t.argv)?this._launchKernelSpec={...t,argv:[...t.argv]}:(p.error("KernelSpec.argv in KernelProcess is undefined"),this._launchKernelSpec=void 0),this._launchKernelSpec}async updateConnectionArgs(){let t=nj(this.launchKernelSpec);if(t===-1)throw new Error(`Connection file not found in kernelspec json args, ${this.launchKernelSpec.argv.join(" ")}`);if(this.isPythonKernel&&t===0&&this.launchKernelSpec.argv[t-1]!=="-f")throw new Error(`Connection file not found in kernelspec json args, ${this.launchKernelSpec.argv.join(" ")}`);if(this.connectionFile=await this.createConnectionFile(),this.isPythonKernel)this.launchKernelSpec.argv.splice(t-1,2),this.launchKernelSpec.argv.push(...this.addPythonConnectionArgs(this.connectionFile)),await this.fileSystem.writeFile(this.connectionFile,JSON.stringify(this._connection));else{await this.fileSystem.writeFile(this.connectionFile,JSON.stringify(this._connection));let r=this.connectionFile.fsPath.includes(" ")?`"${this.connectionFile.fsPath}"`:this.connectionFile.fsPath;this.launchKernelSpec.argv[t].includes("--connection-file")?this.launchKernelSpec.argv[t]=this.launchKernelSpec.argv[t].replace(lm,r):this.launchKernelSpec.argv[t].includes(`=${lm}`)&&!this.launchKernelSpec.argv[t].trim().startsWith("=")?this.launchKernelSpec.argv[t]=this.launchKernelSpec.argv[t].replace(lm,r):this.launchKernelSpec.argv[t]=this.launchKernelSpec.argv[t].replace(lm,this.connectionFile.fsPath)}}async createConnectionFile(){let t=await this.jupyterPaths.getRuntimeDir(),r=await this.fileSystem.createTemporaryLocalFile({fileExtension:".json",prefix:"kernel-v2-"}),i=t?Le(t.fsPath,Ce(r.filePath)):r.filePath;return await r.dispose(),Dy.Uri.file(i)}addPythonConnectionArgs(t){let r=[],i=t.fsPath.includes(" ")?`"${t.fsPath}"`:t.fsPath;return r.push(`--f=${i}`),r}async launchAsObservable(t,r){let i;if(p.debug(`Launching kernel ${this.kernelConnectionMetadata.id} for ${j(this.resource)} in ${j(t)} with ports ${this.connection.control_port}, ${this.connection.hb_port}, ${this.connection.iopub_port}, ${this.connection.shell_port}, ${this.connection.stdin_port}`),this.isPythonKernel&&this.extensionChecker.isPythonExtensionInstalled&&this._kernelConnectionMetadata.interpreter){let o=Pn(this.resource),[s,a,l]=[o?.pythonEnvVars(),o?.envVars(),xy.platform()==="win32"?o?.interruptHandle():void 0],c=this.pythonExecFactory.createActivatedEnvironment({resource:this.resource,interpreter:this._kernelConnectionMetadata.interpreter}),u=xy.platform()==="win32"?this.getWin32InterruptHandle().finally(()=>l?.stop()):l?.stop(),[d,f,g]=await Promise.all([c.finally(()=>s?.stop()),S5.pathExists(t),this.kernelEnvVarsService.getEnvironmentVariables(this.resource,this._kernelConnectionMetadata.interpreter,this._kernelConnectionMetadata.kernelSpec,r).finally(()=>a?.stop())]);if(vn.throwIfCanceled(r),xy.platform()==="win32"&&u){g=g||process.env;try{let I=await u;g.JPY_INTERRUPT_EVENT=`${I}`,p.ci(`Got interrupt handle kernel id ${I} for interpreter ${this._kernelConnectionMetadata.interpreter.id}`)}catch(I){p.error(`Failed to get interrupt handle kernel id ${this._kernelConnectionMetadata.id} for interpreter ${this._kernelConnectionMetadata.interpreter.id}`,I)}}vn.throwIfCanceled(r);let b=this.launchKernelSpec.argv.slice(1);this.jupyterSettings.enablePythonKernelLogging&&b.push("--debug"),i=d.execObservable(b,{cwd:f?t:process.cwd(),env:g}),vn.throwIfCanceled(r)}else{let o=this.launchKernelSpec.argv[0];p.info(`Launching Raw Kernel ${this.launchKernelSpec.display_name} # ${o}`);let[s,a]=await Promise.all([this.processExecutionFactory.create(this.resource,r),this.kernelEnvVarsService.getEnvironmentVariables(this.resource,this._kernelConnectionMetadata.interpreter,this.launchKernelSpec,r)]);vn.throwIfCanceled(r);let l=this.launchKernelSpec.argv.slice(1);i=s.execObservable(o,l,{env:a,cwd:t})}if(!i.proc)throw new Error("KernelProcess failed to launch");return this._process=i.proc,this._pid=i.proc.pid,i}async getWin32InterruptHandle(){return this.interrupter||(this.interrupter=await this.pythonKernelInterruptDaemon.createInterrupter(this._kernelConnectionMetadata.interpreter,this.resource)),this.interrupter.handle}};v([or("DS_INTERNAL.RAWKERNEL_PROCESS_LAUNCH")],ky.prototype,"launch",1),v([m(1,zu())],ky.prototype,"launchAsObservable",1);function b5(n){let e=Oe(n,{trim:!0,removeEmptyEntries:!0});return e.some(t=>t.includes("FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0."))&&e.some(t=>t.trim()==="warn(")&&e.some(t=>t.includes("FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0."))||e.some(t=>y5.some(r=>t.includes(r)))?e.filter(t=>!t.endsWith(`FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.`)&&t.trim()!=="warn("&&!t.includes("FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use")&&y5.every(r=>!t.includes(r))).join(xy.EOL).trimStart():n}var Xde="kernelLauncherPortStart_{0}.tmp",Vs=class{constructor(e,t,r,i,o,s,a,l,c,u){this.processExecutionFactory=e;this.fs=t;this.extensionChecker=r;this.kernelEnvVarsService=i;this.disposables=o;this.pythonExecFactory=s;this.configService=a;this.jupyterPaths=l;this.pythonKernelInterruptDaemon=c;this.platformService=u}static async computeStartPort(){if(Er()){let e=9e3,t=0;for(;t===0&&e<65e3;)try{let r=Le(F5.tmpdir(),gS(Xde,e.toString()));await O5.open(r,"wx"),t=e}catch{e+=1e3}return p.trace(`Computed port start for KernelLauncher is : ${t}`),t}else return 9e3}async launch(e,t,r,i,o){Zde(r,e,this.pythonExecFactory,o).catch(h);let s=new Ue,a=Pn(r)?.getConnection(),l=await Zt(o,this.getKernelConnection(e));a?.stop();let c=r?Ce(r.fsPath):"",u=this.configService.getSettings(r),d=u.logKernelOutputSeparately||u.development?w_.window.createOutputChannel(y.kernelConsoleOutputChannel(c),"log"):void 0;d?.clear();let f=ID(l.control_port,l.hb_port,l.iopub_port,l.shell_port,l.stdin_port),g=new ky(this.processExecutionFactory,l,e,this.fs,r,this.extensionChecker,this.kernelEnvVarsService,this.pythonExecFactory,d,u,this.jupyterPaths,this.pythonKernelInterruptDaemon,this.platformService);sa(g.onDidDispose)(()=>f.dispose(),this,this.disposables),sa(g.exited)(()=>d?.dispose(),this,this.disposables);try{await Zt(o,g.launch(i,t,o))}catch(I){throw await g.dispose(),vn.throwIfCanceled(o),I}let b=sa(g.exited)(({exitCode:I,reason:E})=>{Pt(r,"DS_INTERNAL.RAWKERNEL_SESSION_KERNEL_PROCESS_EXITED",I?{exitCode:I}:void 0,{exitReason:xh(E)}),Us.delete(l.control_port),Us.delete(l.hb_port),Us.delete(l.iopub_port),Us.delete(l.shell_port),Us.delete(l.stdin_port),b.dispose()},this,this.disposables);if(o?.isCancellationRequested)throw await g.dispose(),new w_.CancellationError;return R("DS_INTERNAL.KERNEL_LAUNCHER_PERF",{duration:s.elapsedTime},{resourceType:$i(r)}),g}async chainGetConnectionPorts(){return this.portChain&&await this.portChain,this.portChain=this.getConnectionPorts(),this.portChain}static async findNextFreePort(e){let r=await(0,L5.promisify)((await Promise.resolve().then(()=>k(K5()))).getPorts)(5,{host:"127.0.0.1",port:e});if(r.some(i=>Us.has(i))){let i=Math.max(...Us,...r);return Vs.findNextFreePort(i)}return r.forEach(i=>Us.add(i)),r}async getConnectionPorts(){let e=await Vs.startPortPromise;return Vs.findNextFreePort(e)}async getKernelConnection(e){let t=await this.chainGetConnectionPorts();return{key:(0,U5.default)(),signature_scheme:"hmac-sha256",transport:"tcp",ip:"127.0.0.1",hb_port:t[0],control_port:t[1],shell_port:t[2],stdin_port:t[3],iopub_port:t[4],kernel_name:e.kernelSpec?.name||"python"}}};Vs.startPortPromise=Vs.computeStartPort(),Vs=v([(0,Zo.injectable)(),m(0,(0,Zo.inject)(Di)),m(1,(0,Zo.inject)(lr)),m(2,(0,Zo.inject)(Be)),m(3,(0,Zo.inject)(fa)),m(4,(0,Zo.inject)(M)),m(5,(0,Zo.inject)(Nr)),m(6,(0,Zo.inject)(ie)),m(7,(0,Zo.inject)(Mr)),m(8,(0,Zo.inject)(nu)),m(9,(0,Zo.inject)(br))],Vs);async function Zde(n,e,t,r){let i=e.interpreter;if(!ct(e)||!dt(e)||!i)return;let s=await(await t.createActivatedEnvironment({interpreter:i,resource:n})).exec(["-c",'import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)'],{token:r});if(r.isCancellationRequested)return;let a=j(i.uri);if(s.stdout){let l=s.stdout.trim().split("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d").map(c=>c.trim()).filter(c=>c.length>0);l.length===2?p.trace(`ipykernel version & path ${l[0]}, ${RB(l[1])} for ${a}`):p.trace(`ipykernel version & path ${s.stdout.trim()} for ${a}`)}if(s.stderr){let l=Oe(s.stderr.trim(),{removeEmptyEntries:!0,trim:!0}).map((c,u)=>u===0?c:` ${c}`).join(`
`);p.warn(`Stderr output when getting ipykernel version & path ${l} for ${a}`)}}var ou=k(require("vscode"));var Ay=k(N());var W5=require("vscode"),E_=class extends oy{constructor(t,r,i){super("localRaw",t);this.resource=r;this.kernelConnectionMetadata=i;this.shutdownInProgress=!1;this._register(new W5.Disposable(()=>this.session.dispose())),this.initializeKernelSocket()}get status(){return this.terminatingStatus&&!this.isDisposed?this.terminatingStatus:this.isDisposed?"dead":this.session.kernel?this.session.kernel.status:(p.ci(`Real kernel is ${this.session.kernel?"defined":"undefined"}`),"unknown")}dispose(){this.shutdown().finally(()=>super.dispose())}async waitForIdle(t,r){try{await iy(this.kernelConnectionMetadata,this.resource,this.session,t,r)}catch(i){throw p.ci("Error waiting for idle",i),await this.shutdown().catch(h),i}}async shutdown(){if(this.isDisposed||this.shutdownInProgress)return;this.shutdownInProgress=!0,this.terminatingStatus="terminating",this.statusChanged.emit("terminating");let t=`${this.session.kernel?.id}, ${this.kernelConnectionMetadata?.id}`;p.debug(`Shutdown session ${t} - start called from ${new Error("").stack}`),ny(this.session.kernel),await fr(1e3,this.session.shutdown().catch(h)),this.didShutdown.fire(),this.dispose(),p.debug(`Shutdown session ${t} - shutdown complete`)}};var Ia=k(UD()),Y5=k(Io());var T_=k(Io());var __=k(B5()),Q5=k(Io());var iu=k(kl());var k_=k(require("os"));var $5=k(kl()),IO=k(require("os"));var npe=["AlmaLinux","Alt","Amazon","Arch","ArchLinux","Asahi","Asahi Linux","Asianux","Alpine","Berry","BlackArch","BlackArch Linux","Cent","CentOS","Clear","Clear Linux","Clear","ClearOS","Debian","Elementary","Endeavour","EndeavourOS","Easy","EasyOS","Fedora","Fermi","Fuduntu","FreeBSD","Gecko","Gentoo","Kali","KDE","Knoppix","Kubuntu","Linux","LinuxMint","Mageia","Manjaro","Mint","Miracle","MX","MX Linux","Navy","Navy Linux","Nitrux","NixOS","openSUSE","Oracle","Pop!_OS","RasPiOS","Raspbian","Red Hat Enterprise Linux","Red Hat Linux","Red Hat","Rocks","Rocky","Rocky Linux","Rosa","Scientific","Scientific Linux","Slackware","SmartOS","SUSE","SUSE Linux","SUSE Liberty Linux","Ubuntu","VZLinux","Xubuntu","Zorin"],ipe=new RegExp(/^[0-9 .]*$/);async function q5(){let n={id:"",version_id:""};if(IO.platform()==="darwin"||IO.platform()==="win32")return n;try{let e=await $5.readFile("/etc/os-release","utf-8");Oe(e).forEach(t=>{let r=t.toUpperCase().trim().startsWith("ID="),i=t.toUpperCase().trim().startsWith("VERSION_ID=");if(r||i){let o=t.substring(t.indexOf("=")+1).replace(/"/g,"").toUpperCase();if(r)n.id=npe.filter(s=>o.includes(s.toUpperCase())).join(", ");else{let s=parseFloat(o)||"";n.version_id=ipe.test(o)?o:s.toString()}}})}catch(e){p.error("Failed to read distro info",e)}return n}var ope="zeromq";function x_(){try{let n=require(ope);return n.context.blocky=!1,SO(!1).catch(h),n}catch(n){try{let e=require(Le(jo,"dist","node_modules","zeromqold"));return p.info("ZMQ loaded via fallback mechanism."),SO(!1,!0,n.message||n.toString()).catch(h),e}catch(e){throw SO(!0,!0,n.message||n.toString(),e.message||e.toString()).catch(h),p.warn("Exception while attempting zmq :",n.message||n),p.warn("Exception while attempting zmq (fallback) :",e.message||e),e}}}async function spe(){try{let n=Le(jo,"dist","node_modules","zeromq","prebuilds");if(!await iu.pathExists(Le(jo,"dist","node_modules")))return;let e=await iu.readdir(n).then(r=>r.map(async i=>{let o=Le(n,i);return(await iu.stat(o)).isDirectory()?iu.readdir(o).then(a=>a.map(l=>Le(o,l))):[]}));return(await Promise.all(e.flat())).flat().map(r=>r.substring(r.lastIndexOf("prebuilds")+9+1).replace(/\\/g,"<sep>").replace(/\//g,"<sep>"))}catch(n){return p.warn("Failed to determine local zmq binaries.",n),["Failed to determine local zmq binaries."]}}var H5=!1;async function SO(n,e=!1,t="",r=""){if(H5)return;H5=!0;let[i,o]=await Promise.all([q5().catch(()=>({id:"",version_id:""})),spe()]),s=ape();R("DS_INTERNAL.JUPYTER_ZMQ_SUPPORT",void 0,{distro_id:i.id,distro_version_id:i.version_id,failed:n,fallbackTried:e,alpine:s.alpine,libc:s.libc,armv:s.armv,zmqarch:s.zmqarch}),R("DS_INTERNAL.JUPYTER_ZMQ_SUPPORT_FAILURE",void 0,{distro_id:i.id,distro_version_id:i.version_id,failed:n,fallbackTried:e,alpine:s.alpine,libc:s.libc,armv:s.armv,zmqarch:s.zmqarch,errorMessage:t,zmqBinaries:o,fallbackErrorMessage:r})}function G5(n){return n==="linux"&&iu.existsSync("/etc/alpine-release")}function ape(){try{let n=process.config&&process.config.variables||{},t=(process.env.npm_config_arch||"").trim()||k_.arch(),r=process.env.npm_config_platform||k_.platform(),i=G5(r),o=process.env.LIBC||(G5(r)?"musl":"glibc"),s=process.env.ARM_VERSION||(t==="arm64"?"8":n.arm_version)||"";return{alpine:i,libc:String(o),armv:String(s),zmqarch:t}}catch(n){return p.warn("Failed to determine platform information used to load zeromq binary.",n),{}}}function lpe(n,e){let t=n.transport==="tcp"?":":"-",r=n[`${e}_port`];if(!r)throw new Error(`Port not found for channel "${e}"`);return`${n.transport}://${n.ip}${t}${r}`}var D_=class{constructor(e,t){this.connection=e;this.serialize=t;this.onopen=h;this.onerror=h;this.onclose=h;this.onmessage=h;this.receiveHooks=[];this.sendHooks=[];this.msgChain=Promise.resolve();this.sendChain=Promise.resolve();this.closed=!1;this.channels=this.generateChannels(e)}dispose(){this.closed||this.close()}close(){this.closed=!0;let e=t=>{try{t.close()}catch(r){p.error("Error during socket shutdown",r)}};e(this.channels.control),e(this.channels.iopub),e(this.channels.shell),e(this.channels.stdin)}emit(e,...t){switch(e){case"message":this.onmessage({data:t[0],type:"message",target:this});break;case"close":this.onclose({wasClean:!0,code:0,reason:"",target:this});break;case"error":this.onerror({error:"",message:"to do",type:"error",target:this});break;case"open":this.onopen({target:this});break;default:break}return!0}send(e,t){this.sendMessage(e,!1)}addReceiveHook(e){this.receiveHooks.push(e)}removeReceiveHook(e){this.receiveHooks=this.receiveHooks.filter(t=>t!==e)}addSendHook(e){this.sendHooks.push(e)}removeSendHook(e){this.sendHooks=this.sendHooks.filter(t=>t!==e)}generateChannel(e,t,r){let i=r();return i.connect(lpe(e,t)),this.processSocketMessages(t,i).catch(o=>p.error(`Failed to read messages from channel ${t}`,o)),i}async processSocketMessages(e,t){for await(let r of t){if(this.closed)break;this.onIncomingMessage(e,r)}}generateChannels(e){let t=x_(),r=(0,Q5.default)(),i={iopub:this.generateChannel(e,"iopub",()=>new t.Subscriber({maxMessageSize:-1,receiveHighWaterMark:0})),shell:this.generateChannel(e,"shell",()=>new t.Dealer({routingId:r,sendHighWaterMark:0,receiveHighWaterMark:0,maxMessageSize:-1})),control:this.generateChannel(e,"control",()=>new t.Dealer({routingId:r,sendHighWaterMark:0,receiveHighWaterMark:0,maxMessageSize:-1})),stdin:this.generateChannel(e,"stdin",()=>new t.Dealer({routingId:r,sendHighWaterMark:0,receiveHighWaterMark:0,maxMessageSize:-1}))};return i.iopub.subscribe(),i}onIncomingMessage(e,t){let r=this.closed?{}:__.decode(t,this.connection.key,this.connection.signature_scheme);r.channel=e,this.receiveHooks.length?this.msgChain=this.msgChain.then(()=>{let i=this.serialize(r);return Promise.all(this.receiveHooks.map(o=>o(i)))}).then(()=>this.fireOnMessage(r,e)):this.msgChain=this.msgChain.then(()=>this.fireOnMessage(r,e))}fireOnMessage(e,t){if(!this.closed)try{upe(e,t),this.onmessage({data:e,type:"message",target:this})}catch(r){p.error(`Failed to handle message in Jupyter Kernel package ${JSON.stringify(e)}`,r)}}sendMessage(e,t){let r=__.encode(e,this.connection.key,this.connection.signature_scheme);if(!t&&this.sendHooks.length){let i=this.serialize(e);this.sendChain=this.sendChain.then(()=>Promise.all(this.sendHooks.map(o=>o(i,h)))).then(async()=>{try{await this.postToSocket(e.channel,r)}catch(o){p.error(`Failed to write data to the kernel channel ${e.channel}`,r,o)}})}else this.sendChain=this.sendChain.then(()=>{this.postToSocket(e.channel,r)});this.sendChain.catch(h)}postToSocket(e,t){let r=this.channels[e];r?r.send(t).catch(i=>{p.error("Error communicating with the kernel",i)}):p.error(`Attempting to send message on invalid channel: ${e}`)}},cpe=["username","version","session","msg_id","msg_type"],z5={stream:{name:"string",text:"string"},display_data:{data:"object",metadata:"object"},execute_input:{code:"string",execution_count:"number"},execute_result:{execution_count:"number",data:"object",metadata:"object"},error:{ename:"string",evalue:"string",traceback:"object"},status:{execution_state:["string",["starting","idle","busy","restarting","dead"]]},clear_output:{wait:"boolean"},comm_open:{comm_id:"string",target_name:"string",data:"object"},comm_msg:{comm_id:"string",data:"object"},comm_close:{comm_id:"string"},shutdown_reply:{restart:"boolean"}};function upe(n,e){let t=n.header;cpe.forEach(r=>{typeof t[r]!="string"&&(t[r]="")}),typeof n.channel!="string"&&(n.channel=e),n.content||(n.content={}),n.metadata||(n.metadata={}),n.channel==="iopub"&&dpe(n)}function dpe(n){if(n.channel!=="iopub")return;let e=n.header.msg_type;if(e in z5){let t=z5[e];if(t===void 0)return;let r=Object.keys(t),i=n.content;for(let o=0;o<r.length;o++){let s=t[r[o]];Array.isArray(s)||(s=[s]);let a=r[o];if(!(a in i)||typeof i[a]!==s[0])switch(s[0]){case"string":i[a]="";break;case"boolean":i[a]=!1;break;case"object":i[a]={};break;case"number":i[a]=0;break}}}}var Zd=k(UD()),ep=require("vscode");var CO,R_=class{constructor(e,t,r,i,o){this.resource=e;this.kernelLauncher=t;this.workingDirectory=r;this.launchTimeout=i;this.kernelConnectionMetadata=o;this.statusChanged=new Zd.Signal(this);this.connectionStatusChanged=new Zd.Signal(this);this.iopubMessage=new Zd.Signal(this);this.unhandledMessage=new Zd.Signal(this);this.anyMessage=new Zd.Signal(this);this.disposed=new Zd.Signal(this);this.id=(0,T_.default)();this.clientId=(0,T_.default)();this.username=(0,T_.default)();this.infoDeferred=re();this.name=Xh(o)||"python3",this.model={name:this.name,id:this.id}}get connectionStatus(){return this.realKernel?this.realKernel.connectionStatus:"connecting"}get serverSettings(){return this.realKernel.serverSettings}get status(){return this.isDisposed||this.hasShutdown?"dead":this.isRestarting?"restarting":this.isShuttingDown?"terminating":this.realKernel?this.realKernel.status:"starting"}get info(){return this.realKernel?this.realKernel.info:this.infoDeferred.promise}get handleComms(){return this.realKernel.handleComms}get isDisposed(){return this._isDisposed||this.realKernel?.isDisposed===!0}async restart(){this.stopHandlingKernelMessages(),this._isDisposed=!1,this.isShuttingDown=!1,this.hasShutdown=!1,this.isRestarting=!0,this.restartToken=new ep.CancellationTokenSource;try{this.statusChanged.emit("restarting"),await this.start(this.restartToken.token)}finally{this.restartToken.dispose()}}async start(e){let t=[],r=og(e);t.push(r);let i;try{let o=this.kernelProcess;this.kernelProcess=void 0,o?.dispose(),Xn(()=>this.socket?.dispose()),Xn(()=>this.realKernel?.dispose());let s=this.kernelProcess=await st.wrapAndReportProgress(this.resource,y.connectingToKernel(it(this.kernelConnectionMetadata)),()=>this.kernelLauncher.launch(this.kernelConnectionMetadata,this.launchTimeout,this.resource,this.workingDirectory.fsPath,e));if(e.isCancellationRequested)throw new ep.CancellationError;this.hookupKernelProcessExitHandler(s);let a=mpe(this.kernelProcess,this.clientId,this.username,this.model);this.kernelProcess=a.kernelProcess,this.realKernel=a.realKernel,this.socket=a.socket,a.realKernel.info.then(c=>this.infoDeferred.resolve(c),c=>this.infoDeferred.reject(c)),Ft(this.kernelProcess.exited)(c=>{i=new Ol(c.exitCode||-1,c.stderr,this.kernelConnectionMetadata),r.cancel()},this,t);let l=setTimeout(()=>r.cancel(),this.launchTimeout);if(t.push({dispose:()=>clearTimeout(l)}),await st.wrapAndReportProgress(this.resource,y.waitingForJupyterSessionToBeIdle,()=>{let c=Pn(this.resource)?.kernelReady();return ppe(r.token,this.launchTimeout,this.resource,this.kernelConnectionMetadata,a.realKernel).finally(()=>c?.stop())}),i)throw i;if(e.isCancellationRequested)throw new ep.CancellationError;this.startHandleKernelMessages(),this.isRestarting=!1,this.statusChanged.emit(this.status)}catch(o){throw await Promise.all([this.kernelProcess?Ss(this.kernelProcess):Promise.resolve(),this.realKernel?.shutdown().catch(s=>p.warn(`Failed to shutdown kernel, ${this.kernelConnectionMetadata.id}`,s))]),i||(sr(o)&&r.token.isCancellationRequested&&!e.isCancellationRequested?new Am(this.kernelConnectionMetadata):(sr(o)||e.isCancellationRequested?p.debug("Starting of raw session cancelled by user"):p.error(`Failed to connect raw kernel session: ${o}`),o))}finally{z(t)}}hookupKernelProcessExitHandler(e){let t=this.exitHandler;this.exitHandler=void 0,t?.dispose(),this.exitHandler=e.exited(r=>{e!==this.kernelProcess||this.isDisposing||!this.kernelProcess||this.status==="dead"||this.status==="terminating"||(p.error(`Disposing session as kernel process died ExitCode: ${r.exitCode}, Reason: ${r.reason}`),Pt(this.resource,"DS_INTERNAL.RAWKERNEL_SESSION_KERNEL_PROCESS_EXITED",r.exitCode?{exitCode:r.exitCode}:void 0,{exitReason:xh(r.reason)}),this.shutdown().catch(h))},this)}dispose(){this.isDisposed||this.isDisposing||(this.isDisposing=!0,this.shutdown().finally(()=>{this._isDisposed=!0,this.disposed.emit(),Zd.Signal.disconnectAll(this)}).catch(h))}async shutdown(){this.isShuttingDown||this.hasShutdown||(this.isShuttingDown=!0,this.restartToken?.cancel(),this.restartToken?.dispose(),ny(this.realKernel),await(this.kernelProcess?Ss(this.kernelProcess).catch(h):Promise.resolve()),this.socket.dispose(),this.stopHandlingKernelMessages(),this.isShuttingDown=!1,this.hasShutdown=!0,this.isDisposing&&(this._isDisposed=!0),this.statusChanged.emit(this.status),this.connectionStatusChanged.emit("disconnected"))}createComm(e,t){return this.realKernel.createComm(e,t)}hasComm(e){return this.realKernel.hasComm(e)}clone(e){return this}get spec(){if(Zh(this.kernelConnectionMetadata)){let e=JSON.parse(JSON.stringify(this.kernelConnectionMetadata.kernelSpec)),t="resources"in e?e.resources:{};return{...e,resources:t}}return p.error("Fetching kernel spec from raw kernel using JLab API"),this.realKernel.spec}sendShellMessage(e,t,r){return this.realKernel.sendShellMessage(e,t,r)}sendControlMessage(e,t,r){return this.realKernel.sendControlMessage(e,t,r)}reconnect(){throw new Error("Reconnect is not supported for Local Kernels as connections cannot be lost.")}async interrupt(){if(this.kernelProcess?.canInterrupt)return this.kernelProcess?.interrupt();if(this.kernelConnectionMetadata.kernelSpec.interrupt_mode==="message"){p.info("Interrupting kernel with a shell message");let t=require("@jupyterlab/services").KernelMessage.createMessage({msgType:"interrupt_request",channel:"shell",username:this.realKernel.username,session:this.realKernel.clientId,content:{}});await this.realKernel.sendShellMessage(t,!0,!0).done.catch(r=>p.error("Failed to interrupt via a message",r))}else p.error("Kernel interrupt not supported")}requestKernelInfo(){return this.realKernel.requestKernelInfo()}requestComplete(e){return this.realKernel.requestComplete(e)}requestInspect(e){return this.realKernel.requestInspect(e)}requestHistory(e){return this.realKernel.requestHistory(e)}requestExecute(e,t,r){return this.realKernel.requestExecute(e,t,r)}requestDebug(e,t){return this.realKernel.requestDebug(e,t)}requestIsComplete(e){return this.realKernel.requestIsComplete(e)}requestCommInfo(e){return this.realKernel.requestCommInfo(e)}sendInputReply(e){return this.realKernel.sendInputReply(e)}registerCommTarget(e,t){return this.realKernel.registerCommTarget(e,t)}removeCommTarget(e,t){return this.realKernel.removeCommTarget(e,t)}registerMessageHook(e,t){this.realKernel.registerMessageHook(e,t)}removeMessageHook(e,t){this.realKernel.removeMessageHook(e,t)}startHandleKernelMessages(){this.realKernel.anyMessage.connect(this.onAnyMessage,this),this.realKernel.iopubMessage.connect(this.onIOPubMessage,this),this.realKernel.unhandledMessage.connect(this.onUnhandledMessage,this),this.realKernel.statusChanged.connect(this.onStatusChanged,this),this.realKernel.disposed.connect(this.onDisposed,this)}stopHandlingKernelMessages(){this.realKernel.anyMessage.disconnect(this.onAnyMessage,this),this.realKernel.iopubMessage.disconnect(this.onIOPubMessage,this),this.realKernel.unhandledMessage.disconnect(this.onUnhandledMessage,this),this.realKernel.statusChanged.disconnect(this.onStatusChanged,this),this.realKernel.disposed.disconnect(this.onDisposed,this)}onAnyMessage(e,t){this.anyMessage.emit(t)}onIOPubMessage(e,t){this.iopubMessage.emit(t)}onUnhandledMessage(e,t){this.unhandledMessage.emit(t)}onStatusChanged(e,t){this.statusChanged.emit(t)}onDisposed(e){this.disposed.emit()}};async function ppe(n,e,t,r,i){try{p.debug("Waiting for Raw Session to be ready in postStartRawSession"),await Zt(n,fpe(i,r,e)),p.debug("Successfully waited for Raw Session to be ready in postStartRawSession")}catch(u){throw p.error("Failed waiting for Raw Session to be ready",u),sr(u)||n.isCancellationRequested?new ep.CancellationError:u}p.debug(`Kernel status is '${i?.status}' before requesting kernel info and after ready`);let o=re(),s=re(),a=()=>o.resolve(!0);o.promise.catch(h),s.promise.catch(h),i.iopubMessage.connect(a);let l=()=>{let d=require("@jupyterlab/services").KernelMessage.createMessage({msgType:"kernel_info_request",channel:"control",username:i.username,session:i.clientId,content:{}});i.sendControlMessage(d,!0,!0).done.then(()=>s.resolve(!0)).catch(h)},c=()=>{i.requestKernelInfo().then(()=>s.resolve(!0)).catch(h)};try{let u=new Ue,d=0;for(;u.elapsedTime<e*1e3;){d+=1;try{p.debug("Sending request for kernelInfo"),l(),c(),await Zt(n,Promise.all([o.promise,s.promise]),gi(Math.min(e,500)).then(h))}catch(f){throw p.error("Failed to request kernel info",f),f}if(o.completed&&s.completed){p.trace("Got response for requestKernelInfo");break}else{p.trace("Did not get a response for requestKernelInfo");continue}}o.completed&&s.completed?p.debug(`Successfully completed postStartRawSession after ${d} attempt(s) in ${u.elapsedTime}ms`):p.warn(`Didn't get response for requestKernelInfo after ${d} attempt(s) in ${u.elapsedTime}ms.`),Pt(t,"DS_INTERNAL.RAWKERNEL_INFO_RESPONSE",{duration:u.elapsedTime,attempts:d},{timedout:!o.completed||!s.completed})}finally{i.iopubMessage.disconnect(a)}}function mpe(n,e,t,r){let i=require("@jupyterlab/services"),o=require("@jupyterlab/services/lib/kernel/serialize"),s;class a extends D_{constructor(){super(n.connection,o.serialize),s=this}}let l=i.ServerConnection.makeSettings({WebSocket:a,wsUrl:"RAW"});CO||(CO=require("@jupyterlab/services/lib/kernel/nonSerializingKernel"));let c=new CO.KernelConnection({serverSettings:l,clientId:e,handleComms:!0,username:t,model:r});return ep.workspace.getConfiguration("jupyter").get("enablePythonKernelLogging",!1)&&c.anyMessage.connect((u,d)=>{p.trace(`[AnyMessage Event] [${d.direction}] [${n.pid}] ${JSON.stringify(d.msg)}`)}),Yi.set(c.id,s),s.emit("open"),{realKernel:c,socket:s,kernelProcess:n}}async function fpe(n,e,t){p.debug(`Waiting for Raw session to be ready, status: ${n.connectionStatus}`);let r=re(),i=(s,a)=>{a=="connected"?(p.trace("Raw session connected"),r.resolve(a)):p.trace(`Raw session not connected, status: ${a}`)};n.connectionStatusChanged.connect(i),n.connectionStatus==="connected"&&(p.trace("Raw session connected"),r.resolve(n.connectionStatus));let o=await fr(t,r.promise);if(n.connectionStatusChanged.disconnect(i),p.debug(`Waited for Raw session to be ready & got status: ${o}`),o!=="connected")throw new Am(e)}var A_=class{constructor(e,t,r,i,o,s){this.resource=e;this.kernelConnectionMetadata=i;this.type=s;this.isDisposed=!1;this.statusChanged=new Ia.Signal(this);this.kernelChanged=new Ia.Signal(this);this.terminated=new Ia.Signal(this);this.iopubMessage=new Ia.Signal(this);this.unhandledMessage=new Ia.Signal(this);this.anyMessage=new Ia.Signal(this);this.disposed=new Ia.Signal(this);this.connectionStatusChanged=new Ia.Signal(this);this.propertyChanged=new Ia.Signal(this);this._didShutDownOnce=!1;this.id=(0,Y5.default)(),this.name=Xh(this.kernelConnectionMetadata)||"python3",this.path=this.resource?.fsPath||this.kernelConnectionMetadata.interpreter?.uri.fsPath||"kernel_path",this._kernel=new R_(e,t,r,o,i),this._kernel.statusChanged.connect(this.onKernelStatus,this),this._kernel.iopubMessage.connect(this.onIOPubMessage,this),this._kernel.connectionStatusChanged.connect(this.onKernelConnectionStatus,this),this._kernel.unhandledMessage.connect(this.onUnhandledMessage,this),this._kernel.anyMessage.connect(this.onAnyMessage,this),this._kernel.disposed.connect(this.onDisposed,this)}get connectionStatus(){return this._kernel?.connectionStatus||"disconnected"}get serverSettings(){return require("@jupyterlab/services").ServerConnection.makeSettings({wsUrl:"RAW"})}get model(){return{id:this.id,name:this.name,path:this.path,type:"notebook",kernel:{id:this._kernel?.id,name:this.name}}}get status(){return this.isDisposed?"dead":this.isTerminating?"terminating":this.kernel?.status??"unknown"}get kernel(){return this._kernel}async startKernel(e){await Qi(this.resource,{kernelConnection:this.kernelConnectionMetadata}),await this._kernel.start(e.token)}dispose(){this._isDisposing=!0;let e=new Error().stack;Pt(this.resource,"DS_INTERNAL.RAWKERNEL_SESSION_DISPOSED",void 0,{stacktrace:e});try{this._kernel.statusChanged.disconnect(this.onKernelStatus,this),this._kernel.iopubMessage.disconnect(this.onIOPubMessage,this),this._kernel.connectionStatusChanged.disconnect(this.onKernelConnectionStatus,this),this._kernel.unhandledMessage.disconnect(this.onUnhandledMessage,this),this._kernel.anyMessage.disconnect(this.onAnyMessage,this),this._kernel.disposed.disconnect(this.onDisposed,this)}catch{}this.shutdown().catch(h).finally(()=>{this._kernel.dispose(),this.isDisposed=!0,this.disposed.emit(),Ia.Signal.disconnectAll(this)})}async shutdown(){this._didShutDownOnce||(this._didShutDownOnce=!0,this.isTerminating=!0,this.statusChanged.emit("terminating"),await this._kernel.shutdown().catch(e=>p.warn(`Failed to shutdown kernel, ${this.kernelConnectionMetadata.id}`,e)),this.isTerminating=!1,this._isDisposing&&(this.isDisposed=!0),this.terminated.emit(),this.statusChanged.emit(this.status))}onKernelStatus(e,t){p.ci(`RawSession status changed to ${t}`),this.statusChanged.emit(t)}setPath(e){throw new Error("Not yet implemented")}setName(e){throw new Error("Not yet implemented")}setType(e){throw new Error("Not yet implemented")}changeKernel(e){throw new Error("Not yet implemented")}onIOPubMessage(e,t){this.iopubMessage.emit(t)}onAnyMessage(e,t){this.anyMessage.emit(t)}onUnhandledMessage(e,t){this.unhandledMessage.emit(t)}onKernelConnectionStatus(e,t){this.connectionStatusChanged.emit(t)}onDisposed(e){this.disposed.emit()}};var Ry=class{constructor(e,t,r){this.configService=e;this.kernelLauncher=t;this.fs=r}async create(e){p.trace(`Creating raw notebook for resource '${j(e.resource)}'`);let t,r=Pn(e.resource)?.computeCwd(),[i,o]=await Promise.all([Zt(e.token,OC(e.resource).then(a=>ou.Uri.file(a))),ct(e.kernelConnection)?Zt(e.token,hpe(e.resource,this.configService,this.fs).then(a=>a?ou.Uri.file(a):void 0)):void 0,Zt(e.token,Qi(e.resource,{kernelConnection:e.kernelConnection}))]);r?.stop();let s=this.configService.getSettings(e.resource).jupyterLaunchTimeout;t=new A_(e.resource,this.kernelLauncher,o||i,e.kernelConnection,s,(e.resource?.path||"").toLowerCase().endsWith(".ipynb")?"notebook":"console");try{await Zt(e.token,t.startKernel(e))}catch(a){throw sr(a)||e.token.isCancellationRequested?p.debug("Starting of raw session cancelled by user"):p.error(`Failed to connect raw kernel session: ${a}`),t?.shutdown().catch(l=>p.error(`Failed to dispose of raw session on launch error: ${l} `)).finally(()=>t?.dispose()).catch(h),a}return new E_(t,e.resource,e.kernelConnection)}};Ry=v([(0,Ay.injectable)(),m(0,(0,Ay.inject)(ie)),m(1,(0,Ay.inject)(nD)),m(2,(0,Ay.inject)(tt))],Ry);async function hpe(n,e,t){let r=await gpe(n,e,t);if(r&&await t.exists(r))return r.fsPath;if(n&&n.scheme!=="untitled"&&await t.exists(n)&&(r=ou.Uri.file(BP(ke(r),n,e.getSettings(n))),r&&await t.exists(r)))return r.fsPath}async function gpe(n,e,t){let r,i=e.getSettings(n),o=CB(i.notebookFileRoot);if(o&&ou.workspace.workspaceFolders?.length){let s=ou.Uri.file(o),a=ou.workspace.workspaceFolders[0].uri;if(DE(o))await t.exists(s)?r=s:r=a;else if(o.includes("${"))r=s;else{let l=ou.Uri.joinPath(a,o);await t.exists(l)?r=l:r=a}}return r}var N_=k(N());var Ny=class{constructor(e){this.configuration=e}get isSupported(){return this.isSupportedForLocalLaunch()}isSupportedForLocalLaunch(){return!this.isZQMDisabled()&&this.zmqSupported()}isZQMDisabled(){return this.configuration.getSettings().disableZMQSupport}zmqSupported(){if(typeof this._isSupported=="boolean")return this._isSupported;if((process.env.VSC_JUPYTER_NON_RAW_NATIVE_TEST||"").toLowerCase()==="true")return!1;try{x_(),this._isSupported=!0}catch{this._isSupported=!1}return this._isSupported}};Ny=v([(0,N_.injectable)(),m(0,(0,N_.inject)(ie))],Ny);var su=k(N()),X5=require("vscode");var yn=Symbol("IJupyterVariables"),M_=Symbol("IKernelVariableRequester"),K_=Symbol("IJupyterVariablesProvider");var Zm=class{constructor(e,t,r){this.kernelVariables=t;this.debuggerVariables=r;this.refreshEventEmitter=new X5.EventEmitter;e.push(r.refreshRequired(this.fireRefresh.bind(this))),e.push(t.refreshRequired(this.fireRefresh.bind(this)))}get refreshRequired(){return this.refreshEventEmitter.event}getAllVariableDiscriptions(e,t,r,i){return this.variableHandler.getAllVariableDiscriptions(e,t,r,i)}async getVariables(e,t){return this.variableHandler.getVariables(e,t)}async getFullVariable(e,t){return this.variableHandler.getFullVariable(e,t)}async getMatchingVariable(e,t,r){return this.variableHandler.getMatchingVariable(e,t,r)}async getDataFrameInfo(e,t,r,i){return this.variableHandler.getDataFrameInfo(e,t,r,i)}async getVariableValueSummary(e,t,r){return this.variableHandler.getVariableValueSummary(e,t,r)}async getDataFrameRows(e,t,r,i,o){return this.variableHandler.getDataFrameRows(e,t,r,i,o)}get variableHandler(){return this.debuggerVariables.active?this.debuggerVariables:this.kernelVariables}fireRefresh(){this.refreshEventEmitter.fire()}};v([or("DS_INTERNAL.VARIABLE_EXPLORER_FETCH_TIME")],Zm.prototype,"getVariables",1),Zm=v([(0,su.injectable)(),m(0,(0,su.inject)(M)),m(1,(0,su.inject)(yn)),m(1,(0,su.named)(je.KERNEL_VARIABLES)),m(2,(0,su.inject)(yn)),m(2,(0,su.named)(je.DEBUGGER_VARIABLES))],Zm);var ef=k(N());var eq=require("vscode");var Z5=1e3*60*60*24*2,Sa=class extends Qt{constructor(t,r,i,o){super();this.serverStorage=r;this.context=i;this.fs=o;this.executedCells=new WeakMap;this.chainedPromises=Promise.resolve();i.globalStorageUri,t.push(this),this.storageFile=eq.Uri.joinPath(this.context.globalStorageUri,"lastExecutedRemoteCell.json")}activate(){this._register(this.serverStorage.onDidRemove(this.onDidRemoveServers,this))}async getLastTrackedCellExecution(t,r){if(t.isUntitled||!_t(r.kernelConnectionMetadata)||!r.session?.id)return;if(this.staleState&&this.staleState[t.uri.toString()])return this.staleState[t.uri.toString()];let i=await this.getStorageFile(),o={};try{let s=await this.fs.readFile(i);o=JSON.parse(s.toString()),this.staleState=o}catch{return}return o[t.uri.toString()]}trackCellExecution(t,r){if(!_t(r.kernelConnectionMetadata)||t.document.isUntitled)return;this.executedCells.delete(t);let i=[],o=(a,l)=>{if(l.direction==="send"){let c=l.msg;if(c.header.msg_type==="execute_request"&&c.metadata&&typeof c.metadata=="object"&&c.metadata&&"cellId"in c.metadata&&typeof c.metadata.cellId=="string"&&c.metadata.cellId===t.document.uri.toString()){let u=c.header.msg_id;this.executedCells.set(t,{msg_id:u,kernelId:r.session?.kernel?.id||"",cellIndex:t.index})}}else if(l.direction==="recv"){let c=l.msg,u=this.executedCells.get(t);if(u?.msg_id&&Zc(c)===u.msg_id){if(!u.startTime){u.startTime=new Date().getTime();try{u.startTime=new Date(c.header.date).getTime()}catch{}this.executedCells.set(t,u)}"execution_count"in c.content&&typeof c.content.execution_count=="number"&&!u.executionCount&&u.executionCount!==c.content.execution_count&&(u.executionCount=c.content.execution_count,this.executedCells.set(t,u),this.trackLastExecution(t,r,u),z(i))}}},s=()=>{let a=r.session;a&&(a.anyMessage.connect(o),i.push({dispose:()=>Xn(()=>a.anyMessage?.disconnect(o))}))};r.onStarted(()=>s(),i),r.session&&s()}deleteTrackedCellExecution(t,r){t.notebook.isUntitled||!_t(r.kernelConnectionMetadata)||!r.session?.id||(this.chainedPromises=this.chainedPromises.finally(async()=>{let i={};try{let s=await this.getStorageFile().then(()=>this.fs.readFile(this.storageFile));i=JSON.parse(s.toString())}catch{return}let o=t.notebook.uri.toString();i[o].cellIndex===t.index&&(delete i[o],this.staleState=i,await this.fs.writeFile(this.storageFile,JSON.stringify(i)))}))}getStorageFile(){return this.ensureStorageExistsPromise=this.ensureStorageExistsPromise||(async()=>(await this.fs.createDirectory(this.context.globalStorageUri),this.storageFile))(),this.ensureStorageExistsPromise}trackLastExecution(t,r,i){if(!i.executionCount||!i.msg_id||!i.startTime||!_t(r.kernelConnectionMetadata)||!r.session?.id)return;let o={cellIndex:t.index,executionCount:i.executionCount,kernelId:r.session?.kernel?.id||"",msg_id:i.msg_id,serverId:Ot(r.kernelConnectionMetadata.serverProviderHandle),sessionId:r.session?.id,startTime:i.startTime};this.chainedPromises=this.chainedPromises.finally(async()=>{let s={};try{let l=await this.getStorageFile().then(()=>this.fs.readFile(this.storageFile));s=JSON.parse(l.toString())}catch{}let a=t.notebook.uri.toString();s[a]=o,this.removeOldItems(s),this.staleState=s,await this.fs.writeFile(this.storageFile,JSON.stringify(s))})}onDidRemoveServers(t){t.length!==0&&(this.chainedPromises=this.chainedPromises.finally(async()=>{await this.getStorageFile();let r={};try{let s=await this.fs.readFile(this.storageFile);r=JSON.parse(s.toString())}catch{}let i=!1,o=new Set(t.map(s=>Ot(s)));Object.keys(r).forEach(s=>{let a=r[s];(o.has(a.serverId)||Date.now()-a.startTime>Z5)&&(delete r[s],i=!0)}),i&&(this.removeOldItems(r),this.staleState=r,await this.fs.writeFile(this.storageFile,JSON.stringify(r)))}))}removeOldItems(t){Object.keys(t).forEach(r=>{let i=t[r];i&&Date.now()-i.startTime>Z5&&delete t[r]})}};Sa=v([(0,ef.injectable)(),m(0,(0,ef.inject)(M)),m(1,(0,ef.inject)($t)),m(2,(0,ef.inject)(et)),m(3,(0,ef.inject)(tt))],Sa);var Ky=k(N());var uw=require("vscode");var My=class{constructor(e,t,r){this.serverUriStorage=e;this.registrations=t;this.disposables=r}activate(){this.disposables.push(uw.commands.registerCommand(B.ClearSavedJupyterUris,async()=>{await this.serverUriStorage.clear().catch(h),await Promise.all(this.registrations.jupyterCollections.filter(e=>e.id.startsWith("_builtin")||e.extensionId===Fe).map(async e=>{if(!e.serverProvider||!e.serverProvider.removeJupyterServer)return;let t=new uw.CancellationTokenSource,r=await Promise.resolve(e.serverProvider.provideJupyterServers(t.token));await Promise.all((r||[]).map(i=>e.serverProvider.removeJupyterServer(i).catch(h)))})).catch(h),await uw.commands.executeCommand("dataScience.ClearUserProviderJupyterServerCache").then(h,h)},this))}};My=v([(0,Ky.injectable)(),m(0,(0,Ky.inject)($t)),m(1,(0,Ky.inject)(jt)),m(2,(0,Ky.inject)(M))],My);var O_=k(N());var Oy=class{constructor(e){this.registry=e;this.priority=0}activate(){this.registry.register(this,St),this.registry.register(this,ft)}async getCode(e){return dt(e.kernelConnectionMetadata)?[lj]:[]}};Oy=v([(0,O_.injectable)(),m(0,(0,O_.inject)(kc))],Oy);function tq(n,e){n.addSingleton(me,Dv),n.addSingleton(me,Rv),n.addSingleton(oi,Ny),n.addSingleton(Ho,Ho),n.addSingleton(iD,Ry),n.addSingleton(nD,Vs),n.addSingleton(fa,fa),n.addSingleton(kr,cy),n.addSingleton(me,Qm),n.addSingleton(me,_v),n.addSingleton(Mr,Mr),n.addSingleton(Yd,Bl),n.addSingleton(Yo,Yo),n.addBinding(Yo,me),n.addSingleton(tu,tu),n.addSingleton(me,yy),n.addSingleton(yn,Zm,je.ALL_VARIABLES),n.addSingleton(Es,Hd),n.addSingleton(me,Hm),n.addSingleton(me,hy),n.addSingleton(me,ay),n.addSingleton(me,ly),n.addSingleton(me,vy),n.addSingleton(De,my),n.addSingleton(sm,fy),n.addSingleton(me,My),n.addSingleton(Sa,Sa),n.addBinding(Sa,me),u8(n,e),_h("isInsiderExtension",Qf()?"true":"false");let t=n.get(Be);_h("isPythonExtensionInstalled",t.isPythonExtensionInstalled?"true":"false");let r=n.get(oi);_h("rawKernelSupported",r.isSupported?"true":"false"),n.addSingleton(me,Qr),n.addSingleton(kc,gy),n.addSingleton(nu,nu),n.addSingleton(me,Oy)}var tp=k(N()),tf=require("vscode");var Fy=class{constructor(e,t,r,i,o){this.disposables=e;this.extensionChecker=t;this.progressReporter=r;this.pythonApi=i;this.errorHandler=o}activate(){this.disposables.push(tf.commands.registerCommand(B.InstallPythonExtensionViaKernelPicker,this.installPythonExtensionViaKernelPicker,this)),this.disposables.push(tf.commands.registerCommand(B.InstallPythonViaKernelPicker,this.installPythonViaKernelPicker,this))}async installPythonViaKernelPicker(){R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"displayed"});let e=this.installedOnceBefore?[de.install,de.reload]:[de.install],t=await tf.window.showErrorMessage(y.pythonNotInstalled,{modal:!0},...e);t===de.install?(this.installedOnceBefore=!0,R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"download"}),await tf.commands.executeCommand("python.installPython")):t===de.reload?(R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"reload"}),await tf.commands.executeCommand("jupyter.reloadVSCode",y.reloadRequired)):R("DS_INTERNAL.PYTHON_NOT_INSTALLED",void 0,{action:"dismissed"})}async installPythonExtensionViaKernelPicker(){if(!this.extensionChecker.isPythonExtensionInstalled){R("DS_INTERNAL.PYTHON_EXTENSION_NOT_INSTALLED",void 0,{action:"displayed"});let e=this.progressReporter.createProgressIndicator(y.installingPythonExtension);try{await this.extensionChecker.directlyInstallPythonExtension();let t="hooked",r=await fr(6e4,"timeout",this.pythonApi.pythonExtensionHooked.then(()=>t));if(this.extensionChecker.isPythonExtensionInstalled&&r===t)return p.debug("Python Extension installed via Kernel Picker command"),R("DS_INTERNAL.PYTHON_EXTENSION_INSTALLED_VIA_KERNEL_PICKER",void 0,{action:"success"}),!0;p.error("Failed to install Python Extension via Kernel Picker command"),R("DS_INTERNAL.PYTHON_EXTENSION_INSTALLED_VIA_KERNEL_PICKER",void 0,{action:"failed"}),this.errorHandler.handleError(new Error(y.failedToInstallPythonExtension)).then(h,h)}finally{e.dispose()}}}};Fy=v([(0,tp.injectable)(),m(0,(0,tp.inject)(M)),m(1,(0,tp.inject)(Be)),m(2,(0,tp.inject)($o)),m(3,(0,tp.inject)(Ht)),m(4,(0,tp.inject)(Gr))],Fy);var Ly=k(N()),nf=require("vscode");var rf=class{constructor(e,t,r){this.disposables=e;this.controllerRegistration=t;this.preferredRemoteKernelIdProvider=r}activate(){nf.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebook,this,this.disposables),nf.workspace.notebookDocuments.forEach(e=>this.onDidOpenNotebook(e))}async onDidOpenNotebook(e){if(!Et(e))return;let t=await this.preferredRemoteKernelIdProvider.getPreferredRemoteKernelId(e);if(!t)return;let r=()=>{let o=this.controllerRegistration.getSelected(e),s=this.controllerRegistration.registered.find(a=>a.id===t);return s&&o?.id!==s.id?(this.switchKernel(e,s.connection).catch(h),!0):!1};if(r())return;let i=this.controllerRegistration.onDidChange(o=>{o.added.length&&r()&&i.dispose()},this,this.disposables);this.controllerRegistration.onControllerSelected(o=>{o.notebook===e&&i.dispose()},this,this.disposables)}async switchKernel(e,t){p.debug(`Using notebook.selectKernel to force remote kernel for ${j(e.uri)} to ${t.id}`),await nf.commands.executeCommand("notebook.selectKernel",{id:t.id,extension:Fe}),await vE(async()=>{if(nf.window.activeNotebookEditor?.notebook===e){let i=this.controllerRegistration.getSelected(e);if(i?.connection.id===t.id)return i.restoreConnection(e).catch(h),!0}return!1},2e3,100)?p.debug(`Successfully switched remote kernel for ${j(e.uri)} to ${t.id}`):p.warn(`Failed to switch remote kernel for ${j(e.uri)} to ${t.id}`)}};v([Br()],rf.prototype,"onDidOpenNotebook",1),rf=v([(0,Ly.injectable)(),m(0,(0,Ly.inject)(M)),m(1,(0,Ly.inject)(ot)),m(2,(0,Ly.inject)(Ho))],rf);var Wy=k(N()),np=require("vscode");var Po=require("vscode");function ql(n){if(typeof n!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof n}\``);var e=nq();let t=e;return t.default&&(t=t.default),n.replace(t(),"")}var pw=k(N()),cq=require("vscode");var wO=k(Io()),sq=require("vscode");function iq(n){if(!n||!Array.isArray(n)||n.length===0)return;let e=[];for(let t=0;t<n.length;t+=1){let r=n[t];if("buffer"in r&&"byteOffset"in r){let i=Array.apply(null,new Uint8Array(r.buffer));e.push({...r,byteLength:r.byteLength,byteOffset:r.byteOffset,buffer:i})}else e.push([...new Uint8Array(r)])}return e}function oq(n){if(!Array.isArray(n)||n.length===0)return n;let e=[];for(let t=0;t<n.length;t+=1){let r=n[t];if("buffer"in r&&"byteOffset"in r){let i=new Uint8Array(r.buffer).buffer,o=new DataView(i,r.byteOffset,r.byteLength);e.push(o)}else{let i=new Uint8Array(r).buffer;e.push(i)}}return e}var dw=new WeakMap;function aq(n,e){let t=dw.get(n);t&&(t.targets.add(e),t.registerCommTarget(e))}function lq(n,e){dw.get(n)?.targets?.delete?.(e)}var F_=class{constructor(e,t){this.kernelProvider=e;this.document=t;this.commTargetsRegistered=new Set;this.pendingTargetNames=new Set;this._postMessageEmitter=new sq.EventEmitter;this.messageHooks=new Map;this.pendingHookRemovals=new Map;this.messageHookRequests=new Map;this.disposables=[];this.disposed=!1;this.pendingMessages=[];this.subscribedToKernelSocket=!1;this.waitingMessageIds=new Map;this.outputWidgetIds=new Set;this.isUsingIPyWidgets=!1;this.pendingTargetNames.add("jupyter.widget"),e.onDidStartKernel(i=>{i.notebook===t&&this.initialize()},this,this.disposables),this.mirrorSend=this.mirrorSend.bind(this),this.onKernelSocketMessage=this.onKernelSocketMessage.bind(this);let r=require("@jupyterlab/services/lib/kernel/serialize");this.deserialize=r.deserialize}get postMessage(){return this._postMessageEmitter.event}dispose(){for(this.disposed=!0;this.disposables.length;)this.disposables.shift()?.dispose()}receiveMessage(e){switch(e.message){case"IPyWidgets_logMessage":{let t=e.payload;t.category==="error"?p.error(`Widget Error: ${t.message}`):p.trace(`Widget Message: ${t.message}`);break}case"IPyWidgets_Ready":this.sendKernelOptions(),this.initialize();break;case"IPyWidgets_msg":this.sendRawPayloadToKernelSocket(e.payload);break;case"IPyWidgets_binary_msg":this.sendRawPayloadToKernelSocket(oq(e.payload)[0]);break;case"IPyWidgets_msg_received":this.onKernelSocketResponse(e.payload);break;case"IPyWidgets_registerCommTarget":this.registerCommTarget(e.payload);break;case"IPyWidgets_RegisterMessageHook":this.registerMessageHook(e.payload);break;case"IPyWidgets_RemoveMessageHook":this.possiblyRemoveMessageHook(e.payload);break;case"IPyWidgets_MessageHookResult":this.handleMessageHookResponse(e.payload);break;case"IPyWidgets_iopub_msg_handled":this.iopubMessageHandled(e.payload);break;default:break}}sendRawPayloadToKernelSocket(e){this.pendingMessages.push(e),this.sendPendingMessages()}registerCommTarget(e){this.pendingTargetNames.add(e),this.initialize()}initialize(){this.jupyterLab||(this.jupyterLab=require("@jupyterlab/services"));let e=this.getKernel();e&&(this.subscribeToKernelSocket(e),this.registerCommTargets(e))}raisePostMessage(e,t){this._postMessageEmitter.fire({message:e,payload:t})}subscribeToKernelSocket(e){if(this.subscribedToKernelSocket||!e.session)return;this.subscribedToKernelSocket=!0,this.subscribeToKernelSocketImpl(e);let t=e.session.kernel?.id;e.session.onDidKernelSocketChange(()=>{this.subscribeToKernelSocketImpl(e,t),t=e.session?.kernel?.id||""})}subscribeToKernelSocketImpl(e,t){let r=t?Yi.get(t):void 0;if(r?.removeReceiveHook(this.onKernelSocketMessage),r?.removeSendHook(this.mirrorSend),this.kernelWasConnectedAtLeastOnce){for(;this.pendingMessages.length;)this.pendingMessages.shift();this.waitingMessageIds.forEach(s=>s.resultPromise.resolve()),this.waitingMessageIds.clear(),this.messageHookRequests.forEach(s=>s.resolve(!1)),this.messageHookRequests.clear(),this.messageHooks.clear(),this.sendRestartKernel()}if(!e.session?.kernel?.id||!Yi.get(e.session?.kernel?.id))return;dw.has(e.session.kernel)||dw.set(e.session.kernel,{targets:new Set,registerCommTarget:s=>{this.raisePostMessage("IPyWidgets_registerCommTarget",s)}}),this.kernelWasConnectedAtLeastOnce=!0;let i=e.session.kernel?.id,o=i?Yi.get(i):void 0;o?.addReceiveHook(this.onKernelSocketMessage),o?.addSendHook(this.mirrorSend),this.sendKernelOptions(),this.registerCommTargets(e),this.sendPendingMessages()}sendKernelOptions(){this.kernel?.session?.kernel&&this.raisePostMessage("IPyWidgets_kernelOptions",{id:this.kernel?.session?.kernel?.id||"",clientId:this.kernel?.session?.kernel?.clientId||"",userName:this.kernel?.session?.kernel?.username||"",model:this.kernel?.session?.kernel?.model||{id:"",name:""}})}async mirrorSend(e,t){if(typeof e=="string"&&e.includes("shell")&&e.includes("execute_request")){let r=this.deserialize(e);if(r.channel==="shell"&&r.header.msg_type==="execute_request"){if(!XD(r))return;let i=this.mirrorExecuteRequest(r);this.isUsingIPyWidgets&&await i}}}sendRestartKernel(){this.raisePostMessage("IPyWidgets_onRestartKernel",void 0)}mirrorExecuteRequest(e){let t=re();return this.waitingMessageIds.set(e.header.msg_id,{startTime:Date.now(),resultPromise:t}),this.raisePostMessage("IPyWidgets_mirror_execute",{id:e.header.msg_id,msg:e}),t.promise}messageNeedsFullHandle(e){return e.channel==="iopub"&&e.header?.msg_type==="comm_msg"&&e.content?.data?.method==="update"&&this.outputWidgetIds.has(e.content?.comm_id)}iopubMessageHandled(e){let t=e.id;this.fullHandleMessage&&this.fullHandleMessage.id===t&&(this.fullHandleMessage.promise.resolve(),this.fullHandleMessage=void 0)}async onKernelSocketMessage(e){let t=(0,wO.default)(),r=re();if(this.waitingMessageIds.set(t,{startTime:Date.now(),resultPromise:r}),typeof e=="string"?XD(e)&&this.raisePostMessage("IPyWidgets_msg",{id:t,data:e}):this.raisePostMessage("IPyWidgets_binary_msg",{id:t,data:iq([e])}),typeof e!="string"||e.includes(Ui)||e.includes(je.DefaultCommTarget)||e.includes("comm_open")||e.includes("comm_close")||e.includes("comm_msg")){let o=this.deserialize(e);if(!XD(o))return;o&&o.content&&o.content.data&&(o.content.data[Ui]||o.content.target_name===je.DefaultCommTarget)&&(this.isUsingIPyWidgets=!0);let s=o.header?.msg_type==="comm_open"&&o.content?.data?.state?._model_module==="@jupyter-widgets/output"&&o.content?.data?.state?._model_name==="OutputModel",a=o.header?.msg_type==="comm_close"&&this.outputWidgetIds.has(o.content?.comm_id);s?this.outputWidgetIds.add(o.content.comm_id):a?this.outputWidgetIds.delete(o.content.comm_id):this.messageNeedsFullHandle(o)&&(this.fullHandleMessage={id:o.header.msg_id,promise:re()},await r.promise,await this.fullHandleMessage.promise.promise,this.fullHandleMessage=void 0)}}onKernelSocketResponse(e){let t=this.waitingMessageIds.get(e.id);t&&(this.waitingMessageIds.delete(e.id),t.resultPromise.resolve())}sendPendingMessages(){if(this.kernel?.session?.kernel)for(;this.pendingMessages.length;)try{let e=this.pendingMessages[0],t=typeof e=="string"?JSON.parse(e):this.deserialize(e);t.buffers?.length&&(t.buffers=t.buffers.map(r=>r instanceof DataView?r.buffer:r)),t.channel==="control"?this.kernel.session.kernel.sendControlMessage(t):this.kernel.session.kernel.sendShellMessage(t),this.pendingMessages.shift()}catch(e){p.error("Failed to send message to Kernel",e);return}}registerCommTargets(e){for(;this.pendingTargetNames.size>0;){let r=Array.from([...this.pendingTargetNames.values()]).shift();if(r){if(this.commTargetsRegistered.has(r))return;p.trace(`Registering commtarget ${r}`),this.commTargetsRegistered.add(r),this.pendingTargetNames.delete(r),e.session?.kernel&&r!==je.DefaultCommTarget&&!dw.get(e.session.kernel)?.targets?.has(r)&&e.session.kernel.registerCommTarget(r,h)}}}getKernel(){return this.document&&!this.kernel?.session&&(this.kernel=this.kernelProvider.get(this.document),this.kernel?.onDisposed(()=>this.kernel=void 0)),this.kernel&&!this.kernelRestartHandlerAttached&&(this.kernelRestartHandlerAttached=!0,this.disposables.push(this.kernel.onRestarted(this.handleKernelRestarts,this))),this.kernel}async handleKernelRestarts(){this.disposed||this.commTargetsRegistered.size===0||!this.kernel?.session||(Array.from(this.commTargetsRegistered.keys()).forEach(e=>{this.commTargetsRegistered.delete(e),this.pendingTargetNames.add(e)}),this.subscribeToKernelSocket(this.kernel),this.registerCommTargets(this.kernel))}registerMessageHook(e){try{if(this.kernel?.session?.kernel&&!this.messageHooks.has(e)){let t=this.messageHookCallback.bind(this);this.messageHooks.set(e,t),this.kernel.session.kernel.registerMessageHook(e,t)}}finally{this.raisePostMessage("IPyWidgets_ExtensionOperationHandled",{id:e,type:"IPyWidgets_RegisterMessageHook"})}}possiblyRemoveMessageHook(e){try{e.lastHookedMsgId?this.pendingHookRemovals.set(e.lastHookedMsgId,e.hookMsgId):this.removeMessageHook(e.hookMsgId)}finally{this.raisePostMessage("IPyWidgets_ExtensionOperationHandled",{id:e.hookMsgId,type:"IPyWidgets_RemoveMessageHook"})}}removeMessageHook(e){if(this.kernel?.session?.kernel&&this.messageHooks.has(e)){let t=this.messageHooks.get(e);this.messageHooks.delete(e),this.kernel.session.kernel.removeMessageHook(e,t)}}async messageHookCallback(e){let t=re(),r=(0,wO.default)(),i=e.parent_header.msg_id;if(this.messageHooks.has(i)?(this.messageHookRequests.set(r,t),this.raisePostMessage("IPyWidgets_MessageHookCall",{requestId:r,parentId:i,msg:e})):t.resolve(!0),this.pendingHookRemovals.has(e.header.msg_id)){let o=this.pendingHookRemovals.get(e.header.msg_id);this.pendingHookRemovals.delete(e.header.msg_id),this.removeMessageHook(o)}return t.promise}handleMessageHookResponse(e){let t=this.messageHookRequests.get(e.requestId);t&&(this.messageHookRequests.delete(e.requestId),t.resolve(e.msgType.includes("comm")?!0:e.result))}};var EO=class{constructor(e,t){this.baseMulticaster=e;this.oldMessages=t;this._postMessageEmitter=new cq.EventEmitter;this.disposables=[];e.postMessage(this.raisePostMessage,this,this.disposables)}get postMessage(){return this._postMessageEmitter.event}dispose(){for(;this.disposables.length;)this.disposables.shift()?.dispose()}initialize(){return this.baseMulticaster.initialize()}receiveMessage(e){this.baseMulticaster.receiveMessage(e)}raisePostMessage(e){this.oldMessages.forEach(t=>{this._postMessageEmitter.fire(t)}),this.oldMessages=[],this._postMessageEmitter.fire(e)}},au=class{constructor(e,t){this.kernelProvider=t;this.messageDispatchers=new WeakMap;this.messagesPerNotebook=new WeakMap;this.disposed=!1;this.disposables=[];e.push(this),t.onDidDisposeKernel(this.trackDisposingOfKernels,this,e)}dispose(){for(this.disposed=!0;this.disposables.length;)this.disposables.shift()?.dispose()}create(e){let t=this.messageDispatchers.get(e);t||(t=new F_(this.kernelProvider,e),this.messageDispatchers.set(e,t),this.disposables.push(t.postMessage(o=>this.onMessage(o,e),this)));let r=[];e&&this.messagesPerNotebook.get(e)&&(r=this.messagesPerNotebook.get(e)||[]);let i=new EO(t,r);return this.disposables.push(i),i}trackDisposingOfKernels(e){if(this.disposed)return;let t=e.notebook,r=this.messageDispatchers.get(t);this.messageDispatchers.delete(t),r?.dispose()}onMessage(e,t){t&&(this.messagesPerNotebook.set(t,this.messagesPerNotebook.get(t)||[]),(e.message==="IPyWidgets_kernelOptions"||e.message==="IPyWidgets_registerCommTarget")&&this.messagesPerNotebook.get(t).push(e))}};au=v([(0,pw.injectable)(),m(0,(0,pw.inject)(M)),m(1,(0,pw.inject)(De))],au);var dq=require("vscode");var uq=require("vscode");var Uy=class Uy extends Qt{constructor(t,r,i,o,s,a){super();this.kernel=t;this.localResourceUriConverter=r;this.configurationSettings=i;this.sourceProviderFactory=o;this.isWebViewOnline=s;this.cdnScriptProvider=a;this.id="all";this.scriptProviders=this.sourceProviderFactory.getProviders(this.kernel,this.localResourceUriConverter),this.scriptProviders.forEach(l=>this._register(l)),this.monitorKernel()}get configuredScriptSources(){return this.configurationSettings.getSettings(void 0).widgetScriptSources}static{this.trackedWidgetModuleNames=new Set}async getBaseUrl(){let t=this.scriptProviders.find(r=>r.getBaseUrl);if(t)return t.getBaseUrl()}async getWidgetScriptSources(){let t=[];return await Promise.all(this.scriptProviders.map(async r=>{r.getWidgetScriptSources&&t.push(...await r.getWidgetScriptSources())})),t}async getWidgetScriptSource(t,r){let i=await this.isWebViewOnline,o=this.scriptProviders.slice(),s={moduleName:t};for(;o.length;){let a=o.shift();if(!a)continue;let l=await a.getWidgetScriptSource(t,r,i);if(l.scriptUri){s=l;break}else p.warn(`Widget Script Source not found for ${t}@${r} from ${a.id}`)}return this.sendTelemetryForWidgetModule(t,r,"",s.source).catch(h),s.scriptUri?p.trace(`Script source for Widget ${t}@${r} was found from source ${s.source} and ${s.scriptUri}`):p.error(`Script source for Widget ${t}@${r} not found in ${this.scriptProviders.map(a=>a.id).join(", ")}`),s}async sendTelemetryForWidgetModule(t,r,i,o){let s=`${t}.${t}@${r}`;if(Uy.trackedWidgetModuleNames.has(s))return;Uy.trackedWidgetModuleNames.add(s);let a=t.toLowerCase().startsWith("@jupyter-widgets"),l=o==="cdn"||a||await this.cdnScriptProvider.isOnCDN(t),c=l?t.replace(/\//g,"_").replace(/\\/g,"_").replace(/@/g,"_at_"):void 0,u=l?i.replace(/\//g,"_").replace(/\\/g,"_").replace(/@/g,"_at_"):void 0;R("DS_INTERNAL.IPYWIDGET_USED_BY_USER",void 0,{hashedName:await at(t),moduleName:c,modelName:u,source:o,moduleVersion:l?r:void 0,cdnSearched:this.configuredScriptSources.length>0})}monitorKernel(){this.hookKernelEvents(),this._register(this.kernel.onStarted(this.hookKernelEvents,this)),this._register(this.kernel.onRestarted(this.hookKernelEvents,this)),this._register(this.kernel.onDidKernelSocketChange(()=>this.hookKernelEvents(),this))}hookKernelEvents(){let t=this.kernel.session?.kernel;t&&(t.anyMessage.connect(this.onAnyMessage,this),this._register(new uq.Disposable(()=>t.anyMessage.disconnect(this.onAnyMessage,this))))}onAnyMessage(t,r){if(r.direction==="recv"&&r.msg.header.msg_type==="comm_open"){let o=r.msg.content.data;o.state?._model_module&&o.state._model_name&&this.sendTelemetryForWidgetModule(o.state?._model_module,o.state?._model_module_version||"",o.state?._model_name).catch(h)}}};v([Br()],Uy.prototype,"sendTelemetryForWidgetModule",1),v([Br()],Uy.prototype,"onAnyMessage",1);var U_=Uy;var W_=class{constructor(e,t){this.isWebExtension=e;this.converter=t}async asWebviewUri(e){return this.isWebExtension?e:this.converter(e)}};var V_=class{constructor(e,t,r,i,o,s){this.document=e;this.kernelProvider=t;this.configurationSettings=i;this.sourceProviderFactory=o;this.cdnScriptProvider=s;this.postEmitter=new dq.EventEmitter;this.disposables=[];this.isWebViewOnline=re();this.widgetSources=new Map;this.pendingModuleRequests=new Map;this.uriTranslationRequests=new mo;this.uriConverter=new W_(tn(),a=>(this.uriTranslationRequests.has(a)||this.uriTranslationRequests.set(a,re()),this.postEmitter.fire({message:"ConvertUriForUseInWebViewRequest",payload:a}),this.uriTranslationRequests.get(a).promise)),this.isWebViewOnline.promise.catch(h),r.push(this),this.kernelProvider.onDidStartKernel(a=>{a.notebook===this.document&&this.initialize()},this,this.disposables)}get postMessage(){return this.postEmitter.event}dispose(){for(;this.disposables.length;)this.disposables.shift()?.dispose()}onMessage(e,t){if(e==="ConvertUriForUseInWebViewResponse"){let r=t;r&&this.uriTranslationRequests.has(r.request)&&this.uriTranslationRequests.get(r.request).resolve(r.response)}else if(e==="IPyWidgets_Ready")this.sendBaseUrl(),this.sendWidgetScriptSources().catch(h);else if(e==="IPyWidgets_IsOnline"){let r=t.isOnline;this.isWebViewOnline.resolve(r)}else e==="IPyWidgets_WidgetScriptSourceRequest"&&t&&this.onRequestWidgetScript(t).catch(h)}initialize(){this.jupyterLab||(this.jupyterLab=require("@jupyterlab/services")),this.kernel||(this.kernel=this.kernelProvider.get(this.document)),this.kernel?.session&&(this.scriptProvider&&!this.scriptProvider.isDisposed||(this.scriptProvider=new U_(this.kernel,this.uriConverter,this.configurationSettings,this.sourceProviderFactory,this.isWebViewOnline.promise,this.cdnScriptProvider),this.kernel.onDisposed(()=>this.dispose()),this.handlePendingRequests(),this.sendBaseUrl(),p.trace("IPyWidgetScriptSource.initialize")))}sendBaseUrl(){this.scriptProvider&&this.scriptProvider.getBaseUrl().then(e=>{e&&this.postEmitter.fire({message:"IPyWidgets_BaseUrl_Response",payload:e.toString()})}).catch(e=>p.error("Failed to get baseUrl",e))}async sendWidgetScriptSources(){if(this.scriptProvider&&!this.allWidgetScriptsSent)try{(await this.scriptProvider.getWidgetScriptSources()).forEach(t=>{this.widgetSources.get(t.moduleName)?.source!=="cdn"&&this.widgetSources.set(t.moduleName,t),this.postEmitter.fire({message:"IPyWidgets_WidgetScriptSource_Response",payload:t})})}catch(e){p.warn("Failed to fetch script sources",e)}finally{this.allWidgetScriptsSent=!0}}async onRequestWidgetScript(e){let{moduleName:t,moduleVersion:r,requestId:i}=e;if(p.trace(`\x1B[32mFetch Script for ${JSON.stringify(e)}`),await this.sendWidgetSource(t,r,i).catch(o=>p.error("Failed to send widget sources upon ready",o)),this.scriptProvider&&!this.allWidgetScriptsSent)try{await this.sendWidgetScriptSources()}finally{this.sendWidgetSource(t,r,i).catch(o=>p.error("Failed to send widget sources upon ready",o))}}async sendWidgetSource(e,t="*",r){if(!e||e.startsWith("@jupyter"))return;if(!this.kernel||!this.scriptProvider){this.pendingModuleRequests.set(e,{moduleVersion:t,requestId:r});return}let i={moduleName:e,requestId:r};try{p.trace(`\x1B[32mFetch Script for ${e}`),i=await this.scriptProvider.getWidgetScriptSource(e,t),this.widgetSources.get(i.moduleName)?.source!=="cdn"&&this.widgetSources.set(i.moduleName,i)}catch(o){p.error("Failed to get widget source due to an error",o),R("DS_INTERNAL.IPYWIDGET_DISCOVERY_ERRORED")}finally{p.trace(`\x1B[32mScript for ${e}, is ${i.scriptUri} from ${i.source}`),this.postEmitter.fire({message:"IPyWidgets_WidgetScriptSource_Response",payload:i})}}handlePendingRequests(){let e=Array.from(this.pendingModuleRequests.keys());for(;e.length;){let t=e.shift();if(t){let{moduleVersion:r,requestId:i}=this.pendingModuleRequests.get(t);this.pendingModuleRequests.delete(t),this.sendWidgetSource(t,r,i).catch(o=>p.error(`Failed to send WidgetScript for ${t}`,o))}}}};var J_=Symbol("IWidgetScriptSourceProviderFactory"),B_=Symbol("INbExtensionsPathProvider"),$_=Symbol("IIPyWidgetScriptManagerFactory"),ktt=Symbol("IIPyWidgetScriptManager");var of=k(N()),Eo=require("vscode");var fq="https://unpkg.com/",kO="https://cdn.jsdelivr.net/npm/",q_="IPYWidgetCDNConfigured",pq="IPYWidgetNotFoundOnCDN",mq="IPYWidgetNoNetWorkAccess";function ype(n,e,t){let r=e,i="index",o=e.indexOf("/");return o!==-1&&e[0]==="@"&&(o=e.indexOf("/",o+1)),o!==-1&&(i=e.substr(o+1),r=e.substr(0,o)),n===kO&&(t.startsWith("^")&&(t=t.slice(1)),i.endsWith(".js")||(i=i.concat(".js"))),`${n}${r}@${t}/dist/${i}`}function bpe(n){switch(n){case"unpkg.com":return fq;case"jsdelivr.com":return kO;default:break}}var Ca=class{constructor(e,t){this.globalMemento=e;this.configurationSettings=t;this.id="cdn";this.cache=new Map;this.isOnCDNCache=new Map;this.notifiedUserAboutWidgetScriptNotFound=new Set}get cdnProviders(){return this.configurationSettings.getSettings(void 0).widgetScriptSources}dispose(){this.cache.clear()}async isOnCDN(e){let t=`MODULE_VERSION_ON_CDN_${e}`;if(this.isOnCDNCache.has(t))return this.isOnCDNCache.get(t);if(this.globalMemento.get(t,!1))return!0;let r=(async()=>{let i=new Kl,o=us(i.exists(`${fq}${e}`)),s=us(i.exists(`${kO}${e}`));return await Promise.race([o.promise,s.promise]),o.value||s.value?!0:(await Promise.all([o.promise,s.promise]),!!(o.value||s.value))})();return r.then(i=>{if(i)return this.globalMemento.update(t,!0)}).then(h,h),this.isOnCDNCache.set(t,r),r}async getWidgetScriptSource(e,t,r){if(r===!1)return p.ci(`Webview is offline, cannot use CDN for ${e}`),this.warnIfNoAccessToInternetFromWebView(e).catch(h),{moduleName:e};if(this.cdnProviders.length===0&&this.globalMemento.get(q_,!1))return p.ci("No CDN providers and user configured CDN"),{moduleName:e};let i=this.getModuleKey(e,t);return this.cache.get(i)||this.cache.set(i,this.getWidgetScriptSourceImplementation(e,t)),this.cache.get(i)}async generateDownloadUri(e,t,r){let i=bpe(r);if(i)return ype(i,e,t)}getModuleKey(e,t){return`${e}${t}`}async getWidgetScriptSourceImplementation(e,t){if(p.trace(`\x1B[32mSearching for Widget Script ${e}#${t} using cdns ${this.cdnProviders.join(" ")}`),await this.configureWidgets(),this.cdnProviders.length===0)return{moduleName:e};let i=(await Promise.all(this.cdnProviders.map(o=>this.getValidUri(e,t,o)))).find(o=>o);return i?(p.trace(`\x1B[32mWidget Script ${e}#${t} found at URI: ${i}`),{moduleName:e,scriptUri:i,source:"cdn"}):(p.error(`Widget Script ${e}#${t} was not found on on any cdn`),this.handleWidgetSourceNotFound(e,t).catch(h),{moduleName:e})}async getValidUri(e,t,r){try{let i=await this.generateDownloadUri(e,t,r),o=new Kl;if(i&&await o.exists(i))return i}catch{p.trace(`Failed downloading ${e}:${t} from ${r}`);return}}async warnIfNoAccessToInternetFromWebView(e){if(this.globalMemento.get(mq,!1)||this.notifiedUserAboutWidgetScriptNotFound.has(e)||this.cdnProviders.length===0)return;switch(this.notifiedUserAboutWidgetScriptNotFound.add(e),await Eo.window.showWarningMessage(y.cdnWidgetScriptNotAccessibleWarningMessage(e,JSON.stringify(this.cdnProviders)),de.ok,de.doNotShowAgain,de.moreInfo)){case de.doNotShowAgain:return this.globalMemento.update(mq,!0);case de.moreInfo:return Eo.env.openExternal(Eo.Uri.parse("https://aka.ms/PVSCIPyWidgets"));default:}}async configureWidgets(){if(this.cdnProviders.length!==0||this.globalMemento.get(q_,!1))return;if(this.configurationPromise)return this.configurationPromise.promise;this.configurationPromise=re(),R("DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN");let e=await Eo.window.showInformationMessage(y.useCDNForWidgetsNoInformation,{modal:!0},de.ok,de.doNotShowAgain,de.moreInfo),t="dismissed";switch(e){case de.ok:{t="ok",await Promise.all([this.updateScriptSources(["jsdelivr.com","unpkg.com"]),this.globalMemento.update(q_,!0)]);break}case de.doNotShowAgain:{t="doNotShowAgain",await Promise.all([this.updateScriptSources([]),this.globalMemento.update(q_,!0)]);break}case de.moreInfo:{Eo.env.openExternal(Eo.Uri.parse("https://aka.ms/PVSCIPyWidgets"));break}default:t=e===de.cancel?"cancel":"dismissed";break}R("DS_INTERNAL.IPYWIDGET_PROMPT_TO_USE_CDN_SELECTION",void 0,{selection:t}),this.configurationPromise.resolve()}async updateScriptSources(e){let t="widgetScriptSources";await this.configurationSettings.updateSetting(t,e,void 0,Eo.ConfigurationTarget.Global)}async handleWidgetSourceNotFound(e,t){if(this.globalMemento.get(pq,!1)||this.notifiedUserAboutWidgetScriptNotFound.has(e)||this.cdnProviders.length===0)return;switch(this.notifiedUserAboutWidgetScriptNotFound.add(e),await Eo.window.showWarningMessage(y.widgetScriptNotFoundOnCDNWidgetMightNotWork(e,t,JSON.stringify(this.cdnProviders)),de.ok,de.doNotShowAgain,de.reportThisIssue)){case de.doNotShowAgain:return this.globalMemento.update(pq,!0);case de.reportThisIssue:return Eo.env.openExternal(Eo.Uri.parse("https://aka.ms/CreatePVSCDataScienceIssue"));default:}}};Ca=v([(0,of.injectable)(),m(0,(0,of.inject)(We)),m(0,(0,of.named)(lt)),m(1,(0,of.inject)(ie))],Ca);var mw=class{constructor(e,t){this.document=e;this.serviceContainer=t;this.cachedMessages=[];this.postEmitter=new Po.EventEmitter;this.attachedWebviews=new WeakSet;this.modulesForWhichWeHaveDisplayedWidgetErrorMessage=new Set;this.queuedMessages=[];this.disposables=this.serviceContainer.get(M),this.jupyterOutput=this.serviceContainer.get(Ao,Tu),this.configService=this.serviceContainer.get(ie),this.initialize()}get postMessage(){return this.listeningToPostMessageEvent=!0,this.postEmitter.event}dispose(){this.cachedMessages=[],this.ipyWidgetMessageDispatcher?.dispose(),this.ipyWidgetScriptSource?.dispose()}attach(e){if(this.attachedWebviews.has(e))return;this.attachedWebviews.add(e),this.postMessage(i=>{if(p.ci(`\x1B[32mWidget Coordinator sent ${i.message}`),i.message==="ConvertUriForUseInWebViewRequest")this.onMessage(e,"ConvertUriForUseInWebViewResponse",{request:i.payload,response:e.asWebviewUri(i.payload)});else{if(!this.readyMessageReceived){this.queuedMessages.push({type:i.message,payload:i.payload});return}this.sendPendingWebViewMessages(e),e.postMessage({type:i.message,payload:i.payload}).then(h,h)}},this,this.disposables);let t=re(),r=async()=>{let i=new Ue;if(!t.completed){let s=[],a=this.serviceContainer.get(De),l=re();a.get(this.document)?l.resolve(a.get(this.document)):a.onDidCreateKernel(u=>{u.notebook===this.document&&l.resolve(u)},this,s);let c=await l.promise;c&&(dt(c.kernelConnectionMetadata)?c.ipywidgetsVersion?t.completed||t.resolve(c.ipywidgetsVersion):c.onIPyWidgetVersionResolved(()=>{c.ipywidgetsVersion&&(t.completed||t.resolve(c.ipywidgetsVersion),z(s))},this,s):t.completed||t.resolve(dS)),s.length&&this.disposables.push(...s)}let o=await t.promise;p.trace(`Version of IPyWidgets ${o} determined after ${i.elapsedTime/1e3}s`),e.postMessage({type:"IPyWidgets_Reply_Widget_Version",payload:o}).then(h,h)};e.onDidReceiveMessage(async i=>{p.ci(`\x1B[32mWidget Coordinator received ${i.type}`),this.onMessage(e,i.type,i.payload),i.type==="IPyWidgets_Request_Widget_Version"&&await r(),i.type==="IPyWidgets_Window_Alert"&&Po.window.showInformationMessage(i.message),i.type==="IPyWidgets_Window_Open"&&Po.env.openExternal(Po.Uri.parse(i.url)),i.type==="IPyWidgets_Ready"&&(p.trace("Web view is ready to receive widget messages"),this.readyMessageReceived=!0,this.sendPendingWebViewMessages(e))},this,this.disposables),e.postMessage({type:"IPyWidgets_IsReadyRequest",payload:void 0}).then(h,h),r().catch(h)}onMessage(e,t,r){t==="ipywidget_load_success"?this.sendLoadSucceededTelemetry(r).catch(h):t==="ipywidget_load_failure"?this.handleWidgetLoadFailure(e,r).catch(h):t==="ipywidget_widget_version_not_supported"?this.sendUnsupportedWidgetVersionFailureTelemetry(r).catch(h):t==="ipywidget_render_failure"?this.sendRenderFailureTelemetry(r):t==="ipywidget_unhandled_kernel_message"&&this.handleUnhandledMessage(r),this.getIPyWidgetMessageDispatcher().receiveMessage({message:t,payload:r}),this.getIPyWidgetScriptSource().onMessage(t,r)}sendPendingWebViewMessages(e){if(this.readyMessageReceived)for(;this.queuedMessages.length;)e.postMessage(this.queuedMessages.shift()).then(h,h)}initialize(){this.getIPyWidgetScriptSource().initialize(),this.getIPyWidgetMessageDispatcher().initialize()}async sendLoadSucceededTelemetry(e){try{R("DS_INTERNAL.IPYWIDGET_LOAD_SUCCESS",0,{moduleHash:await at(e.moduleName),moduleVersion:e.moduleVersion})}catch{}}async handleWidgetLoadFailure(e,t){try{let r=t.error.toString(),i=this.configService.getSettings(void 0).widgetScriptSources,o=i.length>0,s=`${t.moduleName}:${t.moduleVersion}`;if(!t.isOnline)r=y.loadClassFailedWithNoInternet(t.moduleName,t.moduleVersion),Po.window.showErrorMessage(r).then(h,h);else if(!o&&!this.modulesForWhichWeHaveDisplayedWidgetErrorMessage.has(s)){this.modulesForWhichWeHaveDisplayedWidgetErrorMessage.add(s);let a=de.moreInfo,l=y.enableCDNForWidgetsButton;r=y.enableCDNForWidgetsSetting(t.moduleName,t.moduleVersion),Po.window.showErrorMessage(r,{modal:!0},l,a).then(c=>{switch(c){case a:Po.env.openExternal(Po.Uri.parse("https://aka.ms/PVSCIPyWidgets"));break;case l:this.enableCDNForWidgets(e).catch(h);break;default:break}},h)}p.error(`Widget load failure ${r}`,i,t),R("DS_INTERNAL.IPYWIDGET_LOAD_FAILURE",0,{isOnline:t.isOnline,moduleHash:await at(t.moduleName),moduleVersion:t.moduleVersion,timedout:t.timedout})}catch{}}async enableCDNForWidgets(e){await Po.commands.executeCommand(B.EnableLoadingWidgetsFrom3rdPartySource),await e.postMessage({type:"IPyWidgets_AttemptToDownloadFailedWidgetsAgain"})}async sendUnsupportedWidgetVersionFailureTelemetry(e){try{R("DS_INTERNAL.IPYWIDGET_WIDGET_VERSION_NOT_SUPPORTED_LOAD_FAILURE",0,{moduleHash:await at(e.moduleName),moduleVersion:e.moduleVersion})}catch{}}sendRenderFailureTelemetry(e){try{p.error("Error rendering a widget: ",e),R("DS_INTERNAL.IPYWIDGET_RENDER_FAILURE")}catch{}}handleUnhandledMessage(e){if(e.header.msg_type!=="status")try{if(e.header.msg_type==="error"){let t=e;t.content.traceback=t.content.traceback.map(ql)}p.trace(`Unhandled widget kernel message: ${e.header.msg_type} ${e.content}`),this.jupyterOutput.appendLine(y.unhandledMessage(e.header.msg_type,JSON.stringify(e.content))),R("DS_INTERNAL.IPYWIDGET_UNHANDLED_MESSAGE",void 0,{msg_type:e.header.msg_type})}catch{}}getIPyWidgetMessageDispatcher(){return this.ipyWidgetMessageDispatcher||(this.ipyWidgetMessageDispatcher=this.serviceContainer.get(au).create(this.document),this.disposables.push(this.ipyWidgetMessageDispatcher.postMessage(this.cacheOrSend,this))),this.ipyWidgetMessageDispatcher}getIPyWidgetScriptSource(){return this.ipyWidgetScriptSource||(this.ipyWidgetScriptSource=new V_(this.document,this.serviceContainer.get(De),this.serviceContainer.get(M),this.serviceContainer.get(ie),this.serviceContainer.get(J_),this.serviceContainer.get(Ca)),this.disposables.push(this.ipyWidgetScriptSource.postMessage(this.cacheOrSend,this))),this.ipyWidgetScriptSource}cacheOrSend(e){if(!this.listeningToPostMessageEvent){p.ci("\x1B[32mQueuing messages (no listeners)"),this.cachedMessages.push(e);return}this.cachedMessages.forEach(t=>this.postEmitter.fire(t)),this.cachedMessages=[],this.postEmitter.fire(e)}};v([Br()],mw.prototype,"enableCDNForWidgets",1);var xO=class{constructor(e,t){this.editor=e;this.pendingMessages=[];this.disposables=[];this._onDidReceiveMessage=new np.EventEmitter;this.changeController(t)}get controller(){if(!this._controller)throw new Error("No controller defined");return this._controller.controller}changeController(e){this._controller?.id!==e.id&&(this.controllerMessageHandler?.dispose(),this._controller=e,this.controllerMessageHandler=e.onDidReceiveMessage(t=>{t.editor===this.editor&&this.controller?.id===e.id&&(this.eventHandlerListening?(this.sendPendingMessages(),this._onDidReceiveMessage.fire(t.message)):this.pendingMessages.push(t.message))},this,this.disposables))}dispose(){z(this.disposables)}get onDidReceiveMessage(){return this.eventHandlerListening=!0,setTimeout(()=>this.sendPendingMessages(),0),this._onDidReceiveMessage.event}postMessage(e){return this.controller.postMessage(e,this.editor)}asWebviewUri(e){return this.controller.asWebviewUri(e)}sendPendingMessages(){if(this.pendingMessages.length){let e=this.pendingMessages.shift();for(;e;)this._onDidReceiveMessage.fire(e),e=this.pendingMessages.shift()}}},rp=class{constructor(e,t,r){this.serviceContainer=e;this.disposableRegistry=t;this.controllerManager=r;this.messageCoordinators=new WeakMap;this.notebookDisposables=new WeakMap;this.notebookCommunications=new WeakMap;this.notebookEditors=new WeakMap}activate(){np.window.onDidChangeVisibleNotebookEditors(this.onDidChangeVisibleNotebookEditors,this,this.disposableRegistry),np.workspace.onDidCloseNotebookDocument(this.onDidCloseNotebookDocument,this,this.disposableRegistry),this.controllerManager.onControllerSelected(this.onDidSelectController,this,this.disposableRegistry)}onDidSelectController(e){let t=this.messageCoordinators.get(e.notebook);t&&(this.messageCoordinators.delete(e.notebook),np.window.visibleNotebookEditors.filter(r=>r.notebook===e.notebook).forEach(r=>{let i=this.notebookCommunications.get(r);this.notebookCommunications.delete(r),i&&i.controller!==e.controller.controller&&(this.notebookCommunications.delete(r),i&&i.dispose())}),t?.dispose()),np.window.visibleNotebookEditors.filter(r=>r.notebook===e.notebook).forEach(r=>this.initializeNotebookCommunication(r,e.controller))}initializeNotebookCommunication(e,t){if(e.notebook.isClosed||!Et(e.notebook))return;let r=e.notebook;if(!t){p.trace(`No controller, hence notebook communications cannot be initialized for editor ${j(e.notebook.uri)}`);return}if(this.notebookCommunications.has(e))return;let i=new xO(e,t);this.addNotebookDisposables(r,[i]),this.notebookCommunications.set(e,i);let o=this.messageCoordinators.get(r);o||(o=new mw(r,this.serviceContainer),this.messageCoordinators.set(r,o)),o.attach(i)}addNotebookDisposables(e,t){let r=this.notebookDisposables.get(e)||[];r.push(...t),this.notebookDisposables.set(e,r)}async onDidChangeVisibleNotebookEditors(e){e.forEach(t=>{let r=this.controllerManager.getSelected(t.notebook);this.initializeNotebookCommunication(t,r)})}onDidCloseNotebookDocument(e){let t=this.notebookEditors.get(e)||[];z(this.notebookDisposables.get(e)||[]),t.forEach(r=>this.notebookCommunications.get(r)?.dispose()),this.messageCoordinators.get(e)?.dispose(),this.messageCoordinators.delete(e)}};rp=v([(0,Wy.injectable)(),m(0,(0,Wy.inject)(rt)),m(1,(0,Wy.inject)(M)),m(2,(0,Wy.inject)(ot))],rp);var ip=k(N());var Vy=class{constructor(e,t,r,i,o){this.disposables=e;this.kernelProvider=t;this.controllers=r;this.liveKernelTracker=i;this.preferredRemoteKernelIdProvider=o}activate(){this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposables),this.controllers.onControllerSelectionChanged(this.onNotebookControllerSelectionChanged,this,this.disposables)}onNotebookControllerSelectionChanged({selected:e,notebook:t,controller:r}){t.isClosed||(r.connection.kind==="connectToLiveRemoteKernel"&&r.connection.kernelModel.id&&(e?this.liveKernelTracker.trackKernelIdAsUsed(t.uri,r.connection.serverProviderHandle,r.connection.kernelModel.id):this.liveKernelTracker.trackKernelIdAsNotUsed(t.uri,r.connection.serverProviderHandle,r.connection.kernelModel.id)),ct(r.connection)&&this.preferredRemoteKernelIdProvider.clearPreferredRemoteKernelId(t.uri).catch(h))}onDidStartKernel(e){if(!e.resourceUri)return;let t=e.resourceUri;if(e.kernelConnectionMetadata.kind!=="startUsingRemoteKernelSpec")return;let r=e.kernelConnectionMetadata.serverProviderHandle,i=()=>{let o=e.session?.kernel?.id;!e.disposed&&!e.disposing&&o&&(p.debug(`Updating preferred kernel for remote notebook ${o}`),this.preferredRemoteKernelIdProvider.storePreferredRemoteKernelId(t,o).catch(h),this.liveKernelTracker.trackKernelIdAsUsed(t,r,o))};i(),e.onDidKernelSocketChange(i,this,this.disposables)}};Vy=v([(0,ip.injectable)(),m(0,(0,ip.inject)(M)),m(1,(0,ip.inject)(De)),m(2,(0,ip.inject)(ot)),m(3,(0,ip.inject)(um)),m(4,(0,ip.inject)(Ho))],Vy);var af=k(N());var hq=require("vscode");var sf=class{constructor(e,t,r,i){this.disposables=e;this.uriStorage=t;this.controllers=r;this.serverProviderRegistry=i;this.handledServerProviderChanges=new WeakSet}activate(){this.serverProviderRegistry.jupyterCollections.forEach(e=>this.checkExpiredServersInJupyterCollection(e)),this.serverProviderRegistry.onDidChangeCollections(({added:e,removed:t})=>{e.forEach(r=>this.checkExpiredServersInJupyterCollection(r)),t.forEach(r=>this.removeControllersBelongingToDisposedProvider(r.extensionId,r.id))},this,this.disposables)}async checkExpiredServersInJupyterCollection(e){!this.handledServerProviderChanges.has(e.serverProvider)&&e.serverProvider.onDidChangeServers&&(this.handledServerProviderChanges.add(e.serverProvider),e.serverProvider.onDidChangeServers(()=>this.checkExpiredServersInJupyterCollection(e).catch(h),this,this.disposables));let t=new hq.CancellationTokenSource;this.disposables.push(t);try{let r=await Promise.resolve(e.serverProvider.provideJupyterServers(t.token));await this.removeControllersAndUriStorageBelongingToInvalidServers(e.extensionId,e.id,(r||[]).map(i=>i.id))}finally{t.dispose()}}async removeControllersAndUriStorageBelongingToInvalidServers(e,t,r){let i=this.uriStorage.all;await Promise.all(i.filter(o=>o.provider.extensionId===e&&o.provider.id===t).map(async o=>{r.includes(o.provider.handle)||await this.uriStorage.remove(o.provider)})),this.controllers.registered.forEach(o=>{let s=o.connection;ct(s)||s.serverProviderHandle.extensionId!==e||s.serverProviderHandle.id!==t||r.includes(s.serverProviderHandle.handle)||(p.warn(`Deleting controller ${o.id} as it is associated with a server Id that has been removed`),o.dispose())})}removeControllersBelongingToDisposedProvider(e,t){this.controllers.registered.forEach(r=>{let i=r.connection;ct(i)||i.serverProviderHandle.extensionId!==e||i.serverProviderHandle.id!==t||(p.warn(`Deleting controller ${r.id} as it is associated with a Provider Id that has been removed`),r.dispose())})}};v([Br("Failed to check what servers were shutdown in Controller Watcher")],sf.prototype,"checkExpiredServersInJupyterCollection",1),sf=v([(0,af.injectable)(),m(0,(0,af.inject)(M)),m(1,(0,af.inject)($t)),m(2,(0,af.inject)(ot)),m(3,(0,af.inject)(jt))],sf);var lf=k(N());var gq=require("vscode");var H_=class{constructor(e,t,r,i,o,s){this.label=e;this._description=t;this.detail=r;this.category=i;this.serverDisplayName=o;this.getDescription=s;this._onDidChange=new gq.EventEmitter;this.onDidChange=this._onDidChange.event}get description(){return this.getDescription?.()||this._description}set description(e){this._description=e}dispose(){this._onDidChange.dispose()}triggerChange(){this._onDidChange.fire(this)}};function vq(n){switch(n.kind){case"connectToLiveRemoteKernel":return y.kernelCategoryForJupyterSession;case"startUsingRemoteKernelSpec":return y.kernelCategoryForRemoteJupyterKernel;default:return G_(n)}}function G_(n){switch(n.kind){case"startUsingLocalKernelSpec":return y.kernelCategoryForJupyterKernel;case"startUsingPythonInterpreter":{if(Nn(n.kernelSpec)==="registeredByNewVersionOfExtForCustomKernelSpec")return y.kernelCategoryForJupyterKernel;switch(Ve(n.interpreter)){case"Conda":return Vr(n.interpreter)?y.kernelCategoryForCondaWithoutPython:y.kernelCategoryForConda;case"PipEnv":return y.kernelCategoryForPipEnv;case"Poetry":return y.kernelCategoryForPoetry;case"Pyenv":return y.kernelCategoryForPyEnv;case"Venv":case"VirtualEnv":case"VirtualEnvWrapper":return y.kernelCategoryForVirtual;default:return y.kernelCategoryForGlobal}}default:return""}}var jy=class{constructor(e,t,r,i){this.platform=e;this.jupyterUriProviderRegistration=t;this.disposables=r;this.interpreters=i;this.details=new Map}getDisplayData(e){if(!this.details.get(e.id)){let i=it(e),o=tN(e,this.platform);e.kind==="connectToLiveRemoteKernel"&&(o=eN(e));let s=G_(e),a=e.kind==="connectToLiveRemoteKernel"?()=>eN(e):void 0,l=new H_(i,o,"",s,void 0,a);if(this.disposables.push(l),this.details.set(e.id,l),e.kind==="startUsingPythonInterpreter"&&Vr(e.interpreter)){let c=u=>{let d=u.find(g=>g.id===e.interpreter?.id),f=wi(so().find(g=>g.id===d?.id));if(e.kind==="startUsingPythonInterpreter"&&f){e.updateInterpreter(f);let g=it(e),b=tN(e,this.platform),I=G_(e),E=!1;g!==l.label&&(l.label=g,E=!0),b!==l.description&&(l.description=b,E=!0),I!==l.category&&(l.category=I,E=!0),E&&l.triggerChange()}};this.interpreters.onDidChangeInterpreter(u=>u?c([u]):void 0,this,this.disposables)}}let t=this.details.get(e.id);if(this.details.set(e.id,t),e.kind==="connectToLiveRemoteKernel"||e.kind==="startUsingRemoteKernelSpec"){let i=Nv(e.serverProviderHandle,this.jupyterUriProviderRegistration,y.kernelDefaultRemoteDisplayName);t.serverDisplayName!==i&&(t.serverDisplayName=i,t.triggerChange())}let r=vq(e);return t.category!==r&&(t.category=r,t.triggerChange()),t}};jy=v([(0,lf.injectable)(),m(0,(0,lf.inject)(br)),m(1,(0,lf.inject)(jt)),m(2,(0,lf.inject)(M)),m(3,(0,lf.inject)(Xe))],jy);var lu=k(N()),cu=require("vscode");var op=k(N()),Iq=require("vscode");var yq=require("vscode");function z_(n){try{return rk(co(n))||n.getCells().find(t=>t.kind===yq.NotebookCellKind.Code)?.document.languageId}catch(e){p.warn("Failed to determine language of first cell",e)}}var bq="DATASCIENCE.LAST_SAVED_CELL_LANGUAGE",es=class{constructor(e,t,r){this.disposables=e;this.globalMemento=t;this.pythonExtensionChecker=r}getPreferredLanguage(e){let t=e?.language_info?.name||e?.kernelspec?.language||this.lastSavedNotebookCellLanguage,r=this.pythonExtensionChecker.isPythonExtensionInstalled?ge:"plaintext";return cl(t||r)}activate(){Iq.workspace.onDidSaveNotebookDocument(this.onDidSaveNotebookDocument,this,this.disposables)}getSupportedLanguages(e){if(dt(e))return cU;{let t=cl(po(e)||"");return t&&uS.includes(t.toLowerCase())?[t,"raw"]:[]}}get lastSavedNotebookCellLanguage(){return this.globalMemento.get(bq)}async onDidSaveNotebookDocument(e){if(!Et(e))return;let t=z_(e);t&&t!==this.lastSavedNotebookCellLanguage&&await this.globalMemento.update(bq,t)}};v([Br("Saving last saved cell language")],es.prototype,"onDidSaveNotebookDocument",1),es=v([(0,op.injectable)(),m(0,(0,op.inject)(M)),m(1,(0,op.inject)(We)),m(1,(0,op.named)(lt)),m(2,(0,op.inject)(Be))],es);function Sq(n){let e={kernelSpecCount:0,localKernelSpecCount:0,remoteKernelSpecCount:0,kernelInterpreterCount:0,kernelLiveCount:0};n.forEach(t=>{switch(t.kind){case"connectToLiveRemoteKernel":e.kernelLiveCount+=1;break;case"startUsingRemoteKernelSpec":e.localKernelSpecCount+=1,e.kernelSpecCount+=1;break;case"startUsingLocalKernelSpec":e.remoteKernelSpecCount+=1,e.kernelSpecCount+=1;break;case"startUsingPythonInterpreter":{e.kernelInterpreterCount+=1;break}default:break}}),R("DS_INTERNAL.KERNEL_COUNT",{...e})}var Tt=require("vscode");var Hl=require("vscode");var ci=Symbol("INotebookEditorProvider");var Cq=require("vscode");async function wq(n,e){let t=e?.findNotebookEditor(n);return t?Cq.commands.executeCommand("notebook.selectKernel",{notebookEditor:t}):(p.error("Unable to select kernel as the Notebook document could not be identified"),!1)}var Eq=require("vscode");var Q_=class extends ml{constructor(e){super(y.failedToStartAnUntrustedKernelSpec(it(e),e.kernelSpec.specFile?j(Eq.Uri.file(e.kernelSpec.specFile)):""),void 0,e)}};var js=class n{static async switchController(e,t){let i=t.get(ci).findNotebookEditor(e),o=t.get(ot),s,a=re(),l=o.onControllerSelected(u=>a.resolve(u.controller));return await wq(e,t.get(ci))&&i&&(s=await a.promise),l.dispose(),s?{controller:s.controller,metadata:s.connection}:void 0}static async notifyAndRestartDeadKernel(e){let t=await Hl.window.showErrorMessage(y.cannotRunCellKernelIsDead(it(e.kernelConnectionMetadata)),{modal:!0},y.showJupyterLogs,y.restartKernel),r=!1;switch(t){case y.restartKernel:{await e.restart(),r=!0;break}case y.showJupyterLogs:Hl.commands.executeCommand(B.ViewJupyterOutput).then(h,h)}return r}static async handleKernelError(e,t,r,i,o,s,a,l){let c=e.get(We,lt),u=e.get(Gr);a.interpreter&&r==="start"&&h3(c,19,a.interpreter.uri).catch(h);let d=await u.handleKernelError(t,r,a,i,l),f=ct(a);switch(e.tryGet(oi)?.isSupported&&f&&r==="start"&&Pt(i,"DS_INTERNAL.RAWKERNEL_SESSION_NO_IPYKERNEL",{reason:d}),o.dispose().catch(h),d){case 1:case 2:throw t;case 3:{let I=await n.switchController(i,e);if(!I)throw t;s=I.controller,a=I.metadata;break}}return{controller:s,metadata:a}}static convertContextToFunction(e,t){switch(e){case"start":case"execution":return r=>r.start(t);case"interrupt":return r=>r.interrupt();case"restart":return r=>r.restart()}}static{this.connectionsByNotebook=new WeakMap}static{this.connectionsByUri=new Map}static async verifyKernelState(e,t,r,i,o,s,a){let{kernel:l,deadKernelAction:c}=await i;if(ZD(l)){if(this.deleteKernelInfo(t,i),c==="deadKernelWasNoRestarted")throw new Wd(l.kernelConnectionMetadata);return c==="deadKernelWasRestarted"?l:n.wrapKernelMethod(l.kernelConnectionMetadata,"start",o,e,t,r,a,s)}return l}static async wrapKernelMethod(e,t,r,i,o,s,a,l=()=>void 0){let c=this.getKernelInfo(o);if(!s.disableUI&&c?.options.disableUI&&(c.options.disableUI=!1),!s.disableUI&&c?.kernel.resolved&&(c?.kernel.value?.kernel?.disposed||c?.kernel.value?.kernel?.disposing)&&(this.deleteKernelInfo(o),c=void 0),c&&t!=="restart"&&t!=="interrupt")return n.verifyKernelState(i,o,s,c.kernel.promise,r,l,a);p.debug(`${t} the kernel, options.disableUI=${s.disableUI} for ${j("notebook"in o?o.notebook.uri:o.resource)}`);let u=n.wrapKernelMethodImpl(e,t,i,o,s,r,l),d=us(u);return d.promise.catch(h),u.then(f=>{f.kernel.onDisposed(()=>{this.deleteKernelInfo(o,d.promise)},void 0,a)}).catch(()=>{this.deleteKernelInfo(o,d.promise)}),this.setKernelInfo(o,d,s),n.verifyKernelState(i,o,s,d.promise,r,l,a)}static getKernelInfo(e){return"notebook"in e?n.connectionsByNotebook.get(e.notebook):n.connectionsByUri.get(e.resource.toString())}static setKernelInfo(e,t,r){"notebook"in e?n.connectionsByNotebook.set(e.notebook,{kernel:t,options:r}):n.connectionsByUri.set(e.resource.toString(),{kernel:t,options:r})}static deleteKernelInfo(e,t){if(!t){"notebook"in e?n.connectionsByNotebook.delete(e.notebook):n.connectionsByUri.delete(e.resource.toString());return}"notebook"in e&&n.connectionsByNotebook.get(e.notebook)?.kernel.promise===t?n.connectionsByNotebook.delete(e.notebook):e.resource&&n.connectionsByUri.get(e.resource.toString())?.kernel.promise===t&&n.connectionsByUri.delete(e.resource.toString())}static verifyWeCanStartKernel(e,t){if(!ct(e)||!e.kernelSpec.specFile)return;if(!t.get(Yd).isTrusted(Hl.Uri.file(e.kernelSpec.specFile)))throw new Q_(e)}static async wrapKernelMethodImpl(e,t,r,i,o,s,a){let l=r.get(De),c=r.get(sm),u,d=n.convertContextToFunction(t,o),f=t,g="controller"in i?i.controller:void 0;for(t==="start"&&n.verifyWeCanStartKernel(e,r);u===void 0;){if("notebook"in i&&i.notebook.isClosed)throw new Hl.CancellationError;u="notebook"in i?l.getOrCreate(i.notebook,{metadata:e,controller:g||i.controller,resourceUri:i.resource}):c.getOrCreate(i.resource,{metadata:e,resourceUri:i.resource});try{if(t!=="restart"&&ZD(u)&&!o.disableUI){let b=await n.notifyAndRestartDeadKernel(u);return{kernel:u,deadKernelAction:b?"deadKernelWasRestarted":"deadKernelWasNoRestarted"}}else{if(a(f,u),await d(u),"notebook"in i&&i.notebook.isClosed)throw new Hl.CancellationError;ZD(u)&&!o.disableUI&&f!=="interrupt"&&await n.notifyAndRestartDeadKernel(u)}}catch(b){if(sr(b)||p.warn(`Error occurred while trying to ${f} the kernel, options.disableUI=${o.disableUI}`,b),o.disableUI)throw b;if("notebook"in i&&i.notebook.isClosed)throw new Hl.CancellationError;let I=await n.handleKernelError(r,b,f,i.resource,u,g,e,s);if(g=I.controller,e=I.metadata,d=E=>E.start(o),f="start",s==="3rdPartyExtension")throw b;u=void 0}}return{kernel:u}}static async connectToNotebookKernel(e,t,r,i,o,s="jupyterExtension",a=()=>void 0){return n.wrapKernelMethod(e,"start",s,t,r,i,o,a)}static async connectToKernel(e,t,r,i,o,s="jupyterExtension",a=()=>void 0){return n.wrapKernelMethod(e,"start",s,t,r,i,o,a)}};var cf=class{constructor(e){this.controller=e}get id(){return this.controller.id}createNotebookCellExecution(e){return this.controller.createNotebookCellExecution(e)}};var X_=require("vscode");var Y_=class extends Qt{constructor(t,r,i){super();this.kernel=t;this.controller=r;this.notebook=i}initialize(){let t=this.kernel,r=this.controller,i=this.notebook;if(t.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"||t.status!=="busy"&&t.status!=="unknown"||!r.createNotebookExecution)return;this._register(X_.workspace.onDidCloseNotebookDocument(s=>{s===i&&this.dispose()},this)),this._register(r.onDidChangeSelectedNotebooks(s=>{s.notebook===i&&s.selected===!1&&this.dispose()},this)),this._register(t.onStatusChanged(s=>{s!=="busy"&&s!=="unknown"&&this.dispose()},this));let o=r.createNotebookExecution(i);o.start(),this._register(new X_.Disposable(()=>o.end()))}};var Z_=class n{constructor(e,t,r,i,o,s,a,l,c,u,d){this.kernelConnection=e;this._viewType=r;this.kernelProvider=i;this.context=o;this.languageService=a;this.configuration=l;this.extensionChecker=c;this.serviceContainer=u;this.displayDataProvider=d;this._onNotebookControllerSelectionChanged=new Tt.EventEmitter;this._onConnecting=new Tt.EventEmitter;this.pendingCellAdditions=new WeakMap;this._onDidDispose=new Tt.EventEmitter;this.disposables=[];this.notebookKernels=new WeakMap;this.isDisposed=!1;this.runningCellExecutions=new WeakMap;this.associatedDocuments=new WeakMap;this.restoredConnections=new WeakSet;kV(e.id,e.interpreter?.id),s.push(this),this._onNotebookControllerSelected=new Tt.EventEmitter,this.displayData=this.displayDataProvider.getDisplayData(this.connection),this.controller=Tt.notebooks.createNotebookController(t,r,this.displayData.label,this.handleExecution.bind(this),this.getRendererScripts()),this.displayData.onDidChange(this.updateDisplayData,this,this.disposables),this.updateDisplayData(),this.controller.interruptHandler=this.handleInterrupt.bind(this),this.controller.supportsExecutionOrder=!0,this.controller.supportedLanguages=this.languageService.getSupportedLanguages(e),this.controller.onDidChangeSelectedNotebooks(this.onDidChangeSelectedNotebooks,this,this.disposables),Tt.workspace.onDidCloseNotebookDocument(f=>{this.associatedDocuments.delete(f)},this,this.disposables)}get id(){return this.controller.id}get label(){return this.controller.label}get connection(){return this.kernelConnection}get viewType(){return this._viewType}get onNotebookControllerSelected(){return this._onNotebookControllerSelected.event}get onNotebookControllerSelectionChanged(){return this._onNotebookControllerSelectionChanged.event}get onConnecting(){return this._onConnecting.event}get onDidReceiveMessage(){return this.controller.onDidReceiveMessage}get onDidDispose(){return this._onDidDispose.event}isAssociatedWithDocument(e){return this.associatedDocuments.has(e)}static create(e,t,r,i,o,s,a,l,c,u,d,f){let g=new n(e,t,r,i,o,s,a,l,c,u,d);try{g.controller.variableProvider=f}catch(b){p.warn("Failed to attach variable provider",b)}return g}async restoreConnection(e){if(this.restoredConnections.has(e))return;this.restoredConnections.add(e);let t=await this.connectToKernel(e,new Jt(!0));if(this.kernelConnection.kind==="connectToLiveRemoteKernel"){let u=new Y_(t,this.controller,e);this.disposables.push(u),u.initialize()}let r=this.kernelProvider.getKernelExecution(t),o=await this.serviceContainer.get(Sa).getLastTrackedCellExecution(e,t);if(!t.session?.kernel||r.pendingCells.length||!o||e.cellCount<o.cellIndex||e.cellAt(o.cellIndex).kind!==Tt.NotebookCellKind.Code)return;let s=!1,a=[],l,c=(u,d)=>{if(!(d.direction==="send"||s)&&Zc(d.msg)===o.msg_id){if("msg_type"in d.msg&&d.msg.msg_type==="status"&&"execution_state"in d.msg.content&&d.msg.content.execution_state==="idle")return;s=!0,r.resumeCellExecution(e.cellAt(o.cellIndex),{msg_id:o.msg_id,startTime:o.startTime,executionCount:o.executionCount}).catch(h),z(a)}};t.session.kernel.anyMessage.connect(c),l=new Tt.Disposable(()=>{Xn(()=>t.session?.kernel?.anyMessage.disconnect(c))}),a.push(l),this.disposables.push(l)}updateConnection(e){e.kind!=="connectToLiveRemoteKernel"&&(this.controller.label=it(e))}asWebviewUri(e){return this.controller.asWebviewUri(e)}postMessage(e,t){let r=e&&"message"in e?e.message:"";return p.ci(`\x1B[32mPosting message to Notebook UI ${r}`),this.controller.postMessage(e,t)}setPendingCellAddition(e,t){if(this.viewType!==ft)throw new Error("setPendingCellAddition only applies to the Interactive Window");this.pendingCellAdditions.set(e,t)}dispose(){if(this.isDisposed)return;let e=Tt.workspace.notebookDocuments.filter(t=>this.associatedDocuments.has(t)).map(t=>t.uri.toString());p.debug(`Disposing controller ${this.id} associated with connection ${this.connection.id} ${e.length?"and documents "+e.join(", "):""}`),p.ci(`Disposing controller ${this.id} associated with connection ${this.connection.id} ${e.length?"and documents "+e.join(", "):""} called from ${new Error("").stack}`),this.isDisposed=!0,this._onNotebookControllerSelected.dispose(),this._onNotebookControllerSelectionChanged.dispose(),this._onConnecting.dispose(),this.controller.dispose(),this._onDidDispose.fire(),this._onDidDispose.dispose(),z(this.disposables)}updateDisplayData(){this.controller.label=this.displayData.label;let e=this.connection.kind==="connectToLiveRemoteKernel"?"":this.displayData.description;this.controller.description=e,this.displayData.serverDisplayName&&(this.controller.description=e?`${e} (${this.displayData.serverDisplayName})`:this.displayData.serverDisplayName)}async handleExecution(e,t){if(e.length<1)return;let r=Pn(t);r?.cellExecutionCount(e.length);let i=r?.preExecuteCellTelemetry();this.pendingCellAdditions.has(t)&&await this.pendingCellAdditions.get(t),e=e.filter(o=>o.index<0?(p.warn(`Attempting to run a cell with index ${o.index}, kind ${o.kind}, text = ${o.document.getText()}`),!1):!0),Tt.workspace.isTrusted&&(p.debug(`Handle Execution of Cells ${e.map(o=>o.index)} for ${j(t.uri)}`),await Fs(t.uri,this.connection),i?.stop(),await Promise.all(e.map(o=>this.executeCell(t,o))))}async onDidChangeSelectedNotebooks(e){if(p.ci(`NotebookController selection event called for notebook ${e.notebook.uri.toString()} & controller ${this.connection.kind}:${this.id}. Selected ${e.selected} `),this.associatedDocuments.has(e.notebook)&&e.selected)return;if(!e.selected){let r=this.kernelProvider.get(e.notebook);r?.kernelConnectionMetadata.id===this.kernelConnection.id&&(p.info(`Disposing kernel ${this.kernelConnection.id} for notebook ${j(e.notebook.uri)} due to selection of another kernel or closing of the notebook`),r.dispose().catch(h)),this.associatedDocuments.delete(e.notebook),this._onNotebookControllerSelectionChanged.fire(e);return}if(!Et(e.notebook)&&e.notebook.notebookType!==ft||!Tt.workspace.isTrusted)return;Pn(e.notebook)?.kernelSelected(this.kernelConnection.id,this.kernelConnection.interpreter?.id),Ipe(this.kernelConnection);let t=re();p.ci(`Controller ${this.connection.kind}:${this.id} associated with nb ${j(e.notebook.uri)}`),this.associatedDocuments.set(e.notebook,t.promise),await this.onDidSelectController(e.notebook),await this.updateCellLanguages(e.notebook),this._onNotebookControllerSelected.fire({notebook:e.notebook,controller:this}),this._onNotebookControllerSelectionChanged.fire(e),p.debug("Controller selection change completed"),t.resolve()}async updateCellLanguages(e){let t=this.controller.supportedLanguages;if(!t||t?.length===0)return;let i=dt(this.kernelConnection)?ge:t[0];await Promise.all(e.getCells().filter(o=>o.kind===Tt.NotebookCellKind.Code).map(async o=>{t.includes(o.document.languageId)||await Tt.languages.setTextDocumentLanguage(o.document,i).then(h,h)}))}getRendererScripts(){return this.context.extensionMode===Tt.ExtensionMode.Development||this.context.extensionMode===Tt.ExtensionMode.Test?[new Tt.NotebookRendererScript(Tt.Uri.joinPath(this.context.extensionUri,"dist","webviews","webview-side","widgetTester","widgetTester.js"))]:[]}handleInterrupt(e){p.debug(`VS Code interrupted kernel for ${j(e.uri)}`),e.getCells().forEach(t=>ut(t,"Cell cancellation requested")),Tt.commands.executeCommand(B.InterruptKernel,{notebookEditor:{notebookUri:e.uri}}).then(h,t=>p.error("Failed to interrupt",t))}createCellExecutionIfNecessary(e,t){let r=this.runningCellExecutions.get(e.notebook);if(!r||r.cell===e){r?.end(void 0,void 0),r=Pi.getOrCreate(e,t,!0),this.runningCellExecutions.set(e.notebook,r);let i=r.end.bind(r);r.end=(o,s)=>{this.runningCellExecutions.delete(e.notebook),i(o,s)}}return r}async executeCell(e,t,r){let i=new Wr,o=i.add(new Tt.CancellationTokenSource);i.add(Tt.workspace.onDidCloseNotebookDocument(f=>f===e?o.cancel():void 0));let s=this.createCellExecutionIfNecessary(t,new cf(this.controller)),a="start",l,c=new cf(this.controller),u=!1,d=this.serviceContainer.get(Sa);try{if(l=await this.connectToKernel(e,new Jt(!1)),l.disposing)throw new Tt.CancellationError;let f=Pn(e)?.executeCell();f&&i.add(new Tt.Disposable(()=>f.stop())),u=!0,l&&l.controller.id!==c.id&&(c=l.controller,s=this.createCellExecutionIfNecessary(t,l.controller)),a="execution",l.controller.id===this.id&&this.updateKernelInfoInNotebookWhenAvailable(l,e),d.trackCellExecution(t,l);let b=this.kernelProvider.getKernelExecution(l).executeCell(t,r);return b.then(()=>{if(l&&!sS.isExiting)return d.deleteTrackedCellExecution(t,l)}).catch(h),await b}catch(f){if(f instanceof Qd)return;sr(f)||p.error("Error in execution",f),u||(s.start(),s.clearOutput(t).then(h,h));let g=this.serviceContainer.get(Gr);f=rn.unwrap(f);let b=sr(f)||f instanceof Wd;await rd(t,c,await g.getErrorMessageForDisplayInCell(f,a,e.uri),b)}finally{i.dispose()}}async connectToKernel(e,t){let r=Pn(e)?.startKernel();return this._onConnecting.fire(),js.connectToNotebookKernel(this.kernelConnection,this.serviceContainer,{resource:e.uri,notebook:e,controller:this.controller},t,this.disposables).finally(()=>r?.stop())}updateKernelInfoInNotebookWhenAvailable(e,t){if(this.notebookKernels.get(t)===e)return;this.notebookKernels.set(t,e);let r=[];Tt.workspace.onDidCloseNotebookDocument(s=>{s===t&&z(r)},this,r);let i=e.onDisposed(()=>z(r)),o=e.onStatusChanged(async()=>{e.disposed||!e.info||this.associatedDocuments.has(t)&&(await Pq(t,e.kernelConnectionMetadata,e.info),e.info.status==="ok"&&z(r))});r.push({dispose:()=>o.dispose()}),r.push({dispose:()=>i?.dispose()})}async onDidSelectController(e){let t=this.connection,r=this.kernelProvider.get(e);if(r&&sj(r.kernelConnectionMetadata,t)){p.info("Switch kernel did not change kernel.");return}if(Pt(e.uri,"DS_INTERNAL.SWITCH_KERNEL"),r&&Tt.window.visibleNotebookEditors.filter(s=>s.notebook===e).forEach(s=>this.postMessage({message:"IPyWidgets_onKernelChanged",payload:void 0},s)),await Pq(e,t),e.notebookType===ft)return;let i=this.kernelProvider.getOrCreate(e,{metadata:t,controller:this.controller,resourceUri:e.uri});if(p.debug(`KernelProvider switched kernel to id = ${i.kernelConnectionMetadata.id}`),dt(this.kernelConnection)&&!this.extensionChecker.isPythonExtensionInstalled)return;let o=this.serviceContainer.get(Yd);!this.configuration.getSettings(void 0).disableJupyterAutoStart&&ct(this.kernelConnection)&&this.kernelConnection.kernelSpec.specFile&&o.isTrusted(Tt.Uri.file(this.kernelConnection.kernelSpec.specFile))&&this.connectToKernel(e,new Jt(!0))}};async function Pq(n,e,t){let r=co(n)||{},{changed:i}=await ej(r,e,t);i&&await hV(n,r)}async function Ipe(n){let e=await qu(n.interpreter,!0),t=e?.major||0,r=e?.minor||0;!e||t>=4||t<=0||r<=-1||n.kind!=="startUsingLocalKernelSpec"&&n.kind!=="startUsingPythonInterpreter"||(t<3||t===3&&r<=5)&&Tt.window.showWarningMessage(y.warnWhenSelectingKernelWithUnSupportedPythonVersion,de.learnMore).then(i=>{if(i===de.learnMore)return yd("https://aka.ms/jupyterUnSupportedPythonKernelVersions")},h)}var Jy=class{constructor(e,t,r,i,o,s){this.disposables=e;this.pythonEnvFilter=t;this.extensionChecker=r;this.serviceContainer=i;this.serverUriStorage=o;this.kernelFinder=s;this.registeredControllers=new Map;this.changeEmitter=new cu.EventEmitter;this.registeredMetadatas=new Map;this.selectedEmitter=new cu.EventEmitter;this.selectionChangedEmitter=new cu.EventEmitter;this.selectedControllers=new WeakMap;this._activeInterpreterControllerIds=new Set}get onDidChange(){return this.changeEmitter.event}get registered(){return[...this.registeredControllers.values()]}get all(){return this.metadatas}get metadatas(){return[...this.registeredMetadatas.values()]}get onControllerSelected(){return this.selectedEmitter.event}get onControllerSelectionChanged(){return this.selectionChangedEmitter.event}activate(){this.kernelFinder.onDidChangeKernels(()=>this.loadControllers(),this,this.disposables),this.kernelFinder.registered.forEach(e=>this.monitorDeletionOfConnections(e)),this.kernelFinder.onDidChangeRegistrations(e=>e.added.forEach(t=>this.monitorDeletionOfConnections(t)),this,this.disposables),this.pythonEnvFilter.onDidChange(this.onDidChangeFilter,this,this.disposables),this.serverUriStorage.onDidChange(this.onDidChangeFilter,this,this.disposables),this.serverUriStorage.onDidChange(this.onDidChangeUri,this,this.disposables),this.serverUriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables),this.onDidChange(({added:e})=>{e.forEach(t=>{t.onNotebookControllerSelectionChanged(r=>{!r.selected&&this.isFiltered(t.connection)&&this.canControllerBeDisposed(t)&&(p.warn(`Removing controller ${t.id} for ${t.connection.kind} from kernel list`),t.dispose())},this,this.disposables)})},this,this.disposables),cu.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebookDocument,this,this.disposables),cu.workspace.notebookDocuments.forEach(e=>this.onDidOpenNotebookDocument(e).catch(h)),this.loadControllers()}loadControllers(){this.controllersPromise=this.loadControllersImpl(),Sq(this.registered.map(e=>e.connection)),p.ci(`Providing notebook controllers with length ${this.registered.length}.`)}get loaded(){return this.controllersPromise}async onDidOpenNotebookDocument(e){e.notebookType!==St&&e.notebookType!==ft||cu.workspace.isTrusted}async loadControllersImpl(){let e=this.kernelFinder.kernels;this.createNotebookControllers(e),Array.from(this.registered).filter(r=>{let i=e.some(o=>o.id===r.connection.id)||hi&&this._activeInterpreterControllerIds.has(r.id);return!i&&r.connection.kind==="connectToLiveRemoteKernel"?!0:this.canControllerBeDisposed(r)?(i||p.debug(`Controller ${r.connection.kind}:'${r.id}' for view = '${r.viewType}' is no longer a valid`),!i):!1}).forEach(r=>{p.warn(`Disposing old controller ${r.connection.kind}:'${r.id}' for view = '${r.viewType}'`),r.dispose()})}createNotebookControllers(e){if(e.length!==0)try{this.batchAdd(e,[St,ft])}catch(t){if(!sr(t,!0))throw t}}async monitorDeletionOfConnections(e){let t=e.onDidChangeKernels(({removed:r})=>{let i=new Set((r||[]).map(o=>o.id));this.registered.filter(o=>i.has(o.connection.id)).forEach(o=>{p.warn(`Deleting controller ${o.id} as it is associated with a connection that has been deleted ${o.connection.kind}:${o.id}`),o.dispose()})},this,this.disposables);this.kernelFinder.onDidChangeRegistrations(r=>{r.removed.includes(e)&&t.dispose()})}onDidChangeUri(){this.onDidChangeFilter()}async onDidRemoveServers(e){e.forEach(t=>{this.registered.forEach(r=>{_t(r.connection)&&r.connection.serverProviderHandle.id===t.id&&r.connection.serverProviderHandle.handle===t.handle&&(p.warn(`Deleting controller ${r.id} as it is associated with a connection that has been removed`),r.dispose())})}),this.onDidChangeFilter()}onDidChangeFilter(){this.all.filter(t=>!this.isFiltered(t)).forEach(t=>this.addOrUpdate(t,[St,ft])),this.registered.forEach(t=>{this.isFiltered(t.connection)&&this.canControllerBeDisposed(t)&&(p.warn(`Deleting controller ${t.id} as it is associated with a connection that has been hidden`),t.dispose())})}batchAdd(e,t){let r=[];e.forEach(i=>{let{added:o}=this.addImpl(i,t,!1);r.push(...o)}),r.length&&this.changeEmitter.fire({added:r,removed:[]})}trackActiveInterpreterControllers(e){e.forEach(t=>this._activeInterpreterControllerIds.add(t.id))}canControllerBeDisposed(e){return!this._activeInterpreterControllerIds.has(e.id)&&!this.isControllerAttachedToADocument(e)}getSelected(e){return this.selectedControllers.get(e)}addOrUpdate(e,t){let{added:r,existing:i}=this.addImpl(e,t,!0);return r.concat(i)}addImpl(e,t,r){let i=[],o=[];p.ci(`Create Controller for ${e.kind} and id '${e.id}' for view ${t.join(", ")}`);try{t.map(s=>{let a=this.getControllerId(e,s);return this.registeredMetadatas.set(e.id,e),[a,s]}).filter(([s])=>{let a=this.registeredControllers.get(s);return a?(a.updateConnection(e),o.push(a),p.ci(`Found existing controller '${a.id}', not creating a new one just updating it`),!1):this.isFiltered(e)?(p.ci(`Existing controller '${s}' will be excluded as it is filtered`),!1):(p.ci(`Existing controller not found for '${s}', hence creating a new one`),!0)}).forEach(([s,a])=>{let l=Z_.create(e,s,a,this.serviceContainer.get(De),this.serviceContainer.get(et),this.disposables,this.serviceContainer.get(es),this.serviceContainer.get(ie),this.extensionChecker,this.serviceContainer,this.serviceContainer.get(id),this.serviceContainer.get(K_)),c=[];l.onDidDispose(()=>{p.ci(`Deleting controller '${l.id}' associated with view ${a} from registration as it was disposed`),this.registeredControllers.delete(l.id),c.forEach(u=>u.dispose())},this,this.disposables),this.disposables.push(l),this.registeredControllers.set(l.id,l),i.push(l),l.onNotebookControllerSelected(u=>{p.ci(`Controller ${u.controller?.id} selected for ${u.notebook.uri.toString()}`),this.selectedControllers.set(u.notebook,u.controller),this.selectedEmitter.fire(u)},this,c),l.onNotebookControllerSelectionChanged(u=>this.selectionChangedEmitter.fire({...u,controller:l}),this,c)}),r&&i.length&&this.changeEmitter.fire({added:i,removed:[]})}catch(s){if(sr(s,!0))return{added:i,existing:o};p.error(`Failed to create notebook controller for ${e.id}`,s)}return{added:i,existing:o}}get(e,t){let r=this.getControllerId(e,t);return this.registeredControllers.get(r)}isFiltered(e){return!1}getControllerId(e,t){return t===St?e.id:`${e.id}${yj}`}isControllerAttachedToADocument(e){return cu.workspace.notebookDocuments.some(t=>e.isAssociatedWithDocument(t))}};Jy=v([(0,lu.injectable)(),m(0,(0,lu.inject)(M)),m(1,(0,lu.inject)(ri)),m(2,(0,lu.inject)(Be)),m(3,(0,lu.inject)(rt)),m(4,(0,lu.inject)($t)),m(5,(0,lu.inject)(kr))],Jy);var sp=k(N());var eT=class{constructor(e,t,r){this.kernel=e;this.localResourceUriConverter=t;this.scriptManagerFactory=r;this.id="local"}async getWidgetScriptSource(e){return(await this.getWidgetScriptSources()).find(i=>i.moduleName.toLowerCase()===e.toLowerCase())||{moduleName:e}}dispose(){}async getWidgetScriptSources(){let t=await this.scriptManagerFactory.getOrCreate(this.kernel).getWidgetModuleMappings();return t&&Object.keys(t).length?await Promise.all(Object.keys(t).map(async i=>{let o=(await this.localResourceUriConverter.asWebviewUri(t[i])).toString();return{moduleName:i,scriptUri:o,source:"local"}})):[]}async getBaseUrl(){let e=this.scriptManagerFactory.getOrCreate(this.kernel);if(!e.getBaseUrl)return;let t=await e.getBaseUrl();if(t)return this.localResourceUriConverter.asWebviewUri(t)}};var kq=require("vscode"),tT=class{constructor(e,t){this.id="remote";if(e.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"&&e.kernelConnectionMetadata.kind!=="startUsingRemoteKernelSpec")throw new Error("Invalid usage of this class, can only be used with remtoe kernels");this.kernelConnection=e.kernelConnectionMetadata,this.scriptManager=t.getOrCreate(e)}static{this.validUrls=new Map}dispose(){}async getBaseUrl(){return kq.Uri.parse(this.kernelConnection.baseUrl)}async getWidgetScriptSource(e){let r=(await this.getWidgetScriptSources()).find(i=>i.moduleName.toLowerCase()===e.toLowerCase());if(!r&&e.includes("/")){let i=await this.getBaseUrl();return{moduleName:e,scriptUri:`${i.toString()}${e}`,source:"remote"}}return r||{moduleName:e}}async getWidgetScriptSources(){let e=await this.scriptManager.getWidgetModuleMappings();return e&&Object.keys(e).length?await Promise.all(Object.keys(e).map(async r=>({moduleName:r,scriptUri:e[r].toString(),source:"remote"}))):[]}};var By=class{constructor(e,t,r){this.configurationSettings=e;this.widgetScriptManagerFactory=t;this.globalMemento=r}getProviders(e,t){let r=[];switch(r.push(new Ca(this.globalMemento,this.configurationSettings)),e.kernelConnectionMetadata.kind){case"connectToLiveRemoteKernel":case"startUsingRemoteKernelSpec":r.push(new tT(e,this.widgetScriptManagerFactory));break;default:r.push(new eT(e,t,this.widgetScriptManagerFactory))}return r}};By=v([(0,sp.injectable)(),m(0,(0,sp.inject)(ie)),m(1,(0,sp.inject)($_)),m(2,(0,sp.inject)(We)),m(2,(0,sp.named)(lt))],By);var xq=k(N()),rT=require("vscode");var $y=class{async getNbExtensionsParentPath(e){switch(e.kernelConnectionMetadata.kind){case"connectToLiveRemoteKernel":case"startUsingRemoteKernelSpec":return rT.Uri.parse(e.kernelConnectionMetadata.baseUrl);case"startUsingPythonInterpreter":{let t=await ia(e.kernelConnectionMetadata.interpreter);return t?rT.Uri.joinPath(rT.Uri.file(t),"share","jupyter"):void 0}default:return}}};$y=v([(0,xq.injectable)()],$y);var uu=k(N());var uf=require("vscode");var TO=require("vscode");var Wq=k(Lq());var Uq=["require.config({","requirejs?.config({","window.requirejs?.config({","requirejs.config({",'["require"].config({',"['require'].config({",'["requirejs"].config({',"['requirejs'].config({",'["require"]["config"]({',"['require']['config']({",'["requirejs"]["config"]({',"['requirejs']['config']({"];async function Epe(n,e,t){let r=[...Uq],i=await at(e),o=0,s;for(;o<=0&&r.length&&(s=r.pop(),!!s);)o=t.indexOf(s);if(o<0){let f=[...Uq].map(g=>g.substring(0,g.length-2));for(;o<=0&&f.length&&(s=f.pop(),!!s);)o=t.indexOf(s)}if(o<0){R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",void 0,{widgetFolderNameHash:i,failed:!0,patternUsedToRegisterRequireConfig:s,failure:"couldNotLocateRequireConfigStart"});return}let a=t.indexOf(")",o);if(a<=0||!s){R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",void 0,{widgetFolderNameHash:i,failed:!0,patternUsedToRegisterRequireConfig:s,failure:"couldNotLocateRequireConfigEnd"});return}let l=t.indexOf("{",o),c=t.substring(l,a);c=(0,Wq.default)(c,{language:"javascript"}),c=Oe(c,{trim:!0,removeEmptyEntries:!0}).join("");let u=c.split("{")[c.split("{").length-1].split("}")[0].split(",").map(f=>f.trim()).filter(f=>f.length&&f.includes(":")),d={};if(u.forEach(f=>{let g=f.split(":"),b=Bp(g[0].replace(/\\r/g,"").replace(/\\n/g,"").trim()).trim(),I=Bp(f.substring(f.indexOf(":")+1).replace(/\\r/g,"").replace(/\\n/g,"").trim()).trim();d[b]=I.startsWith("http")?TO.Uri.parse(I):TO.Uri.joinPath(n,I)}),!d||!Object.keys(d).length){R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",void 0,{widgetFolderNameHash:i,failed:!0,patternUsedToRegisterRequireConfig:s,failure:"noRequireConfigEntries"});return}return R("DS_INTERNAL.IPYWIDGET_EXTENSIONJS_INFO",{requireEntryPointCount:Object.keys(d).length},{widgetFolderNameHash:i,patternUsedToRegisterRequireConfig:s}),d}var qy=class{constructor(e){this.kernel=e;this.disposables=[];e.onRestarted(this.onKernelRestarted,this,this.disposables)}dispose(){z(this.disposables)}async getWidgetModuleMappings(){return this.widgetModuleMappings||(this.widgetModuleMappings=this.getWidgetModuleMappingsImpl()),this.widgetModuleMappings}onKernelRestarted(){this.widgetModuleMappings=void 0}async getConfigFromWidget(e,t,r){let i=await this.getWidgetScriptSource(t);try{let o=await Epe(e,r,i);if(!o){let s=`Failed to extract require.config from widget for ${r} from ${j(t)}`;hi&&(s+=`with contents ${i}`),p.warn(s)}return o}catch(o){p.error(`Failed to extract require.config entry for ${r} from ${j(t)}`,o)}}async getWidgetModuleMappingsImpl(){let e=new Ue,[t,r]=await Promise.all([this.getWidgetEntryPoints(),this.getNbExtensionsParentPath()]);if(!r)return;let o=(await Promise.all(t.map(s=>this.getConfigFromWidget(r,s.uri,s.widgetFolderName)))).reduce((s,a)=>Object.assign(s||{},a),{});return o&&Object.keys(o).length&&(delete o["jupyter-js-widgets"],delete o["@jupyter-widgets/base"],delete o["@jupyter-widgets/controls"],delete o["@jupyter-widgets/output"]),R("DS_INTERNAL.IPYWIDGET_DISCOVER_WIDGETS_NB_EXTENSIONS",{duration:e.elapsedTime},{type:ct(this.kernel.kernelConnectionMetadata)?"local":"remote"}),o&&Object.keys(o).length?o:void 0}};var sT=class extends qy{constructor(t,r,i,o){super(t);this.context=r;this.fs=i;this.connection=o;if(t.kernelConnectionMetadata.kind!=="connectToLiveRemoteKernel"&&t.kernelConnectionMetadata.kind!=="startUsingRemoteKernelSpec")throw new Error("Invalid usage, can only be used for remote kernels");this.kernelConnection=t.kernelConnectionMetadata,this.getWidgetEntryPoints().catch(h)}getBaseUrl(){return this.getNbExtensionsParentPath()}async getNbExtensionsParentPath(){return uf.Uri.parse(this.kernelConnection.baseUrl)}onKernelRestarted(){this.widgetEntryPointsPromise=void 0,super.onKernelRestarted()}async getWidgetEntryPoints(){return this.widgetEntryPointsPromise||(this.widgetEntryPointsPromise=this.getWidgetEntryPointsImpl()),this.widgetEntryPointsPromise}getCodeToExecute(){return this.code||(this.code=this.fs.readFile(uf.Uri.joinPath(this.context.extensionUri,"pythonFiles","printJupyWidgetEntryPoints.py"))),this.code}async getWidgetEntryPointsImpl(){if(!dt(this.kernelConnection))return[];let t=await this.getCodeToExecute();if(!this.kernel.session?.kernel)return p.ci("No Kernel session to get list of widget entry points"),[];let r=[];r.push(pn(this.kernel.session.kernel,t,{traceErrors:!0,traceErrorsMessage:"Failed to get widget entry points from remote kernel"})),!hi&&this.context.extensionMode===uf.ExtensionMode.Production&&r.push(gi(1e4).then(()=>[])),r.forEach(s=>s.catch(h));let i=await Promise.race(r);if(i.length===0)return p.ci("Unable to get widget entry points, no outputs after running the code"),[];let o=i[0];if(o.output_type!=="stream"||o.name!=="stdout")return p.ci("Unable to get widget entry points, no stream/stdout outputs after running the code"),[];try{return p.trace(`Widget Outputs include, ${o.text}`),o.text.trim().substring(1).slice(0,-1).split(",").map(a=>Bp(a.trim()).replace(/\\\\/g,"/").replace(/\\/g,"/")).map(a=>({uri:uf.Uri.joinPath(uf.Uri.parse(this.kernelConnection.baseUrl),"nbextensions",a),widgetFolderName:nt(a)}))}catch(s){return p.error(`Failed to parse output to get list of IPyWidgets, output is ${o.text}`,s),[]}}async getWidgetScriptSource(t){let r=this.getWidgetScriptSourceUsingHttpClient(t),i=this.getWidgetScriptSourceUsingFetch(t),o=r.catch(()=>i);return o.catch(s=>{r.catch(a=>p.error(`Failed to download widget script source from ${t.toString(!0)}`,a)),p.error(`Failed to download widget script source from ${t.toString(!0)}`,s)}),o}async getWidgetScriptSourceUsingHttpClient(t){let r=t.toString(!0),o=await new Kl().downloadFile(r);if(o.status===200)return o.text();throw new Error(`Error downloading from ${r}: ${o.statusText}`)}async getWidgetScriptSourceUsingFetch(t){let r=await this.connection.createConnectionInfo(this.kernelConnection.serverProviderHandle),i=t.toString(!0),s=await new Kl(r.settings.fetch).downloadFile(i);if(s.status===200)return s.text();throw new Error(`Error downloading from ${i} using custom fetch: ${s.statusText}`)}};var Hy=require("vscode");var aT=class n extends qy{constructor(t,r,i,o,s){super(t);this.fs=r;this.nbExtensionsPathProvider=i;this.context=o;this.jupyterPaths=s;this.overwriteExistingFiles=!0;this.overwriteExistingFiles=!n.nbExtensionsCopiedKernelConnectionList.has(t.kernelConnectionMetadata.id)}static{this.nbExtensionsCopiedKernelConnectionList=new Set}getBaseUrl(){return this.getNbExtensionsParentPath()}onKernelRestarted(){this.nbExtensionsParentPath=void 0,this.overwriteExistingFiles=!0,super.onKernelRestarted()}async getNbExtensionsParentPath(){return this.nbExtensionsParentPath||(this.nbExtensionsParentPath=this.getNbExtensionsParentPathImpl()),this.nbExtensionsParentPath}async getNbExtensionsParentPathImpl(){let t=this.overwriteExistingFiles;try{let r=new Ue;if(this.sourceNbExtensionsPath=await this.nbExtensionsPathProvider.getNbExtensionsParentPath(this.kernel),!this.sourceNbExtensionsPath){p.warn(`No nbextensions folder found for kernel ${this.kernel.kernelConnectionMetadata.id}`);return}let i=await at(this.kernel.kernelConnectionMetadata.id),o=Hy.Uri.joinPath(this.context.extensionUri,"temp","scripts",i,"jupyter"),s=Hy.Uri.joinPath(o,"nbextensions"),[a]=await Promise.all([this.jupyterPaths.getDataDirs({resource:this.kernel.resourceUri,interpreter:this.kernel.kernelConnectionMetadata.interpreter}),this.fs.createDirectory(s)]),l=a.map(c=>Hy.Uri.joinPath(c,"nbextensions"));l.reverse();for(let c of l)await this.fs.exists(c)&&await this.fs.copy(c,s,{overwrite:t});return this.overwriteExistingFiles=!1,n.nbExtensionsCopiedKernelConnectionList.add(this.kernel.kernelConnectionMetadata.id),R("DS_INTERNAL.IPYWIDGET_TIME_TO_COPY_NBEXTENSIONS_DIR",{duration:r.elapsedTime}),o}catch(r){throw R("DS_INTERNAL.IPYWIDGET_TIME_TO_COPY_NBEXTENSIONS_DIR",void 0,void 0,r),r}}async getWidgetEntryPoints(){let t=await this.getNbExtensionsParentPath();if(!t)return[];let r=Hy.Uri.joinPath(t,"nbextensions");return(await this.fs.searchLocal("**/extension.js",r.fsPath,!0)).map(o=>({uri:Hy.Uri.joinPath(r,o),widgetFolderName:nt(o)}))}getWidgetScriptSource(t){return this.fs.readFile(t)}};var Gy=class{constructor(e,t,r,i,o,s){this.nbExtensionsPathProvider=e;this.fs=t;this.context=r;this.jupyterPaths=i;this.disposables=o;this.connection=s;this.managers=new WeakMap}getOrCreate(e){if(!this.managers.has(e))if(e.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel"||e.kernelConnectionMetadata.kind==="startUsingRemoteKernelSpec"){let t=new sT(e,this.context,this.fs,this.connection);this.managers.set(e,t),e.onDisposed(()=>t.dispose(),this,this.disposables)}else{let t=new aT(e,this.fs,this.nbExtensionsPathProvider,this.context,this.jupyterPaths);this.managers.set(e,t),e.onDisposed(()=>t.dispose(),this,this.disposables)}return this.managers.get(e)}};Gy=v([(0,uu.injectable)(),m(0,(0,uu.inject)(B_)),m(1,(0,uu.inject)(lr)),m(2,(0,uu.inject)(et)),m(3,(0,uu.inject)(Mr)),m(4,(0,uu.inject)(M)),m(5,(0,uu.inject)(on))],Gy);var lT=k(N()),wa=require("vscode");var Js=class{constructor(e){this.disposables=[];e.push(this)}dispose(){z(this.disposables)}activate(){let e=new cs(1e3);this.disposables.push(e),wa.workspace.onDidChangeNotebookDocument(t=>{e.trigger(()=>this.onDidChangeNotebookDocument(t))},this,this.disposables)}onDidChangeNotebookDocument(e){Et(e.notebook)&&e.cellChanges.some(t=>t.outputs&&t.outputs.some(r=>r.items&&r.items.some(i=>i.mime===Ui)))&&this.checkRendererExtensionVersion()}checkRendererExtensionVersion(){if(!wa.workspace.isTrusted)return;let e=wa.extensions.getExtension(eh);if(!e){this.displayNotInstalledMessage();return}let t=e.packageJSON.version;if(!t){this.displayUpdateMessage();return}let r=t.split("."),i=parseInt(r[0],10),o=parseInt(r[1],10),s=parseInt(r[2],10);(i<1||i===1&&o===0&&s<15)&&this.displayUpdateMessage()}displayNotInstalledMessage(){Js.messageDisplayed||(Js.messageDisplayed=!0,wa.window.showInformationMessage(y.rendererExtensionRequired,{modal:!0},de.bannerLabelYes).then(e=>{e===de.bannerLabelYes&&wa.commands.executeCommand("extension.open",eh).then(h,h)}).then(h,h))}displayUpdateMessage(){Js.messageDisplayed||(Js.messageDisplayed=!0,wa.window.showInformationMessage(y.rendererExtension1015Required,{modal:!0},de.bannerLabelYes).then(e=>{e===de.bannerLabelYes&&wa.commands.executeCommand("extension.open",eh).then(h,h)}).then(h,h))}};Js.messageDisplayed=!1,Js=v([(0,lT.injectable)(),m(0,(0,lT.inject)(M))],Js);function Vq(n,e){n.addSingleton(au,au),n.addSingleton(J_,By),n.addSingleton($_,Gy),n.addSingleton(B_,$y),n.addSingleton(Ca,Ca),n.addSingleton(me,Js)}var lp=k(N()),Kr=require("vscode");var zy=class{constructor(e,t,r,i,o){this.controllerRegistration=e;this.kernelFinder=t;this.notebookEditorProvider=r;this.kernelDependency=i;this.localDisposables=[];this.providerMappings=new Map;this.kernelSpecsSourceRegistered=!1;o.push(this)}dispose(){z(this.localDisposables)}activate(){if(!tn()){this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(St,{provideNotebookKernelSourceActions:()=>[{label:y.localPythonEnvironments,documentation:Kr.Uri.parse("https://aka.ms/vscodeJupyterExtKernelPickerPythonEnv"),command:"jupyter.kernel.selectLocalPythonEnvironment"}]})),this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(ft,{provideNotebookKernelSourceActions:()=>[{label:y.localPythonEnvironments,documentation:Kr.Uri.parse("https://aka.ms/vscodeJupyterExtKernelPickerPythonEnv"),command:"jupyter.kernel.selectLocalPythonEnvironment"}]}));let t=[],r=new Kr.EventEmitter;this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(St,{onDidChangeNotebookKernelSourceActions:r.event,provideNotebookKernelSourceActions:()=>t})),this.localDisposables.push(Kr.notebooks.registerKernelSourceActionProvider(ft,{onDidChangeNotebookKernelSourceActions:r.event,provideNotebookKernelSourceActions:()=>t}));let i=()=>{this.kernelSpecsSourceRegistered||this.kernelFinder.kernels.some(o=>Zh(o))&&(this.kernelSpecsSourceRegistered=!0,t=[{label:y.localKernelSpecs,documentation:Kr.Uri.parse("https://aka.ms/vscodeJupyterExtKernelPickerJupyterKernels"),command:"jupyter.kernel.selectLocalKernelSpec"}],r.fire())};i(),this.kernelFinder.onDidChangeKernels(()=>i(),this,this.localDisposables),this.localDisposables.push(Kr.commands.registerCommand("jupyter.kernel.selectLocalKernelSpec",this.onSelectLocalKernel.bind(this,"localKernelSpec"),this)),this.localDisposables.push(Kr.commands.registerCommand("jupyter.kernel.selectLocalPythonEnvironment",this.onSelectLocalKernel.bind(this,"localPythonEnvironment"),this))}this.localDisposables.push(Kr.commands.registerCommand("jupyter.kernel.selectJupyterServerKernel",this.onSelectRemoteKernel,this)),be.instance.get(jt).onDidChangeCollections(this.registerUriCommands,this,this.localDisposables),this.registerUriCommands()}registerUriCommands(){let e=be.instance.get(jt),t=new Set;e.jupyterCollections.map(r=>{let i=`${r.extensionId}:${r.id}`;if(r.id===mE||(t.add(i),this.providerMappings.has(i)))return;let o=Kr.notebooks.registerKernelSourceActionProvider(St,{provideNotebookKernelSourceActions:()=>[{get label(){return r.label},get documentation(){return r.documentation},command:{command:"jupyter.kernel.selectJupyterServerKernel",arguments:[r.extensionId,r.id],title:r.label}}]}),s=Kr.notebooks.registerKernelSourceActionProvider(ft,{provideNotebookKernelSourceActions:()=>[{get label(){return r.label},get documentation(){return r.documentation},command:{command:"jupyter.kernel.selectJupyterServerKernel",arguments:[r.extensionId,r.id],title:r.label}}]});this.localDisposables.push(o),this.localDisposables.push(s),this.providerMappings.set(i,{disposables:[o,s],provider:r})}),this.providerMappings.forEach(({disposables:r},i)=>{t.has(i)||(z(r),this.providerMappings.delete(i))})}async onSelectLocalKernel(e,t){if(t=t||Kr.window.activeNotebookEditor?.notebook,!!t)if(e==="localPythonEnvironment"){let i=await be.instance.get(cm).selectLocalKernel(t);return this.getSelectedController(t,i)}else{let i=await be.instance.get(ck).selectLocalKernel(t);return this.getSelectedController(t,i)}}async onSelectRemoteKernel(e,t,r){if(r=r||Kr.window.activeNotebookEditor?.notebook,!r&&Kr.window.activeTextEditor&&(r=this.notebookEditorProvider.findNotebookEditor(Kr.window.activeTextEditor.document.uri)?.notebook),!r)return;let i=`${e}:${t}`,o=this.providerMappings.get(i)?.provider;if(!o)return;let a=await be.instance.get(lk).selectRemoteKernel(r,o);return this.getSelectedController(r,a)}async getSelectedController(e,t){if(!t)return;let r=this.controllerRegistration.addOrUpdate(t,[e.notebookType]);if(!Array.isArray(r)||r.length===0){p.warn(`No controller created for selected kernel connection ${t.kind}:${t.id}`);return}Fs(e.uri,t).finally(()=>Pt(e.uri,"DS_INTERNAL.SWITCH_KERNEL",void 0,{newKernelPicker:!0})).catch(h),r.find(o=>o.viewType===e.notebookType)?.controller.updateNotebookAffinity(e,Kr.NotebookControllerAffinity.Preferred);let i=r[0];return await this.onControllerSelected(e,i),i.controller.id}async onControllerSelected(e,t){if(wV(e),ct(t.connection)&&dt(t.connection)&&Vr(t.connection.interpreter)&&!tn()){let r=[];try{let i=new Kr.CancellationTokenSource;r.push(i);let o=new Jt(!1);r.push(o),await this.kernelDependency.installMissingDependencies({resource:e.uri,kernelConnection:t.connection,token:i.token,ui:o,cannotChangeKernels:!0,ignoreCache:!0,installWithoutPrompting:!0})}catch(i){p.error(`Failed to install missing dependencies for Conda kernel ${t.connection.id}`,i)}finally{z(r)}}}};zy=v([(0,lp.injectable)(),m(0,(0,lp.inject)(ot)),m(1,(0,lp.inject)(kr)),m(2,(0,lp.inject)(ci)),m(3,(0,lp.inject)(Es)),m(4,(0,lp.inject)(M))],zy);var df=k(N()),pT=require("vscode");var Gl=require("vscode");var cT=require("vscode");var cp=class{constructor(e){this.jupyterConnection=e;this.disposables=[]}dispose(){z(this.disposables)}async findPreferredRemoteKernelConnection(e,t,r){return this.findPreferredRemoteKernelConnectionImpl(e,t,r,!1)}async findPreferredRemoteKernelConnectionImpl(e,t,r,i){let o=await be.instance.get(Ho).getPreferredRemoteKernelId(e),s=async()=>{let l=t.kernels.find(u=>u.kind==="connectToLiveRemoteKernel"&&u.id===o);if(l)return l;if(t.status==="idle")return;let c=await new Promise(u=>t.onDidChangeKernels(()=>{let d=t.kernels.find(f=>f.kind==="connectToLiveRemoteKernel"&&f.id===o);d&&u(d),(t.status==="idle"||r.isCancellationRequested)&&u(void 0)},this,this.disposables));if(c)return c};if(o){let l=await s();if(l||i)return l}let a=t.kernels.find(l=>_t(l))?.serverProviderHandle;if(a){let l=await this.jupyterConnection.createConnectionInfo(a),c=(e.uri,void 0),u=c&&t.kernels.find(d=>_t(d)&&d.kind==="connectToLiveRemoteKernel"&&d.kernelModel.model&&d.kernelModel.model.path===c.path&&d.kernelModel.model.name===c.name);if(u)return u}return this.findPreferredKernelSpecConnection(e,t,r,i)}async findPreferredLocalKernelSpecConnection(e,t,r){return this.findPreferredKernelSpecConnection(e,t,r,!1)}async findPreferredKernelSpecConnection(e,t,r,i){let s=co(e)?.kernelspec?.name,a=()=>{let u=s?t.kernels.filter(f=>(f.kind==="startUsingLocalKernelSpec"||f.kind==="startUsingRemoteKernelSpec")&&f.kernelSpec.name===s):[];if(u.length||i)return u;let d=z_(e);if(d)return t.kernels.filter(f=>(f.kind==="startUsingLocalKernelSpec"||f.kind==="startUsingRemoteKernelSpec")&&f.kernelSpec.language&&(f.kernelSpec.language===d||cl(f.kernelSpec.language)===cl(d)))},l=a();if(Array.isArray(l)&&l.length)return i&&l.length>1?void 0:l[0];if(t.status==="idle")return;let c=[];return new Promise(u=>t.onDidChangeKernels(()=>{if(r.isCancellationRequested)return u(void 0);let d=a();if(Array.isArray(d)&&d.length)return i&&d.length>1?u(void 0):u(d[0]);t.status==="idle"&&u(void 0)},this,this.disposables)).finally(()=>z(c))}async findPreferredPythonKernelConnection(e,t,r){return this.findPreferredPythonKernelConnectionImpl(e,t,r)}async findPreferredPythonKernelConnectionImpl(e,t,r){t=t||be.instance.get(kr).registered.find(c=>c.kind==="localPythonEnvironment");let i=be.instance.get(Xe),o=RO(e,t);if(o)return o;let s=await i.getActiveInterpreter(e.uri);if(!s)return;let a=()=>{if(!r.isCancellationRequested)return t.kernels.filter(c=>c.kind==="startUsingPythonInterpreter").map(c=>c).find(c=>c.interpreter.id===s.id)},l=a();if(l)return l;if(t.status==="discovering")return await new Promise(c=>{t.onDidChangeStatus(()=>t.status==="idle"&&c(),this,this.disposables),t.onDidChangeKernels(()=>(RO(e,t)||a())&&c(),this,this.disposables)}),RO(e,t)||a()}};function RO(n,e){let t=cT.workspace.getWorkspaceFolder(n.uri)?.uri||(cT.workspace.workspaceFolders?.length===1?cT.workspace.workspaceFolders[0].uri:void 0),r=jq(yi(n.uri),e);if(r)return r;if(t)return jq(t,e)}function jq(n,e){let r=e.kernels.filter(a=>a.kind==="startUsingPythonInterpreter").map(a=>a).filter(a=>_g(Pr(a.interpreter)?.environment?.folderUri?.fsPath||a.interpreter.uri.fsPath,n.fsPath)),i=r.find(a=>Ve(a.interpreter)==="Venv"&&Ro(a.interpreter)?.toLowerCase()===".venv");if(i)return i;let o=r.find(a=>Ve(a.interpreter)==="Conda"&&Ro(a.interpreter)?.toLowerCase()===".venv");if(o)return o;let s=r.find(a=>Ro(a.interpreter)?.toLowerCase()===".venv");return s||(r.length?r[0]:void 0)}var uT=class{constructor(e,t,r,i,o){this.notebook=e;this.pythonEnvFilter=i;this.connection=o;this._onDidRefresh=new Gl.EventEmitter;this.onDidRefresh=this._onDidRefresh.event;this._onDidChange=new Gl.EventEmitter;this.onDidChange=this._onDidChange.event;this.kernels=[];this._onDidChangeStatus=new Gl.EventEmitter;this.onDidChangeStatus=this._onDidChangeStatus.event;this._onDidChangeRecommended=new Gl.EventEmitter;this.onDidChangeRecommended=this._onDidChangeRecommended.event;this._onDidFailToListKernels=new Gl.EventEmitter;this.onDidFailToListKernels=this._onDidFailToListKernels.event;this.status="idle";this.disposables=[];this.refresh=async()=>{this.refreshInvoked=!0},this.title=y.kernelPickerSelectKernelTitle,this.kind=t,this.disposables.push(this._onDidRefresh),Au(r)?r.then(s=>this.setupFinder(s)).catch(s=>p.error(`Failed to setup finder for ${this.title}`,s)):this.setupFinder(r)}dispose(){z(this.disposables)}setupFinder(e){switch(this.refresh=async()=>e.refresh(),this.status!==e.status&&!this.refreshInvoked&&(this.status=e.status,this._onDidChangeStatus.fire()),this.refreshInvoked?e.refresh().catch(i=>p.error(`Failed to refresh finder for ${this.title}`,i)):e.kind==="remote"&&e.status==="idle"&&this.filteredKernels(e.kernels).length===0&&e.refresh().catch(i=>p.error(`Failed to refresh finder for ${this.title}`,i)),e.kind){case"localKernelSpec":this.title=y.kernelPickerSelectLocalKernelSpecTitle;break;case"localPythonEnvironment":this.title=y.quickPickSelectPythonEnvironmentTitle;break;default:this.title=y.kernelPickerSelectKernelFromRemoteTitle(e.displayName);break}e.onDidChangeKernels(()=>{this.kernels.length=0,this.kernels.push(...this.filteredKernels(e.kernels)),this._onDidChange.fire()},this,this.disposables),e.onDidChangeStatus(()=>{this.status=e.status,this._onDidChangeStatus.fire(),this.status==="idle"&&e.lastError&&this.filteredKernels(e.kernels).length===0&&(this.kernels.length=0,this._onDidFailToListKernels.fire(e.lastError))}),this.kernels.length=0,this.kernels.push(...this.filteredKernels(e.kernels)),this._onDidChange.fire(),this._onDidChangeStatus.fire();let t=new Gl.CancellationTokenSource;this.disposables.push(new Gl.Disposable(()=>t.cancel())),this.disposables.push(t);let r=new cp(this.connection);this.disposables.push(r),e.kind==="remote"?this.computePreferredRemoteKernel(e,r,t.token):this.computePreferredLocalKernel(e,r,t.token)}filteredKernels(e){let t=this.pythonEnvFilter;return t?e.filter(r=>r.kind!=="startUsingPythonInterpreter"||!t.isPythonEnvironmentExcluded(r.interpreter)):e}computePreferredRemoteKernel(e,t,r){t.findPreferredRemoteKernelConnection(this.notebook,e,r).then(i=>{this.recommended=i,this._onDidChangeRecommended.fire()}).catch(i=>p.error(`Preferred connection failure ${j(this.notebook.uri)}`,i))}computePreferredLocalKernel(e,t,r){let i=()=>{this.recommended&&!this.kernels.find(s=>s.id===this.recommended?.id)&&(this.recommended=void 0),(e.kind==="localKernelSpec"?t.findPreferredLocalKernelSpecConnection.bind(t):t.findPreferredPythonKernelConnection.bind(t))(this.notebook,e,r).then(s=>{this.recommended?.id!==s?.id&&(this.recommended=s,this._onDidChangeRecommended.fire())}).catch(s=>p.error(`Preferred connection failure ${j(this.notebook?.uri)}`,s))};i(),e.onDidChangeKernels(i,this,this.disposables)}};var up=require("vscode");function zl(n){return"connection"in n}function Ppe(n){return"command"in n}function kpe(n,e,t){let r=t?[t]:n.activeItems.length?[n.activeItems[0]]:[];if(r.length&&!e.includes(r[0])){let i=r[0],o=zl(i)&&e.find(s=>zl(s)&&s.connection.id===i.connection.id);o?r[0]=o:r.length=0}n.items=e,n.activeItems=r}var AO=class extends Error{},dT=class extends Qt{constructor(t,r){super();this.provider=t;this.token=r;this.recommendedItems=[];this.existingItems=new Set;this.quickPickItems=[];this.displayDataProvider=be.instance.get(id)}async selectKernel(t){return this.selectKernelImpl(t,{quickPick:void 0})}async selectKernelImpl(t,r){if(this.token.isCancellationRequested)return;let i=this.provider.kernels.map(o=>this.connectionToQuickPick(o));return this.quickPickItems.push({kind:up.QuickPickItemKind.Separator,label:y.kernelCategoryForJupyterKernel}),i.sort((o,s)=>o.label.localeCompare(s.label)),this.quickPickItems.push(...i),this.existingItems=new Set(i),this.selectKernelImplInternal(t,r)}async selectKernelImplInternal(t,r){let i={iconPath:new up.ThemeIcon("refresh"),tooltip:de.refresh},o={iconPath:new up.ThemeIcon("loading~spin"),tooltip:de.refreshing},{quickPick:s,selection:a}=t({title:this.provider.title,items:this.quickPickItems,buttons:[i],onDidTriggerButton:async u=>{if(u===i){let d=s.buttons;s.buttons=d.filter(f=>f!==i).concat(o),await this.provider.refresh().catch(h),s.buttons=d}}});r.quickPick=s,this.provider.status==="discovering"&&(s.busy=!0);let l;this._register(this.provider.onDidChangeStatus(()=>{switch(l&&clearTimeout(l),this.provider.status){case"discovering":s.busy=!0;break;case"idle":l=setTimeout(()=>s.busy=!1,500),this._register(new up.Disposable(()=>l&&clearTimeout(l)));break}},this)),this.updateRecommended(s),this.updateQuickPickItems(s),this._register(this.provider.onDidChangeRecommended(()=>this.updateRecommended(s),this)),this._register(this.provider.onDidChange(()=>this.updateQuickPickItems(s),this));let c=await a;if(!this.token.isCancellationRequested){if(Ppe(c))try{let u=await c.command();return u?{selection:"controller",connection:u}:void 0}catch(u){if(u instanceof AO)return{selection:"userPerformedSomeOtherAction"};if(u===_e.back)return this.selectKernelImplInternal(t,r);throw u}if(c&&"connection"in c)return{selection:"controller",connection:c.connection};if(c&&"error"in c)throw _e.back}}updateQuickPickItems(t){t.title=this.provider.title;let r=new Set(t.items.filter(u=>zl(u)).map(u=>u).map(u=>u.connection.id)),i=this.provider.kernels.filter(u=>!r.has(u.id)).map(u=>this.connectionToQuickPick(u));this.updateQuickPickWithLatestConnection(t),this.removeMissingKernels(t),this.updateRecommended(t),i.sort((u,d)=>u.label.localeCompare(d.label));let o=0,s=this.existingItems,a=new Map(Array.from(s).map(u=>[u.connection.id,u])),l=s.size;i.forEach(u=>{let d=a.get(u.connection.id);d&&s.delete(d),s.add(u)});let c=Array.from(s);c.sort((u,d)=>u.label.localeCompare(d.label)),this.quickPickItems.splice(o+1,l,...c),this.rebuildQuickPickItems(t)}rebuildQuickPickItems(t){let r=this.recommendedItems.find(a=>zl(a)),i=new Set(this.recommendedItems.filter(zl).map(a=>a.connection.id)),o=this.quickPickItems.filter(a=>!zl(a)||!i.has(a.connection.id)),s=t.activeItems.length?t.activeItems[0]:void 0;r&&zl(r)&&s&&(zl(s)?s.connection.id!==r.connection.id&&(r=void 0):r=void 0),kpe(t,this.recommendedItems.concat(o),r)}removeMissingKernels(t){let r=t.items.filter(s=>zl(s)).map(s=>s).map(s=>s.connection.id),i=new Map(this.provider.kernels.map(s=>[s.id,s])),o=r.filter(s=>!i.has(s));if(o.length){let s=[];this.existingItems.forEach(a=>{o.includes(a.connection.id)&&(this.existingItems.delete(a),s.push(a))}),this.quickPickItems=this.quickPickItems.filter(a=>!s.includes(a)),this.rebuildQuickPickItems(t)}}updateRecommended(t){if(!this.provider.recommended){this.recommendedItems.length=0;return}this.recommendedItems.length||this.recommendedItems.push({label:y.recommendedItemCategoryInQuickPick,kind:up.QuickPickItemKind.Separator});let r=this.connectionToQuickPick(this.provider.recommended,!0);this.recommendedItems.length===2?this.recommendedItems[1]=r:this.recommendedItems.push(r),this.rebuildQuickPickItems(t)}updateQuickPickWithLatestConnection(t){let r=new Map(this.provider.kernels.map(i=>[i.id,i]));this.recommendedItems.concat(this.quickPickItems).forEach(i=>{if(!zl(i)||!r.has(i.connection.id))return;let o=r.get(i.connection.id);o&&(i.label=this.connectionToQuickPick(o,i.isRecommended).label,i.tooltip=this.connectionToQuickPick(o,i.isRecommended).tooltip,i.detail=this.connectionToQuickPick(o,i.isRecommended).detail,i.description=this.connectionToQuickPick(o,i.isRecommended).description,i.isRecommended=this.connectionToQuickPick(o,i.isRecommended).isRecommended,i.connection=o)}),this.rebuildQuickPickItems(t)}connectionToQuickPick(t,r=!1){let i=r?"$(star-full) ":"",o=(l,c,u)=>{l.label=`${i}${c.label}`,l.detail=c.detail,l.description=c.description,this.quickPickItems.forEach(d=>{"connection"in d&&d.connection.id===u.id&&(d.label=c.label,d.detail=c.detail,d.description=c.description)})},s=this.displayDataProvider.getDisplayData(t),a={label:"",detail:"",description:"",isRecommended:r,connection:t};return o(a,s,t),this._register(s.onDidChange(l=>o(a,l,t),this)),a}};var Qy=class{constructor(e,t,r,i){this.kernelFinder=e;this.multiStepFactory=t;this.pythonEnvFilter=r;this.jupyterConnection=i;this.localDisposables=[]}async selectLocalKernel(e){if(e.notebookType!==St&&e.notebookType!==ft)return;this.localDisposables.forEach(o=>o.dispose()),this.localDisposables=[],this.cancellationTokenSource?.cancel(),this.cancellationTokenSource?.dispose(),this.cancellationTokenSource=new pT.CancellationTokenSource;let t=this.multiStepFactory.create(),r={disposables:[],notebook:e},i=this.kernelFinder.registered.find(o=>o.id==="localKernelSpec");try{if(await t.run(this.selectKernelFromKernelFinder.bind(this,i,this.cancellationTokenSource.token,t,r),r)===_e.cancel||r.selection?.type==="userPerformedSomeOtherAction")throw new pT.CancellationError;if(this.cancellationTokenSource.token.isCancellationRequested){z(r.disposables);return}if(r.selection?.type==="connection")return r.selection.connection}finally{z(r.disposables)}}selectKernelFromKernelFinder(e,t,r,i){let o=new uT(i.notebook,e.kind,e,this.pythonEnvFilter,this.jupyterConnection);return i.disposables.push(o),this.selectKernel(o,t,r,i)}async selectKernel(e,t,r,i){if(t.isCancellationRequested)return;let o=new dT(e,t);i.disposables.push(o);let s=l=>{let{quickPick:c,selection:u}=r.showLazyLoadQuickPick({...l,placeholder:"",matchOnDescription:!0,matchOnDetail:!0,supportBackInFirstStep:!0,activeItem:void 0,ignoreFocusOut:!1});return{quickPick:c,selection:u}},a=await o.selectKernel(s);a?.selection==="controller"?i.selection={type:"connection",connection:a.connection}:a?.selection==="userPerformedSomeOtherAction"&&(i.selection={type:"userPerformedSomeOtherAction"})}};Qy=v([(0,df.injectable)(),m(0,(0,df.inject)(kr)),m(1,(0,df.inject)(wg)),m(2,(0,df.inject)(ri)),m(3,(0,df.inject)(on))],Qy);var du=k(N()),mf=require("vscode");var pf=require("vscode");var Yy=require("vscode");var mT=class{constructor(e,t){this.notebook=e;this.disposables=[];be.instance.get(ot).onControllerSelected(i=>{i.notebook===this.notebook&&(i.controller.connection.kind!=="startUsingPythonInterpreter"||!i.controller.connection.interpreter||i.controller.connection.interpreter.id!==this.createdEnvId)&&this.cancelTokeSource.cancel()},this,this.disposables),this.cancelTokeSource=og(t)}dispose(){this.cancelTokeSource.dispose(),z(this.disposables)}async createPythonEnvFromKernelPicker(){let e,t=await this.createPythonEnvironment();if(this.cancelTokeSource.token.isCancellationRequested||t.action)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"cancelled"}),{action:t.action||"Cancel"};if(!t.interpreter)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"cancelled"}),{action:"Cancel"};e=t.interpreter,p.debug(`Python Environment created ${e.id}`);let r=await this.waitForPythonKernel(t.interpreter);if(this.cancelTokeSource.token.isCancellationRequested)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"cancelled"}),{action:"Cancel"};if(!r)return R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{failed:!0,reason:"kernelConnectionNotCreated"}),p.debug(`Python Environment ${e.id} not found as a kernel`),{action:"Cancel"};p.debug(`Python Environment ${e.id} found as a kernel ${r.kind}:${r.id}`);let o=await be.instance.get(Es).installMissingDependencies({resource:this.notebook.uri,kernelConnection:r,ui:new Jt(!1),token:this.cancelTokeSource.token,ignoreCache:!0,cannotChangeKernels:!0,installWithoutPrompting:!0}),s=!0;return o!==0&&(s=!1,p.warn(`Dependencies not installed for new Python Env ${j(e.uri)} for notebook ${j(this.notebook.uri)}`)),R("DATASCIENCE.CREATE_PYTHON_ENVIRONMENT",void 0,{dependenciesInstalled:s,envType:Ve(t.interpreter)}),{kernelConnection:r}}async waitForPythonKernel(e){let r=be.instance.get(kr).registered.find(i=>i.kind==="localPythonEnvironment");if(r)return this.waitForPythonKernelFromFinder(e,r)}async waitForPythonKernelFromFinder(e,t){let r=t.kernels.find(i=>i.interpreter.id===e.id);return r||new Promise(i=>{let o=[];o.push(t.onDidChangeKernels(()=>{if(this.cancelTokeSource.token.isCancellationRequested)return;let s=t.kernels.find(a=>a.interpreter.id===e.id);if(s)return z(o),i(s)},this,this.disposables)),o.push(this.cancelTokeSource.token.onCancellationRequested(()=>{z(o)}))}).then(i=>{if(!this.cancelTokeSource.token.isCancellationRequested)return i||p.warn(`New Python Environment ${j(e.uri)} not found as a kernel`),i})}async createPythonEnvironment(){let e=be.instance.get(Xe),t=new Yy.CancellationTokenSource;try{let r=await Yy.commands.executeCommand("python.createEnvironment",{showBackButton:!0,selectEnvironment:!0});if(r?.action==="Cancel")return{action:"Cancel"};if(r?.action==="Back")return{action:"Back"};let i=r?.path;if(this.cancelTokeSource.token.isCancellationRequested)return{action:"Cancel"};if(!i)return p.warn("Python Environment not created, either user cancelled the creation or there was an error in the Python Extension"),{action:"Cancel"};this.createdEnvId=i,p.debug(`Python Environment created ${i}`);let o=await e.getInterpreterDetails({path:i});return this.cancelTokeSource.token.isCancellationRequested?{action:"Cancel"}:(o||p.warn(`No interpreter details for New Python Environment ${j(Yy.Uri.file(i))}`),this.createdEnvId=o?.id,{interpreter:o})}finally{t.cancel(),t.dispose()}}};var fT=require("vscode");function Bq(n,e){let t=xpe(n,e.environments.known);return t||(()=>{let i=e.environments.getActiveEnvironmentPath(n.uri);return i&&e.environments.known.find(o=>o.id===i.id)})()}function xpe(n,e){let t=fT.workspace.getWorkspaceFolder(n.uri)?.uri||(fT.workspace.workspaceFolders?.length===1?fT.workspace.workspaceFolders[0].uri:void 0),r=Jq(yi(n.uri),e);if(r)return r;if(t)return Jq(t,e)}function Jq(n,e){let t=e.filter(r=>_g(r.environment?.folderUri?.fsPath||r.executable.uri?.fsPath||r.path,n.fsPath));return t.find(r=>Ve(r)==="Venv"&&r.environment?.name?.toLowerCase()===".venv")||t.find(r=>Ve(r)==="Conda"&&r.environment?.name?.toLowerCase()===".conda")||t.find(r=>["VirtualEnv","VirtualEnvWrapper"].includes(Ve(r))&&r.environment?.name?.toLowerCase()===".venv")||t.find(r=>r.environment?.name?.toLowerCase()===".venv"||r.environment?.name?.toLowerCase()===".conda")||t.length?t[0]:void 0}var hT=class extends Qt{constructor(t,r){super();this.notebook=t;this.token=r;let i=be.instance.get(ri),o=be.instance.get(Be),s=be.instance.get(Ht);this.provider=be.instance.get(Rs).withFilter(g=>!i.isPythonEnvironmentExcluded(g)),this.pythonEnvPicker=this._register(new Fd(Promise.resolve(this.provider),Yx,Xx,{supportsBack:!0},void 0,y.quickPickSelectPythonEnvironmentTitle));let a=!1,l=()=>{a||(a=!0,this.pythonEnvPicker.addCommand({label:`$(add) ${y.createPythonEnvironmentInQuickPick}`},this.createNewEnvironment.bind(this)))};this.provider.items.length&&l();let c={dispose:h},u=this._register(this.provider.onDidChange(()=>{this.provider.items.length&&(l(),c.dispose(),u.dispose())}));this.provider.refresh().finally(()=>{this.provider.items.length||(c=this.pythonEnvPicker.addCommand({label:y.installPythonQuickPickTitle,tooltip:y.installPythonQuickPickToolTip,description:y.pleaseReloadVSCodeOncePythonHasBeenInstalled},()=>{throw setTimeout(()=>pf.commands.executeCommand(B.InstallPythonViaKernelPicker).then(h,h)),new pf.CancellationError}))}).catch(h);let d=()=>{!this.pythonApi||r.isCancellationRequested||(this.pythonEnvPicker.recommended=Bq(this.notebook,this.pythonApi))},f=g=>{g&&(this.pythonApi=g,d(),this._register(g.environments.onDidChangeActiveEnvironmentPath(d)),this._register(g.environments.onDidChangeEnvironments(d)))};o.isPythonExtensionInstalled?s.getNewApi().then(f).catch(h):this._register(o.onPythonExtensionInstallationStatusChanged(()=>s.getNewApi().then(f),this)),d()}async selectKernel(){let t=re();pf.extensions.getExtension(Yn)||pf.commands.executeCommand(B.InstallPythonExtensionViaKernelPicker).then(l=>{l===!0?this.provider.refresh().catch(h):t.resolve()},l=>{p.error("Failed to install the Python extension",l),t.resolve()});let r=await Promise.race([this.pythonEnvPicker.selectItem(this.token),t.promise]);if(!r||r instanceof _e)return r||_e.cancel;let i=be.instance.get(Xe),o=be.instance.get(Mr),s=await i.getInterpreterDetails(r.path);if(!s)return _e.cancel;let a=await Ps(s,await o.getKernelSpecTempRegistrationFolder());return Ko.create({kernelSpec:a,interpreter:s,id:ki(a,s)})}async createNewEnvironment(){let t=be.instance.get(Ht);if(!be.instance.get(Be).isPythonExtensionInstalled)return;let o=await this._register(new mT(this.notebook,this.token)).createPythonEnvFromKernelPicker();return o?"action"in o?o.action==="Back"?_e.back:_e.cancel:(await t.getNewApi())?.environments.known.find(a=>a.id===o.kernelConnection.interpreter.id):_e.cancel}};var Xy=class extends jn{constructor(t,r,i,o,s,a){super();this.pythonApi=r;this.filter=i;this.jupyterPaths=o;this.checker=s;this.kind="localPythonEnvironment";this.id="localPythonEnvironment";this.displayName=y.localPythonEnvironments;this._onDidChangeKernels=this._register(new mf.EventEmitter);this.onDidChangeKernels=this._onDidChangeKernels.event;this._kernels=new Map;this._onDidChangeStatus=this._register(new mf.EventEmitter);this._status="idle";this.promiseMonitor=new lo;this.onDidChangeStatus=this._onDidChangeStatus.event;this.previousCancellationTokens=[];this.apiHooked=!1;t.push(this),a.registerKernelFinder(this)}get status(){return this._status}set status(t){this._status=t,this._onDidChangeStatus.fire()}get kernels(){return Array.from(this._kernels.values())}activate(){this._register(this.promiseMonitor.onStateChange(()=>this.status=this.promiseMonitor.isComplete?"idle":"discovering",this)),this.checker.isPythonExtensionInstalled?(this.getKernelSpecsDir().catch(h),this.hookupPythonApi().catch(h)):this._register(this.checker.onPythonExtensionInstallationStatusChanged(()=>{this.checker.isPythonExtensionInstalled&&(this.getKernelSpecsDir().catch(h),this.hookupPythonApi().catch(h))},this))}async selectLocalKernel(t){let r=new mf.CancellationTokenSource,i=[r];try{let o=new hT(t,r.token);i.push(o);let s=await o.selectKernel();if(s instanceof Error){if(s instanceof _e&&s===_e.back)return;throw new mf.CancellationError}return this.addUpdateKernel(s),s}finally{z(i)}}async getKernelConnection(t){let r=be.instance.get(Xe),i=be.instance.get(Mr),o=await r.getInterpreterDetails(t.path);if(!o){p.warn(`Python Env ${j(t.id)} not found}`);return}if(!o||this.filter.isPythonEnvironmentExcluded(o)){p.warn(`Python Env hidden via filter: ${j(o.id)}`);return}let s=await Ps(o,await i.getKernelSpecTempRegistrationFolder()),a=Ko.create({kernelSpec:s,interpreter:o,id:ki(s,o)}),l=this._kernels.get(a.id);return l||(this.addUpdateKernel(a),a)}addUpdateKernel(t){let r=this._kernels.get(t.id);r?(r.updateInterpreter(t.interpreter),this._kernels.set(t.id,Object.assign(r,t)),this._onDidChangeKernels.fire({})):(this._kernels.set(t.id,t),this._onDidChangeKernels.fire({}))}async refresh(){this.previousCancellationTokens.forEach(t=>t.cancel()),z(this.previousCancellationTokens),this.previousCancellationTokens=[],this._kernels.clear(),this.pythonApi.getNewApi().then(t=>{t&&(this.promiseMonitor.push(t.environments.refreshEnvironments({forceRefresh:!0}).catch(h)),t.environments.known.forEach(r=>this.buildDummyEnvironment(r).catch(h)))}).catch(h)}getKernelSpecsDir(){return this.tempDirForKernelSpecs||(this.tempDirForKernelSpecs=this.jupyterPaths.getKernelSpecTempRegistrationFolder()),this.tempDirForKernelSpecs}async hookupPythonApi(){if(this.apiHooked)return;this.apiHooked=!0;let t=await this.pythonApi.getNewApi();t&&(t.environments.known.map(r=>this.buildDummyEnvironment(r).catch(h)),this._register(t.environments.onDidChangeEnvironments(r=>{if(r.type==="remove"){let i=this._kernels.get(r.env.id);i&&(this._kernels.delete(r.env.id),this._onDidChangeKernels.fire({removed:[i]}))}else this.buildDummyEnvironment(r.env).catch(h)},this)))}async buildDummyEnvironment(t){let r=_V(t);if(!r||this.filter.isPythonEnvironmentExcluded(r))return;let i=await Ps(r,await this.getKernelSpecsDir()),o=Ko.create({kernelSpec:i,interpreter:r,id:ki(i,r)});this._kernels.get(t.id)||(this._kernels.set(t.id,o),this._onDidChangeKernels.fire({}))}};Xy=v([(0,du.injectable)(),m(0,(0,du.inject)(M)),m(1,(0,du.inject)(Ht)),m(2,(0,du.inject)(ri)),m(3,(0,du.inject)(Mr)),m(4,(0,du.inject)(Be)),m(5,(0,du.inject)(kr))],Xy);var Ql=k(N()),On=require("vscode");function gT(n){return n===Fe||n===Yf}var Zy=class{constructor(e,t,r,i,o,s,a){this.kernelFinder=e;this.serverUriStorage=t;this.serverSelector=r;this.jupyterConnection=i;this.displayDataProvider=o;this.kernelFinderController=s;this.jupyterServerRegistry=a;this.localDisposables=[]}async selectRemoteKernel(e,t){if(e.notebookType!==St&&e.notebookType!==ft)return;this.localDisposables.forEach(o=>o.dispose()),this.localDisposables=[],this.cancellationTokenSource?.cancel(),this.cancellationTokenSource?.dispose(),this.cancellationTokenSource=new On.CancellationTokenSource;let r=new aC,i={disposables:[],notebook:e};try{if(await r.run(this.getRemoteServersFromProvider.bind(this,t,this.cancellationTokenSource.token),i)===_e.cancel||i.selection?.type==="userPerformedSomeOtherAction")throw new On.CancellationError;if(this.cancellationTokenSource.token.isCancellationRequested){z(i.disposables);return}if(i.selection?.type==="connection")return i.selection.connection}finally{z(i.disposables)}}async getRemoteServersFromProvider(e,t,r,i){let o=this.kernelFinder.registered.filter(T=>T.kind==="remote"),s=[],a=[],l=[],c=this.jupyterServerRegistry.jupyterCollections.find(T=>T.extensionId===e.extensionId&&T.id===e.id)?.serverProvider,u=c?.provideJupyterServers?Promise.resolve(c.provideJupyterServers.bind(c)(t)).then(T=>T||[]):Promise.resolve([]),d=new Set,f=await u,g=new Set(f.map(T=>T.id));if(o.filter(T=>T.serverProviderHandle.id===e.id).filter(T=>g.has(T.serverProviderHandle.id)).map(T=>{let J=this.serverUriStorage.all.find(ne=>Ot(ne.provider)===Ot(T.serverProviderHandle));d.add(Ot(T.serverProviderHandle)),l.push({server:T,time:J?.time})}),l.sort((T,J)=>!T.time&&!J.time?T.server.displayName.localeCompare(J.server.displayName):!T.time&&J.time?1:T.time&&!J.time||(T.time||0)>(J.time||0)?-1:1),l.filter(({time:T})=>(T||0)>0).forEach(({server:T,time:J})=>{s.push({type:"finder",kernelFinderInfo:T,idAndHandle:T.serverProviderHandle,label:T.displayName,description:J?y.jupyterServerLastConnectionForQuickPickDescription(new Date(J)):void 0,buttons:c?.removeJupyterServer&&gT(e.extensionId)?[{iconPath:new On.ThemeIcon("close"),tooltip:y.removeRemoteJupyterServerEntryInQuickPick}]:[]})}),l.filter(({time:T})=>!T).forEach(({server:T})=>{s.push({type:"finder",kernelFinderInfo:T,idAndHandle:T.serverProviderHandle,label:T.displayName,buttons:c?.removeJupyterServer&&gT(e.extensionId)?[{iconPath:new On.ThemeIcon("close"),tooltip:y.removeRemoteJupyterServerEntryInQuickPick}]:[]})}),f.sort((T,J)=>T.label.localeCompare(J.label)).forEach(T=>{let J=Ot({extensionId:e.extensionId,id:e.id,handle:T.id});d.has(J)||s.push({type:"jupyterServer",label:T.label,idAndHandle:{extensionId:e.extensionId,id:e.id,handle:T.id},server:T,buttons:c?.removeJupyterServer&&gT(e.extensionId)?[{iconPath:new On.ThemeIcon("close"),tooltip:y.removeRemoteJupyterServerEntryInQuickPick}]:[]})}),e.commandProvider){let T=(await Promise.resolve(e.commandProvider.provideCommands(void 0,t))||[]).map(J=>({...J,provider:e,type:"uriProviderQuickPick",command:J}));s.length>0&&T.length&&a.push({label:"",kind:On.QuickPickItemKind.Separator}),a.push(...T)}let b=s.concat(a),I=new On.EventEmitter,E=b.length===1&&"command"in b[0]&&b[0].command.canBeAutoSelected?b[0]:void 0;if(c){let T=b.filter(J=>"type"in J);T.length===1&&T.every(J=>J.type!=="uriProviderQuickPick")?E=T[0]:T.every(J=>J.type==="uriProviderQuickPick")&&T.filter(J=>J.picked).length===1&&(E=b.filter(J=>J.picked)[0])}let x,A;if(E)A=E;else{let{quickPick:T,selection:J}=r.showLazyLoadQuickPick({items:b,placeholder:e.extensionId===Fe||e.extensionId===Yf?y.enterOrSelectRemoteJupyterPlaceholder:y.selectRemoteJupyterPlaceholder,title:y.quickPickTitleForSelectionOfJupyterServer,supportBackInFirstStep:!0,onDidTriggerItemButton:async ne=>{if("type"in ne.item&&(ne.item.type==="finder"||ne.item.type==="jupyterServer")){let H=ne.item.idAndHandle.handle,oe=f.find(ae=>ae.id===H);c?.removeJupyterServer&&oe&&gT(e.extensionId)&&(T.busy=!0,this.serverUriStorage.remove({extensionId:e.extensionId,id:e.id,handle:H}).catch(h),await c.removeJupyterServer(oe),T.busy=!1,b.splice(b.indexOf(ne.item),1),I.fire(b.concat([])))}},onDidChangeItems:I.event});T.onDidChangeValue(async ne=>{if(!e.commandProvider?.provideCommands)return;let H=[];s.length>0&&H.push({label:"",kind:On.QuickPickItemKind.Separator});let ae=(await Promise.resolve(e.commandProvider.provideCommands(ne,t))||[]).map(Y=>({...Y,provider:e,type:"uriProviderQuickPick",command:Y}));T.items=s.concat(H).concat(ae)},this),x=T,A=await J}if(!t.isCancellationRequested&&A&&"type"in A)switch(A.type){case"finder":{let T=await this.selectRemoteKernelFromPicker(i.notebook,Promise.resolve(A.kernelFinderInfo),t).catch(J=>p.error("Failed to select a kernel",J));if(T&&T===_e.back){if(A===E)throw _e.back;return this.getRemoteServersFromProvider(e,t,r,i)}if(!T||T instanceof _e)throw new On.CancellationError;i.selection={type:"connection",connection:T};return}case"jupyterServer":{let T=(async()=>{let ne={id:e.id,handle:A.server.id,extensionId:e.extensionId};return e.extensionId.toLowerCase()===La.toLowerCase()&&await Zt(t,this.serverSelector.addJupyterServer(ne)),this.kernelFinderController.getOrCreateRemoteKernelFinder(ne,A.server.label)})(),J=await this.selectRemoteKernelFromPicker(i.notebook,T,t).catch(ne=>p.error("Failed to select a kernel",ne));if(J&&J===_e.back){if(A===E)throw _e.back;return this.getRemoteServersFromProvider(e,t,r,i)}if(!J||J instanceof _e)throw new On.CancellationError;i.selection={type:"connection",connection:J};return}case"uriProviderQuickPick":{let T=On.notebooks.createNotebookControllerDetectionTask(St);try{x&&(x.busy=!0);let J=await this.selectRemoteServerFromRemoteKernelFinder(A,i,t);return x&&(x.busy=!1),J}catch(J){if(J===_e.back&&!E)return this.getRemoteServersFromProvider(e,t,r,i);throw J}finally{T.dispose()}}default:break}}async selectRemoteServerFromRemoteKernelFinder(e,t,r){if(!e.provider.commandProvider?.handleCommand||r.isCancellationRequested)return;let i=await Promise.resolve(e.provider.commandProvider.handleCommand(e.command,r));if(!i)throw _e.back;if(r.isCancellationRequested)throw new On.CancellationError;let o=(async()=>{let a={id:e.provider.id,handle:i.id,extensionId:e.provider.extensionId};return a.extensionId.toLowerCase()===La.toLowerCase()&&await Zt(r,this.serverSelector.addJupyterServer(a)),this.kernelFinderController.getOrCreateRemoteKernelFinder(a,i.label)})(),s=await this.selectRemoteKernelFromPicker(t.notebook,o,r).catch(a=>p.error("Failed to select a kernel",a));if(s&&s===_e.back)throw _e.back;if(!s||s instanceof _e)throw new On.CancellationError;t.selection={type:"connection",connection:s}}async selectRemoteKernelFromPicker(e,t,r){let i,o=u=>{let d=this.displayDataProvider.getDisplayData(u);return{label:`${u===i?"$(star-full) ":""}${d.label}`,description:d.description,detail:d.detail}},s=u=>({label:this.displayDataProvider.getDisplayData(u).category||"Other"}),a=u=>({label:y.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickLabel,detail:y.failedToFetchKernelSpecsRemoteErrorMessageForQuickPickDetail}),l=new Fd(t,o,s,{supportsBack:!0},a),c=new cp(this.jupyterConnection);return t.then(u=>c.findPreferredRemoteKernelConnection(e,u,r)).then(u=>{i=u,u?.kind==="startUsingRemoteKernelSpec"&&(l.recommended=u),l.selected=u}).catch(u=>p.error("Failed to determine preferred remote kernel",u)),l.selectItem(r)}};Zy=v([(0,Ql.injectable)(),m(0,(0,Ql.inject)(kr)),m(1,(0,Ql.inject)($t)),m(2,(0,Ql.inject)(aa)),m(3,(0,Ql.inject)(on)),m(4,(0,Ql.inject)(id)),m(5,(0,Ql.inject)(XC)),m(6,(0,Ql.inject)(jt))],Zy);function $q(n,e){n.addSingleton(ot,Jy),n.addBinding(ot,me),n.addSingleton(id,jy),n.addSingleton(lk,Zy),n.addSingleton(ck,Qy),n.addSingleton(cm,Xy),n.addBinding(cm,me),n.addSingleton(me,zy),Vq(n,e)}var hw=k(N()),ff=require("vscode");var Ea=Symbol("IJupyterDebugService"),dp=Symbol("INotebookDebuggingManager");var vT=Symbol("IDebugLocationTrackerFactory"),yT=Symbol("IDebugLocationTracker");var eb=class{constructor(e,t){this.debuggingManager=e;this.disposables=t}activate(){this.disposables.push(ff.commands.registerCommand(B.RunByLine,this.runByLine,this)),this.disposables.push(ff.commands.registerCommand(B.RunByLineNext,this.runByLineNext,this)),this.disposables.push(ff.commands.registerCommand(B.RunByLineStop,this.runByLineStop,this)),this.disposables.push(ff.commands.registerCommand(B.RunAndDebugCell,this.runAndDebugCell,this))}async runByLine(e){R("DATASCIENCE.DEBUGGING.CLICKED_RUNBYLINE"),e??=this.getCellFromActiveEditor(),e&&await this.debuggingManager.tryToStartDebugging(0,e)}async runByLineNext(e){e??=this.getCellFromActiveEditor(),e&&this.debuggingManager.runByLineNext(e)}async runByLineStop(e){e??=this.getCellFromActiveEditor(),e&&this.debuggingManager.runByLineStop(e)}async runAndDebugCell(e){R("DATASCIENCE.DEBUGGING.CLICKED_RUN_AND_DEBUG_CELL"),e??=this.getCellFromActiveEditor(),e&&await this.debuggingManager.tryToStartDebugging(1,e)}getCellFromActiveEditor(){let e=ff.window.activeNotebookEditor;if(e){let t=e.selections[0];if(t)return e.notebook.cellAt(t.start)}}dispose(){this.disposables.forEach(e=>e.dispose())}};eb=v([(0,hw.injectable)(),m(0,(0,hw.inject)(dp)),m(1,(0,hw.inject)(M))],eb);var pu=k(N());var tb=class{constructor(e,t,r){this.debugService=e;this.disposables=t;this.debugVariables=r}activate(){this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory(ge,this)),this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory("debugpy",this)),this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory(AS,this)),this.disposables.push(this.debugService.registerDebugAdapterTrackerFactory(NS,this))}createDebugAdapterTracker(e){return this.debugVariables}};tb=v([(0,pu.injectable)(),m(0,(0,pu.inject)(Ea)),m(0,(0,pu.named)(je.MULTIPLEXING_DEBUGSERVICE)),m(1,(0,pu.inject)(M)),m(2,(0,pu.inject)(yn)),m(2,(0,pu.named)(je.DEBUGGER_VARIABLES))],tb);var Pa=k(N());var gw=require("vscode");var NO=new Set(["DataFrame","list","dict","ndarray","Series","Tensor","EagerTensor","DataArray"]);function IT(n){return{name:n.evaluateName??n.name,type:n.type,count:0,shape:"",size:0,supportsDataExplorer:NO.has(n.type||""),value:n.value,truncated:!0,frameId:n.variablesReference}}function ST(n){let e=n.index,t=n.columns;return{data:n.data.map((o,s)=>{let a={index:e[s]};return t.forEach((l,c)=>{a[l]=o[c]}),a})}}var MO=require("vscode"),rb=class{constructor(e){this._sessionId=e;this.topMostFrameId=0;this.sequenceNumbersOfRequestsPendingResponses=new Set;this.waitingForStackTrace=!1;this.debugLocationUpdatedEvent=new MO.EventEmitter;this.sessionEndedEmitter=new MO.EventEmitter;this.DebugLocation=void 0}get sessionId(){return this._sessionId}get sessionEnded(){return this.sessionEndedEmitter.event}get debugLocationUpdated(){return this.debugLocationUpdatedEvent.event}get debugLocation(){return this._debugLocation}onDidSendMessage(e){if(this.isResponseForRequestToFetchAllFrames(e)){let t=e.body?.stackFrames[0];this.topMostFrameId=t?.id,this.sequenceNumbersOfRequestsPendingResponses.delete(e.request_seq),this.waitingForStackTrace&&(this.DebugLocation={lineNumber:t?.line,fileName:this.normalizeFilePath(t?.source?.path),column:t.column},this.waitingForStackTrace=!1)}this.isStopEvent(e)&&(this.waitingForStackTrace=!0),this.isContinueEvent(e)&&(this.DebugLocation=void 0,this.waitingForStackTrace=!1)}onWillStopSession(){this.sessionEndedEmitter.fire(this)}onWillReceiveMessage(e){this.isRequestToFetchAllFrames(e)&&this.sequenceNumbersOfRequestsPendingResponses.add(e.seq)}set DebugLocation(e){let t=this._debugLocation;this._debugLocation=e,this._debugLocation!==t&&this.debugLocationUpdatedEvent.fire()}normalizeFilePath(e){return process.platform!=="win32"?e.replace(/\\/g,"/"):e}isStopEvent(e){return e.type==="event"&&e.event==="stopped"}isContinueEvent(e){if(e.type==="event"){if(e.event==="continue")return!0}else if(e.type==="response"&&e.command==="continue")return!0;return!1}isResponseForRequestToFetchAllFrames(e){return e.type==="response"&&e.command==="stackTrace"&&e.body?.stackFrames[0]&&this.sequenceNumbersOfRequestsPendingResponses.has(e.request_seq)}isRequestToFetchAllFrames(e){return e.type==="request"&&e.command==="stackTrace"&&(e.arguments.startFrame===0||e.arguments.startFrame===void 0)}};var Dpe=new Set(["In","Out","exit","quit"]),CT=100,nb=class extends rb{constructor(t,r,i,o,s,a){super(void 0);this.debugService=t;this.debuggingManager=r;this.configService=i;this.varScriptGenerator=o;this.dfScriptGenerator=s;this.kernelProvider=a;this.refreshEventEmitter=new gw.EventEmitter;this.lastKnownVariables=[];this.importedGetVariableInfoScriptsIntoKernel=new Set;this.watchedNotebooks=new Map;this.debuggingStarted=!1;this.currentVariablesReference=0;this.currentSeqNumsForVariables=new Set;this.debuggingManager.onDoneDebugging(()=>this.refreshEventEmitter.fire(),this)}get refreshRequired(){return this.refreshEventEmitter.event}get active(){return(this.debugService.activeDebugSession!==void 0||this.activeNotebookIsDebugging())&&this.debuggingStarted}getAllVariableDiscriptions(){throw new Error("Method not implemented.")}async getVariables(t,r){r&&this.watchKernel(r);let i=r&&this.kernelProvider.getKernelExecution(r),o={executionCount:i?i.executionCount:t.executionCount,pageStartIndex:0,pageResponse:[],totalCount:0,refreshCount:t.refreshCount};if(this.active){let s=t.sortColumn,a=(u,d)=>{let f=u[s]?u[s]:"",g=d[s]?d[s]:"";return t.sortAscending?f.localeCompare(g,void 0,{sensitivity:"base"}):g.localeCompare(f,void 0,{sensitivity:"base"})};this.lastKnownVariables.sort(a);let l=t.startIndex?t.startIndex:0,c=t.pageSize?t.pageSize:CT;o.pageStartIndex=l;for(let u=l;u<l+c&&u<this.lastKnownVariables.length;u+=1){let d=this.lastKnownVariables[u].truncated?await this.getFullVariable(this.lastKnownVariables[u]):this.lastKnownVariables[u];this.lastKnownVariables[u]=d,o.pageResponse.push(d)}o.totalCount=this.lastKnownVariables.length}return o}async getMatchingVariable(t,r){if(this.active){let i=this.lastKnownVariables.find(o=>o.name===t);return i&&r?.resourceUri&&Vu(r?.resourceUri).toLowerCase()===".ipynb"&&R("DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER"),i}}async getVariableValueSummary(t){}async getDataFrameInfo(t,r,i,o){if(!this.active)return t;o&&(t=await this.getFullVariable(t)),r&&this.watchKernel(r);let s=t.name;i&&(s=`${t.name}${i}`);let{cleanupCode:a,initializeCode:l,code:c}=await this.dfScriptGenerator.generateCodeToGetDataFrameInfo({isDebugging:!0,variableName:s}),u=await this.evaluate({code:c,cleanupCode:a,initializeCode:l,frameId:t.frameId}),d=r?.notebook,f=d?Ce(d.uri.path):"";return!f&&this.debugLocation?.fileName&&(f=Ce(this.debugLocation.fileName)),u?{...t,...JSON.parse(u.result),maximumRowChunkSize:CT,fileName:f}:t}async getDataFrameRows(t,r,i,o,s){if(i-r>CT)throw new Error(`Debugger cannot provide more than ${CT} rows at once`);if(!this.debugService.activeDebugSession||t.columns===void 0)return{data:[]};o&&this.watchKernel(o);let a=t.name;s&&(a=`${t.name}${s}`);let{cleanupCode:l,initializeCode:c,code:u}=await this.dfScriptGenerator.generateCodeToGetDataFrameRows({isDebugging:!0,variableName:a,startIndex:r,endIndex:i}),d=await this.evaluate({code:u,cleanupCode:l,initializeCode:c,frameId:t.frameId});return ST(JSON.parse(d.result))}onWillReceiveMessage(t){super.onWillReceiveMessage(t),t.type==="request"&&t.command==="variables"&&t.arguments&&this.currentVariablesReference===t.arguments.variablesReference&&this.currentSeqNumsForVariables.add(t.seq)}onDidSendMessage(t){if(super.onDidSendMessage(t),t.type==="response"&&t.command==="initialize")this.debuggingStarted=!0;else if(t.type==="event"&&t.event==="stopped"&&this.activeNotebookIsDebugging())this.handleNotebookVariables(t).catch(h);else if(t.type==="response"&&t.command==="scopes"&&t.body&&t.body.scopes){let i=t.body.scopes[0].variablesReference;i!==this.currentVariablesReference&&(this.currentVariablesReference=i,this.currentSeqNumsForVariables.clear())}else if(t.type==="response"&&t.command==="variables"&&t.body)this.currentSeqNumsForVariables.has(t.request_seq)&&this.updateVariables(void 0,t),this.monkeyPatchDataViewableVariables(t);else if(t.type==="event"&&t.event==="terminated"){this.lastKnownVariables=[],this.topMostFrameId=0,this.debuggingStarted=!1,this.refreshEventEmitter.fire();let r=this.debugService.activeDebugSession?.id;r&&this.importedGetVariableInfoScriptsIntoKernel.delete(r)}}watchKernel(t){let r=t.notebook?.uri.toString();if(r&&!this.watchedNotebooks.has(r)){let i=[];i.push(t.onRestarted(this.resetImport.bind(this,r))),i.push(t.onDisposed(()=>{this.resetImport(r),i.forEach(o=>o.dispose()),this.watchedNotebooks.delete(r)})),this.watchedNotebooks.set(r,i)}}resetImport(t){this.importedGetVariableInfoScriptsIntoKernel.delete(t)}async evaluate({code:t,cleanupCode:r,frameId:i,initializeCode:o}){if(this.debugService.activeDebugSession){i=this.topMostFrameId||i;let s={frameId:i,context:"repl",format:{rawString:!0}};p.debug(`Evaluating in debugger : ${this.debugService.activeDebugSession.id}: ${t}`);try{o&&await this.debugService.activeDebugSession.customRequest("evaluate",{...s,expression:o});let a=await this.debugService.activeDebugSession.customRequest("evaluate",{...s,expression:t});if(a&&a.result!=="None")return a;p.error(`Cannot evaluate ${t}`);return}finally{r&&await this.debugService.activeDebugSession.customRequest("evaluate",{...s,expression:r})}}throw Error("Debugger is not active, cannot evaluate.")}async getFullVariable(t){let{initializeCode:r,code:i,cleanupCode:o}=await this.varScriptGenerator.generateCodeToGetVariableInfo({isDebugging:!0,variableName:t.name}),s=await this.evaluate({code:i,initializeCode:r,cleanupCode:o,frameId:t.frameId});return s&&s.result?{...t,truncated:!1,...JSON.parse(s.result)}:t}monkeyPatchDataViewableVariables(t){t.body.variables.forEach(r=>{r.type&&NO.has(r.type)&&(r.__vscodeVariableMenuContext="viewableInDataViewer")})}updateVariables(t,r){let i=this.configService.getSettings(t).variableExplorerExclude?this.configService.getSettings().variableExplorerExclude?.split(";"):[],o=r.body.variables.filter(s=>!(!s.name||!s.type||!s.value||i&&i.includes(s.type)||s.name.startsWith("_")||Dpe.has(s.name)||s.type==="NoneType"));this.lastKnownVariables=o.map(s=>IT(s)),this.refreshEventEmitter.fire()}activeNotebookIsDebugging(){let t=gw.window.activeNotebookEditor;return!!t&&this.debuggingManager.isDebugging(t.notebook)}async handleNotebookVariables(t){let r=gw.window.activeNotebookEditor?.notebook,i=t.body.threadId;if(r){let o=this.debuggingManager.getDebugSession(r);if(o){let s=await o.customRequest("stackTrace",{threadId:i,startFrame:0,levels:1});if(s&&s.stackFrames[0]){let a=s.stackFrames[0],l=this.debuggingManager.getDebugMode(r),c;if(l===0){let u=this.debuggingManager.getDebugCell(r);a.source&&u&&a.source.path===u.document.uri.toString()&&(c=await o.customRequest("scopes",{frameId:a.id}))}else{let u=Ce(r.uri.toString());a.source&&a.source.path&&a.source.path.includes(u)&&(c=await o.customRequest("scopes",{frameId:a.id}))}c&&(c.scopes.forEach(u=>{o.customRequest("variables",{variablesReference:u.variablesReference}).then(h,h)}),this.refreshEventEmitter.fire())}}}}};nb=v([(0,Pa.injectable)(),m(0,(0,Pa.inject)(Ea)),m(0,(0,Pa.named)(je.MULTIPLEXING_DEBUGSERVICE)),m(1,(0,Pa.inject)(dp)),m(2,(0,Pa.inject)(ie)),m(3,(0,Pa.inject)(Eh)),m(4,(0,Pa.inject)(Ph)),m(5,(0,Pa.inject)(De))],nb);var mu=k(N()),pp=require("vscode");var qq=require("vscode"),tr=class{constructor(e){this.name=e}get value(){return this.lastValue}async set(e){this.lastValue!==e&&(this.lastValue=e,await qq.commands.executeCommand("setContext",this.name,this.lastValue))}};var Xq=require("vscode");var vw=(o=>(o[o.Unknown=0]="Unknown",o[o.Ok=1]="Ok",o[o.Outdated=2]="Outdated",o[o.NotInstalled=3]="NotInstalled",o[o.ControllerNotSelected=4]="ControllerNotSelected",o))(vw||{});async function Hq(n){let e="5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d",t=`import builtins
import ipykernel
builtins.print("${e}" + ipykernel.__version__ + "${e}")`,r=await n.executeHidden(t),i=/^(\d+)\.\d+\.\d+$/;for(let o of r){if(o.output_type!=="stream")continue;let s=o.text?.toString().trim()??"";if(!s.includes(e))continue;let a=s.split(e)[1].trim().match(i);if(a){let l=a[1];return Number(l)>=6?1:2}}return 0}function yw(n){let e=n;if(typeof e.__notebookUri>"u"||typeof e.__mode>"u"||(e.__mode===1||e.__mode===2||e.__mode===0)&&typeof e.__cellIndex>"u")throw new Error("Invalid launch configuration")}function Gq(n){if(yw(n),n.__mode!==2)throw new Error("Invalid launch configuration")}function wT(n,e){switch(n.type){case"event":let t=n;switch(t.event){case"output":e(t.body);break;case"loadedSource":e(t.body);break;case"breakpoint":e(t.body.breakpoint);break;default:break}break;case"request":let r=n;switch(r.command){case"setBreakpoints":let o=r.arguments,s=o.breakpoints;if(s&&s.length){let a=s[0].line;s.forEach(c=>{e(c,{...o.source})});let l={source:o.source,line:a};e(l),o.source=l.source}break;case"breakpointLocations":e(r.arguments);break;case"source":e(r.arguments);break;case"gotoTargets":e(r.arguments);break;default:break}break;case"response":let i=n;if(i.success&&i.body)switch(i.command){case"stackTrace":i.body.stackFrames.forEach(o=>{e(o)});break;case"loadedSources":i.body.sources.forEach(o=>{let s={source:o};e(s),o.path=s.source.path});break;case"scopes":i.body.scopes.forEach(o=>{e(o)});break;case"setFunctionBreakpoints":i.body.breakpoints.forEach(o=>{e(o)});break;case"setBreakpoints":i.body.breakpoints.forEach(o=>{e(o)});break;default:break}break}}function zq(n){return/~\d+\\/.test(n)}function Qq(n,e){return new RegExp(n.replace(/\\/g,"\\\\").replace(/~\d+\\\\/g,"[^\\\\]+\\\\"),"i").test(e)}async function hf(n,e){let t=`import debugpy
debugpy.debug_this_thread()`;await n.executeHidden(t),await e.dumpAllCells()}function Yq(n){return!!n.header&&n.header.msg_type==="debug_event"}function bw(n){return n.includes("Frame skipped from debugging during step-in")}function KO(n){return n.event==="debugpyAttach"}var ET=class{constructor(e,t,r){this.debugAdapter=e;this.debugCell=t;this.execution=r;R("DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUN_AND_DEBUG_CELL")}trace(e,t){p.debug(`[Debug-Cell] ${e}: ${t}`)}async willSendEvent(e){return KO(e)?(this.trace("intercept","debugpyAttach request for subprocess, not supported"),!0):e.event==="output"&&bw(e.body.output)?(this.trace("intercept","justMyCode notification"),!0):!1}async willSendRequest(e){e.command==="configurationDone"&&(await hf(this.execution,this.debugAdapter),Xq.commands.executeCommand("notebook.cell.execute",{ranges:[{start:this.debugCell.index,end:this.debugCell.index+1}],document:this.debugCell.notebook.uri}).then(h,h))}};var Iw=class{constructor(e,t,r,i){this.mode=e;this.debugAdapter=t;this.debugCell=r;this.serviceContainer=i;this.debuggingManager=this.serviceContainer.get(dp)}trace(e,t){p.debug(`[Debug-Restart] ${e}: ${t}`)}error(e,t){p.error(`[Debug-Restart] ${e}: ${t}`)}async willSendResponse(e){e.command==="initialize"&&e.body&&(e.body.supportsRestartRequest=!0)}async willSendRequest(e){if(e.command==="restart")return this.trace("restart","Handling restart request"),setTimeout(()=>{this.debugAdapter.disconnect().then(()=>(this.trace("restart","doRestart"),this.debuggingManager.tryToStartDebugging(this.mode,this.debugCell,!0))).catch(t=>{this.error("restart",`Error restarting: ${t}`)})},0),{command:e.command,request_seq:e.seq,seq:e.seq,success:!0,type:"response"}}};var Sw=require("vscode");var PT=class{constructor(e,t,r,i){this.debugAdapter=e;this.debugCell=t;this.execution=r;this.settings=i;R("DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUNBYLINE")}continue(){if(typeof this.lastPausedThreadId!="number"){p.debug("No paused thread, can't do RBL"),this.stop();return}this.debugAdapter.stepIn(this.lastPausedThreadId).then(h,h)}stop(){p.ci("RunbylineController::stop()"),this.execution.executeHidden("pass").then(h,h),this.debugAdapter.disconnect().then(h,h)}getMode(){return this.debugAdapter.getConfiguration().__mode}async willSendEvent(e){return e.event==="stopped"&&(this.lastPausedThreadId=e.body.threadId,await this.handleStoppedEvent(this.lastPausedThreadId))?(this.trace("intercepted","handled stop event"),!0):e.event==="output"&&bw(e.body.output)?(this.trace("intercept","justMyCode notification"),!0):!1}async willSendRequest(e){p.ci(`willSendRequest: ${e.command}`),e.command==="configurationDone"&&await this.initializeExecute()}async handleStoppedEvent(e){return await this.shouldStepIn(e)?(this.debugAdapter.stepIn(e).then(h,h),!0):!1}async shouldStepIn(e){let t=await this.debugAdapter.stackTrace({threadId:e,startFrame:0,levels:1});if(t&&t.stackFrames[0]){let r=t.stackFrames[0],i=new Sw.Position(r.line,r.column);return this.lastPausePosition?.isEqual(i)?(this.trace("intercept","working around duplicate stop event"),!0):(this.lastPausePosition=i,!!r.source&&r.source.path!==this.debugCell.document.uri.toString())}return!1}trace(e,t){p.debug(`[Debug-RBL] ${e}: ${t}`)}async initializeExecute(){await hf(this.execution,this.debugAdapter);let e=Oe(this.debugCell.document.getText(),{trim:!1,removeEmptyEntries:!1}),t=[];if(nm(e,()=>void 0,(r,i)=>{r.trim().length!==0&&t.push(i)}),t.sort(),t.length!==0){let r={line:t[0]+1};await this.debugAdapter.setBreakpoints({source:{name:Ce(this.debugCell.notebook.uri.path),path:this.debugCell.document.uri.toString()},breakpoints:[r],sourceModified:!1}),this.settings.getSettings(this.debugCell.notebook.uri).showVariableViewWhenDebugging&&Sw.commands.executeCommand(B.OpenVariableView).then(h,h)}Sw.commands.executeCommand("notebook.cell.execute",{ranges:[{start:this.debugCell.index,end:this.debugCell.index+1}],document:this.debugCell.notebook.uri}).then(h,h)}};var ib=class{constructor(e,t,r){this.document=e;this.config=t;this.session=r}};var Fn=require("vscode");var ob=class{constructor(e,t,r){this.kernelProvider=e;this.controllerRegistration=t;this.serviceContainer=r;this.notebookToDebugger=new Map;this.notebookToDebugAdapter=new Map;this.notebookInProgress=new Set;this.disposables=[];this._doneDebugging=new Fn.EventEmitter}activate(){this.disposables.push(Fn.debug.onDidTerminateDebugSession(this.endSession.bind(this)),Fn.workspace.onDidCloseNotebookDocument(async e=>{let t=this.notebookToDebugger.get(e);t&&(await Fn.debug.stopDebugging(t.session),this.onDidStopDebugging(e))}))}getDebugCell(e){return this.notebookToDebugAdapter.get(e)?.debugCell}get onDoneDebugging(){return this._doneDebugging.event}dispose(){this.disposables.forEach(e=>e.dispose())}isDebugging(e){return this.notebookToDebugger.has(e)}getDebugSession(e){let t=this.notebookToDebugger.get(e);if(t)return t.session}getDebugAdapter(e){return this.notebookToDebugAdapter.get(e)}onDidStopDebugging(e){}async startDebuggingConfig(e,t){p.ci(`Attempting to start debugging with config ${JSON.stringify(e)}`);try{await Fn.debug.startDebugging(void 0,e,t)}catch(r){p.error(`Can't start debugging (${r})`),Fn.window.showErrorMessage(y.cantStartDebugging).then(h,h)}}trackDebugAdapter(e,t){this.notebookToDebugAdapter.set(e,t),this.disposables.push(t.onDidEndSession(this.endSession.bind(this)))}async endSession(e){p.info(`Ending debug session ${e.id}`),this._doneDebugging.fire();for(let[t,r]of this.notebookToDebugger.entries())if(r&&e.id===r.session.id){this.notebookToDebugger.delete(t),this.notebookToDebugAdapter.delete(t),this.onDidStopDebugging(t);break}}getDebuggerByUri(e){for(let[t,r]of this.notebookToDebugger.entries())if(e===t)return r}async ensureKernelIsRunning(e){let t=this.controllerRegistration.getSelected(e),r=this.kernelProvider.get(e);return t&&(!r||r&&r.status==="unknown")&&(r=await js.connectToNotebookKernel(t.connection,this.serviceContainer,{notebook:e,controller:t.controller,resource:e.uri},new Jt(!1),this.disposables,"jupyterExtension")),r}findEditorForCell(e){let t=e.notebook.uri.toString();return Fn.window.visibleNotebookEditors.find(r=>r.notebook.uri.toString()===t)}async checkIpykernelAndPrompt(e,t=!0){let r=this.findEditorForCell(e);if(!r)return Fn.window.showErrorMessage(y.noNotebookToDebug).then(h,h),0;let i=await this.checkForIpykernel6(r.notebook);switch(i){case 3:break;case 2:case 0:{this.promptInstallIpykernel6().then(h,h);break}case 4:if(t)return await Fn.commands.executeCommand("notebook.selectKernel",{notebookEditor:r}),await this.checkIpykernelAndPrompt(e,!1)}return i}async checkForIpykernel6(e){try{let t=this.kernelProvider.get(e);if(!t){let s=this.controllerRegistration.getSelected(e);if(!s)return 4;t=this.kernelProvider.getOrCreate(e,{metadata:s.connection,controller:s?.controller,resourceUri:e.uri})}let r=t.kernelConnectionMetadata;if(_t(r)){if(r.kind==="startUsingRemoteKernelSpec"&&r.kernelSpec.metadata?.debugger)return 1;if(r.kind==="connectToLiveRemoteKernel"&&r.kernelModel.metadata?.debugger)return 1}let i=this.kernelProvider.getKernelExecution(t),o=await Hq(i);return R("DATASCIENCE.DEBUGGING.IPYKERNEL6_STATUS",void 0,{status:o===1?"installed":"notInstalled"}),o}catch(t){p.error("Debugging: Could not check for ipykernel 6",t)}return 0}async promptInstallIpykernel6(){await Fn.window.showInformationMessage(y.needIpykernel6,{modal:!0},y.setup)===y.setup?(R("DATASCIENCE.DEBUGGING.CLICKED_ON_SETUP"),Fn.env.openExternal(Fn.Uri.parse("https://github.com/microsoft/vscode-jupyter/wiki/Setting-Up-Run-by-Line-and-Debugging-for-Notebooks"))):R("DATASCIENCE.DEBUGGING.CLOSED_MODAL")}};var ka=require("vscode");var kT=class{constructor(e){this.debugAdapter=e}trace(e,t){p.debug(`[Debug-Reset] ${e}: ${t}`)}async willSendRequest(e){e.command==="attach"&&(this.trace("attach","Continuing paused kernel threads if needed"),(await this.debugAdapter.debugInfo()).stoppedThreads.forEach(r=>this.debugAdapter.continueDirect(r)))}};var sb=class{constructor(e,t,r,i,o,s){this.session=e;this.notebookDocument=t;this.jupyterSession=r;this.kernel=i;this.platformService=o;this.debugService=s;this.fileToCell=new Map;this.sendMessage=new ka.EventEmitter;this.endSession=new ka.EventEmitter;this.disposables=[];this.delegates=[];this.onDidSendMessage=this.sendMessage.event;this.onDidEndSession=this.endSession.event;this.disconnected=!1;p.ci("Creating kernel debug adapter for debugging notebooks");let a=this.session.configuration;yw(a),this.configuration=a,this.debugCell=t.cellAt(a.__cellIndex),this.addDebuggingDelegates([new kT(this)]),this.jupyterSession.kernel?.iopubMessage.connect(this.onIOPubMessage,this),this.disposables.push(new ka.Disposable(()=>this.jupyterSession.kernel?.iopubMessage.disconnect(this.onIOPubMessage,this))),this.kernel&&(this.kernel.addHook("willRestart",()=>this.disconnect(),this,this.disposables),this.kernel.addHook("interruptCompleted",()=>this.disconnect(),this,this.disposables),this.disposables.push(this.kernel.onDisposed(()=>{this.disconnected||(ka.debug.stopDebugging(this.session).then(h,h),this.disconnect().catch(h),R("DATASCIENCE.DEBUGGING.ENDED_SESSION",void 0,{reason:"onKernelDisposed"}))}))),this.disposables.push(er.onDidChangeNotebookCellExecutionState(l=>{this.configuration.__cellIndex===l.cell.index&&l.state===1&&!this.disconnected&&(R("DATASCIENCE.DEBUGGING.ENDED_SESSION",void 0,{reason:"normally"}),this.disconnect().catch(h))},this,this.disposables)),this.disposables.push(ka.workspace.onDidChangeNotebookDocument(l=>{l.contentChanges.forEach(c=>{c.removedCells.forEach(u=>{u===this.debugCell&&this.disconnect().catch(h)})})},this,this.disposables)),this.disposables.push(this.debugService.onDidTerminateDebugSession(l=>{(l===this.session||l===this.session)&&this.disconnect().catch(h)}))}addDebuggingDelegates(e){this.delegates.push(...e)}trace(e,t){p.debug(`[Debug] ${e}: ${t}`)}async onIOPubMessage(e,t){if(p.ci(`Debug IO Pub message: ${JSON.stringify(t)}`),Yq(t)){this.trace("event",JSON.stringify(t));for(let r of this.delegates??[])if(await r?.willSendEvent?.(t.content))return;this.sendMessage.fire(t.content)}}handleMessage(e){this.handleClientMessageAsync(e).catch(h)}async handleClientMessageAsync(e){try{if(p.ci(`KernelDebugAdapter::handleMessage ${JSON.stringify(e,void 0," ")}`),e.type==="request"&&e.command==="setBreakpoints"){let t=e.arguments;if(t.source&&t.source.path&&t.source.path.indexOf("vscode-notebook-cell:")===0){let r=this.notebookDocument.getCells().find(i=>i.document.uri.toString()===t.source.path);r&&await this.dumpCell(r.index)}}if(e.type==="request")for(let t of this.delegates??[]){let r=await t?.willSendRequest?.(e);if(r){this.trace("response",JSON.stringify(r)),this.sendMessage.fire(r);return}}await this.sendMessageToJupyterSession(e)}catch(t){p.error(`KernelDebugAdapter::handleMessage failure: ${t}`)}}getConfiguration(){return this.configuration}stepIn(e){return this.session.customRequest("stepIn",{threadId:e})}async debugInfo(){return await this.session.customRequest("debugInfo")}continueDirect(e){if(!this.jupyterSession.kernel)throw new dn;this.jupyterSession.kernel.requestDebug({seq:0,type:"request",command:"continue",arguments:{threadId:e}})}async disconnect(){if(!this.disconnected){if(this.disconnected=!0,this.debugService.activeDebugSession===this.session||this.debugService.activeDebugSession?.id===this.session.id)try{await Promise.all([this.deleteDumpedFiles().catch(e=>p.warn("Error deleting temporary debug files.",e)),this.session.customRequest("disconnect",{restart:!1})])}catch(e){p.error("Failed to disconnect debug session",e)}this.endSession.fire(this.session)}}dispose(){this.disposables.forEach(e=>e.dispose())}stackTrace(e){return this.session.customRequest("stackTrace",e)}setBreakpoints(e){return this.session.customRequest("setBreakpoints",e)}async dumpAllCells(){await Promise.all(this.notebookDocument.getCells().map(async e=>{e.kind===ka.NotebookCellKind.Code&&await this.dumpCell(e.index)}))}lookupCellByLongName(e){if(this.platformService.isWindows){e=hn(e);for(let[t,r]of this.fileToCell.entries())if(zq(t)&&Qq(t,e))return r}}async sendMessageToJupyterSession(e){if(this.jupyterSession.isDisposed||this.jupyterSession.status==="dead"||!this.jupyterSession.kernel){p.info(`Skipping sending message ${e.type} because session is disposed`);return}if(this.trace("to kernel",JSON.stringify(e)),e.type==="request"){let t=await this.sendRequestToJupyterSession(e);t&&this.sendMessage.fire(t)}else if(e.type==="response"){wT(e,this.translateRealLocationToDebuggerLocation.bind(this));let t=e;return this.jupyterSession.kernel.requestDebug({seq:t.seq,type:"request",command:t.command},!0).done}else p.error(`Unknown message type to send ${e.type}`)}async sendRequestToJupyterSession(e){if(wT(e,this.translateRealLocationToDebuggerLocation.bind(this)),!this.jupyterSession.kernel)throw new dn;this.trace("to kernel, mapped",JSON.stringify(e));let t=e,o=(await this.jupyterSession.kernel.requestDebug({seq:t.seq,type:"request",command:t.command,arguments:t.arguments},!0).done).content;wT(o,this.translateDebuggerLocationToRealLocation.bind(this));for(let s of this.delegates??[])await s?.willSendResponse?.(o);return this.trace("response",JSON.stringify(o)),o}translateDebuggerLocationToRealLocation(e,t){if(t=e?.source??t,t&&t.path){let r=this.fileToCell.get(t.path)??this.lookupCellByLongName(t.path);r&&(t.name=Ce(r.path),t.path=r.toString())}}async deleteDumpedFiles(){let e=this.getDumpFilesForDeletion();if(this.jupyterSession.kernel&&e.length){let r=`import os as _VSCODE_os
_VSCODE_fileList = [${e.map(i=>'"'+i.replace(/\\/g,"\\\\")+'"').join(",")}]
for file in _VSCODE_fileList:
try:
_VSCODE_os.remove(file)
except:
pass
del _VSCODE_fileList
del _VSCODE_os`;await pn(this.jupyterSession.kernel,r,{traceErrors:!0,traceErrorsMessage:"Error deleting temporary debugging files"})}}};var xT=class extends sb{constructor(){super(...arguments);this.cellToFile=new Map}async dumpCell(t){let r=this.notebookDocument.cellAt(t);try{let i=await this.session.customRequest("dumpCell",{code:r.document.getText().replace(/\r\n/g,`
`)}),o=hn(i.sourcePath);this.fileToCell.set(o,r.document.uri),this.cellToFile.set(r.document.uri.toString(),o)}catch(i){p.error(i)}}translateRealLocationToDebuggerLocation(t){let r=t.source;if(r&&r.path){let i=this.cellToFile.get(r.path);i&&(r.path=i)}}getDumpFilesForDeletion(){return Array.from(this.cellToFile.values())}};var ab=class extends ob{constructor(t,r,i,o,s,a){super(t,r,a);this.configurationService=i;this.platform=o;this.debugService=s;this.notebookToRunByLineController=new Map;this.runByLineCells=new tr(mr.RunByLineCells),this.runByLineDocuments=new tr(mr.RunByLineDocuments),this.debugDocuments=new tr(mr.DebugDocuments)}activate(){super.activate(),this.disposables.push(pp.debug.registerDebugAdapterDescriptorFactory(AS,{createDebugAdapterDescriptor:async t=>this.createDebugAdapterDescriptor(t)}))}getDebugMode(t){return this.notebookToRunByLineController.get(t)?.getMode()}onDidStopDebugging(t){super.onDidStopDebugging(t),this.notebookToRunByLineController.delete(t),this.updateRunByLineContextKeys(),this.updateDebugContextKey()}updateRunByLineContextKeys(){let t=[],r=[];this.notebookToRunByLineController.forEach(i=>{t.push(i.debugCell.document.uri),r.push(i.debugCell.notebook.uri)}),this.runByLineCells.set(t).catch(h),this.runByLineDocuments.set(r).catch(h)}updateDebugContextKey(){let t=new bl;this.notebookToDebugAdapter.forEach((r,i)=>t.add(i.uri)),this.notebookInProgress.forEach(r=>t.add(r.uri)),this.debugDocuments.set(Array.from(t.values())).catch(h)}async tryToStartDebugging(t,r,i=!1){if(p.info(`Starting debugging with mode ${t}`),!i){let o=await this.checkIpykernelAndPrompt(r);if(o!==1){p.info(`Ipykernel check failed: ${vw[o]}`);return}}(t===0||t===1)&&await this.startDebuggingCell(t,r)}runByLineNext(t){let r=this.notebookToRunByLineController.get(t.notebook);r&&r.debugCell.document.uri.toString()===t.document.uri.toString()&&r.continue()}runByLineStop(t){let r=this.notebookToRunByLineController.get(t.notebook);r&&(R("DATASCIENCE.DEBUGGING.ENDED_SESSION",void 0,{reason:"withKeybinding"}),r.stop())}async startDebuggingCell(t,r){let i=r.notebook,o=this.configurationService.getSettings(i.uri),s={type:AS,name:Ce(i.uri.toString()),request:"attach",justMyCode:t===1?o.debugJustMyCode:!0,__mode:t,__cellIndex:r.index,__notebookUri:i.uri.toString()},a=t===0?{suppressDebugStatusbar:!0,suppressDebugToolbar:!0,suppressDebugView:!0,suppressSaveBeforeStart:!0}:{suppressSaveBeforeStart:!0};return this.startDebuggingConfig(s,a)}async createDebugAdapterDescriptor(t){let r=t.configuration;yw(r);let i=r.__notebookUri,o=pp.workspace.notebookDocuments.find(s=>s.uri.toString()===i);if(!o){p.info(`Cannot start debugging. Notebook ${i} not found.`);return}if(this.notebookInProgress.has(o)){p.info("Cannot start debugging. Already debugging this notebook");return}if(this.isDebugging(o)){p.info("Cannot start debugging. Already debugging this notebook document.");return}this.notebookToDebugger.set(o,new ib(o,r,t));try{return this.notebookInProgress.add(o),this.updateDebugContextKey(),await this.doCreateDebugAdapterDescriptor(r,t,o)}finally{this.notebookInProgress.delete(o),this.updateDebugContextKey()}}async doCreateDebugAdapterDescriptor(t,r,i){let o=await this.ensureKernelIsRunning(i);if(o?.session){let s=new xT(r,i,o.session,o,this.platform,this.debugService);if(t.__mode===0&&typeof t.__cellIndex=="number"){let a=i.cellAt(t.__cellIndex),l=new PT(s,a,this.kernelProvider.getKernelExecution(o),this.configurationService);s.addDebuggingDelegates([l,new Iw(0,s,a,this.serviceContainer)]),this.notebookToRunByLineController.set(i,l),this.updateRunByLineContextKeys()}else if(t.__mode===1&&typeof t.__cellIndex=="number"){let a=i.cellAt(t.__cellIndex),l=new ET(s,a,this.kernelProvider.getKernelExecution(o));s.addDebuggingDelegates([l,new Iw(1,s,a,this.serviceContainer)])}return this.trackDebugAdapter(i,s),this.updateDebugContextKey(),new pp.DebugAdapterInlineImplementation(s)}else pp.window.showInformationMessage(y.kernelWasNotStarted).then(h,h)}};ab=v([(0,mu.injectable)(),m(0,(0,mu.inject)(De)),m(1,(0,mu.inject)(ot)),m(2,(0,mu.inject)(ie)),m(3,(0,mu.inject)(br)),m(4,(0,mu.inject)(_i)),m(5,(0,mu.inject)(rt))],ab);var Cw=k(N()),Zq=require("vscode");var lb=class{constructor(e,t){this.disposableRegistry=t;this.activeTrackers=new WeakMap;this.activeTrackersById=new Map;this.updatedEmitter=new Zq.EventEmitter;t.push(e.registerDebugAdapterTrackerFactory("python",this))}createDebugAdapterTracker(e){let t=new rb(e.id);return this.activeTrackers.set(e,t),this.activeTrackersById.set(e.id,t),t.sessionEnded(()=>{this.activeTrackers.delete(e),this.activeTrackersById.delete(e.id)},this,this.disposableRegistry),t.debugLocationUpdated(this.onLocationUpdated,this,this.disposableRegistry),this.onLocationUpdated(),t}get updated(){return this.updatedEmitter.event}getLocation(e){let t=this.activeTrackers.get(e)||this.activeTrackersById.get(e.id);if(t)return t.debugLocation}onLocationUpdated(){this.updatedEmitter.fire()}};lb=v([(0,Cw.injectable)(),m(0,(0,Cw.inject)(_i)),m(1,(0,Cw.inject)(M))],lb);var _T=k(N()),rH=k(require("net"));var nH=k(Io()),gf=require("vscode");var tH=require("events"),eH=`\r
\r
`,DT=class{constructor(){this.rawData=Buffer.concat([]);this.contentLength=-1;this.disposed=!1;this.dataCallbackHandler=e=>{this.handleData(e)};this.events=new tH.EventEmitter}dispose(){this.stream&&(this.stream.removeListener("data",this.dataCallbackHandler),this.stream=void 0)}connect(e){this.stream=e,e.addListener("data",this.dataCallbackHandler)}on(e,t){return this.events.on(e,t),this}once(e,t){return this.events.once(e,t),this}dispatch(e){let t=JSON.parse(e);switch(t.type){case"event":{let r=t;typeof r.event=="string"&&this.events.emit(`${t.type}_${r.event}`,r);break}case"request":{let r=t;typeof r.command=="string"&&this.events.emit(`${t.type}_${r.command}`,r);break}case"response":{let r=t;typeof r.command=="string"&&this.events.emit(`${t.type}_${r.command}`,r);break}default:this.events.emit(`${t.type}`,t)}this.events.emit("data",t)}handleData(e){if(!this.disposed)for(this.rawData=Buffer.concat([this.rawData,e]);;){if(this.contentLength>=0){if(this.rawData.length>=this.contentLength){let t=this.rawData.toString("utf8",0,this.contentLength);this.rawData=this.rawData.slice(this.contentLength),this.contentLength=-1,t.length>0&&this.dispatch(t);continue}}else{let t=this.rawData.indexOf(eH);if(t!==-1){let i=this.rawData.toString("utf8",0,t).split(`\r
`);for(let o of i){let s=o.split(/: +/);s[0]==="Content-Length"&&(this.contentLength=+s[1])}this.rawData=this.rawData.slice(t+eH.length);continue}}break}}};var OO=class{constructor(e,t,r){this._id=e;this._configuration=t;this.customRequestHandler=r;this._name="JupyterDebugSession";}get id(){return this._id}get type(){return"python"}get name(){return this._name}get workspaceFolder(){}get configuration(){return this._configuration}customRequest(e,t){return this.customRequestHandler(e,t)}getDebugProtocolBreakpoint(e){return Promise.resolve(void 0)}},cb=class{constructor(e){this.sequence=1;this.breakpointEmitter=new gf.EventEmitter;this.debugAdapterTrackerFactories=[];this.debugAdapterTrackers=[];this.sessionChangedEvent=new gf.EventEmitter;this.sessionStartedEvent=new gf.EventEmitter;this.sessionTerminatedEvent=new gf.EventEmitter;this.sessionCustomEvent=new gf.EventEmitter;this.breakpointsChangedEvent=new gf.EventEmitter;this._breakpoints=[];e.push(this),this.protocolParser=new DT}dispose(){this.socket&&(this.socket.end(),this.socket=void 0)}get activeDebugSession(){return this.session}get activeDebugConsole(){return{append(e){},appendLine(e){}}}get breakpoints(){return this._breakpoints}get onDidChangeActiveDebugSession(){return this.sessionChangedEvent.event}get onDidStartDebugSession(){return this.sessionStartedEvent.event}get onDidReceiveDebugSessionCustomEvent(){return this.sessionCustomEvent.event}get onDidTerminateDebugSession(){return this.sessionTerminatedEvent.event}get onDidChangeBreakpoints(){return this.breakpointsChangedEvent.event}registerDebugConfigurationProvider(e,t){return{dispose:()=>{}}}registerDebugAdapterTrackerFactory(e,t){return this.debugAdapterTrackerFactories.push(t),{dispose:()=>{this.debugAdapterTrackerFactories=this.debugAdapterTrackerFactories.filter(r=>r!==t)}}}startRunByLine(e){return this.startDebugging(void 0,e)}startDebugging(e,t,r){let i=t;return i.port?(this.session=new OO((0,nH.default)(),i,this.sendCustomRequest.bind(this)),this.sessionChangedEvent.fire(this.session),this.debugAdapterTrackers=this.debugAdapterTrackerFactories.map(o=>o.createDebugAdapterTracker(this.session)),this.socket=rH.createConnection(i.port),this.protocolParser.connect(this.socket),this.protocolParser.on("event_stopped",this.onBreakpoint.bind(this)),this.protocolParser.on("event_output",this.onOutput.bind(this)),this.protocolParser.on("event_terminated",this.sendToTrackers.bind(this)),this.socket.on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this)),this.sendStartSequence(i,this.session.id).then(()=>!0)):Promise.resolve(!0)}addBreakpoints(e){this._breakpoints=this._breakpoints.concat(e)}removeBreakpoints(e){}get onBreakpointHit(){return this.breakpointEmitter.event}async continue(){await this.sendMessage("continue",{threadId:0}),this.sendToTrackers({type:"event",event:"continue"})}async step(){await this.sendMessage("stepIn",{threadId:this._stoppedThreadId?this._stoppedThreadId:1}),this.sendToTrackers({type:"event",event:"stepIn"})}async getStack(){let e=re();return this.protocolParser.once("response_stackTrace",t=>{this.sendToTrackers(t);let r=t,i=r.body.stackFrames?r.body.stackFrames:[];e.resolve(i),this._topFrameId=i[0]?.id}),await this.emitMessage("stackTrace",{threadId:this._stoppedThreadId?this._stoppedThreadId:1,startFrame:0,levels:1}),e.promise}async requestVariables(){await this.getStack();let e=re(),t=0;return this.protocolParser.once("response_scopes",r=>{this.sendToTrackers(r);let i=r;i&&(t=i.body.scopes[0].variablesReference),this.emitMessage("variables",{threadId:this._stoppedThreadId?this._stoppedThreadId:1,variablesReference:t}).catch(h)}),this.protocolParser.once("response_variables",r=>{this.sendToTrackers(r),e.resolve()}),await this.emitMessage("scopes",{frameId:this._topFrameId?this._topFrameId:1}),e.promise}stop(){this.onClose()}sendToTrackers(e){switch(e.type){case"request":this.debugAdapterTrackers.forEach(t=>{t.onWillReceiveMessage&&t.onWillReceiveMessage(e)});break;default:this.debugAdapterTrackers.forEach(t=>t.onDidSendMessage(e));break}}sendCustomRequest(e,t){return this.sendMessage(e,t)}async sendStartSequence(e,t){p.info("Sending debugger initialize..."),await this.sendInitialize(),this._breakpoints.length>0&&(p.info("Sending breakpoints"),await this.sendBreakpoints()),p.info("Sending debugger attach...");let r=this.sendAttach(e,t);return p.info("Sending configuration done"),await this.sendConfigurationDone(),p.info("Session started."),r.then(()=>{this.sessionStartedEvent.fire(this.session)})}sendBreakpoints(){let e=this._breakpoints.map(r=>r),t=e[0].location.uri.fsPath;return this.sendMessage("setBreakpoints",{source:{name:Ce(t),path:t},lines:e.map(r=>r.location.range.start.line),breakpoints:e.map(r=>({line:r.location.range.start.line})),sourceModified:!0})}sendAttach(e,t){return this.sendMessage("attach",{debugOptions:["RedirectOutput","FixFilePathCase","WindowsClient","ShowReturnValue"],workspaceFolder:jo,__sessionId:t,...e})}sendConfigurationDone(){return this.sendMessage("configurationDone")}sendInitialize(){return this.sendMessage("initialize",{clientID:"vscode",clientName:"Visual Studio Code",adapterID:"python",pathFormat:"path",linesStartAt1:!0,columnsStartAt1:!0,supportsVariableType:!0,supportsVariablePaging:!0,supportsRunInTerminalRequest:!0,locale:"en-us"})}sendDisconnect(){return this.sendMessage("disconnect",{})}sendMessage(e,t){let r=re(),i=this.sessionTerminatedEvent.event(()=>{r.resolve({body:{}})}),o=this.sequence;return this.protocolParser.on(`response_${e}`,s=>{s.request_seq===o&&(this.sendToTrackers(s),p.info(`Received response from debugger: ${JSON.stringify(t)}`),i.dispose(),r.resolve(s.body))}),this.socket?.on("error",s=>r.reject(s)),this.emitMessage(e,t).catch(s=>{p.error(`Exception attempting to emit ${e} to debugger: `,s)}),r.promise}emitMessage(e,t){return new Promise((r,i)=>{try{if(this.socket){let o={command:e,arguments:t,type:"request",seq:this.sequence};this.sequence+=1;let s=JSON.stringify(o);p.info(`Sending request to debugger: ${s}`);let a=`Content-Length: ${s.length}\r
\r
${s}`;this.socket.write(a,l=>{this.sendToTrackers(o),r()})}}catch(o){i(o)}})}onBreakpoint(e){this._stoppedThreadId=e.body.threadId,this.sendToTrackers(e),this.breakpointEmitter.fire()}onOutput(e){this.sendToTrackers(e),p.info(JSON.stringify(e))}onError(e){this.sendToTrackers(e),p.info(JSON.stringify(e))}onClose(){this.socket&&(this.sessionTerminatedEvent.fire(this.activeDebugSession),this.session=void 0,this.sessionChangedEvent.fire(void 0),this.debugAdapterTrackers.forEach(e=>e.onExit?e.onExit(0,void 0):void 0),this.debugAdapterTrackers=[],this.sendDisconnect().catch(h),this.socket.destroy(),this.socket=void 0)}};cb=v([(0,_T.injectable)(),m(0,(0,_T.inject)(M))],cb);var Yl=k(N()),vf=require("vscode");var ub=class{constructor(e,t,r){this.vscodeDebugService=t;this.jupyterDebugService=r;this.sessionChangedEvent=new vf.EventEmitter;this.sessionStartedEvent=new vf.EventEmitter;this.sessionTerminatedEvent=new vf.EventEmitter;this.sessionCustomEvent=new vf.EventEmitter;e.push(t.onDidTerminateDebugSession(this.endedDebugSession.bind(this))),e.push(t.onDidStartDebugSession(this.startedDebugSession.bind(this))),e.push(t.onDidChangeActiveDebugSession(this.changedDebugSession.bind(this))),e.push(t.onDidReceiveDebugSessionCustomEvent(this.gotCustomEvent.bind(this))),r&&(e.push(r.onDidTerminateDebugSession(this.endedDebugSession.bind(this))),e.push(r.onDidStartDebugSession(this.startedDebugSession.bind(this))),e.push(r.onDidChangeActiveDebugSession(this.changedDebugSession.bind(this))),e.push(r.onDidReceiveDebugSessionCustomEvent(this.gotCustomEvent.bind(this))))}get activeDebugSession(){return this.activeService.activeDebugSession}get activeDebugConsole(){return this.activeService.activeDebugConsole}get breakpoints(){return this.activeService.breakpoints}get onDidChangeActiveDebugSession(){return this.sessionChangedEvent.event}get onDidStartDebugSession(){return this.sessionStartedEvent.event}get onDidReceiveDebugSessionCustomEvent(){return this.sessionCustomEvent.event}get onDidTerminateDebugSession(){return this.sessionTerminatedEvent.event}get onDidChangeBreakpoints(){return this.activeService.onDidChangeBreakpoints}get onBreakpointHit(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");return this.jupyterDebugService.onBreakpointHit}startRunByLine(e){if(this.lastStartedService=this.jupyterDebugService,!this.jupyterDebugService)throw new Error("No jupyter debugger service");return this.jupyterDebugService.startRunByLine(e)}registerDebugConfigurationProvider(e,t){let r=this.vscodeDebugService.registerDebugConfigurationProvider(e,t);if(this.jupyterDebugService){let i=this.jupyterDebugService.registerDebugConfigurationProvider(e,t);return this.combineDisposables(r,i)}return r}registerDebugAdapterTrackerFactory(e,t){let r=this.vscodeDebugService.registerDebugAdapterTrackerFactory(e,t);if(this.jupyterDebugService){let i=this.jupyterDebugService.registerDebugAdapterTrackerFactory(e,t);return this.combineDisposables(r,i)}return r}startDebugging(e,t,r){return this.lastStartedService=this.vscodeDebugService,this.vscodeDebugService.startDebugging(e,t,r)}addBreakpoints(e){return this.activeService.addBreakpoints(e)}removeBreakpoints(e){return this.activeService.removeBreakpoints(e)}getStack(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.getStack();throw new Error("Requesting jupyter specific stack when not debugging.")}step(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.step();throw new Error("Requesting jupyter specific step when not debugging.")}continue(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.continue();throw new Error("Requesting jupyter specific step when not debugging.")}requestVariables(){if(!this.jupyterDebugService)throw new Error("No jupyter debugger service");if(this.lastStartedService===this.jupyterDebugService)return this.jupyterDebugService.requestVariables();throw new Error("Requesting jupyter specific variables when not debugging.")}stop(){this.jupyterDebugService&&this.lastStartedService===this.jupyterDebugService?this.jupyterDebugService.stop():vf.commands.executeCommand("workbench.action.debug.stop").then(h,h)}get activeService(){return this.lastStartedService?this.lastStartedService:this.vscodeDebugService}combineDisposables(e,t){return{dispose:()=>{e.dispose(),t.dispose()}}}endedDebugSession(e){this.sessionTerminatedEvent.fire(e),this.lastStartedService=void 0}startedDebugSession(e){this.sessionStartedEvent.fire(e)}changedDebugSession(e){this.sessionChangedEvent.fire(e)}gotCustomEvent(e){this.sessionCustomEvent.fire(e)}};ub=v([(0,Yl.injectable)(),m(0,(0,Yl.inject)(M)),m(1,(0,Yl.inject)(_i)),m(2,(0,Yl.optional)()),m(2,(0,Yl.inject)(Ea)),m(2,(0,Yl.named)(je.RUN_BY_LINE_DEBUGSERVICE))],ub);var hu=k(N());var NT=require("vscode");var db=Symbol("IFileConverter"),mp=Symbol("IExportBase"),Rft=Symbol("IExport"),fp=Symbol("IExportUtil");var AT=k(N()),iH=k(require("os"));var oH=k(Io());var pb=require("vscode");var ww=require("vscode");var _pe={PDF:["pdf"]},Tpe={HTML:["html","htm"]},Rpe={Python:["py"]},xa=class{async showDialog(e,t,r){let i={},o;switch(e){case"python":i=Rpe,o=".py";break;case"pdf":o=".pdf",i=_pe;break;case"html":o=".html",i=Tpe;break;case"ipynb":o=".ipynb";let l=y.exportDialogFilter;i[l]=["ipynb"];break;default:return}let s=r||!t?r||"":`${Ce(t.path,Wi(t.path))}${o}`,a={defaultUri:await this.getDefaultUri(t,s),saveLabel:y.exportButtonTitle,filters:i};return ww.window.showSaveDialog(a)}async getDefaultUri(e,t){if(e&&e.scheme==="untitled"&&tn())return;if(!e||e.scheme==="file"||e.scheme==="untitled"||e.scheme==="vscode-interactive"){let i=be.instance.get(Pk);return ww.Uri.file(Le(await i.computeWorkingDirectory(e),t))}let r=Le(nt(e.path),t);return ww.Uri.parse(`${e.scheme}://${r}`).with({authority:e.authority})}};var TT=class{async getContent(e){let t=pb.extensions.getExtension("vscode.ipynb");if(!t)throw new Error("Unable to export notebook as the built-in vscode.ipynb extension is currently unavailable.");t.isActive||await t.activate();let i=e.getCells().map(s=>{let a=new pb.NotebookCellData(s.kind,s.document.getText(),s.document.languageId);return a.metadata=s.metadata,a.mime=s.mime,a.outputs=[...s.outputs],a}),o=new pb.NotebookData(i);return o.metadata=JSON.parse(JSON.stringify(e.metadata)),t.exports.exportNotebook(o)}async getTargetFile(e,t,r){return await new xa().showDialog(e,t,r)}};var RT=require("vscode");var mb=class extends TT{constructor(t){super();this.fs=t}async getTargetFile(t,r,i){let o;return t!=="python"?o=await new xa().showDialog(t,r,i):o=RT.Uri.file((await this.fs.createTemporaryLocalFile(".py")).filePath),o}};mb=v([(0,AT.injectable)(),m(0,(0,AT.inject)(lr))],mb);var Ew=class{async generateTempDir(){let e=RT.Uri.file(Le(iH.tmpdir(),(0,oH.default)())),t=be.instance.get(lr);return await t.createDirectory(e),{path:ke(e),dispose:async()=>{let r=0;for(;r<10;)try{await t.delete(e),r=10}catch{await gi(3e3),r+=1}}}}async makeFileInDirectory(e,t,r){let i=Le(r,t);return await be.instance.get(lr).writeFile(RT.Uri.file(i),e),i}};async function sH(n){let e=JSON.parse(n);for(let t of e.cells){let r="outputs"in t?t.outputs:void 0;r&&Array.isArray(r)&&Ape(r)}return JSON.stringify(e,void 0,4)}function Ape(n){let e="image/svg+xml",t="image/png";for(let r of n)if("data"in r){let i=r.data;if(!(e in i))continue;t in i&&delete i[e]}}var fb=k(N());var fu=class{constructor(e,t,r){this.dependencyManager=e;this.nbConvertDependencyChecker=t;this.jupyterInterpreterService=r}async getExportInterpreter(e){if(e&&await this.checkNotebookInterpreter(e))return e;let t=await this.jupyterInterpreterService.getSelectedInterpreter();if(t||await this.jupyterInterpreterService.selectInterpreter(),t){if(await this.checkNotebookInterpreter(t))return t;if(await this.dependencyManager.installMissingDependencies(),await this.checkNotebookInterpreter(t))return t}throw new Error(y.jupyterNbConvertNotSupported)}async checkNotebookInterpreter(e){return this.nbConvertDependencyChecker.isNbConvertInstalled(e)}};fu=v([(0,fb.injectable)(),m(0,(0,fb.inject)(sd)),m(1,(0,fb.inject)(rg)),m(2,(0,fb.inject)(ii))],fu);var yf=class{constructor(e,t,r,i,o,s){this.pythonExecutionFactory=e;this.jupyterService=t;this.fs=r;this.exportUtil=i;this.importer=o;this.exportInterpreterFinder=s}async export(e,t,r,i){}async executeCommand(e,t,r,i,o){if(o.isCancellationRequested)return;if(i=await this.exportInterpreterFinder.getExportInterpreter(i),r==="python"){let g=await this.importer.importFromFile(e.uri,i);await this.fs.writeFile(t,g);return}let s=await this.exportUtil.getContent(e);r==="pdf"&&(s=await sH(s));let a=await new Ew().generateTempDir(),l=await this.makeSourceFile(t,s,a),c=await this.getExecutionService(l,i);if(!c||o.isCancellationRequested)return;let u=await this.fs.createTemporaryLocalFile(Wi(t.fsPath)),d=[l.fsPath,"--to",r,"--output",Ce(u.filePath),"--output-dir",nt(u.filePath),"--debug"],f=await c.execModule("jupyter",["nbconvert"].concat(d),{throwOnStdErr:!1,encoding:"utf8",token:o});if(o.isCancellationRequested){u.dispose();return}try{if((await this.fs.stat(NT.Uri.file(u.filePath))).size>1)await this.fs.copy(NT.Uri.file(u.filePath),t);else throw new Error("File size is zero during conversion. Outputting error.")}catch{throw new Error(f.stderr)}finally{u.dispose()}}async makeSourceFile(e,t,r){let i=Ce(e.fsPath,Wi(e.fsPath)),o=await new Ew().makeFileInDirectory(t,`${i}.ipynb`,r.path);return NT.Uri.file(o)}async getExecutionService(e,t){return this.pythonExecutionFactory.createActivatedEnvironment({resource:e,interpreter:t})}};v([lv("PerformingExport")],yf.prototype,"executeCommand",1),yf=v([(0,hu.injectable)(),m(0,(0,hu.inject)(Nr)),m(1,(0,hu.inject)(Od)),m(2,(0,hu.inject)(lr)),m(3,(0,hu.inject)(fp)),m(4,(0,hu.inject)(dk)),m(5,(0,hu.inject)(fu))],yf);var bf=k(N());var gu=require("vscode");var hb=class{constructor(){this.fs=be.instance.get(tt)}async openFile(e,t,r=!1){if(e==="python")await this.openPythonFile(t,r),R("DATASCIENCE.EXPORT_NOTEBOOK_AS",void 0,{format:e,successful:!0,opened:!0});else{let i=await this.askOpenFile(t,r);R("DATASCIENCE.EXPORT_NOTEBOOK_AS",void 0,{format:e,successful:!0,opened:i})}}async openPythonFile(e,t){let r;if(t)r=await gu.window.showTextDocument(e);else{let i=await this.fs.readFile(e);await this.fs.delete(e);let o=await gu.workspace.openTextDocument({language:ge,content:i});r=await gu.window.showTextDocument(o)}await r.edit(i=>{i.insert(new gu.Position(r.document.lineCount,0),`
`)})}async askOpenFile(e,t){let r=y.openExportFileYes,i=y.openExportFileNo,o=[r,i];return await gu.window.showInformationMessage(y.openExportedFileMessage,...o).then(a=>a)===r?(t?gu.window.showTextDocument(e).then(h,h):yd(e.toString()),!0):!1}};var LT=k(N()),UT=require("vscode");var MT=class{async export(e,t,r,i){await be.instance.get(mp).executeCommand(e,t,"python",r,i)}};var KT=class{async export(e,t,r,i){await be.instance.get(mp).executeCommand(e,t,"pdf",r,i)}};var OT=class{async export(e,t,r,i){await be.instance.get(mp).executeCommand(e,t,"html",r,i)}};var FO=require("vscode");var FT=class{constructor(){this.fs=be.instance.get(tt),this.configuration=be.instance.get(ie),this.platform=be.instance.get(br)}async writeFile(e,t){await this.fs.writeFile(e,t)}getEOL(){return this.platform.isWindows?`\r
`:`
`}async export(e,t,r){if(r.isCancellationRequested)return;let i=this.exportDocument(e);await this.writeFile(t,i)}exportDocument(e){return e.getCells().filter(t=>!t.metadata?.isInteractiveWindowMessageCell).reduce((t,r)=>t+this.exportCell(r),"")}exportCell(e){if(e.document.lineCount){let t=this.cellMarker(e),r=this.getEOL();switch(e.kind){case FO.NotebookCellKind.Code:return`${t}${r}${this.exportCodeCell(e)}${r}${r}`;case FO.NotebookCellKind.Markup:return`${t} [markdown]${r}${this.exportMarkdownCell(e)}${r}${r}`}}return""}exportCodeCell(e){let t=Oe(e.document.getText(),{trim:!1,removeEmptyEntries:!1}),r=this.configuration.getSettings(e.notebook.uri).pythonExportMethod==="commentMagics";return Wh(t,this.getEOL(),r?Npe:void 0).join("")}exportMarkdownCell(e){let t=Oe(e.document.getText(),{trim:!1,removeEmptyEntries:!1});return Wh(t,this.getEOL(),Mpe).join("")}cellMarker(e){let t=this.configuration.getSettings(e.notebook.uri);return e.metadata.interactiveWindowCellMarker??t.defaultCellMarker}};function Npe(n){return/^\s*!/.test(n)||/^\s*%/.test(n)?`# ${n}`:n}function Mpe(n){return`# ${n}`}var gb=class{constructor(e,t,r){this.exportUtil=e;this.progressReporter=t;this.configuration=r}async importIpynb(e){let t=this.progressReporter.createProgressIndicator(y.importingIpynb,!0);try{let r=await UT.workspace.openNotebookDocument(e);await this.exportImpl("python",r,void 0,t.token)}finally{t.dispose()}}async export(e,t,r,i){let o=this.progressReporter.createProgressIndicator(y.exportingToFormat(e.toString()),!0);try{await this.exportImpl(e,t,r,o.token,i)}finally{o.dispose()}if(o.token.isCancellationRequested){R("DATASCIENCE.EXPORT_NOTEBOOK_AS",void 0,{format:e,cancelled:!0});return}}async exportImpl(e,t,r,i,o){try{let s=await this.exportUtil.getTargetFile(e,t.uri,r);if(!s)return;await this.performExport(e,t,s,i,o)}catch(s){p.error("Export failed",s),R("DATASCIENCE.EXPORT_NOTEBOOK_AS_FAILED",void 0,{format:e}),e==="pdf"&&p.error(y.exportToPDFDependencyMessage),this.showExportFailed(y.exportFailedGeneralMessage)}}async performExport(e,t,r,i,o){e==="python"&&this.configuration.getSettings(t.uri).pythonExportMethod!=="nbconvert"?await this.performPlainExport(e,t,r,i):await this.performNbConvertExport(t,e,r,o,i),r&&this.openExportedFile(e,r).catch(h)}async openExportedFile(e,t){await new hb().openFile(e,t,!0).catch(h)}async performPlainExport(e,t,r,i){if(r)switch(e){case"python":await new FT().export(t,r,i);break}return r}async performNbConvertExport(e,t,r,i,o){try{return await this.exportToFormat(e,r,t,i,o)}finally{}}async exportToFormat(e,t,r,i,o){switch(r){case"python":return new MT().export(e,t,i,o);case"pdf":return new KT().export(e,t,i,o);case"html":return new OT().export(e,t,i,o);default:break}}showExportFailed(e){UT.window.showErrorMessage(`${y.failedExportMessage} ${e}`)}};gb=v([m(0,(0,LT.inject)(fp)),m(1,(0,LT.inject)($o)),m(2,(0,LT.inject)(ie))],gb);var vb=class extends gb{constructor(t,r,i,o){super(t,i,o);this.exportUtil=t;this.fs=r}async openExportedFile(t,r){await new hb().openFile(t,r).catch(h)}};vb=v([(0,bf.injectable)(),m(0,(0,bf.inject)(fp)),m(1,(0,bf.inject)(lr)),m(2,(0,bf.inject)($o)),m(3,(0,bf.inject)(ie))],vb);var kw=k(N()),If=require("vscode");var Pw=require("vscode");var LO=new WeakMap;async function Zl(n,e){let t=n;if(n.isClosed)return!0;let r=LO.has(t)?LO.get(t):Promise.resolve(),i=re(),o=r.finally(async()=>{let s=new Pw.WorkspaceEdit,a=e(s);Au(a)&&await a,await Pw.workspace.applyEdit(s).then(l=>i.resolve(l),l=>i.reject(l))}).catch(h);return LO.set(t,o),i.promise}var yb=class{constructor(e,t){this.disposables=e;this.controllerRegistration=t}activate(){this.controllerRegistration.onControllerSelected(this.onDidChangeNotebookController,this,this.disposables)}async onDidChangeNotebookController(e){let t=e.notebook,r=e.controller.connection;if(!Et(t))return;let i=If.window.visibleNotebookEditors.find(u=>u.notebook===t);if(!i)return;let o=t.getCells().filter(u=>u.kind===If.NotebookCellKind.Code&&u.document.getText().trim().length===0),s=t.getCells().filter(u=>u.kind===If.NotebookCellKind.Code).length;if(o.length===0||o.length!==s)return;let a,l=r.kind;switch(r.kind){case"connectToLiveRemoteKernel":{a=r.kernelModel.language;break}case"startUsingRemoteKernelSpec":case"startUsingLocalKernelSpec":{a=r.kernelSpec.language;break}case"startUsingPythonInterpreter":{a=ge;break}default:{p.error(`Unsupported kernel kind encountered ${l}`);return}}if(!a)return;let c=cl(a);Zl(i.notebook,async()=>{await o.map(async u=>{if(c.toLowerCase()!==u.document.languageId)return If.languages.setTextDocumentLanguage(u.document,c).then(h,h)})}).then(h,h)}};yb=v([(0,kw.injectable)(),m(0,(0,kw.inject)(M)),m(1,(0,kw.inject)(ot))],yb);var Da=k(N()),dr=require("vscode");var bb=class{constructor(e,t,r,i,o,s,a,l){this.disposableRegistry=e;this.languageService=t;this.configurationService=r;this.kernelProvider=i;this.controllerRegistration=o;this.errorHandler=s;this.notebookEditorProvider=a;this.serviceContainer=l;this.kernelInterruptedDontAskToRestart=!1;this.pendingRestartInterrupt=new WeakMap}register(){this.disposableRegistry.push(dr.commands.registerCommand(B.NotebookEditorRemoveAllCells,()=>this.removeAllCells())),this.disposableRegistry.push(dr.commands.registerCommand(B.NotebookEditorRunAllCells,()=>this.runAllCells())),this.disposableRegistry.push(dr.commands.registerCommand(B.NotebookEditorAddCellBelow,()=>this.addCellBelow())),this.disposableRegistry.push(dr.commands.registerCommand(B.RestartKernelAndRunUpToSelectedCell,()=>this.restartKernelAndRunUpToSelectedCell())),this.disposableRegistry.push(dr.commands.registerCommand(B.RestartKernel,e=>e&&"notebookEditor"in e?this.restartKernel(e?.notebookEditor?.notebookUri).catch(h):this.restartKernel(e).catch(h))),this.disposableRegistry.push(dr.commands.registerCommand(B.InterruptKernel,e=>this.interruptKernel(e?.notebookEditor?.notebookUri))),this.disposableRegistry.push(dr.commands.registerCommand(B.RestartKernelAndRunAllCells,e=>{e&&"notebookEditor"in e?this.restartKernelAndRunAllCells(e?.notebookEditor?.notebookUri).catch(h):this.restartKernelAndRunAllCells(e).catch(h)}))}runAllCells(){dr.window.activeNotebookEditor&&dr.commands.executeCommand("notebook.execute").then(h,h)}addCellBelow(){dr.window.activeNotebookEditor&&dr.commands.executeCommand("notebook.cell.insertCodeCellBelow").then(h,h)}removeAllCells(){let e=dr.window.activeNotebookEditor?.notebook;if(!e)return;let t=this.languageService.getPreferredLanguage(co(e));Zl(e,r=>{let i=dr.NotebookEdit.replaceCells(new dr.NotebookRange(0,e.cellCount),[new dr.NotebookCellData(dr.NotebookCellKind.Code,"",t)]);r.set(e.uri,[i])}).then(h,h)}async interruptKernel(e){let t=e??this.notebookEditorProvider.activeNotebookEditor?.notebook.uri,r=dr.workspace.notebookDocuments.find(o=>o.uri.toString()===t?.toString());if(r===void 0)return;p.debug(`Command interrupted kernel for ${j(r.uri)}`);let i=this.kernelProvider.get(r);if(!i){p.info("Interrupt requested & no kernel.");return}await this.wrapKernelMethod("interrupt",i)}async restartKernelAndRunAllCells(e){await this.restartKernel(e),this.runAllCells()}async restartKernelAndRunUpToSelectedCell(){let e=this.notebookEditorProvider.activeNotebookEditor;e&&(await this.restartKernel(e.notebook.uri),dr.commands.executeCommand("notebook.cell.execute",{ranges:[{start:0,end:e.selection.end}],document:e.notebook.uri}).then(h,h))}async restartKernel(e){let t=e??this.notebookEditorProvider.activeNotebookEditor?.notebook.uri,r=dr.workspace.notebookDocuments.find(o=>o.uri.toString()===t?.toString());if(r===void 0)return;let i=this.kernelProvider.get(r);if(i)if(p.debug(`Restart kernel command handler for ${j(r.uri)}`),await this.shouldAskForRestart(r.uri)){let o=y.restartKernelMessage,s=y.restartKernelMessageYes,a=y.restartKernelMessageDontAskAgain,l=await dr.window.showInformationMessage(o,{modal:!0},s,a);l===a?(await this.disableAskForRestart(r.uri),this.wrapKernelMethod("restart",i).catch(h)):l===s&&this.wrapKernelMethod("restart",i).catch(h)}else this.wrapKernelMethod("restart",i).catch(h)}async wrapKernelMethod(e,t){let r=t.notebook,i=this.pendingRestartInterrupt.get(t);if(i)return i;let o=(async()=>{let s=this.kernelProvider.getKernelExecution(t).pendingCells[0],a=this.controllerRegistration.getSelected(r);try{if(!a)throw new Error("No kernel associated with the notebook");await js.wrapKernelMethod(a.connection,e,t.creator,this.serviceContainer,{resource:t.resourceUri,notebook:r,controller:a.controller},new Jt(!1),this.disposableRegistry)}catch(l){s?await rd(s,t.controller,await this.errorHandler.getErrorMessageForDisplayInCell(l,e,t.resourceUri),!1):dr.window.showErrorMessage(l.toString()).then(h,h)}})();return o.finally(()=>{this.pendingRestartInterrupt.get(t)===o&&this.pendingRestartInterrupt.delete(t)}).catch(h),this.pendingRestartInterrupt.set(t,o),o}async shouldAskForRestart(e){if(this.kernelInterruptedDontAskToRestart)return!1;let t=this.configurationService.getSettings(e);return t&&t.askForKernelRestart===!0}async disableAskForRestart(e){this.configurationService.getSettings(e)&&this.configurationService.updateSetting("askForKernelRestart",!1,void 0,dr.ConfigurationTarget.Global).catch(h)}};bb=v([(0,Da.injectable)(),m(0,(0,Da.inject)(M)),m(1,(0,Da.inject)(es)),m(2,(0,Da.inject)(ie)),m(3,(0,Da.inject)(De)),m(4,(0,Da.inject)(ot)),m(5,(0,Da.inject)(Gr)),m(6,(0,Da.inject)(ci)),m(7,(0,Da.inject)(rt))],bb);var aH=k(N()),hp=require("vscode");var Ib=class{constructor(){this.providers=new Set}registerEmbedNotebookProvider(e){this.providers.add(e)}findNotebookEditor(e){let t=e?cn(e,!0):"false",r=$i(e)==="notebook"?hp.workspace.notebookDocuments.find(o=>cn(o.uri,!0)===t):void 0,i=r&&hp.window.activeNotebookEditor?.notebook===r?hp.window.activeNotebookEditor:void 0;if(i)return i;for(let o of this.providers){let s=o.findNotebookEditor(e);if(s)return s}}get activeNotebookEditor(){return this.findNotebookEditor(hp.window.activeNotebookEditor?.notebook.uri)||this.findNotebookEditor(hp.window.activeTextEditor?.document.uri)}findAssociatedNotebookDocument(e){let t=Rr()==="Windows",r=hp.workspace.notebookDocuments.find(i=>t?i.uri.path.toLowerCase()===e.path.toLowerCase():i.uri.path===e.path);if(r)return r;for(let i of this.providers){let o=i.findAssociatedNotebookDocument(e);if(o)return o}}};Ib=v([(0,aH.injectable)()],Ib);var WT=k(N()),Cb=require("vscode");var Sb=class{constructor(e){this.sentMimeTypes=new Set;this.disposables=[];e.push(this)}activate(){this.isTelemetryDisabled=CP(),Cb.workspace.onDidOpenNotebookDocument(this.onDidOpenCloseDocument,this,this.disposables),Cb.workspace.onDidCloseNotebookDocument(this.onDidOpenCloseDocument,this,this.disposables),Cb.workspace.onDidSaveNotebookDocument(this.onDidOpenCloseDocument,this,this.disposables),er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,this.disposables),this.disposables.push(wP(e=>this.isTelemetryDisabled=e))}dispose(){z(this.disposables)}async onDidChangeNotebookCellExecutionState(e){!Et(e.cell.notebook)||this.isTelemetryDisabled||e.state!==1||this.checkCell(e.cell,"onExecution")}onDidOpenCloseDocument(e){!Et(e)||this.isTelemetryDisabled||e.getCells().forEach(t=>this.checkCell(t,"onOpenCloseOrSave"))}checkCell(e,t){if(e.kind===Cb.NotebookCellKind.Markup||e.document.languageId==="raw")return;let r=e.notebook.notebookType===St?"notebook":"interactive";e.outputs.map(i=>i.items.map(o=>o.mime)).flat().map(i=>this.sendTelemetry(i,t,r))}sendTelemetry(e,t,r){let i=`${e}-${t}`;this.sentMimeTypes.has(i)||(this.sentMimeTypes.add(i),e=e.replace(/\//g,"_").replace(/\\/g,"_"),R("DS_INTERNAL.CELL_OUTPUT_MIME_TYPE",void 0,{mimeType:e,when:t,resourceType:r}))}};Sb=v([(0,WT.injectable)(),m(0,(0,WT.inject)(M))],Sb);var VT=k(N());var Kpe=/(;32m[ ->]*?)(\d+)(.*)/g,wb=class{constructor(e){this.configurationService=e}format(e,t){return e.notebook.notebookType!==St?t:t.map(r=>this.modifyTracebackFrameIPython(e,r))}modifyTracebackFrameIPython(e,t){return(this.configurationService.getSettings(e.document.uri)?.formatStackTraces??!1)&&/^[Cell|Input|File].*?\n.*/.test(t)?this.modifyTracebackFrameIPython8(e,t):t}modifyTracebackFrameIPython8(e,t){t=t.replace(/\u001b\[4\dm/g,""),t=t.replace(/\u001b\[38;.*?\d+m/g,"\x1B[39m"),t=t.replace(/(;32m[ ->]*?)(\d+)(.*)\n/g,(s,a,l,c)=>(c=c.replace(/\u001b\[3\d+m/g,"\x1B[39m"),`${a}${l}${c}
`)),p.ci(`Trace frame to match: ${t}`);let r=(s,a)=>{let l=s.replace(Kpe,(u,d,f,g)=>{let b=parseInt(f,10);return`${d}<a href='${e.document.uri.toString()}?line=${b-1}'>${b}</a>${g}`}),c=y.cellAtFormat(ke(e.document.uri),e.index+1);return l.replace(/.*?\n/,`\x1B[1;32m${c}\x1B[0m line \x1B[0;36m${a}
`)},i=/^Input.*?\[.*32mIn\s+\[(\d+).*?0;36m(.*?)\n.*/.exec(t);if(i&&i.length>1)return r(t,i[2]);let o=/Cell.*?\[.*32mIn\s*\[(\d+)\]\,\s+line\s+([(\d+)])(.*?)\n.*/gm.exec(t);return o&&o.length>1?r(t,o[2]):t}};wb=v([(0,VT.injectable)(),m(0,(0,VT.inject)(ie))],wb);var _a=k(N());var Eb=class{constructor(e,t,r,i,o,s){this.packages=e;this.installer=t;this.pythonExtensionChecker=r;this.disposables=i;this.interpreterService=o;this.notebookControllerManager=s}activate(){this.notebookControllerManager.onControllerSelected(this.onNotebookControllerSelected,this,this.disposables),this.installer?.onInstalled(this.onDidInstallPackage,this,this.disposables)}async onNotebookControllerSelected(e){e.controller.connection.interpreter&&(await Qi(e.notebook.uri,{kernelConnection:e.controller.connection}),await this.packages.trackPackages(e.controller.connection.interpreter))}async onDidInstallPackage(e){if(this.pythonExtensionChecker.isPythonExtensionActive)if(Nu(e.resource)){let t=await this.interpreterService.getActiveInterpreter(e.resource);await this.packages.trackPackages(t,!0)}else await this.packages.trackPackages(e.resource,!0)}};Eb=v([(0,_a.injectable)(),m(0,(0,_a.inject)(_d)),m(1,(0,_a.inject)(Ai)),m(1,(0,_a.optional)()),m(2,(0,_a.inject)(Be)),m(3,(0,_a.inject)(M)),m(4,(0,_a.inject)(Xe)),m(5,(0,_a.inject)(ot))],Eb);function lH(n,e){$q(n,e),n.addSingleton(me,rf),n.addSingleton(wh,bb),n.addSingleton(ci,Ib),n.addSingleton(me,sf),n.addSingleton(qh,wb),n.addSingleton(Ea,cb,je.RUN_BY_LINE_DEBUGSERVICE),n.addSingleton(rp,rp),n.addBinding(rp,me),n.addSingleton(me,Vy),n.addSingleton(me,Eb),n.addSingleton(me,Fy),n.addSingleton(es,es),n.addBinding(es,me),n.addSingleton(me,yb),n.addSingleton(dp,ab,void 0,[me]),n.addSingleton(me,tb),n.addSingleton(yn,nb,je.DEBUGGER_VARIABLES),n.addSingleton(Ea,ub,je.MULTIPLEXING_DEBUGSERVICE),n.addSingleton(yT,lb,void 0,[vT]),n.addSingleton(me,eb),n.addSingleton(me,Sb),n.addSingleton(db,vb),n.addSingleton(fu,fu),n.addSingleton(mp,yf),n.addSingleton(fp,mb)}var bn=k(N()),He=require("vscode");var gp=Symbol("IDataScienceCodeLensProvider"),jT=Symbol("ICodeWatcher"),JT=Symbol("ICodeLensFactory"),Pyt=Symbol("IGeneratedCodeStore"),Bs=Symbol("IGeneratedCodeStorageFactory"),Pb=Symbol("ICodeGeneratorFactory");var BT=Symbol("IInteractiveWindowDebugger"),Ki=Symbol("IInteractiveWindowProvider"),$T=Symbol("IInteractiveControllerHelper"),qT=Symbol("IInteractiveWindowDebuggingManager");var HT=require("vscode");async function GT(n){let e=await HT.workspace.openNotebookDocument(n);await HT.window.showNotebookDocument(e)}var $s=require("vscode");var Xi=class{constructor(e){this.codeMatchRegEx=this.createRegExp(e?e.codeRegularExpression:void 0,jp.PythonCellMarker),this.markdownMatchRegEx=this.createRegExp(e?e.markdownRegularExpression:void 0,jp.PythonMarkdownCellMarker),this.codeExecRegEx=new RegExp(`${this.codeMatchRegEx.source}(.*)`),this.markdownExecRegEx=new RegExp(`${this.markdownMatchRegEx.source}(.*)`),this.defaultCellMarker=e?.defaultCellMarker?e.defaultCellMarker:"# %%"}isCell(e){return this.isCode(e)||this.isMarkdown(e)}isMarkdown(e){return this.markdownMatchRegEx.test(e.trim())}isCode(e){return this.codeMatchRegEx.test(e.trim())||e.trim()===this.defaultCellMarker}getCellType(e){return this.isMarkdown(e)?"markdown":"code"}isEmptyCell(e){return this.stripFirstMarker(e).trim().length===0}stripFirstMarker(e){let t=Oe(e,{trim:!1,removeEmptyEntries:!1});return t.length>0&&(this.isCode(t[0])||this.isMarkdown(t[0]))?t.slice(1).join(`
`):e}stripFirstMarkerNoConcat(e){return e.length>0&&(this.isCode(e[0])||this.isMarkdown(e[0]))?e.slice(1):e}getFirstMarker(e){let t=Oe(e,{trim:!1,removeEmptyEntries:!1});if(t.length>0&&(this.isCode(t[0])||this.isMarkdown(t[0])))return t[0]}createRegExp(e,t){try{if(e)return new RegExp(e)}catch{}return t}};var ts=require("vscode");function cH(n,e){let t=it(n);return t?e==1?y.restartingKernelCustomHeader(t):y.startingNewKernelCustomHeader(t):e==1?y.restartingKernelHeader:y.startingNewKernelHeader}function uH(n,e){let t=it(n);return e==1?y.restartedKernelHeader(t||""):y.connectedKernelHeader(t||"")}function xw(n){return n.kind===ts.NotebookCellKind.Markup&&n.metadata?.isInteractiveWindowMessageCell===!0}var zT=class{constructor(e,t){this.notebookDocument=e;this.isDeleted=!1;if(e.cellCount){let r=e.cellAt(e.cellCount);xw(r)&&(this.sysInfoCellPromise=Promise.resolve(r),this.sysInfoCellPromise=this.updateMessage(t))}this.sysInfoCellPromise===void 0&&(this.sysInfoCellPromise=this.createCell(t))}async createCell(e){let t;return await Zl(this.notebookDocument,r=>{let i=new ts.NotebookCellData(ts.NotebookCellKind.Markup,e,aS);i.metadata={isInteractiveWindowMessageCell:!0},t=this.notebookDocument.cellCount;let o=ts.NotebookEdit.insertCells(t,[i]);r.set(this.notebookDocument.uri,[o])}),t=t??this.notebookDocument.cellCount-1,this.notebookDocument.cellAt(t)}async updateMessage(e){let t=await this.sysInfoCellPromise;return await Zl(this.notebookDocument,r=>{if(t.index>=0&&!this.isDeleted&&xw(t)){r.replace(t.document.uri,new ts.Range(0,0,t.document.lineCount,0),e),r.set(this.notebookDocument.uri,[ts.NotebookEdit.updateCellMetadata(t.index,{isInteractiveWindowMessageCell:!0})]);return}}),t}async deleteCell(){this.isDeleted=!0;let e=await this.sysInfoCellPromise;await Zl(this.notebookDocument,t=>{if(e.index>=0&&xw(e)){let r=ts.NotebookEdit.deleteCells(new ts.NotebookRange(e.index,e.index+1));t.set(this.notebookDocument.uri,[r]);return}})}};function QT(n){return/^#\s*!/.test(n)?/^#\s*!\s*%%?/.test(n)?n.replace(/^#\s*!\s*/,""):n.replace(/^#\s*/,""):n}function dH(n){return new $s.NotebookCellData($s.NotebookCellKind.Code,n.join(`
`),"python")}function pH(n){return new $s.NotebookCellData($s.NotebookCellKind.Markup,LP(n).join(`
`),"markdown")}function Fpe(n,e,t){let r=Oe(e,{trim:!1}),i=r[0];if(new Xi(n).isMarkdown(i)){let s=-1;return nm(r,(a,l)=>void 0,(a,l)=>{a&&a.length>0&&s===-1&&(s=t?l:-1)}),s>=0?[pH(r.slice(0,s)),dH(r.slice(s))]:[pH(r)]}else return[dH(r)]}function mH(n,e){let t=new Xi(e);for(let r=0;r<n.lineCount;r+=1){let i=n.lineAt(r);if(t.isCell(i.text))return!0}return!1}function Dw(n,e){let t=new Xi(e),r=[];for(let i=0;i<n.lineCount;i+=1){let o=n.lineAt(i);if(t.isCell(o.text)){if(r.length>0){let s=r[r.length-1];s.range=new $s.Range(s.range.start,n.lineAt(i-1).range.end)}r.push({range:o.range,cell_type:t.getCellType(o.text)})}}if(r.length>=1){let i=n.lineAt(n.lineCount-1),o=r[r.length-1];o.range=new $s.Range(o.range.start,i.range.end)}return r}function UO(n,e){let t=Dw(n,e);return Array.prototype.concat(...t.map(r=>{let i=n.getText(r.range);return Fpe(e,i,!1)}))}function fH(n){return n.getCells().filter(e=>!xw(e)).map(e=>{let t=Oe(e.document.getText(),{trim:!1,removeEmptyEntries:!1});e.metadata.interactiveWindowCellMarker!==void 0&&t.unshift(e.metadata.interactiveWindowCellMarker+`
`);let r=new $s.NotebookCellData(e.kind,t.join(`
`),e.kind===$s.NotebookCellKind.Code?e.document.languageId:"markdown");return e.kind===$s.NotebookCellKind.Code&&(r.outputs=[...e.outputs]),r.metadata=Yu(e),r})}var _w=require("vscode");var WO=class{constructor(e,t,r){this.disposed=!1;this.dispose=()=>{this.disposed||(this.disposed=!0,this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0),this.disposeCallback(),this.deferred.completed||this.deferred.resolve())};this.promise=()=>this.deferred.promise;this.reject=()=>{this.deferred.reject(),this.dispose()};this.deferred=re(),this.disposeCallback=t,r&&(this.timeout=setTimeout(this.dispose,r))}},YT=class{constructor(){this.statusCount=0;this.incrementCount=()=>{this.statusCount+=1};this.decrementCount=()=>{let e=this.statusCount-1;this.statusCount=Math.max(e,0)}}set(e,t,r){this.incrementCount();let i=new WO(e,()=>this.decrementCount(),t),o={location:r?_w.ProgressLocation.Notification:_w.ProgressLocation.Window,title:e,cancellable:r!==void 0};return _w.window.withProgress(o,(s,a)=>(a&&r&&a.onCancellationRequested(()=>{r(),i.reject()}),i.promise())).then(h,h),i}async waitWithStatus(e,t,r,i){let o=this.set(t,r,i),s;try{s=await e()}finally{o.dispose()}return s}};var ko=class{constructor(e,t,r,i,o,s,a,l,c,u,d,f,g){this.disposables=e;this.jupyterExporter=t;this.jupyterServerHelper=r;this.fileSystem=i;this.configuration=o;this.dataScienceCodeLensProvider=s;this.debugService=a;this.configService=l;this.interactiveWindowProvider=c;this.kernelProvider=u;this.dataScienceErrorHandler=d;this.ipynbProvider=f;this.fileConverter=g;this.statusProvider=new YT,He.workspace.isTrusted||He.workspace.onDidGrantWorkspaceTrust(this.registerCommandsIfTrusted,this,this.disposables)}activate(){this.registerCommandsIfTrusted(),this.registerCommand(B.InsertCellBelowPosition,this.insertCellBelowPosition),this.registerCommand(B.InsertCellBelow,this.insertCellBelow),this.registerCommand(B.InsertCellAbove,this.insertCellAbove),this.registerCommand(B.DeleteCells,this.deleteCells),this.registerCommand(B.SelectCell,this.selectCell),this.registerCommand(B.SelectCellContents,this.selectCellContents),this.registerCommand(B.ExtendSelectionByCellAbove,this.extendSelectionByCellAbove),this.registerCommand(B.ExtendSelectionByCellBelow,this.extendSelectionByCellBelow),this.registerCommand(B.MoveCellsUp,this.moveCellsUp),this.registerCommand(B.MoveCellsDown,this.moveCellsDown),this.registerCommand(B.ChangeCellToMarkdown,this.changeCellToMarkdown),this.registerCommand(B.ChangeCellToCode,this.changeCellToCode),this.registerCommand(B.GotoNextCellInFile,this.gotoNextCellInFile),this.registerCommand(B.GotoPrevCellInFile,this.gotoPrevCellInFile),this.registerCommand(B.AddCellBelow,this.addCellBelow),this.registerCommand(B.CreateNewNotebook,this.createNewNotebook),this.registerCommand(B.LatestExtension,this.openPythonExtensionPage),this.registerCommand(B.EnableLoadingWidgetsFrom3rdPartySource,this.enableLoadingWidgetScriptsFromThirdParty),this.registerCommand(B.CreateNewInteractive,e=>this.createNewInteractiveWindow(e)),this.registerCommand(B.ImportNotebook,(e,t="commandpalette")=>this.listenForErrors(()=>e?this.importNotebookOnFile(e):this.importNotebook())),this.registerCommand(B.ImportNotebookFile,(e,t="commandpalette")=>this.listenForErrors(()=>e?this.importNotebookOnFile(e):this.importNotebook())),He.commands.registerCommand(B.ExportFileAsNotebook,(e,t="commandpalette")=>this.listenForErrors(()=>{if(e)return this.exportFile(e);{let r=He.window.activeTextEditor;if(r&&r.document.languageId===ge)return this.exportFile(r.document.uri)}return Promise.resolve()})),this.registerCommand(B.ExportFileAndOutputAsNotebook,(e,t="commandpalette")=>this.listenForErrors(()=>{if(e)return this.exportFileAndOutput(e);{let r=He.window.activeTextEditor;if(r&&r.document.languageId===ge)return this.exportFileAndOutput(r.document.uri)}return Promise.resolve()})),this.registerCommand(B.ExpandAllCells,async e=>this.expandAllCells(e?.notebookEditor?.notebookUri)),this.registerCommand(B.CollapseAllCells,async e=>this.collapseAllCells(e?.notebookEditor?.notebookUri)),this.registerCommand(B.ExportOutputAsNotebook,()=>this.exportCells()),this.registerCommand(B.InteractiveExportAsNotebook,e=>this.export(e?.notebookEditor?.notebookUri)),this.registerCommand(B.InteractiveExportAs,e=>this.exportAs(e?.notebookEditor?.notebookUri)),this.registerCommand(B.ScrollToCell,(e,t)=>this.scrollToCell(e,t)),this.registerCommand(B.InteractiveClearAll,this.clearAllCellsInInteractiveWindow),this.registerCommand(B.InteractiveGoToCode,this.goToCodeInInteractiveWindow),He.commands.registerCommand(B.InteractiveCopyCell,this.copyCellInInteractiveWindow)}dispose(){this.disposables.forEach(e=>e.dispose())}registerCommandsIfTrusted(){He.workspace.isTrusted&&(this.registerCommand(B.RunAllCells,this.runAllCells),this.registerCommand(B.RunCell,this.runCell),this.registerCommand(B.RunCurrentCell,this.runCurrentCell),this.registerCommand(B.RunCurrentCellAdvance,this.runCurrentCellAndAdvance),this.registerCommand(B.ExecSelectionInInteractiveWindow,e=>{this.runSelectionOrLine(e).catch(h)}),this.registerCommand(B.RunAllCellsAbove,this.runAllCellsAbove),this.registerCommand(B.RunCellAndAllBelow,this.runCellAndAllBelow),this.registerCommand(B.RunAllCellsAbovePalette,this.runAllCellsAboveFromCursor),this.registerCommand(B.RunCellAndAllBelowPalette,this.runCellAndAllBelowFromCursor),this.registerCommand(B.RunCurrentCellAndAddBelow,this.runCurrentCellAndAddBelow),this.registerCommand(B.DebugCell,this.debugCell),this.registerCommand(B.DebugStepOver,this.debugStepOver),this.registerCommand(B.DebugContinue,this.debugContinue),this.registerCommand(B.DebugStop,this.debugStop),this.registerCommand(B.DebugCurrentCellPalette,this.debugCurrentCellFromCursor),this.registerCommand(B.OpenVariableView,this.openVariableView),this.registerCommand(B.OpenOutlineView,this.openOutlineView),this.registerCommand(B.RunToLine,this.runToLine),this.registerCommand(B.RunFromLine,this.runFromLine),this.registerCommand(B.RunFileInInteractiveWindows,this.runFileInteractive),this.registerCommand(B.DebugFileInInteractiveWindows,this.debugFileInteractive))}registerCommand(e,t){let r=He.commands.registerCommand(e,t,this);this.disposables.push(r)}getCodeWatcher(e){if(e&&this.dataScienceCodeLensProvider){let t=He.workspace.textDocuments.filter(r=>vi(r.uri,e));if(t&&t.length===1)return this.dataScienceCodeLensProvider.getCodeWatcher(t[0]);if(t&&t.length>1)throw new Error(y.documentMismatch(ke(e)))}}async enableLoadingWidgetScriptsFromThirdParty(){this.configService.getSettings(void 0).widgetScriptSources.length>0||await this.configService.updateSetting("widgetScriptSources",["jsdelivr.com","unpkg.com"],void 0,He.ConfigurationTarget.Global).catch(h)}async runAllCells(e){let t=this.getCodeWatcher(e);if(t||(t=this.getCurrentCodeWatcher()),t)return t.runAllCells()}async runFileInteractive(e){let t=this.getCodeWatcher(e);if(t||(t=this.getCurrentCodeWatcher()),t)return t.runFileInteractive()}async debugFileInteractive(e){let t=this.getCodeWatcher(e);if(t||(t=this.getCurrentCodeWatcher()),t)return t.debugFileInteractive()}async runCell(e,t,r,i,o){let s=this.getCodeWatcher(e);if(s)return s.runCell(new He.Range(t,r,i,o))}async runAllCellsAbove(e,t,r){if(e){let i=this.getCodeWatcher(e);if(i)return i.runAllCellsAbove(t,r)}}async runCellAndAllBelow(e,t,r){if(e){let i=this.getCodeWatcher(e);if(i)return i.runCellAndAllBelow(t,r)}}async runToLine(){let e=this.getCurrentCodeWatcher(),t=He.window.activeTextEditor;if(e&&t&&t.selection)return e.runToLine(t.selection.start.line)}async runFromLine(){let e=this.getCurrentCodeWatcher(),t=He.window.activeTextEditor;if(e&&t&&t.selection)return e.runFromLine(t.selection.start.line)}async runCurrentCell(){let e=this.getCurrentCodeWatcher();if(e)return e.runCurrentCell()}async runCurrentCellAndAdvance(){let e=this.getCurrentCodeWatcher();if(e)return e.runCurrentCellAndAdvance()}async runSelectionOrLine(e){let t=this.getCurrentCodeWatcher();if(t)return t.runSelectionOrLine(He.window.activeTextEditor,fn(e)?void 0:e)}async debugCell(e,t,r,i,o){if(e){let s=this.getCodeWatcher(e);if(s)return s.debugCell(new He.Range(t,r,i,o))}}async debugStepOver(){this.debugService?.activeDebugSession&&He.commands.executeCommand("workbench.action.debug.stepOver").then(h,h)}async debugStop(e){if(this.debugService?.activeDebugSession&&this.interactiveWindowProvider){let t=this.interactiveWindowProvider.get(e);if(t&&t.notebookDocument){let r=this.kernelProvider.get(t.notebookDocument);r&&(p.debug(`Interrupt kernel due to debug stop of IW ${e.toString()}`),await r.interrupt())}He.commands.executeCommand("workbench.action.debug.stop").then(h,h)}}async debugContinue(){this.debugService?.activeDebugSession&&He.commands.executeCommand("workbench.action.debug.continue").then(h,h)}async addCellBelow(){await this.getCurrentCodeWatcher()?.addEmptyCellToBottom()}async runCurrentCellAndAddBelow(){this.getCurrentCodeWatcher()?.runCurrentCellAndAddBelow()}async insertCellBelowPosition(){this.getCurrentCodeWatcher()?.insertCellBelowPosition()}async insertCellBelow(){this.getCurrentCodeWatcher()?.insertCellBelow()}async insertCellAbove(){this.getCurrentCodeWatcher()?.insertCellAbove()}async deleteCells(){this.getCurrentCodeWatcher()?.deleteCells()}async selectCell(){this.getCurrentCodeWatcher()?.selectCell()}async selectCellContents(){this.getCurrentCodeWatcher()?.selectCellContents()}async extendSelectionByCellAbove(){this.getCurrentCodeWatcher()?.extendSelectionByCellAbove()}async extendSelectionByCellBelow(){this.getCurrentCodeWatcher()?.extendSelectionByCellBelow()}async moveCellsUp(){this.getCurrentCodeWatcher()?.moveCellsUp()}async moveCellsDown(){this.getCurrentCodeWatcher()?.moveCellsDown()}async changeCellToMarkdown(){this.getCurrentCodeWatcher()?.changeCellToMarkdown()}async changeCellToCode(){this.getCurrentCodeWatcher()?.changeCellToCode()}async gotoNextCellInFile(){this.getCurrentCodeWatcher()?.gotoNextCell()}async gotoPrevCellInFile(){this.getCurrentCodeWatcher()?.gotoPreviousCell()}async runAllCellsAboveFromCursor(){let e=this.getCurrentCodeLens();if(e){let t=this.getCurrentCodeWatcher();if(t)return t.runAllCellsAbove(e.range.start.line,e.range.start.character)}else return}async runCellAndAllBelowFromCursor(){let e=this.getCurrentCodeLens();if(e){let t=this.getCurrentCodeWatcher();if(t)return t.runCellAndAllBelow(e.range.start.line,e.range.start.character)}else return}async debugCurrentCellFromCursor(){if(this.getCurrentCodeLens()){let t=this.getCurrentCodeWatcher();if(t)return t.debugCurrentCell()}else return}async createNewNotebook(){He.window.showInformationMessage('This command has been deprecated and will eventually be removed, please use ["Create: New Jupyter Notebook"](command:workbench.action.openGlobalKeybindings?%5B%22@command:ipynb.newUntitledIpynb%22%5D) instead.').then(h,h),await He.commands.executeCommand("ipynb.newUntitledIpynb")}getCurrentCodeLens(){let e=He.window.activeTextEditor,t=this.getCurrentCodeWatcher();if(e&&t)return t.getCodeLenses().find(r=>r.range.end.line>=e.selection.anchor.line&&r.range.start.line<=e.selection.anchor.line)}getCurrentCodeWatcher(){let e=He.window.activeTextEditor;if(!(!e||!e.document||!this.dataScienceCodeLensProvider))return this.dataScienceCodeLensProvider.getCodeWatcher(e.document)}openPythonExtensionPage(){He.env.openExternal(He.Uri.parse("https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter")).then(h,h)}async openVariableView(){return He.commands.executeCommand("jupyterViewVariables.focus")}async openOutlineView(){return He.commands.executeCommand("outline.focus")}async listenForErrors(e){let t;try{return t=await e(),t}catch(r){p.error("listenForErrors",r),this.dataScienceErrorHandler.handleError(r).then(h,h)}return t}async exportFile(e){let t=ke(e);if(t&&t.length>0&&this.jupyterExporter){let r=He.window.activeTextEditor;if(r&&this.fileSystem.arePathsSame(r.document.uri,e)){let i=UO(r.document,this.configuration.getSettings(r.document.uri));if(i){let o=await new xa().showDialog("ipynb",e);if(await this.waitForStatus(async()=>{if(o){let s=await this.jupyterExporter?.serialize(i);await this.fileSystem.writeFile(o,s||"")}},y.exportingFormat,j(e)),o&&t){let s=y.exportOpenQuestion1;await He.window.showInformationMessage(y.exportDialogComplete(j(e)),s)===s&&await GT(o)}}}}}async exportFileAndOutput(e){let t=ke(e);if(t&&t.length>0&&this.jupyterExporter&&this.jupyterServerHelper&&await this.jupyterServerHelper.isJupyterServerSupported()){let r=He.window.activeTextEditor;if(r&&r.document&&this.fileSystem.arePathsSame(r.document.uri,e)){let i=UO(r.document,this.configuration.getSettings(r.document.uri));if(i){let o=await new xa().showDialog("ipynb",e);return o?(await this.waitForStatus(async()=>{if(o){let s=await this.jupyterExporter?.serialize(i);await this.fileSystem.writeFile(o,s||"")}},y.exportingFormat,j(e)),await He.workspace.openNotebookDocument(o).then(s=>He.window.showNotebookDocument(s)),await He.commands.executeCommand("notebook.execute"),o):void 0}}}else this.jupyterServerHelper&&await this.dataScienceErrorHandler.handleError(new zi(y.jupyterNotSupported(await this.jupyterServerHelper.getJupyterServerError())))}async expandAllCells(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);p.info(`Expanding all cells in interactive window with uri ${t?.notebookUri}`),t&&await t.expandAllCells()}async collapseAllCells(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);p.info(`Collapsing all cells in interactive window with uri ${t?.notebookUri}`),t&&await t.collapseAllCells()}exportCells(){let e=this.interactiveWindowProvider?.activeWindow;e&&e.export()}exportAs(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);t&&t.exportAs()}export(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e);t&&t.export()}async createNewInteractiveWindow(e){await this.interactiveWindowProvider?.getOrCreate(void 0,e)}waitForStatus(e,t,r,i){let o=t(r||"");return this.statusProvider.waitWithStatus(e,o,void 0,i)}async importNotebook(){let e=y.importDialogFilter,t={};t[e]=["ipynb"];let r=await He.window.showOpenDialog({openLabel:y.importDialogTitle,filters:t});r&&r.length>0&&await this.waitForStatus(async()=>{await this.fileConverter.importIpynb(r[0])},y.importingFormat,j(r[0]))}async importNotebookOnFile(e){let t=ke(e);t&&t.length>0&&await this.waitForStatus(async()=>{await this.fileConverter.importIpynb(e)},y.importingFormat,j(e))}async scrollToCell(e,t){if(t&&e){let r=this.interactiveWindowProvider.getInteractiveWindowsWithSubmitter(e);for(let i=0;i<r.length;i+=1)if(await r[i].hasCell(t)){r[i].scrollToCell(t);break}}}async clearAllCellsInInteractiveWindow(e){let t=this.interactiveWindowProvider.getInteractiveWindowWithNotebook(e?.notebookEditor?.notebookUri)?.notebookUri;if(!t)return;let r=He.workspace.notebookDocuments.find(s=>s.uri.toString()===t.toString());if(!r)return;let i=new He.WorkspaceEdit,o=He.NotebookEdit.deleteCells(new He.NotebookRange(0,r.cellCount));i.set(r.uri,[o]),await He.workspace.applyEdit(i)}async goToCodeInInteractiveWindow(e){if(e&&e.metadata?.interactive){let t=He.Uri.parse(e.metadata.interactive.uristring),r=e.metadata.interactive.lineIndex,i=await He.window.showTextDocument(t,{viewColumn:He.ViewColumn.One});i&&(i.revealRange(new He.Range(r,0,r,0)),i.selection=new He.Selection(new He.Position(r,0),new He.Position(r,0)))}}async copyCellInInteractiveWindow(e){if(e){let t=this.configuration.getSettings(e.notebook.uri),r=[e.metadata.interactiveWindowCellMarker??t.defaultCellMarker,e.document.getText()].join(`
`);await He.env.clipboard.writeText(r)}}};v([Hr("DATASCIENCE.DEBUG_STEP_OVER")],ko.prototype,"debugStepOver",1),v([Hr("DATASCIENCE.DEBUG_STOP")],ko.prototype,"debugStop",1),v([Hr("DATASCIENCE.DEBUG_CONTINUE")],ko.prototype,"debugContinue",1),v([or("DATASCIENCE.ADD_CELL_BELOW")],ko.prototype,"addCellBelow",1),v([Hr("DATASCIENCE.EXPORT_PYTHON_FILE")],ko.prototype,"exportFile",1),v([Hr("DATASCIENCE.EXPORT_PYTHON_FILE_AND_OUTPUT")],ko.prototype,"exportFileAndOutput",1),v([Hr("DATASCIENCE.IMPORT_NOTEBOOK",{scope:"command"})],ko.prototype,"importNotebook",1),v([Hr("DATASCIENCE.IMPORT_NOTEBOOK",{scope:"file"})],ko.prototype,"importNotebookOnFile",1),ko=v([(0,bn.injectable)(),m(0,(0,bn.inject)(M)),m(1,(0,bn.inject)(tg)),m(1,(0,bn.optional)()),m(2,(0,bn.inject)(od)),m(2,(0,bn.optional)()),m(3,(0,bn.inject)(tt)),m(4,(0,bn.inject)(ie)),m(5,(0,bn.inject)(gp)),m(5,(0,bn.optional)()),m(6,(0,bn.inject)(_i)),m(6,(0,bn.optional)()),m(7,(0,bn.inject)(ie)),m(8,(0,bn.inject)(Ki)),m(9,(0,bn.inject)(De)),m(10,(0,bn.inject)(Gr)),m(11,(0,bn.inject)(ci)),m(12,(0,bn.inject)(db))],ko);var xb=k(N());var ec=require("vscode");var XT=class{constructor(e,t,r,i){this.configService=e;this.storage=t;this.notebook=r;this.executionCount=0;this.cellIndexesCounted={};this.disposables=[];i.push(this),ec.workspace.onDidChangeTextDocument(this.onChangedDocument,this,this.disposables),er.onDidChangeNotebookCellExecutionState(this.onDidCellStateChange,this,this.disposables)}dispose(){this.disposed||(this.disposed=!0,this.storage.clear(),this.disposables.forEach(e=>e.dispose()))}reset(){this.storage.clear(),this.executionCount=0}async generateCode(e,t,r,i){let{executableLines:o}=this.extractExecutableLines(e);if(this.executionCount+=1,this.cellIndexesCounted[t]=!0,o.length>0&&o.find(s=>s.trim().length>0))return this.generateCodeImpl(e,this.executionCount,r,i)}extractExecutableLines(e){let t=e.interactive.originalSource,r=this.configService.getSettings(this.notebook.uri),i=new Xi(r),o=Uh(t);if(r.magicCommandsAsComments&&o.forEach((s,a)=>o[a]=QT(s)),e.interactiveWindowCellMarker&&o.length&&o[0].trim()===e.interactiveWindowCellMarker.trim()){let s=o.slice(1).filter(a=>a.trim().length>0);if(s.length>0&&s[0].trim().startsWith("%%")){let a=o.slice(o.indexOf(s[0]));return{lines:a,executableLines:a}}}return o.length>0&&(i.isCode(o[0])||i.isMarkdown(o[0]))?{lines:o,executableLines:o.slice(1)}:{lines:o,executableLines:o}}onDidCellStateChange(e){e.state===1&&(e.state!==1||e.cell.notebook!==this.notebook||!e.cell.executionSummary?.executionOrder||this.cellIndexesCounted[e.cell.index]||(this.executionCount+=1,this.cellIndexesCounted[e.cell.index]=!0))}async generateCodeImpl(e,t,r,i){let{lineIndex:o,uristring:s}=e.interactive,a=ec.workspace.textDocuments.find(Y=>Y.uri.toString()===s);if(!a)return;let{stripped:l,trueStartLine:c}=this.extractStrippedLines(e),u=a.lineAt(c),d=a.lineAt(Math.min(c+l.length-1,a.lineCount-1)),f=0;for(;f<l.length&&l[f].trim().length===0;)f+=1;let g=f+c,b=a.offsetAt(new ec.Position(o,0)),I=a.offsetAt(d.rangeIncludingLineBreak.end),E=(e.interactiveWindowCellMarker||"").length>0,{runtimeLine:x,debuggerStartLine:A}=this.addHiddenLines(r,l,c,g,E,i),T=l.join(""),J=a.getText(new ec.Range(new ec.Position(o,0),d.rangeIncludingLineBreak.end)),ne=(await na(T,"SHA-1")).substring(0,12),H=this.getRuntimeFile(ne,t),oe=r?-1:0,ae={line:u?u.lineNumber+1:1,endLine:d?d.lineNumber+1:1,firstNonBlankLineIndex:g,debuggerStartLine:A,executionCount:t,startOffset:b,endOffset:I,deleted:!1,code:T,trimmedRightCode:l.map(Y=>Y.replace(/[ \t\r]+\n$/g,`
`)).join(""),realCode:J,runtimeLine:x,runtimeFile:H,id:e.id,timestamp:Date.now(),lineOffsetRelativeToIndexOfFirstLineInCell:oe,hasCellMarker:E};return p.info(`Generated code for ${t} = ${H} with ${l.length} lines`),this.storage.store(ec.Uri.parse(e.interactive.uristring),ae),ae}getRuntimeFile(e,t){return`<ipython-input-${t}-${e}>`}onChangedDocument(e){let t=this.storage.getFileGeneratedCode(e.document.uri);if(t){let r=e.document.getText();e.contentChanges.forEach(i=>{this.handleContentChange(r,i,t)})}}extractStrippedLines(e){let t=Uh(e.interactive.originalSource),{lines:r}=this.extractExecutableLines(e),i=e.interactive.lineIndex+1;if(!e.interactiveWindowCellMarker){i=e.interactive.lineIndex;for(let l=0;l<r.length;l+=1)if(r[l]!==t[l]){i+=l+1;break}}let o=0;for(;o<r.length&&r[o].trim().length===0;)o+=1;let s=r.length-1,a=r.length-2;for(;a>0;){let l=r[s],c=r[a];if((l.length===0||l===`
`)&&(c.length===0||c===`
`))r.splice(s,1),s-=1,a-=1;else break}!r[s].endsWith(`
`)&&r[s].length>0&&(r[s]=`${r[s]}
`);for(let l=0;l<r.length;l++)r[l]=r[l].replace(/\r\n/g,`
`);return{stripped:r,trueStartLine:i}}handleContentChange(e,t,r){let i=t.range.start.line-t.range.end.line+t.text.split(`
`).length-1,o=t.text.length-t.rangeLength,s=t.rangeLength<=0?t.rangeOffset:t.rangeOffset+t.rangeLength-1;r.forEach(a=>{a.endOffset<t.rangeOffset||(a.startOffset>s?(a.line+=i,a.endLine+=i,a.startOffset+=o,a.endOffset+=o):a.startOffset===s?a.deleted||t.rangeLength>0||i===0?a.deleted=e.substr(a.startOffset,a.endOffset-a.startOffset)!==a.realCode:(a.line+=i,a.endLine+=i,a.startOffset+=o,a.endOffset+=o):a.deleted=e.substr(a.startOffset,a.endOffset-a.startOffset)!==a.realCode)})}addHiddenLines(e,t,r,i,o,s){let a=s||this.configService.getSettings(void 0).forceIPyKernelDebugger===!0;return e&&this.configService.getSettings(this.notebook.uri).stopOnFirstLineWhileDebugging?a?(t.splice(0,0,`breakpoint()
`),{runtimeLine:1,debuggerStartLine:r+1}):(t.splice(0,0,`breakpoint()
`),{runtimeLine:2,debuggerStartLine:r}):{runtimeLine:1,debuggerStartLine:o?i:i+1}}};var hH=require("vscode");var kb=class{constructor(e,t,r){this.configService=e;this.storageFactory=t;this.disposables=r;this.codeGenerators=new WeakMap}activate(){hH.workspace.onDidCloseNotebookDocument(this.onDidCloseNotebook,this,this.disposables)}getOrCreate(e){let t=this.get(e);if(t)return t;let r=new XT(this.configService,this.storageFactory.getOrCreate(e),e,this.disposables);return this.codeGenerators.set(e,r),r}get(e){return this.codeGenerators.get(e)}onDidCloseNotebook(e){this.codeGenerators.get(e)?.dispose(),this.codeGenerators.delete(e)}};kb=v([(0,xb.injectable)(),m(0,(0,xb.inject)(ie)),m(1,(0,xb.inject)(Bs)),m(2,(0,xb.inject)(M))],kb);var Sf=k(N()),vp=require("vscode");function rs(n){if(n.metadata.interactive!==void 0)return n.metadata}function gH(n,e,t){let r=Oe(n,{trim:!1,removeEmptyEntries:!1}),i=t.stripFirstMarkerNoConcat(r),o=vV(i),s=Wh(o,`
`,e.magicCommandsAsComments?QT:void 0);return sh(s.join(""))}function Tw(n){let e=n;return e&&e.input&&fn(e.input.uri)&&fn(e.input.inputBoxUri)}var Lpe=y.runCurrentCellAndAddBelow,Upe=y.addCellBelowCommandTitle,Wpe=y.debugCellCommandTitle,Vpe=y.debugCellCommandTitle,jpe=y.debugStepOverCommandTitle,Jpe=y.debugContinueCommandTitle,Bpe=y.debugStopCommandTitle,$pe=y.runCellLensCommandTitle,qpe=y.runAllCellsLensCommandTitle,Hpe=y.runAllCellsAboveLensCommandTitle,vH=y.runCellAndAllBelowLensCommandTitle,Gpe=y.scrollToCellTitleFormatMessage,Db=class{constructor(e,t,r,i){this.configService=e;this.generatedCodeStorageFactory=r;this.updateEvent=new vp.EventEmitter;this.notebookData=new Map;this.codeLensCache=new Map;this.totalCodeLensUpdateTimeInMs=0;this.codeLensUpdateCount=0;this.maxCellCount=0;vp.workspace.onDidCloseTextDocument(this.onClosedDocument,this,t),vp.workspace.onDidGrantWorkspaceTrust(()=>this.codeLensCache.clear(),this,t),this.configService.getSettings(void 0).onDidChange(this.onChangedSettings,this,t),er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,t),i.onDidDisposeKernel(o=>{this.notebookData.delete(o.notebook.uri.toString())},this,t)}getPerfMeasures(){return{totalCodeLensUpdateTimeInMs:this.totalCodeLensUpdateTimeInMs,codeLensUpdateCount:this.codeLensUpdateCount,maxCellCount:this.maxCellCount}}get updateRequired(){return this.updateEvent.event}createCodeLenses(e){let t=this.getCodeLensCacheData(e);return[...t.documentLenses,...t.gotoCellLens]}getCellRanges(e){return this.getCodeLensCacheData(e).cellRanges}getCodeLensCacheData(e){let t=new Ue,r=!1,i=e.uri.toString(),o=this.codeLensCache.get(i),s=!1;o||(o={cachedDocumentVersion:void 0,cachedExecutionCounts:new Set,documentLenses:[],cellRanges:[],gotoCellLens:[]},s=!0,this.codeLensCache.set(i,o)),o.cachedDocumentVersion!==e.version&&(o.cellRanges=Dw(e,this.configService.getSettings(e.uri)),o.documentLenses=[],o.gotoCellLens=[],o.cachedDocumentVersion=e.version,s=!0);let a=this.getDocumentExecutionCounts(i);if((a.length!==o.cachedExecutionCounts.size||a.find(l=>!o?.cachedExecutionCounts.has(l)))&&(o.gotoCellLens=[],o.cachedExecutionCounts=new Set(a),s=!0),o.documentLenses.length===0&&s&&o.cellRanges.length){r=!0;let l=this.enumerateCommands(e.uri);p.debug(`CodeLensFactory: Generating new code lenses for version ${e.version} of document ${e.uri} for commands ${l.join(", ")}`);let c=!0;o.cellRanges.forEach(u=>{l.forEach(d=>{let f=this.createCodeLens(e,u,d,c);f&&o.documentLenses.push(f)}),c=!1})}else p.ci(`NOT Generating new code lenses for version ${e.version} of document ${e.uri} - needUpdate: ${s}, cellRanges.length: ${o.cellRanges.length}`);if(s&&o.gotoCellLens.length===0&&o.cellRanges.length&&this.configService.getSettings(e.uri).addGotoCodeLenses){let l=this.generatedCodeStorageFactory.get({fileUri:e.uri}),c=l?l.all.find(u=>u.uri.toString()===e.uri.toString())?.generatedCodes:void 0;c&&c.length&&o.cellRanges.forEach(u=>{let d=this.createExecutionLens(e,u.range,c);d&&o?.gotoCellLens.push(d)})}return r&&(this.totalCodeLensUpdateTimeInMs+=t.elapsedTime,this.codeLensUpdateCount+=1,this.maxCellCount=Math.max(this.maxCellCount,o.cellRanges.length)),o}getDocumentExecutionCounts(e){return[...this.notebookData.values()].map(t=>t.documentExecutionCounts.get(e)).filter(t=>t!==void 0)}onDidChangeNotebookCellExecutionState(e){if(e.cell.notebook.notebookType!==ft||e.state!==1||!e.cell.executionSummary?.executionOrder)return;let t=rs(e.cell),r=this.notebookData.get(e.cell.notebook.uri.toString());r||(r={cellExecutionCounts:new Map,documentExecutionCounts:new Map},this.notebookData.set(e.cell.notebook.uri.toString(),r)),r!==void 0&&t!==void 0&&(r.cellExecutionCounts.set(t.id,e.cell.executionSummary.executionOrder),r.documentExecutionCounts.set(t.interactive.uristring,e.cell.executionSummary.executionOrder),this.updateEvent.fire())}onClosedDocument(e){this.codeLensCache.delete(e.uri.toString())}onChangedSettings(){this.codeLensCache.clear(),this.updateEvent.fire()}enumerateCommands(e){let t,r=this.configService.getSettings(e).codeLenses;r?t=r.split(",").map(s=>s.trim()):t=Ru.DefaultDesignLenses;let i=this.configService.getSettings(e).debugCodeLenses;i?t=t.concat(i.split(",").map(s=>s.trim())):t=t.concat(Ru.DefaultDebuggingLenses);let o=[];return vp.workspace.isTrusted||(o=[...Ru.DebuggerCommands,...Ru.DebuggerCommands,B.RunAllCells,B.RunAllCellsAbove,B.RunAllCellsAbovePalette,B.RunCellAndAllBelowPalette,B.RunCurrentCell,B.RunCurrentCellAdvance,B.RunCurrentCellAndAddBelow,B.RunFileInInteractiveWindows,B.InterruptKernel,B.RunToLine,B.RunCell,B.DebugCell,B.DebugContinue,B.DebugStepOver,B.DebugStop,B.RunCellAndAllBelowPalette]),o&&(t=t.filter(s=>!o.includes(s))),t}createCodeLens(e,t,r,i){let{range:o,cell_type:s}=t;switch(r){case B.RunCurrentCellAndAddBelow:return this.generateCodeLens(o,B.RunCurrentCellAndAddBelow,Lpe);case B.AddCellBelow:return this.generateCodeLens(o,B.AddCellBelow,Upe,[e.uri,o.start.line]);case B.DebugCurrentCellPalette:return this.generateCodeLens(o,B.DebugCurrentCellPalette,Wpe);case B.DebugCell:if(s!=="code")break;return this.generateCodeLens(o,B.DebugCell,Vpe,[e.uri,o.start.line,o.start.character,o.end.line,o.end.character]);case B.DebugStepOver:if(s!=="code")break;return this.generateCodeLens(o,B.DebugStepOver,jpe,[e.uri]);case B.DebugContinue:if(s!=="code")break;return this.generateCodeLens(o,B.DebugContinue,Jpe,[e.uri]);case B.DebugStop:if(s!=="code")break;return this.generateCodeLens(o,B.DebugStop,Bpe,[e.uri]);case B.RunCurrentCell:case B.RunCell:return this.generateCodeLens(o,B.RunCell,$pe,[e.uri,o.start.line,o.start.character,o.end.line,o.end.character]);case B.RunAllCells:return this.generateCodeLens(o,B.RunAllCells,qpe,[e.uri,o.start.line,o.start.character]);case B.RunAllCellsAbovePalette:case B.RunAllCellsAbove:return i?this.generateCodeLens(o,B.RunCellAndAllBelow,vH,[e.uri,o.start.line,o.start.character]):this.generateCodeLens(o,B.RunAllCellsAbove,Hpe,[e.uri,o.start.line,o.start.character]);case B.RunCellAndAllBelowPalette:case B.RunCellAndAllBelow:return this.generateCodeLens(o,B.RunCellAndAllBelow,vH,[e.uri,o.start.line,o.start.character]);default:p.warn(`Invalid command for code lens ${r}`);break}}findMatchingCellExecutionCount(e){return[...this.notebookData.values()].find(r=>r.cellExecutionCounts.get(e))?.cellExecutionCounts.get(e)}createExecutionLens(e,t,r){if(r){let i=r.filter(o=>o.line-2===t.start.line).sort((o,s)=>o.timestamp-s.timestamp);if(i&&i.length){let o=i[i.length-1],s=this.findMatchingCellExecutionCount(o.id);if(s!==void 0)return this.generateCodeLens(t,B.ScrollToCell,Gpe(s),[e.uri,o.id])}}}generateCodeLens(e,t,r,i){return new vp.CodeLens(e,zpe(t,r,i))}};Db=v([(0,Sf.injectable)(),m(0,(0,Sf.inject)(ie)),m(1,(0,Sf.inject)(M)),m(2,(0,Sf.inject)(Bs)),m(3,(0,Sf.inject)(De))],Db);function zpe(n,e,t){return{arguments:t,title:e,command:n}}var tc=k(N()),Ta=k(require("vscode"));var _b=class{constructor(e,t,r,i,o){this.serviceContainer=e;this.debugLocationTracker=t;this.configuration=r;this.debugService=o;this.totalExecutionTimeInMs=0;this.totalGetCodeLensCalls=0;this.activeCodeWatchers=[];this.didChangeCodeLenses=new Ta.EventEmitter;i.push(this),i.push(Ta.workspace.onDidGrantWorkspaceTrust(()=>{this.activeCodeWatchers=z(this.activeCodeWatchers),this.didChangeCodeLenses.fire()})),i.push(this.debugService.onDidChangeActiveDebugSession(this.onChangeDebugSession.bind(this))),i.push(Ta.workspace.onDidCloseTextDocument(this.onDidCloseTextDocument.bind(this))),this.debugLocationTracker&&i.push(this.debugLocationTracker.updated(this.onDebugLocationUpdated.bind(this)))}dispose(){this.totalGetCodeLensCalls>0&&R("DS_INTERNAL.CODE_LENS_ACQ_TIME",{duration:this.totalExecutionTimeInMs/this.totalGetCodeLensCalls}),z(this.activeCodeWatchers)}get onDidChangeCodeLenses(){return this.didChangeCodeLenses.event}provideCodeLenses(e,t){return[bc,hE].includes(e.uri.scheme)?[]:this.getCodeLensTimed(e)}getCodeWatcher(e){return this.matchWatcher(e.uri)}onDebugLocationUpdated(){this.didChangeCodeLenses.fire()}onChangeDebugSession(e){this.didChangeCodeLenses.fire()}onDidCloseTextDocument(e){let t=this.activeCodeWatchers.findIndex(r=>r.uri&&r.uri.toString()===e.uri.toString());t>=0&&this.activeCodeWatchers.splice(t,1)[0].dispose()}getCodeLensTimed(e){let t=new Ue,r=this.getCodeLens(e);return this.totalExecutionTimeInMs+=t.elapsedTime,this.totalGetCodeLensCalls+=1,new tr(mr.HasCodeCells).set(r&&r.length>0).catch(h),this.configuration.getSettings(e.uri).enableCellCodeLens?this.adjustDebuggingLenses(e,r):[]}adjustDebuggingLenses(e,t){let r=Ru.DebuggerCommands;if(this.debugLocationTracker&&this.debugService.activeDebugSession){let i=this.debugLocationTracker.getLocation(this.debugService.activeDebugSession),o;try{o=i?Ta.Uri.parse(i.fileName):void 0}catch{}if(i&&(vi(Ta.Uri.file(i.fileName),e.uri,!0)||o&&vi(o,e.uri,!0)))return t.filter(a=>{let l=new Ta.Position(i.lineNumber-1,i.column-1);return a.range.contains(l)}).filter(a=>a.command?r.includes(a.command.command):!1);p.ci(`Detected debugging context because activeDebugSession is name:"${this.debugService.activeDebugSession.name}", type: "${this.debugService.activeDebugSession.type}", but fell through with debugLocation: ${JSON.stringify(i)}, and document.uri: ${e.uri.toString()}`)}else return t.filter(i=>i.command?!r.includes(i.command.command):!1);return[]}getCodeLens(e){let t=this.matchWatcher(e.uri);return t?t.getCodeLenses():(p.debug(`Creating a new watcher for document ${e.uri}`),this.createNewCodeWatcher(e).getCodeLenses())}matchWatcher(e){let t=this.activeCodeWatchers.findIndex(i=>i.uri&&i.uri.toString()==e.toString());if(t>=0)return this.activeCodeWatchers[t];let r=Ta.workspace.textDocuments.filter(i=>i.uri.toString()===e.toString());if(r&&r.length>0)return p.debug(`creating new code watcher with matching document ${e}`),this.createNewCodeWatcher(r[0])}createNewCodeWatcher(e){let t=this.serviceContainer.get(jT);return t.setDocument(e),t.codeLensUpdated(this.onWatcherUpdated.bind(this)),this.activeCodeWatchers.push(t),t}onWatcherUpdated(){this.didChangeCodeLenses.fire()}};_b=v([(0,tc.injectable)(),m(0,(0,tc.inject)(rt)),m(1,(0,tc.inject)(yT)),m(1,(0,tc.optional)()),m(2,(0,tc.inject)(ie)),m(3,(0,tc.inject)(M)),m(4,(0,tc.inject)(_i))],_b);var yp=k(N()),fe=require("vscode");var Cf=class extends Error{constructor(t){super("Cell failed to execute");this.cell=t}};function Qpe(n,e){if(e<=0)throw new RangeError(`Length must be > 0 not ${e}`);return n<0&&(n+=e),n<0?0:n>=e?e-1:n}var qt=class{constructor(e,t,r,i,o){this.interactiveWindowProvider=e;this.configService=t;this.executionHelper=r;this.dataScienceErrorHandler=i;this.codeLensFactory=o;this.version=-1;this.codeLenses=[];this.cells=[];this.codeLensUpdatedEvent=new fe.EventEmitter;this.disposables=[this.codeLensUpdatedEvent]}setDocument(e){this.document=e,this.version=e.version,this.codeLenses=this.codeLensFactory.createCodeLenses(e),this.cells=this.codeLensFactory.getCellRanges(e),this.disposables.push(this.codeLensFactory.updateRequired(this.onCodeLensFactoryUpdated.bind(this))),this.disposables.push(fe.workspace.onDidCloseTextDocument(this.onDocumentClosed.bind(this))),this.disposables.push(fe.workspace.onDidCloseNotebookDocument(this.ondidCloseNotebook.bind(this)))}get codeLensUpdated(){return this.codeLensUpdatedEvent.event}get uri(){return this.document?.uri}getVersion(){return this.version}getCodeLenses(){let e=this.document;return e&&e.version!=this.version&&(this.codeLenses=this.codeLensFactory.createCodeLenses(e),this.cells=this.codeLensFactory.getCellRanges(e),this.version=e.version),this.codeLenses}async debugCurrentCell(){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(fe.window.activeTextEditor.selection,!1,!0)}dispose(){let e=this.codeLensFactory.getPerfMeasures();e&&e.codeLensUpdateCount>0&&R("DS_INTERNAL.DOCUMENT_WITH_CODE_CELLS",{codeLensUpdateTime:e.totalCodeLensUpdateTimeInMs/e.codeLensUpdateCount,maxCellCount:e.maxCellCount}),z(this.disposables)}async runAllCells(e){let t=await this.getActiveInteractiveWindow(),r=this.codeLenses.filter(s=>s.command&&s.command.command===B.RunCell&&s.command.arguments&&s.command.arguments.length>=5),i=r.length,o=Promise.resolve(!0);for(let s of r){let a=new fe.Range(s.command.arguments[1],s.command.arguments[2],s.command.arguments[3],s.command.arguments[4]);if(this.document){i===r.length&&(a=new fe.Range(new fe.Position(0,0),a.end));let l=this.document.getText(a);i-=1,o=this.addCode(t,l,this.document.uri,a.start.line,e)}}if(await o,r.length===0)return this.runFileAsOneCell(e??!1)}async runFileInteractive(){if(this.document&&this.configService.getSettings(this.document?.uri).splitRunFileIntoCells)return this.runAllCells();if(this.document)return this.runFileAsOneCell(!1)}async debugFileInteractive(){if(this.document&&this.configService.getSettings(this.document?.uri).splitRunFileIntoCells)return this.runAllCells(!0);if(this.document)return this.runFileAsOneCell(!0)}async runAllCellsAbove(e,t){let r=await this.getActiveInteractiveWindow(),i=this.codeLenses.filter(l=>l.command&&l.command.command===B.RunCell),o=i.findIndex(l=>l.range.start.line>=e&&l.range.start.character>=t);o<0&&(o=i.length);let s=o,a=Promise.resolve(!0);for(let l of i)if(o>0&&this.document){let c=new fe.Range(l.range.start,l.range.end);o===s&&(c=new fe.Range(new fe.Position(0,0),c.end)),o-=1;let u=this.document.getText(c);a=this.addCode(r,u,this.document.uri,l.range.start.line)}else break;await a}async runCellAndAllBelow(e,t){let r=await this.getActiveInteractiveWindow(),i=this.codeLenses.filter(l=>l.command&&l.command.command===B.RunCell),o=i.findIndex(l=>l.range.start.line>=e&&l.range.start.character>=t),s=o>0?i.length-o:i.length,a=Promise.resolve(!0);for(let l=o;l>=0&&l<i.length;l+=1)if(s>0&&this.document){let c=i[l];s-=1;let u=this.document.getText(c.range);a=this.addCode(r,u,this.document.uri,c.range.start.line)}await a}async runSelectionOrLine(e,t){if(this.document&&e&&vi(e.document.uri,this.document.uri)){let r=await this.getActiveInteractiveWindow(),i;if(t===void 0||fn(t)?i=this.executionHelper.getSelectedTextToExecute(e):i=t,!i)return;let s=this.configService.getSettings(e.document.uri).normalizeSelectionForInteractiveWindow??!0?await this.executionHelper.normalizeLines(i):i;if(!s||s.trim().length===0)return;await this.addCode(r,s,this.document.uri,e.selection.start.line)}}async runToLine(e){if(this.document&&e>0){let t=await this.getActiveInteractiveWindow(),r=this.document.lineAt(e-1),i=this.document.getText(new fe.Range(0,0,r.range.end.line,r.range.end.character));i&&i.trim().length&&await this.addCode(t,i,this.document.uri,0)}}async runFromLine(e){if(this.document&&e<this.document.lineCount){let t=await this.getActiveInteractiveWindow(),r=this.document.lineAt(this.document.lineCount-1),i=this.document.getText(new fe.Range(e,0,r.range.end.line,r.range.end.character));i&&i.trim().length&&await this.addCode(t,i,this.document.uri,e)}}async runCell(e){if(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document)return;let t=e.contains(fe.window.activeTextEditor.selection.start)&&this.configService.getSettings(fe.window.activeTextEditor.document.uri).enableAutoMoveToNextCell;return this.runMatchingCell(e,t)}async debugCell(e){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(e,!1,!0)}async runCurrentCell(){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(fe.window.activeTextEditor.selection,!1)}async runCurrentCellAndAdvance(){if(!(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document))return this.runMatchingCell(fe.window.activeTextEditor.selection,!0)}async addEmptyCellToBottom(){let e=fe.window.activeTextEditor;e&&this.insertCell(e,e.document.lineCount+1)}async runCurrentCellAndAddBelow(){if(!fe.window.activeTextEditor||!fe.window.activeTextEditor.document)return;let e=fe.window.activeTextEditor,t=new Xi(this.configService.getSettings(e.document.uri)),r=0,i=this.getDefaultCellMarker(e.document.uri);e&&e.edit(s=>{let a=!0;for(let l=e.selection.end.line+1;l<e.document.lineCount;l+=1)if(t.isCell(e.document.lineAt(l).text)){a=!1,r=l,s.insert(new fe.Position(l,0),`${i}
`);break}a&&(r=e.document.lineCount,s.insert(new fe.Position(e.document.lineCount,0),`
${i}
`))}).then(h,h);let o=new fe.Position(r+1,0);return this.runMatchingCell(e.selection,!1).then(()=>this.advanceToRange(new fe.Range(o,o)))}insertCellBelowPosition(){let e=fe.window.activeTextEditor;e&&e.selection&&this.insertCell(e,e.selection.end.line+1)}insertCellBelow(){let e=fe.window.activeTextEditor;if(e&&e.selection){let t=this.getCellFromPosition(e.selection.end);t?this.insertCell(e,t.range.end.line+1):this.insertCell(e,e.selection.end.line+1)}}insertCellAbove(){let e=fe.window.activeTextEditor;if(e&&e.selection){let t=this.getCellFromPosition(e.selection.start);t?this.insertCell(e,t.range.start.line):this.insertCell(e,e.selection.start.line)}}deleteCells(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=this.getStartEndCells(e.selection);if(!t)return;let r=t[0],i=t[1],o=0,s=0,a=i.range.end.line+1,l=0;r.range.start.line>0&&(o=r.range.start.line-1,s=e.document.lineAt(o).range.end.character,a=i.range.end.line,l=i.range.end.character);let c=new fe.Range(new fe.Position(o,s),new fe.Position(a,l));e.edit(u=>{u.replace(c,""),this.codeLensUpdatedEvent.fire()}).then(h,h)}selectCell(){let e=fe.window.activeTextEditor;if(e&&e.selection){let t=this.getStartEndCells(e.selection);if(t){let r=t[0],i=t[1];e.selection.anchor.isBeforeOrEqual(e.selection.active)?e.selection=new fe.Selection(r.range.start,i.range.end):e.selection=new fe.Selection(i.range.end,r.range.start)}}}selectCellContents(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=this.getStartEndCellIndex(e.selection);if(!t)return;let r=t[0],i=t[1],o=e.selection.anchor.isBeforeOrEqual(e.selection.active),s=this.cells,a=[];for(let l=r;l<=i;l+=1){let c=s[l],u=c.range.start.line+1,d=0,f=c.range.end.line,g=c.range.end.character;c.range.start.line===c.range.end.line&&(u=c.range.start.line,d=e.document.lineAt(u).range.end.character,f=u,g=d),o?a.push(new fe.Selection(u,d,f,g)):a.push(new fe.Selection(f,g,u,d))}e.selections=a}extendSelectionByCellAbove(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getStartEndCellIndex(e.selection);if(!r)return;let i=e.selection.anchor.isBefore(e.selection.active),o=this.cells,s=r[0],a=r[1],l=o[s],c=o[a];if(!l.range.start.isEqual(t.start)||!c.range.end.isEqual(t.end)){let u;i?s<a?u=new fe.Selection(l.range.start,o[a-1].range.end):u=new fe.Selection(l.range.end,l.range.start):u=new fe.Selection(c.range.end,l.range.start),e.selection=u}else{let u;i&&s<a?(u=o[a-1],e.selection=new fe.Selection(l.range.start,u.range.end)):s>0&&(u=o[s-1],e.selection=new fe.Selection(c.range.end,u.range.start)),u&&e.revealRange(u.range,fe.TextEditorRevealType.Default)}}extendSelectionByCellBelow(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getStartEndCellIndex(e.selection);if(!r)return;let i=e.selection.anchor.isBeforeOrEqual(e.selection.active),o=this.cells,s=r[0],a=r[1],l=o[s],c=o[a];if(!l.range.start.isEqual(t.start)||!c.range.end.isEqual(t.end)){let u;i?u=new fe.Selection(l.range.start,c.range.end):s<a?u=new fe.Selection(o[s+1].range.start,c.range.end):u=new fe.Selection(c.range.start,c.range.end),e.selection=u}else{let u;i||s===a?a<o.length-1&&(u=o[a+1],e.selection=new fe.Selection(l.range.start,u.range.end)):s<a&&(u=o[s+1],e.selection=new fe.Selection(c.range.end,u.range.start)),u&&e.revealRange(u.range,fe.TextEditorRevealType.Default)}}async moveCellsUp(){await this.moveCellsDirection(!0)}async moveCellsDown(){await this.moveCellsDirection(!1)}changeCellToMarkdown(){this.applyToCells((e,t,r)=>this.changeCellTo(e,t,"markdown"))}changeCellToCode(){this.applyToCells((e,t,r)=>this.changeCellTo(e,t,"code"))}gotoNextCell(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getCurrentCellLens(t.start),i=this.getNextCellLens(t.start);r&&i&&this.advanceToRange(i.range)}gotoPreviousCell(){let e=fe.window.activeTextEditor;if(!e||!e.selection)return;let t=e.selection,r=this.getCurrentCellLens(t.start),i=this.getPreviousCellLens(t.start);r&&i&&this.advanceToRange(i.range)}applyToCells(e){let t=fe.window.activeTextEditor,r=this.getStartEndCellIndex(t?.selection);if(!t||!r)return;let i=this.cells,o=r[0],s=r[1];for(let a=o;a<=s;a+=1)e(t,i[a],a)}changeCellTo(e,t,r){if(r==="raw")throw Error("Cell Type raw not implemented");if(t.cell_type===r)return;let i=new Xi(this.configService.getSettings(e.document.uri)),o=e.document.lineAt(t.range.start.line),s=e.document.getText(o.range),a=this.getDefaultCellMarker(e.document.uri),l=r==="markdown"?i.codeExecRegEx.exec(s):i.markdownExecRegEx.exec(s);if(!l)return;let c=l[l.length-1],u=r==="markdown"?`${a} [markdown]${c}`:`${a}${c}`;e.edit(async d=>{d.replace(o.range,u),t.cell_type=r,t.range.start.line<t.range.end.line&&(e.selection=new fe.Selection(t.range.start.line+1,0,t.range.end.line,t.range.end.character),fe.commands.executeCommand("editor.action.removeCommentLine").then(h,h),r==="markdown"&&fe.commands.executeCommand("editor.action.addCommentLine").then(h,h))}).then(h,h)}async moveCellsDirection(e){let t=fe.window.activeTextEditor;if(!t||!t.selection)return!1;let r=this.getStartEndCellIndex(t.selection);if(!r)return!1;let i=r[0],o=r[1],s=this.cells,a=s[i],l=s[o];if(!a||!l)return!1;let c=new fe.Range(a.range.start,l.range.end),u=new fe.Range(t.selection.start.line-c.start.line,t.selection.start.character,t.selection.end.line-c.start.line,t.selection.end.character),d=t.selection.active.isBefore(t.selection.anchor),f;if(e){if(i===0)return!1;{let g=s[i-1];f=this.exchangeTextLines(t,g.range,c).then(I=>(I&&(t.selection=new fe.Selection(g.range.start.line+u.start.line,u.start.character,g.range.start.line+u.end.line,u.end.character)),I))}}else{if(o===s.length-1)return!1;{let g=s[o+1],b=this.exchangeTextLines(t,c,g.range),I=g.range.end.line-g.range.start.line,E=c.end.line-c.start.line,x=I-E;f=b.then(A=>(A&&(t.selection=new fe.Selection(g.range.start.line+x+u.start.line,u.start.character,g.range.start.line+x+u.end.line,u.end.character)),A))}}return f.then(g=>(g&&d&&(t.selection=new fe.Selection(t.selection.active,t.selection.anchor)),!0))}exchangeTextLines(e,t,r){let i=t.start.line,o=t.end.line,s=r.start.line,a=r.end.line;if(o>=s)throw RangeError(`Above lines must be fully above not ${o} <= ${s}`);let l=new fe.Range(i,0,o,e.document.lineAt(o).range.end.character),c=e.document.getText(l),u=new fe.Range(s,0,a,e.document.lineAt(a).range.end.character),d=e.document.getText(u),f="";if(o+1<s){let I=o+1,E=s-1,x=new fe.Range(I,0,E,e.document.lineAt(E).range.end.character);f=`${e.document.getText(x)}
`}let g=`${d}
${f}${c}`,b=new fe.Range(l.start,u.end);return e.edit(I=>{I.replace(b,g),this.codeLensUpdatedEvent.fire()})}getStartEndCells(e){let t=this.getStartEndCellIndex(e);if(t){let r=this.getCellFromIndex(t[0]),i=this.getCellFromIndex(t[1]);return[r,i]}}getStartEndCellIndex(e){if(!e)return;let t=this.getCellIndex(e.start),r=t;if(e.start.line!==e.end.line&&(r=this.getCellIndex(e.end)),t===-1){if(r===-1)return;{t=0;let i=this.getCellFromIndex(0);if(e.start.line>i.range.start.line)throw RangeError(`Should not be able to pick a range with an end in a cell and start after a cell. ${e.start.line} > ${i.range.end.line}`)}}if(t>=0&&r>=0)return[t,r]}insertCell(e,t){let r=this.getDefaultCellMarker(e.document.uri),i=t>=e.document.lineCount?`
${r}
`:`${r}
`,o=new fe.Position(t,0),s=new fe.Position(t+1,0);e.edit(a=>{a.insert(o,i),this.codeLensUpdatedEvent.fire()}).then(h,h),e.selection=new fe.Selection(s,s)}getDefaultCellMarker(e){return this.configService.getSettings(e).defaultCellMarker||je.DefaultCodeCellMarker}onCodeLensFactoryUpdated(){this.document&&(this.codeLenses=this.codeLensFactory.createCodeLenses(this.document),this.cells=this.codeLensFactory.getCellRanges(this.document)),this.codeLensUpdatedEvent.fire()}onDocumentClosed(e){this.document&&vi(e.uri,this.document.uri)&&z(this.disposables)}ondidCloseNotebook(e){e.notebookType===ft&&this.configService.getSettings(this.document?.uri).addGotoCodeLenses&&this.onCodeLensFactoryUpdated()}getActiveInteractiveWindow(){return this.interactiveWindowProvider.getOrCreate(this.document?.uri)}async addCode(e,t,r,i,o){let s=!1;try{o?s=await e.debugCode(t,r,i):s=await e.addCode(t,r,i)}catch(a){a instanceof Cf||await this.dataScienceErrorHandler.handleError(a)}return s}async runMatchingCell(e,t,r){let i=this.getCurrentCellLens(e.start),o=this.getNextCellLens(e.start);if(i&&this.document){let s=sh(this.document.getText(i.range));if(t){let l=fe.window.activeTextEditor,{newCellOnRunLast:c}=this.configService.getSettings(this.document.uri),u=new Xi(this.configService.getSettings(this.document.uri));o?this.advanceToRange(o.range):c&&l&&!u.isEmptyCell(s)&&this.insertCell(l,i.range.end.line+1)}let a=await this.getActiveInteractiveWindow();await this.addCode(a,s,this.document.uri,i.range.start.line,r)}}getCellIndex(e){return this.cells.findIndex(t=>e&&t.range.contains(e))}getCellFromIndex(e){let t=this.cells,r=Qpe(e,t.length);return t[r]}getCellFromPosition(e){if(!e){let t=fe.window.activeTextEditor;t&&t.selection&&(e=t.selection.active)}if(e){let t=this.getCellIndex(e);if(t>=0)return this.cells[t]}}getCurrentCellLens(e){return this.codeLenses.find(t=>t.range.contains(e)&&t.command!==void 0&&t.command.command===B.RunCell)}getNextCellLens(e){let t=this.codeLenses.findIndex(r=>r.range.contains(e)&&r.command!==void 0&&r.command.command===B.RunCell);if(t>=0)return this.codeLenses.find((r,i)=>r.command!==void 0&&r.command.command===B.RunCell&&i>t)}getPreviousCellLens(e){let t=this.codeLenses.findIndex(r=>r.range.contains(e)&&r.command!==void 0&&r.command.command===B.RunCell);if(t>=1)return this.codeLenses.find((r,i)=>r.command!==void 0&&i<t&&i+1===t)}async runFileAsOneCell(e){if(this.document){let t=await this.getActiveInteractiveWindow(),r=this.document.getText();await this.addCode(t,r,this.document.uri,0,e)}}advanceToRange(e){let t=fe.window.activeTextEditor,r=new fe.Selection(e.start,e.start);t&&(t.selection=r,t.revealRange(e,fe.TextEditorRevealType.Default))}};v([Hr("DATASCIENCE.DEBUG_CURRENT_CELL")],qt.prototype,"debugCurrentCell",1),v([Hr("DATASCIENCE.RUN_ALL_CELLS")],qt.prototype,"runAllCells",1),v([Hr("DATASCIENCE.RUN_FILE_INTERACTIVE")],qt.prototype,"runFileInteractive",1),v([Hr("DATASCIENCE.DEBUG_FILE_INTERACTIVE")],qt.prototype,"debugFileInteractive",1),v([Hr("DATASCIENCE.RUN_ALL_CELLS_ABOVE")],qt.prototype,"runAllCellsAbove",1),v([Hr("DATASCIENCE.RUN_CELL_AND_ALL_BELOW")],qt.prototype,"runCellAndAllBelow",1),v([Hr("DATASCIENCE.RUN_SELECTION_OR_LINE")],qt.prototype,"runSelectionOrLine",1),v([Hr("DATASCIENCE.RUN_TO_LINE")],qt.prototype,"runToLine",1),v([Hr("DATASCIENCE.RUN_FROM_LINE")],qt.prototype,"runFromLine",1),v([Zn("CodeWatcher::runCell",4)],qt.prototype,"runCell",1),v([Hr("DATASCIENCE.DEBUG_CURRENT_CELL")],qt.prototype,"debugCell",1),v([Hr("DATASCIENCE.RUN_CURRENT_CELL")],qt.prototype,"runCurrentCell",1),v([Hr("DATASCIENCE.RUN_CURRENT_CELL_AND_ADVANCE")],qt.prototype,"runCurrentCellAndAdvance",1),v([or("DATASCIENCE.RUN_CURRENT_CELL_AND_ADD_BELOW")],qt.prototype,"runCurrentCellAndAddBelow",1),v([or("DATASCIENCE.RUN_INSERT_CELL_BELOW_POSITION")],qt.prototype,"insertCellBelowPosition",1),v([or("DATASCIENCE.RUN_INSERT_CELL_BELOW")],qt.prototype,"insertCellBelow",1),v([or("DATASCIENCE.RUN_INSERT_CELL_ABOVE")],qt.prototype,"insertCellAbove",1),v([or("DATASCIENCE.RUN_DELETE_CELLS")],qt.prototype,"deleteCells",1),v([or("DATASCIENCE.RUN_SELECT_CELL")],qt.prototype,"selectCell",1),v([or("DATASCIENCE.RUN_SELECT_CELL_CONTENTS")],qt.prototype,"selectCellContents",1),v([or("DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_ABOVE")],qt.prototype,"extendSelectionByCellAbove",1),v([or("DATASCIENCE.RUN_EXTEND_SELECTION_BY_CELL_BELOW")],qt.prototype,"extendSelectionByCellBelow",1),v([or("DATASCIENCE.RUN_MOVE_CELLS_UP")],qt.prototype,"moveCellsUp",1),v([or("DATASCIENCE.RUN_MOVE_CELLS_DOWN")],qt.prototype,"moveCellsDown",1),v([or("DATASCIENCE.RUN_CHANGE_CELL_TO_MARKDOWN")],qt.prototype,"changeCellToMarkdown",1),v([or("DATASCIENCE.RUN_CHANGE_CELL_TO_CODE")],qt.prototype,"changeCellToCode",1),v([or("DATASCIENCE.GOTO_NEXT_CELL_IN_FILE")],qt.prototype,"gotoNextCell",1),v([or("DATASCIENCE.GOTO_PREV_CELL_IN_FILE")],qt.prototype,"gotoPreviousCell",1),qt=v([(0,yp.injectable)(),m(0,(0,yp.inject)(Ki)),m(1,(0,yp.inject)(ie)),m(2,(0,yp.inject)(hx)),m(3,(0,yp.inject)(Gr)),m(4,(0,yp.inject)(JT))],qt);var Rb=k(N()),Gn=k(require("vscode"));var bp=require("vscode");var Tb=class{constructor(e,t,r){this.configuration=t;this.extensionChecker=r;this.computeDecorations(),e.push(this),e.push(this.configuration.getSettings(void 0).onDidChange(this.settingsChanged,this)),e.push(Gn.window.onDidChangeActiveTextEditor(this.changedEditor,this)),e.push(Gn.window.onDidChangeTextEditorSelection(this.changedSelection,this)),e.push(Gn.workspace.onDidChangeTextDocument(this.changedDocument,this)),this.settingsChanged()}activate(){}dispose(){this.timer&&clearTimeout(this.timer)}settingsChanged(){Gn.window.activeTextEditor&&this.triggerUpdate(Gn.window.activeTextEditor)}changedEditor(){this.triggerUpdate(void 0)}changedDocument(e){Gn.window.activeTextEditor&&e.document===Gn.window.activeTextEditor.document&&this.triggerUpdate(bp.window.activeTextEditor)}changedSelection(e){e.textEditor&&e.textEditor.selection.anchor&&this.triggerUpdate(e.textEditor)}triggerUpdate(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>this.update(e),100)}computeDecorations(){this.currentCellTopUnfocused=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.inactiveCodeBorder"),borderWidth:"2px 0px 0px 0px",borderStyle:"solid",isWholeLine:!0}),this.currentCellBottomUnfocused=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.inactiveCodeBorder"),borderWidth:"0px 0px 1px 0px",borderStyle:"solid",isWholeLine:!0}),this.currentCellTop=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.activeCodeBorder"),borderWidth:"2px 0px 0px 0px",borderStyle:"solid",isWholeLine:!0}),this.currentCellBottom=bp.window.createTextEditorDecorationType({borderColor:new Gn.ThemeColor("interactive.activeCodeBorder"),borderWidth:"0px 0px 1px 0px",borderStyle:"solid",isWholeLine:!0})}cellDecorationEnabled(e){return e.decorateCells===!1?!1:e.decorateCells==="currentCell"||e.decorateCells==="allCells"}update(e){let t=e===void 0?bp.window.visibleTextEditors:[e];for(let r of t)if(r&&r.document&&r.document.languageId===ge&&!Lh(r.document)&&this.currentCellTop&&this.currentCellBottom&&this.currentCellTopUnfocused&&this.currentCellBottomUnfocused&&this.extensionChecker.isPythonExtensionInstalled){let i=this.configuration.getSettings(r.document.uri);if(this.cellDecorationEnabled(i)){let o=Dw(r.document,i),s=o.map(u=>u.range).filter(u=>u.contains(r.selection.anchor)),a=s.length>0?[new Gn.Range(s[0].start,s[0].start)]:[],l=i.decorateCells!=="allCells"&&s.length>0?[new Gn.Range(s[0].end,s[0].end)]:[],c=[];i.decorateCells==="allCells"&&o.forEach(u=>{let d=u.range.start;d!==s[0].start&&c.push(new Gn.Range(d,d))}),bp.window.activeTextEditor===r?(r.setDecorations(this.currentCellTop,a),r.setDecorations(this.currentCellBottom,l),r.setDecorations(this.currentCellTopUnfocused,c),r.setDecorations(this.currentCellBottomUnfocused,[])):(r.setDecorations(this.currentCellTop,[]),r.setDecorations(this.currentCellBottom,[]),r.setDecorations(this.currentCellTopUnfocused,[...c,...a]),r.setDecorations(this.currentCellBottomUnfocused,l))}else r.setDecorations(this.currentCellTop,[]),r.setDecorations(this.currentCellBottom,[]),r.setDecorations(this.currentCellTopUnfocused,[]),r.setDecorations(this.currentCellBottomUnfocused,[])}}};Tb=v([(0,Rb.injectable)(),m(0,(0,Rb.inject)(M)),m(1,(0,Rb.inject)(ie)),m(2,(0,Rb.inject)(Be))],Tb);var yH=k(N()),bH=require("vscode");var ZT=class{constructor(){this.codeGeneratorsByFile=new mo}clear(){this.codeGeneratorsByFile.clear()}get all(){return[...this.codeGeneratorsByFile.entries()].map(e=>({uri:e[0],generatedCodes:e[1].filter(t=>!t.deleted)})).filter(e=>e.generatedCodes.length>0)}getFileGeneratedCode(e){return this.codeGeneratorsByFile.get(e)||[]}store(e,t){let r=this.codeGeneratorsByFile.get(e)||[],i=!1;for(let o=0;o<r.length&&!i;o+=1){let s=r[o];t.line>=s.line&&t.line<=s.endLine?(r.splice(o,1,t),i=!0):s.line>t.line&&(r.splice(o,0,t),i=!0)}i||r.push(t),this.codeGeneratorsByFile.set(e,r)}};var Ab=class{constructor(){this.storages=new WeakMap}getOrCreate(e){return this.storages.has(e)||this.storages.set(e,new ZT),this.storages.get(e)}get(e){if("notebook"in e)return this.storages.get(e.notebook);{let t=bH.workspace.notebookDocuments.find(r=>this.storages.get(r)?.all.find(o=>o.uri.toString()===e.fileUri.toString()));return t?this.storages.get(t):void 0}}};Ab=v([(0,yH.injectable)()],Ab);var vu=k(N()),Mb=k(require("vscode"));var Nb=class{constructor(e,t,r,i){this.variableProvider=e;this.interactiveProvider=t;this.disposables=r;this.kernelProvider=i;this.runFiles=new Set;this.stopWatch=new Ue;this.delayer=new cs(300)}activate(){this.onDidChangeNotebookCellExecutionStateHandler=er.onDidChangeNotebookCellExecutionState(e=>this.delayer.trigger(()=>this.onDidChangeNotebookCellExecutionState(e)).catch(h),this),this.kernelProvider.onDidRestartKernel(()=>this.runFiles.clear(),this,this.disposables)}dispose(){this.delayer.dispose(),this.onDidChangeNotebookCellExecutionStateHandler.dispose(),this.hoverProviderRegistration&&this.hoverProviderRegistration.dispose()}async onDidChangeNotebookCellExecutionState(e){try{if(e.cell.notebook.notebookType!==ft)return;let t=this.runFiles.size,r=rs(e.cell);r!==void 0&&this.runFiles.add(r.interactive.uristring),t!==this.runFiles.size&&(this.initializeHoverProvider(),this.onDidChangeNotebookCellExecutionStateHandler.dispose())}catch(t){p.error(t)}}async provideHover(e,t,r){this.stopWatch.reset();let i=await fr(300,this.getVariableHover(e,t,r));return R("DS_INTERNAL.INTERACTIVE_FILE_TOOLTIPS_PERF",{duration:this.stopWatch.elapsedTime},{isResultNull:!!i}),i}initializeHoverProvider(){this.hoverProviderRegistration||(this.hoverProviderRegistration=Mb.languages.registerHoverProvider(sU,this))}async getVariableHover(e,t,r){let i=e.getWordRangeAtPosition(t);if(i){let o=e.getText(i);if(o){let s=this.getMatchingKernels(e);if(s.length){let a=await Xt(r,{},...s.map(c=>this.variableProvider.getVariableProperties(o,c,r))),l=Object.entries(a||{});if(l.length>0){let c=l.reduce((d,f)=>d+`${f[0]}: ${f[1]}
`,"```\n")+"```";return{contents:[new Mb.MarkdownString(c)]}}}}}}getMatchingKernels(e){let t=this.interactiveProvider.get(e.uri)?.notebookUri;if(!t)return[];let r=new Set;return Mb.workspace.notebookDocuments.filter(i=>t?.toString()===i.uri.toString()).forEach(i=>{let o=this.kernelProvider.get(i);o&&r.add(o)}),Array.from(r)}};Nb=v([(0,vu.injectable)(),m(0,(0,vu.inject)(yn)),m(0,(0,vu.named)(je.KERNEL_VARIABLES)),m(1,(0,vu.inject)(Ki)),m(2,(0,vu.inject)(M)),m(3,(0,vu.inject)(De))],Nb);var xo=k(N()),jr=require("vscode");var Rt=require("vscode");var IH=k(Io());var wf=class{constructor(e,t,r,i,o){this.serviceContainer=e;this._owner=t;this.controllerFactory=r;this.inputUri=o;this._onDidChangeViewState=new Rt.EventEmitter;this.closedEvent=new Rt.EventEmitter;this._submitters=[];this.internalDisposables=[];this.fs=this.serviceContainer.get(tt),this.configuration=this.serviceContainer.get(ie),this.jupyterExporter=this.serviceContainer.get(tg),this.interactiveWindowDebugger=this.serviceContainer.tryGet(BT),this.errorHandler=this.serviceContainer.get(Gr),this.codeGeneratorFactory=this.serviceContainer.get(Pb),this.storageFactory=this.serviceContainer.get(Bs),this.kernelProvider=this.serviceContainer.get(De),this.debuggingManager=this.serviceContainer.get(qT),this.notebookUri=Tw(i)?i.input.uri:i.notebook.uri,this._owner&&this._submitters.push(this._owner),Rt.window.onDidChangeActiveNotebookEditor(s=>{s?.notebook.uri.toString()===this.notebookUri.toString()&&this._onDidChangeViewState.fire()},this.internalDisposables),Rt.workspace.onDidCloseNotebookDocument(s=>{s.uri.toString()===this.notebookUri.toString()&&this.closedEvent.fire()},this.internalDisposables),Rt.window.activeNotebookEditor?.notebook.uri.toString()===this.notebookUri.toString()&&this._onDidChangeViewState.fire(),this.cellMatcher=new Xi(this.configuration.getSettings(this.owningResource)),this.notebookDocument&&this.codeGeneratorFactory.getOrCreate(this.notebookDocument)}get onDidChangeViewState(){return this._onDidChangeViewState.event}get closed(){return this.closedEvent.event}get owner(){return this._owner}get submitters(){return this._submitters}get notebookDocument(){return this._notebookDocument||(this._notebookDocument=Rt.workspace.notebookDocuments.find(e=>e.uri.toString()===this.notebookUri.toString())),this._notebookDocument}get kernelConnectionMetadata(){return this.controller?.metadata}notifyConnectionReset(){if(this.notebookDocument)this.controller||(this.controller=this.initController(this.notebookDocument)),this.controller.setInfoMessageCell(y.noKernelConnected);else{let e=Rt.workspace.onDidOpenNotebookDocument(t=>{t.uri.toString()===this.notebookUri.toString()&&(this._notebookDocument=t,this.controller=this.initController(t),this.internalDisposables.push(this.controller.listenForControllerSelection()),this.controller.setInfoMessageCell(y.noKernelConnected),e.dispose())})}}initController(e){let t=this.controllerFactory.create(e,this.errorHandler,this.kernelProvider,this._owner);return this.internalDisposables.push(t.listenForControllerSelection()),t}async ensureInitialized(){if(!this.notebookDocument&&(p.debug("Showing Interactive editor to initialize codeGenerator from notebook document"),await this.showInteractiveEditor(),!this.notebookDocument))throw new Error("Could not open notebook document for Interactive Window");this.codeGeneratorFactory.get(this.notebookDocument)||this.codeGeneratorFactory.getOrCreate(this.notebookDocument),this.controller||(this.controller=this.initController(this.notebookDocument)),this.controller.controller?this.controller.startKernel().catch(h):(p.info("No controller selected for Interactive Window initialization"),this.controller.setInfoMessageCell(y.selectKernelForEditor))}async showInteractiveEditor(){let e;Rt.window.tabGroups.all.find(i=>{i.tabs.find(o=>{Tw(o)&&o.input.uri.toString()==this.notebookUri.toString()&&(e=o)})});let t=this.notebookDocument||await this.openNotebookDocument();return await Rt.window.showNotebookDocument(t,{preserveFocus:!0,viewColumn:e?.group.viewColumn})}async openNotebookDocument(){return p.debug(`Opening notebook document ${this.notebookUri}`),await Rt.workspace.openNotebookDocument(this.notebookUri)}dispose(){this.internalDisposables.forEach(e=>e.dispose()),this.controller?.disconnect()}async showErrorForCell(e,t){let r=this.controller?.controller,i=Dh(e);if(r&&i&&t){let o=Pi.getOrCreate(t,new cf(r));try{await o.appendOutput(i)}catch(s){p.warn(`Could not append error message "${i}" to cell: ${s}`)}finally{o.end(!1,t.executionSummary?.timing?.endTime)}}else p.info(`Could not append error message to cell "${i}"`)}changeMode(e){this.controller?.updateMode(e)}async addCode(e,t,r){return this.submitCode(e,t,r,!1)}useNewDebugMode(){return!!(this.configuration.getSettings(this.owner).forceIPyKernelDebugger||this.controller?.metadata&&!ct(this.controller.metadata))}async debugCode(e,t,r){let i=!0,o=Rt.workspace.textDocuments.find(a=>this.fs.arePathsSame(a.uri,t));if(!this.useNewDebugMode()&&o&&o.isUntitled){let a=[...Rt.workspace.textDocuments];if(i=await o.save(),i){let l=Rt.workspace.textDocuments.filter(c=>a.indexOf(c)===-1);l&&l.length>0&&(t=(l.find(u=>u.languageId==="python")||l.find(u=>!u.fileName.endsWith(".interactive"))||l[0]).uri,await Rt.workspace.openTextDocument(t))}}let s=!0;return i?this.submitCode(e,t,r,!0):s}async submitCode(e,t,r,i){if(this.cellMatcher.isEmptyCell(e)||!this.controller?.controller)return!0;this.updateOwners(t);let o=Oe(e,{trim:!1}),s=new Xi(this.configuration.getSettings(t)),a=-1;s.isMarkdown(o[0])&&nm(o,(u,d)=>void 0,(u,d)=>{u&&u.length>0&&a===-1&&(a=d)});let c=(a>0?[o.slice(0,a).join(`
`),o.slice(a).join(`
`)]:[e]).map(u=>{let d=re();this.controller.setPendingCellAdd(d.promise);let f=this.addNotebookCell(u,t,r),g=this.createExecutionPromise(f,i);return g.catch(b=>{b instanceof Cf?f.then(I=>{b.cell!==I&&this.showErrorForCell(y.cellStopOnErrorMessage,I).then(h,h)}).catch(h):f.then(I=>this.errorHandler.getErrorMessageForDisplayInCell(b,"execution",this.owningResource).then(E=>this.showErrorForCell(E,I))).catch(h)}).finally(()=>{d?.resolve()}),g});return c[c.length-1]}async createExecutionPromise(e,t){if(!this.controller||!this.notebookDocument)return!1;p.ci("InteractiveWindow.ts.createExecutionPromise.start");let r=this.controller.startKernel(),i=await e,o=!0,s=async()=>void 0;try{let a=await r;await this.generateCodeAndAddMetadata(i,t,a),t&&this.useNewDebugMode()?await this.debuggingManager.start(this.notebookDocument,i):t&&ct(a.kernelConnectionMetadata)&&this.interactiveWindowDebugger&&(s=async()=>this.interactiveWindowDebugger?.detach(a),await this.interactiveWindowDebugger.attach(a),await this.interactiveWindowDebugger.updateSourceMaps(this.storageFactory.get({notebook:i.notebook})?.all||[]),this.interactiveWindowDebugger.enable(a)),p.ci("InteractiveWindow.ts.createExecutionPromise.kernel.executeCell");let l=rs(i);o=await this.kernelProvider.getKernelExecution(a).executeCell(i,l?.generatedCode?.code).then(()=>!0,()=>!1),p.ci("InteractiveWindow.ts.createExecutionPromise.kernel.executeCell.finished")}finally{await s(),p.ci("InteractiveWindow.ts.createExecutionPromise.end")}if(!o)throw new Cf(i);return o}async expandAllCells(){this.notebookDocument&&await Promise.all(this.notebookDocument.getCells().map(async(e,t)=>{await Rt.commands.executeCommand("notebook.cell.expandCellInput",{ranges:[{start:t,end:t+1}],document:this.notebookUri})}))}async collapseAllCells(){this.notebookDocument&&await Promise.all(this.notebookDocument.getCells().map(async(e,t)=>{e.kind===Rt.NotebookCellKind.Code&&await Rt.commands.executeCommand("notebook.cell.collapseCellInput",{ranges:[{start:t,end:t+1}],document:this.notebookUri})}))}async scrollToCell(e){let t=await this.showInteractiveEditor(),r=t.notebook.getCells().find(i=>rs(i)?.id===e);if(r){let i=new Rt.NotebookRange(r.index,r.index+1);t.revealRange(i,Rt.NotebookEditorRevealType.Default),t.selection=i}}async hasCell(e){let t=this.notebookDocument;return!!t&&t.getCells().some(r=>rs(r)?.id===e)}get owningResource(){if(this.owner)return this.owner;let e=ll();if(e)return e}updateOwners(e){this._owner||(this._owner=e,this.controller?.updateOwners(e)),this._submitters.find(t=>t.toString()==e.toString())||this._submitters.push(e)}async addNotebookCell(e,t,r){let i=this.notebookDocument;if(!i)throw new Error("No notebook document");let o=this.configuration.getSettings(this.owningResource),s=this.cellMatcher.getCellType(e)===aS,a=s?LP(Oe(e)).join(""):gH(e,o,this.cellMatcher),l=this.cellMatcher.getFirstMarker(e),c=Rt.workspace.textDocuments.find(b=>b.uri.toString()===this.owner?.toString())?.languageId??ge,u=new Rt.NotebookCellData(s?Rt.NotebookCellKind.Markup:Rt.NotebookCellKind.Code,a,s?aS:c),d={uristring:t.toString(),lineIndex:r,originalSource:e},f={interactiveWindowCellMarker:l,interactive:d,id:(0,IH.default)()};u.metadata=f,await Zl(i,b=>{let I=Rt.NotebookEdit.insertCells(i.cellCount,[u]);b.set(i.uri,[I])});let g=i.cellCount-1;return i.cellAt(g)}async generateCodeAndAddMetadata(e,t,r){let i=rs(e);if(!i)return;let o=!ct(r.kernelConnectionMetadata)||this.configuration.getSettings(void 0).forceIPyKernelDebugger,s=await this.codeGeneratorFactory.getOrCreate(this.notebookDocument).generateCode(i,e.index,t,o),a={...i,generatedCode:s},l=new Rt.WorkspaceEdit,c=Rt.NotebookEdit.updateCellMetadata(e.index,a);l.set(e.notebook.uri,[c]),await Rt.workspace.applyEdit(l)}async export(){if(!this.notebookDocument)throw new Error("no notebook to export.");let e=fH(this.notebookDocument),t=await new xa().showDialog("ipynb",this.owningResource);t&&await this.jupyterExporter?.exportToFile(e,ke(t))}async exportAs(){if(await this.ensureInitialized(),!this.controller)throw new Error("An active kernel is required to export the notebook.");let e=this.controller.kernel?.value,t;if(this.submitters&&this.submitters.length){let r=this.submitters[this.submitters.length-1];t=Ce(r.path,Wi(r.path))}tn()?Rt.commands.executeCommand(B.ExportAsPythonScript,this.notebookDocument,e?.kernelConnectionMetadata.interpreter).then(h,h):Rt.commands.executeCommand(B.Export,this.notebookDocument,t,e?.kernelConnectionMetadata.interpreter).then(h,h)}};v([vR()],wf.prototype,"showErrorForCell",1),v([vR()],wf.prototype,"createExecutionPromise",1);function SH(n){return y.interactiveWindowTitleFormat(Ce(n.path))}var VO=class{constructor(e,t,r,i,o,s,a){this.controllerService=e;this.mode=t;this.notebook=r;this.errorHandler=i;this.kernelProvider=o;this.owner=s;this.disposables=[];this.controller=a?.controller,this.metadata=a?.connection}updateMode(e){this.mode=e}updateOwners(e){this.owner=e}async startKernel(){if(this.connectingListener?.dispose(),this.kernel)return this.kernel.promise;if(!this.controller||!this.metadata)throw new Error("Interactive Window kernel not selected");this.setInfoMessage(this.metadata,0);try{let e=await this.createKernel(),t=async()=>{this.notebook&&this.metadata&&(this.systemInfoCell=void 0,this.setInfoMessage(this.metadata,1))};return this.disposables.push(e.addHook("willRestart",t)),e.onRestarted(async()=>{p.debug("Restart event handled in IW"),this.fileInKernel=void 0;try{await this.setFileInKernel(e)}catch{p.error("Failed to run initialization after restarting")}finally{this.finishSysInfoMessage(e,1)}},this,this.disposables),this.fileInKernel=void 0,await this.setFileInKernel(e),this.finishSysInfoMessage(e,0),e}catch(e){throw this.owner?this.deleteSysInfoCell():await this.finishSysInfoWithFailureMessage(e),e}}async createKernel(){if(this.kernel)return this.kernel.promise;if(!this.controller||!this.metadata)throw new Error("Controller not selected");let e=re();e.promise.catch(h),this.kernel=e;try{let{kernel:t,actualController:r}=await this.controllerService.createKernel(this.metadata,this.controller,this.owner,this.notebook,this.disposables);return this.metadata=t.kernelConnectionMetadata,this.controller=r,this.disposables.push(t),e.resolve(t),t}catch(t){throw e.reject(t),this.disconnect(),t}}async setFileInKernel(e){let t=this.owner;if(!t){p.ci("Unable to run initialization for IW");return}let r=ke(t),i=this.kernelProvider.getKernelExecution(e);this.mode==="perFile"&&!this.fileInKernel?(p.debug(`Initializing __file__ in setFileInKernel with ${t} for mode ${this.mode}`),this.fileInKernel=t,await i.executeHidden(`__file__ = '${r.replace(/\\/g,"\\\\")}'`)):(!this.fileInKernel||this.fileInKernel.toString()!==t.toString())&&this.mode!=="perFile"?(p.debug(`Initializing __file__ in setFileInKernel with ${t} for mode ${this.mode}`),this.fileInKernel=t,await i.executeHidden(`__file__ = '${r.replace(/\\/g,"\\\\")}'`)):p.debug(`Not Initializing __file__ in setFileInKernel with ${r} for mode ${this.mode} currently ${this.fileInKernel}`)}setPendingCellAdd(e){this.metadata&&this.notebook&&this.controllerService.getRegisteredController(this.metadata)?.setPendingCellAddition(this.notebook,e)}listenForControllerSelection(){return this.controllerService.onControllerSelected(e=>{if(!(!this.notebook||e.notebook.uri.toString()!==this.notebook?.uri?.toString())&&e.controller.id!==this.controller?.id){let t=!!this.kernel;this.disconnect(),this.controller=e.controller.controller,this.metadata=e.controller.connection,t?this.startKernel().catch(h):(this.connectingListener?.dispose(),this.connectingListener=e.controller.onConnecting(()=>{this.startKernel().catch(h)}),this.disposables.push(this.connectingListener))}},this)}setInfoMessageCell(e){this.systemInfoCell?this.systemInfoCell.updateMessage(e).catch(t=>p.warn(`could not update info cell with message: "${e}", error: ${t}`)):this.systemInfoCell=new zT(this.notebook,e)}setInfoMessage(e,t){let r=cH(e,t);this.setInfoMessageCell(r)}finishSysInfoMessage(e,t){let r=uH(e.kernelConnectionMetadata,t);this.systemInfoCell?.updateMessage(r).catch(i=>p.warn(`System info message was not updated: "${r}" because of error: ${i}`)),this.systemInfoCell=void 0}async finishSysInfoWithFailureMessage(e){let t=await this.errorHandler.getErrorMessageForDisplayInCell(e,"start",this.owner);t=t.split(`
`).join(`
`),this.systemInfoCell?.updateMessage(t).catch(r=>p.warn(`System info message was not updated: "${t}" because of error: ${r}`)),this.systemInfoCell=void 0}deleteSysInfoCell(){this.systemInfoCell?.deleteCell().then(h,h),this.systemInfoCell=void 0}disconnect(){this.disposables.forEach(e=>e.dispose()),this.disposables=[],this.kernel=void 0}},Rw=class{constructor(e,t,r){this.controllerService=e;this.mode=t;this.initialController=r}create(e,t,r,i){let o=this.initialController,s=this.controllerService.getSelectedController(e);return s&&(o=s),new VO(this.controllerService,this.mode,e,t,r,i,o)}};var CH="ds_asked_per_file_interactive",wH="ds_interactive_window_cache",Kb=class{constructor(e,t,r,i,o,s,a,l){this.serviceContainer=e;this.disposables=t;this.fs=r;this.configService=i;this.globalMemento=o;this.workspaceMemento=s;this.notebookEditorProvider=a;this.controllerHelper=l;this._onDidChangeActiveInteractiveWindow=new jr.EventEmitter;this._windows=[];this.notebookEditorProvider.registerEmbedNotebookProvider(this),this.restoreWindows()}get onDidChangeActiveInteractiveWindow(){return this._onDidChangeActiveInteractiveWindow.event}get activeWindow(){let e=jr.window.activeNotebookEditor?.notebook.uri.toString();return e?this._windows.find(t=>t.notebookUri?.toString()===e):void 0}restoreWindows(){let e=new Map;jr.window.tabGroups.all.forEach(t=>{t.tabs.forEach(r=>{Tw(r)&&r.input.uri&&e.set(r.input.uri.toString(),r)})}),this.workspaceMemento.get(wH,[]).forEach(t=>{if(!t.uriString||!e.get(t.uriString))return;let r=e.get(t.uriString);if(!r)return;let i=this.configService.getSettings(r.input.uri).interactiveWindowMode,o=new wf(this.serviceContainer,jr.Uri.parse(t.owner),new Rw(this.controllerHelper,i),r,jr.Uri.parse(t.inputBoxUriString));o.notifyConnectionReset(),this._windows.push(o),R("DS_INTERNAL.CREATED_INTERACTIVE_WINDOW",{windowCount:this._windows.length},{hasKernel:!1,hasOwner:!!t.owner,mode:i,restored:!0});let s=o.closed(this.onInteractiveWindowClosed.bind(this,o));this.disposables.push(o),this.disposables.push(s),this.disposables.push(o.onDidChangeViewState(this.raiseOnDidChangeActiveInteractiveWindow.bind(this)))}),this._updateWindowCache()}async getOrCreate(e,t){if(!jr.workspace.isTrusted)throw new Error("Workspace not trusted");let r=await this.getInteractiveMode(e);this.pendingCreations&&await this.pendingCreations.catch(h);let i=this.getExisting(e,r,t);return i||(i=await this.create(e,r,t)),await i.ensureInitialized(),i}get(e){let t=this.configService.getSettings(e).interactiveWindowMode;return this.getExisting(e,t)}async create(e,t,r){let i=re();this.pendingCreations=i.promise;try{let o=await this.controllerHelper.getInitialController(e,r);p.info(`Starting interactive window for resource '${j(e)}' with controller '${o?.id}'`);let[s,a]=await this.createEditor(o,e,t);o&&o.controller.updateNotebookAffinity(a.notebook,jr.NotebookControllerAffinity.Preferred),p.debug(`Interactive Window Editor Created: ${a.notebook.uri.toString()} with input box: ${s.toString()}`);let l=new wf(this.serviceContainer,e,new Rw(this.controllerHelper,t,o),a,s);this._windows.push(l),R("DS_INTERNAL.CREATED_INTERACTIVE_WINDOW",{windowCount:this._windows.length},{hasKernel:!!o,hasOwner:!!e,mode:t,restored:!1}),this._updateWindowCache(),this.lastActiveInteractiveWindow=l;let c=l.closed(this.onInteractiveWindowClosed.bind(this,l));return this.disposables.push(l),this.disposables.push(c),this.disposables.push(l.onDidChangeViewState(this.raiseOnDidChangeActiveInteractiveWindow.bind(this))),l}finally{i.resolve()}}async createEditor(e,t,r){let i=e?`${Fe}/${e.id}`:void 0,o=t!==void 0,s=this.getInteractiveViewColumn(t),{inputUri:a,notebookEditor:l}=await jr.commands.executeCommand("interactive.open",{viewColumn:s,preserveFocus:o},void 0,i,t&&r==="perFile"?SH(t):void 0);if(!l)throw new Error("Failed to request creation of interactive window from VS Code.");return[a,l]}getInteractiveViewColumn(e){if(e)return jr.ViewColumn.Beside;let t=this.configService.getSettings(e).interactiveWindowViewColumn;return t==="secondGroup"?jr.ViewColumn.One:t==="active"?jr.ViewColumn.Active:jr.ViewColumn.Beside}async getInteractiveMode(e){let t=this.configService.getSettings(e).interactiveWindowMode;if(t==="multiple"&&e&&!this.globalMemento.get(CH)&&this._windows.length===1&&(!this._windows[0].owner||!this.fs.arePathsSame(this._windows[0].owner,e))){this.globalMemento.update(CH,!0).then(h,h);let r=[y.interactiveWindowModeBannerSwitchYes,y.interactiveWindowModeBannerSwitchNo];await jr.window.showInformationMessage(y.interactiveWindowModeBannerTitle,...r)===r[0]&&(t="perFile",this._windows[0].changeMode(t),await this.configService.updateSetting("interactiveWindow.creationMode",t,e,jr.ConfigurationTarget.Global))}return t}_updateWindowCache(){let e=this._windows.map(t=>({owner:t.owner?.toString(),uriString:t.notebookUri.toString(),inputBoxUriString:t.inputUri.toString()}));this.workspaceMemento.update(wH,e).then(h,h)}getExisting(e,t,r){return t==="single"?this._windows.length>0?this._windows[0]:void 0:t==="multiple"?e?this.activeWindow||this.lastActiveInteractiveWindow||this._windows[0]:void 0:this._windows.find(i=>!e&&!i.owner&&!r?!0:e&&i.owner&&this.fs.arePathsSame(e,i.owner)?!r||i.kernelConnectionMetadata?.id===r.id:!1)}raiseOnDidChangeActiveInteractiveWindow(){this.lastActiveInteractiveWindow=this.activeWindow?this.activeWindow:this.lastActiveInteractiveWindow,this._onDidChangeActiveInteractiveWindow.fire(this.activeWindow)}onInteractiveWindowClosed(e){p.debug(`Closing interactive window: ${e.notebookUri?.toString()}`),e.dispose(),this._windows=this._windows.filter(t=>t!==e),this._updateWindowCache(),this.lastActiveInteractiveWindow===e&&(this.lastActiveInteractiveWindow=this._windows[0]),this.raiseOnDidChangeActiveInteractiveWindow()}getActiveOrAssociatedInteractiveWindow(){if(this.activeWindow)return this.activeWindow;if(jr.window.activeTextEditor===void 0)return;let e=jr.window.activeTextEditor.document.uri;if(e.scheme!==bc)return this.get(e)}findNotebookEditor(e){let t;if(e&&e.path.endsWith(".interactive"))t=this.get(e)?.notebookDocument;else{let r=this.configService.getSettings(e).interactiveWindowMode;t=this.getExisting(e,r)?.notebookDocument}return t?jr.window.visibleNotebookEditors.find(r=>r.notebook===t):void 0}findAssociatedNotebookDocument(e){return this._windows.find(i=>i.inputUri?.toString()===e.toString())?.notebookDocument}getInteractiveWindowWithNotebook(e){let t;return e!==void 0?t=this._windows.find(r=>r.notebookUri?.toString()===e.toString()):t=this.getActiveOrAssociatedInteractiveWindow(),t}getInteractiveWindowsWithSubmitter(e){return this._windows.filter(t=>t.submitters.find(r=>this.fs.arePathsSame(e,r)))}};Kb=v([(0,xo.injectable)(),m(0,(0,xo.inject)(rt)),m(1,(0,xo.inject)(M)),m(2,(0,xo.inject)(tt)),m(3,(0,xo.inject)(ie)),m(4,(0,xo.inject)(We)),m(4,(0,xo.named)(lt)),m(5,(0,xo.inject)(We)),m(5,(0,xo.named)(ei)),m(6,(0,xo.inject)(ci)),m(7,(0,xo.inject)($T))],Kb);var Ip=k(N());var Ob=class{constructor(e,t,r,i,o){this.kernelProvider=e;this.codeGeneratorFactory=r;this.storageFactory=i;this.controllers=o;this.disposables=[];t.push(this)}dispose(){z(this.disposables)}activate(){this.kernelProvider.onDidCreateKernel(this.onDidCreateKernel,this,this.disposables),this.controllers.onControllerSelected(this.onNotebookControllerSelected,this,this.disposables)}onNotebookControllerSelected({notebook:e}){this.storageFactory.get({notebook:e})?.clear(),this.codeGeneratorFactory.get(e)?.reset()}onDidCreateKernel(e){let t=e.notebook;e.creator!=="jupyterExtension"||t.notebookType!==ft||(this.storageFactory.get({notebook:t})?.clear(),e.onRestarted(()=>{this.storageFactory.get({notebook:t})?.clear(),this.codeGeneratorFactory.getOrCreate(t).reset()},this,this.disposables))}};Ob=v([(0,Ip.injectable)(),m(0,(0,Ip.inject)(De)),m(1,(0,Ip.inject)(M)),m(2,(0,Ip.inject)(Pb)),m(3,(0,Ip.inject)(Bs)),m(4,(0,Ip.inject)(ot))],Ob);var Lb=k(N()),o4=require("vscode");var i4=n4(),t0=/(;32m[ ->]*?)(\d+)(.*)/g,Fb=class{constructor(e,t,r){this.storageFactory=e;this.platformService=t;this.configurationService=r}format(e,t){if(e.notebook.notebookType!==ft)return t;let r=this.storageFactory.get({notebook:e.notebook}),i=t.some(a=>/^[Input|Cell|File].*?\n.*/.test(a));if(!i&&!r)return t;let s=this.configurationService.getSettings(e.document.uri)?.formatStackTraces??!1;return t.map(a=>i?this.modifyTracebackFrameIPython8(a,r?.all,s):s?this.modifyTracebackFrameIPython7(a,r.all):a)}modifyTracebackFrameIPython8(e,t,r){e=e.replace(/\u001b\[4\dm/g,""),e=e.replace(/\u001b\[38;.*?\d+m/g,"\x1B[39m"),e=e.replace(/(;32m[ ->]*?)(\d+)(.*)\n/g,(u,d,f,g)=>(g=g.replace(/\u001b\[3\d+m/g,"\x1B[39m"),`${d}${f}${g}
`)),p.ci(`Trace frame to match: ${e}`);let i,o,s=/Cell\s+(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\],\s*line (?<lineNumber>\d+).*/,l=/Input\s+?(?:\u001b\[.+?m)?In\s*\[(?<executionCount>\d+)\].*line: (?<lineNumber>\d).*/.exec(e),c=s.exec(e);if(l&&l.groups?.executionCount&&l.groups?.lineNumber?(i=parseInt(l.groups.executionCount),o=l.groups?.lineNumber):c&&c.groups?.executionCount&&c.groups?.lineNumber&&(i=parseInt(c.groups.executionCount),o=c.groups.lineNumber),t&&i){let u,d;for(let f of t)if(d=f.generatedCodes.find(g=>g.executionCount===i),d){u=f.uri;break}if(d&&u){let f=e;return r&&(f=f.replace(t0,(g,b,I,E)=>{let x=parseInt(I,10),J=(d.hasCellMarker?d.line-1:d.line)-1+d.lineOffsetRelativeToIndexOfFirstLineInCell+x;return`${b}<a href='${u?.toString()}?line=${J-1}'>${J}</a>${E}`})),f.replace(/.*?\n/,`File \x1B[1;32m${ke(u)}:${o}\x1B[0m
`)}}if(r){let u=/^File.*?\[\d;32m(.*):\d+.*\u001b.*\n/.exec(e);if(u&&u.length>1){let d=lh(u[1],ke(this.platformService.homeDir)),f=o4.Uri.file(d);return e.replace(t0,(g,b,I,E)=>{let x=parseInt(I,10);return`${b}<a href='${f?.toString()}?line=${x-1}'>${x}</a>${E}`})}}return e}modifyTracebackFrameIPython7(e,t){return t.map(i=>i.uri).forEach(i=>{let o=ke(i),s=j(i),a=this.storageFactory.get({fileUri:i});if(a){if(e.includes(o)&&new RegExp(`\\[.*?;32m${i4(o)}`).test(e)||e.includes(s)&&new RegExp(`\\[.*?;32m${i4(s)}`).test(e)){let l="",c=/(;32m[ ->]*?)(\d+)(.*)/g;for(let d=c.exec(e);d&&d.length>3;d=c.exec(e)){let f=ql(d[3]).substr(1);l=`${l}${f}
`}let u=this.findCellOffset(a.getFileGeneratedCode(i),l);u!==void 0&&(e=e.replace(t0,(d,f,g,b)=>{let I=parseInt(g,10),E=u+I-1;return`${f}<a href='${i.toString()}?line=${E}'>${E+1}</a>${b}`}))}if(e.includes(o)){let l=this.findCellOffset(a.getFileGeneratedCode(i),e);if(l)return e.replace(t0,(c,u,d,f)=>{let g=parseInt(d,10),b=l+g-1;return`${u}<a href='${i.toString()}?line=${b}'>${b+1}</a>${f}`})}}}),e}findCellOffset(e,t){if(e){for(let r of e)if(r.trimmedRightCode.indexOf(t)>=0)return r.firstNonBlankLineIndex}}};Fb=v([(0,Lb.injectable)(),m(0,(0,Lb.inject)(Bs)),m(1,(0,Lb.inject)(br)),m(2,(0,Lb.inject)(ie))],Fb);var yu=k(N());var Nw=class extends xn{constructor(e,t,r){let i=t||y.jupyterDebuggerNotInstalledError(e);super("notinstalled",i,r)}};function r0(n){let e={source:{path:ke(n.uri)},pydevdSourceMaps:[]};return e.pydevdSourceMaps=n.generatedCodes.map(t=>({line:t.debuggerStartLine,endLine:t.endLine,runtimeSource:{path:t.runtimeFile},runtimeLine:t.runtimeLine})),e}var Ub=class{constructor(e,t,r,i){this.apiProvider=e;this.configService=t;this.debugService=r;this.platform=i;this.configs=new WeakMap;this.debuggingActive=!1;this.debuggerPackage="debugpy",this.enableDebuggerCode="import debugpy;debugpy.listen(('localhost', 0))",this.waitForDebugClientCode="import debugpy;debugpy.wait_for_client()",this.tracingEnableCode="from debugpy import trace_this_thread;trace_this_thread(True)",this.tracingDisableCode="from debugpy import trace_this_thread;trace_this_thread(False)"}async attach(e){if(!e.session)throw new Error("Notebook not initialized");let t=this.configService.getSettings(e.resourceUri),r=e.kernelConnectionMetadata.interpreter?.uri;return this.startDebugSession(i=>this.debugService.startDebugging(void 0,i),e,{justMyCode:t.debugJustMyCode,python:r})}async detach(e){if(!e.session)return;let t=e.notebook;this.configs.get(t)&&(p.info("stop debugging"),this.debuggingActive=!1,this.debugService.stop(),e.status!=="dead"&&e.status!=="unknown"&&this.disable(e))}async updateSourceMaps(e){this.debugService.activeDebugSession&&this.debuggingActive&&(p.ci("Sending debug request for source map"),await Promise.all(e.map(async t=>{if(this.debuggingActive)return this.debugService.activeDebugSession.customRequest("setPydevdSourceMap",r0(t))})))}enable(e){e.session?.kernel&&pn(e.session.kernel,this.tracingEnableCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure enabling tracing code for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}).catch(h)}disable(e){e.session?.kernel&&pn(e.session.kernel,this.tracingDisableCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure disabling tracing code for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}).catch(h)}async startDebugSession(e,t,r){if(p.info("start debugging"),!t.session?.kernel)return;let i=await this.connect(t,r);if(i&&(p.info("connected to notebook during debugging"),this.debuggingActive=await e(i),this.debuggingActive)){this.debugService.removeBreakpoints([]);let o=await pn(t.session.kernel,this.waitForDebugClientCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure starting debug session for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"});o.some(s=>s.output_type==="error")?p.warn(`${this.debuggerPackage} not found in path.`):p.info(`import startup: ${e_(o)}`),await this.disable(t)}}async connect(e,t){let r=e.notebook,i=r,o=this.configs.get(i);if(o)return{...o,...t};p.info("enable debugger attach"),await this.appendDebuggerPaths(e),o={type:"python",name:"IPython",request:"attach",...t};let{host:s,port:a}=await this.connectToLocal(e);if(o.host=s,o.port=a,o.port){this.configs.set(r,o);let l=[],c=()=>{this.configs.delete(i),l.forEach(u=>u.dispose())};l.push(e.onDisposed(c)),l.push(e.onRestarted(c))}return o}async calculateDebuggerPathList(e){let t=[],r=this.configService.getSettings(e.resourceUri).debugpyDistPath;if(r&&(this.platform.isWindows&&(r=r.replace(/\\/g,"\\\\")),t.push(r)),ct(e.kernelConnectionMetadata)){let i=await this.getDebuggerPath();this.platform.isWindows&&(i=i.replace(/\\/g,"\\\\")),t.push(i)}if(t&&t.length>0)return t.reduce((i,o)=>(i.length===0?i=`'${o}'`:i=`${i}, '${o}'`,i),"")}getDebuggerPath(){return this.apiProvider.getApi().then(e=>e.getDebuggerPath())}async appendDebuggerPaths(e){let t=await this.calculateDebuggerPathList(e);if(t&&t.length>0){let r=e.session?.kernel?await pn(e.session.kernel,`import sys as _VSCODE_sys\r
_VSCODE_sys.path.extend([${t}])\r
_VSCODE_sys.path\r
del _VSCODE_sys`,{traceErrors:!0,traceErrorsMessage:"Execute_request failure appending debugger paths for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}):[];p.info(`Appending paths: ${e_(r)}`)}}async connectToLocal(e){let t=e.session?.kernel?await pn(e.session.kernel,this.enableDebuggerCode,{traceErrors:!0,traceErrorsMessage:"Execute_request failure enabling debugging for IW",telemetryName:"DATASCIENCE.INTERACTIVE_WINDOW_DEBUG_SETUP_CODE_FAILURE"}):[];if(t.length>0)for(let r of t){let i=e_([r]);if(i){i=Bp(i);let s=/\('(.*?)', ([0-9]*)\)/.exec(i);if(s)return{port:parseInt(s[2],10),host:s[1]}}}if(t.length>0&&t[0].output_type==="error"){let r=t[0];throw new Nw(this.debuggerPackage,r.ename,e.kernelConnectionMetadata)}throw new Nw(y.jupyterDebuggerOutputParseError(this.debuggerPackage),void 0,e.kernelConnectionMetadata)}};Ub=v([(0,yu.injectable)(),m(0,(0,yu.inject)(Ht)),m(1,(0,yu.inject)(ie)),m(2,(0,yu.inject)(Ea)),m(2,(0,yu.named)(je.MULTIPLEXING_DEBUGSERVICE)),m(3,(0,yu.inject)(br))],Ub);var rc=k(N()),Sp=require("vscode");var n0=class{constructor(e,t,r){this.debugAdapter=e;this.debugCell=t;this.execution=r;this._ready=re();this.ready=this._ready.promise;R("DATASCIENCE.DEBUGGING.SUCCESSFULLY_STARTED_RUN_AND_DEBUG_CELL")}trace(e,t){p.debug(`[Debug-IW] ${e}: ${t}`)}async willSendEvent(e){return KO(e)?(this.trace("intercept","debugpyAttach request for subprocess, not supported"),!0):e.event==="output"&&bw(e.body.output)?(this.trace("intercept","justMyCode notification"),!0):!1}async willSendRequest(e){let t=rs(this.debugCell);e.command==="setBreakpoints"&&t&&t.generatedCode&&!this.cellDumpInvoked&&(this.debugCellDumped||(this.debugCellDumped=hf(this.execution,this.debugAdapter)),await this.debugCellDumped),e.command==="configurationDone"&&t&&t.generatedCode&&(this.debugCellDumped||(this.debugCellDumped=hf(this.execution,this.debugAdapter)),await this.debugCellDumped,this._ready.resolve())}};var i0=class extends ib{constructor(){super(...arguments);this._ready=re();this.ready=this._ready.promise}resolve(){this._ready.resolve()}};var jO=require("vscode");var o0=class extends sb{constructor(t,r,i,o,s,a,l){super(t,r,i,o,s,a);this.cellToDebugFileSortedInReverseOrderByLineNumber=[];l&&(this.debugLocationTracker=l.createDebugAdapterTracker(t),this.debugLocationTracker.onWillStartSession&&this.debugLocationTracker.onWillStartSession(),this.onDidSendMessage(c=>{this.debugLocationTracker?.onDidSendMessage&&this.debugLocationTracker.onDidSendMessage(c)},this,this.disposables),this.onDidEndSession(()=>{this.debugLocationTracker?.onWillStopSession&&this.debugLocationTracker.onWillStopSession()},this,this.disposables))}handleClientMessageAsync(t){return p.ci(`KernelDebugAdapter::handleMessage ${JSON.stringify(t,void 0," ")}`),t.type==="request"&&this.debugLocationTracker?.onWillReceiveMessage&&this.debugLocationTracker.onWillReceiveMessage(t),t.type==="response"&&this.debugLocationTracker?.onDidSendMessage&&this.debugLocationTracker.onDidSendMessage(t),super.handleClientMessageAsync(t)}async dumpCell(t){let r=this.notebookDocument.cellAt(t),i=rs(r);if(!i)throw new Error("Not an interactive window cell");try{let o=(i.generatedCode?.code||r.document.getText()).replace(/\r\n/g,`
`),s=await this.session.customRequest("dumpCell",{code:o}),a=hn(s.sourcePath);this.fileToCell.set(a,jO.Uri.parse(i.interactive.uristring));let l=0;i.generatedCode&&!i.generatedCode.hasCellMarker&&(l=i.generatedCode.firstNonBlankLineIndex),this.cellToDebugFileSortedInReverseOrderByLineNumber.push({debugFilePath:a,interactiveWindow:jO.Uri.parse(i.interactive.uristring),metadata:i,lineOffset:l+i.interactive.lineIndex+(i.generatedCode?.lineOffsetRelativeToIndexOfFirstLineInCell||0)}),this.cellToDebugFileSortedInReverseOrderByLineNumber.sort((c,u)=>u.metadata.interactive.lineIndex-c.metadata.interactive.lineIndex)}catch(o){p.error(`Failed to dump cell for ${r.index} with code ${i.interactive.originalSource}`,o)}}translateDebuggerLocationToRealLocation(t,r){if(r=t?.source??r,!r||!r.path)return;let i=this.cellToDebugFileSortedInReverseOrderByLineNumber.find(o=>o.debugFilePath===r.path);i&&(r.name=Ce(i.interactiveWindow.path),r.path=i.interactiveWindow.toString(),typeof t?.endLine=="number"&&(t.endLine=t.endLine+(i.lineOffset||0)),typeof t?.line=="number"&&(t.line=t.line+(i.lineOffset||0)))}translateRealLocationToDebuggerLocation(t,r){let i=t.line;if(r=t?.source??r,!r||!r.path||typeof i!="number")return;let o=this.cellToDebugFileSortedInReverseOrderByLineNumber.find(s=>i>=s.metadata.interactive.lineIndex+1);!o||o.interactiveWindow.path!==r.path||(r.path=o.debugFilePath,typeof t?.endLine=="number"&&(t.endLine=t.endLine-(o.lineOffset||0)),typeof t?.line=="number"&&(t.line=t.line-(o.lineOffset||0)))}async sendRequestToJupyterSession(t){if(t.command==="setBreakpoints"){let r=t.arguments;if(delete r.lines,r.source.path!==this.cellToDebugFileSortedInReverseOrderByLineNumber[0]?.interactiveWindow.path)return super.sendRequestToJupyterSession(t);let i,o=[],s=[],a=()=>{if(o.length){let u=JSON.parse(JSON.stringify(t));u.arguments.breakpoints=o,s.push(super.sendRequestToJupyterSession(u))}};for(let u of t.arguments.breakpoints??[]){let d=this.cellToDebugFileSortedInReverseOrderByLineNumber.find(f=>u.line>=f.metadata.generatedCode.line&&u.line<=f.metadata.generatedCode.endLine);if(d&&d.metadata.interactive.lineIndex!==i)a(),i=d.metadata.interactive.lineIndex,o=[u];else if(d)o.push(u);else{let f={...u,verified:!0};s.push(Promise.resolve({body:{breakpoints:[f]}}))}}a();let l=await Promise.all(s),c=JSON.parse(JSON.stringify(l[0]));return l.slice(1).forEach(u=>{c.body.breakpoints=c.body.breakpoints.concat(u.body.breakpoints??[])}),c.command="setBreakpoints",c.type="response",c.success=!0,c.request_seq=t.seq,c}return super.sendRequestToJupyterSession(t)}getDumpFilesForDeletion(){return this.cellToDebugFileSortedInReverseOrderByLineNumber.map(t=>t.debugFilePath)}};var s4=require("vscode");var s0=class{constructor(e){this.debugCell=e}trace(e,t){p.debug(`[Debug-IWRestart] ${e}: ${t}`)}async willSendResponse(e){e.command==="initialize"&&e.body&&(e.body.supportsRestartRequest=!0)}async willSendRequest(e){if(e.command==="restart")return this.trace("restart","Showing warning for unsupported restart request"),s4.window.showWarningMessage(y.restartNotSupported,{modal:!0}).then(h,h),{command:e.command,request_seq:e.seq,seq:e.seq,success:!0,type:"response"}}};var Wb=class extends ob{constructor(t,r,i,o,s,a,l){super(t,r,l);this.platform=i;this.debugLocationTrackerFactory=o;this.configService=s;this.debugService=a}activate(){super.activate(),this.disposables.push(Sp.debug.registerDebugAdapterDescriptorFactory(NS,{createDebugAdapterDescriptor:async t=>this.createDebugAdapterDescriptor(t)}))}getDebugMode(t){return 2}async start(t,r){p.ci("Starting debugging IW"),await this.checkIpykernelAndPrompt(r)===1&&await this.startDebuggingCell(t,r)}async startDebuggingCell(t,r){let i=this.configService.getSettings(t.uri),o={type:NS,name:Ce(t.uri.toString()),request:"attach",justMyCode:i.debugJustMyCode,__notebookUri:t.uri.toString(),__mode:2,__cellIndex:r.index},s={suppressSaveBeforeStart:!0};await this.startDebuggingConfig(o,s);let a=this.notebookToDebugger.get(t);if(!a){p.error("Debugger not found, could not start debugging.");return}await a.ready}async createDebugAdapterDescriptor(t){let r=t.configuration;Gq(r);let i=Sp.workspace.notebookDocuments.find(s=>s.uri.toString()===r.__notebookUri);if(!i||typeof r.__cellIndex!="number"){p.error("Invalid debug session for debugging of IW using Jupyter Protocol");return}if(this.notebookInProgress.has(i)){p.info("Cannot start debugging. Already debugging this notebook");return}if(this.isDebugging(i)){p.info("Cannot start debugging. Already debugging this notebook document. Toolbar should update");return}let o=new i0(i,r,t);this.notebookToDebugger.set(i,o);try{return this.notebookInProgress.add(i),await this.doCreateDebugAdapterDescriptor(r,t,i,o)}finally{this.notebookInProgress.delete(i)}}async doCreateDebugAdapterDescriptor(t,r,i,o){let s=await this.ensureKernelIsRunning(i);if(!s?.session){Sp.window.showInformationMessage(y.kernelWasNotStarted).then(h,h);return}let a=new o0(r,i,s.session,s,this.platform,this.debugService,this.debugLocationTrackerFactory);this.disposables.push(a.onDidEndSession(this.endSession.bind(this)));let l=i.cellAt(t.__cellIndex),c=new n0(a,l,this.kernelProvider.getKernelExecution(s));return a.addDebuggingDelegates([c,new s0(l)]),c.ready.then(()=>o.resolve()).catch(u=>console.error("Failed waiting for controller to be ready",u)),this.trackDebugAdapter(i,a),new Sp.DebugAdapterInlineImplementation(a)}async updateSourceMaps(t,r){let i=this.getDebugSession(t.notebook);i&&(p.ci("Sending debug request for source map"),await Promise.all(r.map(async o=>{if(i)return i.customRequest("setPydevdSourceMap",r0(o))})))}};Wb=v([(0,rc.injectable)(),m(0,(0,rc.inject)(De)),m(1,(0,rc.inject)(ot)),m(2,(0,rc.inject)(br)),m(3,(0,rc.inject)(vT)),m(4,(0,rc.inject)(ie)),m(5,(0,rc.inject)(_i)),m(6,(0,rc.inject)(rt))],Wb);var Mw=k(N()),Kw=require("vscode");var a4="InteractiveShiftEnterBanner";var Cp=class{constructor(e,t){this.persistentState=e;this.configuration=t;this.disabledInCurrentSession=!1;this.bannerMessage=fA.bannerMessage;this.bannerLabels=[de.bannerLabelYes,de.bannerLabelNo];this.initialize()}initialize(){this.initialized||(this.initialized=!0,this.isEnabled())}isEnabled(){return this.persistentState.createGlobalPersistentState("InteractiveShiftEnterBanner",!0).value}async showBanner(){if(!this.isEnabled()||!await this.shouldShowBanner())return;switch(R("DS_INTERNAL.SHIFTENTER_BANNER_SHOWN"),await Kw.window.showInformationMessage(this.bannerMessage,...this.bannerLabels)){case this.bannerLabels[0]:{await this.enableInteractiveShiftEnter();break}case this.bannerLabels[1]:{await this.disableInteractiveShiftEnter();break}default:this.disabledInCurrentSession=!0}}async shouldShowBanner(){let e=this.configuration.getSettings();return Promise.resolve(this.isEnabled()&&!this.disabledInCurrentSession&&!e.sendSelectionToInteractiveWindow)}async disableInteractiveShiftEnter(){await this.configuration.updateSetting("interactiveWindow.textEditor.executeSelection",!1,void 0,Kw.ConfigurationTarget.Global),await this.disableBanner()}async enableInteractiveShiftEnter(){await this.configuration.updateSetting("interactiveWindow.textEditor.executeSelection",!0,void 0,Kw.ConfigurationTarget.Global),await this.disableBanner()}async disableBanner(){await this.persistentState.createGlobalPersistentState("InteractiveShiftEnterBanner",!1).updateValue(!1)}};v([Hr("DATASCIENCE.DISABLE_INTERACTIVE_SHIFT_ENTER")],Cp.prototype,"disableInteractiveShiftEnter",1),v([Hr("DATASCIENCE.ENABLE_INTERACTIVE_SHIFT_ENTER")],Cp.prototype,"enableInteractiveShiftEnter",1),Cp=v([(0,Mw.injectable)(),m(0,(0,Mw.inject)(il)),m(1,(0,Mw.inject)(ie))],Cp);var Ef=k(N()),l4=require("vscode");var Vb=class{constructor(e,t,r,i){this.configService=e;this.fs=t;this.context=r;this.registry=i;this.priority=5}activate(){this.registry.register(this,ft)}async getCode(e){if(!dt(e.kernelConnectionMetadata))return[];if(!tn()){if(this.configService.getSettings(void 0).forceIPyKernelDebugger===!0)return[];if(!ct(e.kernelConnectionMetadata))return[]}if(e.notebook?.notebookType===ft){if(!ct(e.kernelConnectionMetadata))return[];this.addRunCellHookContents||(this.addRunCellHookContents=this.fs.readFile(l4.Uri.joinPath(this.context.extensionUri,"pythonFiles","vscode_datascience_helpers","kernel","addRunCellHook.py")));let t=await this.addRunCellHookContents;return Oe(t,{trim:!1})}return[]}};Vb=v([(0,Ef.injectable)(),m(0,(0,Ef.inject)(ie)),m(1,(0,Ef.inject)(tt)),m(2,(0,Ef.inject)(et)),m(3,(0,Ef.inject)(kc))],Vb);var Jb=k(N()),Bb=require("vscode");var jb=class{constructor(e,t,r){this.dataScienceCodeLensProvider=e;this.extensionContext=t;this.configurationService=r}activate(){this.configurationService.getSettings().pythonCellFolding&&this.extensionContext.subscriptions.push(Bb.languages.registerFoldingRangeProvider([fE],this))}provideFoldingRanges(e,t,r){if([bc,hE].includes(e.uri.scheme))return;let i=this.dataScienceCodeLensProvider.getCodeWatcher(e);if(i){let o=i.getCodeLenses();return r.isCancellationRequested||o.length==0?void 0:o.map(s=>new Bb.FoldingRange(s.range.start.line,s.range.end.line,Bb.FoldingRangeKind.Region))}}};jb=v([(0,Jb.injectable)(),m(0,(0,Jb.inject)(gp)),m(1,(0,Jb.inject)(et)),m(2,(0,Jb.inject)(ie))],jb);var Ow=k(N());var c4=require("vscode");var $b=class{constructor(e,t){this.dataScienceCodeLensProvider=e;this.extensionContext=t}activate(){this.extensionContext.subscriptions.push(c4.languages.registerCodeLensProvider([fE],this.dataScienceCodeLensProvider))}};$b=v([(0,Ow.injectable)(),m(0,(0,Ow.inject)(gp)),m(1,(0,Ow.inject)(et))],$b);var qs=k(N());var JO="LastInteractiveKernelSelected",qb=class{constructor(e,t,r,i,o){this.controllerRegistration=e;this.interpreterService=t;this.disposables=r;this.workspaceMemento=i;this.serviceContainer=o;this.onControllerSelected=this.controllerRegistration.onControllerSelected}async getInitialController(e,t){if(t){let r=this.controllerRegistration.get(t,ft);if(r)return r}if(this.workspaceMemento.get(JO)){let r=this.workspaceMemento.get(JO),i=r?this.controllerRegistration.get(r,ft):void 0;if(i)return i}if(this.interpreterService)return await Tme(ft,e,this.interpreterService,this.controllerRegistration)}getSelectedController(e){return this.controllerRegistration.getSelected(e)}getRegisteredController(e){return this.controllerRegistration.get(e,"interactive")}async createKernel(e,t,r,i,o){await Fs(r,e);let s=(u,d)=>{u!=="start"&&u!=="restart"||p.ci(`(onStart) Looking for controller ${d.controller.id} in ${this.controllerRegistration.all.map(f=>`${f.kind}:${f.id}`).join(", ")}`)},a=await js.connectToNotebookKernel(e,this.serviceContainer,{resource:r||i.uri,notebook:i,controller:t},new Jt(!1),o,"jupyterExtension",s),l=this.controllerRegistration.registered.find(u=>u.id===a.controller.id);if(!l)throw Error(`Controller ${a.controller.id} not found or not yet created`);let c=l.controller;return this.interpreterService&&Rme(a.kernelConnectionMetadata,r,this.interpreterService).then(async u=>{await this.workspaceMemento.update(JO,u?void 0:a.kernelConnectionMetadata)}).catch(u=>{p.warn("Failed to store kernel connection metadata",u)}),{kernel:a,actualController:c}}};qb=v([(0,qs.injectable)(),m(0,(0,qs.inject)(ot)),m(1,(0,qs.inject)(Xe)),m(1,(0,qs.optional)()),m(2,(0,qs.inject)(M)),m(3,(0,qs.inject)(We)),m(3,(0,qs.named)(ei)),m(4,(0,qs.inject)(rt))],qb);async function Tme(n,e,t,r){let i=await t.getActiveInterpreter(e);if(i){let o=await Ps(i),s=Ko.create({kernelSpec:o,interpreter:i,id:ki(o,i)}),a=r.addOrUpdate(s,[n]),l=a[0];return r.trackActiveInterpreterControllers(a),p.ci(`Active Interpreter Controller ${l.connection.kind}:${l.id} created for View ${n} with resource ${j(e)}`),l}}async function Rme(n,e,t){return(await t.getActiveInterpreter(e))?.id===n.interpreter?.id}function u4(n){n.addSingleton(Ki,Kb),n.addSingleton($T,qb),n.addSingleton(me,ko),n.addSingleton(me,Nb),n.add(jT,qt),n.addSingleton(JT,Db),n.addSingleton(gp,_b),n.addSingleton(me,$b),n.addSingleton(me,jb),n.addSingleton(me,Tb),n.addSingleton(me,Ob),n.addSingleton(me,Vb),n.addSingleton(Pb,kb,void 0,[me]),n.addSingleton(Bs,Ab),n.addSingleton(qh,Fb),n.addSingleton(BT,Ub),n.addSingleton(qT,Wb,void 0,[me]),n.addSingleton(O2,Cp,a4)}var wp=k(N()),nc=require("vscode");var Hb=class{constructor(e,t,r){this.jupyterServerHelper=e;this.fileSystem=t;this.errorHandler=r;this.extractPythonMainVersion=async()=>{if(!this.jupyterServerHelper)return 3;let e=await this.jupyterServerHelper.getUsableJupyterPython(),t=await qu(e);return e&&t&&t.major||3}}async exportToFile(e,t,r=!0){let i=await this.serialize(e);try{if(await this.fileSystem.writeFile(nc.Uri.file(t),i||""),!r)return;let o=y.exportOpenQuestion1;nc.window.showInformationMessage(y.exportDialogComplete(t),o).then(async s=>{try{s===o&&await GT(nc.Uri.file(t))}catch(a){await this.errorHandler.handleError(a)}},h)}catch(o){p.error("Error in exporting notebook file"),nc.window.showInformationMessage(y.exportDialogFailed(o)).then(h,h)}}async serialize(e,t){let r=await this.extractPythonMainVersion(),i={language_info:{codemirror_mode:{name:"ipython",version:r},file_extension:".py",mimetype:"text/x-python",name:"python",nbconvert_exporter:"python",pygments_lexer:`ipython${r}`,version:r},kernelspec:t},o=nc.extensions.getExtension("vscode.ipynb")?.exports;if(!o)throw new Error("vscode.ipynb extension not found");let s=new nc.NotebookData(e);return s.metadata={metadata:i,nbformat:fR.major,nbformat_minor:fR.minor},o.exportNotebook(s)}};Hb=v([(0,wp.injectable)(),m(0,(0,wp.inject)(od)),m(0,(0,wp.optional)()),m(1,(0,wp.inject)(tt)),m(2,(0,wp.inject)(Gr))],Hb);var Ep=k(N()),d4=require("vscode");var Gb=class{constructor(e,t,r,i,o){this.fs=e;this.disposableRegistry=t;this.configuration=r;this.nbConvertDependencyChecker=i;this.exportToPythonService=o;this.isDisposed=!1;this.nbconvertBaseTemplateFormat=`{%- extends '{0}' -%}
{% block codecell %}
{1}
{{ super() }}
{% endblock codecell %}
{% block in_prompt %}{% endblock in_prompt %}
{% block input %}{{ cell.source | ipython2python }}{% endblock input %}
{% block markdowncell scoped %}{1} [markdown]
{{ cell.source | comment_lines }}
{% endblock markdowncell %}`;this.nbconvert5Null="null.tpl";this.nbconvert6Null="base/null.j2";this.dispose=()=>{this.isDisposed=!0};this.addInstructionComments=e=>y.instructionComments(this.defaultCellMarker).concat(e);this.addIPythonImport=e=>gS(Xf.ImportIPython,this.defaultCellMarker,e)}async importFromFile(e,t){let r=await this.nbConvertDependencyChecker.getNbConvertVersion(t);if(r){let i;r.major>=6?(this.template6Promise||(this.template6Promise=this.createTemplateFile(!0)),i=await this.template6Promise):(this.template5Promise||(this.template5Promise=this.createTemplateFile(!1)),i=await this.template5Promise);let o=await this.exportToPythonService.exportNotebookToPython(e,t,i);return o.includes("get_ipython()")&&(o=this.addIPythonImport(o)),this.addInstructionComments(o)}throw new Error(y.jupyterNbConvertNotSupported)}get defaultCellMarker(){return this.configuration.getSettings().defaultCellMarker||je.DefaultCodeCellMarker}async createTemplateFile(e){let t=await this.fs.createTemporaryLocalFile(".tpl");if(t)try{return this.disposableRegistry.push(t),await this.fs.writeFile(d4.Uri.file(t.filePath),gS(this.nbconvertBaseTemplateFormat,e?this.nbconvert6Null:this.nbconvert5Null,this.defaultCellMarker)),t.filePath}catch{}}};Gb=v([(0,Ep.injectable)(),m(0,(0,Ep.inject)(lr)),m(1,(0,Ep.inject)(M)),m(2,(0,Ep.inject)(ie)),m(3,(0,Ep.inject)(rg)),m(4,(0,Ep.inject)(pk))],Gb);var Hs=k(N());var ns=require("vscode");var a0=class{constructor(e,t,r,i,o,s){this.fileConverter=e;this.fs=t;this.interactiveProvider=r;this.controllerRegistration=i;this.preferredKernel=o;this.kernelFinder=s;this.disposables=[]}register(){this.registerCommand(B.ExportAsPythonScript,(e,t)=>this.export(e,"python",void 0,t)),this.registerCommand(B.ExportToHTML,(e,t,r)=>this.export(e,"html",t,r)),this.registerCommand(B.ExportToPDF,(e,t,r)=>this.export(e,"pdf",t,r)),this.registerCommand(B.Export,(e,t,r)=>this.export(e,void 0,t,r)),this.registerCommand(B.NativeNotebookExport,e=>this.nativeNotebookExport(e))}dispose(){this.disposables.forEach(e=>e.dispose())}registerCommand(e,t){let r=ns.commands.registerCommand(e,t,this);this.disposables.push(r)}async nativeNotebookExport(e){let t=fn(e)?e:e?.notebookEditor?.notebookUri,r=t?ns.workspace.notebookDocuments.find(i=>this.fs.arePathsSame(i.uri,t)):ns.window.activeNotebookEditor?.notebook;if(r){let i,o=this.kernelFinder.registered.find(l=>l.kind==="localPythonEnvironment"),s=new ns.CancellationTokenSource;try{i=o?await this.preferredKernel.findPreferredLocalKernelSpecConnection(r,o,s.token).then(l=>l?.interpreter):void 0}finally{s.dispose()}let a=this.controllerRegistration.getSelected(r)?.connection.interpreter||i;return this.export(r,void 0,void 0,a)}else return this.export(void 0,void 0,void 0,void 0)}async export(e,t,r,i){if(!e){if(e=ns.window.activeNotebookEditor?.notebook||this.interactiveProvider?.getActiveOrAssociatedInteractiveWindow()?.notebookDocument,!e){p.info("Export called without a valid exportable document active");return}i=i||this.controllerRegistration.getSelected(e)?.connection.interpreter,t&&R("DATASCIENCE.EXPORT_NOTEBOOK_AS_COMMAND",void 0,{format:t})}if(t)await this.fileConverter.export(t,e,r,i);else{let o=await this.showExportQuickPickMenu(e,r,i).then(s=>s);o!==void 0?o.handler():R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK")}}getExportQuickPickItems(e,t,r){let i=[];return(r||e.metadata&&ek(co(e)))&&i.push({label:y.exportPythonQuickPickLabel,picked:!0,handler:()=>{R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",void 0,{format:"python"}),ns.commands.executeCommand(B.ExportAsPythonScript,e,r).then(h,h)}}),i.push({label:y.exportHTMLQuickPickLabel,picked:!1,handler:()=>{R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",void 0,{format:"html"}),ns.commands.executeCommand(B.ExportToHTML,e,t,r).then(h,h)}},{label:y.exportPDFQuickPickLabel,picked:!1,handler:()=>{R("DATASCIENCE.CLICKED_EXPORT_NOTEBOOK_AS_QUICK_PICK",void 0,{format:"pdf"}),ns.commands.executeCommand(B.ExportToPDF,e,t,r).then(h,h)}}),i}async showExportQuickPickMenu(e,t,r){let i=this.getExportQuickPickItems(e,t,r),o={ignoreFocusOut:!1,matchOnDescription:!0,matchOnDetail:!0,placeHolder:y.exportAsQuickPickPlaceholder};return ns.window.showQuickPick(i,o)}};var l0=require("vscode");var zb=class{constructor(e,t,r,i,o,s,a){this.disposables=e;this.fileConverter=t;this.fs=r;this.interactiveProvider=i;this.controllerSelection=o;this.kernelFinder=s;this.jupyterConnection=a;this.exportCommand=new a0(this.fileConverter,this.fs,this.interactiveProvider,o,new cp(a),s),l0.workspace.isTrusted||l0.workspace.onDidGrantWorkspaceTrust(this.registerCommandsIfTrusted,this,this.disposables)}activate(){this.registerCommandsIfTrusted()}registerCommandsIfTrusted(){l0.workspace.isTrusted&&this.exportCommand?.register()}};zb=v([(0,Hs.injectable)(),m(0,(0,Hs.inject)(M)),m(1,(0,Hs.inject)(db)),m(2,(0,Hs.inject)(tt)),m(3,(0,Hs.inject)(Ki)),m(3,(0,Hs.optional)()),m(4,(0,Hs.inject)(ot)),m(5,(0,Hs.inject)(kr)),m(6,(0,Hs.inject)(on))],zb);var Pp=k(N()),Yb=require("vscode");var p4=require("vscode");var BO="JVSC_NEVER_PROMPT_EXTENSIONS_LIST",Ame=new Map([["ms-dotnettools.dotnet-interactive-vscode",{displayName:".NET Interactive Notebooks Preview",extensionLink:"https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode"}]]),Nme=new Map([["c#","ms-dotnettools.dotnet-interactive-vscode"],["csharp","ms-dotnettools.dotnet-interactive-vscode"],["f#","ms-dotnettools.dotnet-interactive-vscode"],["fsharp","ms-dotnettools.dotnet-interactive-vscode"],["powershell","ms-dotnettools.dotnet-interactive-vscode"]]),Qb=class{constructor(e,t,r){this.controllerManager=e;this.globalMemento=r;this.disposables=[];this.recommendedInSession=new Set;t.push(this)}dispose(){z(this.disposables)}activate(){Yb.workspace.onDidOpenNotebookDocument(this.onDidOpenNotebookDocument,this,this.disposables),this.controllerManager.onControllerSelected(this.onNotebookControllerSelected,this,this.disposables)}onDidOpenNotebookDocument(e){if(!Et(e))return;let t=rk(co(e));t&&this.recommendExtensionForLanguage(t).catch(h)}onNotebookControllerSelected({controller:e}){if(e.connection.kind!=="startUsingLocalKernelSpec"&&e.connection.kind!=="startUsingRemoteKernelSpec"||dt(e.connection))return;let t=po(e.connection);t&&this.recommendExtensionForLanguage(t).catch(h)}async recommendExtensionForLanguage(e){let t=Nme.get(e.toLowerCase());if(!t||p4.extensions.getExtension(t))return;let r=Ame.get(t);if(!r||this.globalMemento.get(BO,[]).includes(t)||this.recommendedInSession.has(t))return;this.recommendedInSession.add(t);let i=y.recommendExtensionForNotebookLanguage(`[${r.displayName}](${r.extensionLink})`,e);switch(R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"displayed"}),await Yb.window.showInformationMessage(i,de.bannerLabelYes,de.bannerLabelNo,de.doNotShowAgain)){case de.bannerLabelYes:{R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"ok"}),Yb.commands.executeCommand("extension.open",t).then(h,h);break}case de.bannerLabelNo:{R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"cancel"});break}case de.doNotShowAgain:{R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"doNotShowAgain"});let s=this.globalMemento.get(BO,[]);s.includes(t)||(s.push(t),await this.globalMemento.update(BO,s));break}default:R("DATASCIENCE.RECOMMENT_EXTENSION",void 0,{extensionId:t,action:"dismissed"})}}};Qb=v([(0,Pp.injectable)(),m(0,(0,Pp.inject)(ot)),m(1,(0,Pp.inject)(M)),m(2,(0,Pp.inject)(We)),m(2,(0,Pp.named)(lt))],Qb);var ic=k(N()),Oi=require("vscode");var Xb=class{constructor(e,t,r,i,o){this.interactiveProvider=e;this.kernelProvider=r;this.controllers=i;this.jupyterUriProviderRegistration=o;this.disposables=[];this.isPythonFileActive=!1;t.push(this),this.nativeContext=new tr(mr.IsNativeActive),this.canRestartNotebookKernelContext=new tr(mr.CanRestartNotebookKernel),this.canInterruptNotebookKernelContext=new tr(mr.CanInterruptNotebookKernel),this.canRestartInteractiveWindowKernelContext=new tr(mr.CanRestartInteractiveWindowKernel),this.canInterruptInteractiveWindowKernelContext=new tr(mr.CanInterruptInteractiveWindowKernel),this.interactiveContext=new tr(mr.IsInteractiveActive),this.interactiveOrNativeContext=new tr(mr.IsInteractiveOrNativeActive),this.pythonOrNativeContext=new tr(mr.IsPythonOrNativeActive),this.pythonOrInteractiveContext=new tr(mr.IsPythonOrInteractiveActive),this.pythonOrInteractiveOrNativeContext=new tr(mr.IsPythonOrInteractiveOrNativeActive),this.hasNativeNotebookCells=new tr(mr.HaveNativeCells),this.isPythonNotebook=new tr(mr.IsPythonNotebook),this.isJupyterKernelSelected=new tr(mr.IsJupyterKernelSelected),this.hasNativeNotebookOrInteractiveWindowOpen=new tr(mr.HasNativeNotebookOrInteractiveWindowOpen),this.kernelSourceContext=new tr(mr.KernelSource)}dispose(){this.disposables.forEach(e=>e.dispose())}activate(){Oi.window.onDidChangeActiveTextEditor(this.onDidChangeActiveTextEditor,this,this.disposables),this.kernelProvider.onKernelStatusChanged(this.onDidKernelStatusChange,this,this.disposables),this.interactiveProvider&&(this.interactiveProvider.onDidChangeActiveInteractiveWindow(this.onDidChangeActiveInteractiveWindow,this,this.disposables),this.interactiveProvider.activeWindow&&this.onDidChangeActiveInteractiveWindow()),Oi.window.activeNotebookEditor&&this.onDidChangeActiveNotebookEditor(Oi.window.activeNotebookEditor),Oi.window.onDidChangeActiveNotebookEditor(this.onDidChangeActiveNotebookEditor,this,this.disposables),Oi.window.activeTextEditor?.document.languageId===ge&&this.onDidChangeActiveTextEditor(Oi.window.activeTextEditor),Oi.window.onDidChangeNotebookEditorSelection(this.updateNativeNotebookInteractiveWindowOpenContext,this,this.disposables),Oi.workspace.onDidOpenNotebookDocument(this.updateNativeNotebookInteractiveWindowOpenContext,this,this.disposables),Oi.workspace.onDidCloseNotebookDocument(this.updateNativeNotebookInteractiveWindowOpenContext,this,this.disposables),this.controllers.onControllerSelectionChanged(()=>this.updateSelectedKernelContext(),this,this.disposables),this.updateSelectedKernelContext()}updateNativeNotebookCellContext(){let e=(Oi.window.activeNotebookEditor?.notebook.cellCount||0)>0;this.hasNativeNotebookCells.set(e).catch(h)}onDidChangeActiveInteractiveWindow(e){this.interactiveContext.set(!!e).catch(h),this.updateNativeNotebookInteractiveWindowOpenContext(),this.updateMergedContexts(),this.updateContextOfActiveInteractiveWindowKernel()}onDidChangeActiveNotebookEditor(e){let t=e?e.notebook.notebookType===St:!1;this.nativeContext.set(t).catch(h),this.isPythonNotebook.set(e&&t?ek(co(e.notebook)):!1).catch(h),this.updateContextOfActiveNotebookKernel(e),this.updateContextOfActiveInteractiveWindowKernel(),this.updateNativeNotebookInteractiveWindowOpenContext(),this.updateNativeNotebookCellContext(),this.updateMergedContexts()}updateNativeNotebookInteractiveWindowOpenContext(){this.hasNativeNotebookOrInteractiveWindowOpen.set(Oi.workspace.notebookDocuments.some(e=>e.notebookType===St||e.notebookType===ft)).catch(h)}updateContextOfActiveNotebookKernel(e){let t=e&&e.notebook.notebookType===St?this.kernelProvider.get(e.notebook):void 0;if(t){let r=this.kernelProvider.getKernelExecution(t),i=t.status!=="unknown"||r.executionCount>0||t.startedAtLeastOnce;this.canRestartNotebookKernelContext.set(!!i).catch(h);let o=t.status==="busy";this.canInterruptNotebookKernelContext.set(!!o).catch(h)}else this.canRestartNotebookKernelContext.set(!1).catch(h),this.canInterruptNotebookKernelContext.set(!1).catch(h);this.updateKernelSourceContext(t).catch(h),this.updateSelectedKernelContext()}async updateKernelSourceContext(e){if(!e||!_t(e.kernelConnectionMetadata)){this.kernelSourceContext.set("").catch(h);return}let t=e.kernelConnectionMetadata,r=await this.jupyterUriProviderRegistration.jupyterCollections.find(i=>i.extensionId===t.serverProviderHandle.extensionId&&i.id===t.serverProviderHandle.id);if(!r){this.kernelSourceContext.set("").catch(h);return}this.kernelSourceContext.set(r.id).catch(h)}updateSelectedKernelContext(){let e=Oi.window.activeNotebookEditor?.notebook||this.interactiveProvider?.getActiveOrAssociatedInteractiveWindow()?.notebookDocument;e&&Et(e)&&this.controllers.getSelected(e)?this.isJupyterKernelSelected.set(!0).catch(h):this.isJupyterKernelSelected.set(!1).catch(h)}updateContextOfActiveInteractiveWindowKernel(){let e=this.interactiveProvider?.getActiveOrAssociatedInteractiveWindow()?.notebookDocument,t=e?this.kernelProvider.get(e):void 0;if(t){let r=t.status!=="unknown";this.canRestartInteractiveWindowKernelContext.set(!!r).catch(h);let i=t.status==="busy";this.canInterruptInteractiveWindowKernelContext.set(!!i).catch(h)}else this.canRestartInteractiveWindowKernelContext.set(!1).catch(h),this.canInterruptInteractiveWindowKernelContext.set(!1).catch(h);this.updateSelectedKernelContext()}onDidKernelStatusChange({kernel:e}){let t=e.notebook;t.notebookType===ft?this.updateContextOfActiveInteractiveWindowKernel():t.notebookType===St&&t===Oi.window.activeNotebookEditor?.notebook&&this.updateContextOfActiveNotebookKernel(Oi.window.activeNotebookEditor)}onDidChangeActiveTextEditor(e){this.isPythonFileActive=e?.document.languageId===ge&&!gU(e.document.uri),this.updateNativeNotebookCellContext(),this.updateMergedContexts(),this.updateContextOfActiveInteractiveWindowKernel()}updateMergedContexts(){this.interactiveOrNativeContext.set(this.nativeContext.value===!0||this.interactiveContext.value===!0).catch(h),this.pythonOrNativeContext.set(this.nativeContext.value===!0||this.isPythonFileActive===!0).catch(h),this.pythonOrInteractiveContext.set(this.interactiveContext.value===!0||this.isPythonFileActive===!0).catch(h),this.pythonOrInteractiveOrNativeContext.set(this.nativeContext.value===!0||this.interactiveContext.value===!0&&this.isPythonFileActive===!0).catch(h)}};Xb=v([(0,ic.injectable)(),m(0,(0,ic.inject)(Ki)),m(0,(0,ic.optional)()),m(1,(0,ic.inject)(M)),m(2,(0,ic.inject)(De)),m(3,(0,ic.inject)(ot)),m(4,(0,ic.inject)(jt))],Xb);var c0=k(N()),oc=require("vscode");var Mme=/^\s*(from (?<fromImport>\w+)(?:\.\w+)* import \w+(?:, \w+)*(?: as \w+)?|import (?<importImport>\w+(?:, \w+)*)(?: as \w+)?)$/,Kme=1e3,Ome=Er(),Zb=class{constructor(e,t=1e3){this.pendingChecks=new mo;this.disposables=new Wr;this.sentMatches=new Set;this.processedNotebookCells=new WeakMap;e.push(this.disposables),this.disposables.add(new oc.Disposable(()=>z(this.pendingChecks.values()))),this.isTelemetryDisabled=CP(),this.disposables.add(oc.workspace.onDidOpenNotebookDocument(i=>this.onOpenedOrClosedNotebookDocument(i,"onOpenCloseOrSave"))),this.disposables.add(oc.workspace.onDidCloseNotebookDocument(i=>this.onOpenedOrClosedNotebookDocument(i,"onOpenCloseOrSave"))),this.disposables.add(oc.workspace.onDidSaveNotebookDocument(i=>this.onOpenedOrClosedNotebookDocument(i,"onOpenCloseOrSave")));let r=this.disposables.add(new cs(t));this.disposables.add(er.onDidChangeNotebookCellExecutionState(i=>{r.trigger(()=>{i.state==2&&!this.isTelemetryDisabled&&this.checkNotebookCell(i.cell,"onExecution").catch(h)})},this)),this.disposables.add(wP(i=>this.isTelemetryDisabled=i))}activate(){oc.workspace.notebookDocuments.forEach(e=>this.checkNotebookDocument(e,"onOpenCloseOrSave"))}getDocumentLines(e){let t=[];for(let r=0;r<Math.min(Kme,e.lineCount);r++){let i=e.lineAt(r);i.isEmptyOrWhitespace||t.push(i.text.trim())}return t}onOpenedOrClosedNotebookDocument(e,t){!Et(e)||this.isTelemetryDisabled||this.scheduleCheck(e.uri,this.checkNotebookDocument.bind(this,e,t))}scheduleCheck(e,t){let r=this.pendingChecks.get(e);if(r&&(r.dispose(),this.pendingChecks.delete(e)),Ome)t();else{let i=setTimeout(t,5e3);this.pendingChecks.set(e,new oc.Disposable(()=>clearTimeout(i)))}}async checkNotebookDocument(e,t){!Et(e)||this.isTelemetryDisabled||await Promise.all(e.getCells().map(async r=>this.checkNotebookCell(r,t)))}async checkNotebookCell(e,t){if(!(!Et(e.notebook)||e.kind!==oc.NotebookCellKind.Code||e.document.languageId!==ge||this.processedNotebookCells.get(e)===e.document.version))try{this.processedNotebookCells.set(e,e.document.version);let r=e.notebook.notebookType===St?"notebook":"interactive";await this.sendTelemetryForImports(this.getDocumentLines(e.document),r,t)}catch(r){if(!hi)throw r}}lookForImports(e){let t=[];try{for(let r of e){if(!r.includes("import")&&!r.includes("from"))continue;let i=r?Mme.exec(r):null;i!==null&&i.groups!==void 0&&(i.groups.fromImport!==void 0?t.push(i.groups.fromImport):i.groups.importImport!==void 0&&t.push(...i.groups.importImport.split(",").map(o=>o.trim())))}}catch{}return t}async sendTelemetryForImports(e,t,r){await Promise.all(this.lookForImports(e).map(async i=>{let o=`${i}_${t||""}_${r}`;if(this.sentMatches.has(o))return;this.sentMatches.add(o);let s=await at(i);R("HASHED_PACKAGE_NAME",void 0,{hashedNamev2:s,resourceType:t,when:r})}))}};Zb=v([(0,c0.injectable)(),m(0,(0,c0.inject)(M))],Zb);var sc=k(N());var $O=require("vscode");var eI=class{constructor(e,t,r,i){this.disposableRegistry=e;this.configuration=t;this.rawSupported=r;this.commandListeners=i;this.isDisposed=!1;this.startTime=Date.now();this.onSettingsChanged=()=>{let t=this.configuration.getSettings(void 0).sendSelectionToInteractiveWindow;new tr(mr.OwnsSelection).set(t).catch(h)}}get activationStartTime(){return this.startTime}activate(){this.onSettingsChanged(),this.changeHandler=this.configuration.getSettings(void 0).onDidChange(this.onSettingsChanged.bind(this)),this.disposableRegistry.push(this),this.disposableRegistry.push($O.window.onDidChangeActiveTextEditor(()=>this.onChangedActiveTextEditor())),this.onChangedActiveTextEditor(),this.computeZmqAvailable(),this.commandListeners&&this.commandListeners.forEach(e=>e.register())}async dispose(){this.changeHandler&&(this.changeHandler.dispose(),this.changeHandler=void 0)}computeZmqAvailable(){new tr(mr.ZmqAvailable).set(this.rawSupported?this.rawSupported.isSupported:!1).then(h,h)}onChangedActiveTextEditor(){let e=new tr(mr.HasCodeCells),t=$O.window.activeTextEditor;t&&t.document.languageId===ge?e.set(mH(t.document,this.configuration.getSettings())).catch(h):e.set(!1).catch(h)}};eI=v([(0,sc.injectable)(),m(0,(0,sc.inject)(M)),m(1,(0,sc.inject)(ie)),m(2,(0,sc.inject)(oi)),m(2,(0,sc.optional)()),m(3,(0,sc.multiInject)(wh))],eI);var ui=k(N()),u0=require("vscode");var kf=k(N()),Pf=require("vscode");var f4=require("vscode");var qO="JUPYTER_API_ACCESS_INFORMATION",m4=new Set([Fe.split(".")[0],"rchiodo","donjayamanne","SynapseVSCode"]),HO=new Set(["rchiodo","nuant"]),bu=class{constructor(e,t){this.globalState=e;this.context=t;this.extensionAccess=new Map;this.promiseChain=new rh}async getAccessInformation(e){let t=!e.extensionId||e.extensionId===th?"":e.extensionId.split(".")[0]||"";if(this.context.extensionMode===Pf.ExtensionMode.Test||!t||xs()==="insiders"){if(!m4.has(t)&&!HO.has(t)){p.warn(`Publisher ${t} is allowed to access the Kernel API with a message.`);let s=f4.extensions.getExtension(e.extensionId)?.packageJSON?.displayName||"",a=s&&e.extensionId?`${s} (${e.extensionId})`:e.extensionId||t;Pf.window.showErrorMessage(y.thanksForUsingJupyterKernelApiPleaseRegisterWithUs(a)).then(h,h)}if(!HO.has(t)||!t||this.context.extensionMode===Pf.ExtensionMode.Test)return{extensionId:e.extensionId,accessAllowed:!0}}if(m4.has(t))return{extensionId:e.extensionId,accessAllowed:!0};if(!HO.has(t))return Pf.window.showErrorMessage(`Please contact the Jupyter Extension to get access to the Kernel API. Publisher ${t}`).then(h,h),p.error(`Publisher ${t} is not allowed to access the Kernel API.`),{extensionId:e.extensionId,accessAllowed:!1};let i=this.globalState.get(qO)?.find(s=>s.extensionId===e.extensionId);if(i)return R("DATASCIENCE.JUPYTER_KERNEL_API_ACCESS",void 0,{extensionId:e.extensionId,allowed:i.allowed}),{extensionId:e.extensionId,accessAllowed:i.allowed==="yes"};if(this.extensionAccess.get(e.extensionId))return this.extensionAccess.get(e.extensionId);let o=(async()=>{let s=y.allowExtensionToUseJupyterKernelApi(`${e.displayName} (${e.extensionId})`,de.bannerLabelYes),l=await Pf.window.showInformationMessage(s,{modal:!0},de.bannerLabelYes,de.bannerLabelNo)===de.bannerLabelYes;return this.promiseChain.chainFinally(async()=>{let c=[...this.globalState.get(qO,[])];return c=c.filter(u=>u.extensionId!==e.extensionId),c.push({allowed:l?"yes":"no",extensionId:e.extensionId}),this.globalState.update(qO,c)}).then(h,h),R("DATASCIENCE.JUPYTER_KERNEL_API_ACCESS",void 0,{extensionId:e.extensionId,allowed:l?"yes":"no"}),{extensionId:e.extensionId,accessAllowed:l}})();return this.extensionAccess.set(e.extensionId,o),o}};bu=v([(0,kf.injectable)(),m(0,(0,kf.inject)(We)),m(0,(0,kf.named)(lt)),m(1,(0,kf.inject)(et))],bu);var h4=new WeakMap;function GO(n){let e=h4.get(n);return e||(e=Fme(n),h4.set(n,e)),e}function Fme(n){return new Proxy(n,{get(e,t){return t==="kernel"?e.kernel?Lme(e.kernel):void 0:Reflect.get(e,t)}})}var g4=new WeakMap;function Lme(n){let e=g4.get(n);return e||(e=Ume(n),g4.set(n,e)),e}function Ume(n){return new Proxy(n,{get(e,t){return t==="registerCommTarget"?(r,i)=>(aq(n,r),Reflect.get(e,t).apply(e,[r,i])):t==="removeCommTarget"?(r,i)=>(lq(n,r),Reflect.get(e,t).apply(e,[r,i])):Reflect.get(e,t)}})}var tI=class{constructor(e,t,r,i,o,s,a,l){this.kernelProvider=e;this.kernelFinder=t;this.thirdPartyKernelProvider=r;this.disposables=i;this.controllerRegistration=o;this.apiAccess=s;this.extensions=a;this.serviceContainer=l;this.chainedApiAccess=new rh;this.extensionApi=new Map}async getService(){let e=this.extensions.determineExtensionFromCallStack(),t=await this.chainedApiAccess.chainFinally(()=>this.apiAccess.getAccessInformation(e));if(!t.accessAllowed)return;if(this.extensionApi.get(t.extensionId))return this.extensionApi.get(t.extensionId);let r=new Fw(t.extensionId,this.kernelProvider,this.kernelFinder,this.thirdPartyKernelProvider,this.disposables,this.controllerRegistration,this.serviceContainer);return this.extensionApi.set(t.extensionId,r),r}};tI=v([(0,ui.injectable)(),m(0,(0,ui.inject)(De)),m(1,(0,ui.inject)(kr)),m(2,(0,ui.inject)(sm)),m(3,(0,ui.inject)(M)),m(4,(0,ui.inject)(ot)),m(5,(0,ui.inject)(bu)),m(6,(0,ui.inject)(oa)),m(7,(0,ui.inject)(rt))],tI);var Fw=class{constructor(e,t,r,i,o,s,a){this.callingExtensionId=e;this.kernelProvider=t;this.kernelFinder=r;this.thirdPartyKernelProvider=i;this.disposables=o;this.controllerRegistration=s;this.serviceContainer=a;this._onDidChangeKernelSpecifications=new u0.EventEmitter;this._onDidChangeKernels=new u0.EventEmitter;this.translatedConnections=new WeakMap;this._onDidChangeStatus=new u0.EventEmitter;this._status=this.kernelFinder.status,this.kernelFinder.onDidChangeStatus(()=>{this._status=this.kernelFinder.status,this._onDidChangeStatus.fire()},this,o),this.kernelProvider.onDidDisposeKernel(l=>{p.ci(`Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} disposed`),this._onDidChangeKernels.fire()},this,o),this.kernelProvider.onDidStartKernel(l=>{p.ci(`Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} started`),this._onDidChangeKernels.fire()},this,o),this.thirdPartyKernelProvider.onDidDisposeKernel(l=>{p.ci(`Third party Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} disposed`),this._onDidChangeKernels.fire()},this,o),this.thirdPartyKernelProvider.onDidStartKernel(l=>{p.ci(`Third party Kernel ${l.kernelConnectionMetadata.id}, ${l.kernelConnectionMetadata.interpreter?.uri.toString()} started`),this._onDidChangeKernels.fire()},this,o),this.controllerRegistration.onDidChange(()=>this._onDidChangeKernelSpecifications.fire(),this,o)}get onDidChangeKernelSpecifications(){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"onDidChangeKernelSpecifications"}),p.debug(`API called from ${this.callingExtensionId}`),this._onDidChangeKernelSpecifications.event}get onDidChangeKernels(){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"onDidChangeKernels"}),this._onDidChangeKernels.event}get status(){return this._status}get onDidChangeStatus(){return this._onDidChangeStatus.event}async getKernelSpecifications(){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"getKernelSpecifications"}),this.kernelFinder.kernels.map(e=>this.translateKernelConnectionMetadataToExportedType(e))}getActiveKernels(){R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"getActiveKernels"});let e=[],t=new Set;return this.kernelProvider.kernels.filter(r=>r.startedAtLeastOnce||r.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel").forEach(r=>{let i=this.kernelProvider.get(r.notebook);i&&i.session?.kernel?.id&&t.add(i.session.kernel.id),e.push({metadata:this.translateKernelConnectionMetadataToExportedType(r.kernelConnectionMetadata),uri:r.uri,id:r.id})}),this.thirdPartyKernelProvider.kernels.filter(r=>r.startedAtLeastOnce||r.kernelConnectionMetadata.kind==="connectToLiveRemoteKernel").forEach(r=>{let i=this.thirdPartyKernelProvider.get(r.uri);i&&i.session?.kernel?.id&&t.add(i.session.kernel.id),e.push({metadata:this.translateKernelConnectionMetadataToExportedType(r.kernelConnectionMetadata),uri:r.uri,id:r.id})}),this.controllerRegistration.registered.forEach(r=>{r.controller.notebookType===St&&r.connection.kind==="connectToLiveRemoteKernel"&&(!r.connection.kernelModel.id||t.has(r.connection.kernelModel.id)||e.push({metadata:r.connection,uri:void 0,id:r.id}))}),e}getKernel(e){R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"getKernel"});let t=this.thirdPartyKernelProvider.get(e)??this.kernelProvider.get(e);if(t?.session)return{metadata:this.translateKernelConnectionMetadataToExportedType(t.kernelConnectionMetadata),connection:GO(t.session)}}async startKernel(e,t){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"startKernel"}),this.startOrConnect(e,t)}async connect(e,t){return R("DATASCIENCE.JUPYTER_KERNEL_API_USAGE",void 0,{extensionId:this.callingExtensionId,pemUsed:"connect"}),this.startOrConnect(e,t)}async startOrConnect(e,t){let r=this.kernelFinder.kernels.find(o=>o.id===e.id);if(!r)throw new Error("Not found");let i=await js.connectToKernel(r,this.serviceContainer,{resource:t},new Jt(!1),this.disposables,"3rdPartyExtension");if(!i?.session)throw new Error("Not found");return GO(i.session)}translateKernelConnectionMetadataToExportedType(e){if(!this.translatedConnections.has(e)){let t=Object.freeze(ws.fromJSON(e.toJSON()));this.translatedConnections.set(e,t)}return this.translatedConnections.get(e)}};Fw=v([m(1,(0,ui.inject)(De)),m(2,(0,ui.inject)(kr)),m(3,(0,ui.inject)(sm)),m(4,(0,ui.inject)(M)),m(5,(0,ui.inject)(ot)),m(6,(0,ui.inject)(rt))],Fw);var d0=k(N()),ac=require("vscode");var v4=require("vscode");var xf=class{constructor(e){this.fileSystem=e;this.activatedWorkspaces=new Set;this.disposables=[]}activate(){this.addHandlers(),this.addRemoveDocOpenedHandlers(),this.activateWorkspace(this.getActiveResource()).catch(h)}getActiveResource(){let e=v4.window.activeTextEditor;return e&&!e.document.isUntitled?e.document.uri:Array.isArray(ac.workspace.workspaceFolders)&&ac.workspace.workspaceFolders.length>0?ac.workspace.workspaceFolders[0].uri:void 0}async activateWorkspace(e){let t=this.getWorkspaceKey(e);this.activatedWorkspaces.has(t)||(this.activatedWorkspaces.add(t),await LB(this.fileSystem,e))}onDocOpened(e){if(e.languageId!==ge)return;let t=this.getWorkspaceKey(e.uri);if(t===""||(ac.workspace.workspaceFolders||[]).length===0||this.activatedWorkspaces.has(t))return;let r=ac.workspace.getWorkspaceFolder(e.uri);this.activateWorkspace(r?r.uri:void 0).catch(h)}addHandlers(){this.disposables.push(ac.workspace.onDidChangeWorkspaceFolders(this.onWorkspaceFoldersChanged,this))}addRemoveDocOpenedHandlers(){if(this.hasMultipleWorkspaces()){this.docOpenedHandler||(this.docOpenedHandler=ac.workspace.onDidOpenTextDocument(this.onDocOpened,this));return}this.docOpenedHandler&&(this.docOpenedHandler.dispose(),this.docOpenedHandler=void 0)}onWorkspaceFoldersChanged(){let e=(ac.workspace.workspaceFolders||[]).map(i=>this.getWorkspaceKey(i.uri)),r=Array.from(this.activatedWorkspaces.keys()).filter(i=>e.indexOf(i)<0);if(r.length>0)for(let i of r)this.activatedWorkspaces.delete(i);this.addRemoveDocOpenedHandlers()}hasMultipleWorkspaces(){return(ac.workspace.workspaceFolders||[]).length>1}getWorkspaceKey(e){return bs(e,"")}};v([Sh("Failed to activate a workspace")],xf.prototype,"activateWorkspace",1),xf=v([(0,d0.injectable)(),m(0,(0,d0.inject)(tt))],xf);var nI=k(N());var rI=class{constructor(e){this.syncActivationServices=e}activate(){this.syncActivationServices.map(e=>{try{e.activate()}catch(t){p.error(`Error in activating extension, failed in ${e.constructor.name}`,t)}})}};rI=v([(0,nI.injectable)(),m(0,(0,nI.optional)()),m(0,(0,nI.multiInject)(me))],rI);var Lw=k(N()),kp=require("vscode");var zO=Symbol("ISurveyBanner");var lc=class{constructor(e,t){this.persistentState=e;this.disposables=t;this.disabledInCurrentSession=!1;this.bannerLabels=[dP.bannerLabelYes,dP.bannerLabelNo];this.showBannerState=new Map;this.NotebookExecutionThreshold=250;this.setPersistentState(0,"ShowInsidersNotebookSurveyBanner"),this.setPersistentState(1,"ShowExperimentNotebookSurveyBanner");let r=setTimeout(()=>{lc.surveyDelay=!0},10*60*1e3);this.disposables.push(new kp.Disposable(()=>clearTimeout(r)))}isEnabled(e){switch(e){case 0:if(xs()==="insiders")return this.isEnabledInternal(e);break;case 1:if(xs()==="stable")return this.isEnabledInternal(e);break;default:return p.error("Invalid Banner Type"),!1}return!1}isEnabledInternal(e){return kp.env.uiKind!==kp.UIKind.Desktop?!1:this.showBannerState.get(e).value.expiry?this.showBannerState.get(e).value.expiry<Date.now():!0}activate(){this.onDidChangeNotebookCellExecutionStateHandler=er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,this.disposables)}async showBanner(e){let t=this.shouldShowBanner(e);if(this.onDidChangeNotebookCellExecutionStateHandler?.dispose(),!t)return;switch(this.disabledInCurrentSession=!0,await kp.window.showInformationMessage(this.getBannerMessage(e),...this.bannerLabels)){case this.bannerLabels[0]:{await this.launchSurvey(e),await this.disable(0,e);break}default:{await this.disable(1,e);break}}}shouldShowBanner(e){return Wp()||!this.isEnabled(e)||this.disabledInCurrentSession||!lc.surveyDelay?!1:this.getExecutionCount(e)>=this.NotebookExecutionThreshold}setPersistentState(e,t){this.showBannerState.set(e,this.persistentState.createGlobalPersistentState(t,{data:!0}))}async launchSurvey(e){yd(this.getSurveyLink(e))}async disable(e,t){let r=e===0?6:4;r&&await this.showBannerState.get(t).updateValue({expiry:r*31*864e5+Date.now(),data:!0})}getExecutionCount(e){switch(e){case 0:return this.getPersistentState("DS_InsidersNotebookExecutionCount");case 1:return this.getPersistentState("DS_ExperimentNotebookExecutionCount");default:return p.error("Invalid Banner type"),-1}}getPersistentState(e){return this.persistentState.createGlobalPersistentState(e,0).value}async onDidChangeNotebookCellExecutionState(e){Et(e.cell.notebook)&&e.state===3&&(this.updateStateAndShowBanner("DS_InsidersNotebookExecutionCount",0).catch(h),this.updateStateAndShowBanner("DS_ExperimentNotebookExecutionCount",1).catch(h))}async updateStateAndShowBanner(e,t){if(!this.shouldShowBanner(t)){this.onDidChangeNotebookCellExecutionStateHandler?.dispose();return}let r=this.persistentState.createGlobalPersistentState(e,0);await r.updateValue(r.value+1),this.showBanner(t).catch(h)}getBannerMessage(e){switch(e){case 0:case 1:return hA.bannerMessage;default:return p.error("Invalid Banner type"),""}}getSurveyLink(e){switch(e){case 0:return"https://aka.ms/vscjupyternb";case 1:return"https://aka.ms/vscnbexp";default:return p.error("Invalid Banner type"),""}}};lc.surveyDelay=!1,lc=v([(0,Lw.injectable)(),m(0,(0,Lw.inject)(il)),m(1,(0,Lw.inject)(M))],lc);var Ra=require("vscode");function y4(n,e){e&&Ra.commands.registerCommand("dataScience.ClearCache",async()=>{let t=[];for(let r of n.globalState.keys())t.push(n.globalState.update(r,void 0).then(h,h));for(let r of n.workspaceState.keys())t.push(n.workspaceState.update(r,void 0).then(h,h));t.push(Ra.commands.executeCommand(B.ClearSavedJupyterUris).then(h,h)),await Promise.all(t).catch(h),await Promise.all([Ra.workspace.fs.delete(Ra.Uri.joinPath(n.globalStorageUri,"lastExecutedRemoteCell.json")).then(h,h),Ra.workspace.fs.delete(Ra.Uri.joinPath(n.globalStorageUri,"remoteServersMRUList.json")).then(h,h),Ra.workspace.fs.delete(Ra.Uri.joinPath(n.globalStorageUri,ty)).then(h,h)]),p.info("Cache cleared")})}function b4(n,e){y4(n,e)}var f0=k(N()),Ut=require("vscode");var p0=y.percentPipCondaInstallInsteadOfBang("pip"),QO=y.percentPipCondaInstallInsteadOfBang("conda"),I4=y.matplotlibWidgetInsteadOfOther,m0="Jupyter",iI=class{constructor(e){this.disposables=[];this.notebooksProcessed=new WeakMap;this.cellsToProcess=new Set;this.problems=Ut.languages.createDiagnosticCollection(m0),this.disposables.push(this.problems),e.push(this)}dispose(){z(this.disposables),this.problems.dispose()}activate(){this.disposables.push(Ut.languages.registerCodeActionsProvider(ge,this)),this.disposables.push(Ut.languages.registerHoverProvider(ge,this)),Ut.workspace.onDidChangeTextDocument(t=>{let r=Lh(t.document);if(!r)return;let i=r.getCells().find(o=>o.document===t.document);i&&this.analyzeNotebookCell(i)},this,this.disposables),Ut.workspace.onDidCloseNotebookDocument(t=>{this.problems.delete(t.uri);let r=this.notebooksProcessed.get(t);this.notebooksProcessed.delete(t),r&&r.forEach((i,o)=>this.problems.delete(Ut.Uri.parse(o)))},this,this.disposables),Ut.workspace.onDidOpenNotebookDocument(t=>this.analyzeNotebook(t),this,this.disposables);let e=new cs(300);this.disposables.push(e),Ut.workspace.onDidChangeNotebookDocument(t=>{e.trigger(()=>{let r=this.notebooksProcessed.get(t.notebook);t.contentChanges.forEach(i=>{i.removedCells.forEach(o=>{r?.delete(o.document.uri.toString())}),i.addedCells.forEach(o=>this.queueCellForProcessing(o))}),t.cellChanges.forEach(i=>this.queueCellForProcessing(i.cell))})},this,this.disposables),Ut.workspace.notebookDocuments.map(t=>this.analyzeNotebook(t))}provideHover(e,t,r){if(Lh(e)?.notebookType!==St)return;let o=this.problems.get(e.uri);if(!o)return;let s=o.find(l=>l.message===p0||l.message===QO);if(!s||!s.range.contains(t))return;let a=s.message===p0?"pip":"conda";return new Ut.Hover(y.pipCondaInstallHoverWarning(a,"https://aka.ms/jupyterCellMagicBangInstall"),s.range)}provideCodeActions(e,t,r,i){if(!Lh(e))return[];let o=[];return r.diagnostics.forEach(s=>{switch(s.message){case p0:o.push(this.createReplaceCodeAction(e,"pip",s));break;case QO:o.push(this.createReplaceCodeAction(e,"conda",s));break;case I4:o.push(this.createGotoWikiAction(e,Ut.Uri.parse("https://aka.ms/vscodejupytermatplotlibwidget"),s));break;default:break}}),o}createReplaceCodeAction(e,t,r){let i=new Ut.CodeAction(y.replacePipCondaInstallCodeAction(t),Ut.CodeActionKind.QuickFix);i.isPreferred=!0,i.diagnostics=[r];let o=new Ut.WorkspaceEdit;return o.replace(e.uri,new Ut.Range(r.range.start,new Ut.Position(r.range.start.line,r.range.start.character+1)),"%"),i.edit=o,i}createGotoWikiAction(e,t,r){let i=new Ut.CodeAction(y.matplotlibWidgetCodeActionTitle,Ut.CodeActionKind.QuickFix);return i.isPreferred=!0,i.diagnostics=[r],i.command={title:y.matplotlibWidgetCodeActionTitle,command:"vscode.open",arguments:[t]},i}analyzeNotebook(e){e.notebookType===St&&e.getCells().forEach((t,r)=>r<100?this.queueCellForProcessing(t):void 0)}queueCellForProcessing(e){this.cellsToProcess.add(e),this.analyzeNotebookCells()}analyzeNotebookCells(){if(this.cellsToProcess.size===0)return;let e=this.cellsToProcess.values().next().value;this.cellsToProcess.delete(e),this.analyzeNotebookCell(e),setTimeout(()=>this.analyzeNotebookCells(),0)}analyzeNotebookCell(e){if(e.kind!==Ut.NotebookCellKind.Code||e.document.languageId!==ge||e.notebook.isClosed||e.document.isClosed||this.notebooksProcessed.get(e.notebook)?.get(e.document.uri.toString())===e.document.version)return;this.problems.delete(e.document.uri);let t=this.notebooksProcessed.get(e.notebook)||new Map;t.set(e.document.uri.toString(),e.document.version),this.notebooksProcessed.set(e.notebook,t);for(let r=0;r<Math.min(e.document.lineCount,50);r++){let i=e.document.lineAt(r),o=i.text;if(o.trim().startsWith("!pip install")){let s=o.indexOf("!"),a=o.indexOf("l"),l=new Ut.Range(i.lineNumber,s,i.lineNumber,a+2);this.problems.set(e.document.uri,[{message:p0,range:l,severity:Ut.DiagnosticSeverity.Error,source:m0}])}else if(o.trim().startsWith("!conda install")){let s=o.indexOf("!"),a=o.indexOf("l"),l=new Ut.Range(i.lineNumber,s,i.lineNumber,a+2);this.problems.set(e.document.uri,[{message:QO,range:l,severity:Ut.DiagnosticSeverity.Error,source:m0}])}else if(o.trim().startsWith("%matplotlib")&&!o.trim().endsWith("widget")&&!o.trim().endsWith("inline")){let s=o.indexOf("%"),a=o.length,l=new Ut.Range(i.lineNumber,s,i.lineNumber,a);this.problems.set(e.document.uri,[{message:I4,range:l,severity:Ut.DiagnosticSeverity.Warning,source:m0}])}}}};iI=v([(0,f0.injectable)(),m(0,(0,f0.inject)(M))],iI);var b0=k(N()),pr=require("vscode");var S4=new Map([["method",0],["function",1],["constructor",2],["field",3],["variable",4],["class",5],["struct",6],["interface",7],["module",8],["property",9],["event",10],["operator",11],["unit",12],["value",13],["constant",14],["enum",15],["enumMember",16],["keyword",17],["text",18],["color",19],["file",20],["reference",21],["customcolor",22],["folder",23],["typeParameter",24],["snippet",25],["<unknown>",3]]);function h0(n){if(n>=300)return"ZZZZZZZ";if(n<=25)return`A${String.fromCharCode(65+n)}`;let e=String.fromCharCode(65+Math.ceil(n/25)),t=String.fromCharCode(65+n%25);return`${e}${t}`}var D4=require("vscode");var Df=require("vscode");var Vme=new Map([["julia",$me],["python",Jme],["r",qme]]);function C4(n,e){let t=Vme.get(e.toLowerCase());return t?t(n):n}var jme=["Docstring:","Options:","Parameters","Returns","See Also","Notes","Examples","Usage:","Subclasses:"];function Jme(n){let e=Oe(n,{trim:!1,removeEmptyEntries:!1}),t=-1,r=!1,i=!1,o=[],s=new Set,a=!1,l="",c=!1,u=!1;if(e.map((f,g)=>{if(g===0){let I=["Signature:","Init signature:"].find(E=>f.toLowerCase().startsWith(E.toLowerCase()));if(I){r=!0,f=f.substring(I.length).trim(),o.push("```python"),f.trim().length&&(o.push(f),c=!0);return}}if(f.startsWith("File:")&&g===e.length-1||f.startsWith("Type:")&&g===0)return;if(!a&&f.toLowerCase().startsWith("String form:".toLowerCase())){i=!0;return}let b=jme.find(I=>f.trim().toLowerCase().startsWith(I.toLowerCase()));if(b&&!s.has(b)){l=b.toLowerCase(),s.add(b),a=!0,t=g,i=!1,r&&o.push("```","----------"),r=!1,u=!1,l!=="docstring:"&&o.push(`## ${b}`);let I=f.includes(":")?f.split(":")[1].replace("<no docstring>","").trim():"";I.length&&(o.push(I),c=!0);return}if(!i){if(t+1===g&&f.replace(/-/g,"").replace(/:/g,"").replace("<no docstring>","").trim().length===0){t=g,i=!1,r=!1,u=!1;return}if(l==="parameters"||l==="see also"){f.trim().length&&f.includes(":")&&f.substring(0,1)===f.trim().substring(0,1)?o.push(`* ${f}`):o.push(f),c=c||f.trim().length>0;return}if(l==="options:"){f.startsWith("-")&&f.trim().length&&f.includes(":")&&f.substring(0,1)===f.trim().substring(0,1)?o.push(`* ${f}`):o.push(f),c=c||f.trim().length>0;return}if(l==="returns"){f.trim().length&&f.substring(0,1)===f.trim().substring(0,1)?o.push(`* ${f}`):o.push(f),c=c||f.trim().length>0;return}if(l==="examples"&&!r&&(t+1===g||t+2===g))return i=!1,r=!0,c=c||f.trim().length>0,o.push("```python",f);if(!r&&f.startsWith("class ")&&f.trim().endsWith("):")){r=!0,u=!0,o.push("```python",f),c=c||f.trim().length>0;return}if(r&&u&&f.trim().length>0&&f.substring(0,1)!==" "&&f.substring(0,1)!==" ")return r=!1,u=!1,o.push(f,"```");c=c||f.trim().length>0,o.push(f)}}),!c)return"";let d=o.join(`
`);return r?new Df.MarkdownString(d+" \n```"):new Df.MarkdownString(d)}var Bme=[{section:"Examples:",header:"Examples",nextLine:/≡/g},{section:"Usage note",header:"Usage note",nextLine:/≡/g},{section:"Note:",header:"\u2502 Note",nextLine:"\u2502"},{section:"Note:",header:"\u2502 Note",nextLine:String.fromCharCode(9474)}];function $me(n){let e=Oe(n,{trim:!1,removeEmptyEntries:!1}),t=!1,r=[],i=new Set,o="",s=!1,a=!1;e.every(c=>c.trim().length===0||c.startsWith(" "))&&e.forEach((c,u)=>e[u]=c.trim().length?c.substring(2):c),e.map((c,u)=>{if(c.trim()==="\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")return a=!1,r.push(c);if(!a)return o="signature",t=!0,a=!0,c.trim().length?(s=!0,r.push("```julia",c)):r.push("```julia");o==="signature"&&c.trim()===""&&(o="",t=!1,s=!1,r.push("```"));let d=Bme.find(f=>c.trim().toLowerCase().startsWith(f.header.toLowerCase()));if(d&&(typeof d.nextLine=="string"?e[u+1].trim()===d.nextLine.trim():e[u+1].trim().replace(d.nextLine,"").length===0)){e[u+1]="",o=d.section.toLowerCase(),i.add(d.header),t&&r.push("```"),t=!1,r.push(`## ${d.section}`),o==="note:"&&!e.slice(u+1).every(f=>f.trim().length===0||f.trim().startsWith("|")||f.trim().startsWith(String.fromCharCode(9474)))&&(o="");return}if(o==="examples:"&&!t)return t=!0,c.trim().length?(s=!0,r.push("```julia",c)):r.push("```julia");if(o==="note:"){r.push(c.trim()?c.trim().substring(1):"");return}t&&!s&&c.trim().length===0||r.push(c)});let l=r.join(`
`);return t?new Df.MarkdownString(l+" \n```"):new Df.MarkdownString(l)}function qme(n){let e=Oe(n,{trim:!1,removeEmptyEntries:!1}),t=[];e.forEach((a,l)=>e[l]=a.indexOf(" ")===0?a.substring(5):a);let r="",i=!1,o=!1;e.map(a=>{let l=a.replace(/_/g,"").trim();if(a.startsWith("_")&&a.includes(String.fromCharCode(8))&&a.split("_").length===a.split(String.fromCharCode(8)).length&&l){i&&t.push("```"),i=!1,r=l.trim().toLowerCase(),t.push(`## ${l}`);return}if((r==="examples"||r==="examples:"||r==="usage"||r==="usage:")&&!i)return i=!0,a.trim().length?(o=!0,t.push("```r",a)):t.push("```r");if(r==="note:"){t.push(a.trim()?a.trim().substring(1):"");return}i&&!o&&a.trim().length===0||t.push(a)});let s=t.join(`
`);return i?new Df.MarkdownString(s+" \n```"):new Df.MarkdownString(s)}var w4=new WeakMap;async function Iu(n,e,t){let r=w4.get(n)||0;w4.set(n,r+1);let i=uk(Fe,n),o=`application/vnd.vscode.bg.execution.${r}`,s=`application/vnd.vscode.bg.execution.${r}.result`,a=`application/vnd.vscode.bg.execution.${r}.error`,l="",c=`
def __jupyter_exec_background__():
from IPython.display import display
from threading import Thread
from traceback import format_exc
# First send a dummy response to get the display id.
# Later we'll send the real response with the actual data.
# And that can happen much later even after the execution completes,
# as that response will be sent from a bg thread.
output = display({"${o}": ""}, raw=True, display_id=True)
def do_implementation():
${e.map((f,g)=>g===0?f:` ${f}`).join(`
`)}
def bg_main():
try:
output.update({"${s}": do_implementation()}, raw=True)
except Exception as e:
output.update({"${a}": format_exc()}, raw=True)
Thread(target=bg_main, daemon=True).start()
__jupyter_exec_background__()
del __jupyter_exec_background__
`.trim(),u=new Wr;u.add(t.onCancellationRequested(()=>u.dispose()));let d=Xt(t,new Promise((f,g)=>{u.add(i.onDidReceiveDisplayUpdate(async b=>{if(t.isCancellationRequested)return f(void 0);let I=am(b);if(!l||I?.transient?.display_id!==l)return;let E=b.items.find(x=>x.mime===s);if(E)try{return f(JSON.parse(new TextDecoder().decode(E.data)))}catch(x){return g(new Error("Failed to parse the result",x))}}))})).finally(()=>{n.session&&pj(n.session,l),u.dispose()});for await(let f of i.executeCode(c,t)){if(t.isCancellationRequested)return;let g=am(f);if(!g?.transient?.display_id)continue;if(f.items.find(I=>I.mime===o)){l=g.transient.display_id;continue}if(l===g.transient.display_id){let I=f.items.find(E=>E.mime===s||E.mime===a);if(I?.mime===s)return JSON.parse(new TextDecoder().decode(I.data));if(I?.mime===a){p.warn(`Error in background execution:
`,new TextDecoder().decode(I.data));return}}}if(!t.isCancellationRequested){if(!l){p.warn("Failed to get display id for completions");return}return d}}var Hme=1,xp=Qn.IntellisenseResolveTimeout,E4=5,YO=new WeakSet,g0=class extends Error{constructor(){super("Request timed out")}};async function _4(n,e,t,r,i,o,s,a){if(!n.range||!r.session?.kernel||YO.has(r)||!dt(r.kernelConnectionMetadata)&&r.status!=="idle")return n;let l=nfe(e||n,s,a),c=rfe(l,r,t),u=og(t);try{let d=await nh(xp,new g0,Xt(u.token,c));if(!t.isCancellationRequested&&d?.status==="ok"&&d?.found){let f=Gme(d);n.documentation=C4(f,o)}}catch(d){if(d instanceof D4.CancellationError)return n;d instanceof g0&&(u.cancel(),zme(r,o,i))}finally{u.dispose()}return n}function Gme(n){return!n||n.status!=="ok"||!n.found?";":!n.data||typeof n.data!="object"?"":"text/plain"in n.data?ql(n.data["text/plain"]):""}var P4=new WeakSet;function zme(n,e,t){dt(n.kernelConnectionMetadata)||YO.has(n)||(YO.add(n),p.warn(`Failed to inspect code in kernel ${it(n.kernelConnectionMetadata)}`),P4.has(n)||(P4.add(n),R("DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION_CANNOT_RESOLVE",void 0,{kernelId:t,kernelConnectionType:n.kernelConnectionMetadata.kind,kernelLanguage:e})))}var XO=new WeakMap,ZO=new WeakMap;async function Qme(n,e,t){let r=`return get_ipython().kernel.do_inspect("${ZS(e.code)}", ${e.cursor_pos}, ${e.detail_level})`;return{content:await Iu(n,[r],t)}}var k4={data:{},found:!1,status:"ok",metadata:{}};function Yme(n,e){if(!n.session?.kernel)return;let t=JSON.stringify(e);return XO.get(n.session.kernel)?.get(t)}function Xme(n,e,t){if(!n.session?.kernel||t.status!=="ok"||!t.found)return;let r=JSON.stringify(e),i=XO.get(n.session.kernel)||new Map;XO.set(n.session.kernel,i),i.size>100&&i.clear(),i.set(r,t)}function Zme(n){if(!n.session?.kernel)return!1;let e=ZO.get(n.session.kernel)||{maxTime:0,lastRequestTime:0,numberOfTimesMaxedOut:0};return!dt(n.kernelConnectionMetadata)&&e.maxTime>xp?(p.warn(`Not sending inspect request as previous requests took over ${xp}s.`),!1):e.numberOfTimesMaxedOut>E4?(p.warn(`Not sending inspect request as there have been at least ${E4} requests that took over ${xp}s.`),!1):e.maxTime>xp&&Date.now()-e.lastRequestTime<3e4?(p.warn(`Not sending inspect request as previous requests took over ${xp}s.`),!1):!0}async function efe(n,e){if(!n.session?.kernel||!x4(n))return;p.info(`Too many pending requests ${T4(n)} for kernel ${n.id}, waiting for it to be ready.`);let t=n.session.kernel,r=new Wr;await Xt(e,new Promise(i=>{let o=()=>{if(e.isCancellationRequested)return;if(!x4(n)){i(),z(r);return}let s=setTimeout(o,100);r.add({dispose:()=>clearTimeout(s)})};r.add(sa(e.onCancellationRequested)(()=>{i(),t.statusChanged.disconnect(o)})),t.statusChanged.connect(o),r.add({dispose:()=>{t.statusChanged.disconnect(o)}})})).finally(()=>z(r))}function tfe(n,e){if(!n.session?.kernel)return;let t=ZO.get(n.session.kernel)||{maxTime:0,lastRequestTime:0,numberOfTimesMaxedOut:0};t.maxTime=Math.max(t.maxTime,e),t.lastRequestTime=Date.now(),e>xp&&(t.numberOfTimesMaxedOut+=1),ZO.set(n.session.kernel,t)}async function rfe(n,e,t){if(!e.session?.kernel)return;let r=Yme(e,n);if(r)return r;if(!Zme(e)||(await efe(e,t),t.isCancellationRequested))return k4;let i=ife(e),o=new Ue,s=Oe(n.code).reverse()[0].slice(-50);p.trace(`Inspecting code ${s}`);let a=dt(e.kernelConnectionMetadata)?Qme(e,n,t):e.session.kernel.requestInspect(n);return a.finally(()=>i.dispose()),a.then(({content:l})=>{if(!e.session?.kernel)return;Xme(e,n,l),tfe(e,o.elapsedTime);let c=o.elapsedTime>xp?p.warn:p.debug;return t.isCancellationRequested?c(`Inspected code ${s} in ${o.elapsedTime}ms (but cancelled)`):c(`Inspected code ${s} in ${o.elapsedTime}ms`),l})}function nfe(n,e,t){let r=e.getText(),i=(typeof n.insertText=="string"?n.insertText:n.insertText?.value)||(typeof n.label=="string"?n.label:n.label.label)||"",o=r.substring(0,t.character)+i,s=t.character+i.length;return{code:o,cursor_pos:s,detail_level:0}}var Uw=new WeakMap;function x4(n){return n.session?.kernel?T4(n)>=Hme:!1}function T4(n){return n.session?.kernel?(Uw.has(n.session?.kernel)||Uw.set(n.session?.kernel,{count:0}),Uw.get(n.session?.kernel)?.count||0):0}function ife(n){if(!n.session?.kernel)return{dispose:h};let e=Uw.get(n.session?.kernel)||{count:0};return Uw.set(n.session?.kernel,e),e.count+=1,{dispose:()=>{e.count-=1}}}var y0=class extends Error{constructor(){super("Request timed out")}},eF=class{constructor(e,t,r){this.kernelId=e;this.kernel=t;this.monacoLanguage=r;this.pendingCompletionRequest=new WeakMap;this.previousCompletionItems=new WeakMap}async provideCompletionItems(e,t,r,i){if(!this.kernel.session?.kernel)return[];let o=e.version;if(this.pendingCompletionRequest.has(e))return[];this.pendingCompletionRequest.set(e,{position:t,version:o});let s=new pr.Disposable(()=>{this.pendingCompletionRequest.get(e)?.position.isEqual(t)&&this.pendingCompletionRequest.get(e)?.version===o&&this.pendingCompletionRequest.delete(e)});try{let a=us(Xt(r,Promise.resolve(pr.commands.executeCommand("vscode.executeCompletionItemProvider",e.uri,t)).then(f=>f?.items||[]))),l=new Ue;if(await gi(50),r.isCancellationRequested)return[];let c=await nh(Qn.IntellisenseTimeout,new y0,this.provideCompletionItemsFromKernel(e,t,r,i));if(r.isCancellationRequested||!c||!c.length)return[];let u=await fr(0,a.promise);dt(this.kernel.kernelConnectionMetadata)&&!a.completed&&l.elapsedTime<Qn.IntellisenseTimeout+50&&(u=await fr(Qn.IntellisenseTimeout-l.elapsedTime,a.promise));let d=new Set((u||[]).map(f=>typeof f.label=="string"?f.label:f.label.label));return c.filter(f=>!d.has(typeof f.label=="string"?f.label:f.label.label))}catch(a){if(a instanceof y0)return[];throw a instanceof pr.CancellationError||p.debug("Completions failed",a),a}finally{s.dispose()}}async provideCompletionItemsFromKernel(e,t,r,i){if(r.isCancellationRequested||!this.kernel.session?.kernel)return[];let o=new Ue,s={duration:0,timesExceededTimeout:0,requestDuration:0,completionItems:0},a={kernelId:this.kernelId,kernelConnectionType:this.kernel.kernelConnectionMetadata.kind,kernelLanguage:S0(this.kernel),monacoLanguage:this.monacoLanguage,cancelled:!1,kernelStatusBeforeRequest:this.kernel.status,completed:!1,requestSent:!1};if(!dt(this.kernel.kernelConnectionMetadata)&&this.kernel.status!=="idle")return[];let l=e.getText(),c=e.offsetAt(t);a.requestSent=!0;let u=await Xt(r,this.getKernelCompletion(l,c,r));if(p.debug(`Jupyter completion time: ${o.elapsedTime}`),a.cancelled=r.isCancellationRequested,a.completed=!r.isCancellationRequested,a.kernelStatusAfterRequest=this.kernel.status,s.requestDuration=r.isCancellationRequested?0:o.elapsedTime,r.isCancellationRequested)return[];if(u?.content?.status!=="ok"||(u?.content?.matches?.length??0)===0)return A4(this.kernel,s,a),[];let d={matches:u.content.matches,cursor:{start:u.content.cursor_start,end:u.content.cursor_end},metadata:u.content.metadata},f=d.metadata?d.metadata._jupyter_types_experimental:[];s.completionItems=d.matches.length,A4(this.kernel,s,a);let g={code:l,cursor:d.cursor,documentRef:new WeakRef(e),position:e.positionAt(d.cursor.start)},b=new pr.Range(e.positionAt(d.cursor.start),e.positionAt(d.cursor.end)),I=[];return Array.isArray(f)&&f.length>=d.matches.length&&f.every(E=>E&&typeof E.text=="string")?I=u.content.matches.map((E,x)=>{let A=f[x],T=A.type?S4.get(A.type):pr.CompletionItemKind.Field,J=new pr.CompletionItem(E,T);return typeof A.start=="number"&&typeof A.end=="number"?J.range=new pr.Range(e.positionAt(A.start),e.positionAt(A.end)):J.range=b,J.insertText=A.text,J.sortText=h0(x),dt(this.kernel.kernelConnectionMetadata)&&(E.startsWith("%")||E.startsWith("!"))&&(J.sortText=`ZZZ${J.sortText}`),this.previousCompletionItems.set(J,{...g,originalCompletionItem:JSON.parse(JSON.stringify(J))}),J}):I=d.matches.map((E,x)=>{let A=new pr.CompletionItem(E);return A.range=b,A.sortText=h0(x),dt(this.kernel.kernelConnectionMetadata)&&(E.startsWith("%")||E.startsWith("!"))&&(A.sortText=`ZZZ${A.sortText}`),this.previousCompletionItems.set(A,{...g,originalCompletionItem:A}),A}),dt(this.kernel.kernelConnectionMetadata)?lfe(i.triggerCharacter,this.allowStringFilterForPython,I,e,t):I}async resolveCompletionItem(e,t){if(!e.range||!this.kernel.session?.kernel)return e;let r=this.previousCompletionItems.get(e);if(!r)return e;let{documentRef:i,position:o,originalCompletionItem:s}=r,a=i.deref();return a?_4(e,s,t,this.kernel,this.kernelId,this.monacoLanguage,a,o):e}async getKernelCompletion(e,t,r){if(this.kernel.session?.kernel)return dt(this.kernel.kernelConnectionMetadata)?this.getPythonKernelCompletion(e,t,r):Xt(r,this.kernel.session.kernel.requestComplete({code:e,cursor_pos:t}))}async getPythonKernelCompletion(e,t,r){let i=`return get_ipython().kernel.do_complete("${ZS(e)}", ${t})`;return{content:await Iu(this.kernel,[i],r)}}},R4=new WeakMap,v0=new WeakMap;function A4(n,e,t){let r=R4.get(n),i=v0.get(n)?.count||0;e.duration>=Qn.IntellisenseTimeout&&v0.set(n,{count:i+1,measures:e,properties:t}),e.timesExceededTimeout=i,r?r.elapsedTime>6e4&&(R("DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION",e,t),r.reset(),v0.delete(n)):(R("DATASCIENCE.JUPYTER_KERNEL_CODE_COMPLETION",e,t),r=new Ue,R4.set(n,new Ue),v0.delete(n))}var tF=class extends Qt{constructor(t,r){super();this.kernel=t;this.notebookEditorProvider=r;this.cellCompletionProviders=new WeakMap;this.completionItemsSent=new WeakMap;this.monacoLanguage=I0(this.kernel);this.registerCompletionProvider(),this._register(pr.workspace.onDidChangeConfiguration(i=>{if(i.affectsConfiguration("jupyter.enableKernelCompletions"))if(N4(this.kernel.notebook.uri))this.completionProvider||this.registerCompletionProvider();else{this.completionProvider?.dispose(),this.completionProvider=void 0;return}!i.affectsConfiguration("jupyter.completionTriggerCharacters")&&!i.affectsConfiguration("jupyter.pythonCompletionTriggerCharacters")||this.registerCompletionProvider()}))}registerCompletionProvider(){if(!N4(this.kernel.notebook.uri))return;let t=ofe(this.kernel);if(t.length===0){sfe(this.kernel);return}p.trace(`Registering Kernel Completion Provider from kernel ${it(this.kernel.kernelConnectionMetadata)} for language ${this.monacoLanguage}`),this.allowStringFilterForPython=t.includes("'")||t.includes('"'),this.completionProvider?.dispose(),this.completionProvider=void 0,this.completionProvider=pr.languages.registerCompletionItemProvider(this.monacoLanguage,this,...t)}dispose(){super.dispose(),this.completionProvider?.dispose()}async provideCompletionItems(t,r,i,o){if(this.notebookEditorProvider.findAssociatedNotebookDocument(t.uri)!==this.kernel.notebook)return[];let s=this.cellCompletionProviders.get(t);if(!s){let a=await at(this.kernel.kernelConnectionMetadata.id);s=new eF(a,this.kernel,this.monacoLanguage),this.cellCompletionProviders.set(t,s)}return s.allowStringFilterForPython=this.allowStringFilterForPython,s.provideCompletionItems(t,r,i,o).then(a=>(a.forEach(l=>this.completionItemsSent.set(l,s)),a))}async resolveCompletionItem(t,r){let i=this.completionItemsSent.get(t);return i?i.resolveCompletionItem(t,r):t}},Dp=class extends Qt{constructor(t){super();this.kernelCompletionProviders=new WeakMap;t.push(this)}activate(){let t=be.instance.get(De);this._register(t.onDidStartKernel(async r=>{if(r.session?.kernel&&dt(r.kernelConnectionMetadata)&&r.session.kernel.requestComplete({code:"__file__.",cursor_pos:9}),!I0(r)||this.kernelCompletionProviders.has(r))return;let o=be.instance.get(ci),s=this._register(new tF(r,o));this.kernelCompletionProviders.set(r,s)})),this._register(t.onDidDisposeKernel(r=>{this.kernelCompletionProviders.get(r)?.dispose()}))}};Dp=v([(0,b0.injectable)(),m(0,(0,b0.inject)(M))],Dp);function I0(n){return cl(S0(n))}function S0(n){let e="";switch(n.kernelConnectionMetadata.kind){case"connectToLiveRemoteKernel":e=n.kernelConnectionMetadata.kernelModel.language;break;case"startUsingRemoteKernelSpec":e=n.kernelConnectionMetadata.kernelSpec.language;break;case"startUsingLocalKernelSpec":e=n.kernelConnectionMetadata.kernelSpec.language;break;default:e=n.kernelConnectionMetadata.kernelSpec.language;break}return(e||"").toLowerCase()}function N4(n){return pr.workspace.getConfiguration("jupyter",n).get("enableKernelCompletions",!1)}function ofe(n){let e=pr.workspace.getConfiguration("jupyter",n.notebook.uri).get("completionTriggerCharacters");if(!e||typeof e!="object")return[];let t=S0(n),r=I0(n);return t in e?Array.isArray(e[t])?e[t]:[]:r in e?Array.isArray(e[r])?e[r]:[]:[]}function sfe(n){let e=S0(n),t=I0(n);e.toLowerCase()===t.toLowerCase()?p.warn(pr.l10n.t(`Kernel completions not enabled for '{0}'.
To enable Kernel completion for this language please add the following setting
jupyter.completionTriggerCharacters = {1}: [<List of characters that will trigger completions>]}.
For more information please see https://aka.ms/vscodeJupyterCompletion`,it(n.kernelConnectionMetadata),`{${e}`)):p.warn(pr.l10n.t(`Kernel completions not enabled for '{0}'.
To enable Kernel completion for this language please add the following setting
jupyter.completionTriggerCharacters = {1}: [<List of characters that will trigger completions>]}.
or the following:
jupyter.completionTriggerCharacters = {2}: [<List of characters that will trigger completions>]}.
For more information please see https://aka.ms/vscodeJupyterCompletion`,it(n.kernelConnectionMetadata),`{${e}`,`{${t}`))}function afe(n,e){let t=n.indexOf('"'),r=n.indexOf("'"),i=n.lastIndexOf('"'),o=n.lastIndexOf("'"),s=t>=0?t:r,a=i>=0?i:o;return s>=0&&e.character>s&&e.character<=a}function lfe(n,e,t,r,i){let o=t,s=i.character===0?void 0:new pr.Range(i.line,i.character-1,i.line,i.character),l=(s?r.getText(s):void 0)===".",c=r.getWordRangeAtPosition(l||n==="."?new pr.Position(i.line,i.character-1):i),u=c&&s?c.union(s):void 0,d=r.lineAt(i.line).text,f=u?r.getText(u):d,g=f.endsWith(".")||l,b=e&&(n=="'"||n=='"'||afe(d,i));return p.ci(`Jupyter completions filtering applied: ${b} on ${d}`),o=o.map((I,E)=>{let x=typeof I.label=="string"?I.label:I.label.label,A=typeof I.label=="string"?I.label:I.label.label;if(A.startsWith("%")||A.startsWith("!"))return{...I,sortText:`ZZZ${I.sortText}`};if(b)return I;let T=f?A.indexOf(f):-1,J,ne,H;if(f&&g&&A.includes(f)){J=A.substring(A.indexOf(f)+(g?f.length:0)),ne=A.substring(A.indexOf(f)+f.length);let oe=(typeof I.label=="string"?I.label.length:I.label.label.length)-ne.length;H=I.range&&"start"in I.range?new pr.Range(new pr.Position(I.range.start.line,I.range.start.character+oe),I.range.end):I.range}if(!ne&&T>0){J=A.substring(A.indexOf(f)+(g?f.length:0)),ne=A.substring(A.indexOf(f)+f.length);let oe=(typeof I.label=="string"?I.label.length:I.label.label.length)-ne.length;H=I.range&&"start"in I.range?new pr.Range(new pr.Position(I.range.start.line,I.range.start.character+oe),I.range.end):I.range}return J&&ne&&H&&(I.label=J,x=ne,I.insertText=ne,I.filterText=g?`.${ne}`:ne,I.range=H,I.sortText=h0(E)),x.endsWith("/")?{...I,command:{command:"editor.action.triggerSuggest",title:""}}:(x.includes(" ")&&(x=x.replace(/\\ /g," "),typeof I.label=="string"?I.label=I.label.replace(/\\ /g," "):I.label.label=I.label.label.replace(/\\ /g," ")),b||!x.includes(".")&&!x.endsWith("/")?I:void 0)}).filter(I=>I!==void 0),p.ci(`Jupyter completions for ${f} at pos ${i.line}:${i.character} with trigger: ${n}
${t.map(I=>I.label).join(",")}`),p.ci(`Jupyter results for ${f} at pos ${i.line}:${i.character} with trigger: ${n}
${o.map(I=>I.label).join(",")}`),o}var _p=k(N()),rF=require("vscode");var K4=k(kl());var M4=require("vscode");function C0(){let e=M4.workspace.getConfiguration("python")?.get("languageServer");return!(e!=="Pylance"&&e!=="Default")}var Tp=class{constructor(e,t,r,i,o){this.apiProvider=e;this.extensionChecker=t;this.notebookEditorProvider=r;this.controllerRegistration=i;this.kernelProvider=o;this._isPylanceExtensionInstalled()||(this.extensionChangeHandler=rF.extensions.onDidChange(this.extensionsChangeHandler.bind(this)))}activate(){!this.isUsingPylance()||!this.extensionChecker.isPythonExtensionInstalled||this.apiProvider.getApi().then(e=>{e.registerJupyterPythonPathFunction!==void 0&&e.registerJupyterPythonPathFunction(t=>this._jupyterPythonPathFunction(t))}).catch(h)}async reset(){this._isEnabled=void 0,await this.activate()}_isPylanceExtensionInstalled(){return rF.extensions.getExtension(Vp)!==void 0}async extensionsChangeHandler(){this._isPylanceExtensionInstalled()&&this.extensionChangeHandler&&(this.extensionChangeHandler.dispose(),this.extensionChangeHandler=void 0,await this.reset())}isUsingPylance(){return this._isEnabled===void 0&&(this._isEnabled=C0()),this._isEnabled}async _jupyterPythonPathFunction(e){let t=this.notebookEditorProvider.findAssociatedNotebookDocument(e);if(!t)return;let r=this.controllerRegistration.getSelected(t);if(r&&_t(r.connection)){let o=this.kernelProvider.get(t);if(!o)return;let s=[];if(!o.startedAtLeastOnce){let b=new Promise(I=>o.onStarted(I,void 0,s));await fr(5e3,void 0,b)}if(!o.startedAtLeastOnce)return;let a=this.kernelProvider.getKernelExecution(o),l=`
import os as _VSCODE_os
import sys as _VSCODE_sys
import builtins as _VSCODE_builtins
if _VSCODE_os.path.exists("${__filename}"):
_VSCODE_builtins.print(f"EXECUTABLE{_VSCODE_sys.executable}EXECUTABLE")
del _VSCODE_os, _VSCODE_sys, _VSCODE_builtins
`,u=(await a.executeHidden(l).catch(h)||[]).find(b=>b.output_type==="stream"&&b.name==="stdout");if(!u||!(u.text||"").toString().includes("EXECUTABLE"))return;let d=(u.text||"").toString();d=d.substring(d.indexOf("EXECUTABLE"));let f=d.split("EXECUTABLE").filter(b=>b.trim().length),g=f.length?f[0].trim():"";return!g||!await K4.pathExists(g)?void 0:(p.debug(`Remote Interpreter for Pylance for Notebook URI "${j(t.uri)}" is ${j(g)}`),g)}let i=r?.connection?.interpreter;return i?(p.debug(`Interpreter for Pylance for Notebook URI "${j(t.uri)}" is ${j(i.uri)}`),ke(i.uri)):(p.debug(`No interpreter for Pylance for Notebook URI "${j(t.uri)}"`),"")}};Tp=v([(0,_p.injectable)(),m(0,(0,_p.inject)(Ht)),m(1,(0,_p.inject)(Be)),m(2,(0,_p.inject)(ci)),m(3,(0,_p.inject)(ot)),m(4,(0,_p.inject)(De))],Tp);function O4(n){n.addSingleton(me,iI),n.addSingleton(Dp,Dp),n.addBinding(Dp,me),n.addSingleton(Tp,Tp),n.addBinding(Tp,me)}var sI=k(N());var F4=require("vscode");var oI=class{constructor(e,t,r){this.extensionChecker=e;this.disposables=t;this.kernelProvider=r}activate(){this.extensionChecker.onPythonExtensionInstallationStatusChanged(this.onPythonExtensionInstallationStatusChanged,this,this.disposables)}async onPythonExtensionInstallationStatusChanged(e){e==="installed"&&this.anyKernelsAreActive()&&F4.window.showInformationMessage(y.pythonExtensionInstalled,de.ok).then(h,h)}anyKernelsAreActive(){return this.kernelProvider.kernels.length>0}};oI=v([(0,sI.injectable)(),m(0,(0,sI.inject)(Be)),m(1,(0,sI.inject)(M)),m(2,(0,sI.inject)(De))],oI);var Or=k(N()),W4=k(Io()),yt=require("vscode");var cc=require("vscode");var w0=class{constructor(e,t,r,i,o){this.configService=e;this.agentCreator=t;this.requestCreator=r;this.serverUriStorage=i;this.disposables=o;this.savedConnectInfo=new Map;this.serverUriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables)}getPasswordConnectionInfo(e){if(!e.url||e.url.length<1)throw new Error("Invalid URL");let t=aI(e.url),r=e.disposables||[],i=!Array.isArray(e.disposables),o=this.savedConnectInfo.get(e.handle);return o||(o=this.getJupyterConnectionInfo({url:t,isTokenEmpty:e.isTokenEmpty,disposables:r,validationErrorMessage:e.validationErrorMessage}).then(s=>((!s||s.requiresPassword&&Object.keys(s).length===1)&&(p.warn(`Password for ${t} was invalid.`),this.savedConnectInfo.delete(e.handle)),s)),o.catch(()=>this.savedConnectInfo.delete(e.handle)),o.finally(()=>{i&&z(r)}).catch(h),this.savedConnectInfo.set(e.handle,o)),o}async getJupyterConnectionInfo(e){let t,r,i,o,s=await this.needPassword(e.url);if(s||e.isTokenEmpty){if(s&&e.isTokenEmpty){let a=cc.window.createInputBox();e.disposables.push(a),a.title=y.jupyterSelectPasswordTitle,a.placeholder=y.jupyterSelectPasswordPrompt,a.ignoreFocusOut=!0,a.password=!0,a.validationMessage=e.validationErrorMessage||"",a.show(),a.buttons=[cc.QuickInputButtons.Back],o=await new Promise((l,c)=>{a.onDidTriggerButton(u=>{u===cc.QuickInputButtons.Back&&c(_e.back)},this,e.disposables),a.onDidChangeValue(()=>a.validationMessage="",this,e.disposables),a.onDidAccept(()=>l(a.value),this,e.disposables),a.onDidHide(()=>c(_e.cancel),this,e.disposables)})}if(typeof o===void 0&&!o&&e.isTokenEmpty)throw new cc.CancellationError;if(o||e.isTokenEmpty)if(t=await this.getXSRFToken(e.url,""),t){let a=await this.getSessionCookie(e.url,t,o||"");r=a.sessionCookieName,i=a.sessionCookieValue}else r="authservice_session",i=o,t=await this.getXSRFToken(e.url,`${r}=${i}`);else return{requiresPassword:s}}else return{requiresPassword:s};return t&&r&&(i||e.isTokenEmpty)?(R("DS_INTERNAL.GET_PASSWORD_SUCCESS"),{requestHeaders:{Cookie:`_xsrf=${t}; ${r}=${i||""}`,"X-XSRFToken":t},requiresPassword:s}):(R("DS_INTERNAL.GET_PASSWORD_FAILURE"),{requiresPassword:s})}addAllowUnauthorized(e,t,r){if(e.startsWith("https")&&t&&this.agentCreator){let i=this.agentCreator.createHttpRequestAgent();return{...r,agent:i}}return r}async getXSRFToken(e,t){let r,i,o=new URL("login?",aI(e)).toString();t!=""?(o=new URL("tree",aI(e)).toString(),i={Connection:"keep-alive",Cookie:t}):i={Connection:"keep-alive"};let s=await this.makeRequest(o,{method:"get",redirect:"manual",headers:i});if(s!==void 0&&s.ok){let a=this.getCookies(s);a.has("_xsrf")&&(r=a.get("_xsrf")?.split(";")[0])}return r}async needPassword(e){let t=await this.makeRequest(aI(e),{method:"get",redirect:"follow",headers:{Connection:"keep-alive"}});if(t.status===200&&t.redirected){if(t.url.toLowerCase().includes("/login?"))return!0;if(t.url.toLowerCase().includes("/lab?"))return!1}let r=new URL("tree?",aI(e)).toString();return t=await this.makeRequest(r,{method:"get",redirect:"manual",headers:{Connection:"keep-alive"}}),t.status===404?(p.error(`Jupyter Server not found at ${e}, got 404 for ${r}`),!1):t.status!==200}async makeRequest(e,t){let r=this.configService.getSettings(void 0).allowUnauthorizedRemoteConnection;try{return await this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!!r,t))}catch(i){if(i.message.indexOf("reason: self signed certificate")>=0){let o=y.jupyterSelfCertEnable,s=y.jupyterSelfCertClose,a=await cc.window.showErrorMessage(y.jupyterSelfCertFail(i.message),{modal:!0},o,s);if(a===o)return R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await this.configService.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,cc.ConfigurationTarget.Workspace),this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!0,t));a===s&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE")}throw i}}async getSessionCookie(e,t,r){let i,o,s=new URLSearchParams;s.append("_xsrf",t),s.append("password",r);let a=await this.makeRequest(new URL("login?",aI(e)).toString(),{method:"post",headers:{Cookie:`_xsrf=${t}`,Connection:"keep-alive","content-type":"application/x-www-form-urlencoded;charset=UTF-8"},body:s.toString(),redirect:"manual"});if(a.status===302){let l=this.getCookies(a);l.size>0&&(i=l.entries().next().value[0],o=l.entries().next().value[1])}return{sessionCookieName:i,sessionCookieValue:o}}getCookies(e){let t=new Map,i=(e.headers.raw?e.headers.raw():e.headers)["set-cookie"];return i&&i.forEach(o=>{let s=o.substring(0,o.indexOf("=")),a=o.substring(o.indexOf("=")+1);t.set(s,a)}),t}onDidRemoveServers(e){e.forEach(t=>{t.id.startsWith("_builtin")&&this.savedConnectInfo.delete(t.handle)})}};function aI(n){let e=n;return e[e.length-1]!=="/"&&(e=`${e}/`),e}var P0=require("vscode");var E0=class{constructor(e,t,r,i,o,s,a){this.multiStepFactory=e;this.asyncDisposableRegistry=t;this.configService=r;this.agentCreator=i;this.requestCreator=o;this.serverUriStorage=s;this.disposables=a;this.savedConnectInfo=new Map;this.serverUriStorage.onDidRemove(this.onDidRemoveServers,this,this.disposables)}async getPasswordConnectionInfo(e){if(!e.url||e.url.length<1)throw new Error("Invalid URL");if(!await this.isJupyterHub(e.url))throw new Error("Not a Jupyter Hub Url");let t=L4(e.url),r=e.disposables||[],i=!Array.isArray(e.disposables),o=this.savedConnectInfo.get(e.handle);return o||(o=this.getJupyterHubConnectionInfo(t,e.validationErrorMessage).then(s=>((!s||s.requiresPassword&&Object.keys(s).length===1)&&(p.warn(`Password for ${t} was invalid.`),this.savedConnectInfo.delete(e.handle)),s)),o.catch(()=>this.savedConnectInfo.delete(e.handle)),o.finally(()=>{i&&z(r)}).catch(h),this.savedConnectInfo.set(e.handle,o)),o}async isJupyterHub(e){try{if(e.toLowerCase().includes("/user/")&&e.includes("token="))return!1;if(e.toLowerCase().includes("/user/")&&!e.includes("token="))return!0;let t=await this.makeRequest(new URL("hub/api",L4(e)).toString(),{method:"get"});if(t.status!==200)return!1;try{let r=await t.json();return p.trace(`JupyterHub version is ${r&&r.version} for url ${e}`),r&&r.version}catch{}return!1}catch(t){return p.debug(`Error in detecting whether url is isJupyterHub: ${t}`),!1}}async getJupyterHubConnectionInfo(e,t){try{let r=await this.getUserNameAndPassword(t);if(r.username||r.password){let i=await this.getJupyterHubConnectionInfoFromLogin(e,r.username,r.password);if(i){let o=Object.keys(i||{}).length===0,s=o?"emptyResponseFromLogin":"gotResponseFromLogin";R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:o,info:s})}else{R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:!0,info:"emptyResponseFromLogin"}),i=await this.getJupyterHubConnectionInfoFromApi(e,r.username,r.password);let o=Object.keys(i||{}).length===0,s=o?"emptyResponseFromApi":"gotResponseFromApi";R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:o,info:s})}return i}return R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:!1,info:"passwordNotRequired"}),{requiresPassword:!1}}catch(r){throw R("DS_INTERNAL.JUPYTER_HUB_PASSWORD",void 0,{failed:!0,info:"failure"}),r}}async getJupyterHubConnectionInfoFromLogin(e,t,r){let i=new URL(e),o=`${i.protocol}//${i.host}`,s=new URLSearchParams;s.append("username",t||""),s.append("password",r||"");let a=await this.makeRequest(`${o}/hub/login?next=`,{method:"POST",headers:{Connection:"keep-alive",Referer:`${o}/hub/login`,"content-type":"application/x-www-form-urlencoded;charset=UTF-8"},body:s.toString(),redirect:"manual"});if(a&&a.status===302){let c=[...this.getCookies(a).entries()].reduce((u,d)=>`${u};${d[0]}=${d[1]}`,"");if(a=await this.makeRequest(`${o}/hub/api/users/${t}/tokens`,{method:"POST",headers:{Connection:"keep-alive",Cookie:c,Referer:`${o}/hub/login`}}),a.ok&&a.status===200){let u=await a.json();if(u&&u.token&&u.id)return await this.makeRequest(`${o}/hub/api/users/${t}/server`,{method:"POST",headers:{Connection:"keep-alive",Cookie:c,Referer:`${o}/hub/login`}}),this.asyncDisposableRegistry.push({dispose:async()=>{this.makeRequest(`${o}/hub/api/users/${t}/tokens/${u.id}`,{method:"DELETE",headers:{Connection:"keep-alive",Cookie:c,Referer:`${o}/hub/login`}}).catch(h)}}),{requestHeaders:{},remappedBaseUrl:`${o}/user/${t}`,remappedToken:u.token,requiresPassword:!0}}}}async getJupyterHubConnectionInfoFromApi(e,t,r){let i=new URL(e),o=`${i.protocol}//${i.host}`,s=await this.makeRequest(`${o}/hub/api/authorizations/token`,{method:"POST",headers:{Connection:"keep-alive","content-type":"application/json;charset=UTF-8"},body:`{ "username": "${t||""}", "password": "${r||""}" }`,redirect:"manual"});if(s.ok&&s.status===200){let a=await s.json();if(a&&a.user&&a.user.server&&a.token)return{requestHeaders:{},remappedBaseUrl:`${o}${a.user.server}`,remappedToken:a.token,requiresPassword:!0}}return{requiresPassword:!1}}addAllowUnauthorized(e,t,r){if(e.startsWith("https")&&t&&this.agentCreator){let i=this.agentCreator.createHttpRequestAgent();return{...r,agent:i}}return r}async getUserNameAndPassword(e){let t=this.multiStepFactory.create(),r={username:"",password:"",validationMessage:e};return await t.run(this.getUserNameMultiStep.bind(this),r),r}async getUserNameMultiStep(e,t){if(t.username=await e.showInputBox({title:y.jupyterSelectUserAndPasswordTitle,prompt:y.jupyterSelectUserPrompt,validate:this.validateUserNameOrPassword,validationMessage:t.validationMessage,value:""}),t.username)return this.getPasswordMultiStep.bind(this)}async validateUserNameOrPassword(e){}async getPasswordMultiStep(e,t){t.password=await e.showInputBox({title:y.jupyterSelectUserAndPasswordTitle,prompt:y.jupyterSelectPasswordPrompt,validate:this.validateUserNameOrPassword,value:"",password:!0})}async makeRequest(e,t){let r=this.configService.getSettings(void 0).allowUnauthorizedRemoteConnection;try{return await this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!!r,t))}catch(i){if(i.message.indexOf("reason: self signed certificate")>=0){let o=y.jupyterSelfCertEnable,s=y.jupyterSelfCertClose,a=await P0.window.showErrorMessage(y.jupyterSelfCertFail(i.message),{modal:!0},o,s);if(a===o)return R("DATASCIENCE.SELFCERTSMESSAGEENABLED"),await this.configService.updateSetting("allowUnauthorizedRemoteConnection",!0,void 0,P0.ConfigurationTarget.Workspace),this.requestCreator.getFetchMethod()(e,this.addAllowUnauthorized(e,!0,t));a===s&&R("DATASCIENCE.SELFCERTSMESSAGECLOSE")}throw i}}getCookies(e){let t=new Map,i=(e.headers.raw?e.headers.raw():e.headers)["set-cookie"];return i&&i.forEach(o=>{let s=o.substring(0,o.indexOf("=")),a=o.substring(o.indexOf("=")+1);t.set(s,a)}),t}onDidRemoveServers(e){e.forEach(t=>{t.id.startsWith("_builtin")&&this.savedConnectInfo.delete(t.handle)})}};function L4(n){let e=n;return e[e.length-1]!=="/"&&(e=`${e}/`),e}var k0="user-jupyter-server-uri-list-version2";var cfe="DataScienceAllowInsecureConnections",lI=class extends Qt{constructor(t,r,i,o,s,a,l,c,u,d,f,g,b,I=pR){super();this.jupyterConnection=r;this.context=f;this.fs=g;this.jupyterServerProviderRegistry=b;this.id=I;this.extensionId=Fe;this.documentation=yt.Uri.parse("https://aka.ms/vscodeJuptyerExtKernelPickerExistingServer");this.displayName=y.UserJupyterServerUrlProviderDisplayName;this.detail=y.UserJupyterServerUrlProviderDetail;this._onDidChangeHandles=this._register(new yt.EventEmitter);this.onDidChangeHandles=this._onDidChangeHandles.event;this._onDidChangeServers=this._register(new yt.EventEmitter);this.onDidChangeServers=this._onDidChangeServers.event;a.push(this),this.newStorage=new jw(i),this.secureConnectionValidator=new Vw(s),this.jupyterServerUriInput=new Ww(d),this.jupyterServerUriDisplayName=new nF,this.jupyterPasswordConnect=new w0(t,u,d,o,a),this.jupyterHubPasswordConnect=new E0(l,c,t,u,d,o,a)}activate(){let t=this._register(this.jupyterServerProviderRegistry.createJupyterServerCollection(Fe,this.id,this.displayName,this));t.commandProvider=this,t.documentation=this.documentation,this._register(this.onDidChangeHandles(()=>this._onDidChangeServers.fire(),this)),this._register(yt.commands.registerCommand("dataScience.ClearUserProviderJupyterServerCache",async()=>{await Promise.all([this.newStorage.clear().catch(h),this.fs.delete(yt.Uri.joinPath(this.context.globalStorageUri,ty)).catch(h)]),this._onDidChangeHandles.fire()})),this.initializeServers().catch(h)}async resolveJupyterServer(t,r){let i=await this.getServerUri(t.id);return{...t,connectionInformation:{id:t.id,label:t.label,baseUrl:yt.Uri.parse(i.baseUrl),token:i.token,headers:i.authorizationHeader,mappedRemoteNotebookDir:i.mappedRemoteNotebookDir?yt.Uri.file(i.mappedRemoteNotebookDir):void 0}}}async handleCommand(t,r){let i=new yt.CancellationTokenSource;this._register(new yt.Disposable(()=>{i.cancel(),i.dispose()}));try{let o="url"in t?t.url:void 0,s=await this.captureRemoteJupyterUrl(i.token,o);if(!s||s===_e.cancel)throw new yt.CancellationError;if(s&&s instanceof _e)return;let l=(await this.provideJupyterServers(i.token)).find(c=>c.id===s);if(!l)throw new Error(`Server ${s} not found`);return l}catch(o){if(o instanceof yt.CancellationError)throw o;p.error("Failed to select a Jupyter Server",o);return}finally{i.cancel(),i.dispose()}}async provideCommands(t,r){let i="";try{t=(t||"").trim(),["http:","https:"].includes(new URL(t.trim()).protocol.toLowerCase())&&(i=t)}catch{}return i?[{label:y.connectToToTheJupyterServer(i),url:i}]:[{label:y.jupyterSelectUriCommandLabel,canBeAutoSelected:!0}]}async provideJupyterServers(t){return await this.initializeServers(),(await this.newStorage.getServers(!1)).map(i=>({id:i.handle,label:i.serverInfo.displayName}))}async removeJupyterServer(t){await this.initializeServers(),await this.newStorage.remove(t.id),this._onDidChangeHandles.fire()}initializeServers(){if(this._cachedServerInfoInitialized)return this._cachedServerInfoInitialized;let t=re();return this._cachedServerInfoInitialized=t.promise,(async()=>{this.newStorage.getServers(!1).catch(h),t.resolve()})().then(()=>t.resolve(),r=>t.reject(r)).catch(h),this._cachedServerInfoInitialized}recommendInstallingJupyterHubExtension(){if(!yt.workspace.getConfiguration("jupyter").get("bypassJupyterHubExtensionCheck"))throw yt.extensions.getExtension(Yf)?yt.window.showInformationMessage(y.useJupyterHubExtension,{modal:!0,detail:y.useJupyterHubExtensionDetail}).then(()=>{yt.commands.executeCommand("notebook.selectKernel",{notebookEditor:yt.window.activeNotebookEditor}).then(h,h)},h):yt.window.showInformationMessage(y.installJupyterHub,{modal:!0,detail:y.installJupyterHubDetail},de.install,de.moreInfo).then(t=>{t===de.install?yt.commands.executeCommand("workbench.extensions.installExtension",Yf,{context:{skipWalkthrough:!0}}).then(h,h):t===de.moreInfo&&yt.env.openExternal(yt.Uri.parse("https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter-hub")).then(h,h)},h),new yt.CancellationError}async captureRemoteJupyterUrl(t,r=""){await this.initializeServers();let i=[],o={baseUrl:"",displayName:"",token:""},s="",a=!1,l=!1,c,u="Get Url",d="Get Url",f=r,g=!1;if(r){let b=await this.jupyterServerUriInput.parseUserUriAndGetValidationError(r);typeof b.validationError=="string"?(s=b.validationError,u="Get Url"):(g=!0,o=b.jupyterServerUri,u="Check Passwords")}try{let b=!1,I=!1;for(;;)try{if(c=(0,W4.default)(),u==="Get Url"){g=!1,u="Check Passwords",d=void 0;let x=s;s="";let A=await this.jupyterServerUriInput.getUrlFromUser(f||r,x,i);o=A.jupyterServerUri,f=A.url}if(t.isCancellationRequested)return _e.cancel;let E=[];if(u==="Check Passwords"){u="Check Insecure Connections",d=g&&r?void 0:"Get Url";try{let x=s;s="",b=await this.jupyterHubPasswordConnect.isJupyterHub(o.baseUrl),b&&this.recommendInstallingJupyterHubExtension();let A=b?await this.jupyterHubPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,handle:c,displayName:o.displayName,validationErrorMessage:x,disposables:E}):await this.jupyterPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,isTokenEmpty:o.token.length===0,handle:c,validationErrorMessage:x,disposables:E});a=A.requiresPassword,o.authorizationHeader=A.requestHeaders,I=!1}catch(x){if(I=!1,x instanceof yt.CancellationError||x==_e.back||x==_e.cancel)throw x;if(!Oo.isSelfCertsError(x)){if(!pl.isSelfCertsExpiredError(x)){_f(c,o.baseUrl,b,"ConnectionFailure");let A=/(https?:\/\/[^\s]+)/g,T=(x.message||x.toString()).replace(A,J=>`[${J}](${J})`);if(s=(tn()?y.remoteJupyterConnectionFailedWithoutServerWithErrorWeb:y.remoteJupyterConnectionFailedWithoutServerWithError)(T),o.token.length>0&&(x.message||"").toLowerCase()==="Failed to fetch".toLowerCase())I=!0;else{u="Get Url";continue}}}}finally{E.forEach(x=>this._register(x))}}if(t.isCancellationRequested)return _e.cancel;if(u==="Check Insecure Connections"&&(u="Verify Connection",d=a&&o.token.length===0?"Check Passwords":"Get Url",d==="Get Url"&&(d=g&&r?void 0:"Get Url"),!a&&o.token.length===0&&new URL(o.baseUrl).protocol.toLowerCase()==="http:"&&(l=!0,z(E),!await this.secureConnectionValidator.promptToUseInsecureConnections())))return _f(c,o.baseUrl,b,"InsecureHTTP"),_e.cancel;if(t.isCancellationRequested)return _e.cancel;if(u==="Verify Connection")try{u="Get Display Name",await this.jupyterConnection.validateRemoteUri({id:this.id,handle:c,extensionId:Fe},o,!0)}catch(x){if(p.warn("Uri verification error",x),I&&s){u="Get Url";continue}if(x instanceof yt.CancellationError||x==_e.back||x==_e.cancel)throw x;if(Oo.isSelfCertsError(x)){s=y.jupyterSelfCertFailErrorMessageOnly,u="Get Url",_f(c,o.baseUrl,b,"SelfCert");continue}else if(pl.isSelfCertsExpiredError(x)){s=y.jupyterSelfCertExpiredErrorMessageOnly,u="Get Url",_f(c,o.baseUrl,b,"ExpiredCert");continue}else if(a&&o.token.length===0){s=y.passwordFailure,u="Check Passwords",_f(c,o.baseUrl,b,"AuthFailure");continue}else{_f(c,o.baseUrl,b,"ConnectionFailure");let A=/(https?:\/\/[^\s]+)/g,T=(x.message||x.toString()).replace(A,J=>`[${J}](${J})`);s=(tn()?y.remoteJupyterConnectionFailedWithoutServerWithErrorWeb:y.remoteJupyterConnectionFailedWithoutServerWithError)(T),u="Get Url";continue}}finally{z(E)}if(t.isCancellationRequested)return _e.cancel;if(u==="Get Display Name"){z(E),d=l?"Check Insecure Connections":a&&o.token.length===0?"Check Passwords":"Get Url",d==="Get Url"&&(d=g&&r?void 0:"Get Url"),o.displayName=await this.jupyterServerUriDisplayName.getDisplayName(c,o.displayName||new URL(o.baseUrl).hostname);break}}catch(E){if(E instanceof yt.CancellationError||E===_e.cancel)return _e.cancel;if(E===_e.back){if(!d)return _e.back;u=d;continue}throw E}return t.isCancellationRequested?_e.cancel:(await this.addNewServer({handle:c,uri:f,serverInfo:o}),lD({extensionId:this.extensionId,id:this.id,handle:c},o.displayName),_f(c,o.baseUrl,b),c)}catch(b){if(b instanceof yt.CancellationError)return _e.cancel;throw b}finally{z(i)}}async addNewServer(t){await this.newStorage.add(t),this._onDidChangeHandles.fire()}async getServerUri(t){let i=(await this.newStorage.getServers(!1)).find(c=>c.handle===t);if(!i)throw new Error("Server not found");let o=i.serverInfo,s=this.jupyterServerUriDisplayName.displayNamesOfHandles.get(t);s&&(o.displayName=s);let a=await this.jupyterHubPasswordConnect.isJupyterHub(o.baseUrl),l=Object.assign({},o);try{let c=a?await this.jupyterHubPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,handle:t,displayName:o.displayName}):await this.jupyterPasswordConnect.getPasswordConnectionInfo({url:o.baseUrl,isTokenEmpty:o.token.length===0,handle:t});l=Object.assign({},o,{authorizationHeader:c.requestHeaders||o.authorizationHeader}),a&&c.remappedBaseUrl&&(l.baseUrl=c.remappedBaseUrl),a&&c.remappedToken&&(l.token=c.remappedToken)}catch(c){p.error("Failed to validate Password info",c)}return l}};lI=v([(0,Or.injectable)(),m(0,(0,Or.inject)(ie)),m(1,(0,Or.inject)(on)),m(2,(0,Or.inject)(oC)),m(3,(0,Or.inject)($t)),m(4,(0,Or.inject)(We)),m(4,(0,Or.named)(lt)),m(5,(0,Or.inject)(M)),m(6,(0,Or.inject)(wg)),m(7,(0,Or.inject)(No)),m(8,(0,Or.inject)(ad)),m(8,(0,Or.optional)()),m(9,(0,Or.inject)(Dc)),m(10,(0,Or.inject)(et)),m(11,(0,Or.inject)(tt)),m(12,(0,Or.inject)(jt)),m(13,(0,Or.optional)()),m(13,(0,Or.inject)(Date.now().toString()))],lI);var Ww=class{constructor(e){this.requestCreator=e}async getUrlFromUser(e,t="",r){if(!e&&!EE)try{let s=await yt.env.clipboard.readText(),a=s.trim().startsWith("https://github.com/")?void 0:yt.Uri.parse(s.trim(),!0);e=s&&a&&a.scheme.toLowerCase().startsWith("http")?s:""}catch{e=""}let i=yt.window.createInputBox();r.push(i),i.title=y.jupyterSelectUriInputTitle,i.placeholder=y.jupyterSelectUriInputPlaceholder,i.value=e,i.validationMessage=t,i.buttons=[yt.QuickInputButtons.Back],i.ignoreFocusOut=!0,i.show();let o=re();return i.onDidChangeValue(()=>i.validationMessage="",this,r),i.onDidHide(()=>o.reject(_e.cancel),this,r),i.onDidTriggerButton(s=>{s===yt.QuickInputButtons.Back&&o.reject(_e.back)},this,r),i.onDidAccept(async()=>{let s=await this.parseUserUriAndGetValidationError(i.value);if(typeof s.validationError=="string"){i.validationMessage=s.validationError;return}o.resolve(s)}),o.promise}async parseUserUriAndGetValidationError(e){let t=e.trim().replace(/\/(lab|tree)(\??)$/,""),r=iF(t,"");return r?(r.baseUrl=await ufe(t,this.requestCreator)||r.baseUrl,!t.toLowerCase().startsWith("http:")&&!t.toLowerCase().startsWith("https:")?{validationError:y.jupyterSelectURIMustBeHttpOrHttps}:{jupyterServerUri:r,url:t,validationError:void 0}):{validationError:y.jupyterSelectURIInvalidURI}}};Ww=v([m(0,(0,Or.inject)(Dc))],Ww);async function ufe(n,e){try{if(n=iF(n,"")?.baseUrl||n,new URL(n).pathname==="/")return n;let t=n.indexOf("token=")>0?n.substring(0,n.indexOf("token=")):n,o=(await e.getFetchMethod()(t,{method:"GET",redirect:"manual"})).headers.get("location");if(o&&o.includes("login?"))return o.substring(0,o.indexOf("login?"))}catch(t){p.debug("Unable to identify the baseUrl of the Jupyter Server",t)}}function _f(n,e,t,r){e=e.trim().toLowerCase();let i=Ot({handle:n,extensionId:Fe,id:pR});Promise.all([at(e.toLowerCase()),at(i.toLowerCase())]).then(([o,s])=>{R("DATASCIENCE.ENTER_REMOTE_JUPYTER_URL",void 0,{serverIdHash:s,failed:!!r,baseUrlHash:o,isJupyterHub:t,isLocalHost:["localhost","127.0.0.1","::1"].includes(new URL(e).hostname),reason:r})}).catch(o=>p.error(`Failed to hash remote url ${e}`,o))}var nF=class{constructor(){this.displayNamesOfHandles=new Map}async getDisplayName(e,t){let r=[];try{let i=yt.window.createInputBox();r.push(i),i.ignoreFocusOut=!0,i.title=y.jupyterRenameServer,i.value=t,i.placeholder=y.jupyterServerUriDisplayNameInputPlaceholder,i.buttons=[yt.QuickInputButtons.Back],i.show();let o=re();return r.push(i.onDidHide(()=>o.reject(_e.cancel))),i.onDidTriggerButton(s=>{s===yt.QuickInputButtons.Back&&o.reject(_e.back)},this,r),i.onDidAccept(()=>{let s=i.value.trim()||t;this.displayNamesOfHandles.set(e,s),o.resolve(s)},this,r),await o.promise}finally{z(r)}}},Vw=class{constructor(e){this.globalMemento=e}async promptToUseInsecureConnections(){if(this.globalMemento.get(cfe,!1))return!0;let e=[],t=re();try{let r=yt.window.createQuickPick();return e.push(r),r.canSelectMany=!1,r.ignoreFocusOut=!0,r.title=y.insecureSessionMessage,r.buttons=[yt.QuickInputButtons.Back],r.items=[{label:de.bannerLabelYes},{label:de.bannerLabelNo}],r.show(),e.push(r.onDidHide(()=>t.reject(_e.cancel))),r.onDidTriggerButton(i=>{i===yt.QuickInputButtons.Back&&t.reject(_e.back)},this,e),r.onDidAccept(()=>t.resolve(r.selectedItems.some(i=>i.label===de.bannerLabelYes)),this,e),await t.promise}finally{z(e)}}};Vw=v([m(0,(0,Or.inject)(We)),m(0,(0,Or.named)(lt))],Vw);function iF(n,e){if(!n.startsWith(je.REMOTE_URI))try{let t=new URL(n);return{baseUrl:`${t.protocol}//${t.host}${t.pathname==="/lab"||t.pathname==="/tree"?"":t.pathname}`,token:t.searchParams.get("token")||"",displayName:e||t.hostname}}catch(t){p.error(`Failed to parse URI ${n}`,t);return}}function U4(n){return n.map(e=>({handle:e.handle,uri:e.uri,displayName:e.serverInfo.displayName}))}function dfe(n){let e=[];return n.forEach(t=>{let r=iF(t.uri,t.displayName);r&&e.push({handle:t.handle,uri:t.uri,serverInfo:r})}),e}var jw=class{constructor(e){this.encryptedStorage=e;this.updatePromise=Promise.resolve()}async getServers(e){if(this.servers&&!e)return this.servers;let t=await this.encryptedStorage.retrieve(Qn.JupyterServerRemoteLaunchService,k0);if(!t||t==="[]")return[];try{return this.servers=dfe(JSON.parse(t))}catch{return[]}}async add(e){this.servers&&(this.servers=this.servers.filter(t=>t.handle!==e.handle).concat(e)),await(this.updatePromise=this.updatePromise.then(async()=>{let t=(await this.getServers(!0)).concat(e);this.servers=t,await this.encryptedStorage.store(Qn.JupyterServerRemoteLaunchService,k0,JSON.stringify(U4(t)))}).catch(h))}async remove(e){this.servers&&(this.servers=this.servers.filter(t=>t.handle!==e)),await(this.updatePromise=this.updatePromise.then(async()=>{let t=(await this.getServers(!0)).filter(r=>r.handle!==e);return this.servers=t,this.encryptedStorage.store(Qn.JupyterServerRemoteLaunchService,k0,JSON.stringify(U4(t)))}).catch(h))}async clear(){this.servers=[],await(this.updatePromise=this.updatePromise.then(async()=>{this.servers=[],await this.encryptedStorage.store(Qn.JupyterServerRemoteLaunchService,k0,void 0)}).catch(h))}};jw=v([m(0,(0,Or.inject)(oC))],jw);var Jw=k(N()),uI=require("vscode");var cI=class extends Qt{constructor(t,r){super();this.uriProviderRegistration=t;this.serverUriStorage=r;this.handleMappings=new Map;this._onDidChangeHandles=this._register(new uI.EventEmitter);this.extensionId=Fe;this.id=mE;this.displayName="Jupyter Server for Testing";this.onDidChangeServers=this._onDidChangeHandles.event}async provideJupyterServers(t){return Array.from(this.handleMappings.values()).map(r=>r.server)}async resolveJupyterServer(t,r){return t}activate(){this._register(this.uriProviderRegistration.createJupyterServerCollection(Fe,this.id,this.displayName,this)),this._register(uI.commands.registerCommand("jupyter.selectjupyteruri",this.selectJupyterUri,this))}async selectJupyterUri(t){p.info(`Setting Jupyter Server URI to remote: ${t}`);let r=t.toString(!0),i=new URL(r),o=uI.Uri.parse(`${i.protocol}//${i.host}${i.pathname==="/lab"?"":i.pathname}`),s=i.searchParams.get("token")??"",a=await na(t.toString(!0),"SHA-1"),l={label:this.displayName,id:a,connectionInformation:{baseUrl:o,token:s}};this.handleMappings.set(a,{uri:t,server:l}),await this.serverUriStorage.add({id:this.id,handle:a,extensionId:Fe}),this._onDidChangeHandles.fire()}};cI=v([(0,Jw.injectable)(),m(0,(0,Jw.inject)(jt)),m(1,(0,Jw.inject)($t))],cI);var x0=k(N());var Bw=require("vscode");var dI=class{constructor(e){this.disposables=e}activate(){this.registerCommandsIfTrusted()}dispose(){this.disposables.forEach(e=>e.dispose())}registerCommandsIfTrusted(){Bw.workspace.isTrusted&&this.registerCommand(B.ContinueEditSessionInCodespace,this.continueEditSessionInCodespace)}registerCommand(e,t){let r=Bw.commands.registerCommand(e,t,this);this.disposables.push(r)}async continueEditSessionInCodespace(){await Bw.commands.executeCommand("_workbench.editSessions.actions.continueEditSession.github.codespaces.continueEditSessionInCodespaceWithJupyterServer")}};dI=v([(0,x0.injectable)(),m(0,(0,x0.inject)(M))],dI);var V4=k(N());var j4=require("vscode");var pI=class{activate(){this.eagerlyActivateOtherExtensions().catch(h)}async eagerlyActivateOtherExtensions(){await Promise.all(j4.extensions.all.filter(e=>e.packageJSON?.contributes?.pythonRemoteServerProvider).map(e=>e.isActive?Promise.resolve():e.activate().then(h,h)))}};pI=v([(0,V4.injectable)()],pI);var D0=k(N()),J4=require("vscode");var mI=class{constructor(e){this.uriStorage=e}activate(){J4.commands.registerCommand("jupyter.getUsedAzMLServerHandles",()=>{let e=[];return this.uriStorage.all.forEach(r=>{r.provider.extensionId.toLowerCase()==="ms-toolsai.vscode-ai".toLowerCase()&&e.push(r.provider)}),e})}};mI=v([(0,D0.injectable)(),m(0,(0,D0.inject)($t))],mI);var Su=require("vscode");var B4=k(N());var fI=class{activate(){let e=be.instance.get(M),t=new Wr;e.push(t),e.push(Su.commands.registerCommand("jupyter.manageAccessToKernels",()=>pfe(t)))}};fI=v([(0,B4.injectable)()],fI);async function pfe(n){let e=await gj(),t=[];Array.from(e.entries()).forEach(([s])=>{let a=Su.extensions.getExtension(s)?.packageJSON?.displayName;a&&t.push({label:a,description:s,extensionId:s})});let r=[];n.add({dispose:()=>{r=z(r)}});let i=Su.window.createQuickPick();i.title=Su.l10n.t("Manage Access To Jupyter Kernels"),i.placeholder=Su.l10n.t("Choose which extensions can access Jupyter Kernels"),i.items=t,i.selectedItems=t.filter(s=>e.get(s.extensionId)===!0),i.canSelectMany=!0,i.ignoreFocusOut=!1;let o=!1;r.push(i),i.show(),await Promise.race([JS(i.onDidAccept,void 0,r).then(()=>o=!0),JS(i.onDidHide,void 0,r)]),o&&(await vj(i.selectedItems.map(s=>s.extensionId)),r=z(r))}var H4=require("vscode");var _0=class{constructor(){this.cache=new Map;this.executionCount=0}getResults(e,t){return this.executionCount!==e&&(this.cache.clear(),this.executionCount=e),this.cache.get(t)}setResults(e,t,r){if(this.executionCount<e)this.cache.clear(),this.executionCount=e;else if(this.executionCount>e)return;this.cache.set(t,r)}},$4=_0,q4=_0;var Tf=k(N());var hI=class{constructor(e,t){this.variables=e;this.kernelProvider=t;this.variableResultCache=new $4;this.variableSummaryCache=new q4;this.runningKernels=new Set;this._onDidChangeVariables=new H4.EventEmitter;this.onDidChangeVariables=this._onDidChangeVariables.event;this.kernelProvider.onKernelStatusChanged(this.onKernelStatusChanged,this)}onKernelStatusChanged({kernel:e}){if("variableProvider"in e.controller&&e.controller.variableProvider!==this)return;let t=e.notebook.uri.toString(),r=this.runningKernels.has(t);e.status==="idle"&&!r?this.runningKernels.add(t):e.status!=="busy"&&e.status!=="idle"&&r&&(this.runningKernels.delete(t),this._onDidChangeVariables.fire(e.notebook))}_getVariableResultCacheKey(e,t,r){let i="",o=t;return o&&(i=`${o.name}.${o.propertyChain.join(".")}[[${r}`),`${e}:${i}`}async*provideVariables(e,t,r,i,o){if(o.isCancellationRequested)return;let s=this.kernelProvider.get(e);if(!s||s.status==="dead"||s.status==="terminating")return;let a=this.kernelProvider.getKernelExecution(s).executionCount,l=this._getVariableResultCacheKey(e.uri.toString(),t,i),c=this.variableResultCache.getResults(a,l);if(t){let u=t;if(!c&&u.getChildren)c=(await u.getChildren(i,o)).map(f=>this.createVariableResult(f,s)),this.variableResultCache.setResults(a,l,c);else if(!c)return;for(let d of c)yield d;if(r===2&&u.count&&c.length>0&&u.count>i+c.length)for await(let d of this.provideVariables(e,t,r,i+c.length,o))yield d}else{c||(c=(await this.variables.getAllVariableDiscriptions(s,void 0,i,o)).map(d=>this.createVariableResult(d,s)),this.variableResultCache.setResults(a,l,c));for(let u of c)yield u}}_getVariableSummaryCacheKey(e,t){return`${e}:${t.name}`}async*provideVariablesWithSummarization(e,t,r,i,o){let s=this.kernelProvider.get(e),a=this.provideVariables(e,t,r,i,o);for await(let l of a)if(s&&s.status!=="dead"&&s.status!=="terminating"){let c=this._getVariableSummaryCacheKey(e.uri.toString(),l.variable),u=this.kernelProvider.getKernelExecution(s).executionCount,d=this.variableSummaryCache.getResults(u,c);d==null&&l.variable.type==="pandas.core.frame.DataFrame"&&(d=await this.variables.getVariableValueSummary({name:l.variable.name,value:l.variable.value,supportsDataExplorer:!1,type:l.variable.type??"",size:0,count:0,shape:"",truncated:!0},s,o),this.variableSummaryCache.setResults(u,c,d??null)),yield{hasNamedChildren:l.hasNamedChildren,indexedChildrenCount:l.indexedChildrenCount,variable:{name:l.variable.name,value:l.variable.value,expression:l.variable.expression,type:l.variable.type,language:l.variable.language,summary:d??""}}}}createVariableResult(e,t){let r=e.count??0,i=!!e.hasNamedChildren,o={getChildren:(s,a)=>this.getChildren(o,s,t,a),expression:mfe(e.root,e.propertyChain),...e};return{variable:o,hasNamedChildren:i,indexedChildrenCount:r}}async getChildren(e,t,r,i){let o=e;return await this.variables.getAllVariableDiscriptions(r,o,t,i)}};hI=v([(0,Tf.injectable)(),m(0,(0,Tf.inject)(yn)),m(0,(0,Tf.named)(je.KERNEL_VARIABLES)),m(1,(0,Tf.inject)(De))],hI);function mfe(n,e){let t=n;for(let r of e)typeof r=="string"?t+=`.${r}`:t+=`[${r}]`;return t}var Cu=k(N()),T0=require("vscode");var ffe=/Type:\s*(\w+)/,hfe=/Value:\s*(.*)/,gfe=/String form:\s*([\s\S]+?)\n/,vfe=/Docstring:\s*(.*)/,yfe=/Length:\s+(.*)/,bfe=/^\s+\[(\d+) rows x (\d+) columns\]/m,Ife=new Set(["DataFrame","list","dict","ndarray","Series","Tensor","EagerTensor","DataArray"]),gI=class{constructor(e,t,r,i){this.configService=e;this.disposables=r;this.kernelProvider=i;this.variableRequesters=new Map;this.cachedVariables=new Map;this.refreshEventEmitter=new T0.EventEmitter;this.variableRequesters.set(ge,t)}get refreshRequired(){return this.refreshEventEmitter.event}async getAllVariableDiscriptions(e,t,r,i){let o=po(e.kernelConnectionMetadata)||ge,s=this.variableRequesters.get(o);return s?s.getAllVariableDiscriptions(e,t,r,i):[]}async getVariables(e,t){return this.getVariablesBasedOnKernel(t,e)}async getMatchingVariable(e,t,r){let i=this.cachedVariables.get(t.uri.toString());if(i){let o=i.variables.find(s=>s.name===e);return o&&!o.value&&(o=await this.getVariableValueFromKernel(o,t,r)),o}else{let o=await this.getVariableNamesAndTypesFromKernel(t,r);if(o){let s=o.find(a=>a.name===e);if(s)return this.getVariableValueFromKernel({name:e,value:void 0,supportsDataExplorer:!1,type:s.type,fullType:s.fullType,size:0,count:0,shape:"",truncated:!0},t,r)}}}async getVariableValueSummary(e,t,r){if(!t)return;let i=po(t?.kernelConnectionMetadata)||ge,o=this.variableRequesters.get(i);if(o)return o.getVariableValueSummary(e,t,r)}async getDataFrameInfo(e,t,r,i){if(!t)return e;let o=po(t?.kernelConnectionMetadata)||ge,s=this.variableRequesters.get(o);if(s){i&&(e=await this.getFullVariable(e,t));let a=e.name;return r&&(a=`${e.name}${r}`),s.getDataFrameInfo(e,t,a)}return e}async getDataFrameRows(e,t,r,i,o){let s=po(i?.kernelConnectionMetadata)||ge,a=this.variableRequesters.get(s);if(a){let l=e.name;return o&&(l=`${e.name}${o}`),a.getDataFrameRows(t,r,i,l)}return{data:[]}}async getFullVariable(e,t,r){let i=po(t?.kernelConnectionMetadata)||ge,o=this.variableRequesters.get(i);return o?o.getFullVariable(e,t,r):e}async getVariablesBasedOnKernel(e,t){let r=this.cachedVariables.get(e.uri.toString()),i=this.kernelProvider.getKernelExecution(e).pendingCells.length>0,o=this.kernelProvider.getKernelExecution(e);(!r||!i&&(r.currentExecutionCount!==t.executionCount||r.currentExecutionCount!==o.executionCount))&&(r={currentExecutionCount:o.executionCount,variables:(await this.getVariableNamesAndTypesFromKernel(e)).map(l=>({name:l.name,value:void 0,supportsDataExplorer:!1,type:l.type,fullType:l.fullType,size:0,shape:"",count:0,truncated:!0,fileName:e.notebook.uri}))});let s=this.configService.getSettings(e.resourceUri).variableExplorerExclude?this.configService.getSettings().variableExplorerExclude?.split(";"):[],a={executionCount:o.executionCount,pageStartIndex:-1,pageResponse:[],totalCount:0,refreshCount:t.refreshCount};if(r){let l=t.sortColumn,c=(f,g)=>{let b=f[l]?f[l]:"",I=g[l]?g[l]:"";return t.sortAscending?b.localeCompare(I,void 0,{sensitivity:"base"}):I.localeCompare(b,void 0,{sensitivity:"base"})};r.variables.sort(c);let u=t.startIndex?t.startIndex:0,d=t.pageSize?t.pageSize:100;a.pageStartIndex=u;for(let f=u;f<u+d&&f<r.variables.length;){if(s&&s.indexOf(r.variables[f].type)>=0){r.variables.splice(f,1);continue}let g=typeof r.variables[f].value=="string"?r.variables[f]:await this.getVariableValueFromKernel(r.variables[f],e);r.variables[f]=g,a.pageResponse.push(g),f+=1}this.cachedVariables.set(e.uri.toString(),r),a.totalCount=r.variables.length}return a}async getVariableProperties(e,t,r){let i=await this.getMatchingVariable(e,t,r),o=po(t.kernelConnectionMetadata)||ge,s=this.variableRequesters.get(o);return s?s.getVariableProperties(e,r,i):{}}async getVariableNamesAndTypesFromKernel(e,t){let r=po(e.kernelConnectionMetadata)||ge,i=this.variableRequesters.get(r);return i?i.getVariableNamesAndTypesFromKernel(e,t):[]}inspect(e,t,r=0,i){let o=re();try{e.requestInspect({code:t,cursor_pos:r,detail_level:0}).then(s=>{s&&s.content.status==="ok"?o.resolve(s.content.data):o.resolve(void 0)}).catch(s=>{o.reject(s)})}catch(s){o.reject(s)}return i&&this.disposables.push(i.onCancellationRequested(()=>o.reject(new T0.CancellationError))),o.promise}async getVariableValueFromKernel(e,t,r){let i={...e};if(!t.disposed&&t.session?.kernel){let o=await this.inspect(t.session.kernel,e.name,0,r);if(o&&o.hasOwnProperty("text/plain")){let s=ql(o["text/plain"].toString()),a=ffe.exec(s),l=yfe.exec(s),c=bfe.exec(s);a&&(i.type=a[1]),i.value=[hfe,gfe,vfe].reduce((u,d)=>u||d.exec(s)?.[1]||"",""),l&&(i.count=parseInt(l[1],10)),c&&(i.shape=`(${c[1]}, ${c[2]})`)}o&&o.type&&(i.type=o.type.toString()),o&&o.value&&(i.value=o.value.toString()),Ife.has(i.type)&&(i.supportsDataExplorer=!0)}return i.type&&i.count&&!i.shape&&dt(t.kernelConnectionMetadata)&&i.supportsDataExplorer&&i.type!=="list"&&(i=await this.getFullVariable(i,t)),i}};gI=v([(0,Cu.injectable)(),m(0,(0,Cu.inject)(ie)),m(1,(0,Cu.inject)(M_)),m(1,(0,Cu.named)(je.PYTHON_VARIABLES_REQUESTER)),m(2,(0,Cu.inject)(M)),m(3,(0,Cu.inject)(De))],gI);var $w=k(N());var vI=class extends qe{constructor(){super("unknown",y.jupyterDataRateExceeded)}};async function R0(n,{code:e,initializeCode:t,cleanupCode:r},i){if(n.disposed||n.disposing||!n.session?.kernel||!n.session.kernel||n.session.isDisposed)return[];try{return t&&await pn(n.session.kernel,t,i),await pn(n.session.kernel,e,i)}catch(o){if(o instanceof dn)return[];throw o}finally{r&&await pn(n.session.kernel,r,i)}}var yI=class{constructor(e,t){this.varScriptGenerator=e;this.dfScriptGenerator=t}async getDataFrameInfo(e,t,r){let{code:i,cleanupCode:o,initializeCode:s}=await this.dfScriptGenerator.generateCodeToGetDataFrameInfo({isDebugging:!1,variableName:r}),a=await R0(t,{code:i,cleanupCode:o,initializeCode:s},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getDataFrameInfo",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"}),l=t.notebook?.uri||t.resourceUri||t.uri;return{...e,...this.deserializeJupyterResult(a),fileName:l}}async getDataFrameRows(e,t,r,i){let{code:o,cleanupCode:s,initializeCode:a}=await this.dfScriptGenerator.generateCodeToGetDataFrameRows({isDebugging:!1,variableName:i,startIndex:e,endIndex:t}),l=await R0(r,{code:o,cleanupCode:s,initializeCode:a},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getDataFrameRows",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"});return l.length===0?{data:[]}:ST(this.deserializeJupyterResult(l))}async getVariableProperties(e,t,r){let i={};return r&&r.value&&(i[`${e}`]=r.value),i}async getVariableValueSummary(e,t,r){let i=await this.varScriptGenerator.generateCodeToGetVariableValueSummary(e.name);try{return(await Iu(t,i.split(/\r?\n/),r))?.summary}catch(o){p.warn(`Exception when getting variable summary for variable "${e.name}": ${o.message}`);return}}async getAllVariableDiscriptions(e,t,r,i){if(!e.session)return[];let o=t?{root:t.root,propertyChain:t.propertyChain,startIndex:r}:void 0,s=await this.varScriptGenerator.generateCodeToGetAllVariableDescriptions(o),a=await Iu(e,s.split(/\r?\n/),i);if(e.disposed||e.disposing||i?.isCancellationRequested||!a)return[];try{return a}catch(l){return p.error(l),[]}}async getVariableNamesAndTypesFromKernel(e,t){if(e.session){let{code:r,cleanupCode:i,initializeCode:o}=await this.varScriptGenerator.generateCodeToGetVariableTypes({isDebugging:!1}),s=await R0(e,{code:r,cleanupCode:i,initializeCode:o},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getVariableNamesAndTypesFromKernel",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"});if(e.disposed||e.disposing)return[];let a=this.deserializeJupyterResult(s),l=[];for(let c of a){let u={...c,value:void 0,supportsDataExplorer:!1,size:0,shape:"",count:0,truncated:!0};l.push(u)}return l}return[]}async getFullVariable(e,t,r){let{code:i,cleanupCode:o,initializeCode:s}=await this.varScriptGenerator.generateCodeToGetVariableInfo({isDebugging:!1,variableName:e.name}),a=await R0(t,{code:i,cleanupCode:o,initializeCode:s},{traceErrors:!0,traceErrorsMessage:"Failure in execute_request for getFullVariable",telemetryName:"DATASCIENCE.PYTHON_VARIABLE_FETCHING_CODE_FAILURE"});return{...e,...this.deserializeJupyterResult(a)}}extractJupyterResultText(e){if(e.length>0){let t=e[0];if(t&&t.output_type==="stream"&&t.name==="stderr"&&t.hasOwnProperty("text")){let r=t.text;if(r.includes("iopub_data_rate_limit"))throw new vI;{let i=y.jupyterGetVariablesExecutionError(r);throw p.error(i),new Error(i)}}if(t&&t.output_type==="execute_result"){let r=t.data;if(r&&r.hasOwnProperty("text/plain"))return r["text/plain"]}if(t&&t.output_type==="stream"&&t.hasOwnProperty("text"))return t.text;if(t&&t.output_type==="error"&&t.hasOwnProperty("traceback")){let i=t.traceback.map(ql).join(`\r
`),o=y.jupyterGetVariablesExecutionError(i);throw p.error(o),new Error(o)}}throw new Error(y.jupyterGetVariablesBadResults)}deserializeJupyterResult(e){let t=this.extractJupyterResultText(e);return JSON.parse(t)}};yI=v([(0,$w.injectable)(),m(0,(0,$w.inject)(Eh)),m(1,(0,$w.inject)(Ph))],yI);var uc=k(N());var bI=class{constructor(e,t,r,i,o,s,a){this.activationService=e;this.jupyterInterpreterService=t;this.disposables=r;this.extensionChecker=i;this.apiProvider=o;this.rawNotebookSupported=s;this.condaService=a}activate(){this.rawNotebookSupported.isSupported||(this.disposables.push(this.jupyterInterpreterService.onDidChangeInterpreter(()=>this.preWarmInterpreterVariables().catch(h))),this.preWarmInterpreterVariables().catch(h),this.apiProvider.onDidActivatePythonExtension(this.preWarmInterpreterVariables,this,this.disposables)),this.extensionChecker.isPythonExtensionInstalled&&(this.condaService.getCondaFile().catch(h),this.condaService.getCondaVersion().catch(h))}async preWarmInterpreterVariables(){if(!this.extensionChecker.isPythonExtensionActive)return;let e=await this.jupyterInterpreterService.getSelectedInterpreter();e&&this.activationService.getActivatedEnvironmentVariables(void 0,e).catch(h)}};bI=v([(0,uc.injectable)(),m(0,(0,uc.inject)(ks)),m(1,(0,uc.inject)(ii)),m(2,(0,uc.inject)(M)),m(3,(0,uc.inject)(Be)),m(4,(0,uc.inject)(Ht)),m(5,(0,uc.inject)(oi)),m(6,(0,uc.inject)(_s))],bI);function G4(n,e,t){e.addSingleton(me,eI),e.addSingleton(me,xf),e.addSingleton(me,Qb),e.addSingleton(me,Xb),e.addSingleton(me,Zb),e.addSingleton(me,pI),e.addSingleton(me,cI),e.add(tg,Hb),e.add(dk,Gb),e.addSingleton(me,zb),e.addSingleton(me,dI),e.addSingleton(zO,lc),e.addBinding(zO,me),e.add(yk,rI),e.addSingleton(vk,tI),e.addSingleton(bu,bu),e.addSingleton(me,oI),O4(e),b4(n,t),e.addSingleton(me,lI),e.addSingleton(me,mI),e.addSingleton(me,fI),e.addSingleton(K_,hI),e.addSingleton(yn,gI,je.KERNEL_VARIABLES),e.addSingleton(M_,yI,je.PYTHON_VARIABLES_REQUESTER),e.addSingleton(me,bI)}var dc=k(N()),Do=require("vscode");var A0=class{constructor(e,t,r){this.disposedCallback=r,this.callback=e,this.viewChanged=t}dispose(){this.disposedCallback()}onMessage(e,t){this.callback(e,t)}onChangeViewState(e){this.viewChanged(e)}};var z4=1e3,Sfe;(t=>(t.Fetching="fetching",t.Skipped="skipped"))(Sfe||={});var is;(f=>(f.Started="started",f.UpdateSettings="update_settings",f.InitializeData="init",f.GetAllRowsRequest="get_all_rows_request",f.GetAllRowsResponse="get_all_rows_response",f.GetRowsRequest="get_rows_request",f.GetRowsResponse="get_rows_response",f.CompletedData="complete",f.GetSliceRequest="get_slice_request",f.RefreshDataViewer="refresh_data_viewer",f.SliceEnablementStateChanged="slice_enablement_state_changed",f.DeprecationWarningClicked="deprecation_warning_clicked"))(is||={});var II=Symbol("IDataViewerFactory"),N0=Symbol("IDataViewer"),M0=Symbol("IJupyterVariableDataProvider"),K0=Symbol("IJupyterVariableDataProviderFactory"),SI=Symbol("IDataViewerDependencyService");var sF;function aF(n,e){return sF&&sF.hasOwnProperty(n)?sF[n]:e}function lF(n,...e){return n.replace(/{(\d+)}/g,(t,r)=>e[r]===void 0?t:e[r])}var Cfe=/^\s*((?<StartRange>-?\d+:)|(?<StopRange>-?:\d+)|(?:(?<Start>-?\d+)(?::(?<Stop>-?\d+))?(?::(?<Step>-?\d+))?))\s*$/;function cF(n){let e=n.length-2;return"["+n.map(()=>e>0?(e-=1,"0"):":").join(", ")+"]"}function wfe(n,e){if(n.startsWith("[")&&n.endsWith("]")){let t,r=n.substring(1,n.length-1).split(",").map((i,o)=>{let s=Cfe.exec(i);if(s?.groups?.Start&&!s.groups.Stop){let a=parseInt(s.groups.Start),l=e[o];return(a>=0&&a>=l||a<0&&a<-l)&&(t={shapeIndex:o,value:a}),a}});if(t){let{shapeIndex:i,value:o}=t,s=aF("sliceIndexError","Index {0} out of range for axis {1} with {2} elements");return lF(s,o.toString(),i.toString(),e[i].toString())}else if(r&&r.length!==e.length){let i=aF("sliceMismatchedAxesError","Expected {0} axes, got {1} in slice expression");return lF(i,e.length.toString(),r.length.toString())}}return""}function Q4(n,e){return wfe(n,e)===""}var Eu=require("vscode");var wu=class{constructor(e,t,r){this.configService=e;this.rootPath=t;this.scripts=r;this.disposed=!1;this.themeIsDarkPromise=re();this.webviewInit=re();this._disposables=[];this.onMessageListeners=[];this._onDidDisposeWebviewPanel=new Eu.EventEmitter;this.onDataScienceSettingsChanged=async()=>{let e=JSON.stringify(await this.generateDataScienceExtraSettings());this.postMessageInternal("update_settings",e).catch(h)};this.onWebViewLoadFailed=async()=>{this.dispose()};this.onPossibleSettingsChange=async e=>{if(e.affectsConfiguration("workbench.colorTheme")||e.affectsConfiguration("editor.fontSize")||e.affectsConfiguration("editor.fontFamily")||e.affectsConfiguration("editor.cursorStyle")||e.affectsConfiguration("editor.cursorBlinking")||e.affectsConfiguration("editor.autoClosingBrackets")||e.affectsConfiguration("editor.autoClosingQuotes")||e.affectsConfiguration("editor.autoSurround")||e.affectsConfiguration("editor.autoIndent")||e.affectsConfiguration("editor.scrollBeyondLastLine")||e.affectsConfiguration("editor.fontLigatures")||e.affectsConfiguration("editor.scrollbar.verticalScrollbarSize")||e.affectsConfiguration("editor.scrollbar.horizontalScrollbarSize")||e.affectsConfiguration("files.autoSave")||e.affectsConfiguration("files.autoSaveDelay")||e.affectsConfiguration("jupyter.widgetScriptSources")){let t=await this.generateDataScienceExtraSettings();if(t){let r=JSON.stringify(t);this.postMessageInternal("update_settings",r).catch(h)}}};this._disposables.push(Eu.workspace.onDidChangeConfiguration(this.onPossibleSettingsChange,this)),this._disposables.push(this.configService.getSettings(void 0).onDidChange(this.onDataScienceSettingsChanged.bind(this)))}get onDidDispose(){return this._onDidDisposeWebviewPanel.event}dispose(){this.disposed||(this.disposed=!0,this._disposables.forEach(e=>e.dispose())),this.webviewInit=void 0,this._onDidDisposeWebviewPanel.fire()}getHTMLById(e){if(!this.activeHTMLRequest)this.activeHTMLRequest=re(),this.postMessageInternal("get_html_by_id_request",e).catch(h);else throw new Error("getHTMLById request already in progress");return this.activeHTMLRequest.promise}addMessageListener(e){this.onMessageListeners.push(e)}removeMessageListener(e){let t=this.onMessageListeners.indexOf(e);t>=0&&this.onMessageListeners.splice(t,1)}asWebviewUri(e){if(!this.webview)throw new Error("asWebViewUri called too early");return this.webview?.asWebviewUri(e)}postMessage(e,t){return this.postMessageInternal(e.toString(),t)}onMessage(e,t){switch(e){case"started":this.webViewRendered();break;case"get_html_by_id_response":this.activeHTMLRequest&&(this.activeHTMLRequest.resolve(t),this.activeHTMLRequest=void 0);break;default:break}this.onMessageListeners.forEach(r=>{r(e,t)})}async loadWebview(e,t){if(this.disposed=!1,this.webviewInit=this.webviewInit||re(),this.webview===void 0){let r=await this.generateDataScienceExtraSettings(),i=Eu.workspace.getWorkspaceFolder(e)?.uri;this.webview=await this.provideWebview(e,r,i,t),this._disposables.push(this.webview.loadFailed(this.onWebViewLoadFailed,this))}this.onDataScienceSettingsChanged().catch(h),this.sendLocStrings().catch(h)}async generateDataScienceExtraSettings(){let e=this.owningResource,t=Eu.workspace.getConfiguration("editor"),r=Eu.workspace.getConfiguration("workbench"),i=r?r.get("colorTheme",mR):mR,o=Eu.extensions.getExtension(Yn);return{...JSON.parse(JSON.stringify(this.configService.getSettings(e))),extraSettings:{editor:{cursor:this.getValue(t,"cursorStyle","line"),cursorBlink:this.getValue(t,"cursorBlinking","blink"),autoClosingBrackets:this.getValue(t,"autoClosingBrackets","languageDefined"),autoClosingQuotes:this.getValue(t,"autoClosingQuotes","languageDefined"),autoSurround:this.getValue(t,"autoSurround","languageDefined"),autoIndent:this.getValue(t,"autoIndent",!1),fontLigatures:this.getValue(t,"fontLigatures",!1),scrollBeyondLastLine:this.getValue(t,"scrollBeyondLastLine",!0),verticalScrollbarSize:this.getValue(t,"scrollbar.verticalScrollbarSize",14),horizontalScrollbarSize:this.getValue(t,"scrollbar.horizontalScrollbarSize",10),fontSize:this.getValue(t,"fontSize",14),fontFamily:this.getValue(t,"fontFamily","Consolas, 'Courier New', monospace")},theme:i,hasPythonExtension:o!==void 0,isWeb:Rr()==="Unknown"}}}async sendLocStrings(){let e={collapseSingle:Kt.collapseSingle,expandSingle:Kt.expandSingle,openExportFileYes:y.openExportFileYes,openExportFileNo:y.openExportFileNo,noRowsInDataViewer:Kt.noRowsInDataViewer,sliceIndexError:Kt.sliceIndexError,sliceMismatchedAxesError:Kt.sliceMismatchedAxesError,filterRowsTooltip:Kt.sliceMismatchedAxesError,fetchingDataViewer:Kt.fetchingDataViewer,dataViewerHideFilters:Kt.dataViewerHideFilters,dataViewerShowFilters:Kt.dataViewerShowFilters,refreshDataViewer:Kt.refreshDataViewer,clearFilters:Kt.refreshDataViewer,sliceSummaryTitle:Kt.sliceSummaryTitle,sliceData:Kt.sliceData,sliceSubmitButton:Kt.sliceSubmitButton,sliceDropdownAxisLabel:Kt.sliceDropdownAxisLabel,sliceDropdownIndexLabel:Kt.sliceDropdownIndexLabel,variableExplorerNameColumn:Kt.variableExplorerNameColumn,variableExplorerTypeColumn:Kt.variableExplorerTypeColumn,variableExplorerCountColumn:Kt.variableExplorerCountColumn,variableExplorerValueColumn:Kt.variableExplorerValueColumn,collapseVariableExplorerLabel:Kt.collapseVariableExplorerLabel,variableLoadingValue:Kt.variableLoadingValue,showDataExplorerTooltip:Kt.showDataExplorerTooltip,noRowsInVariableExplorer:Kt.noRowsInVariableExplorer,loadingRowsInVariableExplorer:Kt.loadingRowsInVariableExplorer,previousPlot:Kt.previousPlot,nextPlot:Kt.nextPlot,panPlot:Kt.panPlot,zoomInPlot:Kt.zoomInPlot,zoomOutPlot:Kt.zoomOutPlot,exportPlot:Kt.exportPlot,deletePlot:Kt.deletePlot,selectedImageListLabel:Kt.selectedImageListLabel,selectedImageLabel:Kt.selectedImageLabel,dvDeprecationWarning:Kt.dvDeprecationWarning};this.postMessageInternal("loc_init",JSON.stringify(e)).catch(h)}async postMessageInternal(e,t){this.webviewInit&&(await this.webviewInit.promise,this.webview?.postMessage({type:e.toString(),payload:t}))}webViewRendered(){this.webviewInit&&!this.webviewInit.resolved&&this.webviewInit.resolve(),this.sendLocStrings().catch(h),this.onDataScienceSettingsChanged().catch(h)}getValue(e,t,r){return e?e.get(t,r):r}};v([ih()],wu.prototype,"getHTMLById",1),v([ih()],wu.prototype,"addMessageListener",1),v([ih()],wu.prototype,"removeMessageListener",1);var CI=class extends wu{constructor(t,r,i,o,s,a,l){super(t,o,s);this.configService=t;this.provider=r;this._title=a;this.viewColumn=l;this.viewState={visible:!1,active:!1};this.webPanelViewStateChanged=t=>{let r=t.isVisible(),i=t.isActive(),o={visible:r,active:i},s={visible:this.viewState.visible,active:this.viewState.active};this.viewState.visible=r,this.viewState.active=i,this.onViewStateChanged({current:o,previous:s})};this.messageListener=i(this.onMessage.bind(this),this.webPanelViewStateChanged.bind(this),this.dispose.bind(this))}get isDisposed(){return this.disposed}get webPanel(){if(this.webview)return this.webview}async show(t){this.isDisposed||this.webPanel&&await this.webPanel.show(t)}dispose(){this.isDisposed||this.webPanel&&this.webPanel.close(),super.dispose()}get title(){return this._title}setTitle(t){this._title=t,!this.isDisposed&&this.webPanel&&this.webPanel.setTitle(t)}onViewStateChanged(t){}async provideWebview(t,r,i,o){return this.provider.create({viewColumn:this.viewColumn,listener:this.messageListener,title:this.title,rootPath:this.rootPath,scripts:this.scripts,settings:r,cwd:t,webviewHost:o,additionalPaths:i?[i]:[]})}};var Y4="JupyterDataViewerPreferredViewColumn",Rf=class extends CI{constructor(t,r,i,o,s){let a=zt(s.extensionUri,"dist","webviews","webview-side","viewers");super(r,t,(l,c,u)=>new A0(l,c,u),a,[zt(a,"dataExplorer.js")],y.dataExplorerTitle,i.get(Y4)??Do.ViewColumn.One);this.globalMemento=i;this.errorHandler=o;this.context=s;this.pendingRowsCount=0;this.sentDataViewerSliceDimensionalityTelemetry=!1;this._onDidDisposeDataViewer=new Do.EventEmitter;this._onDidChangeDataViewerViewState=new Do.EventEmitter;this.onDidDispose(this.dataViewerDisposed,this)}get active(){return!!this.webPanel?.isActive()}get refreshPending(){return this.pendingRowsCount>0}get onDidDisposeDataViewer(){return this._onDidDisposeDataViewer.event}get onDidChangeDataViewerViewState(){return this._onDidChangeDataViewerViewState.event}async showData(t,r){if(!this.isDisposed){this.dataProvider=t,await super.loadWebview(Do.Uri.file(process.cwd())).catch(p.error),super.setTitle(r),await super.show(!0);let i=await this.prepDataFrameInfo();if(i.shape&&i.shape.length>2){this.maybeSendSliceDataDimensionalityTelemetry(i.shape.length);let o=cF(i.shape);i=await this.getDataFrameInfo(o)}this.postMessage(is.InitializeData,i).catch(h)}}get kernel(){if(this.dataProvider&&"kernel"in this.dataProvider)return this.dataProvider.kernel}dataViewerDisposed(){this._onDidDisposeDataViewer.fire(this)}async refreshData(){let t=this.currentSliceExpression;this.dataFrameInfoPromise=void 0;let r=await this.getDataFrameInfo(void 0,!0);if(t!==void 0&&r.shape!==void 0)if(Q4(t,r.shape))r=await this.getDataFrameInfo(t);else{let i=cF(r.shape);r=await this.getDataFrameInfo(i)}p.info(`Refreshing data viewer for variable ${r.name}`),this.postMessage(is.InitializeData,r).catch(h)}dispose(){super.dispose(),this.dataProvider&&(this.dataProvider.dispose(),this.dataProvider=void 0)}async onViewStateChanged(t){t.current.active&&t.current.visible&&t.previous.active&&t.current.visible&&await this.globalMemento.update(Y4,this.webPanel?.viewColumn),this._onDidChangeDataViewerViewState.fire()}get owningResource(){}onMessage(t,r){switch(t){case is.GetAllRowsRequest:this.getAllRows(r).catch(h);break;case is.GetRowsRequest:this.getRowChunk(r).catch(h);break;case is.GetSliceRequest:this.getSlice(r).catch(h);break;case is.RefreshDataViewer:this.refreshData().catch(h),R("DATASCIENCE.REFRESH_DATA_VIEWER");break;case is.SliceEnablementStateChanged:R("DATASCIENCE.DATA_VIEWER_SLICE_ENABLEMENT_STATE_CHANGED",void 0,{newState:r.newState?"checked":"unchecked"});break;case is.DeprecationWarningClicked:Do.commands.executeCommand("workbench.extensions.search","@tag:jupyterVariableViewers").then(h,h);break;default:break}super.onMessage(t,r)}getDataFrameInfo(t,r){return(!this.dataFrameInfoPromise||t!==this.currentSliceExpression)&&(this.dataFrameInfoPromise=this.dataProvider?this.dataProvider.getDataFrameInfo(t,r):Promise.resolve({}),this.currentSliceExpression=t),this.dataFrameInfoPromise}async prepDataFrameInfo(){this.rowsTimer=new Ue;let t=await this.getDataFrameInfo();try{R("DATASCIENCE.SHOW_DATA_EXPLORER",void 0,{rows:t.rowCount?t.rowCount:0,columns:t.columns?t.columns.length:0}),this.pendingRowsCount=t.rowCount?t.rowCount:0}catch{}return t}async getAllRows(t){return this.wrapRequest(async()=>{if(this.dataProvider){let r=await this.dataProvider.getAllRows(t);return this.pendingRowsCount=0,this.postMessage(is.GetAllRowsResponse,r)}})}getSlice(t){return this.wrapRequest(async()=>{if(this.dataProvider){let r=await this.getDataFrameInfo(t.slice);return r.shape?.length&&this.maybeSendSliceDataDimensionalityTelemetry(r.shape.length),R("DATASCIENCE.DATA_VIEWER_SLICE_OPERATION",void 0,{source:t.source}),this.postMessage(is.InitializeData,r)}})}getRowChunk(t){return this.wrapRequest(async()=>{if(this.dataProvider){let r=await this.getDataFrameInfo(t.sliceExpression),i=await this.dataProvider.getRows(t.start,Math.min(t.end,r.rowCount?r.rowCount:0),t.sliceExpression);return this.pendingRowsCount=Math.max(0,this.pendingRowsCount-i.length),this.postMessage(is.GetRowsResponse,{rows:i,start:t.start,end:t.end})}})}async wrapRequest(t){try{return await t()}catch(r){if(r instanceof vI){p.error(r.message);let i=y.pythonInteractiveHelpLink;Do.window.showErrorMessage(y.jupyterDataRateExceeded,i).then(o=>{o===i&&Do.env.openExternal(Do.Uri.parse(lS.JupyterDataRateHelpLink))},h),this.dispose()}p.error(r),this.errorHandler.handleError(r).then(h,h)}finally{this.sendElapsedTimeTelemetry()}}sendElapsedTimeTelemetry(){this.rowsTimer&&this.pendingRowsCount===0&&R("DATASCIENCE.SHOW_DATA_EXPLORER_ROWS_LOADED",void 0,{rowsTimer:this.rowsTimer.elapsedTime})}maybeSendSliceDataDimensionalityTelemetry(t){this.sentDataViewerSliceDimensionalityTelemetry||(R("DATASCIENCE.DATA_VIEWER_DATA_DIMENSIONALITY",{numberOfDimensions:t}),this.sentDataViewerSliceDimensionalityTelemetry=!0)}};v([or("DATAVIEWER.WEBVIEW_LOADED")],Rf.prototype,"showData",1),Rf=v([(0,dc.injectable)(),m(0,(0,dc.inject)(md)),m(1,(0,dc.inject)(ie)),m(2,(0,dc.inject)(We)),m(2,(0,dc.named)(lt)),m(3,(0,dc.inject)(Gr)),m(4,(0,dc.inject)(et))],Rf);var Cr=k(N()),_o=require("vscode");var F0=require("vscode");var O0=class{constructor(e){this.configuration=e}async isRequestedColumnSizeAllowed(e,t){if(e>z4&&await this.shouldAskForLargeData(t)){let r=y.tooManyColumnsMessage,i=y.tooManyColumnsYes,o=y.tooManyColumnsNo,s=y.tooManyColumnsDontAskAgain,a=await F0.window.showWarningMessage(r,i,o,s);return a===s&&await this.disableAskForLargeData(),a===i}return!0}async shouldAskForLargeData(e){let t=e?this.configuration.getSettings(e):this.configuration.getSettings();return t&&t.askForLargeDataFrames===!0}async disableAskForLargeData(e){let t=e?this.configuration.getSettings(e):this.configuration.getSettings();t&&(t.askForLargeDataFrames=!1,this.configuration.updateSetting("askForLargeDataFrames",!1,void 0,F0.ConfigurationTarget.Global).catch(h))}};var Aa=require("vscode");var L0=k(N());var Na=class{constructor(e){this.experiments=e}async showContributedDataViewer(e){try{if(this.experiments.inExperiment("DataViewerContribution")){let t=this.getMatchingVariableViewers(e);if(t.length===0)return Aa.commands.executeCommand("workbench.extensions.search","@tag:jupyterVariableViewers");if(t.length===1){let r=t[0].jupyterVariableViewers.command;return Aa.commands.executeCommand(r,e)}else{let r=t.filter(o=>o.extension.id!==Fe);if(r.length===1){let o=r[0].jupyterVariableViewers.command;return Aa.commands.executeCommand(o,e)}let i=Aa.window.createQuickPick();i.title="Select DataFrame Viewer",i.items=t.map(o=>({label:o.jupyterVariableViewers.title,detail:o.extension.packageJSON?.displayName??o.extension.id,command:o.jupyterVariableViewers.command})),i.onDidAccept(async()=>{let o=i.selectedItems[0];if(o)return i.hide(),Aa.commands.executeCommand(o.command,e)}),i.show()}}else return Aa.commands.executeCommand(B.ShowJupyterDataViewer,e)}catch(t){p.error(t),R("DATASCIENCE.FAILED_SHOW_DATA_EXPLORER"),Aa.window.showErrorMessage(y.showDataViewerFail).then(h,h)}}getMatchingVariableViewers(e){return this.getVariableViewers().filter(r=>r.jupyterVariableViewers.dataTypes.includes(e.type))}getVariableViewers(){return Aa.extensions.all.filter(t=>t.packageJSON?.contributes?.jupyterVariableViewers&&t.packageJSON?.contributes?.jupyterVariableViewers.length).map(t=>{let r=t.packageJSON?.contributes;return r?.jupyterVariableViewers?r.jupyterVariableViewers.map(i=>({extension:t,jupyterVariableViewers:i})):[]}).flat()}};Na=v([(0,L0.injectable)(),m(0,(0,L0.inject)(gs))],Na);var X4="ds_prompt_about_deprecation",wI=class{constructor(e,t,r,i,o,s,a,l,c,u,d,f,g,b,I){this.disposables=e;this.debugService=t;this.jupyterVariableDataProviderFactory=i;this.dataViewerFactory=o;this.variableProvider=s;this.errorHandler=a;this.dataViewerDependencyService=l;this.interpreterService=c;this.platformService=u;this.kernelProvider=d;this.interactiveWindowProvider=f;this.experimentService=g;this.globalMemento=b;this.dataViewerDelegator=I;this.dataViewerChecker=new O0(r),_o.workspace.isTrusted||_o.workspace.onDidGrantWorkspaceTrust(this.registerCommandsIfTrusted,this,this.disposables)}activate(){this.registerCommandsIfTrusted()}registerCommandsIfTrusted(){_o.workspace.isTrusted&&(this.registerCommand(B.ShowDataViewer,this.delegateDataViewer),this.registerCommand(B.ShowJupyterDataViewer,this.showJupyterVariableView))}registerCommand(e,t){let r=_o.commands.registerCommand(e,t,this);this.disposables.push(r)}async delegateDataViewer(e){let t="variable"in e?await this.getVariableFromRequest(e):e;if(t)return this.dataViewerDelegator.showContributedDataViewer(t)}async getVariableFromRequest(e){if(this.variableProvider){let t=IT(e.variable);return this.variableProvider.getFullVariable(t)}}async showJupyterVariableView(e){R("OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_REQUEST_EX");let t=this.experimentService.inExperiment("DataViewerDeprecation");if(!this.globalMemento.get(X4)&&t&&(this.globalMemento.update(X4,!0).then(h,h),_o.window.showInformationMessage(y.dataViewerDeprecationMessage,y.dataViewerDeprecationRecommendationActionMessage).then(r=>{r===y.dataViewerDeprecationRecommendationActionMessage&&_o.commands.executeCommand("workbench.extensions.search","@tag:jupyterVariableViewers").then(h,h)},h)),this.debugService?.activeDebugSession&&this.variableProvider&&this.jupyterVariableDataProviderFactory&&this.dataViewerFactory)try{if(this.debugService.activeDebugSession.configuration&&this.dataViewerDependencyService&&this.interpreterService){let s=await this.getDebugAdapterPython(this.debugService.activeDebugSession.configuration);s&&await this.dataViewerDependencyService.checkAndInstallMissingDependencies(s)}let r=await this.jupyterVariableDataProviderFactory.create(e),o=(await r.getDataFrameInfo())?.columns?.length;if(o&&await this.dataViewerChecker.isRequestedColumnSizeAllowed(o)){let s=`${y.dataExplorerTitle} - ${e.name}`,a=await this.dataViewerFactory.create(r,s);return R("OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_SUCCESS_EX"),a}}catch(r){R("OPEN_DATAVIEWER_FROM_VARIABLE_WINDOW_ERROR_EX",void 0,void 0,r),p.error(r),this.errorHandler.handleError(r).then(h,h)}else try{let r=this.getActiveKernel();if(r&&this.jupyterVariableDataProviderFactory&&this.dataViewerFactory){let i=await this.jupyterVariableDataProviderFactory.create(e,r),o=`${y.dataExplorerTitle} - ${e.name}`;return await this.dataViewerFactory.create(i,o)}}catch(r){p.error(r),R("DATASCIENCE.FAILED_SHOW_DATA_EXPLORER"),_o.window.showErrorMessage(y.showDataViewerFail).then(h,h)}}getActiveKernel(){let e=_o.window.activeNotebookEditor?.notebook,t=e?.notebookType==St?this.kernelProvider.get(e):void 0;if(t)return t;let r=this.getActiveInteractiveWindowDocument(),i=r?this.kernelProvider.get(r):void 0;if(i)return i;let o=this.dataViewerFactory?.activeViewer;return o?this.kernelProvider.kernels.find(s=>s===o.kernel):void 0}getActiveInteractiveWindowDocument(){let e=this.interactiveWindowProvider.getActiveOrAssociatedInteractiveWindow();if(e)return _o.workspace.notebookDocuments.find(t=>t===e?.notebookDocument)}async getDebugAdapterPython(e){if(!this.interpreterService){p.info("Interpreter Service missing when trying getDebugAdapterPython");return}let t="";if(e.debugAdapterPython!==void 0?(p.info("Found debugAdapterPython on Debug Configuration to use"),t=e.debugAdapterPython):e.pythonPath&&(p.info("Found pythonPath on Debug Configuration to use"),t=e.pythonPath),t){let r=t;return r.startsWith("~")&&this.platformService.homeDir&&(r=lh(r,this.platformService.homeDir.path)),this.interpreterService.getInterpreterDetails(_o.Uri.file(r))}else return this.interpreterService.getActiveInterpreter()}};wI=v([(0,Cr.injectable)(),m(0,(0,Cr.inject)(M)),m(1,(0,Cr.inject)(_i)),m(1,(0,Cr.optional)()),m(2,(0,Cr.inject)(ie)),m(3,(0,Cr.inject)(K0)),m(3,(0,Cr.optional)()),m(4,(0,Cr.inject)(II)),m(4,(0,Cr.optional)()),m(5,(0,Cr.inject)(yn)),m(5,(0,Cr.optional)()),m(5,(0,Cr.named)(je.DEBUGGER_VARIABLES)),m(6,(0,Cr.inject)(Gr)),m(7,(0,Cr.inject)(SI)),m(7,(0,Cr.optional)()),m(8,(0,Cr.inject)(Xe)),m(8,(0,Cr.optional)()),m(9,(0,Cr.inject)(br)),m(10,(0,Cr.inject)(De)),m(11,(0,Cr.inject)(Ki)),m(12,(0,Cr.inject)(gs)),m(13,(0,Cr.inject)(We)),m(13,(0,Cr.named)(lt)),m(14,(0,Cr.inject)(Na))],wI);var PI=k(N());var U0="0.20.0";var W0=require("vscode");var Af=class{async getVersion(e,t){try{let r=await this._getVersion(e,t);return typeof r=="string"?UP(r):r}catch(r){p.warn(y.failedToGetVersionOfPandas,r.message);return}}async promptInstall(e,t,r){let i=r?y.pandasTooOldForViewingFormat(r,U0):y.pandasRequiredForViewing(U0);if((Wp()?de.install:await W0.window.showErrorMessage(i,{modal:!0},de.install))===de.install)await this._doInstall(e,t);else throw R("DATASCIENCE.USER_DID_NOT_INSTALL_PANDAS"),new Error(i)}async checkOrInstall(e){let t=new W0.CancellationTokenSource;try{let r=await this.getVersion(e,t.token);if(t.token.isCancellationRequested){R("DS_INTERNAL.SHOW_DATA_PANDAS_INSTALL_CANCELED");return}if(r){if(r.compare(U0)>0){R("DS_INTERNAL.SHOW_DATA_PANDAS_OK");return}R("DS_INTERNAL.SHOW_DATA_PANDAS_TOO_OLD");let i=`${r.major}.${r.minor}.${r.build}`;await this.promptInstall(e,t,i)}R("DS_INTERNAL.SHOW_DATA_NO_PANDAS"),await this.promptInstall(e,t)}finally{t.dispose()}}};v([or("DS_INTERNAL.PYTHON_MODULE_INSTALL",{action:"displayed",moduleName:ar.get(23)})],Af.prototype,"promptInstall",1);var uF="5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d",Efe=`import pandas;print(pandas.__version__);print("${uF}")`,V0=class extends Af{constructor(t,r,i){super();this.installer=t;this.pythonFactory=r;this.interpreterService=i}async _getVersion(t,r){let s=(await(await this.pythonFactory.createActivatedEnvironment({resource:void 0,interpreter:t})).exec(["-c",Efe],{token:r})).stdout;if(!s?.includes(uF))return p.warn(y.failedToGetVersionOfPandas,`Output is ${s}`),"";let a=Oe(s.trim()),l=a.indexOf(uF);return l>=0?a[l-1]:""}async _doInstall(t,r){let i=t||await this.interpreterService.getActiveInterpreter();if(r.token.isCancellationRequested)return;await Xt(r.token,2,this.installer.install(23,i,r))===0&&R("DATASCIENCE.USER_INSTALLED_PANDAS")}async checkAndInstallMissingDependencies(t){R("DATAVIEWER.USING_INTERPRETER"),await this.checkOrInstall(t)}};var dF="5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d",Pfe=`import pandas as _VSCODE_pandas;print(_VSCODE_pandas.__version__);print("${dF}"); del _VSCODE_pandas`;function kfe(n){return(n.kernelConnectionMetadata.interpreter&&Ve(n.kernelConnectionMetadata.interpreter))==="Conda"?"%conda":"%pip"}var j0=class extends Af{async execute(e,t){if(!t.session?.kernel)throw new dn;let r=await pn(t.session.kernel,e),i=r.find(o=>o.output_type==="error");return i&&p.warn(y.failedToGetVersionOfPandas,i.message),r.map(o=>o.text?.toString())}async _getVersion(e){let r=(await this.execute(Pfe,e)).map(s=>s?s.toString():void 0).find(s=>s);if(!r?.includes(dF))return p.warn(y.failedToGetVersionOfPandas,`Output is ${r}`),"";let i=Oe(r.trim()),o=i.indexOf(dF);return o>=0?i[o-1]:""}async _doInstall(e){let t=`${kfe(e)} install pandas`;try{await this.execute(t,e),R("DATASCIENCE.USER_INSTALLED_PANDAS")}catch(r){throw R("DATASCIENCE.USER_INSTALLED_PANDAS",void 0,void 0,r),new Error(y.failedToInstallPandas)}}async checkAndInstallMissingDependencies(e){if(R("DATAVIEWER.USING_KERNEL"),!e.session?.kernel)throw R("DATASCIENCE.NO_ACTIVE_KERNEL_SESSION"),new Error("No no active kernel session.");await this.checkOrInstall(e)}};var EI=class{constructor(e,t,r){this.withKernel=new j0,this.withInterpreter=new V0(e,t,r)}async checkAndInstallMissingDependencies(e){return"controller"in e?this.withKernel.checkAndInstallMissingDependencies(e):this.withInterpreter.checkAndInstallMissingDependencies(e)}};EI=v([(0,PI.injectable)(),m(0,(0,PI.inject)(Ai)),m(1,(0,PI.inject)(Nr)),m(2,(0,PI.inject)(Xe))],EI);var qw=k(N());var Z4=require("vscode");var Rp=class{constructor(e,t){this.serviceContainer=e;this.disposables=t;this.knownViewers=new Set;t.push(this),this.viewContext=new tr(mr.IsDataViewerActive),this.disposables.push(Z4.commands.registerCommand(B.RefreshDataViewer,this.refreshDataViewer,this))}dispose(){for(let e of this.knownViewers)e.dispose()}async create(e,t){let r,i=this.serviceContainer.get(N0);try{this.knownViewers.add(i),i.onDidDisposeDataViewer(this.updateOpenDataViewers,this,this.disposables),i.onDidChangeDataViewerViewState(this.updateViewStateContext,this,this.disposables),await i.showData(e,t),r=i}finally{r||i.dispose()}return r}get activeViewer(){return[...this.knownViewers.values()].find(e=>e.active)}updateOpenDataViewers(e){this.knownViewers.delete(e)}async updateViewStateContext(){let e=!1;this.knownViewers.forEach(t=>{t.active&&(e=!0)}),await this.viewContext.set(e)}refreshDataViewer(){for(let e of this.knownViewers)e.active&&e.refreshData().then(h,h)}};v([or("DATASCIENCE.START_SHOW_DATA_EXPLORER")],Rp.prototype,"create",1),v([dv(1e3)],Rp.prototype,"refreshDataViewer",1),Rp=v([(0,qw.injectable)(),m(0,(0,qw.inject)(rt)),m(1,(0,qw.inject)(M))],Rp);var ku=k(N());var Pu=class{constructor(e,t){this.variableManager=e;this.dependencyService=t;this.initialized=!1}get kernel(){return this._kernel}static getNormalizedColumns(e){return e.map(t=>{let r;switch(t.type){case"bool":r="bool";break;case"integer":case"int32":case"int64":case"float":case"float32":case"float64":case"number":r="number";break;default:r="string"}return{key:t.key,type:r}})}static parseShape(e){try{if(e.startsWith("(")&&e.endsWith(")"))return e.substring(1,e.length-1).split(",").map(t=>parseInt(t))}catch{p.error(`Could not parse IJupyterVariable with malformed shape: ${e}`)}}dispose(){}setDependencies(e,t){this._kernel=t,this.variable=e}async getDataFrameInfo(e,t){let r={};await this.ensureInitialized();let i=this.variable;return i&&((e||t)&&(i=await this.variableManager.getDataFrameInfo(i,this._kernel,e,t)),r={columns:i.columns?Pu.getNormalizedColumns(i.columns):i.columns,indexColumn:i.indexColumn,rowCount:i.rowCount,dataDimensionality:i.dataDimensionality,shape:Pu.parseShape(i.shape),sliceExpression:e,type:i.type,maximumRowChunkSize:i.maximumRowChunkSize,name:i.name,fileName:ke(i.fileName)}),t&&(this.variable=i),r}async getAllRows(e){let t=[];return await this.ensureInitialized(),this.variable&&this.variable.rowCount&&(t=(await this.variableManager.getDataFrameRows(this.variable,0,this.variable.rowCount,this._kernel,e)).data),t}async getRows(e,t,r){let i=[];return await this.ensureInitialized(),this.variable&&this.variable.rowCount&&(i=(await this.variableManager.getDataFrameRows(this.variable,e,t,this._kernel,r)).data),i}async ensureInitialized(){!this.initialized&&this.variable&&(this.initialized=!0,this._kernel?.kernelConnectionMetadata&&this.dependencyService&&await this.dependencyService.checkAndInstallMissingDependencies(Mu()?this._kernel:this._kernel?.kernelConnectionMetadata.interpreter||this._kernel),this.variable=await this.variableManager.getDataFrameInfo(this.variable,this._kernel))}};Pu=v([(0,ku.injectable)(),m(0,(0,ku.inject)(yn)),m(0,(0,ku.named)(je.ALL_VARIABLES)),m(1,(0,ku.inject)(SI)),m(1,(0,ku.optional)())],Pu);var J0=k(N());var kI=class{constructor(e){this.serviceContainer=e}async create(e,t){let r=this.serviceContainer.get(M0);return r.setDependencies(e,t),r}};kI=v([(0,J0.injectable)(),m(0,(0,J0.inject)(rt))],kI);var Hw=k(N()),B0=require("vscode");var xI=class{constructor(e,t){this.kernelProvider=e;this.controllers=t;this.disposables=[];this.widgetOutputsPerNotebook=new WeakMap}dispose(){z(this.disposables)}activate(){let e=B0.notebooks.createRendererMessaging("jupyter-ipywidget-renderer");e.onDidReceiveMessage(this.onDidReceiveMessage.bind(this,e),this,this.disposables),this.kernelProvider.onDidStartKernel(this.onDidStartKernel,this,this.disposables)}onDidStartKernel(e){this.hookupKernel(e),e.onStarted(()=>this.hookupKernel(e),this,this.disposables),e.onRestarted(()=>this.hookupKernel(e),this,this.disposables)}hookupKernel(e){this.widgetOutputsPerNotebook.delete(e.notebook);let t=e.session?.kernel,r=e.session?.kernel?.iopubMessage;if(!r)return;let i=require("@jupyterlab/services"),o=(s,a)=>{s===t&&(i.KernelMessage.isDisplayDataMsg(a)||i.KernelMessage.isUpdateDisplayDataMsg(a)||i.KernelMessage.isExecuteReplyMsg(a)||i.KernelMessage.isExecuteResultMsg(a))&&this.trackModelId(e.notebook,a)};r.connect(o),this.disposables.push(new B0.Disposable(()=>r.disconnect(o)))}trackModelId(e,t){let r=t.content;if(r.data&&typeof r.data=="object"&&Ui in r.data){let i=r.data[Ui];if(i&&"model_id"in i){let o=this.widgetOutputsPerNotebook.get(e)||new Set;o.add(i.model_id),this.widgetOutputsPerNotebook.set(e,o)}}}onDidReceiveMessage(e,{editor:t,message:r}){r&&typeof r=="object"&&r.command==="query-widget-state"&&this.queryWidgetState(e,t,r),r&&typeof r=="object"&&r.command==="ipywidget-renderer-loaded"&&this.sendWidgetVersionAndState(e,t)}queryWidgetState(e,t,r){let i=this.widgetOutputsPerNotebook.get(t.notebook),o=!!this.controllers.getSelected(t.notebook),s=!!i?.has(r.model_id);e.postMessage({command:"query-widget-state",model_id:r.model_id,hasWidgetState:s,kernelSelected:o},t).then(h,h)}sendWidgetVersionAndState(e,t){let r=this.kernelProvider.get(t.notebook),i=r?.ipywidgetsVersion;r?.ipywidgetsVersion&&p.trace(`IPyWidget version in Kernel is ${r?.ipywidgetsVersion}.`);let o=!!this.controllers.getSelected(t.notebook);e.postMessage({command:"ipywidget-renderer-init",version:i,widgetState:void 0,kernelSelected:o},t).then(h,h)}};xI=v([(0,Hw.injectable)(),m(0,(0,Hw.inject)(De)),m(1,(0,Hw.inject)(ot))],xI);var Mf=k(N());var pF=require("vscode");var Nf=k(N());var pc=require("vscode");var $0=class{constructor(e,t,r){this.disposedCallback=r,this.callback=e,this.viewChanged=t}dispose(){this.disposedCallback()}onMessage(e,t){this.callback(e,t)}onChangeViewState(e){this.viewChanged&&this.viewChanged(e)}};var Gs;(s=>(s.Started="started",s.UpdateSettings="update_settings",s.SendPlot="send_plot",s.CopyPlot="copy_plot",s.ExportPlot="export_plot",s.RemovePlot="remove_plot"))(Gs||={});var eG=class{static{Gs.Started,Gs.UpdateSettings,Gs.SendPlot,Gs.CopyPlot,Gs.ExportPlot,Gs.RemovePlot}},q0=Symbol("IPlotViewerProvider"),H0=Symbol("IPlotViewer");var DI=class extends CI{constructor(t,r,i,o){let s=new Ue,a=zt(o.extensionUri,"dist","webviews","webview-side","viewers");super(r,t,(l,c,u)=>new $0(l,c,u),a,[zt(a,"plotViewer.js")],y.plotViewerTitle,pc.ViewColumn.One);this.fs=i;this.context=o;this.closedEvent=new pc.EventEmitter;this.removedEvent=new pc.EventEmitter;this.addPlot=async t=>{this.isDisposed||(await super.show(!1),this.postMessage(Gs.SendPlot,t).catch(h))};super.loadWebview(pc.Uri.file(process.cwd())).catch(p.error).finally(()=>{R("PLOTVIEWER.WEBVIEW_LOADED",{duration:s.elapsedTime})})}get closed(){return this.closedEvent.event}get removed(){return this.removedEvent.event}async show(){if(!this.isDisposed)return super.show(!0)}dispose(){super.dispose(),this.removedEvent.dispose(),this.closedEvent&&this.closedEvent.fire(this)}get owningResource(){}onMessage(t,r){switch(t){case Gs.CopyPlot:this.copyPlot(r.toString()).catch(h);break;case Gs.ExportPlot:this.exportPlot(r).catch(h);break;case Gs.RemovePlot:this.removePlot(r);break;default:break}super.onMessage(t,r)}removePlot(t){this.removedEvent.fire(t)}copyPlot(t){return Promise.resolve()}async exportPlot(t){p.info("exporting plot...");let r={};r[y.pngFilter]=["png"],r[y.svgFilter]=["svg"];let i=await pc.window.showSaveDialog({saveLabel:y.exportPlotTitle,filters:r});try{if(i)switch(Wi(i.path).toLowerCase()){case".png":let s=Hh(t.png.replace("data:image/png;base64",""));await this.fs.writeFile(i,s);break;default:case".svg":await this.fs.writeFile(i,t.svg);break}}catch(o){p.error(o),pc.window.showErrorMessage(y.exportImageFailed(o.toString())).then(h,h)}}};DI=v([(0,Nf.injectable)(),m(0,(0,Nf.inject)(md)),m(1,(0,Nf.inject)(ie)),m(2,(0,Nf.inject)(tt)),m(3,(0,Nf.inject)(et))],DI);var _I=class extends DI{constructor(t,r,i,o){super(t,r,i,o);this.fsNode=i}async exportPlot(t){p.info("exporting plot...");let r={};r[y.pdfFilter]=["pdf"],r[y.pngFilter]=["png"],r[y.svgFilter]=["svg"];let i=await pF.window.showSaveDialog({saveLabel:y.exportPlotTitle,filters:r});try{if(i)switch(Wi(i.fsPath).toLowerCase()){case".pdf":await mF(t.svg,this.fsNode,i);break;case".png":let s=Hh(t.png.replace("data:image/png;base64",""));await this.fs.writeFile(i,s);break;default:case".svg":await this.fs.writeFile(i,t.svg);break}}catch(o){p.error(o),pF.window.showErrorMessage(y.exportImageFailed(o)).then(h,h)}}};_I=v([(0,Mf.injectable)(),m(0,(0,Mf.inject)(md)),m(1,(0,Mf.inject)(ie)),m(2,(0,Mf.inject)(lr)),m(3,(0,Mf.inject)(et))],_I);async function mF(n,e,t){p.info("Attempting pdf write...");let r=(await import("svg-to-pdfkit")).default,i=re(),o=require("pdfkit/js/pdfkit.standalone"),s=new o,a=e.createLocalWriteStream(t.fsPath);p.info(`Writing pdf to ${t.fsPath}`),a.on("finish",()=>i.resolve),r(s,n,0,0,{preserveAspectRatio:"xMinYMin meet"}),s.pipe(a),s.end(),p.info(`Finishing pdf to ${t.fsPath}`),await i.promise,p.info(`Completed pdf to ${t.fsPath}`)}var Gw=k(N());var TI=class{constructor(e,t){this.serviceContainer=e;this.imageList=[];this.closedViewer=()=>{this.currentViewer&&(this.currentViewer=void 0),this.currentViewerClosed&&(this.currentViewerClosed.dispose(),this.currentViewerClosed=void 0)};this.removedPlot=e=>{this.imageList.splice(e,1)};t.push(this)}dispose(){this.currentViewer&&this.currentViewer.dispose()}async showPlot(e){this.imageList.push(e);let t=this.currentViewer?[e]:this.imageList,r=await this.getOrCreate();await Promise.all(t.map(r.addPlot))}async getOrCreate(){return this.currentViewer||(this.currentViewer=this.serviceContainer.get(H0),this.currentViewerClosed=this.currentViewer.closed(this.closedViewer),this.currentViewer.removed(this.removedPlot),R("DATASCIENCE.OPEN_PLOT_VIEWER"),await this.currentViewer.show()),this.currentViewer}};TI=v([(0,Gw.injectable)(),m(0,(0,Gw.inject)(rt)),m(1,(0,Gw.inject)(M))],TI);var Y0=k(N());var z0=k(N()),Ap=require("vscode");var Q0="image/svg+xml",G0={"image/png":"png","image/jpeg":"jpeg","image/gif":"gif",[Q0]:"svg"},RI=class{constructor(e){this.fs=e}async savePlot(e,t,r){if(e.isClosed)return;let i=xfe(e,t,r);if(!i)return p.error(`No plot to save ${j(e.uri)}, id: ${t} for ${r}`);if(!(r.toLowerCase()in G0))return p.error(`Unsupported MimeType ${j(e.uri)}, id: ${t} for ${r}`);let o=await this.getSaveTarget(i,r);o&&(o.path.toLowerCase().endsWith("pdf")?await this.saveAsPdf(i,o):await this.saveAsImage(i,o))}getSaveTarget(e,t){let r=G0[t.toLowerCase()],i={};e.items.find(l=>l.mime.toLowerCase()===Q0)&&(i[y.pdfFilter]=["pdf"],i[y.svgFilter]=["svg"]),r==="png"&&(i[y.pngFilter]=["png"]),Object.keys(i).length===0&&(i.Images=[r]);let o=(Ap.workspace.workspaceFolders?.length||0)>0?Ap.workspace.workspaceFolders[0].uri:void 0,s="output",a=o?Ap.Uri.joinPath(o,s):Ap.Uri.file(s);return Ap.window.showSaveDialog({defaultUri:a,saveLabel:y.exportPlotTitle,filters:i})}async saveAsImage(e,t){let r=Wi(t.path).substring(1),i=Object.keys(G0).find(s=>G0[s]===r),o=e.items.find(s=>s.mime===i);if(!o)throw new Error(`Unsupported MimeType ${t.toString()}, available mime Types: ${e.items.map(s=>s.mime).join(", ")}`);await this.fs.writeFile(t,o.data)}async saveAsPdf(e,t){return p.error("Save as PDF is not yet supported on the web.")}};RI=v([(0,z0.injectable)(),m(0,(0,z0.inject)(tt))],RI);function xfe(n,e,t){for(let r of n.getCells())for(let i of r.outputs)if(i.id===e&&i.items.find(o=>o.mime===t))return i}var AI=class extends RI{constructor(t){super(t);this.fsNode=t}async saveAsPdf(t,r){let i=Buffer.from(t.items.find(o=>o.mime===Q0).data).toString();await mF(i,this.fsNode,r)}};AI=v([(0,Y0.injectable)(),m(0,(0,Y0.inject)(lr))],AI);var X0=k(N());var Dfe="image/svg+xml",_fe="image/png",xu=class{constructor(e){this.plotViewProvider=e}async openPlot(e,t){if(e.isClosed)return;let r=tG(e,t,Dfe),i;if(r)i=new TextDecoder().decode(r.data);else{let o=tG(e,t,_fe);if(!o)return p.error(`No SVG or PNG Plot to open ${j(e.uri)}, id: ${t}`);i=Tfe(o)}i&&await this.plotViewProvider.showPlot(i)}};xu=v([(0,X0.injectable)(),m(0,(0,X0.inject)(q0))],xu);function tG(n,e,t){for(let r of n.getCells())for(let i of r.outputs)if(i.id===e)return i.items.find(o=>o.mime===t)}function Tfe(n){let e=n.data,t=YP(e),r=Rfe(e);return`<?xml version="1.0" encoding="utf-8" standalone="no"?>
<svg height="${r.height}" width="${r.width}" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<image xmlns="http://www.w3.org/2000/svg" x="0" y="0" height="100%" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="data:image/png;base64,${t}"/>
</g>
</svg>`}function Rfe(n){if(!Afe(n))throw new Error("The buffer is not a valid png");let e=new DataView(new Uint8Array(n).buffer);return{width:e.getUint32(16,!1),height:e.getUint32(20,!1)}}function Afe(n){return n[0]===137&&n[1]===80&&n[2]===78&&n[3]===71&&n[4]===13&&n[5]===10&&n[6]===26&&n[7]===10&&n.length>8+21}var zw=k(N()),e1=require("vscode");var Z0=Symbol("IPlotSaveHandler");var NI=class{constructor(e,t){this.plotSaveHandler=e;this.plotViewHandler=t;this.disposables=[]}dispose(){z(this.disposables)}activate(){this.activateImpl().catch(h)}async activateImpl(){let e=e1.extensions.getExtension(eh);if(!e)return;e.isActive||await e.activate(),e.exports.onDidReceiveMessage(({editor:r,message:i})=>{let o=r.notebook||e1.window.activeNotebookEditor?.notebook;o&&(i.type==="saveImageAs"?this.plotSaveHandler.savePlot(o,i.outputId,i.mimeType).catch(h):i.type==="openImageInPlotViewer"&&this.plotViewHandler.openPlot(o,i.outputId).catch(h))},this,this.disposables)}};NI=v([(0,zw.injectable)(),m(0,(0,zw.inject)(Z0)),m(1,(0,zw.inject)(xu))],NI);var Kf=k(N()),mc=require("vscode");var MI=class{constructor(e,t,r,i){this.interactiveWindowProvider=e;this.kernelProvider=t;this.dataViewerFactory=r;this.disposables=i;this._onDidFinisheExecutingActiveNotebook=new mc.EventEmitter;this._onDidChangeActiveNotebook=new mc.EventEmitter;this._onDidRestartActiveNotebook=new mc.EventEmitter;this._executionCountTracker=new WeakMap;mc.window.onDidChangeActiveNotebookEditor(this.activeEditorChanged,this,this.disposables),mc.workspace.onDidCloseNotebookDocument(this.notebookEditorClosed,this,this.disposables),this.kernelProvider.onDidRestartKernel(o=>{this.handleRestart({state:1,notebook:o.notebook})},this,this.disposables),er.onDidChangeNotebookCellExecutionState(this.onDidChangeNotebookCellExecutionState,this,this.disposables)}get onDidChangeActiveNotebook(){return this._onDidChangeActiveNotebook.event}get onDidFinishExecutingActiveNotebook(){return this._onDidFinisheExecutingActiveNotebook.event}get onDidRestartActiveNotebook(){return this._onDidRestartActiveNotebook.event}get activeKernel(){let e=mc.window.activeNotebookEditor?.notebook,t=e?.notebookType==St?this.kernelProvider.get(e):void 0;if(t)return t;let r=this.getActiveInteractiveWindowDocument(),i=r?this.kernelProvider.get(r):void 0;if(i)return i;let o=this.dataViewerFactory.activeViewer;return o?this.kernelProvider.kernels.find(s=>s===o.kernel):void 0}get activeNotebookExecutionCount(){let e=this.activeKernel?.notebook;return e?this._executionCountTracker.get(e):void 0}getActiveInteractiveWindowDocument(){let e=this.interactiveWindowProvider.getActiveOrAssociatedInteractiveWindow();if(e)return mc.workspace.notebookDocuments.find(t=>t===e?.notebookDocument)}onDidChangeNotebookCellExecutionState(e){Et(e.cell.notebook)&&e.state===1&&this.handleExecute({notebook:e.cell.notebook,state:0,cell:e.cell})}handleExecute(e){this.isNonSilentExecution(e)&&(e.cell?.executionSummary?.executionOrder!==void 0&&this._executionCountTracker.set(e.notebook,e.cell.executionSummary?.executionOrder),this.isActiveNotebookEvent(e)&&e.cell?.executionSummary?.executionOrder!==void 0&&this.activeKernel&&this.kernelProvider.getKernelExecution(this.activeKernel).pendingCells.length===0&&this._onDidFinisheExecutingActiveNotebook.fire({executionCount:e.cell.executionSummary?.executionOrder}))}handleRestart(e){this._executionCountTracker.delete(e.notebook),this.isActiveNotebookEvent(e)&&this._onDidRestartActiveNotebook.fire()}notebookEditorClosed(e){this._executionCountTracker.delete(e)}activeEditorChanged(e){let t={};if(e&&Et(e.notebook)){let r=this._executionCountTracker.get(e.notebook);r&&(t.executionCount=r)}this._onDidChangeActiveNotebook.fire(t)}isNonSilentExecution(e){return!!(e.state===0&&e.cell&&e.cell.executionSummary?.executionOrder)}isActiveNotebookEvent(e){return this.activeKernel?.notebook===e.notebook}};MI=v([(0,Kf.injectable)(),m(0,(0,Kf.inject)(Ki)),m(1,(0,Kf.inject)(De)),m(2,(0,Kf.inject)(II)),m(3,(0,Kf.inject)(M))],MI);var rG=class{static{"force_variable_refresh","settings_updated","activate","show_data_explorer","get_variables_request","get_variables_response","variable_explorer_toggle","set_variable_explorer_height","variable_explorer_height_response","open_link","variables_complete","update_settings","loc_init","update_variable_view_execution_count","get_html_by_id_request","get_html_by_id_response","restart_kernel"}},t1=Symbol("INotebookWatcher"),r1=Symbol("IVariableViewProvider");var Qw=k(N()),nG=require("vscode");var KI=class{constructor(e,t){this.extensionContext=e;this.variableViewProvider=t}activate(){this.extensionContext.subscriptions.push(nG.window.registerWebviewViewProvider(this.variableViewProvider.viewType,this.variableViewProvider,{webviewOptions:{retainContextWhenHidden:!1}}))}};KI=v([(0,Qw.injectable)(),m(0,(0,Qw.inject)(et)),m(1,(0,Qw.inject)(r1))],KI);var os=k(N());var o1=require("vscode");var n1=class{constructor(e,t){this.disposedCallback=t,this.callback=e}dispose(){this.disposedCallback()}onMessage(e,t){this.callback(e,t)}};var i1=class extends wu{constructor(t,r,i,o,s){super(t,o,s);this.configService=t;this.provider=i;this.messageListener=r(this.onMessage.bind(this),this.dispose.bind(this))}get isDisposed(){return this.disposed}get webviewView(){return this.webview&&this.webview}async provideWebview(t,r,i,o){if(!o)throw new Error("WebviewViews must be passed an initial VS Code Webview");return this.provider.create({additionalPaths:i?[i]:[],rootPath:this.rootPath,cwd:t,listener:this.messageListener,scripts:this.scripts,settings:r,webviewHost:o})}};var Of=class extends i1{constructor(t,r,i,o,s,a,l,c){let u=zt(i.extensionUri,"dist","webviews","webview-side","viewers");super(t,(d,f)=>new n1(d,f),r,u,[zt(u,"variableView.js")]);this.variables=o;this.disposables=s;this.notebookWatcher=a;this.experiments=l;this.dataViewerDelegator=c;this.notebookWatcher.onDidFinishExecutingActiveNotebook(this.activeNotebookExecuted,this,this.disposables),this.notebookWatcher.onDidChangeActiveNotebook(this.activeNotebookChanged,this,this.disposables),this.notebookWatcher.onDidRestartActiveNotebook(this.activeNotebookRestarted,this,this.disposables),this.variables.refreshRequired(this.sendRefreshMessage,this,this.disposables),o1.window.onDidChangeActiveTextEditor(this.activeTextEditorChanged,this,this.disposables)}get owningResource(){}async load(t){await super.loadWebview(o1.Uri.file(process.cwd()),t).catch(p.error),this.webviewView&&this.disposables.push(this.webviewView.onDidChangeVisibility(()=>{this.handleVisibilityChanged()})),this.handleVisibilityChanged()}get title(){return"variableView"}onMessage(t,r){switch(t){case"get_variables_request":this.handleMessage(t,r,this.requestVariables);break;case"show_data_explorer":this.handleMessage(t,r,this.showDataViewer);break;default:break}super.onMessage(t,r)}handleMessage(t,r,i){let o=r;i.bind(this)(o)}handleVisibilityChanged(){let t=new tr("jupyter.variableViewVisible"),r=!1;this.webviewView&&(r=this.webviewView.visible),t.set(r).catch(h),r&&(R("DS_INTERNAL.NATIVE_VARIABLE_VIEW_MADE_VISIBLE"),this.notebookWatcher.activeNotebookExecutionCount!==void 0?this.postMessage("update_variable_view_execution_count",{executionCount:this.notebookWatcher.activeNotebookExecutionCount}).catch(h):this.postMessage("force_variable_refresh").catch(h))}async showDataViewer(t){return t.variable.fileName=t.variable.fileName??this.notebookWatcher.activeKernel?.notebook.uri,this.dataViewerDelegator.showContributedDataViewer(t.variable)}postProcessSupportsDataExplorer(t){let r=this.dataViewerDelegator.getVariableViewers();return t.pageResponse.forEach(i=>{this.experiments.inExperiment("DataViewerContribution")&&(i.supportsDataExplorer=r.some(o=>o.jupyterVariableViewers.dataTypes.includes(i.type)))}),t}async requestVariables(t){let r=this.notebookWatcher.activeKernel;if(r){let i=await this.variables.getVariables(t,r);this.postMessage("get_variables_response",this.postProcessSupportsDataExplorer(i)).catch(h),R("DS_INTERNAL.VARIABLE_EXPLORER_VARIABLE_COUNT",{variableCount:i.totalCount})}else{let i={executionCount:t.executionCount,pageStartIndex:-1,pageResponse:[],totalCount:0,refreshCount:t.refreshCount};this.postMessage("get_variables_response",i).catch(h)}}async activeNotebookExecuted(t){this.postMessage("update_variable_view_execution_count",{executionCount:t.executionCount}).catch(h)}async activeNotebookChanged(t){t.executionCount?this.postMessage("update_variable_view_execution_count",{executionCount:t.executionCount}).catch(h):this.postMessage("update_variable_view_execution_count",{executionCount:0}).catch(h),this.postMessage("force_variable_refresh").catch(h)}activeTextEditorChanged(){this.postMessage("force_variable_refresh").catch(h)}async activeNotebookRestarted(){this.postMessage("restart_kernel").catch(h)}async sendRefreshMessage(){this.postMessage("force_variable_refresh").catch(h)}};v([or("DS_INTERNAL.NATIVE_VARIABLE_VIEW_LOADED")],Of.prototype,"load",1),v([Br()],Of.prototype,"showDataViewer",1),v([Br()],Of.prototype,"requestVariables",1);var OI=class{constructor(e,t,r,i,o,s,a,l){this.configuration=e;this.webviewViewProvider=t;this.context=r;this.variables=i;this.disposables=o;this.notebookWatcher=s;this.experiments=a;this.dataViewerDelegator=l;this.viewType="jupyterViewVariables"}get activeVariableView(){if(!Er())throw new Error("activeVariableView only for test code");return this.variableView?Promise.resolve(this.variableView):(this.activeVariableViewPromise=re(),this.activeVariableViewPromise.promise)}async resolveWebviewView(e,t,r){e.webview.options={enableScripts:!0},this.variableView=new Of(this.configuration,this.webviewViewProvider,this.context,this.variables,this.disposables,this.notebookWatcher,this.experiments,this.dataViewerDelegator),this.activeVariableViewPromise&&this.activeVariableViewPromise.resolve(this.variableView),await this.variableView.load(e)}};OI=v([(0,os.injectable)(),m(0,(0,os.inject)(ie)),m(1,(0,os.inject)(kk)),m(2,(0,os.inject)(et)),m(3,(0,os.inject)(yn)),m(3,(0,os.named)(je.ALL_VARIABLES)),m(4,(0,os.inject)(M)),m(5,(0,os.inject)(t1)),m(6,(0,os.inject)(gs)),m(7,(0,os.inject)(Na))],OI);function iG(n){n.addSingleton(me,NI),n.add(N0,Rf),n.addSingleton(II,Rp),n.addSingleton(SI,EI),n.addSingleton(me,wI),n.addSingleton(Na,Na),n.add(H0,_I),n.addSingleton(q0,TI),n.addSingleton(Z0,AI),n.addSingleton(xu,xu),n.addSingleton(t1,MI),n.addSingleton(me,KI),n.addSingleton(me,xI),n.addSingleton(r1,OI),n.add(M0,Pu),n.addSingleton(K0,kI)}var Np=require("os");var To=k(require("vscode"));var aG=k(require("vscode"));var Ff=k(require("vscode")),fF;(t=>{function n(r){return r.start.line===r.end.line&&r.start.character===r.end.character}t.isEmpty=n;function e(r,i){let o=r.start.line,s=r.start.character,a=r.end.line,l=r.end.character,c=i.start.line,u=i.start.character,d=i.end.line,f=i.end.character;return o<c?(o=c,s=u):o===c&&(s=Math.max(s,u)),a>d?(a=d,l=f):a===d&&(l=Math.min(l,f)),!(o>a||o===a&&s>l)}t.intersects=e})(fF||={});function hF(n){n.sort((t,r)=>t-r);let e=n.shift();return e===void 0?[]:n.reduce(function(t,r){return r<=t[0][1]?t[0][1]=r+1:t.unshift([r,r+1]),t},[[e,e+1]]).reverse().map(t=>new Ff.NotebookRange(t[0],t[1]))}function oG(n){return n.reduce((t,r)=>{for(let i=r.start;i<r.end;i++)t.push(i);return t},[])}function Nfe(n){return Ff.workspace.notebookDocuments.find(e=>e.uri.authority===n.uri.authority&&e.uri.path===n.uri.path)}function Yw(n){let e=Ff.workspace.textDocuments.find(o=>o.uri.toString()===n?.document.uri.toString())??Ff.window.activeTextEditor?.document;if(!e)return;let t=Nfe(e);if(!t)return;let i=t.getCells().find(o=>o.document.uri.toString()===e.uri.toString());if(i)return{notebook:t,cell:i}}function gF(n,e){return n.start.line===e.start.line&&n.start.character===e.start.character&&n.end.line===e.end.line&&n.end.character===e.end.character}function di(){}var sG="ms-python.vscode-pylance";async function Mfe(n){return await n.activate()}var vF;async function lG(){let n=aG.extensions.getExtension(sG);if(n)return vF||new Promise((e,t)=>{Mfe(n).then(async r=>{if(!r){console.error("Could not start Pylance"),t();return}r.client&&await r.client.start(),vF=r.notebook,e(r.notebook)}).then(di,di)})}var _r=k(require("vscode"));var Kfe=_r.window.createTextEditorDecorationType({after:{contentText:"write",margin:"0 0 0 1em",backgroundColor:"red"}}),Ofe=_r.window.createTextEditorDecorationType({after:{contentText:"read",margin:"0 0 0 1em",backgroundColor:"green"}}),s1=class{constructor(e,t,r){this._notebookDocument=e;this._cellExecution=t;this._cellRefs=r}_getVirtualCellList(e){return this._cellExecution.findIndex(r=>r.cell.document.uri.toString()===e.document.uri.toString())===-1?this._notebookDocument.getCells():this._cellExecution.map(r=>r.cell)}getPredecessorCells(e,t=!1){let r=t?this._notebookDocument.getCells():this._getVirtualCellList(e);var i;for(i=r.length-1;i>=0&&r[i].document.uri.toString()!==e.document.uri.toString();i--);if(i===-1)return[];let o=i,s=r.slice(0,o+1),a=new Array(s.length).fill(!1);a[o]=!0;let l=new Map;for(let[d,f]of this._cellRefs.entries()){let g=f.filter(b=>b.kind==="write").map(b=>b.uri.fragment);f.forEach(b=>{let I=b.uri.fragment;l.has(I)?l.get(I)?.push(d):l.set(I,[d])}),f.forEach(b=>{let I=b.uri.fragment;l.has(I)?l.get(I)?.push(...g):l.set(I,g)})}let c=e.document.uri.fragment;this._resolveDependencies(l,a,c,s,t);let u=[];for(let d=0;d<a.length;d++)a[d]&&u.push(s[d]);return u}getSuccessorCells(e){let t=this._getVirtualCellList(e),r=t.findIndex(a=>a.document.uri.fragment===e.document.uri.fragment);if(r===-1)return[];let i=new Array(t.length).fill(!1);i[r]=!0;let o=new Map;this._cellRefs.forEach(a=>{a.forEach(l=>{if(l.kind==="write"){let c=l.uri.fragment,u=o.get(c)??[];u.push(...a.filter(d=>d!==l)),o.set(c,u)}})});for(let a=r;a<t.length;a++)if(i[a]){let l=this._cellRefs.get(t[a].document.uri.fragment)||[],c=o.get(t[a].document.uri.fragment)||[];[...l,...c].forEach(d=>{let f=t.findIndex(g=>g.document.uri.fragment===d.uri.fragment);f!==-1&&f>=a&&(i[f]=!0)})}let s=[];for(let a=0;a<i.length;a++)i[a]&&s.push(t[a]);return s}_resolveDependencies(e,t,r,i,o=!1){if(e.has(r))for(let s of e.get(r)){let a=i.findIndex(l=>l.document.uri.fragment===s);if(a===-1){if(o)continue;throw new Error(`Dependency ${s} is not in the execution list.`)}t[a]||(t[a]=!0,this._resolveDependencies(e,t,s,i,o))}}};var a1=class{constructor(e,t){this._notebookEditor=e;this._client=t;this._pendingRequests=new Map;this._cellRefs=new Map;this._staleCellRefs=new Map;this._cellExecution=[];this._disposables=[];this._notebookEditor.notebook.getCells().forEach(r=>{this._requestCellSymbols(r,!1).then(di,di)}),this._disposables.push(_r.workspace.onDidChangeNotebookDocument(r=>{r.notebook===this._notebookEditor.notebook&&(r.contentChanges.forEach(i=>{i.removedCells.forEach(o=>{this._pendingRequests.delete(o.document.uri.fragment),this._cellRefs.delete(o.document.uri.fragment)}),i.addedCells.forEach(o=>{this._requestCellSymbols(o,!1).then(di,di)})}),r.cellChanges.forEach(i=>{i.document&&(this._requestCellSymbols(i.cell,!1).then(di,di),this._updateCellStatus(i.cell,0))}))})),this._disposables.push(er.onDidChangeNotebookCellExecutionState(r=>{r.state===3&&r.cell.document.languageId==="python"&&this._updateCellStatus(r.cell,1),r.state===1&&r.cell.document.languageId==="python"&&(this._cellExecution.push({cell:r.cell,executionCount:r.cell.executionSummary?.executionOrder??0}),this._updateCellStatus(r.cell,2))}))}_updateCellStatus(e,t){this._staleCellRefs.set(e.document.uri.fragment,t)}async _requestCellSymbolsSync(){let e=[...this._pendingRequests.keys()];this._pendingRequests.forEach(t=>t.cancel()),this._pendingRequests.clear();for(let t of e){let r=this._notebookEditor.notebook.getCells().find(i=>i.document.uri.fragment===t);r&&await this._requestCellSymbols(r,!0)}}async getCellSymbolRefs(e){let t=this._cellRefs.get(e.document.uri.fragment);if(t)return t}async selectPrecedentCells(e){let t=await this.getPrecedentCells(e);this._notebookEditor.selections=t}async selectSuccessorCells(e){let t=await this.getSuccessorCells(e);this._notebookEditor.selections=t}async runPrecedentCells(e){let t=await this.getPrecedentCells(e);await _r.commands.executeCommand("notebook.cell.execute",{ranges:t.map(r=>({start:r.start,end:r.end})),document:this._notebookEditor.notebook.uri}).then(di,di)}async runSuccessorCells(e){let t=await this.getSuccessorCells(e);await _r.commands.executeCommand("notebook.cell.execute",{ranges:t.map(r=>({start:r.start,end:r.end})),document:this._notebookEditor.notebook.uri}).then(di,di)}async getPrecedentCells(e){await this._requestCellSymbolsSync();let t=new s1(this._notebookEditor.notebook,this._cellExecution,this._cellRefs),r=[];try{r=t.getPredecessorCells(e)}catch{try{r=t.getPredecessorCells(e,!0)}catch{throw new Error("No precedent cells found")}}let i=r.findIndex(s=>(this._staleCellRefs.get(s.document.uri.fragment)??0)===0);return hF((i===-1?r:r.slice(i)).map(s=>s.index))}async getSuccessorCells(e){await this._requestCellSymbolsSync();let r=new s1(this._notebookEditor.notebook,this._cellExecution,this._cellRefs).getSuccessorCells(e);return hF(r.map(o=>o.index))}async debugSymbols(){let e=[];await this._requestCellSymbolsSync(),console.log(JSON.stringify(Array.from(this._cellRefs.entries())));for(let r of _r.window.visibleTextEditors){let i=r.document;if(i.uri.scheme==="vscode-notebook-cell"&&i.uri.path===this._notebookEditor.notebook.uri.path){let o=this._cellRefs.get(i.uri.fragment);o&&e.push(...o)}}let t=new Map;e.forEach(r=>{let i=r.uri.fragment;t.has(i)||t.set(i,[]),t.get(i)?.push(r)}),t.forEach((r,i)=>{let o=_r.window.visibleTextEditors.find(s=>s.document.uri.path===this._notebookEditor.notebook.uri.path&&s.document.uri.fragment===i);if(o){let s=[],a=[];r.reduce((c,u)=>c.find(f=>gF(f.range,u.range))?c:c.concat([u]),[]).forEach(c=>{let u=new _r.Position(c.range.end.line,c.range.end.character),d=new _r.Range(u,u);c.kind==="write"?s.push(d):c.kind==="read"&&a.push(d)}),o.setDecorations(Kfe,s),o.setDecorations(Ofe,a)}})}async _requestCellSymbols(e,t){let r=this._pendingRequests.get(e.document.uri.fragment);if(r&&r.cancel(),t){let o=new _r.CancellationTokenSource;await this._doRequestCellSymbols(e,o.token),o.dispose();return}let i=new _r.CancellationTokenSource;this._pendingRequests.set(e.document.uri.fragment,i),setTimeout(()=>{this._pendingRequests.get(e.document.uri.fragment)===i&&(this._pendingRequests.delete(e.document.uri.fragment),!i.token.isCancellationRequested&&this._doRequestCellSymbols(e,i.token).then(di,di))},500)}async _getDocumentSymbols(e){if(this._client.getDocumentSymbols){let t=new _r.CancellationTokenSource,r=await this._client.getDocumentSymbols(e.document,t.token);if(r&&r.length>0)return t.dispose(),r}if(e.document.lineCount>1||e.document.lineAt(0).text.length>0)return _r.commands.executeCommand("vscode.executeDocumentSymbolProvider",e.document.uri)}async _doRequestCellSymbols(e,t){let r=await this._getDocumentSymbols(e);if(!r)return;let i=[];for(let o of r){let s=await this._client.getReferences(e.document,o.selectionRange.start,{includeDeclaration:!0},t);s&&i.push(...s.filter(a=>a.uri.scheme==="vscode-notebook-cell").map(a=>({...a,associatedSymbol:o})))}i.length&&this._cellRefs.set(e.document.uri.fragment,i.map(o=>({range:o.range,uri:o.uri,kind:gF(o.range,o.associatedSymbol.selectionRange)?"write":o.kind,associatedSymbol:o.associatedSymbol})))}dispose(){this._pendingRequests.forEach(e=>e.cancel()),this._pendingRequests.clear(),this._disposables.forEach(e=>e.dispose()),this._disposables=[]}},l1=class{constructor(e){this._client=e;this._disposables=[];this._notebookDocumentSymbolTrackers=new Map;_r.window.visibleNotebookEditors.forEach(t=>{this._notebookDocumentSymbolTrackers.set(t.notebook.uri.toString(),new a1(t,this._client))}),this._disposables.push(_r.window.onDidChangeVisibleNotebookEditors(t=>{t.forEach(r=>{this._notebookDocumentSymbolTrackers.has(r.notebook.uri.toString())||this._notebookDocumentSymbolTrackers.set(r.notebook.uri.toString(),new a1(r,this._client))}),this._notebookDocumentSymbolTrackers.forEach((r,i)=>{_r.window.visibleNotebookEditors.find(o=>o.notebook.uri.toString()===i)||(r.dispose(),this._notebookDocumentSymbolTrackers.delete(i))})}))}getNotebookDocumentSymbolTracker(e){return this._notebookDocumentSymbolTrackers.get(e.toString())}async debugSymbols(e){let t=this._notebookDocumentSymbolTrackers.get(e.uri.toString());t&&await t.debugSymbols()}async runSuccessorCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.runSuccessorCells(t)}async runPrecedentCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.runPrecedentCells(t)}async selectSuccessorCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.selectSuccessorCells(t)}async selectPrecedentCells(e,t){let r=this._notebookDocumentSymbolTrackers.get(e.uri.toString());r&&await r.selectPrecedentCells(t)}dispose(){this._disposables.forEach(e=>e.dispose()),this._disposables=[]}},c1=class{constructor(e){this.symbolsTracker=e}async provideCodeActions(e,t,r,i){let o=_r.workspace.notebookDocuments.filter(b=>b.uri.path===e.uri.path),s,a;for(let b of o)if(s=b.getCells().find(I=>I.document.uri.toString()===e.uri.toString()),s){a=b;break}if(!s||!a)return[];let l=this.symbolsTracker.getNotebookDocumentSymbolTracker(a.uri);if(!l)return[];let c=r.diagnostics.find(b=>b.source==="Cell Execution Error"&&b.message.startsWith("NameError")&&b.message.endsWith("is not defined"));if(!c)return[];let u=c.message.match(/NameError: name '(.+)' is not defined/);if(!u)return[];let d=u[1],f=await l.getPrecedentCells(s),g=await Promise.all(oG(f).map(async b=>{let I=a?.cellAt(b);if(!I)return!1;let E=await l.getCellSymbolRefs(I);if(!E||E.length<=0)return!1;let x=E.filter(A=>A.associatedSymbol?.name===d).find(A=>A.uri.toString()===s?.document.uri.toString());if(!x)return!1;if(fF.intersects(x.range,t))return!0}));if(i.isCancellationRequested)return[];if(g.some(b=>b)){let b=new _r.CodeAction("Run Precedent Cells",_r.CodeActionKind.QuickFix);return b.command={command:"jupyter.runPrecedentCells",title:"Run Precedent Cells",arguments:[s]},[b]}return[]}};async function cG(n){if(!To.workspace.getConfiguration("jupyter").get("executionAnalysis.enabled"))return;let t=await lG();if(!t)return;let r=new l1(t);n.subscriptions.push(r),n.subscriptions.push(To.commands.registerCommand("jupyter.selectDependentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.selectSuccessorCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.runPrecedentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.runPrecedentCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.runDependentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.runSuccessorCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.selectPrecedentCells",async i=>{let o=Yw(i);if(!o)return;let{notebook:s,cell:a}=o;await r.selectPrecedentCells(s,a)})),n.subscriptions.push(To.commands.registerCommand("jupyter.debugCellSymbols",async()=>{let i=To.window.activeNotebookEditor;i&&await r.debugSymbols(i.notebook)})),n.subscriptions.push(To.languages.registerCodeActionsProvider({language:"python",notebookType:"jupyter-notebook"},new c1(r),{providedCodeActionKinds:[To.CodeActionKind.QuickFix]}))}function uG(){}var ss=k(require("vscode"));async function dG(n){n.subscriptions.push(ss.commands.registerCommand("jupyter.listPipPackages",async e=>{let t=e??ss.window.activeNotebookEditor?.notebook.uri;if(t){let i=await be.instance.get(De).get(t);if(i){let o=new ss.CancellationTokenSource().token;try{let s=await Ffe(i,o);if(Array.isArray(s.content))return s.content}catch(s){p.warn("Failed to get pip packages",s)}}}return[]})),n.subscriptions.push(ss.commands.registerCommand("jupyter.listVariables",async e=>{let t=e??ss.window.activeNotebookEditor?.notebook.uri;if(!t)return[];let r=ss.workspace.notebookDocuments.find(u=>u.uri.toString()===t.toString());if(!r)return[];let o=be.instance.get(ot).getSelected(r);if(!o)return[];let s=o.controller.variableProvider;if(!s)return[];let a=new ss.CancellationTokenSource().token,l=s.provideVariablesWithSummarization(r,void 0,ss.NotebookVariablesRequestKind.Named,0,a),c=[];for await(let u of l)c.push(u);return c}))}async function Ffe(n,e){let t=`import subprocess
proc = subprocess.Popen(["pip", "list", "--format", "json"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
stdout, stderr = proc.communicate()
return stdout
`.split(`
`);try{return{content:await Iu(n,t,e)}}catch(r){throw r}}var gG=k(oA());var pG=k(N());var Lf=class{constructor(e){this.container=e}getContainer(){return this.container}add(e,t,r,i){r?this.container.bind(e).to(t).whenTargetNamed(r):this.container.bind(e).to(t),i&&i.forEach(o=>{this.addBinding(e,o)})}addFactory(e,t){this.container.bind(e).toFactory(t)}addBinding(e,t){this.container.bind(t).toService(e)}addSingleton(e,t,r,i){r?this.container.bind(e).to(t).inSingletonScope().whenTargetNamed(r):this.container.bind(e).to(t).inSingletonScope(),i&&i.forEach(o=>{this.addBinding(e,o)})}addSingletonInstance(e,t,r){r?this.container.bind(e).toConstantValue(t).whenTargetNamed(r):this.container.bind(e).toConstantValue(t)}get(e,t){return t?this.container.getNamed(e,t):this.container.get(e)}tryGet(e,t){try{return t?this.container.getNamed(e,t):this.container.get(e)}catch{}}getAll(e,t){return t?this.container.getAllNamed(e,t):this.container.getAll(e)}rebind(e,t,r){r?this.container.rebind(e).to(t).whenTargetNamed(r):this.container.rebind(e).to(t)}rebindSingleton(e,t,r){r?this.container.rebind(e).to(t).inSingletonScope().whenTargetNamed(r):this.container.rebind(e).to(t).inSingletonScope()}rebindInstance(e,t,r){r?this.container.rebind(e).toConstantValue(t).whenTargetNamed(r):this.container.rebind(e).toConstantValue(t)}dispose(){this.container.unbindAll(),this.container.unload()}};v([ih()],Lf.prototype,"getContainer",1),Lf=v([(0,pG.injectable)()],Lf);var mn=require("vscode");var fG=require("vscode");function hG(n){let e=fG.window.createOutputChannel(y.jupyterServerConsoleOutputChannel,"log");n.push(e);let t={get(r,i){let o=r[i];if(typeof o=="function"){if(i==="append")return(...s)=>{e.append(...s),mG(...s)};if(i==="appendLine")return(...s)=>{e.appendLine(...s),mG(...s)}}return o}};return new Proxy(e,t)}function mG(...n){n.length===1?p.debug(Oe(n[0]).map((e,t)=>t===0?e:` ${e}`).join(`
`)):p.debug(...n)}function vG(n,e){let t=_2(e);t.appendLine(`${mn.env.appName} (${mn.version}, ${mn.env.remoteName}, ${mn.env.appHost})`),t.appendLine(`Jupyter Extension Version: ${n.extension.packageJSON.version}.`);let r=mn.extensions.getExtension(Yn);r?t.appendLine(`Python Extension Version: ${r.packageJSON.version}.`):t.appendLine("Python Extension not installed.");let i=mn.extensions.getExtension(Vp);return i?t.appendLine(`Pylance Extension Version${C0()?"":" (Not Used) "}: ${i.packageJSON.version}.`):t.appendLine("Pylance Extension not installed."),e?.platform&&t.appendLine(`Platform: ${e.platform} (${e.arch}).`),!mn.workspace.workspaceFolders||mn.workspace.workspaceFolders.length===0?t.appendLine("No workspace folder opened."):mn.workspace.workspaceFolders.length===1?t.appendLine(`Workspace folder ${j(mn.workspace.workspaceFolders[0].uri)}, Home = ${e?.homePath}`):t.appendLine(`Multiple Workspace folders opened ${mn.workspace.workspaceFolders.map(o=>j(o.uri)).join(", ")}`),t}function yG(n,e){let t=new gG.Container({skipBaseClassChecks:!0}),r=new Lf(t),i=new be(t);return r.addSingletonInstance(rt,i),r.addSingletonInstance(g9,r),r.addSingletonInstance(M,n.subscriptions),r.addSingletonInstance(We,n.globalState,lt),r.addSingletonInstance(We,n.workspaceState,ei),r.addSingletonInstance(et,n),r.addSingletonInstance(Ao,e,Tu),r.addSingletonInstance(Ao,hG(n.subscriptions),Zf),[r,i]}function bG(){let n=re(),e={location:mn.ProgressLocation.Window,title:de.loadingExtension};return mn.window.withProgress(e,()=>n.promise).then(h,h),{dispose:()=>n.resolve()}}function IG(n,e,t){Lfe(de.handleExtensionActivationError),console.error("extension activation failed",n),p.error("extension activation failed",n),Lj(n,e,t)}function Lfe(n){try{mn.window.showErrorMessage(n).then(h,h)}catch(e){p.error("failed to notify user",e)}}async function SG(n,e){let t=e.get(gs),r=new Ue;await t.activate();let i=r.elapsedTime;R("DS_INTERNAL.EXPERIMENT_LOAD",{duration:i}),mn.commands.executeCommand("setContext","jupyter.vscode.channel",xs()).then(h,h),e.get(yk).activate();let o=e.get(gP);o.initialize(),n.subscriptions.push(o)}var yF=class{constructor(){this.started=Date.now()}get elapsedTime(){return Date.now()-this.started}reset(){this.started=Date.now()}},Uf=new yF,FI={totalActivateTime:0,codeLoadingTime:0,startActivateTime:0,endActivateTime:0,workspaceFolderCount:0};FI.codeLoadingTime=Uf.elapsedTime;var bF;async function Ufe(n){FI.startActivateTime=Uf.elapsedTime;let e=vG(n,{addConsoleLogger:!!process.env.VSC_JUPYTER_FORCE_LOGGING,userNameRegEx:jfe(),homePathRegEx:Jfe(),arch:(0,Np.arch)(),platform:(0,Np.platform)(),homePath:ix.fsPath});CV(Uf),JU(n.subscriptions),nU(Ma.env.uiKind==Ma.UIKind.Web),oU(!1),n.subscriptions.push({dispose:()=>sS.isExiting=!0});try{let[t,r]=Vfe(n,e);return await r,FI.endActivateTime=Uf.elapsedTime,Fj(FI,Uf),t}catch(t){return FI.endActivateTime=Uf.elapsedTime,IG(t,FI,Uf),p.error("Failed to active the Jupyter Extension",t),{ready:Promise.resolve(),registerPythonApi:h,registerRemoteServerProvider:()=>({dispose:h}),getKernelService:()=>Promise.resolve(void 0),addRemoteJupyterServer:()=>Promise.resolve(void 0),openNotebook:()=>Promise.reject(),createJupyterServerCollection:()=>{throw new Error("Not Implemented")},kernels:{getKernel:()=>Promise.resolve(void 0)}}}}function Wfe(){if(sS.isExiting=!0,bF){let n=bF.get(No);if(n)return n.dispose()}return uG(),Promise.resolve()}function Vfe(n,e){let t=bG();try{let[r,i]=yG(n,e);bF=i,yV(a=>i.get(_d).getPackageVersions(a));let o=Bfe(n,r,i);return cG(n).then(h,h),dG(n).then(h,h),[Mj(o,r,i,n),o,i]}finally{t.dispose()}}function CG(n){return n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}function jfe(){try{let n=CG((0,Np.userInfo)().username);return new RegExp(n,"ig")}catch(n){console.info(`jupyter extension failed to get username info with ${n}
username will not be obfuscated in local logs`)}}function Jfe(){try{let n=CG(Rg().fsPath);return new RegExp(n,"ig")}catch(n){console.info(`jupyter extension failed to get home directory path with ${n}
home Path will not be obfuscated in local logs`)}}async function Bfe(n,e,t){let r=!Er()&&(n.extensionMode===Ma.ExtensionMode.Development||Ma.workspace.getConfiguration("jupyter").get("development",!1));e.addSingletonInstance(M2,r),r&&Ma.commands.executeCommand("setContext","jupyter.development",!0).then(h,h),Ma.commands.executeCommand("setContext","jupyter.webExtension",!1).then(h,h),T2((0,Np.homedir)()),d7(e),tq(e,r),lH(e,r),u4(e),G4(n,e,r),iG(e),await SG(n,t)}0&&(module.exports={activate,deactivate});
/*! Bundled license information:
reflect-metadata/Reflect.js:
(*! *****************************************************************************
Copyright (C) Microsoft. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** *)
tmp/lib/tmp.js:
(*!
* Tmp
*
* Copyright (c) 2011-2015 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*)
strip-comments/index.js:
(*!
* strip-comments <https://github.com/jonschlinkert/strip-comments>
* Copyright (c) 2014-present, Jon Schlinkert.
* Released under the MIT License.
*)
*/